diff --git a/accessible/jsat/Utils.jsm b/accessible/jsat/Utils.jsm
index 81fd537d9db..be4909d94eb 100644
--- a/accessible/jsat/Utils.jsm
+++ b/accessible/jsat/Utils.jsm
@@ -32,6 +32,7 @@ this.EXPORTED_SYMBOLS = ['Utils', 'Logger', 'PivotContext', 'PrefCache', // jsh
this.Utils = { // jshint ignore:line
_buildAppMap: {
'{3c2e2abc-06d4-11e1-ac3b-374f68613e61}': 'b2g',
+ '{d1bfe7d9-c01e-4237-998b-7b5f960a4314}': 'graphene',
'{ec8030f7-c20a-464f-9b0e-13a3a9e97384}': 'browser',
'{aa3c5121-dab2-40e2-81ca-7ea25febc110}': 'mobile/android',
'{a23983c0-fd0e-11dc-95ff-0800200c9a66}': 'mobile/xul'
diff --git a/b2g/app/b2g.js b/b2g/app/b2g.js
index 78257abe3d7..0813397163e 100644
--- a/b2g/app/b2g.js
+++ b/b2g/app/b2g.js
@@ -325,7 +325,6 @@ pref("media.fragmented-mp4.gonk.enabled", true);
//Encrypted media extensions.
pref("media.eme.enabled", true);
pref("media.eme.apiVisible", true);
-
// The default number of decoded video frames that are enqueued in
// MediaDecoderReader's mVideoQueue.
pref("media.video-queue.default-size", 3);
@@ -431,7 +430,7 @@ pref("dom.ipc.processCount", 100000);
pref("dom.ipc.browser_frames.oop_by_default", false);
-#ifndef MOZ_MULET
+#if !defined(MOZ_MULET) && !defined(MOZ_GRAPHENE)
pref("dom.meta-viewport.enabled", true);
#endif
@@ -1067,11 +1066,18 @@ pref("dom.wakelock.enabled", true);
// Enable webapps add-ons
pref("dom.apps.customization.enabled", true);
+#ifdef MOZ_GRAPHENE
+// Enable touch caret by default
+pref("touchcaret.enabled", true);
+// Enable selection caret by default
+pref("selectioncaret.enabled", true);
+#else
// Original caret implementation on collapsed selection.
pref("touchcaret.enabled", false);
-
// Original caret implementation on non-collapsed selection.
pref("selectioncaret.enabled", false);
+#endif
+
// New implementation to unify touch-caret and selection-carets.
pref("layout.accessiblecaret.enabled", true);
@@ -1150,3 +1156,7 @@ pref("dom.performance.enable_notify_performance_timing", true);
pref("b2g.multiscreen.chrome_remote_url", "chrome://b2g/content/shell_remote.html");
pref("b2g.multiscreen.system_remote_url", "index_remote.html");
+// Because we can't have nice things.
+#ifdef MOZ_GRAPHENE
+#include ../graphene/graphene.js
+#endif
diff --git a/b2g/app/macbuild/Contents/Info.plist.in b/b2g/app/macbuild/Contents/Info.plist.in
index 7f11efefc6f..d5ea85f4d94 100644
--- a/b2g/app/macbuild/Contents/Info.plist.in
+++ b/b2g/app/macbuild/Contents/Info.plist.in
@@ -5,7 +5,7 @@
CFBundleDevelopmentRegion
English
CFBundleExecutable
- b2g
+ %APP_BINARY%
CFBundleGetInfoString
%APP_NAME% %APP_VERSION%
CFBundleIconFile
@@ -32,5 +32,36 @@
NSPrincipalClass
GeckoNSApplication
+ CFBundleURLTypes
+
+
+ CFBundleURLIconFile
+ document.icns
+ CFBundleURLName
+ http URL
+ CFBundleURLSchemes
+
+ http
+
+
+
+ CFBundleURLIconFile
+ document.icns
+ CFBundleURLName
+ https URL
+ CFBundleURLSchemes
+
+ https
+
+
+
+ CFBundleURLName
+ ftp URL
+ CFBundleURLSchemes
+
+ ftp
+
+
+
diff --git a/b2g/branding/browserhtml/Makefile.in b/b2g/branding/browserhtml/Makefile.in
new file mode 100644
index 00000000000..27e9db651bc
--- /dev/null
+++ b/b2g/branding/browserhtml/Makefile.in
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+include $(topsrcdir)/config/config.mk
+
+ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
+BRANDING_FILES := \
+ app.ico \
+ $(NULL)
+endif
+
+ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
+BRANDING_FILES := \
+ app.icns \
+ background.png \
+ disk.icns \
+ dsstore \
+ $(NULL)
+endif
+
+ifdef MOZ_WIDGET_GTK
+BRANDING_FILES := \
+ default.png \
+ $(NULL)
+endif
+
+BRANDING_DEST := $(DIST)/branding
+BRANDING_TARGET := export
+INSTALL_TARGETS += BRANDING
diff --git a/b2g/branding/browserhtml/app.icns b/b2g/branding/browserhtml/app.icns
new file mode 100644
index 00000000000..3d680134e26
Binary files /dev/null and b/b2g/branding/browserhtml/app.icns differ
diff --git a/b2g/branding/browserhtml/app.ico b/b2g/branding/browserhtml/app.ico
new file mode 100644
index 00000000000..04596e4d060
Binary files /dev/null and b/b2g/branding/browserhtml/app.ico differ
diff --git a/b2g/branding/browserhtml/background.png b/b2g/branding/browserhtml/background.png
new file mode 100644
index 00000000000..db5576a3360
Binary files /dev/null and b/b2g/branding/browserhtml/background.png differ
diff --git a/b2g/branding/browserhtml/configure.sh b/b2g/branding/browserhtml/configure.sh
new file mode 100644
index 00000000000..71c6129d272
--- /dev/null
+++ b/b2g/branding/browserhtml/configure.sh
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOZ_APP_DISPLAYNAME=Browser.html
diff --git a/b2g/branding/browserhtml/content/about.png b/b2g/branding/browserhtml/content/about.png
new file mode 100644
index 00000000000..3cc1444f645
Binary files /dev/null and b/b2g/branding/browserhtml/content/about.png differ
diff --git a/b2g/branding/browserhtml/content/favicon32.png b/b2g/branding/browserhtml/content/favicon32.png
new file mode 100644
index 00000000000..ac4a6968bf2
Binary files /dev/null and b/b2g/branding/browserhtml/content/favicon32.png differ
diff --git a/b2g/branding/browserhtml/content/icon48.png b/b2g/branding/browserhtml/content/icon48.png
new file mode 100644
index 00000000000..b7513c2e468
Binary files /dev/null and b/b2g/branding/browserhtml/content/icon48.png differ
diff --git a/b2g/branding/browserhtml/content/icon64.png b/b2g/branding/browserhtml/content/icon64.png
new file mode 100644
index 00000000000..c8bee8fca98
Binary files /dev/null and b/b2g/branding/browserhtml/content/icon64.png differ
diff --git a/b2g/branding/browserhtml/content/jar.mn b/b2g/branding/browserhtml/content/jar.mn
new file mode 100644
index 00000000000..0052ad0243d
--- /dev/null
+++ b/b2g/branding/browserhtml/content/jar.mn
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chrome.jar:
+% content branding %content/branding/
+ content/branding/about.png (about.png)
+ content/branding/logoWordmark.png (logoWordmark.png)
+ content/branding/logo.png (logo.png)
+ content/branding/favicon32.png (favicon32.png)
diff --git a/b2g/branding/browserhtml/content/logo.png b/b2g/branding/browserhtml/content/logo.png
new file mode 100644
index 00000000000..9d9d0c57e03
Binary files /dev/null and b/b2g/branding/browserhtml/content/logo.png differ
diff --git a/b2g/branding/browserhtml/content/logoWordmark.png b/b2g/branding/browserhtml/content/logoWordmark.png
new file mode 100644
index 00000000000..878363181ac
Binary files /dev/null and b/b2g/branding/browserhtml/content/logoWordmark.png differ
diff --git a/b2g/branding/browserhtml/content/moz.build b/b2g/branding/browserhtml/content/moz.build
new file mode 100644
index 00000000000..c97072bba2d
--- /dev/null
+++ b/b2g/branding/browserhtml/content/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
\ No newline at end of file
diff --git a/b2g/branding/browserhtml/content/splash.png b/b2g/branding/browserhtml/content/splash.png
new file mode 100644
index 00000000000..84ab581d20e
Binary files /dev/null and b/b2g/branding/browserhtml/content/splash.png differ
diff --git a/b2g/branding/browserhtml/default.png b/b2g/branding/browserhtml/default.png
new file mode 100644
index 00000000000..ae4736223a8
Binary files /dev/null and b/b2g/branding/browserhtml/default.png differ
diff --git a/b2g/branding/browserhtml/disk.icns b/b2g/branding/browserhtml/disk.icns
new file mode 100644
index 00000000000..c49b7b878e4
Binary files /dev/null and b/b2g/branding/browserhtml/disk.icns differ
diff --git a/b2g/branding/browserhtml/dsstore b/b2g/branding/browserhtml/dsstore
new file mode 100644
index 00000000000..657101d6e22
Binary files /dev/null and b/b2g/branding/browserhtml/dsstore differ
diff --git a/b2g/branding/browserhtml/locales/en-US/brand.dtd b/b2g/branding/browserhtml/locales/en-US/brand.dtd
new file mode 100644
index 00000000000..6c3088d70c1
--- /dev/null
+++ b/b2g/branding/browserhtml/locales/en-US/brand.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/b2g/branding/browserhtml/locales/en-US/brand.properties b/b2g/branding/browserhtml/locales/en-US/brand.properties
new file mode 100644
index 00000000000..897d1a8007e
--- /dev/null
+++ b/b2g/branding/browserhtml/locales/en-US/brand.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+brandShortName=Browser.html
+brandFullName=Mozilla Browser.html
diff --git a/b2g/branding/browserhtml/locales/jar.mn b/b2g/branding/browserhtml/locales/jar.mn
new file mode 100644
index 00000000000..2ea47e1684a
--- /dev/null
+++ b/b2g/branding/browserhtml/locales/jar.mn
@@ -0,0 +1,11 @@
+#filter substitution
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+@AB_CD@.jar:
+% locale branding @AB_CD@ %locale/branding/
+# Branding only exists in en-US
+ locale/branding/brand.dtd (en-US/brand.dtd)
+ locale/branding/brand.properties (en-US/brand.properties)
diff --git a/b2g/branding/browserhtml/locales/moz.build b/b2g/branding/browserhtml/locales/moz.build
new file mode 100644
index 00000000000..c97072bba2d
--- /dev/null
+++ b/b2g/branding/browserhtml/locales/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
\ No newline at end of file
diff --git a/b2g/branding/browserhtml/moz.build b/b2g/branding/browserhtml/moz.build
new file mode 100644
index 00000000000..8f320daeae9
--- /dev/null
+++ b/b2g/branding/browserhtml/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DIRS += ['content', 'locales']
diff --git a/b2g/branding/horizon/Makefile.in b/b2g/branding/horizon/Makefile.in
new file mode 100644
index 00000000000..27e9db651bc
--- /dev/null
+++ b/b2g/branding/horizon/Makefile.in
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+include $(topsrcdir)/config/config.mk
+
+ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
+BRANDING_FILES := \
+ app.ico \
+ $(NULL)
+endif
+
+ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
+BRANDING_FILES := \
+ app.icns \
+ background.png \
+ disk.icns \
+ dsstore \
+ $(NULL)
+endif
+
+ifdef MOZ_WIDGET_GTK
+BRANDING_FILES := \
+ default.png \
+ $(NULL)
+endif
+
+BRANDING_DEST := $(DIST)/branding
+BRANDING_TARGET := export
+INSTALL_TARGETS += BRANDING
diff --git a/b2g/branding/horizon/app.icns b/b2g/branding/horizon/app.icns
new file mode 100644
index 00000000000..6c7b9f5b500
Binary files /dev/null and b/b2g/branding/horizon/app.icns differ
diff --git a/b2g/branding/horizon/app.ico b/b2g/branding/horizon/app.ico
new file mode 100644
index 00000000000..49eb9041923
Binary files /dev/null and b/b2g/branding/horizon/app.ico differ
diff --git a/b2g/branding/horizon/background.png b/b2g/branding/horizon/background.png
new file mode 100644
index 00000000000..db5576a3360
Binary files /dev/null and b/b2g/branding/horizon/background.png differ
diff --git a/b2g/branding/horizon/configure.sh b/b2g/branding/horizon/configure.sh
new file mode 100644
index 00000000000..65774e3841e
--- /dev/null
+++ b/b2g/branding/horizon/configure.sh
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOZ_APP_DISPLAYNAME=Horizon
diff --git a/b2g/branding/horizon/content/about.png b/b2g/branding/horizon/content/about.png
new file mode 100644
index 00000000000..3cc1444f645
Binary files /dev/null and b/b2g/branding/horizon/content/about.png differ
diff --git a/b2g/branding/horizon/content/favicon32.png b/b2g/branding/horizon/content/favicon32.png
new file mode 100644
index 00000000000..ac4a6968bf2
Binary files /dev/null and b/b2g/branding/horizon/content/favicon32.png differ
diff --git a/b2g/branding/horizon/content/icon48.png b/b2g/branding/horizon/content/icon48.png
new file mode 100644
index 00000000000..b7513c2e468
Binary files /dev/null and b/b2g/branding/horizon/content/icon48.png differ
diff --git a/b2g/branding/horizon/content/icon64.png b/b2g/branding/horizon/content/icon64.png
new file mode 100644
index 00000000000..c8bee8fca98
Binary files /dev/null and b/b2g/branding/horizon/content/icon64.png differ
diff --git a/b2g/branding/horizon/content/jar.mn b/b2g/branding/horizon/content/jar.mn
new file mode 100644
index 00000000000..0052ad0243d
--- /dev/null
+++ b/b2g/branding/horizon/content/jar.mn
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chrome.jar:
+% content branding %content/branding/
+ content/branding/about.png (about.png)
+ content/branding/logoWordmark.png (logoWordmark.png)
+ content/branding/logo.png (logo.png)
+ content/branding/favicon32.png (favicon32.png)
diff --git a/b2g/branding/horizon/content/logo.png b/b2g/branding/horizon/content/logo.png
new file mode 100644
index 00000000000..9d9d0c57e03
Binary files /dev/null and b/b2g/branding/horizon/content/logo.png differ
diff --git a/b2g/branding/horizon/content/logoWordmark.png b/b2g/branding/horizon/content/logoWordmark.png
new file mode 100644
index 00000000000..878363181ac
Binary files /dev/null and b/b2g/branding/horizon/content/logoWordmark.png differ
diff --git a/b2g/branding/horizon/content/moz.build b/b2g/branding/horizon/content/moz.build
new file mode 100644
index 00000000000..c97072bba2d
--- /dev/null
+++ b/b2g/branding/horizon/content/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
\ No newline at end of file
diff --git a/b2g/branding/horizon/content/splash.png b/b2g/branding/horizon/content/splash.png
new file mode 100644
index 00000000000..84ab581d20e
Binary files /dev/null and b/b2g/branding/horizon/content/splash.png differ
diff --git a/b2g/branding/horizon/default.png b/b2g/branding/horizon/default.png
new file mode 100644
index 00000000000..0e6a4016ca5
Binary files /dev/null and b/b2g/branding/horizon/default.png differ
diff --git a/b2g/branding/horizon/disk.icns b/b2g/branding/horizon/disk.icns
new file mode 100644
index 00000000000..c49b7b878e4
Binary files /dev/null and b/b2g/branding/horizon/disk.icns differ
diff --git a/b2g/branding/horizon/dsstore b/b2g/branding/horizon/dsstore
new file mode 100644
index 00000000000..657101d6e22
Binary files /dev/null and b/b2g/branding/horizon/dsstore differ
diff --git a/b2g/branding/horizon/locales/en-US/brand.dtd b/b2g/branding/horizon/locales/en-US/brand.dtd
new file mode 100644
index 00000000000..ad7a938b56c
--- /dev/null
+++ b/b2g/branding/horizon/locales/en-US/brand.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/b2g/branding/horizon/locales/en-US/brand.properties b/b2g/branding/horizon/locales/en-US/brand.properties
new file mode 100644
index 00000000000..ce9e209cff2
--- /dev/null
+++ b/b2g/branding/horizon/locales/en-US/brand.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+brandShortName=Horizon
+brandFullName=Mozilla Horizon
diff --git a/b2g/branding/horizon/locales/jar.mn b/b2g/branding/horizon/locales/jar.mn
new file mode 100644
index 00000000000..3d32ef1f165
--- /dev/null
+++ b/b2g/branding/horizon/locales/jar.mn
@@ -0,0 +1,11 @@
+#filter substitution
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+@AB_CD@.jar:
+% locale branding @AB_CD@ %locale/branding/
+# Branding only exists in en-US
+ locale/branding/brand.dtd (en-US/brand.dtd)
+* locale/branding/brand.properties (en-US/brand.properties)
diff --git a/b2g/branding/horizon/locales/moz.build b/b2g/branding/horizon/locales/moz.build
new file mode 100644
index 00000000000..c97072bba2d
--- /dev/null
+++ b/b2g/branding/horizon/locales/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
\ No newline at end of file
diff --git a/b2g/branding/horizon/moz.build b/b2g/branding/horizon/moz.build
new file mode 100644
index 00000000000..8f320daeae9
--- /dev/null
+++ b/b2g/branding/horizon/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DIRS += ['content', 'locales']
diff --git a/b2g/chrome/content/content.css b/b2g/chrome/content/content.css
index 44907eb2ed6..f8214856aa0 100644
--- a/b2g/chrome/content/content.css
+++ b/b2g/chrome/content/content.css
@@ -11,12 +11,19 @@ xul|window xul|scrollbar {
}
/* Bug 1041576 - Scrollable with scrollgrab should not have scrollbars */
+
@-moz-document domain(system.gaiamobile.org) {
.browser-container > xul|scrollbar {
display: none;
}
}
+%ifdef MOZ_GRAPHENE
+.moz-noscrollbars > xul|scrollbar {
+ display: none;
+}
+%endif
+
xul|scrollbar[root="true"] {
position: relative;
z-index: 2147483647;
@@ -85,6 +92,7 @@ xul|scrollbarbutton {
background-image: none !important;
}
+%ifndef MOZ_GRAPHENE
/* -moz-touch-enabled? media elements */
:-moz-any(video, audio) > xul|videocontrols {
-moz-binding: url("chrome://global/content/bindings/videocontrols.xml#touchControls");
@@ -310,6 +318,7 @@ input[type=number] > div > div, /* work around bug 946184 */
input[type=number]::-moz-number-spin-box {
display: none;
}
+%endif
%ifdef MOZ_WIDGET_GONK
/* This binding only provide key shortcuts that we can't use on devices */
diff --git a/b2g/chrome/content/settings.js b/b2g/chrome/content/settings.js
index debf4da7c60..cb7bd396144 100644
--- a/b2g/chrome/content/settings.js
+++ b/b2g/chrome/content/settings.js
@@ -637,10 +637,18 @@ var settingsToObserve = {
'layers.draw-borders': false,
'layers.draw-tile-borders': false,
'layers.dump': false,
+#ifdef XP_WIN
+ 'layers.enable-tiles': false,
+#else
'layers.enable-tiles': true,
+#endif
'layers.effect.invert': false,
'layers.effect.grayscale': false,
'layers.effect.contrast': '0.0',
+#ifdef MOZ_GRAPHENE
+ // Restart required
+ 'layers.async-pan-zoom.enabled': false,
+#endif
'layout.display-list.dump': false,
'mms.debugging.enabled': false,
'network.debugging.enabled': false,
diff --git a/b2g/chrome/content/shell.css b/b2g/chrome/content/shell.css
index 9043feec0c4..3695f3b3591 100644
--- a/b2g/chrome/content/shell.css
+++ b/b2g/chrome/content/shell.css
@@ -25,4 +25,51 @@ iframe {
top: 0;
right: 0;
bottom: 0;
+ z-index: 1;
}
+
+%ifdef MOZ_GRAPHENE
+
+body.content-loaded > #installing {
+ display: none;
+}
+
+#installing {
+ z-index: 2;
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: #F1C40F;
+ color: #FFF;
+}
+
+.throbber {
+ width: 3px;
+ height: 3px;
+ border-radius: 100px;
+ background-color: #FFF;
+ animation-name: throbber;
+ animation-duration: 1500ms;
+ animation-iteration-count: infinite;
+ animation-timing-function: linear;
+}
+
+@keyframes throbber{
+ from {
+ transform: scale(0);
+ opacity: 0.4;
+ }
+ to {
+ transform: scale(400);
+ opacity: 0;
+ }
+}
+
+%endif
diff --git a/b2g/chrome/content/shell.html b/b2g/chrome/content/shell.html
index 7d2b620fc7c..4148cb4c654 100644
--- a/b2g/chrome/content/shell.html
+++ b/b2g/chrome/content/shell.html
@@ -8,6 +8,11 @@
windowtype="navigator:browser"
#ifdef ANDROID
sizemode="fullscreen"
+#endif
+#ifdef MOZ_GRAPHENE
+ macanimationtype="document"
+ fullscreenbutton="true"
+ chromemargin="0,0,0,0"
#endif
>
@@ -26,6 +31,7 @@
src="chrome://b2g/content/shell.js">
#ifndef ANDROID
+#ifndef MOZ_GRAPHENE
@@ -35,6 +41,7 @@
+#endif
#else