Title: [204756] trunk/Tools
Revision
204756
Author
dewei_...@apple.com
Date
2016-08-22 22:12:51 -0700 (Mon, 22 Aug 2016)

Log Message

Stop python icon bouncing in the dock while running browser benchmarks.
https://bugs.webkit.org/show_bug.cgi?id=161066

Reviewed by Ryosuke Niwa.

Bouncing python icon may impact browser benchmark results.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver.prepare_env):
(OSXBrowserDriver.restore_env):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (204755 => 204756)


--- trunk/Tools/ChangeLog	2016-08-23 05:12:32 UTC (rev 204755)
+++ trunk/Tools/ChangeLog	2016-08-23 05:12:51 UTC (rev 204756)
@@ -1,3 +1,15 @@
+2016-08-22  Dewei Zhu  <dewei_...@apple.com>
+
+        Stop python icon bouncing in the dock while running browser benchmarks.
+        https://bugs.webkit.org/show_bug.cgi?id=161066
+
+        Reviewed by Ryosuke Niwa.
+
+        Bouncing python icon may impact browser benchmark results.
+        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
+        (OSXBrowserDriver.prepare_env):
+        (OSXBrowserDriver.restore_env):
+
 2016-08-22  Simon Fraser  <simon.fra...@apple.com>
 
         <select> menu on iPad causes shifting of hit-testing areas

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py (204755 => 204756)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py	2016-08-23 05:12:32 UTC (rev 204755)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py	2016-08-23 05:12:51 UTC (rev 204756)
@@ -4,6 +4,7 @@
 import subprocess
 
 from browser_driver import BrowserDriver
+from webkitpy.benchmark_runner.utils import write_defaults
 
 
 _log = logging.getLogger(__name__)
@@ -17,9 +18,14 @@
         self.close_browsers()
         from Quartz import CGWarpMouseCursorPosition
         CGWarpMouseCursorPosition((10, 0))
+        self.updated_dock_animation_defaults = write_defaults('com.apple.dock', 'launchanim', False)
+        if self.updated_dock_animation_defaults:
+            self._terminate_processes('Dock')
 
     def restore_env(self):
-        pass
+        if self.updated_dock_animation_defaults:
+            write_defaults('com.apple.dock', 'launchanim', True)
+            self._terminate_processes('Dock')
 
     def close_browsers(self):
         self._terminate_processes(self.process_name)

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/utils.py (204755 => 204756)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/utils.py	2016-08-23 05:12:32 UTC (rev 204755)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/utils.py	2016-08-23 05:12:51 UTC (rev 204756)
@@ -45,6 +45,23 @@
         pass
 
 
+def write_defaults(domain, key, value):
+    # Returns whether the key in the domain is updated
+    from Foundation import NSUserDefaults
+    defaults = NSUserDefaults.standardUserDefaults()
+    defaults_for_domain = defaults.persistentDomainForName_(domain)
+    if not defaults_for_domain:
+        return False
+    old_value = defaults_for_domain.get(key)
+    if old_value == value:
+        return False
+    mutable_defaults_for_domain = defaults_for_domain.mutableCopy()
+    mutable_defaults_for_domain[key] = value
+    defaults.setPersistentDomain_forName_(mutable_defaults_for_domain, domain)
+    defaults.synchronize()
+    return True
+
+
 # Borrow this code from
 # 'http://stackoverflow.com/questions/2281850/timeout-function-if-it-takes-too-long-to-finish'
 class TimeoutError(Exception):
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to