Changeset 209906 in webkit
- Timestamp:
- Dec 15, 2016 8:52:20 PM (7 years ago)
- Location:
- trunk/Source
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r209899 r209906 1 2016-12-15 Darin Adler <darin@apple.com> 2 3 Use asString instead of toWTFString, toString, or getString when we already checked isString 4 https://bugs.webkit.org/show_bug.cgi?id=165895 5 6 Reviewed by Yusuke Suzuki. 7 8 Once we have called isString, we should always use asString and value rather than using 9 functions that have to deal with non-JSString objects. This leads to slightly fewer branches, 10 slightly less reference count churn, since the string is stored right inside the JSString, 11 and obviates the need for exception handling. 12 13 * bindings/ScriptValue.cpp: 14 (Inspector::jsToInspectorValue): Use asString/value instead of getString. 15 * dfg/DFGOperations.cpp: 16 (JSC::DFG::operationMapHash): Call jsMapHash with its new arguments. 17 * inspector/JSInjectedScriptHost.cpp: 18 (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): Use asString/value instead 19 of toWTFString. 20 * inspector/JSJavaScriptCallFrame.cpp: 21 (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): Ditto. 22 * inspector/agents/InspectorHeapAgent.cpp: 23 (Inspector::InspectorHeapAgent::getPreview): Use asString/tryGetValue, instead of the 24 peculiar getString(nullptr) that was here before. 25 * jsc.cpp: 26 (functionGetGetterSetter): Use asString/toIdentifier instead of the much less efficient 27 toWTFString/Identifier::fromString. 28 (functionIsRope): Use asString instead of jsCast<JSString*>; same thing, but we should 29 prefer the asString function, since it exists. 30 (functionFindTypeForExpression): Use asString/value instead of getString. 31 (functionHasBasicBlockExecuted): Ditto. 32 (functionBasicBlockExecutionCount): Ditto. 33 (functionCreateBuiltin): Use asString/value instead of toWTFString and removed 34 unneeded RETURN_IF_EXCEPTION. 35 (valueWithTypeOfWasmValue): Use asString instead of jsCast<String*>. 36 (box): Ditto. 37 * runtime/DateConstructor.cpp: 38 (JSC::constructDate): Use asString/values instead of getString. 39 * runtime/ExceptionHelpers.cpp: 40 (JSC::errorDescriptionForValue): Tweaked formatting. 41 42 * runtime/HashMapImpl.h: 43 (JSC::jsMapHash): Changed this function to use asString/value. 44 45 * runtime/JSCJSValue.cpp: 46 (JSC::JSValue::dumpInContextAssumingStructure): Use asString instead of 47 jsCast<JSString*>. 48 (JSC::JSValue::dumpForBacktrace): Ditto. 49 * runtime/JSCJSValueInlines.h: 50 (JSC::toPreferredPrimitiveType): Ditto. 51 52 * runtime/JSGlobalObjectFunctions.cpp: 53 (JSC::globalFuncEval): Use asString/value instead of toWTFString. 54 55 * runtime/JSString.cpp: 56 (JSC::JSString::destroy): Streamlined by removing local variable. 57 (JSC::JSString::estimatedSize): Use asString instead of jsCast<JSString*>. 58 (JSC::JSString::visitChildren): Ditto. 59 (JSC::JSString::toThis): Ditto. 60 * runtime/JSString.h: 61 (JSC::JSValue::toString): Ditto. 62 (JSC::JSValue::toStringOrNull): Ditto. 63 * runtime/NumberPrototype.cpp: 64 (JSC::numberProtoFuncValueOf): Ditto. 65 * runtime/ObjectPrototype.cpp: 66 (JSC::objectProtoFuncToString): Ditto. 67 * runtime/StringPrototype.cpp: 68 (JSC::stringProtoFuncRepeatCharacter): Ditto. 69 (JSC::stringProtoFuncSubstr): Ditto. 70 (JSC::builtinStringSubstrInternal): Simplified assertion by removing local variable. 71 1 72 2016-12-15 Keith Miller <keith_miller@apple.com> 2 73 -
trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp
r209801 r209906 62 62 return InspectorValue::create(static_cast<int>(value.asAnyInt())); 63 63 if (value.isString()) 64 return InspectorValue::create( value.getString(&scriptState));64 return InspectorValue::create(asString(value)->value(&scriptState)); 65 65 66 66 if (value.isObject()) { -
trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp
r209801 r209906 103 103 return throwTypeError(exec, scope, ASCIILiteral("InjectedScriptHost.evaluateWithScopeExtension first argument must be a string.")); 104 104 105 String program = scriptValue.toWTFString(exec);105 String program = asString(scriptValue)->value(exec); 106 106 RETURN_IF_EXCEPTION(scope, JSValue()); 107 107 -
trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp
r209801 r209906 83 83 return throwTypeError(exec, scope, ASCIILiteral("JSJavaScriptCallFrame.evaluateWithScopeExtension first argument must be a string.")); 84 84 85 String script = scriptValue.toWTFString(exec);85 String script = asString(scriptValue)->value(exec); 86 86 RETURN_IF_EXCEPTION(scope, JSValue()); 87 87 -
trunk/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp
r209570 r209906 252 252 JSCell* cell = optionalNode->cell; 253 253 if (cell->isString()) { 254 *resultString = cell->getString(nullptr);254 *resultString = asString(cell)->tryGetValue(); 255 255 return; 256 256 } -
trunk/Source/JavaScriptCore/jsc.cpp
r209897 r209906 1877 1877 return JSValue::encode(jsUndefined()); 1878 1878 1879 Identifier ident = Identifier::fromString(&exec->vm(), property.toWTFString(exec));1880 1881 1879 PropertySlot slot(value, PropertySlot::InternalMethodType::VMInquiry); 1882 value.getPropertySlot(exec, ident, slot);1880 value.getPropertySlot(exec, asString(property)->toIdentifier(exec), slot); 1883 1881 1884 1882 JSValue result; … … 2105 2103 if (!argument.isString()) 2106 2104 return JSValue::encode(jsBoolean(false)); 2107 const StringImpl* impl = jsCast<JSString*>(argument)->tryGetValueImpl();2105 const StringImpl* impl = asString(argument)->tryGetValueImpl(); 2108 2106 return JSValue::encode(jsBoolean(!impl)); 2109 2107 } … … 2283 2281 2284 2282 RELEASE_ASSERT(exec->argument(1).isString()); 2285 String substring = exec->argument(1).getString(exec);2283 String substring = asString(exec->argument(1))->value(exec); 2286 2284 String sourceCodeText = executable->source().view().toString(); 2287 2285 unsigned offset = static_cast<unsigned>(sourceCodeText.find(substring) + executable->source().startOffset()); … … 2321 2319 2322 2320 RELEASE_ASSERT(exec->argument(1).isString()); 2323 String substring = exec->argument(1).getString(exec);2321 String substring = asString(exec->argument(1))->value(exec); 2324 2322 String sourceCodeText = executable->source().view().toString(); 2325 2323 RELEASE_ASSERT(sourceCodeText.contains(substring)); … … 2339 2337 2340 2338 RELEASE_ASSERT(exec->argument(1).isString()); 2341 String substring = exec->argument(1).getString(exec);2339 String substring = asString(exec->argument(1))->value(exec); 2342 2340 String sourceCodeText = executable->source().view().toString(); 2343 2341 RELEASE_ASSERT(sourceCodeText.contains(substring)); … … 2404 2402 return JSValue::encode(jsUndefined()); 2405 2403 2406 String functionText = exec->argument(0).toWTFString(exec);2404 String functionText = asString(exec->argument(0))->value(exec); 2407 2405 RETURN_IF_EXCEPTION(scope, encodedJSValue()); 2408 2406 … … 2511 2509 static CString valueWithTypeOfWasmValue(ExecState* exec, VM& vm, JSValue value, JSValue wasmValue) 2512 2510 { 2513 JSString* type = jsCast<JSString*>(wasmValue.get(exec, makeIdentifier(vm, "type")));2511 JSString* type = asString(wasmValue.get(exec, makeIdentifier(vm, "type"))); 2514 2512 2515 2513 const String& typeString = type->value(exec); … … 2524 2522 { 2525 2523 2526 JSString* type = jsCast<JSString*>(wasmValue.get(exec, makeIdentifier(vm, "type")));2524 JSString* type = asString(wasmValue.get(exec, makeIdentifier(vm, "type"))); 2527 2525 JSValue value = wasmValue.get(exec, makeIdentifier(vm, "value")); 2528 2526 … … 2531 2529 return false; 2532 2530 2533 const char* str = toCString( jsCast<JSString*>(value)->value(exec)).data();2531 const char* str = toCString(asString(value)->value(exec)).data(); 2534 2532 int scanResult; 2535 2533 int length = std::strlen(str); -
trunk/Source/JavaScriptCore/runtime/DateConstructor.cpp
r209801 r209906 161 161 RETURN_IF_EXCEPTION(scope, nullptr); 162 162 if (primitive.isString()) 163 value = parseDate(vm, primitive.getString(exec));163 value = parseDate(vm, asString(primitive)->value(exec)); 164 164 else 165 165 value = primitive.toNumber(exec); -
trunk/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp
r208410 r209906 86 86 { 87 87 if (v.isString()) 88 return jsNontrivialString(exec, makeString('"', 88 return jsNontrivialString(exec, makeString('"', asString(v)->value(exec), '"')); 89 89 if (v.isSymbol()) 90 90 return jsNontrivialString(exec, asSymbol(v)->descriptiveString()); -
trunk/Source/JavaScriptCore/runtime/HashMapImpl.h
r208985 r209906 241 241 ASSERT_WITH_MESSAGE(normalizeMapKey(value) == value, "We expect normalized values flowing into this function."); 242 242 243 auto scope = DECLARE_THROW_SCOPE(vm);244 245 243 if (value.isString()) { 246 JSString* string = asString(value);247 const String& wtfString = string->value(exec);244 auto scope = DECLARE_THROW_SCOPE(vm); 245 const String& wtfString = asString(value)->value(exec); 248 246 RETURN_IF_EXCEPTION(scope, UINT_MAX); 249 247 return wtfString.impl()->hash(); 250 248 } 251 249 252 uint64_t rawValue = JSValue::encode(value); 253 return wangsInt64Hash(rawValue); 250 return wangsInt64Hash(JSValue::encode(value)); 254 251 } 255 252 -
trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp
r209793 r209906 248 248 } else if (isCell()) { 249 249 if (structure->classInfo()->isSubClassOf(JSString::info())) { 250 JSString* string = jsCast<JSString*>(asCell());250 JSString* string = asString(asCell()); 251 251 out.print("String"); 252 252 if (string->isRope()) … … 300 300 else if (isCell()) { 301 301 if (asCell()->inherits(JSString::info())) { 302 JSString* string = jsCast<JSString*>(asCell());302 JSString* string = asString(asCell()); 303 303 const StringImpl* impl = string->tryGetValueImpl(); 304 304 if (impl) -
trunk/Source/JavaScriptCore/runtime/JSCJSValueInlines.h
r208564 r209906 663 663 } 664 664 665 StringImpl* hintString = jsCast<JSString*>(value)->value(exec).impl();665 StringImpl* hintString = asString(value)->value(exec).impl(); 666 666 RETURN_IF_EXCEPTION(scope, NoPreference); 667 667 -
trunk/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
r209801 r209906 667 667 } 668 668 669 String s = x.toWTFString(exec);669 String s = asString(x)->value(exec); 670 670 RETURN_IF_EXCEPTION(scope, encodedJSValue()); 671 671 -
trunk/Source/JavaScriptCore/runtime/JSString.cpp
r209897 r209906 53 53 void JSString::destroy(JSCell* cell) 54 54 { 55 JSString* thisObject = static_cast<JSString*>(cell); 56 thisObject->JSString::~JSString(); 55 static_cast<JSString*>(cell)->JSString::~JSString(); 57 56 } 58 57 … … 85 84 size_t JSString::estimatedSize(JSCell* cell) 86 85 { 87 JSString* thisObject = jsCast<JSString*>(cell);86 JSString* thisObject = asString(cell); 88 87 if (thisObject->isRope()) 89 88 return Base::estimatedSize(cell); … … 93 92 void JSString::visitChildren(JSCell* cell, SlotVisitor& visitor) 94 93 { 95 JSString* thisObject = jsCast<JSString*>(cell);94 JSString* thisObject = asString(cell); 96 95 Base::visitChildren(thisObject, visitor); 97 96 … … 422 421 if (ecmaMode == StrictMode) 423 422 return cell; 424 return StringObject::create(exec->vm(), exec->lexicalGlobalObject(), jsCast<JSString*>(cell));423 return StringObject::create(exec->vm(), exec->lexicalGlobalObject(), asString(cell)); 425 424 } 426 425 -
trunk/Source/JavaScriptCore/runtime/JSString.h
r208985 r209906 756 756 { 757 757 if (isString()) 758 return jsCast<JSString*>(asCell());758 return asString(asCell()); 759 759 bool returnEmptyStringOnError = true; 760 760 return toStringSlowCase(exec, returnEmptyStringOnError); … … 764 764 { 765 765 if (isString()) 766 return jsCast<JSString*>(asCell());766 return asString(asCell()); 767 767 bool returnEmptyStringOnError = false; 768 768 return toStringSlowCase(exec, returnEmptyStringOnError); -
trunk/Source/JavaScriptCore/runtime/NumberPrototype.cpp
r205198 r209906 540 540 JSValue thisValue = exec->thisValue(); 541 541 if (!toThisNumber(thisValue, x)) 542 return throwVMTypeError(exec, scope, WTF::makeString("thisNumberValue called on incompatible ", jsCast<JSString*>(jsTypeStringForValue(exec, thisValue))->value(exec)));542 return throwVMTypeError(exec, scope, WTF::makeString("thisNumberValue called on incompatible ", asString(jsTypeStringForValue(exec, thisValue))->value(exec))); 543 543 return JSValue::encode(jsNumber(x)); 544 544 } -
trunk/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
r209761 r209906 327 327 JSRopeString::RopeBuilder ropeBuilder(vm); 328 328 ropeBuilder.append(vm.smallStrings.objectStringStart()); 329 ropeBuilder.append( jsCast<JSString*>(stringTag));329 ropeBuilder.append(asString(stringTag)); 330 330 ropeBuilder.append(vm.smallStrings.singleCharacterString(']')); 331 331 JSString* result = ropeBuilder.release(); -
trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp
r209801 r209906 811 811 812 812 ASSERT(exec->uncheckedArgument(0).isString()); 813 JSString* string = jsCast<JSString*>(exec->uncheckedArgument(0));813 JSString* string = asString(exec->uncheckedArgument(0)); 814 814 ASSERT(string->length() == 1); 815 815 … … 1322 1322 String uString; 1323 1323 if (thisValue.isString()) { 1324 jsString = jsCast<JSString*>(thisValue.asCell());1324 jsString = asString(thisValue); 1325 1325 len = jsString->length(); 1326 1326 } else { … … 1361 1361 // will not need to call toString() on the thisValue, and there will be no observable 1362 1362 // side-effects. 1363 #if !ASSERT_DISABLED 1364 JSValue thisValue = exec->thisValue(); 1365 ASSERT(thisValue.isString()); 1366 #endif 1363 ASSERT(exec->thisValue().isString()); 1367 1364 return stringProtoFuncSubstr(exec); 1368 1365 } -
trunk/Source/WebCore/ChangeLog
r209903 r209906 1 2016-12-15 Darin Adler <darin@apple.com> 2 3 Use asString instead of toWTFString, toString, or getString when we already checked isString 4 https://bugs.webkit.org/show_bug.cgi?id=165895 5 6 Reviewed by Yusuke Suzuki. 7 8 * Modules/fetch/FetchBody.cpp: 9 (WebCore::FetchBody::extract): Use asString/value instead of toWTFString. 10 11 * Modules/mediastream/SDPProcessor.cpp: 12 (WebCore::SDPProcessor::callScript): Use asString/value instead of getString. 13 14 * bindings/js/ArrayValue.cpp: 15 (WebCore::ArrayValue::get): Use asString/value instead of toWTFString. 16 17 * bindings/js/IDBBindingUtilities.cpp: 18 (WebCore::get): Use asString/length instead of toString/length. 19 (WebCore::createIDBKeyFromValue): Use asString/value instead of toWTFString. 20 * bindings/js/JSCryptoAlgorithmDictionary.cpp: 21 (WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier): Ditto. 22 * bindings/js/JSDataCueCustom.cpp: 23 (WebCore::constructJSDataCue): Use asString/value instead of getString. 24 * bindings/js/JSInspectorFrontendHostCustom.cpp: 25 (WebCore::populateContextMenuItems): Use asString/value instead of toWTFString. 26 27 * bindings/js/ScriptController.cpp: 28 (WebCore::jsValueToModuleKey): Use asString/toIdentifier instead of 29 jsCast<JSString*>/value/Identifier::fromString. 30 31 * bindings/js/SerializedScriptValue.cpp: 32 (WebCore::CloneSerializer::dumpIfTerminal): Streamline by getting rid of local variable. 33 34 * contentextensions/ContentExtensionParser.cpp: 35 (WebCore::ContentExtensions::getDomainList): Use asString instead of jsCast<JSString*>. 36 (WebCore::ContentExtensions::loadTrigger): Use asString/value instead of toWTFString. 37 (WebCore::ContentExtensions::loadAction): Ditto. 38 39 * css/FontFace.cpp: 40 (WebCore::FontFace::create): Use asString/value instead of getString. 41 1 42 2016-12-15 Zalan Bujtas <zalan@apple.com> 2 43 -
trunk/Source/WebCore/Modules/fetch/FetchBody.cpp
r209390 r209906 63 63 if (value.isString()) { 64 64 contentType = HTTPHeaderValues::textPlainContentType(); 65 return FetchBody( value.toWTFString(&state));65 return FetchBody(String { asString(value)->value(&state) }); 66 66 } 67 67 if (value.inherits(JSURLSearchParams::info())) { -
trunk/Source/WebCore/Modules/mediastream/SDPProcessor.cpp
r209683 r209906 539 539 return false; 540 540 541 outResult = result.getString(exec);541 outResult = asString(result)->value(exec); 542 542 return true; 543 543 } -
trunk/Source/WebCore/bindings/js/ArrayValue.cpp
r206386 r209906 94 94 return false; 95 95 96 value = indexedValue.toWTFString(m_exec);96 value = asString(indexedValue)->value(m_exec); 97 97 RETURN_IF_EXCEPTION(scope, false); 98 98 -
trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp
r209801 r209906 57 57 { 58 58 if (object.isString() && keyPathElement == "length") { 59 result = jsNumber( object.toString(&exec)->length());59 result = jsNumber(asString(object)->length()); 60 60 return true; 61 61 } … … 149 149 150 150 if (value.isString()) 151 return IDBKey::createString( value.toWTFString(&exec));151 return IDBKey::createString(asString(value)->value(&exec)); 152 152 153 153 if (value.inherits(DateInstance::info()) && !std::isnan(valueToDate(&exec, value))) -
trunk/Source/WebCore/bindings/js/JSCryptoAlgorithmDictionary.cpp
r209900 r209906 67 67 68 68 if (value.isString()) { 69 algorithmName = value.toWTFString(&state);69 algorithmName = asString(value)->value(&state); 70 70 RETURN_IF_EXCEPTION(scope, false); 71 71 } else if (value.isObject()) { -
trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp
r209229 r209906 73 73 if (!exec.uncheckedArgument(3).isString()) 74 74 return throwArgumentTypeError(exec, scope, 3, "type", "DataCue", nullptr, "DOMString"); 75 type = exec.uncheckedArgument(3).getString(&exec);75 type = asString(exec.uncheckedArgument(3))->value(&exec); 76 76 } 77 77 #endif -
trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp
r209801 r209906 63 63 continue; 64 64 65 String typeString = type.toWTFString(exec);65 String typeString = asString(type)->value(exec); 66 66 if (typeString == "separator") { 67 67 ContextMenuItem item(SeparatorType, ContextMenuItemTagNoAction, String()); -
trunk/Source/WebCore/bindings/js/ScriptController.cpp
r209683 r209906 356 356 return Identifier::fromUid(jsCast<Symbol*>(value)->privateName()); 357 357 ASSERT(value.isString()); 358 return Identifier::fromString(exec, jsCast<JSString*>(value)->value(exec));358 return asString(value)->toIdentifier(exec); 359 359 } 360 360 -
trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp
r209400 r209906 750 750 751 751 if (value.isString()) { 752 String str = asString(value)->value(m_exec); 753 dumpString(str); 752 dumpString(asString(value)->value(m_exec)); 754 753 return true; 755 754 } -
trunk/Source/WebCore/contentextensions/ContentExtensionParser.cpp
r209679 r209906 76 76 77 77 // Domains should be punycode encoded lower case. 78 const String& domain = jsCast<JSString*>(value)->value(&exec);78 const String& domain = asString(value)->value(&exec); 79 79 if (domain.isEmpty()) 80 80 return ContentExtensionError::JSONInvalidDomainList; … … 131 131 return ContentExtensionError::JSONInvalidURLFilterInTrigger; 132 132 133 String urlFilter = urlFilterObject.toWTFString(&exec);133 String urlFilter = asString(urlFilterObject)->value(&exec); 134 134 if (urlFilter.isEmpty()) 135 135 return ContentExtensionError::JSONInvalidURLFilterInTrigger; … … 208 208 return ContentExtensionError::JSONInvalidActionType; 209 209 210 String actionType = typeObject.toWTFString(&exec);210 String actionType = asString(typeObject)->value(&exec); 211 211 212 212 if (actionType == "block") … … 221 221 return ContentExtensionError::JSONInvalidCSSDisplayNoneActionType; 222 222 223 String s = selector.toWTFString(&exec);224 if (!isValidSelector(s )) {223 String selectorString = asString(selector)->value(&exec); 224 if (!isValidSelector(selectorString)) { 225 225 // Skip rules with invalid selectors to be backwards-compatible. 226 226 validSelector = false; 227 227 return { }; 228 228 } 229 action = Action(ActionType::CSSDisplayNoneSelector, s );229 action = Action(ActionType::CSSDisplayNoneSelector, selectorString); 230 230 } else if (actionType == "make-https") { 231 231 action = ActionType::MakeHTTPS; -
trunk/Source/WebCore/css/FontFace.cpp
r209826 r209906 58 58 59 59 if (source.isString()) { 60 auto value = FontFace::parseString( source.getString(&state), CSSPropertySrc);60 auto value = FontFace::parseString(asString(source)->value(&state), CSSPropertySrc); 61 61 if (!is<CSSValueList>(value.get())) 62 62 return Exception { SYNTAX_ERR }; -
trunk/Source/WebKit/mac/ChangeLog
r209901 r209906 1 2016-12-15 Darin Adler <darin@apple.com> 2 3 Use asString instead of toWTFString, toString, or getString when we already checked isString 4 https://bugs.webkit.org/show_bug.cgi?id=165895 5 6 Reviewed by Yusuke Suzuki. 7 8 * Plugins/Hosted/NetscapePluginInstanceProxy.mm: 9 (WebKit::NetscapePluginInstanceProxy::addValueToArray): Use asString/value instead of 10 toWTFString. 11 * WebView/WebView.mm: 12 (aeDescFromJSValue): Use asString/value instead of getString. 13 1 14 2016-12-15 Chris Dumez <cdumez@apple.com> 2 15 -
trunk/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
r208985 r209906 1321 1321 if (value.isString()) { 1322 1322 [array addObject:[NSNumber numberWithInt:StringValueType]]; 1323 [array addObject: value.toWTFString(exec)];1323 [array addObject:asString(value)->value(exec)]; 1324 1324 } else if (value.isNumber()) { 1325 1325 [array addObject:[NSNumber numberWithInt:DoubleValueType]]; -
trunk/Source/WebKit/mac/WebView/WebView.mm
r209865 r209906 7370 7370 return [NSAppleEventDescriptor descriptorWithBoolean:jsValue.asBoolean()]; 7371 7371 if (jsValue.isString()) 7372 return [NSAppleEventDescriptor descriptorWithString: jsValue.getString(exec)];7372 return [NSAppleEventDescriptor descriptorWithString:asString(jsValue)->value(exec)]; 7373 7373 if (jsValue.isNumber()) { 7374 7374 double value = jsValue.asNumber(); -
trunk/Source/WebKit2/ChangeLog
r209901 r209906 1 2016-12-15 Darin Adler <darin@apple.com> 2 3 Use asString instead of toWTFString, toString, or getString when we already checked isString 4 https://bugs.webkit.org/show_bug.cgi?id=165895 5 6 Reviewed by Yusuke Suzuki. 7 8 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 9 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Use asString/value instead of toWTFString. 10 1 11 2016-12-15 Chris Dumez <cdumez@apple.com> 2 12 -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
r209801 r209906 169 169 170 170 if (value.isString()) { 171 NPString npString = createNPString( value.toWTFString(exec).utf8());171 NPString npString = createNPString(asString(value)->value(exec).utf8()); 172 172 STRINGN_TO_NPVARIANT(npString.UTF8Characters, npString.UTF8Length, variant); 173 173 return;
Note: See TracChangeset
for help on using the changeset viewer.