Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from telemetry.core import platform | 5 from telemetry.core import platform |
| 6 from telemetry.util import wpr_modes | 6 from telemetry.util import wpr_modes |
| 7 from telemetry.internal.browser import browser_finder | 7 from telemetry.internal.browser import browser_finder |
| 8 from telemetry.internal.browser import browser_finder_exceptions | 8 from telemetry.internal.browser import browser_finder_exceptions |
| 9 | 9 |
| 10 | 10 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 51 | 51 |
| 52 @property | 52 @property |
| 53 def profile_path(self): | 53 def profile_path(self): |
| 54 """The path of the profile that the browser will use while it's running.""" | 54 """The path of the profile that the browser will use while it's running.""" |
| 55 return self.finder_options.output_profile_path | 55 return self.finder_options.output_profile_path |
| 56 | 56 |
| 57 @property | 57 @property |
| 58 def browser(self): | 58 def browser(self): |
| 59 return self._browser | 59 return self._browser |
| 60 | 60 |
| 61 def EnabledOSList(self): | |
| 62 """Returns a list of OSes that this extender can run on. | |
| 63 | |
| 64 Can be overridden by subclasses. | |
| 65 | |
| 66 Returns: | |
| 67 List of OS ('win', 'mac', or 'linux') that this extender can run on. | |
| 68 None if this extender can run on all platforms. | |
| 69 """ | |
| 70 return None | |
| 71 | |
|
robliao
2015/07/21 19:49:52
Style: In Python classes, defs get one space. Yeah
sydli
2015/07/21 20:33:04
Done.
| |
| 72 | |
| 61 def SetUpBrowser(self): | 73 def SetUpBrowser(self): |
| 62 """Finds and starts the browser. | 74 """Finds and starts the browser. |
| 63 | 75 |
| 64 Can be overridden by subclasses. The subclass implementation must call the | 76 Can be overridden by subclasses. The subclass implementation must call the |
| 65 super class implementation. | 77 super class implementation. |
| 66 | 78 |
| 67 Subclasses do not need to call this method. This method is only necessary | 79 Subclasses do not need to call this method. This method is only necessary |
| 68 if the subclass needs to start a browser. If a subclass does call this | 80 if the subclass needs to start a browser. If a subclass does call this |
| 69 method, the subclass must also call TearDownBrowser(). | 81 method, the subclass must also call TearDownBrowser(). |
| 70 """ | 82 """ |
| 71 possible_browser = self._GetPossibleBrowser(self.finder_options) | 83 possible_browser = self._GetPossibleBrowser(self.finder_options) |
| 72 | 84 |
| 85 os_name = possible_browser.platform.GetOSName() | |
| 86 enabled_os_list = self.EnabledOSList() | |
| 87 if enabled_os_list is not None and os_name not in enabled_os_list: | |
| 88 raise NotImplementedError( | |
| 89 'This profile extender on %s is not yet supported' | |
| 90 % os_name) | |
| 91 | |
| 73 assert possible_browser.supports_tab_control | 92 assert possible_browser.supports_tab_control |
| 74 assert (platform.GetHostPlatform().GetOSName() in | 93 assert (platform.GetHostPlatform().GetOSName() in |
| 75 ["win", "mac", "linux"]) | 94 ["win", "mac", "linux"]) |
| 76 | 95 |
| 77 self._SetUpWebPageReplay(self.finder_options, possible_browser) | 96 self._SetUpWebPageReplay(self.finder_options, possible_browser) |
| 78 self._browser = possible_browser.Create(self.finder_options) | 97 self._browser = possible_browser.Create(self.finder_options) |
| 79 | 98 |
| 80 def TearDownBrowser(self): | 99 def TearDownBrowser(self): |
| 81 """Tears down the browser. | 100 """Tears down the browser. |
| 82 | 101 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 123 possible_browser = browser_finder.FindBrowser(finder_options) | 142 possible_browser = browser_finder.FindBrowser(finder_options) |
| 124 if not possible_browser: | 143 if not possible_browser: |
| 125 raise browser_finder_exceptions.BrowserFinderException( | 144 raise browser_finder_exceptions.BrowserFinderException( |
| 126 'No browser found.\n\nAvailable browsers:\n%s\n' % | 145 'No browser found.\n\nAvailable browsers:\n%s\n' % |
| 127 '\n'.join(browser_finder.GetAllAvailableBrowserTypes(finder_options))) | 146 '\n'.join(browser_finder.GetAllAvailableBrowserTypes(finder_options))) |
| 128 finder_options.browser_options.browser_type = ( | 147 finder_options.browser_options.browser_type = ( |
| 129 possible_browser.browser_type) | 148 possible_browser.browser_type) |
| 130 | 149 |
| 131 return possible_browser | 150 return possible_browser |
| 132 | 151 |
| OLD | NEW |