Changeset 185483 in webkit


Ignore:
Timestamp:
Jun 11, 2015 7:16:28 PM (9 years ago)
Author:
commit-queue@webkit.org
Message:

Move cursor to corner and fix safari window size before running benchmark
https://bugs.webkit.org/show_bug.cgi?id=145858

Patch by Dewei Zhu <Dewei Zhu> on 2015-06-11
Reviewed by Ryosuke Niwa

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:

(OSXBrowserDriver.prepareEnv):
(OSXBrowserDriver):
(OSXBrowserDriver.moveCursor):
(OSXBrowserDriver.getScreenSize):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:

(OSXChromeDriver.launchUrl):
(OSXChromeCanaryDriver.launchUrl):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:

(OSXFirefoxDriver.launchUrl):
(OSXFirefoxNightlyDriver.launchUrl):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver.prepareEnv):
(OSXSafariDriver):
(OSXSafariDriver.maximizeWindow):

Location:
trunk/Tools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r185478 r185483  
     12015-06-11  Dewei Zhu  <dewei_zhu@apple.com>
     2
     3        Move cursor to corner and fix safari window size before running benchmark
     4        https://bugs.webkit.org/show_bug.cgi?id=145858
     5
     6        Reviewed by Ryosuke Niwa
     7
     8        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
     9        (OSXBrowserDriver.prepareEnv):
     10        (OSXBrowserDriver):
     11        (OSXBrowserDriver.moveCursor):
     12        (OSXBrowserDriver.getScreenSize):
     13        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
     14        (OSXChromeDriver.launchUrl):
     15        (OSXChromeCanaryDriver.launchUrl):
     16        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
     17        (OSXFirefoxDriver.launchUrl):
     18        (OSXFirefoxNightlyDriver.launchUrl):
     19        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
     20        (OSXSafariDriver.prepareEnv):
     21        (OSXSafariDriver):
     22        (OSXSafariDriver.maximizeWindow):
     23
    1242015-06-11  Daniel Bates  <dabates@apple.com>
    225
  • trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py

    r185242 r185483  
    55
    66from AppKit import NSRunningApplication
     7from AppKit import NSScreen
     8from Quartz.CoreGraphics import CGEventCreateMouseEvent
     9from Quartz.CoreGraphics import CGEventPost
     10from Quartz.CoreGraphics import kCGEventMouseMoved
     11from Quartz.CoreGraphics import kCGHIDEventTap
     12from Quartz.CoreGraphics import kCGMouseButtonLeft
    713from browser_driver import BrowserDriver
    814
     
    1622    def prepareEnv(self):
    1723        self.closeBrowsers()
     24        self.moveCursor(0, 0)
    1825
    1926    def closeBrowsers(self):
     
    4451        subprocess.Popen(["/usr/bin/caffeinate", "-disw", str(process.pid)])
    4552        return process
     53
     54    @classmethod
     55    def moveCursor(cls, x, y):
     56        moveEvent = CGEventCreateMouseEvent(None, kCGEventMouseMoved, (x, y), kCGMouseButtonLeft)
     57        CGEventPost(kCGHIDEventTap, moveEvent)
     58
     59    @classmethod
     60    def screenSize(cls):
     61        return NSScreen.mainScreen().frame().size
  • trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py

    r184109 r185483  
    1616
    1717    def launchUrl(self, url, browserBuildPath):
    18         self.launchProcess(buildDir=browserBuildPath, appName='Google Chrome.app', url=url, args=['--args', '--homepage', url])
     18        self.launchProcess(buildDir=browserBuildPath, appName='Google Chrome.app', url=url, args=['--args', '--homepage', url, '--window-size={width},{height}'.format(width=int(self.screenSize().width), height=int(self.screenSize().height))])
    1919
    2020
     
    2323
    2424    def launchUrl(self, url, browserBuildPath):
    25         self.launchProcess(buildDir=browserBuildPath, appName='Google Chrome Canary.app', url=url, args=['--args', '--homepage', url])
     25        self.launchProcess(buildDir=browserBuildPath, appName='Google Chrome Canary.app', url=url, args=['--args', '--homepage', url, '--window-size={width},{height}'.format(width=int(self.screenSize().width), height=int(self.screenSize().height))])
  • trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py

    r184109 r185483  
    1616
    1717    def launchUrl(self, url, browserBuildPath):
    18         self.launchProcess(buildDir=browserBuildPath, appName='Firefox.app', url=url, args=[url])
     18        self.launchProcess(buildDir=browserBuildPath, appName='Firefox.app', url=url, args=[url, '--args', '-width', str(int(self.screenSize().width)), '-height', str(int(self.screenSize().height))])
    1919
    2020
     
    2323
    2424    def launchUrl(self, url, browserBuildPath):
    25         self.launchProcess(buildDir=browserBuildPath, appName='FirefoxNightly.app', url=url, args=[url])
     25        self.launchProcess(buildDir=browserBuildPath, appName='FirefoxNightly.app', url=url, args=[url, '--args', '-width', str(int(self.screenSize().width)), '-height', str(int(self.screenSize().height))])
  • trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py

    r185351 r185483  
    33import logging
    44import os
     5import re
    56import subprocess
    67import time
     
    1718
    1819    def prepareEnv(self):
     20        super(OSXSafariDriver, self).closeBrowsers()
    1921        self.safariProcess = None
    20         self.closeBrowsers()
    2122        forceRemove(os.path.join(os.path.expanduser('~'), 'Library/Saved Application State/com.apple.Safari.savedState'))
    2223        forceRemove(os.path.join(os.path.expanduser('~'), 'Library/Safari/LastSession.plist'))
     24        self.maximizeWindow()
    2325        self.safariPreferences = ["-HomePage", "about:blank", "-WarnAboutFraudulentWebsites", "0", "-ExtensionsEnabled", "0", "-ShowStatusBar", "0", "-NewWindowBehavior", "1", "-NewTabBehavior", "1"]
    2426
     
    4749        if self.safariProcess and self.safariProcess.returncode:
    4850            sys.exit('Browser crashed with exitcode %d' % self._process.returncode)
     51
     52    @classmethod
     53    def maximizeWindow(cls):
     54        try:
     55            subprocess.check_call(['/usr/bin/defaults', 'write', 'com.apple.Safari', 'NSWindow Frame BrowserWindowFrame', ' '.join(['0', '0', str(cls.screenSize().width), str(cls.screenSize().height)] * 2)])
     56        except Exception as error:
     57            _log.error('Reset safari window size failed - Error: {}'.format(error))
Note: See TracChangeset for help on using the changeset viewer.