WebKit Bugzilla
Attachment 341350 Details for
Bug 183338
: Follow-up fixes after r228907.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-183338-20180525162439.patch (text/plain), 5.23 KB, created by
Per Arne Vollan
on 2018-05-25 16:24:40 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Per Arne Vollan
Created:
2018-05-25 16:24:40 PDT
Size:
5.23 KB
patch
obsolete
>Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 232210) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,24 @@ >+2018-05-25 Per Arne Vollan <pvollan@apple.com> >+ >+ Follow-up fixes after r228907. >+ https://bugs.webkit.org/show_bug.cgi?id=183338 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add screen properties to the WebProcess creation parameters, instead of sending >+ them in a message to the WebProcess just after starting it up. >+ >+ * Shared/WebProcessCreationParameters.cpp: >+ (WebKit::WebProcessCreationParameters::encode const): >+ (WebKit::WebProcessCreationParameters::decode): >+ * Shared/WebProcessCreationParameters.h: >+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm: >+ (WebKit::WebProcessPool::platformInitializeWebProcess): >+ * UIProcess/WebProcessPool.cpp: >+ (WebKit::WebProcessPool::initializeNewWebProcess): >+ * WebProcess/cocoa/WebProcessCocoa.mm: >+ (WebKit::WebProcess::platformInitializeWebProcess): >+ > 2018-05-25 Tim Horton <timothy_horton@apple.com> > > Ensure that the Web Content process doesn't sleep during initialization >Index: Source/WebKit/Shared/WebProcessCreationParameters.cpp >=================================================================== >--- Source/WebKit/Shared/WebProcessCreationParameters.cpp (revision 232199) >+++ Source/WebKit/Shared/WebProcessCreationParameters.cpp (working copy) >@@ -154,6 +154,11 @@ void WebProcessCreationParameters::encod > #if PLATFORM(COCOA) > encoder << mediaMIMETypes; > #endif >+ >+#if PLATFORM(MAC) >+ encoder << primaryDisplayID; >+ encoder << screenPropertiesMap; >+#endif > } > > bool WebProcessCreationParameters::decode(IPC::Decoder& decoder, WebProcessCreationParameters& parameters) >@@ -401,6 +406,17 @@ bool WebProcessCreationParameters::decod > return false; > #endif > >+#if PLATFORM(MAC) >+ if (!decoder.decode(parameters.primaryDisplayID)) >+ return false; >+ >+ std::optional<HashMap<WebCore::PlatformDisplayID, WebCore::ScreenProperties>> screenPropertiesMap; >+ decoder >> screenPropertiesMap; >+ if (!screenPropertiesMap) >+ return false; >+ parameters.screenPropertiesMap = WTFMove(*screenPropertiesMap); >+#endif >+ > return true; > } > >Index: Source/WebKit/Shared/WebProcessCreationParameters.h >=================================================================== >--- Source/WebKit/Shared/WebProcessCreationParameters.h (revision 232199) >+++ Source/WebKit/Shared/WebProcessCreationParameters.h (working copy) >@@ -41,6 +41,11 @@ > #include <wtf/MachSendRight.h> > #endif > >+#if PLATFORM(MAC) >+#include <WebCore/PlatformScreen.h> >+#include <WebCore/ScreenProperties.h> >+#endif >+ > #if USE(SOUP) > #include "HTTPCookieAcceptPolicy.h" > #include <WebCore/SoupNetworkProxySettings.h> >@@ -188,6 +193,11 @@ struct WebProcessCreationParameters { > #if HAVE(CFNETWORK_STORAGE_PARTITIONING) && !RELEASE_LOG_DISABLED > bool shouldLogUserInteraction { false }; > #endif >+ >+#if PLATFORM(MAC) >+ WebCore::PlatformDisplayID primaryDisplayID { 0 }; >+ HashMap<WebCore::PlatformDisplayID, WebCore::ScreenProperties> screenPropertiesMap; >+#endif > }; > > } // namespace WebKit >Index: Source/WebKit/UIProcess/WebProcessPool.cpp >=================================================================== >--- Source/WebKit/UIProcess/WebProcessPool.cpp (revision 232199) >+++ Source/WebKit/UIProcess/WebProcessPool.cpp (working copy) >@@ -982,9 +982,6 @@ void WebProcessPool::initializeNewWebPro > > #if PLATFORM(MAC) > registerDisplayConfigurationCallback(); >- >- auto screenProperties = WebCore::getScreenProperties(); >- process.send(Messages::WebProcess::SetScreenProperties(screenProperties.first, screenProperties.second), 0); > #endif > } > >Index: Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >=================================================================== >--- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (revision 232199) >+++ Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (working copy) >@@ -280,6 +280,12 @@ void WebProcessPool::platformInitializeW > #if HAVE(CFNETWORK_STORAGE_PARTITIONING) && !RELEASE_LOG_DISABLED > parameters.shouldLogUserInteraction = [defaults boolForKey:WebKitLogCookieInformationDefaultsKey]; > #endif >+ >+#if PLATFORM(MAC) >+ auto screenProperties = WebCore::getScreenProperties(); >+ parameters.primaryDisplayID = screenProperties.first; >+ parameters.screenPropertiesMap = WTFMove(screenProperties.second); >+#endif > } > > void WebProcessPool::platformInitializeNetworkProcess(NetworkProcessCreationParameters& parameters) >Index: Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm >=================================================================== >--- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (revision 232199) >+++ Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (working copy) >@@ -190,6 +190,10 @@ void WebProcess::platformInitializeWebPr > parentProcessConnection()->send(Messages::WebProcessProxy::CacheMediaMIMETypes(types), 0); > }); > } >+ >+#if PLATFORM(MAC) >+ WebCore::setScreenProperties(parameters.primaryDisplayID, parameters.screenPropertiesMap); >+#endif > } > > void WebProcess::initializeProcessName(const ChildProcessInitializationParameters& parameters)
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
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 183338
: 341350