1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2017 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/js_resources.h" 8*3ac0a46fSAndroid Build Coastguard Worker JSGetStringFromID(JSMessage msg)9*3ac0a46fSAndroid Build Coastguard WorkerWideString JSGetStringFromID(JSMessage msg) { 10*3ac0a46fSAndroid Build Coastguard Worker const char* msg_string = ""; 11*3ac0a46fSAndroid Build Coastguard Worker switch (msg) { 12*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kAlert: 13*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Alert"; 14*3ac0a46fSAndroid Build Coastguard Worker break; 15*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kParamError: 16*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Incorrect number of parameters passed to function."; 17*3ac0a46fSAndroid Build Coastguard Worker break; 18*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kInvalidInputError: 19*3ac0a46fSAndroid Build Coastguard Worker msg_string = "The input value is invalid."; 20*3ac0a46fSAndroid Build Coastguard Worker break; 21*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kParamTooLongError: 22*3ac0a46fSAndroid Build Coastguard Worker msg_string = "The input value is too long."; 23*3ac0a46fSAndroid Build Coastguard Worker break; 24*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kParseDateError: 25*3ac0a46fSAndroid Build Coastguard Worker msg_string = 26*3ac0a46fSAndroid Build Coastguard Worker "The input value can't be parsed as a valid date/time (%ls)."; 27*3ac0a46fSAndroid Build Coastguard Worker break; 28*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kRangeBetweenError: 29*3ac0a46fSAndroid Build Coastguard Worker msg_string = 30*3ac0a46fSAndroid Build Coastguard Worker "The input value must be greater than or equal to %ls" 31*3ac0a46fSAndroid Build Coastguard Worker " and less than or equal to %ls."; 32*3ac0a46fSAndroid Build Coastguard Worker break; 33*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kRangeGreaterError: 34*3ac0a46fSAndroid Build Coastguard Worker msg_string = "The input value must be greater than or equal to %ls."; 35*3ac0a46fSAndroid Build Coastguard Worker break; 36*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kRangeLessError: 37*3ac0a46fSAndroid Build Coastguard Worker msg_string = "The input value must be less than or equal to %ls."; 38*3ac0a46fSAndroid Build Coastguard Worker break; 39*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kNotSupportedError: 40*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Operation not supported."; 41*3ac0a46fSAndroid Build Coastguard Worker break; 42*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kBusyError: 43*3ac0a46fSAndroid Build Coastguard Worker msg_string = "System is busy."; 44*3ac0a46fSAndroid Build Coastguard Worker break; 45*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kDuplicateEventError: 46*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Duplicate formfield event found."; 47*3ac0a46fSAndroid Build Coastguard Worker break; 48*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kSecondParamNotDateError: 49*3ac0a46fSAndroid Build Coastguard Worker msg_string = "The second parameter can't be converted to a Date."; 50*3ac0a46fSAndroid Build Coastguard Worker break; 51*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kSecondParamInvalidDateError: 52*3ac0a46fSAndroid Build Coastguard Worker msg_string = "The second parameter is an invalid Date."; 53*3ac0a46fSAndroid Build Coastguard Worker break; 54*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kGlobalNotFoundError: 55*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Global value not found."; 56*3ac0a46fSAndroid Build Coastguard Worker break; 57*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kReadOnlyError: 58*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Cannot assign to readonly property."; 59*3ac0a46fSAndroid Build Coastguard Worker break; 60*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kTypeError: 61*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Incorrect parameter type."; 62*3ac0a46fSAndroid Build Coastguard Worker break; 63*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kValueError: 64*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Incorrect parameter value."; 65*3ac0a46fSAndroid Build Coastguard Worker break; 66*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kPermissionError: 67*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Permission denied."; 68*3ac0a46fSAndroid Build Coastguard Worker break; 69*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kBadObjectError: 70*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Object no longer exists."; 71*3ac0a46fSAndroid Build Coastguard Worker break; 72*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kObjectTypeError: 73*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Object is of the wrong type."; 74*3ac0a46fSAndroid Build Coastguard Worker break; 75*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kUnknownProperty: 76*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Unknown property."; 77*3ac0a46fSAndroid Build Coastguard Worker break; 78*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kInvalidSetError: 79*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Set not possible, invalid or unknown."; 80*3ac0a46fSAndroid Build Coastguard Worker break; 81*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kUserGestureRequiredError: 82*3ac0a46fSAndroid Build Coastguard Worker msg_string = "User gesture required."; 83*3ac0a46fSAndroid Build Coastguard Worker break; 84*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kTooManyOccurrences: 85*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Too many occurrences."; 86*3ac0a46fSAndroid Build Coastguard Worker break; 87*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kUnknownMethod: 88*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Unknown method."; 89*3ac0a46fSAndroid Build Coastguard Worker break; 90*3ac0a46fSAndroid Build Coastguard Worker case JSMessage::kWouldBeCyclic: 91*3ac0a46fSAndroid Build Coastguard Worker msg_string = "Operation would create a cycle."; 92*3ac0a46fSAndroid Build Coastguard Worker break; 93*3ac0a46fSAndroid Build Coastguard Worker } 94*3ac0a46fSAndroid Build Coastguard Worker return WideString::FromASCII(msg_string); 95*3ac0a46fSAndroid Build Coastguard Worker } 96*3ac0a46fSAndroid Build Coastguard Worker JSFormatErrorString(const char * class_name,const char * property_name,const WideString & details)97*3ac0a46fSAndroid Build Coastguard WorkerWideString JSFormatErrorString(const char* class_name, 98*3ac0a46fSAndroid Build Coastguard Worker const char* property_name, 99*3ac0a46fSAndroid Build Coastguard Worker const WideString& details) { 100*3ac0a46fSAndroid Build Coastguard Worker WideString result = WideString::FromUTF8(class_name); 101*3ac0a46fSAndroid Build Coastguard Worker if (property_name) { 102*3ac0a46fSAndroid Build Coastguard Worker result += L"."; 103*3ac0a46fSAndroid Build Coastguard Worker result += WideString::FromUTF8(property_name); 104*3ac0a46fSAndroid Build Coastguard Worker } 105*3ac0a46fSAndroid Build Coastguard Worker result += L": "; 106*3ac0a46fSAndroid Build Coastguard Worker result += details; 107*3ac0a46fSAndroid Build Coastguard Worker return result; 108*3ac0a46fSAndroid Build Coastguard Worker } 109