WebKit Bugzilla
Attachment 359917 Details for
Bug 193725
: Deprecate API to limit the maximum number of WebProcesses
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193725-20190123115014.patch (text/plain), 31.10 KB, created by
Chris Dumez
on 2019-01-23 11:50:14 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2019-01-23 11:50:14 PST
Size:
31.10 KB
patch
obsolete
>Subversion Revision: 240343 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 1a3609b95c462a1fe2179065cd13a68971d2f10e..93eae65e01afaa36481eee1036dd3e6f5e682b44 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,35 @@ >+2019-01-23 Chris Dumez <cdumez@apple.com> >+ >+ Deprecate API to limit the maximum number of WebProcesses >+ https://bugs.webkit.org/show_bug.cgi?id=193725 >+ <rdar://problem/47464879> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Deprecate API to limit the maximum number of WebProcesses. This limit is no longer enforced with >+ PSON enabled and is unsafe. >+ >+ * UIProcess/API/APIProcessPoolConfiguration.cpp: >+ (API::ProcessPoolConfiguration::createWithLegacyOptions): >+ (API::ProcessPoolConfiguration::copy): >+ * UIProcess/API/APIProcessPoolConfiguration.h: >+ * UIProcess/API/C/WKContext.cpp: >+ (WKContextSetMaximumNumberOfProcesses): >+ (WKContextGetMaximumNumberOfProcesses): >+ * UIProcess/API/C/WKContext.h: >+ * UIProcess/API/Cocoa/WKProcessPool.mm: >+ * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: >+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: >+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: >+ (-[_WKProcessPoolConfiguration maximumProcessCount]): >+ (-[_WKProcessPoolConfiguration setMaximumProcessCount:]): >+ (-[_WKProcessPoolConfiguration description]): >+ * UIProcess/WebPageProxy.cpp: >+ (WebKit::WebPageProxy::reattachToWebProcess): >+ * UIProcess/WebProcessPool.cpp: >+ (WebKit::WebProcessPool::createWebPage): >+ * UIProcess/WebProcessPool.h: >+ > 2019-01-23 Antti Koivisto <antti@apple.com> > > [PSON] Flash on back navigation on Mac >diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >index 8e13c1d970535f2cc795f87568a4861410443587..9ce20fc692fe072ddf43f6a0be50e47c6fef9050 100644 >--- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >+++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >@@ -41,7 +41,6 @@ Ref<ProcessPoolConfiguration> ProcessPoolConfiguration::createWithLegacyOptions( > auto configuration = ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration(WebsiteDataStore::legacyDefaultDataStoreConfiguration()); > > configuration->m_shouldHaveLegacyDataStore = true; >- configuration->m_maximumProcessCount = 1; > configuration->m_cacheModel = WebKit::CacheModel::DocumentViewer; > > return configuration; >@@ -90,7 +89,6 @@ Ref<ProcessPoolConfiguration> ProcessPoolConfiguration::copy() > auto copy = this->create(); > > copy->m_shouldHaveLegacyDataStore = this->m_shouldHaveLegacyDataStore; >- copy->m_maximumProcessCount = this->m_maximumProcessCount; > copy->m_cacheModel = this->m_cacheModel; > copy->m_diskCacheDirectory = this->m_diskCacheDirectory; > copy->m_diskCacheSpeculativeValidationEnabled = this->m_diskCacheSpeculativeValidationEnabled; >diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h >index 65021b6b3c840c96ca3d31f89e84f2b413a96dc5..b7b559e3d371bd066ae31f70dc08932e113de22b 100644 >--- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h >+++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h >@@ -56,9 +56,6 @@ public: > bool shouldHaveLegacyDataStore() const { return m_shouldHaveLegacyDataStore; } > void setShouldHaveLegacyDataStore(bool shouldHaveLegacyDataStore) { m_shouldHaveLegacyDataStore = shouldHaveLegacyDataStore; } > >- unsigned maximumProcessCount() const { return m_maximumProcessCount; } >- void setMaximumProcessCount(unsigned maximumProcessCount) { m_maximumProcessCount = maximumProcessCount; } >- > bool isAutomaticProcessWarmingEnabled() const > { > return m_isAutomaticProcessWarmingEnabledByClient.valueOr(m_clientWouldBenefitFromAutomaticProcessPrewarming); >@@ -187,7 +184,6 @@ public: > private: > bool m_shouldHaveLegacyDataStore { false }; > >- unsigned m_maximumProcessCount { 0 }; > bool m_diskCacheSpeculativeValidationEnabled { false }; > WebKit::CacheModel m_cacheModel { WebKit::CacheModel::PrimaryWebBrowser }; > >diff --git a/Source/WebKit/UIProcess/API/C/WKContext.cpp b/Source/WebKit/UIProcess/API/C/WKContext.cpp >index 9fb695a03d55adb9cf4ff44fc770aa9136c34711..218ad6bae52b36010d25bc1f5ebe7ccf05cb6c47 100644 >--- a/Source/WebKit/UIProcess/API/C/WKContext.cpp >+++ b/Source/WebKit/UIProcess/API/C/WKContext.cpp >@@ -326,14 +326,15 @@ WKCacheModel WKContextGetCacheModel(WKContextRef contextRef) > return WebKit::toAPI(WebKit::toImpl(contextRef)->cacheModel()); > } > >-void WKContextSetMaximumNumberOfProcesses(WKContextRef contextRef, unsigned numberOfProcesses) >+void WKContextSetMaximumNumberOfProcesses(WKContextRef, unsigned) > { >- WebKit::toImpl(contextRef)->setMaximumNumberOfProcesses(numberOfProcesses); >+ // Deprecated. > } > >-unsigned WKContextGetMaximumNumberOfProcesses(WKContextRef contextRef) >+unsigned WKContextGetMaximumNumberOfProcesses(WKContextRef) > { >- return WebKit::toImpl(contextRef)->maximumNumberOfProcesses(); >+ // Deprecated. >+ return std::numeric_limits<unsigned>::max(); > } > > void WKContextSetAlwaysUsesComplexTextCodePath(WKContextRef contextRef, bool alwaysUseComplexTextCodePath) >diff --git a/Source/WebKit/UIProcess/API/C/WKContext.h b/Source/WebKit/UIProcess/API/C/WKContext.h >index a840a32967d2cfa1cfe3817a8d6277cf0e1d7245..1f4c940910bfb68f194568b2ff41635acf44fa65 100644 >--- a/Source/WebKit/UIProcess/API/C/WKContext.h >+++ b/Source/WebKit/UIProcess/API/C/WKContext.h >@@ -131,8 +131,8 @@ WK_EXPORT WKCacheModel WKContextGetCacheModel(WKContextRef context); > // FIXME: Move these to WKDeprecatedFunctions.cpp once support for Mavericks has been dropped. > WK_EXPORT void WKContextSetProcessModel(WKContextRef, WKProcessModel); > >-WK_EXPORT void WKContextSetMaximumNumberOfProcesses(WKContextRef context, unsigned numberOfProcesses); >-WK_EXPORT unsigned WKContextGetMaximumNumberOfProcesses(WKContextRef context); >+WK_EXPORT void WKContextSetMaximumNumberOfProcesses(WKContextRef context, unsigned numberOfProcesses) WK_C_API_DEPRECATED; >+WK_EXPORT unsigned WKContextGetMaximumNumberOfProcesses(WKContextRef context) WK_C_API_DEPRECATED; > > WK_EXPORT void WKContextStartMemorySampler(WKContextRef context, WKDoubleRef interval); > WK_EXPORT void WKContextStopMemorySampler(WKContextRef context); >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm b/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm >index a18381ab35a97dba2fc3fab67320b4322764d785..298b44e2f18f868d7941894d2da793abddd16261 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm >@@ -199,11 +199,6 @@ - (void)_registerURLSchemeAsCanDisplayOnlyIfCanRequest:(NSString *)scheme > _processPool->registerURLSchemeAsCanDisplayOnlyIfCanRequest(scheme); > } > >-- (void)_setMaximumNumberOfProcesses:(NSUInteger)value >-{ >- _processPool->setMaximumNumberOfProcesses(value); >-} >- > - (void)_setCanHandleHTTPSServerTrustEvaluation:(BOOL)value > { > _processPool->setCanHandleHTTPSServerTrustEvaluation(value); >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h b/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h >index 3de2c0362bf35e67b0434c1ef8bc83d606a14c36..470dd5394a21407046ae2bae5387b6658eb2cb6e 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h >@@ -114,7 +114,6 @@ > // Test only. > - (void)_setAllowsAnySSLCertificateForServiceWorker:(BOOL)allows WK_API_AVAILABLE(macosx(10.13.4), ios(11.3)); > - (void)_registerURLSchemeServiceWorkersCanHandle:(NSString *)scheme WK_API_AVAILABLE(macosx(10.13.4), ios(11.3)); >-- (void)_setMaximumNumberOfProcesses:(NSUInteger)value WK_API_AVAILABLE(macosx(10.13.4), ios(11.3)); > - (void)_getActivePagesOriginsInWebProcessForTesting:(pid_t)pid completionHandler:(void(^)(NSArray<NSString *> *))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); > - (BOOL)_networkProcessHasEntitlementForTesting:(NSString *)entitlement WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); > >diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h >index 71021fe3188588fe3d844a748ed8e838634ff6f3..5d604b57361e8ebaca35f5c30a2fc8888d2ae41c 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h >+++ b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h >@@ -34,7 +34,7 @@ WK_CLASS_AVAILABLE(macosx(10.10), ios(8.0)) > @interface _WKProcessPoolConfiguration : NSObject <NSCopying> > > @property (nonatomic, copy) NSURL *injectedBundleURL; >-@property (nonatomic) NSUInteger maximumProcessCount; >+@property (nonatomic) NSUInteger maximumProcessCount WK_API_DEPRECATED("It is no longer possible to limit the number of processes", macosx(WK_MAC_TBA, WK_MAC_TBA), ios(WK_IOS_TBA, WK_IOS_TBA)); > @property (nonatomic, nullable, copy) NSString *customWebContentServiceBundleIdentifier WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); > > @property (nonatomic) BOOL ignoreSynchronousMessagingTimeoutsForTesting WK_API_AVAILABLE(macosx(10.12), ios(10.0)); >diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm >index 68737d0c6dd7c6789f16cc05beda1ca0146ccc3e..497bb2e8929a154ac2572ab0123562fe9b3aad11 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm >@@ -64,12 +64,13 @@ - (void)setInjectedBundleURL:(NSURL *)injectedBundleURL > > - (NSUInteger)maximumProcessCount > { >- return _processPoolConfiguration->maximumProcessCount(); >+ // Deprecated. >+ return NSUIntegerMax; > } > > - (void)setMaximumProcessCount:(NSUInteger)maximumProcessCount > { >- _processPoolConfiguration->setMaximumProcessCount(maximumProcessCount); >+ // Deprecated. > } > > - (NSInteger)diskCacheSizeOverride >@@ -344,7 +345,7 @@ - (void)setShouldTakeUIBackgroundAssertion:(BOOL)shouldTakeUIBackgroundAssertion > > - (NSString *)description > { >- NSString *description = [NSString stringWithFormat:@"<%@: %p; maximumProcessCount = %lu", NSStringFromClass(self.class), self, static_cast<unsigned long>([self maximumProcessCount])]; >+ NSString *description = [NSString stringWithFormat:@"<%@: %p", NSStringFromClass(self.class), self]; > > if (!_processPoolConfiguration->injectedBundlePath().isEmpty()) > return [description stringByAppendingFormat:@"; injectedBundleURL: \"%@\">", [self injectedBundleURL]]; >diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp >index 0f39e125f3da6c48396a40c9cdfe8f4c41d969ae..9bc7f673eb55d8deb11ffe56987bd51360980a6f 100644 >--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp >+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp >@@ -334,7 +334,6 @@ static void webkitWebContextConstructed(GObject* object) > > API::ProcessPoolConfiguration configuration; > configuration.setInjectedBundlePath(WebCore::FileSystem::stringFromFileSystemRepresentation(bundleFilename.get())); >- configuration.setMaximumProcessCount(1); > configuration.setDiskCacheSpeculativeValidationEnabled(true); > > WebKitWebContext* webContext = WEBKIT_WEB_CONTEXT(object); >@@ -1495,14 +1494,6 @@ void webkit_web_context_set_process_model(WebKitWebContext* context, WebKitProce > return; > > context->priv->processModel = processModel; >- switch (context->priv->processModel) { >- case WEBKIT_PROCESS_MODEL_SHARED_SECONDARY_PROCESS: >- context->priv->processPool->setMaximumNumberOfProcesses(1); >- break; >- case WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES: >- context->priv->processPool->setMaximumNumberOfProcesses(context->priv->processCountLimit); >- break; >- } > } > > /** >@@ -1545,8 +1536,6 @@ void webkit_web_context_set_web_process_count_limit(WebKitWebContext* context, g > return; > > context->priv->processCountLimit = limit; >- if (context->priv->processModel != WEBKIT_PROCESS_MODEL_SHARED_SECONDARY_PROCESS) >- context->priv->processPool->setMaximumNumberOfProcesses(limit); > } > > /** >diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp >index cd15f886cf07d0b2f08c1e7517dba0880346371b..d4e08ec334797eee7495291bd29a05f58bc9f882 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.cpp >+++ b/Source/WebKit/UIProcess/WebPageProxy.cpp >@@ -741,7 +741,7 @@ void WebPageProxy::reattachToWebProcess() > m_process->removeMessageReceiver(Messages::WebPageProxy::messageReceiverName(), m_pageID); > > auto& processPool = m_process->processPool(); >- m_process = processPool.createNewWebProcessRespectingProcessCountLimit(m_websiteDataStore.get()); >+ m_process = processPool.createNewWebProcess(m_websiteDataStore.get()); > m_isValid = true; > > m_process->addExistingWebPage(*this, m_pageID, WebProcessProxy::BeginsUsingDataStore::Yes); >diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp >index e0d5bb14f2c84ca592c51e3eb5f0af998385f92f..b695f2e130b9e329b25e666145f5201767a2d0af 100644 >--- a/Source/WebKit/UIProcess/WebProcessPool.cpp >+++ b/Source/WebKit/UIProcess/WebProcessPool.cpp >@@ -404,11 +404,6 @@ void WebProcessPool::setLegacyCustomProtocolManagerClient(std::unique_ptr<API::C > #endif > } > >-void WebProcessPool::setMaximumNumberOfProcesses(unsigned maximumNumberOfProcesses) >-{ >- m_configuration->setMaximumProcessCount(maximumNumberOfProcesses); >-} >- > void WebProcessPool::setCustomWebContentServiceBundleIdentifier(const String& customWebContentServiceBundleIdentifier) > { > // Guard against API misuse. >@@ -1084,35 +1079,6 @@ void WebProcessPool::disconnectProcess(WebProcessProxy* process) > #endif > } > >-WebProcessProxy& WebProcessPool::createNewWebProcessRespectingProcessCountLimit(WebsiteDataStore& websiteDataStore) >-{ >- // FIXME: https://bugs.webkit.org/show_bug.cgi?id=168676 >- // Once WebsiteDataStores are truly per-view instead of per-process, remove this nonsense. >- >-#if PLATFORM(COCOA) >- bool mustMatchDataStore = API::WebsiteDataStore::defaultDataStoreExists() && &websiteDataStore != &API::WebsiteDataStore::defaultDataStore()->websiteDataStore(); >-#else >- bool mustMatchDataStore = false; >-#endif >- >- if (m_processes.size() < maximumNumberOfProcesses()) >- return createNewWebProcess(websiteDataStore); >- >- WebProcessProxy* processToReuse = nullptr; >- for (auto& process : m_processes) { >- if (mustMatchDataStore && &process->websiteDataStore() != &websiteDataStore) >- continue; >-#if ENABLE(SERVICE_WORKER) >- if (is<ServiceWorkerProcessProxy>(*process)) >- continue; >-#endif >- // Choose the process with fewest pages. >- if (!processToReuse || processToReuse->pageCount() > process->pageCount()) >- processToReuse = process.get(); >- } >- return processToReuse ? *processToReuse : createNewWebProcess(websiteDataStore); >-} >- > Ref<WebPageProxy> WebProcessPool::createWebPage(PageClient& pageClient, Ref<API::PageConfiguration>&& pageConfiguration) > { > if (!pageConfiguration->pageGroup()) >@@ -1142,7 +1108,7 @@ Ref<WebPageProxy> WebProcessPool::createWebPage(PageClient& pageClient, Ref<API: > } else { > process = tryTakePrewarmedProcess(pageConfiguration->websiteDataStore()->websiteDataStore()); > if (!process) >- process = &createNewWebProcessRespectingProcessCountLimit(pageConfiguration->websiteDataStore()->websiteDataStore()); >+ process = &createNewWebProcess(pageConfiguration->websiteDataStore()->websiteDataStore()); > } > > #if ENABLE(SERVICE_WORKER) >diff --git a/Source/WebKit/UIProcess/WebProcessPool.h b/Source/WebKit/UIProcess/WebProcessPool.h >index dfc0c04f500b0f39da5806fe914b07c5c5202747..8612a98e2040bce8313985e5126ee6e924e92974 100644 >--- a/Source/WebKit/UIProcess/WebProcessPool.h >+++ b/Source/WebKit/UIProcess/WebProcessPool.h >@@ -153,9 +153,6 @@ public: > void setAutomationClient(std::unique_ptr<API::AutomationClient>&&); > void setLegacyCustomProtocolManagerClient(std::unique_ptr<API::CustomProtocolManagerClient>&&); > >- void setMaximumNumberOfProcesses(unsigned); // Can only be called when there are no processes running. >- unsigned maximumNumberOfProcesses() const { return !m_configuration->maximumProcessCount() ? UINT_MAX : m_configuration->maximumProcessCount(); } >- > void setCustomWebContentServiceBundleIdentifier(const String&); > const String& customWebContentServiceBundleIdentifier() { return m_configuration->customWebContentServiceBundleIdentifier(); } > >@@ -293,7 +290,7 @@ public: > > void allowSpecificHTTPSCertificateForHost(const WebCertificateInfo*, const String& host); > >- WebProcessProxy& createNewWebProcessRespectingProcessCountLimit(WebsiteDataStore&); // Will return an existing one if limit is met. >+ WebProcessProxy& createNewWebProcess(WebsiteDataStore&, WebProcessProxy::IsPrewarmed = WebProcessProxy::IsPrewarmed::No); > > enum class MayCreateDefaultDataStore { No, Yes }; > void prewarmProcess(MayCreateDefaultDataStore); >@@ -485,7 +482,6 @@ private: > > RefPtr<WebProcessProxy> tryTakePrewarmedProcess(WebsiteDataStore&); > >- WebProcessProxy& createNewWebProcess(WebsiteDataStore&, WebProcessProxy::IsPrewarmed = WebProcessProxy::IsPrewarmed::No); > void initializeNewWebProcess(WebProcessProxy&, WebsiteDataStore&); > > void requestWebContentStatistics(StatisticsRequest&); >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index a0c6b0d0ed5e1ef6b9060c7b98fda543985bdd6f..a095117ff8bc5f24d4dc5e8839bfb3d4f2d8052f 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,29 @@ >+2019-01-23 Chris Dumez <cdumez@apple.com> >+ >+ Deprecate API to limit the maximum number of WebProcesses >+ https://bugs.webkit.org/show_bug.cgi?id=193725 >+ <rdar://problem/47464879> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Update existing API tests to stop using deprecated API. >+ >+ * MiniBrowser/mac/AppDelegate.m: >+ (defaultConfiguration): >+ * MiniBrowser/mac/SettingsController.h: >+ * MiniBrowser/mac/SettingsController.m: >+ (-[SettingsController _populateMenu]): >+ (-[SettingsController validateMenuItem:]): >+ * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: >+ (TestWebKitAPI::TEST): >+ * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: >+ (TestWebKitAPI::TEST): >+ * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: >+ * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: >+ (TEST): >+ * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm: >+ (TEST): >+ > 2019-01-23 Jonathan Bedard <jbedard@apple.com> > > webkitpy: Use correct config for --iphone-simulator and --ipad-simulator >diff --git a/Tools/MiniBrowser/mac/AppDelegate.m b/Tools/MiniBrowser/mac/AppDelegate.m >index 618d248d2ae637e23d2b54615b8a22025cae5309..7ac0e5a94762a7144081bd45f54f3cd9be37c891 100644 >--- a/Tools/MiniBrowser/mac/AppDelegate.m >+++ b/Tools/MiniBrowser/mac/AppDelegate.m >@@ -99,8 +99,6 @@ - (void)awakeFromNib > > _WKProcessPoolConfiguration *processConfiguration = [[[_WKProcessPoolConfiguration alloc] init] autorelease]; > processConfiguration.diskCacheSpeculativeValidationEnabled = ![SettingsController shared].networkCacheSpeculativeRevalidationDisabled; >- if ([SettingsController shared].perWindowWebProcessesDisabled) >- processConfiguration.maximumProcessCount = 1; > if ([SettingsController shared].processSwapOnWindowOpenWithOpenerEnabled) > processConfiguration.processSwapsOnWindowOpenWithOpener = true; > >diff --git a/Tools/MiniBrowser/mac/SettingsController.h b/Tools/MiniBrowser/mac/SettingsController.h >index 1827f61cf6e83fff7399d0f2e48b0775c49982f3..aa71526b50b06c977bd70f5e4291e45dcad18d18 100644 >--- a/Tools/MiniBrowser/mac/SettingsController.h >+++ b/Tools/MiniBrowser/mac/SettingsController.h >@@ -47,7 +47,6 @@ @property (nonatomic, readonly) BOOL resourceUsageOverlayVisible; > @property (nonatomic, readonly) BOOL nonFastScrollableRegionOverlayVisible; > @property (nonatomic, readonly) BOOL wheelEventHandlerRegionOverlayVisible; > @property (nonatomic, readonly) BOOL useUISideCompositing; >-@property (nonatomic, readonly) BOOL perWindowWebProcessesDisabled; > @property (nonatomic, readonly) BOOL subPixelCSSOMMetricsEnabled; > @property (nonatomic, readonly) BOOL acceleratedDrawingEnabled; > @property (nonatomic, readonly) BOOL displayListDrawingEnabled; >diff --git a/Tools/MiniBrowser/mac/SettingsController.m b/Tools/MiniBrowser/mac/SettingsController.m >index 85836daf89f657fee29f67bde0935dcb71f1bc63..ba712dbb818c009a14366f026f062221cc88fcee 100644 >--- a/Tools/MiniBrowser/mac/SettingsController.m >+++ b/Tools/MiniBrowser/mac/SettingsController.m >@@ -72,7 +72,6 @@ > // This default name intentionally overlaps with the key that WebKit2 checks when creating a view. > static NSString * const UseRemoteLayerTreeDrawingAreaPreferenceKey = @"WebKit2UseRemoteLayerTreeDrawingArea"; > >-static NSString * const PerWindowWebProcessesDisabledKey = @"PerWindowWebProcessesDisabled"; > static NSString * const NetworkCacheSpeculativeRevalidationDisabledKey = @"NetworkCacheSpeculativeRevalidationDisabled"; > static NSString * const ProcessSwapOnWindowOpenWithOpenerKey = @"ProcessSwapOnWindowOpenWithOpener"; > >@@ -182,7 +181,6 @@ - (void)_populateMenu > [self _addItemWithTitle:@"Reserve Space For Banners" action:@selector(toggleReserveSpaceForBanners:) indented:YES]; > [self _addItemWithTitle:@"Show Tiled Scrolling Indicator" action:@selector(toggleShowTiledScrollingIndicator:) indented:YES]; > [self _addItemWithTitle:@"Use UI-Side Compositing" action:@selector(toggleUseUISideCompositing:) indented:YES]; >- [self _addItemWithTitle:@"Disable Per-Window Web Processes" action:@selector(togglePerWindowWebProcessesDisabled:) indented:YES]; > [self _addItemWithTitle:@"Show Resource Usage Overlay" action:@selector(toggleShowResourceUsageOverlay:) indented:YES]; > [self _addItemWithTitle:@"Load All Site Icons Per-Page" action:@selector(toggleLoadsAllSiteIcons:) indented:YES]; > [self _addItemWithTitle:@"Use GameController.framework on macOS (Restart required)" action:@selector(toggleUsesGameControllerFramework:) indented:YES]; >@@ -309,8 +307,6 @@ - (BOOL)validateMenuItem:(NSMenuItem *)menuItem > [menuItem setState:[self processSwapOnWindowOpenWithOpenerEnabled] ? NSControlStateValueOn : NSControlStateValueOff]; > else if (action == @selector(toggleUseUISideCompositing:)) > [menuItem setState:[self useUISideCompositing] ? NSControlStateValueOn : NSControlStateValueOff]; >- else if (action == @selector(togglePerWindowWebProcessesDisabled:)) >- [menuItem setState:[self perWindowWebProcessesDisabled] ? NSControlStateValueOn : NSControlStateValueOff]; > else if (action == @selector(toggleEnableSubPixelCSSOMMetrics:)) > [menuItem setState:[self subPixelCSSOMMetricsEnabled] ? NSControlStateValueOn : NSControlStateValueOff]; > else if (action == @selector(toggleDebugOverlay:)) >@@ -388,29 +384,6 @@ - (BOOL)useUISideCompositing > return [[NSUserDefaults standardUserDefaults] boolForKey:UseRemoteLayerTreeDrawingAreaPreferenceKey]; > } > >-- (void)togglePerWindowWebProcessesDisabled:(id)sender >-{ >- NSAlert *alert = [[NSAlert alloc] init]; >- [alert setMessageText:self.perWindowWebProcessesDisabled ? @"Are you sure you want to switch to per-window web processes?" : @"Are you sure you want to switch to a single web process?"]; >- [alert setInformativeText:@"This requires quitting and relaunching MiniBrowser. I'll do the quitting. You will have to do the relaunching."]; >- [alert addButtonWithTitle:@"Switch and Quit"]; >- [alert addButtonWithTitle:@"Cancel"]; >- >- NSModalResponse response = [alert runModal]; >- [alert release]; >- >- if (response != NSAlertFirstButtonReturn) >- return; >- >- [self _toggleBooleanDefault:PerWindowWebProcessesDisabledKey]; >- [NSApp terminate:self]; >-} >- >-- (BOOL)perWindowWebProcessesDisabled >-{ >- return [[NSUserDefaults standardUserDefaults] boolForKey:PerWindowWebProcessesDisabledKey]; >-} >- > - (void)toggleIncrementalRenderingSuppressed:(id)sender > { > [self _toggleBooleanDefault:IncrementalRenderingSuppressedPreferenceKey]; >diff --git a/Tools/TestWebKitAPI/Tests/WebKit/UserMedia.cpp b/Tools/TestWebKitAPI/Tests/WebKit/UserMedia.cpp >index fdecb59c8867f1f809ff806aa885aa2bc914018f..2b06b0b8ad613ac4989b747a9a5fa4586e899001 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKit/UserMedia.cpp >+++ b/Tools/TestWebKitAPI/Tests/WebKit/UserMedia.cpp >@@ -106,7 +106,6 @@ static void didCrashCallback(WKPageRef, const void*) > TEST(WebKit, OnDeviceChangeCrash) > { > auto context = adoptWK(WKContextCreateWithConfiguration(nullptr)); >- WKContextSetMaximumNumberOfProcesses(context.get(), 1); > > WKRetainPtr<WKPageGroupRef> pageGroup(AdoptWK, WKPageGroupCreateWithIdentifier(Util::toWK("GetUserMedia").get())); > WKPreferencesRef preferences = WKPageGroupGetPreferences(pageGroup.get()); >@@ -131,7 +130,7 @@ TEST(WebKit, OnDeviceChangeCrash) > WKPageLoadURL(webView.page(), url.get()); > > // Load a second page in same process. >- PlatformWebView webView2(context.get(), pageGroup.get()); >+ PlatformWebView webView2(webView.page()); > WKPageSetPageUIClient(webView2.page(), &uiClient.base); > WKPageNavigationClientV0 navigationClient; > memset(&navigationClient, 0, sizeof(navigationClient)); >diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm >index 15759b98c029763dfad5a01ce0ed458966b1355a..7e3dc3880e3834609ee38a5d96f48600ffef4693 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm >+++ b/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm >@@ -60,7 +60,6 @@ TEST(WebKit, ResponsivenessTimerShouldNotFireAfterTearDown) > { > auto processPoolConfiguration = adoptNS([_WKProcessPoolConfiguration new]); > auto processPool = adoptNS([[WKProcessPool alloc] _initWithConfiguration:processPoolConfiguration.get()]); >- [processPool _setMaximumNumberOfProcesses:1]; > auto delegate = adoptNS([ResponsivenessTimerDelegate new]); > > auto configuration = adoptNS([WKWebViewConfiguration new]); >diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm >index e324c29f4aca097e5659761940fe947469e7b30d..3d715b9fe392e06ba084a9cac1d0c956f8fc0fb8 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm >+++ b/Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm >@@ -970,7 +970,6 @@ void setConfigurationInjectedBundlePath(WKWebViewConfiguration* configuration) > configuration.processPool = (WKProcessPool *)context.get(); > auto pool = configuration.processPool; > [pool _registerURLSchemeServiceWorkersCanHandle:@"sw"]; >- [pool _setMaximumNumberOfProcesses:5]; > > configuration.websiteDataStore = (WKWebsiteDataStore *)WKContextGetWebsiteDataStore(context.get()); > } >@@ -1249,8 +1248,6 @@ TEST(ServiceWorkers, HasServiceWorkerRegistrationBit) > newConfiguration.get().websiteDataStore = [WKWebsiteDataStore nonPersistentDataStore]; > [newConfiguration.get().websiteDataStore _setServiceWorkerRegistrationDirectory: @"~/nonexistingfolder"]; > >- [newConfiguration.get().processPool _setMaximumNumberOfProcesses:1]; >- > webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:newConfiguration.get()]); > request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"sw://host/regularPageWithoutConnection.html"]]; > [webView loadRequest:request]; >@@ -1261,14 +1258,14 @@ TEST(ServiceWorkers, HasServiceWorkerRegistrationBit) > newConfiguration.get().websiteDataStore = [configuration websiteDataStore]; > > webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:newConfiguration.get()]); >- EXPECT_EQ(1u, webView.get().configuration.processPool._webProcessCountIgnoringPrewarmed); >+ EXPECT_EQ(2u, webView.get().configuration.processPool._webProcessCountIgnoringPrewarmed); > request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"sw://host/regularPageWithConnection.html"]]; > [webView loadRequest:request]; > TestWebKitAPI::Util::run(&done); > done = false; > > // Make sure that loading the simple page did not start the service worker process. >- EXPECT_EQ(1u, webView.get().configuration.processPool._webProcessCountIgnoringPrewarmed); >+ EXPECT_EQ(2u, webView.get().configuration.processPool._webProcessCountIgnoringPrewarmed); > > [[configuration websiteDataStore] removeDataOfTypes:[WKWebsiteDataStore allWebsiteDataTypes] modifiedSince:[NSDate distantPast] completionHandler:^() { > done = true; >diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm >index 617164589ebdd65873bfcf6bd27c440376d54f70..8061ead535da788568a3134127f2e00347b84777 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm >+++ b/Tools/TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm >@@ -237,7 +237,6 @@ TEST(WKUserContentController, ScriptMessageHandlerMultipleHandlerRemoval) > { > RetainPtr<WKWebViewConfiguration> configuration = adoptNS([[WKWebViewConfiguration alloc] init]); > RetainPtr<_WKProcessPoolConfiguration> processPoolConfiguration = adoptNS([[_WKProcessPoolConfiguration alloc] init]); >- [processPoolConfiguration setMaximumProcessCount:1]; > [configuration setProcessPool:[[[WKProcessPool alloc] _initWithConfiguration:processPoolConfiguration.get()] autorelease]]; > > RetainPtr<WKWebView> webView = webViewForScriptMessageHandlerMultipleHandlerRemovalTest(configuration.get()); >diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm >index a84ef58ab81bd4d3614f9a0e40e3360da56055dd..5e12eaf1772e59bbf145780699b32aa59c1cf591 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm >+++ b/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm >@@ -36,7 +36,6 @@ TEST(WKProcessPoolConfiguration, Copy) > auto configuration = adoptNS([[_WKProcessPoolConfiguration alloc] init]); > > [configuration setInjectedBundleURL:[NSURL fileURLWithPath:@"/path/to/injected.wkbundle"]]; >- [configuration setMaximumProcessCount:42]; > [configuration setCustomWebContentServiceBundleIdentifier:@"org.webkit.WebContent.custom"]; > [configuration setIgnoreSynchronousMessagingTimeoutsForTesting:YES]; > [configuration setAttrStyleEnabled:YES]; >@@ -65,7 +64,6 @@ TEST(WKProcessPoolConfiguration, Copy) > auto copy = adoptNS([configuration copy]); > > EXPECT_TRUE([[configuration injectedBundleURL] isEqual:[copy injectedBundleURL]]); >- EXPECT_EQ([configuration maximumProcessCount], [copy maximumProcessCount]); > EXPECT_TRUE([[configuration customWebContentServiceBundleIdentifier] isEqual:[copy customWebContentServiceBundleIdentifier]]); > EXPECT_EQ([configuration ignoreSynchronousMessagingTimeoutsForTesting], [copy ignoreSynchronousMessagingTimeoutsForTesting]); > EXPECT_EQ([configuration attrStyleEnabled], [copy attrStyleEnabled]);
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 193725
:
359902
|
359917
|
359939
|
359946
|
359956