Title: [127337] trunk/Source/WebKit2
- Revision
- 127337
- Author
- [email protected]
- Date
- 2012-08-31 16:49:17 -0700 (Fri, 31 Aug 2012)
Log Message
[WK2] Use initial process in multi-process mode, too
https://bugs.webkit.org/show_bug.cgi?id=95612
Reviewed by Sam Weinig.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::warmInitialProcess):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::createWebPage):
* UIProcess/WebContext.h:
Added a boolean telling whether the last (normally, the only) process in m_processes
is available for use in a new page.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (127336 => 127337)
--- trunk/Source/WebKit2/ChangeLog 2012-08-31 23:46:52 UTC (rev 127336)
+++ trunk/Source/WebKit2/ChangeLog 2012-08-31 23:49:17 UTC (rev 127337)
@@ -1,5 +1,21 @@
2012-08-31 Alexey Proskuryakov <[email protected]>
+ [WK2] Use initial process in multi-process mode, too
+ https://bugs.webkit.org/show_bug.cgi?id=95612
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::warmInitialProcess):
+ (WebKit::WebContext::disconnectProcess):
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ Added a boolean telling whether the last (normally, the only) process in m_processes
+ is available for use in a new page.
+
+2012-08-31 Alexey Proskuryakov <[email protected]>
+
[WK2] WebProcesses should not wait 60 seconds to close in multi-process mode
https://bugs.webkit.org/show_bug.cgi?id=95616
Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (127336 => 127337)
--- trunk/Source/WebKit2/UIProcess/WebContext.cpp 2012-08-31 23:46:52 UTC (rev 127336)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp 2012-08-31 23:49:17 UTC (rev 127337)
@@ -112,6 +112,7 @@
WebContext::WebContext(ProcessModel processModel, const String& injectedBundlePath)
: m_processModel(processModel)
+ , m_haveInitialEmptyProcess(false)
, m_defaultPageGroup(WebPageGroup::create())
, m_injectedBundlePath(injectedBundlePath)
, m_visitedLinkProvider(this)
@@ -363,8 +364,13 @@
void WebContext::warmInitialProcess()
{
- ASSERT(m_processes.isEmpty());
+ if (m_haveInitialEmptyProcess) {
+ ASSERT(!m_processes.isEmpty());
+ return;
+ }
+
m_processes.append(createNewWebProcess());
+ m_haveInitialEmptyProcess = true;
}
void WebContext::enableProcessTermination()
@@ -493,8 +499,13 @@
process = m_processes[0];
} else {
// FIXME (Multi-WebProcess): Add logic for sharing a process.
- process = createNewWebProcess();
- m_processes.append(process);
+ if (m_haveInitialEmptyProcess) {
+ process = m_processes.last();
+ m_haveInitialEmptyProcess = false;
+ } else {
+ process = createNewWebProcess();
+ m_processes.append(process);
+ }
}
if (!pageGroup)
Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (127336 => 127337)
--- trunk/Source/WebKit2/UIProcess/WebContext.h 2012-08-31 23:46:52 UTC (rev 127336)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h 2012-08-31 23:49:17 UTC (rev 127337)
@@ -277,6 +277,7 @@
ProcessModel m_processModel;
Vector<RefPtr<WebProcessProxy> > m_processes;
+ bool m_haveInitialEmptyProcess;
RefPtr<WebPageGroup> m_defaultPageGroup;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes