GUI -- Strange Device View Table layout fixed in Safari.

Change-Id: Icfb3d80654a2ab009ca12b64f35a20ba98f37681
diff --git a/web/gui/src/main/webapp/onos.js b/web/gui/src/main/webapp/onos.js
index 8c7a557..a0de495 100644
--- a/web/gui/src/main/webapp/onos.js
+++ b/web/gui/src/main/webapp/onos.js
@@ -69,12 +69,12 @@
     angular.module('onosApp', moduleDependencies)
 
         .controller('OnosCtrl', [
-            '$log', '$route', '$routeParams', '$location',
+            '$log', '$scope', '$route', '$routeParams', '$location',
             'KeyService', 'ThemeService', 'GlyphService', 'VeilService',
             'PanelService', 'FlashService', 'QuickHelpService',
             'WebSocketService',
 
-            function ($log, $route, $routeParams, $location,
+            function ($log, $scope, $route, $routeParams, $location,
                       ks, ts, gs, vs, ps, flash, qhs, wss) {
                 var self = this;
 
@@ -83,6 +83,9 @@
                 self.$location = $location;
                 self.version = '1.3.0';
 
+                // shared object inherited by all views:
+                $scope.onos = {};
+
                 // initialize services...
                 ts.init();
                 ks.installOn(d3.select('body'));
@@ -131,5 +134,29 @@
                     });
                 }
             });
+        }])
+
+        .directive('detectBrowser', ['$log', 'FnService',
+            function ($log, fs) {
+                return function (scope) {
+                    var body = d3.select('body'),
+                        browser = '';
+                    if (fs.isChrome()) {
+                        browser = 'chrome';
+                    } else if (fs.isSafari()) {
+                        browser = 'safari';
+                    } else if (fs.isFirefox()) {
+                        browser = 'firefox';
+                    }
+                    body.classed(browser, true);
+                    scope.onos.browser = browser;
+
+                    if (fs.isMobile()) {
+                        body.classed('mobile', true);
+                        scope.onos.mobile = true;
+                    }
+
+                    $log.debug('Detected browser is', fs.cap(browser));
+                };
         }]);
 }());