Changeset 282500 in webkit
- Timestamp:
- Sep 16, 2021, 1:00:36 AM (5 years ago)
- Location:
- releases/WebKitGTK/webkit-2.32/Source
- Files:
-
- 12 edited
-
JavaScriptCore/ChangeLog (modified) (1 diff)
-
JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp (modified) (1 diff)
-
JavaScriptCore/inspector/JSGlobalObjectInspectorController.h (modified) (1 diff)
-
JavaScriptCore/runtime/ConsoleClient.h (modified) (2 diffs)
-
JavaScriptCore/runtime/ConsoleObject.cpp (modified) (22 diffs)
-
JavaScriptCore/runtime/JSGlobalObject.cpp (modified) (2 diffs)
-
JavaScriptCore/runtime/JSGlobalObject.h (modified) (3 diffs)
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/bindings/js/ScriptCachedFrameData.cpp (modified) (1 diff)
-
WebCore/bindings/js/ScriptController.cpp (modified) (1 diff)
-
WebCore/bindings/js/WindowProxy.cpp (modified) (1 diff)
-
WebCore/workers/WorkerOrWorkletScriptController.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore/ChangeLog
r280895 r282500 1 2021-04-12 BJ Burg <bburg@apple.com> 2 3 Modernize uses of ConsoleClient 4 https://bugs.webkit.org/show_bug.cgi?id=224398 5 6 Reviewed by David Kilzer. 7 8 ConsoleClient acts like a delegate, so its callers 9 should be using weak references to it. 10 11 * inspector/JSGlobalObjectInspectorController.cpp: 12 (Inspector::JSGlobalObjectInspectorController::consoleClient const): 13 * inspector/JSGlobalObjectInspectorController.h: 14 * runtime/ConsoleClient.h: 15 * runtime/ConsoleObject.cpp: 16 (JSC::consoleLogWithLevel): 17 (JSC::JSC_DEFINE_HOST_FUNCTION): 18 * runtime/JSGlobalObject.cpp: 19 (JSC::JSGlobalObject::init): 20 (JSC::JSGlobalObject::setConsoleClient): 21 * runtime/JSGlobalObject.h: 22 (JSC::JSGlobalObject::consoleClient const): 23 (JSC::JSGlobalObject::setConsoleClient): Deleted. 24 1 25 2021-03-16 Saam Barati <sbarati@apple.com> 2 26 -
releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
r266885 r282500 199 199 } 200 200 201 ConsoleClient*JSGlobalObjectInspectorController::consoleClient() const202 { 203 return m _consoleClient.get();201 WeakPtr<ConsoleClient> JSGlobalObjectInspectorController::consoleClient() const 202 { 203 return makeWeakPtr(m_consoleClient.get()); 204 204 } 205 205 -
releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h
r266077 r282500 82 82 void reportAPIException(JSC::JSGlobalObject*, JSC::Exception*); 83 83 84 JSC::ConsoleClient*consoleClient() const;84 WeakPtr<JSC::ConsoleClient> consoleClient() const; 85 85 86 86 bool developerExtrasEnabled() const final; -
releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore/runtime/ConsoleClient.h
r251425 r282500 28 28 #include "ConsoleTypes.h" 29 29 #include <wtf/Forward.h> 30 #include <wtf/WeakPtr.h> 30 31 31 32 namespace Inspector { … … 38 39 class JSGlobalObject; 39 40 40 class ConsoleClient {41 class ConsoleClient : public CanMakeWeakPtr<ConsoleClient> { 41 42 public: 42 43 virtual ~ConsoleClient() { } -
releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore/runtime/ConsoleObject.cpp
r267594 r282500 130 130 static EncodedJSValue consoleLogWithLevel(JSGlobalObject* globalObject, CallFrame* callFrame, MessageLevel level) 131 131 { 132 ConsoleClient*client = globalObject->consoleClient();132 auto client = globalObject->consoleClient(); 133 133 if (!client) 134 134 return JSValue::encode(jsUndefined()); … … 165 165 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncClear, (JSGlobalObject* globalObject, CallFrame*)) 166 166 { 167 ConsoleClient*client = globalObject->consoleClient();167 auto client = globalObject->consoleClient(); 168 168 if (!client) 169 169 return JSValue::encode(jsUndefined()); … … 175 175 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncDir, (JSGlobalObject* globalObject, CallFrame* callFrame)) 176 176 { 177 ConsoleClient*client = globalObject->consoleClient();177 auto client = globalObject->consoleClient(); 178 178 if (!client) 179 179 return JSValue::encode(jsUndefined()); … … 185 185 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncDirXML, (JSGlobalObject* globalObject, CallFrame* callFrame)) 186 186 { 187 ConsoleClient*client = globalObject->consoleClient();187 auto client = globalObject->consoleClient(); 188 188 if (!client) 189 189 return JSValue::encode(jsUndefined()); … … 195 195 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncTable, (JSGlobalObject* globalObject, CallFrame* callFrame)) 196 196 { 197 ConsoleClient*client = globalObject->consoleClient();197 auto client = globalObject->consoleClient(); 198 198 if (!client) 199 199 return JSValue::encode(jsUndefined()); … … 205 205 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncTrace, (JSGlobalObject* globalObject, CallFrame* callFrame)) 206 206 { 207 ConsoleClient*client = globalObject->consoleClient();207 auto client = globalObject->consoleClient(); 208 208 if (!client) 209 209 return JSValue::encode(jsUndefined()); … … 217 217 VM& vm = globalObject->vm(); 218 218 auto scope = DECLARE_THROW_SCOPE(vm); 219 ConsoleClient*client = globalObject->consoleClient();219 auto client = globalObject->consoleClient(); 220 220 if (!client) 221 221 return JSValue::encode(jsUndefined()); … … 234 234 { 235 235 auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); 236 auto *client = globalObject->consoleClient();236 auto client = globalObject->consoleClient(); 237 237 if (!client) 238 238 return JSValue::encode(jsUndefined()); … … 248 248 { 249 249 auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); 250 auto *client = globalObject->consoleClient();250 auto client = globalObject->consoleClient(); 251 251 if (!client) 252 252 return JSValue::encode(jsUndefined()); … … 263 263 VM& vm = globalObject->vm(); 264 264 auto scope = DECLARE_THROW_SCOPE(vm); 265 ConsoleClient*client = globalObject->consoleClient();265 auto client = globalObject->consoleClient(); 266 266 if (!client) 267 267 return JSValue::encode(jsUndefined()); … … 284 284 VM& vm = globalObject->vm(); 285 285 auto scope = DECLARE_THROW_SCOPE(vm); 286 ConsoleClient*client = globalObject->consoleClient();286 auto client = globalObject->consoleClient(); 287 287 if (!client) 288 288 return JSValue::encode(jsUndefined()); … … 305 305 VM& vm = globalObject->vm(); 306 306 auto scope = DECLARE_THROW_SCOPE(vm); 307 ConsoleClient*client = globalObject->consoleClient();307 auto client = globalObject->consoleClient(); 308 308 if (!client) 309 309 return JSValue::encode(jsUndefined()); … … 325 325 { 326 326 auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); 327 auto *client = globalObject->consoleClient();327 auto client = globalObject->consoleClient(); 328 328 if (!client) 329 329 return JSValue::encode(jsUndefined()); … … 339 339 { 340 340 auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); 341 auto *client = globalObject->consoleClient();341 auto client = globalObject->consoleClient(); 342 342 if (!client) 343 343 return JSValue::encode(jsUndefined()); … … 353 353 { 354 354 auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); 355 auto *client = globalObject->consoleClient();355 auto client = globalObject->consoleClient(); 356 356 if (!client) 357 357 return JSValue::encode(jsUndefined()); … … 366 366 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncTimeStamp, (JSGlobalObject* globalObject, CallFrame* callFrame)) 367 367 { 368 ConsoleClient*client = globalObject->consoleClient();368 auto client = globalObject->consoleClient(); 369 369 if (!client) 370 370 return JSValue::encode(jsUndefined()); … … 376 376 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncGroup, (JSGlobalObject* globalObject, CallFrame* callFrame)) 377 377 { 378 ConsoleClient*client = globalObject->consoleClient();378 auto client = globalObject->consoleClient(); 379 379 if (!client) 380 380 return JSValue::encode(jsUndefined()); … … 386 386 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncGroupCollapsed, (JSGlobalObject* globalObject, CallFrame* callFrame)) 387 387 { 388 ConsoleClient*client = globalObject->consoleClient();388 auto client = globalObject->consoleClient(); 389 389 if (!client) 390 390 return JSValue::encode(jsUndefined()); … … 396 396 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncGroupEnd, (JSGlobalObject* globalObject, CallFrame* callFrame)) 397 397 { 398 ConsoleClient*client = globalObject->consoleClient();398 auto client = globalObject->consoleClient(); 399 399 if (!client) 400 400 return JSValue::encode(jsUndefined()); … … 406 406 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncRecord, (JSGlobalObject* globalObject, CallFrame* callFrame)) 407 407 { 408 ConsoleClient*client = globalObject->consoleClient();408 auto client = globalObject->consoleClient(); 409 409 if (!client) 410 410 return JSValue::encode(jsUndefined()); … … 416 416 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncRecordEnd, (JSGlobalObject* globalObject, CallFrame* callFrame)) 417 417 { 418 ConsoleClient*client = globalObject->consoleClient();418 auto client = globalObject->consoleClient(); 419 419 if (!client) 420 420 return JSValue::encode(jsUndefined()); … … 426 426 JSC_DEFINE_HOST_FUNCTION(consoleProtoFuncScreenshot, (JSGlobalObject* globalObject, CallFrame* callFrame)) 427 427 { 428 ConsoleClient*client = globalObject->consoleClient();428 auto client = globalObject->consoleClient(); 429 429 if (!client) 430 430 return JSValue::encode(jsUndefined()); -
releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r273138 r282500 55 55 #include "CodeBlock.h" 56 56 #include "CodeBlockSetInlines.h" 57 #include "ConsoleClient.h" 57 58 #include "ConsoleObject.h" 58 59 #include "DateConstructor.h" … … 2330 2331 } 2331 2332 2333 void JSGlobalObject::setConsoleClient(WeakPtr<ConsoleClient>&& consoleClient) 2334 { 2335 m_consoleClient = WTFMove(consoleClient); 2336 } 2337 2332 2338 void JSGlobalObject::setDebugger(Debugger* debugger) 2333 2339 { -
releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore/runtime/JSGlobalObject.h
r273225 r282500 50 50 #include <wtf/HashSet.h> 51 51 #include <wtf/RetainPtr.h> 52 #include <wtf/WeakPtr.h> 52 53 53 54 struct OpaqueJSClass; … … 561 562 String m_webAssemblyDisabledErrorMessage; 562 563 RuntimeFlags m_runtimeFlags; 563 ConsoleClient* m_consoleClient { nullptr };564 WeakPtr<ConsoleClient> m_consoleClient; 564 565 Optional<unsigned> m_stackTraceLimit; 565 566 WeakGCMap<GetValueFunc, JSCustomGetterFunction> m_customGetterFunctionMap; … … 881 882 unsigned* addressOfGlobalLexicalBindingEpoch() { return &m_globalLexicalBindingEpoch; } 882 883 883 void setConsoleClient(ConsoleClient* consoleClient) { m_consoleClient = consoleClient; }884 ConsoleClient*consoleClient() const { return m_consoleClient; }884 JS_EXPORT_PRIVATE void setConsoleClient(WeakPtr<ConsoleClient>&&); 885 WeakPtr<ConsoleClient> consoleClient() const { return m_consoleClient; } 885 886 886 887 void setName(const String&); -
releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog
r282499 r282500 1 2021-04-12 BJ Burg <bburg@apple.com> 2 3 Modernize uses of ConsoleClient 4 https://bugs.webkit.org/show_bug.cgi?id=224398 5 6 Reviewed by David Kilzer. 7 8 ConsoleClient acts like a delegate, so its callers 9 should be using weak references to it. 10 11 * bindings/js/ScriptCachedFrameData.cpp: 12 (WebCore::ScriptCachedFrameData::restore): 13 * bindings/js/ScriptController.cpp: 14 (WebCore::ScriptController::initScriptForWindowProxy): 15 * bindings/js/WindowProxy.cpp: 16 (WebCore::WindowProxy::setDOMWindow): 17 * workers/WorkerOrWorkletScriptController.cpp: 18 (WebCore::WorkerOrWorkletScriptController::initScriptWithSubclass): 19 1 20 2021-04-11 Rob Buis <rbuis@igalia.com> 2 21 -
releases/WebKitGTK/webkit-2.32/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp
r230794 r282500 92 92 93 93 if (page) 94 windowProxy->window()->setConsoleClient( &page->console());94 windowProxy->window()->setConsoleClient(makeWeakPtr(page->console())); 95 95 } 96 96 } -
releases/WebKitGTK/webkit-2.32/Source/WebCore/bindings/js/ScriptController.cpp
r273444 r282500 277 277 windowProxy.attachDebugger(page->debugger()); 278 278 windowProxy.window()->setProfileGroup(page->group().identifier()); 279 windowProxy.window()->setConsoleClient( &page->console());279 windowProxy.window()->setConsoleClient(makeWeakPtr(page->console())); 280 280 } 281 281 -
releases/WebKitGTK/webkit-2.32/Source/WebCore/bindings/js/WindowProxy.cpp
r269435 r282500 189 189 if (page) 190 190 windowProxy->window()->setProfileGroup(page->group().identifier()); 191 windowProxy->window()->setConsoleClient(page ? &page->console() : nullptr);191 windowProxy->window()->setConsoleClient(page ? makeWeakPtr(page->console()) : nullptr); 192 192 } 193 193 } -
releases/WebKitGTK/webkit-2.32/Source/WebCore/workers/WorkerOrWorkletScriptController.cpp
r273299 r282500 508 508 509 509 m_consoleClient = makeUnique<WorkerConsoleClient>(*m_globalScope); 510 m_globalScopeWrapper->setConsoleClient(m _consoleClient.get());510 m_globalScopeWrapper->setConsoleClient(makeWeakPtr(*m_consoleClient)); 511 511 } 512 512
Note:
See TracChangeset
for help on using the changeset viewer.