# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""An interface to access the local browser facade."""
import logging
class BrowserFacadeNativeError(Exception):
"""Error in BrowserFacadeNative."""
pass
class BrowserFacadeNative(object):
"""Facade to access the browser-related functionality."""
def __init__(self, resource):
"""Initializes the USB facade.
@param resource: A FacadeResource object.
"""
self._resource = resource
def new_tab(self, url):
"""Opens a new tab and loads URL.
@param url: The URL to load.
@return a str, the tab descriptor of the opened tab.
"""
logging.debug('Load URL %s', url)
return self._resource.load_url(url)
def close_tab(self, tab_descriptor):
"""Closes a previously opened tab.
@param tab_descriptor: Indicate which tab to be closed.
"""
tab = self._resource.get_tab_by_descriptor(tab_descriptor)
logging.debug('Closing URL %s', tab.url)
self._resource.close_tab(tab_descriptor)