Enable arc_mode for chameleon tests

BUG=chromium:616635
TEST=Tested for cyan-cheets

Change-Id: I8f1235de5911e6f70ab5e9b5ef4b3a6d5124c0d6
Reviewed-on: https://chromium-review.googlesource.com/350090
Commit-Ready: Kalin Stoyanov <kalin@chromium.org>
Tested-by: Kalin Stoyanov <kalin@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
diff --git a/client/bin/site_utils.py b/client/bin/site_utils.py
index 7265d11..99b44b7 100644
--- a/client/bin/site_utils.py
+++ b/client/bin/site_utils.py
@@ -788,15 +788,27 @@
     return cpu_family
 
 
+def get_board_property(key):
+    """
+    Get a specific property from /etc/lsb-release.
+
+    @param key: board property to return value for
+
+    @return the value or '' if not present
+    """
+    with open('/etc/lsb-release') as f:
+        pattern = '%s=(.*)' % key
+        pat = re.search(pattern, f.read())
+        if pat:
+            return pat.group(1)
+    return ''
+
+
 def get_board():
     """
     Get the ChromeOS release board name from /etc/lsb-release.
     """
-    f = open('/etc/lsb-release')
-    try:
-        return re.search('BOARD=(.*)', f.read()).group(1)
-    finally:
-        f.close()
+    return get_board_property('BOARD')
 
 
 def get_board_type():
@@ -805,11 +817,7 @@
 
     @return device type.
     """
-    with open('/etc/lsb-release') as f:
-        pat = re.search('DEVICETYPE=(.*)', f.read())
-        if pat:
-            return pat.group(1)
-    return ''
+    return get_board_property('DEVICETYPE')
 
 
 def get_board_with_frequency_and_memory():
diff --git a/client/cros/multimedia/facade_resource.py b/client/cros/multimedia/facade_resource.py
index c53dd0e..71f056d 100644
--- a/client/cros/multimedia/facade_resource.py
+++ b/client/cros/multimedia/facade_resource.py
@@ -24,6 +24,9 @@
 class FacadeResource(object):
     """This class provides access to telemetry chrome wrapper."""
 
+    ARC_DISABLED = 'disabled'
+    ARC_ENABLED = 'enabled'
+    ARC_VERSION = 'CHROMEOS_ARC_VERSION'
     EXTRA_BROWSER_ARGS = ['--enable-gpu-benchmarking']
 
     def __init__(self, chrome_object=None, restart=False):
@@ -36,10 +39,17 @@
         if chrome_object:
             self._chrome = chrome_object
         else:
+            # TODO: (crbug.com/618111) Add test driven switch for
+            # supporting arc_mode enabled or disabled. At this time
+            # if ARC build is tested, arc_mode is always enabled.
+            arc_mode = self.ARC_DISABLED
+            if utils.get_board_property(self.ARC_VERSION):
+                arc_mode = self.ARC_ENABLED
             self._chrome = chrome.Chrome(
                 extension_paths=[constants.MULTIMEDIA_TEST_EXTENSION],
                 extra_browser_args=self.EXTRA_BROWSER_ARGS,
                 clear_enterprise_policy=not restart,
+                arc_mode=arc_mode,
                 autotest_ext=True)
         self._browser = self._chrome.browser
         # The opened tabs are stored by tab descriptors.