Title: [222663] trunk/Source/WebKit
Revision
222663
Author
[email protected]
Date
2017-09-29 13:50:13 -0700 (Fri, 29 Sep 2017)

Log Message

Add WKWebViewConfiguration SPI equivalent to WKPageConfigurationSetBackgroundCPULimit
https://bugs.webkit.org/show_bug.cgi?id=177644
<rdar://problem/34338698>

Reviewed by Geoffrey Garen.

WKPageConfigurationSetBackgroundCPULimit is a setter of a std::optional<double> with no accessor.
It's never set to 0 in practice, so I guess the ObjC equivalent is a double that is zero or nonzero.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _setCPULimit:]):
(-[WKWebViewConfiguration _cpuLimit]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (222662 => 222663)


--- trunk/Source/WebKit/ChangeLog	2017-09-29 19:54:49 UTC (rev 222662)
+++ trunk/Source/WebKit/ChangeLog	2017-09-29 20:50:13 UTC (rev 222663)
@@ -1,3 +1,21 @@
+2017-09-28  Alex Christensen  <[email protected]>
+
+        Add WKWebViewConfiguration SPI equivalent to WKPageConfigurationSetBackgroundCPULimit
+        https://bugs.webkit.org/show_bug.cgi?id=177644
+        <rdar://problem/34338698>
+
+        Reviewed by Geoffrey Garen.
+
+        WKPageConfigurationSetBackgroundCPULimit is a setter of a std::optional<double> with no accessor.
+        It's never set to 0 in practice, so I guess the ObjC equivalent is a double that is zero or nonzero.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _initializeWithConfiguration:]):
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration _setCPULimit:]):
+        (-[WKWebViewConfiguration _cpuLimit]):
+        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
+
 2017-09-28  Ryosuke Niwa  <[email protected]>
 
         Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (222662 => 222663)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2017-09-29 19:54:49 UTC (rev 222662)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2017-09-29 20:50:13 UTC (rev 222663)
@@ -470,6 +470,8 @@
     pageConfiguration->setControlledByAutomation([_configuration _isControlledByAutomation]);
 
 #if PLATFORM(MAC)
+    if (auto cpuLimit = [_configuration _cpuLimit])
+        pageConfiguration->setCPULimit(cpuLimit);
     pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::showsURLsInToolTipsEnabledKey(), WebKit::WebPreferencesStore::Value(!![_configuration _showsURLsInToolTips]));
     pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::serviceControlsEnabledKey(), WebKit::WebPreferencesStore::Value(!![_configuration _serviceControlsEnabled]));
     pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::imageControlsEnabledKey(), WebKit::WebPreferencesStore::Value(!![_configuration _imageControlsEnabled]));

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm (222662 => 222663)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2017-09-29 19:54:49 UTC (rev 222662)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2017-09-29 20:50:13 UTC (rev 222663)
@@ -137,6 +137,7 @@
     BOOL _mainContentUserGestureOverrideEnabled;
 
 #if PLATFORM(MAC)
+    double _cpuLimit;
     BOOL _showsURLsInToolTips;
     BOOL _serviceControlsEnabled;
     BOOL _imageControlsEnabled;
@@ -818,6 +819,16 @@
     _requiresUserActionForEditingControlsManager = requiresUserAction;
 }
 
+- (void)_setCPULimit:(double)cpuLimit
+{
+    _cpuLimit = cpuLimit;
+}
+
+- (double)_cpuLimit
+{
+    return _cpuLimit;
+}
+
 #endif // PLATFORM(MAC)
 
 - (BOOL)_applePayEnabled

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h (222662 => 222663)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h	2017-09-29 19:54:49 UTC (rev 222662)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h	2017-09-29 20:50:13 UTC (rev 222663)
@@ -78,6 +78,7 @@
 @property (nonatomic, setter=_setServiceControlsEnabled:) BOOL _serviceControlsEnabled WK_API_AVAILABLE(macosx(10.12));
 @property (nonatomic, setter=_setImageControlsEnabled:) BOOL _imageControlsEnabled WK_API_AVAILABLE(macosx(10.12));
 @property (nonatomic, readwrite, setter=_setRequiresUserActionForEditingControlsManager:) BOOL _requiresUserActionForEditingControlsManager WK_API_AVAILABLE(macosx(10.12));
+@property (nonatomic, readwrite, setter=_setCPULimit:) double _cpuLimit WK_API_AVAILABLE(WK_MAC_TBA);
 #endif
 
 @property (nonatomic, strong, setter=_setWebsiteDataStore:) _WKWebsiteDataStore *_websiteDataStore WK_API_DEPRECATED_WITH_REPLACEMENT("websiteDataStore", macosx(10.10, 10.11), ios(8.0, 9.0));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to