Summary: | Use sendWithAsyncReply to evaluate JavaScript in a WebPage | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alex Christensen <achristensen> | ||||||||||||||||||||
Component: | New Bugs | Assignee: | Alex Christensen <achristensen> | ||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||
Severity: | Normal | CC: | beidson, berto, cgarcia, ews-watchlist, ggaren, gustavo, hi, joepeck, webkit-bug-importer, youennf | ||||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||
Attachments: |
|
Description
Alex Christensen
2020-10-05 16:18:48 PDT
Created attachment 410581 [details]
Patch
Created attachment 410587 [details]
Patch
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API Created attachment 410590 [details]
Patch
Created attachment 410599 [details]
Patch
Created attachment 410610 [details]
Patch
Comment on attachment 410610 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=410610&action=review > Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:3788 > + getPage(webView).runJavaScriptInMainFrame(WTFMove(params), [task = WTFMove(task)](API::SerializedScriptValue* serializedScriptValue, Optional<ExceptionDetails> details) { && and WTFMove. Or can we use something like Expected<RefPtr<API::SerializedScriptValue>, ExceptionDetails>? > Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:3925 > exceptionDetails = *details; Optional<>&& and WTFMove > Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:3965 > + [task](API::SerializedScriptValue* serializedScriptValue, Optional<ExceptionDetails> details) { Optional<>&& and WTFMove > Source/WebKit/UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp:124 > + [](API::SerializedScriptValue*, Optional<WebCore::ExceptionDetails> exceptionDetails) { &&, maybe use auto&& as well. > Source/WebKit/UIProcess/WebPageProxy.cpp:4105 > + sendWithAsyncReply(Messages::WebPage::RunJavaScriptInFrameInScriptWorld(parameters, frameID, world.worldData()), [activity = WTFMove(activity), callbackFunction = WTFMove(callbackFunction)] (const IPC::DataReference& dataReference, Optional<ExceptionDetails> details) mutable { && > Source/WebKit/UIProcess/WebPageProxy.cpp:4113 > + callbackFunction(API::SerializedScriptValue::adopt(WTFMove(data)).ptr(), details); WTFMove(details) Created attachment 410680 [details]
Patch
Created attachment 410683 [details]
Patch
Created attachment 410686 [details]
Patch
Created attachment 410688 [details]
Patch
|