WebKit Bugzilla
Attachment 362305 Details for
Bug 194783
: Reduce use of LegacySync IPC messages
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194783-20190218110246.patch (text/plain), 23.49 KB, created by
Alex Christensen
on 2019-02-18 11:02:47 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Alex Christensen
Created:
2019-02-18 11:02:47 PST
Size:
23.49 KB
patch
obsolete
>Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 241729) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,35 @@ >+2019-02-18 Alex Christensen <achristensen@webkit.org> >+ >+ Reduce use of LegacySync IPC messages >+ https://bugs.webkit.org/show_bug.cgi?id=194783 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UIProcess/WebProcessPool.cpp: >+ (WebKit::WebProcessPool::handleSynchronousMessage): >+ * UIProcess/WebProcessPool.h: >+ * UIProcess/WebProcessPool.messages.in: >+ * UIProcess/WebProcessProxy.cpp: >+ (WebKit::WebProcessProxy::getPlugins): >+ (WebKit::WebProcessProxy::shouldTerminate): >+ * UIProcess/WebProcessProxy.h: >+ * UIProcess/WebProcessProxy.messages.in: >+ * WebProcess/Plugins/PluginProcessConnection.cpp: >+ (WebKit::PluginProcessConnection::setException): >+ * WebProcess/Plugins/PluginProcessConnection.h: >+ * WebProcess/Plugins/PluginProcessConnection.messages.in: >+ * WebProcess/Plugins/PluginProxy.cpp: >+ (WebKit::PluginProxy::didCreatePlugin): >+ (WebKit::PluginProxy::didFailToCreatePlugin): >+ (WebKit::PluginProxy::proxiesForURL): >+ (WebKit::PluginProxy::cookiesForURL): >+ (WebKit::PluginProxy::getAuthenticationInfo): >+ (WebKit::PluginProxy::getPluginElementNPObject): >+ (WebKit::PluginProxy::evaluate): >+ (WebKit::PluginProxy::createPluginContainer): >+ * WebProcess/Plugins/PluginProxy.h: >+ * WebProcess/Plugins/PluginProxy.messages.in: >+ > 2019-02-18 Alex Christensen <achristensen@webkit.org> > > Disable safe browsing in WKWebView and remove its WKPreferences API >Index: Source/WebKit/UIProcess/WebProcessPool.cpp >=================================================================== >--- Source/WebKit/UIProcess/WebProcessPool.cpp (revision 241622) >+++ Source/WebKit/UIProcess/WebProcessPool.cpp (working copy) >@@ -1788,15 +1788,15 @@ void WebProcessPool::handleMessage(IPC:: > m_injectedBundleClient->didReceiveMessageFromInjectedBundle(*this, messageName, webProcessProxy->transformHandlesToObjects(messageBody.object()).get()); > } > >-void WebProcessPool::handleSynchronousMessage(IPC::Connection& connection, const String& messageName, const UserData& messageBody, UserData& returnUserData) >+void WebProcessPool::handleSynchronousMessage(IPC::Connection& connection, const String& messageName, const UserData& messageBody, CompletionHandler<void(UserData&&)>&& completionHandler) > { > auto* webProcessProxy = webProcessProxyFromConnection(connection, m_processes); > if (!webProcessProxy) >- return; >+ return completionHandler({ }); > > RefPtr<API::Object> returnData; > m_injectedBundleClient->didReceiveSynchronousMessageFromInjectedBundle(*this, messageName, webProcessProxy->transformHandlesToObjects(messageBody.object()).get(), returnData); >- returnUserData = UserData(webProcessProxy->transformObjectsToHandles(returnData.get())); >+ completionHandler(UserData(webProcessProxy->transformObjectsToHandles(returnData.get()))); > } > > void WebProcessPool::didGetStatistics(const StatisticsData& statisticsData, uint64_t requestID) >Index: Source/WebKit/UIProcess/WebProcessPool.h >=================================================================== >--- Source/WebKit/UIProcess/WebProcessPool.h (revision 241622) >+++ Source/WebKit/UIProcess/WebProcessPool.h (working copy) >@@ -512,7 +512,7 @@ private: > void platformInitializeNetworkProcess(NetworkProcessCreationParameters&); > > void handleMessage(IPC::Connection&, const String& messageName, const UserData& messageBody); >- void handleSynchronousMessage(IPC::Connection&, const String& messageName, const UserData& messageBody, UserData& returnUserData); >+ void handleSynchronousMessage(IPC::Connection&, const String& messageName, const UserData& messageBody, CompletionHandler<void(UserData&&)>&&); > > void didGetStatistics(const StatisticsData&, uint64_t callbackID); > >Index: Source/WebKit/UIProcess/WebProcessPool.messages.in >=================================================================== >--- Source/WebKit/UIProcess/WebProcessPool.messages.in (revision 241622) >+++ Source/WebKit/UIProcess/WebProcessPool.messages.in (working copy) >@@ -22,7 +22,7 @@ > > messages -> WebProcessPool { > HandleMessage(String messageName, WebKit::UserData messageBody) WantsConnection >- HandleSynchronousMessage(String messageName, WebKit::UserData messageBody) -> (WebKit::UserData returnData) LegacySync WantsConnection >+ HandleSynchronousMessage(String messageName, WebKit::UserData messageBody) -> (WebKit::UserData returnData) Delayed WantsConnection > > DidGetStatistics(struct WebKit::StatisticsData statisticsData, uint64_t callbackID) > >Index: Source/WebKit/UIProcess/WebProcessProxy.cpp >=================================================================== >--- Source/WebKit/UIProcess/WebProcessProxy.cpp (revision 241622) >+++ Source/WebKit/UIProcess/WebProcessProxy.cpp (working copy) >@@ -532,26 +532,27 @@ void WebProcessProxy::updateBackForwardI > } > > #if ENABLE(NETSCAPE_PLUGIN_API) >-void WebProcessProxy::getPlugins(bool refresh, Vector<PluginInfo>& plugins, Vector<PluginInfo>& applicationPlugins, Optional<Vector<WebCore::SupportedPluginIdentifier>>& supportedPluginIdentifiers) >+void WebProcessProxy::getPlugins(bool refresh, CompletionHandler<void(Vector<PluginInfo>&& plugins, Vector<PluginInfo>&& applicationPlugins, Optional<Vector<WebCore::SupportedPluginIdentifier>>&& supportedPluginIdentifiers)>&& completionHandler) > { > if (refresh) > m_processPool->pluginInfoStore().refresh(); > >- supportedPluginIdentifiers = m_processPool->pluginInfoStore().supportedPluginIdentifiers(); >+ auto supportedPluginIdentifiers = m_processPool->pluginInfoStore().supportedPluginIdentifiers(); > >+ Vector<PluginInfo> plugins; > Vector<PluginModuleInfo> pluginModules = m_processPool->pluginInfoStore().plugins(); > for (size_t i = 0; i < pluginModules.size(); ++i) > plugins.append(pluginModules[i].info); > >+ Vector<PluginInfo> applicationPlugins; > #if ENABLE(PDFKIT_PLUGIN) > // Add built-in PDF last, so that it's not used when a real plug-in is installed. > if (!m_processPool->omitPDFSupport()) { > plugins.append(PDFPlugin::pluginInfo()); > applicationPlugins.append(PDFPlugin::pluginInfo()); > } >-#else >- UNUSED_PARAM(applicationPlugins); > #endif >+ completionHandler(WTFMove(plugins), WTFMove(applicationPlugins), WTFMove(supportedPluginIdentifiers)); > } > #endif // ENABLE(NETSCAPE_PLUGIN_API) > >@@ -855,13 +856,14 @@ bool WebProcessProxy::canTerminateAuxili > return true; > } > >-void WebProcessProxy::shouldTerminate(bool& shouldTerminate) >+void WebProcessProxy::shouldTerminate(CompletionHandler<void(bool)>&& completionHandler) > { >- shouldTerminate = canTerminateAuxiliaryProcess(); >+ bool shouldTerminate = canTerminateAuxiliaryProcess(); > if (shouldTerminate) { > // We know that the web process is going to terminate so start shutting it down in the UI process. > shutDown(); > } >+ completionHandler(shouldTerminate); > } > > void WebProcessProxy::updateTextCheckerState() >Index: Source/WebKit/UIProcess/WebProcessProxy.h >=================================================================== >--- Source/WebKit/UIProcess/WebProcessProxy.h (revision 241622) >+++ Source/WebKit/UIProcess/WebProcessProxy.h (working copy) >@@ -282,7 +282,7 @@ private: > void didDestroyUserGestureToken(uint64_t); > > bool canBeAddedToWebProcessCache() const; >- void shouldTerminate(bool& shouldTerminate); >+ void shouldTerminate(CompletionHandler<void(bool)>&&); > > void createNewMessagePortChannel(const WebCore::MessagePortIdentifier& port1, const WebCore::MessagePortIdentifier& port2); > void entangleLocalPortInThisProcessToRemote(const WebCore::MessagePortIdentifier& local, const WebCore::MessagePortIdentifier& remote); >@@ -299,7 +299,7 @@ private: > > // Plugins > #if ENABLE(NETSCAPE_PLUGIN_API) >- void getPlugins(bool refresh, Vector<WebCore::PluginInfo>& plugins, Vector<WebCore::PluginInfo>& applicationPlugins, Optional<Vector<WebCore::SupportedPluginIdentifier>>&); >+ void getPlugins(bool refresh, CompletionHandler<void(Vector<WebCore::PluginInfo>&& plugins, Vector<WebCore::PluginInfo>&& applicationPlugins, Optional<Vector<WebCore::SupportedPluginIdentifier>>&&)>&&); > #endif // ENABLE(NETSCAPE_PLUGIN_API) > #if ENABLE(NETSCAPE_PLUGIN_API) > void getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&); >Index: Source/WebKit/UIProcess/WebProcessProxy.messages.in >=================================================================== >--- Source/WebKit/UIProcess/WebProcessProxy.messages.in (revision 241622) >+++ Source/WebKit/UIProcess/WebProcessProxy.messages.in (working copy) >@@ -26,14 +26,14 @@ messages -> WebProcessProxy LegacyReceiv > > DidDestroyUserGestureToken(uint64_t userGestureTokenID) > >- ShouldTerminate() -> (bool shouldTerminate) LegacySync >+ ShouldTerminate() -> (bool shouldTerminate) Delayed > > EnableSuddenTermination() > DisableSuddenTermination() > > # Plugin messages. > #if ENABLE(NETSCAPE_PLUGIN_API) >- GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins, Vector<WebCore::PluginInfo> applicationPlugins, struct Optional<Vector<WebCore::SupportedPluginIdentifier>> supportedPluginIdentifiers) LegacySync >+ GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins, Vector<WebCore::PluginInfo> applicationPlugins, struct Optional<Vector<WebCore::SupportedPluginIdentifier>> supportedPluginIdentifiers) Delayed > GetPluginProcessConnection(uint64_t pluginProcessToken) -> (IPC::Attachment connectionHandle, bool supportsAsynchronousInitialization) Delayed > #endif > GetNetworkProcessConnection() -> (IPC::Attachment connectionHandle) Delayed >Index: Source/WebKit/WebProcess/Plugins/PluginProcessConnection.cpp >=================================================================== >--- Source/WebKit/WebProcess/Plugins/PluginProcessConnection.cpp (revision 241622) >+++ Source/WebKit/WebProcess/Plugins/PluginProcessConnection.cpp (working copy) >@@ -132,9 +132,10 @@ void PluginProcessConnection::didReceive > { > } > >-void PluginProcessConnection::setException(const String& exceptionString) >+void PluginProcessConnection::setException(const String& exceptionString, CompletionHandler<void()>&& completionHandler) > { > NPRuntimeObjectMap::setGlobalException(exceptionString); >+ completionHandler(); > } > > } // namespace WebKit >Index: Source/WebKit/WebProcess/Plugins/PluginProcessConnection.h >=================================================================== >--- Source/WebKit/WebProcess/Plugins/PluginProcessConnection.h (revision 241622) >+++ Source/WebKit/WebProcess/Plugins/PluginProcessConnection.h (working copy) >@@ -70,7 +70,7 @@ private: > > // Message handlers. > void didReceiveSyncPluginProcessConnectionMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&); >- void setException(const String&); >+ void setException(const String&, CompletionHandler<void()>&&); > > PluginProcessConnectionManager* m_pluginProcessConnectionManager; > uint64_t m_pluginProcessToken; >Index: Source/WebKit/WebProcess/Plugins/PluginProcessConnection.messages.in >=================================================================== >--- Source/WebKit/WebProcess/Plugins/PluginProcessConnection.messages.in (revision 241622) >+++ Source/WebKit/WebProcess/Plugins/PluginProcessConnection.messages.in (working copy) >@@ -24,7 +24,7 @@ > > messages -> PluginProcessConnection LegacyReceiver { > # Set a global JavaScript exception. >- SetException(String exceptionString) -> () LegacySync >+ SetException(String exceptionString) -> () Delayed > } > > #endif >Index: Source/WebKit/WebProcess/Plugins/PluginProxy.cpp >=================================================================== >--- Source/WebKit/WebProcess/Plugins/PluginProxy.cpp (revision 241622) >+++ Source/WebKit/WebProcess/Plugins/PluginProxy.cpp (working copy) >@@ -141,24 +141,26 @@ bool PluginProxy::initializeSynchronousl > return result; > } > >-void PluginProxy::didCreatePlugin(bool wantsWheelEvents, uint32_t remoteLayerClientID) >+void PluginProxy::didCreatePlugin(bool wantsWheelEvents, uint32_t remoteLayerClientID, CompletionHandler<void()>&& completionHandler) > { > // We might have tried to create the plug-in sychronously while waiting on the asynchronous reply, > // in which case we should ignore this message. > if (!m_waitingOnAsynchronousInitialization) >- return; >+ return completionHandler(); > > didCreatePluginInternal(wantsWheelEvents, remoteLayerClientID); >+ completionHandler(); > } > >-void PluginProxy::didFailToCreatePlugin() >+void PluginProxy::didFailToCreatePlugin(CompletionHandler<void()>&& completionHandler) > { > // We might have tried to create the plug-in sychronously while waiting on the asynchronous reply, > // in which case we should ignore this message. > if (!m_waitingOnAsynchronousInitialization) >- return; >+ return completionHandler(); > > didFailToCreatePluginInternal(); >+ completionHandler(); > } > > void PluginProxy::didCreatePluginInternal(bool wantsWheelEvents, uint32_t remoteLayerClientID) >@@ -574,14 +576,14 @@ void PluginProxy::loadURL(uint64_t reque > controller()->loadURL(requestID, method, urlString, target, headerFields, httpBody, allowPopups); > } > >-void PluginProxy::proxiesForURL(const String& urlString, String& proxyString) >+void PluginProxy::proxiesForURL(const String& urlString, CompletionHandler<void(String)>&& completionHandler) > { >- proxyString = controller()->proxiesForURL(urlString); >+ completionHandler(controller()->proxiesForURL(urlString)); > } > >-void PluginProxy::cookiesForURL(const String& urlString, String& cookieString) >+void PluginProxy::cookiesForURL(const String& urlString, CompletionHandler<void(String)>&& completionHandler) > { >- cookieString = controller()->cookiesForURL(urlString); >+ completionHandler(controller()->cookiesForURL(urlString)); > } > > void PluginProxy::setCookiesForURL(const String& urlString, const String& cookieString) >@@ -589,9 +591,12 @@ void PluginProxy::setCookiesForURL(const > controller()->setCookiesForURL(urlString, cookieString); > } > >-void PluginProxy::getAuthenticationInfo(const ProtectionSpace& protectionSpace, bool& returnValue, String& username, String& password) >+void PluginProxy::getAuthenticationInfo(const ProtectionSpace& protectionSpace, CompletionHandler<void(bool returnValue, String username, String password)>&& completionHandler) > { >- returnValue = controller()->getAuthenticationInfo(protectionSpace, username, password); >+ String username; >+ String password; >+ bool returnValue = controller()->getAuthenticationInfo(protectionSpace, username, password); >+ completionHandler(returnValue, username, password); > } > > float PluginProxy::contentsScaleFactor() >@@ -634,40 +639,38 @@ IntRect PluginProxy::pluginBounds() > return IntRect(IntPoint(), m_pluginSize); > } > >-void PluginProxy::getPluginElementNPObject(uint64_t& pluginElementNPObjectID) >+void PluginProxy::getPluginElementNPObject(CompletionHandler<void(uint64_t)>&& completionHandler) > { > NPObject* pluginElementNPObject = controller()->pluginElementNPObject(); >- if (!pluginElementNPObject) { >- pluginElementNPObjectID = 0; >- return; >- } >+ if (!pluginElementNPObject) >+ return completionHandler(0); > >- pluginElementNPObjectID = m_connection->npRemoteObjectMap()->registerNPObject(pluginElementNPObject, this); >+ uint64_t pluginElementNPObjectID = m_connection->npRemoteObjectMap()->registerNPObject(pluginElementNPObject, this); > releaseNPObject(pluginElementNPObject); >+ completionHandler(pluginElementNPObjectID); > } > >-void PluginProxy::evaluate(const NPVariantData& npObjectAsVariantData, const String& scriptString, bool allowPopups, bool& returnValue, NPVariantData& resultData) >+void PluginProxy::evaluate(const NPVariantData& npObjectAsVariantData, const String& scriptString, bool allowPopups, CompletionHandler<void(bool returnValue, NPVariantData&& resultData)>&& completionHandler) > { > PluginController::PluginDestructionProtector protector(controller()); > > NPVariant npObjectAsVariant = m_connection->npRemoteObjectMap()->npVariantDataToNPVariant(npObjectAsVariantData, this); >- if (!NPVARIANT_IS_OBJECT(npObjectAsVariant) || !(NPVARIANT_TO_OBJECT(npObjectAsVariant))) { >- returnValue = false; >- return; >- } >- >+ if (!NPVARIANT_IS_OBJECT(npObjectAsVariant) || !(NPVARIANT_TO_OBJECT(npObjectAsVariant))) >+ return completionHandler(false, { }); >+ > NPVariant result; >- returnValue = controller()->evaluate(NPVARIANT_TO_OBJECT(npObjectAsVariant), scriptString, &result, allowPopups); >+ bool returnValue = controller()->evaluate(NPVARIANT_TO_OBJECT(npObjectAsVariant), scriptString, &result, allowPopups); > if (!returnValue) >- return; >+ return completionHandler(false, { }); > > // Convert the NPVariant to an NPVariantData. >- resultData = m_connection->npRemoteObjectMap()->npVariantToNPVariantData(result, this); >+ NPVariantData resultData = m_connection->npRemoteObjectMap()->npVariantToNPVariantData(result, this); > > // And release the result. > releaseNPVariantValue(&result); >- > releaseNPVariantValue(&npObjectAsVariant); >+ >+ completionHandler(returnValue, WTFMove(resultData)); > } > > void PluginProxy::setPluginIsPlayingAudio(bool pluginIsPlayingAudio) >@@ -696,9 +699,9 @@ void PluginProxy::setStatusbarText(const > } > > #if PLATFORM(X11) >-void PluginProxy::createPluginContainer(uint64_t& windowID) >+void PluginProxy::createPluginContainer(CompletionHandler<void(uint64_t windowID)>&& completionHandler) > { >- windowID = controller()->createPluginContainer(); >+ completionHandler(controller()->createPluginContainer()); > } > > void PluginProxy::windowedPluginGeometryDidChange(const WebCore::IntRect& frameRect, const WebCore::IntRect& clipRect, uint64_t windowID) >Index: Source/WebKit/WebProcess/Plugins/PluginProxy.h >=================================================================== >--- Source/WebKit/WebProcess/Plugins/PluginProxy.h (revision 241622) >+++ Source/WebKit/WebProcess/Plugins/PluginProxy.h (working copy) >@@ -156,12 +156,12 @@ private: > // Message handlers. > void loadURL(uint64_t requestID, const String& method, const String& urlString, const String& target, const WebCore::HTTPHeaderMap& headerFields, const Vector<uint8_t>& httpBody, bool allowPopups); > void update(const WebCore::IntRect& paintedRect); >- void proxiesForURL(const String& urlString, String& proxyString); >- void cookiesForURL(const String& urlString, String& cookieString); >+ void proxiesForURL(const String& urlString, CompletionHandler<void(String)>&&); >+ void cookiesForURL(const String& urlString, CompletionHandler<void(String)>&&); > void setCookiesForURL(const String& urlString, const String& cookieString); >- void getAuthenticationInfo(const WebCore::ProtectionSpace&, bool& returnValue, String& username, String& password); >- void getPluginElementNPObject(uint64_t& pluginElementNPObjectID); >- void evaluate(const NPVariantData& npObjectAsVariantData, const String& scriptString, bool allowPopups, bool& returnValue, NPVariantData& resultData); >+ void getAuthenticationInfo(const WebCore::ProtectionSpace&, CompletionHandler<void(bool returnValue, String username, String password)>&&); >+ void getPluginElementNPObject(CompletionHandler<void(uint64_t)>&&); >+ void evaluate(const NPVariantData& npObjectAsVariantData, const String& scriptString, bool allowPopups, CompletionHandler<void(bool returnValue, NPVariantData&& resultData)>&&); > void setPluginIsPlayingAudio(bool); > void continueStreamLoad(uint64_t streamID); > void cancelStreamLoad(uint64_t streamID); >@@ -173,15 +173,15 @@ private: > void setLayerHostingContextID(uint32_t); > #endif > #if PLATFORM(X11) >- void createPluginContainer(uint64_t& windowID); >+ void createPluginContainer(CompletionHandler<void(uint64_t windowID)>&&); > void windowedPluginGeometryDidChange(const WebCore::IntRect& frameRect, const WebCore::IntRect& clipRect, uint64_t windowID); > void windowedPluginVisibilityDidChange(bool isVisible, uint64_t windowID); > #endif > > bool canInitializeAsynchronously() const; > >- void didCreatePlugin(bool wantsWheelEvents, uint32_t remoteLayerClientID); >- void didFailToCreatePlugin(); >+ void didCreatePlugin(bool wantsWheelEvents, uint32_t remoteLayerClientID, CompletionHandler<void()>&&); >+ void didFailToCreatePlugin(CompletionHandler<void()>&&); > > void didCreatePluginInternal(bool wantsWheelEvents, uint32_t remoteLayerClientID); > void didFailToCreatePluginInternal(); >Index: Source/WebKit/WebProcess/Plugins/PluginProxy.messages.in >=================================================================== >--- Source/WebKit/WebProcess/Plugins/PluginProxy.messages.in (revision 241622) >+++ Source/WebKit/WebProcess/Plugins/PluginProxy.messages.in (working copy) >@@ -30,22 +30,22 @@ messages -> PluginProxy LegacyReceiver { > Update(WebCore::IntRect paintedRect) > > # Returns a PAC style string with proxies for the given URL. >- ProxiesForURL(String urlString) -> (String proxiesString) LegacySync >+ ProxiesForURL(String urlString) -> (String proxiesString) Delayed > > # Returns the cookies for the given URL. >- CookiesForURL(String urlString) -> (String cookieString) LegacySync >+ CookiesForURL(String urlString) -> (String cookieString) Delayed > > # Sets the cookies for the given URL. > SetCookiesForURL(String urlString, String cookieString) > > # Gets the authentication info for the given protection space. >- GetAuthenticationInfo(WebCore::ProtectionSpace protectionSpace) -> (bool returnValue, String username, String password) LegacySync >+ GetAuthenticationInfo(WebCore::ProtectionSpace protectionSpace) -> (bool returnValue, String username, String password) Delayed > > # Gets a reference to the plug-in element NPObject. >- GetPluginElementNPObject() -> (uint64_t pluginElementNPObjectID) LegacySync >+ GetPluginElementNPObject() -> (uint64_t pluginElementNPObjectID) Delayed > > # Evaluates the given JavaScript string. >- Evaluate(WebKit::NPVariantData npObjectAsVariantData, String scriptString, bool allowPopups) -> (bool returnValue, WebKit::NPVariantData resultData) LegacySync >+ Evaluate(WebKit::NPVariantData npObjectAsVariantData, String scriptString, bool allowPopups) -> (bool returnValue, WebKit::NPVariantData resultData) Delayed > > # Cancels the given stream load. > CancelStreamLoad(uint64_t streamID) >@@ -72,7 +72,7 @@ messages -> PluginProxy LegacyReceiver { > > #if PLATFORM(X11) > # Create the plugin container for windowed plugins >- CreatePluginContainer() -> (uint64_t windowID) LegacySync >+ CreatePluginContainer() -> (uint64_t windowID) Delayed > > # Update geometry of windowed plugin widget > WindowedPluginGeometryDidChange(WebCore::IntRect frameRect, WebCore::IntRect clipRect, uint64_t windowID) >@@ -82,10 +82,10 @@ messages -> PluginProxy LegacyReceiver { > #endif > > # Tells the WebProcess that the plug-in was successfully initialized asynchronously >- DidCreatePlugin(bool wantsWheelEvents, uint32_t remoteLayerClientID) -> () LegacySync >+ DidCreatePlugin(bool wantsWheelEvents, uint32_t remoteLayerClientID) -> () Delayed > > # Tells the WebProcess that the plug-in failed to initialize. >- DidFailToCreatePlugin() -> () LegacySync >+ DidFailToCreatePlugin() -> () Delayed > > # Tells the WebProcess that the plug-in has started or stopped playing audio. > SetPluginIsPlayingAudio(bool pluginIsPlayingAudio)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ggaren
:
review+
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194783
: 362305 |
362339