Ejemplo n.º 1
0
    def _GetBrowserInstance(self, existing, clear_caches, startup_url=None):
        browser_backend = android_browser_backend.AndroidBrowserBackend(
            self._platform_backend, self._browser_options,
            self.browser_directory, self.profile_directory,
            self._backend_settings)
        # TODO(crbug.com/811244): Remove when this is handled by shared state.
        if clear_caches:
            self._ClearCachesOnStart()
        try:
            return browser.Browser(browser_backend,
                                   self._platform_backend,
                                   startup_args=(),
                                   startup_url=startup_url,
                                   find_existing=existing)
        except Exception:
            exc_info = sys.exc_info()
            logging.error('Failed with %s while creating Android browser.',
                          exc_info[0].__name__)
            try:
                browser_backend.Close()
            except Exception:  # pylint: disable=broad-except
                logging.exception(
                    'Secondary failure while closing browser backend.')

            raise exc_info[0], exc_info[1], exc_info[2]
Ejemplo n.º 2
0
    def _GetBrowserInstance(self, existing=False):
        browser_backend = android_browser_backend.AndroidBrowserBackend(
            self._platform_backend, self._browser_options,
            self.browser_directory, self.profile_directory,
            self._backend_settings)
        # TODO(crbug.com/811244): Move cache clearing to environment set up.
        browser_backend.ClearCaches()
        try:
            return browser.Browser(browser_backend,
                                   self._platform_backend,
                                   startup_args=(),
                                   find_existing=existing)
        except Exception:
            exc_info = sys.exc_info()
            logging.error('Failed with %s while creating Android browser.',
                          exc_info[0].__name__)
            try:
                browser_backend.Close()
            except Exception:  # pylint: disable=broad-except
                logging.exception(
                    'Secondary failure while closing browser backend.')

            raise exc_info[0], exc_info[1], exc_info[2]
        finally:
            # After the browser has been launched (or not) it's fine to restore the
            # command line flags on the device.
            self._RestoreCommandLineFlags()
Ejemplo n.º 3
0
    def _GetBrowserInstance(self, existing=False):
        browser_backend = android_browser_backend.AndroidBrowserBackend(
            self._platform_backend, self._browser_options,
            self.browser_directory, self.profile_directory,
            self._backend_settings)
        self._ClearCachesOnStart()
        try:
            returned_browser = browser.Browser(browser_backend,
                                               self._platform_backend,
                                               startup_args=(),
                                               find_existing=existing)
            if self._browser_options.assert_gpu_compositing:
                gpu_compositing_checker.AssertGpuCompositingEnabled(
                    returned_browser.GetSystemInfo())
            return returned_browser
        except Exception:
            exc_info = sys.exc_info()
            logging.error('Failed with %s while creating Android browser.',
                          exc_info[0].__name__)
            try:
                browser_backend.Close()
            except Exception:  # pylint: disable=broad-except
                logging.exception(
                    'Secondary failure while closing browser backend.')

            raise exc_info[0], exc_info[1], exc_info[2]
        finally:
            # After the browser has been launched (or not) it's fine to restore the
            # command line flags on the device.
            self._RestoreCommandLineFlags()
Ejemplo n.º 4
0
 def Create(self, finder_options):
   self._InitPlatformIfNeeded()
   browser_backend = android_browser_backend.AndroidBrowserBackend(
       self._platform_backend,
       finder_options.browser_options, self._backend_settings,
       output_profile_path=finder_options.output_profile_path,
       extensions_to_load=finder_options.extensions_to_load,
       target_arch=finder_options.target_arch)
   return browser.Browser(
       browser_backend, self._platform_backend, self._credentials_path)
Ejemplo n.º 5
0
 def _GetBrowserInstance(self, existing):
   browser_backend = android_browser_backend.AndroidBrowserBackend(
       self._platform_backend, self._browser_options,
       self.browser_directory, self.profile_directory,
       self._backend_settings)
   try:
     return browser.Browser(
         browser_backend, self._platform_backend, startup_args=(),
         find_existing=existing)
   except Exception:
     browser_backend.Close()
     raise
Ejemplo n.º 6
0
 def _GetBrowserInstance(self, existing):
     browser_backend = android_browser_backend.AndroidBrowserBackend(
         self._platform_backend,
         self._browser_options,
         self.browser_directory,
         self.profile_directory,
         self._backend_settings,
         build_dir=util.GetBuildDirFromHostApkPath(self._local_apk))
     try:
         return browser.Browser(browser_backend,
                                self._platform_backend,
                                startup_args=(),
                                find_existing=existing)
     except Exception:
         browser_backend.Close()
         raise
Ejemplo n.º 7
0
  def Create(self, finder_options):
    self._InitPlatformIfNeeded()
    browser_backend = android_browser_backend.AndroidBrowserBackend(
        self._platform_backend,
        finder_options.browser_options, self._backend_settings)
    try:
      return browser.Browser(
          browser_backend, self._platform_backend, self._credentials_path)
    except Exception:
      logging.exception('Failure while creating Android browser.')
      original_exception = sys.exc_info()
      try:
        browser_backend.Close()
      except Exception:
        logging.exception('Secondary failure while closing browser backend.')

      raise original_exception[0], original_exception[1], original_exception[2]
Ejemplo n.º 8
0
    def Create(self, finder_options):
        self._InitPlatformIfNeeded()
        browser_backend = android_browser_backend.AndroidBrowserBackend(
            self._platform_backend, finder_options.browser_options,
            self._backend_settings)
        try:
            return browser.Browser(browser_backend, self._platform_backend)
        except Exception:
            exc_info = sys.exc_info()
            logging.error('Failed with %s while creating Android browser.',
                          exc_info[0].__name__)
            try:
                browser_backend.Close()
            except Exception:  # pylint: disable=broad-except
                logging.exception(
                    'Secondary failure while closing browser backend.')

            raise exc_info[0], exc_info[1], exc_info[2]
  def _GetBrowserInstance(self, existing):
    browser_backend = android_browser_backend.AndroidBrowserBackend(
        self._platform_backend, self._browser_options,
        self.browser_directory, self.profile_directory,
        self._backend_settings)
    try:
      return browser.Browser(
          browser_backend, self._platform_backend, startup_args=(),
          find_existing=existing)
    except Exception:
      exc_info = sys.exc_info()
      logging.error(
          'Failed with %s while creating Android browser.',
          exc_info[0].__name__)
      try:
        browser_backend.Close()
      except Exception:  # pylint: disable=broad-except
        logging.exception('Secondary failure while closing browser backend.')

      raise exc_info[0], exc_info[1], exc_info[2]
Ejemplo n.º 10
0
  def _GetBrowserInstance(self, existing):
    # Init the LocalFirstBinaryManager if this is the first time we're creating
    # a browser. Note that we use the host's OS and architecture since the
    # retrieved dependencies are used on the host, not the device.
    if local_first_binary_manager.LocalFirstBinaryManager.NeedsInit():
      local_first_binary_manager.LocalFirstBinaryManager.Init(
          self._build_dir, self._local_apk, platform.system().lower(),
          platform.machine())

    browser_backend = android_browser_backend.AndroidBrowserBackend(
        self._platform_backend, self._browser_options,
        self.browser_directory, self.profile_directory,
        self._backend_settings,
        build_dir=self._build_dir)
    try:
      return browser.Browser(
          browser_backend, self._platform_backend, startup_args=(),
          find_existing=existing)
    except Exception:
      browser_backend.Close()
      raise