WebKit Bugzilla
Attachment 349066 Details for
Bug 189364
: Actively prewarm processes created for prewarm pool
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
prewarm-process-7.patch (text/plain), 20.84 KB, created by
Antti Koivisto
on 2018-09-06 13:47:16 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Antti Koivisto
Created:
2018-09-06 13:47:16 PDT
Size:
20.84 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 235669) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,35 @@ >+2018-09-06 Antti Koivisto <antti@apple.com> >+ >+ Actively prewarm processes created for prewarm pool >+ https://bugs.webkit.org/show_bug.cgi?id=189364 >+ >+ Reviewed by Chris Dumez. >+ >+ Do some basic prewarming for newly created processes. >+ >+ * Sources.txt: >+ * WebCore.xcodeproj/project.pbxproj: >+ * css/CSSDefaultStyleSheets.cpp: >+ (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle): >+ * css/CSSDefaultStyleSheets.h: >+ * page/Frame.cpp: >+ (WebCore::Frame::Frame): >+ * page/ProcessWarming.cpp: Added. >+ (WebCore::ProcessWarming::initializeNames): >+ >+ Factor name initialization into a function. >+ >+ (WebCore::ProcessWarming::prewarm): >+ >+ Prewarm >+ - names >+ - settings (system fonts) >+ - user agent stylesheet >+ - JavaScript VM >+ - telephone number detection >+ >+ * page/ProcessWarming.h: Added. >+ > 2018-09-05 Zalan Bujtas <zalan@apple.com> > > [LFC][BFC] Move MarginCollapse class under BlockFormattingContext::Geometry >Index: Source/WebCore/Sources.txt >=================================================================== >--- Source/WebCore/Sources.txt (revision 235669) >+++ Source/WebCore/Sources.txt (working copy) >@@ -1416,6 +1416,7 @@ page/PerformanceTiming.cpp > page/PerformanceUserTiming.cpp > page/PointerLockController.cpp > page/PrintContext.cpp >+page/ProcessWarming.cpp > page/RemoteDOMWindow.cpp > page/RemoteFrame.cpp > page/ResourceUsageOverlay.cpp >Index: Source/WebCore/WebCore.xcodeproj/project.pbxproj >=================================================================== >--- Source/WebCore/WebCore.xcodeproj/project.pbxproj (revision 235669) >+++ Source/WebCore/WebCore.xcodeproj/project.pbxproj (working copy) >@@ -4715,6 +4715,7 @@ > E401C27517CE53EC00C41A35 /* ElementIteratorAssertions.h in Headers */ = {isa = PBXBuildFile; fileRef = E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */; settings = {ATTRIBUTES = (Private, ); }; }; > E401E0A41C3C0B8300F34D10 /* StyleChange.h in Headers */ = {isa = PBXBuildFile; fileRef = E401E0A31C3C0B8300F34D10 /* StyleChange.h */; settings = {ATTRIBUTES = (Private, ); }; }; > E419041F1CC6486B00C35F5D /* FontSelectorClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E419041E1CC6486B00C35F5D /* FontSelectorClient.h */; settings = {ATTRIBUTES = (Private, ); }; }; >+ E42050172141901B0066EF3B /* ProcessWarming.h in Headers */ = {isa = PBXBuildFile; fileRef = E42050142141901A0066EF3B /* ProcessWarming.h */; settings = {ATTRIBUTES = (Private, ); }; }; > E424A39E1330DF0100CF6DC9 /* LegacyTileGridTile.h in Headers */ = {isa = PBXBuildFile; fileRef = E424A39D1330DF0100CF6DC9 /* LegacyTileGridTile.h */; }; > E425A49A18292B840020CFCF /* CollectionIndexCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E425A49918292B840020CFCF /* CollectionIndexCache.h */; settings = {ATTRIBUTES = (Private, ); }; }; > E4295FA412B0614E00D1ACE0 /* ResourceLoadPriority.h in Headers */ = {isa = PBXBuildFile; fileRef = E4295FA312B0614E00D1ACE0 /* ResourceLoadPriority.h */; settings = {ATTRIBUTES = (Private, ); }; }; >@@ -9801,10 +9802,10 @@ > 834DFACC1F7DAE5600C2725B /* SharedStringHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedStringHash.h; sourceTree = "<group>"; }; > 834DFACE1F7DAE5700C2725B /* SharedStringHash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedStringHash.cpp; sourceTree = "<group>"; }; > 8350C3E71DA59B6200355424 /* ScrollLogicalPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollLogicalPosition.h; sourceTree = "<group>"; }; >- 8350C3E81DA59B6200355424 /* ScrollLogicalPosition.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollLogicalPosition.idl; sourceTree = "<group>"; }; > 8350C3E71DA59B6200355435 /* ScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollIntoViewOptions.h; sourceTree = "<group>"; }; >- 8350C3E81DA59B6200355435 /* ScrollIntoViewOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollIntoViewOptions.idl; sourceTree = "<group>"; }; > 8350C3E71DA59B6200356446 /* ScrollToOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollToOptions.h; sourceTree = "<group>"; }; >+ 8350C3E81DA59B6200355424 /* ScrollLogicalPosition.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollLogicalPosition.idl; sourceTree = "<group>"; }; >+ 8350C3E81DA59B6200355435 /* ScrollIntoViewOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollIntoViewOptions.idl; sourceTree = "<group>"; }; > 8350C3E81DA59B6200356446 /* ScrollToOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollToOptions.idl; sourceTree = "<group>"; }; > 83520C7D1A71BFCC006BD2AA /* CSSFontFamily.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSFontFamily.h; sourceTree = "<group>"; }; > 835657C61ECAB0E800CDE72D /* JSDOMMatrixInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMMatrixInit.cpp; sourceTree = "<group>"; }; >@@ -9942,10 +9943,10 @@ > 83E8667F1FBA5640008855C5 /* ServiceWorkerData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceWorkerData.cpp; sourceTree = "<group>"; }; > 83E959E11B8BC22B004D9385 /* NativeNodeFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeNodeFilter.h; sourceTree = "<group>"; }; > 83E9B3001DA5A51E00FFD8D4 /* JSScrollLogicalPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollLogicalPosition.cpp; sourceTree = "<group>"; }; >- 83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollLogicalPosition.h; sourceTree = "<group>"; }; > 83E9B3001DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollIntoViewOptions.cpp; sourceTree = "<group>"; }; >- 83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollIntoViewOptions.h; sourceTree = "<group>"; }; > 83E9B3001DA5A51E00FFE8F6 /* JSScrollToOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollToOptions.cpp; sourceTree = "<group>"; }; >+ 83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollLogicalPosition.h; sourceTree = "<group>"; }; >+ 83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollIntoViewOptions.h; sourceTree = "<group>"; }; > 83E9B3011DA5A51E00FFE8F6 /* JSScrollToOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollToOptions.h; sourceTree = "<group>"; }; > 83EE598B1F50958B003E8B30 /* JSErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSErrorCallback.h; sourceTree = "<group>"; }; > 83EE598C1F50958B003E8B30 /* JSErrorCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSErrorCallback.cpp; sourceTree = "<group>"; }; >@@ -14311,6 +14312,8 @@ > E419041E1CC6486B00C35F5D /* FontSelectorClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontSelectorClient.h; sourceTree = "<group>"; }; > E41EA038119836DB00710BC5 /* CSSPropertyNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSPropertyNames.cpp; sourceTree = "<group>"; }; > E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSValueKeywords.cpp; sourceTree = "<group>"; }; >+ E42050142141901A0066EF3B /* ProcessWarming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessWarming.h; sourceTree = "<group>"; }; >+ E42050162141901B0066EF3B /* ProcessWarming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessWarming.cpp; sourceTree = "<group>"; }; > E424A39D1330DF0100CF6DC9 /* LegacyTileGridTile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyTileGridTile.h; sourceTree = "<group>"; }; > E424A39F1330DF1E00CF6DC9 /* LegacyTileGridTile.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LegacyTileGridTile.mm; sourceTree = "<group>"; }; > E425A49918292B840020CFCF /* CollectionIndexCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionIndexCache.h; sourceTree = "<group>"; }; >@@ -19413,6 +19416,8 @@ > 3772B09516535856000A49CA /* PopupOpeningObserver.h */, > B776D43C1104527500BEB0EC /* PrintContext.cpp */, > B776D43A1104525D00BEB0EC /* PrintContext.h */, >+ E42050162141901B0066EF3B /* ProcessWarming.cpp */, >+ E42050142141901A0066EF3B /* ProcessWarming.h */, > 46B9518D207D632A00A7D2DD /* RemoteDOMWindow.cpp */, > 46B9518E207D632A00A7D2DD /* RemoteDOMWindow.h */, > 46BCBBC3208500A700710638 /* RemoteDOMWindow.idl */, >@@ -28760,6 +28765,7 @@ > D6489D26166FFCF1007C031B /* JSHTMLTemplateElement.h in Headers */, > A80E7E9D0A1A83E3007FB8C5 /* JSHTMLTextAreaElement.h in Headers */, > 83E359A21BB1031D002CEB98 /* JSHTMLTimeElement.h in Headers */, >+ E42050172141901B0066EF3B /* ProcessWarming.h in Headers */, > A80E7B0C0A19D606007FB8C5 /* JSHTMLTitleElement.h in Headers */, > 070756D414239A4F00414161 /* JSHTMLTrackElement.h in Headers */, > 1A85B2110A1B258700D8C87C /* JSHTMLUListElement.h in Headers */, >Index: Source/WebCore/css/CSSDefaultStyleSheets.cpp >=================================================================== >--- Source/WebCore/css/CSSDefaultStyleSheets.cpp (revision 235669) >+++ Source/WebCore/css/CSSDefaultStyleSheets.cpp (working copy) >@@ -142,6 +142,9 @@ void CSSDefaultStyleSheets::addToDefault > > void CSSDefaultStyleSheets::loadFullDefaultStyle() > { >+ if (defaultStyle && !simpleDefaultStyleSheet) >+ return; >+ > if (simpleDefaultStyleSheet) { > ASSERT(defaultStyle); > ASSERT(defaultPrintStyle == defaultStyle); >Index: Source/WebCore/css/CSSDefaultStyleSheets.h >=================================================================== >--- Source/WebCore/css/CSSDefaultStyleSheets.h (revision 235669) >+++ Source/WebCore/css/CSSDefaultStyleSheets.h (working copy) >@@ -49,9 +49,9 @@ public: > > static void initDefaultStyle(const Element*); > static void ensureDefaultStyleSheetsForElement(const Element&); >+ static void loadFullDefaultStyle(); > > private: >- static void loadFullDefaultStyle(); > static void loadSimpleDefaultStyle(); > static void addToDefaultStyle(StyleSheetContents&); > }; >Index: Source/WebCore/page/Frame.cpp >=================================================================== >--- Source/WebCore/page/Frame.cpp (revision 235669) >+++ Source/WebCore/page/Frame.cpp (working copy) >@@ -69,14 +69,13 @@ > #include "InspectorInstrumentation.h" > #include "JSWindowProxy.h" > #include "Logging.h" >-#include "MathMLNames.h" >-#include "MediaFeatureNames.h" > #include "NavigationScheduler.h" > #include "Navigator.h" > #include "NodeList.h" > #include "NodeTraversal.h" > #include "Page.h" > #include "PageCache.h" >+#include "ProcessWarming.h" > #include "RenderLayerCompositor.h" > #include "RenderTableCell.h" > #include "RenderText.h" >@@ -87,7 +86,6 @@ > #include "RuntimeEnabledFeatures.h" > #include "SVGDocument.h" > #include "SVGDocumentExtensions.h" >-#include "SVGNames.h" > #include "ScriptController.h" > #include "ScriptSourceCode.h" > #include "ScrollingCoordinator.h" >@@ -101,10 +99,6 @@ > #include "UserScript.h" > #include "UserTypingGestureIndicator.h" > #include "VisibleUnits.h" >-#include "WebKitFontFamilyNames.h" >-#include "XLinkNames.h" >-#include "XMLNSNames.h" >-#include "XMLNames.h" > #include "markup.h" > #include "npruntime_impl.h" > #include "runtime_root.h" >@@ -171,16 +165,7 @@ Frame::Frame(Page& page, HTMLFrameOwnerE > , m_activeDOMObjectsAndAnimationsSuspendedCount(0) > , m_eventHandler(makeUniqueRef<EventHandler>(*this)) > { >- AtomicString::init(); >- HTMLNames::init(); >- QualifiedName::init(); >- MediaFeatureNames::init(); >- SVGNames::init(); >- XLinkNames::init(); >- MathMLNames::init(); >- XMLNSNames::init(); >- XMLNames::init(); >- WebKitFontFamilyNames::init(); >+ ProcessWarming::initializeNames(); > > if (ownerElement) { > m_mainFrame.selfOnlyRef(); >Index: Source/WebCore/page/ProcessWarming.cpp >=================================================================== >--- Source/WebCore/page/ProcessWarming.cpp (nonexistent) >+++ Source/WebCore/page/ProcessWarming.cpp (working copy) >@@ -0,0 +1,79 @@ >+/* >+ * Copyright (C) 2018 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#include "ProcessWarming.h" >+ >+#include "CSSDefaultStyleSheets.h" >+#include "CommonVM.h" >+#include "Font.h" >+#include "FontCache.h" >+#include "HTMLNames.h" >+#include "MathMLNames.h" >+#include "MediaFeatureNames.h" >+#include "QualifiedName.h" >+#include "SVGNames.h" >+#include "Settings.h" >+#include "TelephoneNumberDetector.h" >+#include "WebKitFontFamilyNames.h" >+#include "XLinkNames.h" >+#include "XMLNSNames.h" >+#include "XMLNames.h" >+ >+namespace WebCore { >+ >+void ProcessWarming::initializeNames() >+{ >+ AtomicString::init(); >+ HTMLNames::init(); >+ QualifiedName::init(); >+ MediaFeatureNames::init(); >+ SVGNames::init(); >+ XLinkNames::init(); >+ MathMLNames::init(); >+ XMLNSNames::init(); >+ XMLNames::init(); >+ WebKitFontFamilyNames::init(); >+} >+ >+void ProcessWarming::prewarm() >+{ >+ initializeNames(); >+ >+ // Initializes default font families. >+ Settings::create(nullptr); >+ >+ // Prewarms user agent stylesheet. >+ CSSDefaultStyleSheets::loadFullDefaultStyle(); >+ >+ // Prewarms JS VM. >+ commonVM(); >+ >+#if ENABLE(TELEPHONE_NUMBER_DETECTION) >+ TelephoneNumberDetector::isSupported(); >+#endif >+} >+ >+} >Index: Source/WebCore/page/ProcessWarming.h >=================================================================== >--- Source/WebCore/page/ProcessWarming.h (nonexistent) >+++ Source/WebCore/page/ProcessWarming.h (working copy) >@@ -0,0 +1,36 @@ >+/* >+ * Copyright (C) 2018 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+namespace WebCore { >+ >+class WEBCORE_EXPORT ProcessWarming { >+public: >+ static void initializeNames(); >+ static void prewarm(); >+}; >+ >+} >Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 235749) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,17 @@ >+2018-09-06 Antti Koivisto <antti@apple.com> >+ >+ Actively prewarm processes created for prewarm pool >+ https://bugs.webkit.org/show_bug.cgi?id=189364 >+ >+ Reviewed by Chris Dumez. >+ >+ * UIProcess/WebProcessPool.cpp: >+ (WebKit::WebProcessPool::createNewWebProcess): >+ * WebProcess/WebProcess.cpp: >+ (WebKit::WebProcess::prewarm): >+ * WebProcess/WebProcess.h: >+ * WebProcess/WebProcess.messages.in: >+ > 2018-09-06 Wenson Hsieh <wenson_hsieh@apple.com> > > [macOS] Cannot change font size at selection until font panel is shown >Index: Source/WebKit/UIProcess/WebProcessPool.cpp >=================================================================== >--- Source/WebKit/UIProcess/WebProcessPool.cpp (revision 235669) >+++ Source/WebKit/UIProcess/WebProcessPool.cpp (working copy) >@@ -777,6 +777,8 @@ WebProcessProxy& WebProcessPool::createN > if (isPrewarmed == WebProcessProxy::IsPrewarmed::Yes) { > ASSERT(!m_prewarmedProcess); > m_prewarmedProcess = &process; >+ >+ m_prewarmedProcess->send(Messages::WebProcess::Prewarm(), 0); > } > > if (m_serviceWorkerProcessesTerminationTimer.isActive()) >Index: Source/WebKit/WebProcess/WebProcess.cpp >=================================================================== >--- Source/WebKit/WebProcess/WebProcess.cpp (revision 235669) >+++ Source/WebKit/WebProcess/WebProcess.cpp (working copy) >@@ -107,6 +107,7 @@ > #include <WebCore/PageCache.h> > #include <WebCore/PageGroup.h> > #include <WebCore/PlatformMediaSessionManager.h> >+#include <WebCore/ProcessWarming.h> > #include <WebCore/ResourceLoadObserver.h> > #include <WebCore/ResourceLoadStatistics.h> > #include <WebCore/RuntimeApplicationChecks.h> >@@ -601,6 +602,11 @@ void WebProcess::removeWebPage(uint64_t > enableTermination(); > updateCPULimit(); > } >+ >+void WebProcess::prewarm() >+{ >+ WebCore::ProcessWarming::prewarm(); >+} > > bool WebProcess::shouldTerminate() > { >Index: Source/WebKit/WebProcess/WebProcess.h >=================================================================== >--- Source/WebKit/WebProcess/WebProcess.h (revision 235669) >+++ Source/WebKit/WebProcess/WebProcess.h (working copy) >@@ -129,6 +129,8 @@ public: > void createWebPage(uint64_t pageID, WebPageCreationParameters&&); > void removeWebPage(uint64_t pageID); > WebPage* focusedWebPage() const; >+ >+ void prewarm(); > > InjectedBundle* injectedBundle() const { return m_injectedBundle.get(); } > >Index: Source/WebKit/WebProcess/WebProcess.messages.in >=================================================================== >--- Source/WebKit/WebProcess/WebProcess.messages.in (revision 235669) >+++ Source/WebKit/WebProcess/WebProcess.messages.in (working copy) >@@ -26,6 +26,8 @@ messages -> WebProcess LegacyReceiver { > # Create a new page. > CreateWebPage(uint64_t newPageID, struct WebKit::WebPageCreationParameters pageCreationParameters) > >+ Prewarm(); >+ > # Global preferences. > SetCacheModel(uint32_t cacheModel) >
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 189364
:
349055
|
349058
|
349059
|
349066
|
349069