Bug 1353826 - Move common Fennec theme to GeckoView; r?snorp draft
authorJim Chen <nchen@mozilla.com>
Thu, 18 May 2017 15:29:47 -0400
changeset 580599 218e155e3d46cc50c9a60d14f0c7c34b3bf89668
parent 579443 8601af41344897306fc2a851851dd9a4d1a109df
child 629350 8b2d6b1a25599204dd7e1effe5307c88461276a9
push id59626
push userbmo:nchen@mozilla.com
push dateThu, 18 May 2017 19:30:24 +0000
reviewerssnorp
bugs1353826, 100644
milestone55.0a1
Bug 1353826 - Move common Fennec theme to GeckoView; r?snorp Move Fennec theme files that are common to GeckoView into geckoview.jar, and place them under chrome://geckoview/. These include content stylesheets, accessible-caret images, and video-control images. Update previous URIs to point to the new location. --- .../android/components/MobileComponents.manifest | 2 +- .../components/geckoview/GeckoView.manifest | 3 ++ mobile/android/moz.build | 1 + mobile/android/themes/core/aboutAddons.css | 2 +- mobile/android/themes/core/defines.css | 11 ------- mobile/android/themes/core/jar.mn | 24 -------------- mobile/android/themes/core/netError.css | 4 +-- .../android/themes/{core => geckoview}/content.css | 26 +++++++-------- mobile/android/themes/geckoview/defines.css | 12 +++++++ .../images/accessiblecaret-normal-hdpi.png | Bin .../images/accessiblecaret-normal-xhdpi.png | Bin .../images/accessiblecaret-normal-xxhdpi.png | Bin .../images/accessiblecaret-tilt-left-hdpi.png | Bin .../images/accessiblecaret-tilt-left-xhdpi.png | Bin .../images/accessiblecaret-tilt-left-xxhdpi.png | Bin .../images/accessiblecaret-tilt-right-hdpi.png | Bin .../images/accessiblecaret-tilt-right-xhdpi.png | Bin .../images/accessiblecaret-tilt-right-xxhdpi.png | Bin .../images/dropmarker-right.svg | 0 .../{core => geckoview}/images/dropmarker.svg | 0 .../images/videocontrols-cast-active.svg} | 0 .../images/videocontrols-cast-ready.svg} | 0 .../images/videocontrols-exitfullscreen.svg} | 0 .../images/videocontrols-fullscreen.svg} | 0 .../images/videocontrols-mute.svg} | 0 .../images/videocontrols-pause.svg} | 0 .../images/videocontrols-play.svg} | 0 .../images/videocontrols-scrubber.svg} | 0 .../images/videocontrols-unmute.svg} | 0 mobile/android/themes/geckoview/jar.mn | 35 +++++++++++++++++++++ mobile/android/themes/geckoview/moz.build | 7 +++++ .../themes/{core => geckoview}/scrollbar-apz.css | 0 .../videocontrols.css} | 18 +++++------ 33 files changed, 84 insertions(+), 61 deletions(-) rename mobile/android/themes/{core => geckoview}/content.css (90%) create mode 100644 mobile/android/themes/geckoview/defines.css rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-normal-hdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-normal-xhdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-normal-xxhdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-tilt-left-hdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-tilt-left-xhdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-tilt-left-xxhdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-tilt-right-hdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-tilt-right-xhdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/accessiblecaret-tilt-right-xxhdpi.png (100%) rename mobile/android/themes/{core => geckoview}/images/dropmarker-right.svg (100%) rename mobile/android/themes/{core => geckoview}/images/dropmarker.svg (100%) rename mobile/android/themes/{core/images/cast-active.svg => geckoview/images/videocontrols-cast-active.svg} (100%) rename mobile/android/themes/{core/images/cast-ready.svg => geckoview/images/videocontrols-cast-ready.svg} (100%) rename mobile/android/themes/{core/images/exitfullscreen.svg => geckoview/images/videocontrols-exitfullscreen.svg} (100%) rename mobile/android/themes/{core/images/fullscreen.svg => geckoview/images/videocontrols-fullscreen.svg} (100%) rename mobile/android/themes/{core/images/mute.svg => geckoview/images/videocontrols-mute.svg} (100%) rename mobile/android/themes/{core/images/pause.svg => geckoview/images/videocontrols-pause.svg} (100%) rename mobile/android/themes/{core/images/play.svg => geckoview/images/videocontrols-play.svg} (100%) rename mobile/android/themes/{core/images/scrubber.svg => geckoview/images/videocontrols-scrubber.svg} (100%) rename mobile/android/themes/{core/images/unmute.svg => geckoview/images/videocontrols-unmute.svg} (100%) create mode 100644 mobile/android/themes/geckoview/jar.mn create mode 100644 mobile/android/themes/geckoview/moz.build rename mobile/android/themes/{core => geckoview}/scrollbar-apz.css (100%) rename mobile/android/themes/{core/touchcontrols.css => geckoview/videocontrols.css} (84%) MozReview-Commit-ID: 9yrIDPwYRZL
mobile/android/components/MobileComponents.manifest
mobile/android/components/geckoview/GeckoView.manifest
mobile/android/moz.build
mobile/android/themes/core/aboutAddons.css
mobile/android/themes/core/content.css
mobile/android/themes/core/defines.css
mobile/android/themes/core/images/accessiblecaret-normal-hdpi.png
mobile/android/themes/core/images/accessiblecaret-normal-xhdpi.png
mobile/android/themes/core/images/accessiblecaret-normal-xxhdpi.png
mobile/android/themes/core/images/accessiblecaret-tilt-left-hdpi.png
mobile/android/themes/core/images/accessiblecaret-tilt-left-xhdpi.png
mobile/android/themes/core/images/accessiblecaret-tilt-left-xxhdpi.png
mobile/android/themes/core/images/accessiblecaret-tilt-right-hdpi.png
mobile/android/themes/core/images/accessiblecaret-tilt-right-xhdpi.png
mobile/android/themes/core/images/accessiblecaret-tilt-right-xxhdpi.png
mobile/android/themes/core/images/cast-active.svg
mobile/android/themes/core/images/cast-ready.svg
mobile/android/themes/core/images/dropmarker-right.svg
mobile/android/themes/core/images/dropmarker.svg
mobile/android/themes/core/images/exitfullscreen.svg
mobile/android/themes/core/images/fullscreen.svg
mobile/android/themes/core/images/mute.svg
mobile/android/themes/core/images/pause.svg
mobile/android/themes/core/images/play.svg
mobile/android/themes/core/images/scrubber.svg
mobile/android/themes/core/images/unmute.svg
mobile/android/themes/core/jar.mn
mobile/android/themes/core/netError.css
mobile/android/themes/core/scrollbar-apz.css
mobile/android/themes/core/touchcontrols.css
mobile/android/themes/geckoview/content.css
mobile/android/themes/geckoview/defines.css
mobile/android/themes/geckoview/images/accessiblecaret-normal-hdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-normal-xhdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-normal-xxhdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-hdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-xhdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-xxhdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-hdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-xhdpi.png
mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-xxhdpi.png
mobile/android/themes/geckoview/images/dropmarker-right.svg
mobile/android/themes/geckoview/images/dropmarker.svg
mobile/android/themes/geckoview/images/videocontrols-cast-active.svg
mobile/android/themes/geckoview/images/videocontrols-cast-ready.svg
mobile/android/themes/geckoview/images/videocontrols-exitfullscreen.svg
mobile/android/themes/geckoview/images/videocontrols-fullscreen.svg
mobile/android/themes/geckoview/images/videocontrols-mute.svg
mobile/android/themes/geckoview/images/videocontrols-pause.svg
mobile/android/themes/geckoview/images/videocontrols-play.svg
mobile/android/themes/geckoview/images/videocontrols-scrubber.svg
mobile/android/themes/geckoview/images/videocontrols-unmute.svg
mobile/android/themes/geckoview/jar.mn
mobile/android/themes/geckoview/moz.build
mobile/android/themes/geckoview/scrollbar-apz.css
mobile/android/themes/geckoview/videocontrols.css
--- a/mobile/android/components/MobileComponents.manifest
+++ b/mobile/android/components/MobileComponents.manifest
@@ -19,17 +19,17 @@ contract @mozilla.org/network/protocol/a
 contract @mozilla.org/network/protocol/about;1?what=logins {322ba47e-7047-4f71-aebf-cb7d69325cd9}
 
 # DirectoryProvider.js
 component {ef0f7a87-c1ee-45a8-8d67-26f586e46a4b} DirectoryProvider.js
 contract @mozilla.org/browser/directory-provider;1 {ef0f7a87-c1ee-45a8-8d67-26f586e46a4b}
 category xpcom-directory-providers browser-directory-provider @mozilla.org/browser/directory-provider;1
 
 # stylesheets
-category agent-style-sheets browser-content-stylesheet chrome://browser/skin/content.css
+category agent-style-sheets browser-content-stylesheet chrome://geckoview/skin/content.css
 
 # SessionStore.js
 component {8c1f07d6-cba3-4226-a315-8bd43d67d032} SessionStore.js
 contract @mozilla.org/browser/sessionstore;1 {8c1f07d6-cba3-4226-a315-8bd43d67d032}
 category app-startup SessionStore service,@mozilla.org/browser/sessionstore;1
 
 # ContentPermissionPrompt.js
 component {C6E8C44D-9F39-4AF7-BCC0-76E38A8310F5} ContentPermissionPrompt.js
--- a/mobile/android/components/geckoview/GeckoView.manifest
+++ b/mobile/android/components/geckoview/GeckoView.manifest
@@ -1,8 +1,11 @@
+# Stylesheets
+category agent-style-sheets browser-content-stylesheet chrome://geckoview/skin/content.css
+
 # GeckoViewPrompt.js
 component {076ac188-23c1-4390-aa08-7ef1f78ca5d9} GeckoViewPrompt.js
 contract @mozilla.org/embedcomp/prompt-service;1 {076ac188-23c1-4390-aa08-7ef1f78ca5d9}
 contract @mozilla.org/prompter;1 {076ac188-23c1-4390-aa08-7ef1f78ca5d9}
 category app-startup GeckoViewPrompt service,@mozilla.org/prompter;1
 category profile-after-change GeckoViewPrompt @mozilla.org/prompter;1 process=main
 component {aa0dd6fc-73dd-4621-8385-c0b377e02cee} GeckoViewPrompt.js process=main
 contract @mozilla.org/colorpicker;1 {aa0dd6fc-73dd-4621-8385-c0b377e02cee} process=main
--- a/mobile/android/moz.build
+++ b/mobile/android/moz.build
@@ -61,16 +61,17 @@ if CONFIG['MOZ_ANDROID_MLS_STUMBLER']:
 
 DIRS += [
     'base',
     'chrome',
     'components',
     'extensions',
     'modules',
     'themes/core',
+    'themes/geckoview',
     'app',
     'fonts',
 ]
 
 if CONFIG['MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER']:
     DIRS += ['bouncer'] # No ordering implied with respect to base.
 
 TEST_DIRS += [
--- a/mobile/android/themes/core/aboutAddons.css
+++ b/mobile/android/themes/core/aboutAddons.css
@@ -236,17 +236,17 @@ menulist {
 menulist > dropmarker {
   height: 1.8em;
   width: 1.8em;
   margin-left: var(--margin_snormal);
   background-color: transparent;
   border: none;
   -moz-box-align: center;
   -moz-box-pack: center;
-  list-style-image: url("chrome://browser/skin/images/dropmarker.svg") !important;
+  list-style-image: url("chrome://geckoview/skin/images/dropmarker.svg") !important;
   -moz-image-region: auto;
   display: block;
 }
 
 /* Select */
 
 select {
   min-width: 200px;
--- a/mobile/android/themes/core/defines.css
+++ b/mobile/android/themes/core/defines.css
@@ -1,18 +1,7 @@
 :root {
-	--form_border: #bfbfbf;
-	--form_border_radius: 2px;
-	--form_text: #363b40;
-	--form_text_disabled: #bebebe;
-	--form_background: white;
-	--form_background_disabled: #f5f5f5;
-
 	--color_about_background: #f5f5f5;
 	--color_about_item: #ffffff;
 	--color_about_item_border: #d7d9db;
 
-	--color_background_highlight: rgba(255, 149, 0, 0.6);
-	--color_background_highlight_overlay: rgba(171, 171, 171, 0.5);
-	--color_text_highlight: #000;
-
 	--margin_snormal: 0.64mm;
 }
--- a/mobile/android/themes/core/jar.mn
+++ b/mobile/android/themes/core/jar.mn
@@ -16,30 +16,26 @@ chrome.jar:
   skin/aboutHealthReport.css                (aboutHealthReport.css)
 #endif
   skin/aboutMemory.css                      (aboutMemory.css)
   skin/aboutPrivateBrowsing.css             (aboutPrivateBrowsing.css)
   skin/aboutReader.css                      (aboutReader.css)
   skin/aboutReaderContent.css               (aboutReaderContent.css)
   skin/aboutReaderControls.css              (aboutReaderControls.css)
   skin/aboutSupport.css                     (aboutSupport.css)
-  skin/content.css                          (content.css)
-  skin/scrollbar.css                        (scrollbar-apz.css)
   skin/config.css                           (config.css)
   skin/defines.css                          (defines.css)
-  skin/touchcontrols.css                    (touchcontrols.css)
   skin/netError.css                         (netError.css)
   skin/spinner.css                          (spinner.css)
 % override chrome://global/skin/about.css chrome://browser/skin/about.css
 % override chrome://global/skin/aboutMemory.css chrome://browser/skin/aboutMemory.css
 % override chrome://global/skin/aboutReader.css chrome://browser/skin/aboutReader.css
 % override chrome://global/skin/aboutReaderContent.css chrome://browser/skin/aboutReaderContent.css
 % override chrome://global/skin/aboutReaderControls.css chrome://browser/skin/aboutReaderControls.css
 % override chrome://global/skin/aboutSupport.css chrome://browser/skin/aboutSupport.css
-% override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css
 % override chrome://global/skin/netError.css chrome://browser/skin/netError.css
 
   skin/aboutLogins.css                      (aboutLogins.css)
 
   skin/images/search.png                    (images/search.png)
   skin/images/lock.png                      (images/lock.png)
   skin/images/textfield.png                 (images/textfield.png)
 
@@ -50,50 +46,30 @@ chrome.jar:
   skin/images/checkbox_checked.png          (images/checkbox_checked.png)
   skin/images/checkbox_checked_disabled.png (images/checkbox_checked_disabled.png)
   skin/images/checkbox_checked_pressed.png  (images/checkbox_checked_pressed.png)
   skin/images/checkbox_unchecked.png          (images/checkbox_unchecked.png)
   skin/images/checkbox_unchecked_disabled.png (images/checkbox_unchecked_disabled.png)
   skin/images/checkbox_unchecked_pressed.png  (images/checkbox_unchecked_pressed.png)
   skin/images/chevron.png                   (images/chevron.png)
   skin/images/chevron-rtl.png               (images/chevron-rtl.png)
-  skin/images/dropmarker.svg                (images/dropmarker.svg)
-  skin/images/dropmarker-right.svg          (images/dropmarker-right.svg)
   skin/images/errorpage-warning.png         (images/errorpage-warning.png)
-  skin/images/exitfullscreen.svg            (images/exitfullscreen.svg)
-  skin/images/fullscreen.svg                (images/fullscreen.svg)
   skin/images/grey-caution.svg              (images/grey-caution.svg)
   skin/images/certerror-warning.png         (images/certerror-warning.png)
   skin/images/throbber.png                  (images/throbber.png)
   skin/images/search-clear-30.png           (images/search-clear-30.png)
   skin/images/placeholder_image.svg         (images/placeholder_image.svg)
-  skin/images/play.svg                 (images/play.svg)
-  skin/images/pause.svg                (images/pause.svg)
-  skin/images/cast-ready.svg           (images/cast-ready.svg)
-  skin/images/cast-active.svg          (images/cast-active.svg)
-  skin/images/mute.svg                 (images/mute.svg)
-  skin/images/unmute.svg               (images/unmute.svg)
-  skin/images/scrubber.svg             (images/scrubber.svg)
   skin/images/about-btn-darkgrey.png        (images/about-btn-darkgrey.png)
   skin/images/logo-hdpi.png                 (images/logo-hdpi.png)
   skin/images/wordmark-hdpi.png             (images/wordmark-hdpi.png)
   skin/images/config-plus.png               (images/config-plus.png)
   skin/images/reader-minus-hdpi.png              (images/reader-minus-hdpi.png)
   skin/images/reader-minus-xhdpi.png             (images/reader-minus-xhdpi.png)
   skin/images/reader-minus-xxhdpi.png            (images/reader-minus-xxhdpi.png)
   skin/images/reader-plus-hdpi.png               (images/reader-plus-hdpi.png)
   skin/images/reader-plus-xhdpi.png              (images/reader-plus-xhdpi.png)
   skin/images/reader-plus-xxhdpi.png             (images/reader-plus-xxhdpi.png)
   skin/images/reader-style-icon-hdpi.png         (images/reader-style-icon-hdpi.png)
   skin/images/reader-style-icon-xhdpi.png        (images/reader-style-icon-xhdpi.png)
   skin/images/reader-style-icon-xxhdpi.png       (images/reader-style-icon-xxhdpi.png)
   skin/images/privatebrowsing-mask.png           (images/privatebrowsing-mask.png)
   skin/images/privatebrowsing-mask-and-shield.svg (images/privatebrowsing-mask-and-shield.svg)
   skin/images/icon_key_emptypage.svg             (images/icon_key_emptypage.svg)
-  skin/images/accessiblecaret-normal-hdpi.png       (images/accessiblecaret-normal-hdpi.png)
-  skin/images/accessiblecaret-normal-xhdpi.png      (images/accessiblecaret-normal-xhdpi.png)
-  skin/images/accessiblecaret-normal-xxhdpi.png     (images/accessiblecaret-normal-xxhdpi.png)
-  skin/images/accessiblecaret-tilt-left-hdpi.png    (images/accessiblecaret-tilt-left-hdpi.png)
-  skin/images/accessiblecaret-tilt-left-xhdpi.png   (images/accessiblecaret-tilt-left-xhdpi.png)
-  skin/images/accessiblecaret-tilt-left-xxhdpi.png  (images/accessiblecaret-tilt-left-xxhdpi.png)
-  skin/images/accessiblecaret-tilt-right-hdpi.png   (images/accessiblecaret-tilt-right-hdpi.png)
-  skin/images/accessiblecaret-tilt-right-xhdpi.png  (images/accessiblecaret-tilt-right-xhdpi.png)
-  skin/images/accessiblecaret-tilt-right-xxhdpi.png (images/accessiblecaret-tilt-right-xxhdpi.png)
--- a/mobile/android/themes/core/netError.css
+++ b/mobile/android/themes/core/netError.css
@@ -132,26 +132,26 @@ button.inProgress {
  * <div collapsed="true/false">
  *   <h2 class="expander">Title</h2>
  *   <p>Content</p>
  * </div>
  *
  * This shows an arrow to the right of the h2 element, and hides the content when collapsed="true". */
 .expander {
   margin: var(--moz-vertical-spacing) 0;
-  background-image: url("chrome://browser/skin/images/dropmarker.svg");
+  background-image: url("chrome://geckoview/skin/images/dropmarker.svg");
   background-repeat: no-repeat;
   /* dropmarker.svg is 10x7. Ensure that its centered in the middle of an 18x18 box */
   background-position: 3px 5.5px;
   background-size: 10px 7px;
   padding-left: 18px;
 }
 
 div[collapsed="true"] > .expander {
-  background-image: url("chrome://browser/skin/images/dropmarker-right.svg");
+  background-image: url("chrome://geckoview/skin/images/dropmarker-right.svg");
   /* dropmarker.svg is 7x10. Ensure that its centered in the middle of an 18x18 box */
   background-size: 7px 10px;
   background-position: 5.5px 4px;
 }
 
 div[hidden] > .expander,
 div[hidden] > .expander + *,
 div[collapsed="true"] > .expander + * {
rename from mobile/android/themes/core/content.css
rename to mobile/android/themes/geckoview/content.css
--- a/mobile/android/themes/core/content.css
+++ b/mobile/android/themes/geckoview/content.css
@@ -196,17 +196,17 @@ select > button {
   border-width: 0px !important;
   margin: 0px !important;
   padding: 0px !important;
   border-radius: 0;
   color: #414141;
 
   background-size: auto auto;
   background-color: transparent;
-  background-image: url("chrome://browser/skin/images/dropmarker.svg") !important;
+  background-image: url("chrome://geckoview/skin/images/dropmarker.svg") !important;
   background-position: calc(50% + 1px) center !important;
   background-repeat: no-repeat !important;
 
   font-size: inherit;
 }
 
 select[size]:focus,
 select[multiple]:focus,
@@ -351,70 +351,70 @@ div:-moz-native-anonymous.moz-accessible
   left: -59%;
 }
 
 div:-moz-native-anonymous.moz-accessiblecaret > #image {
   padding-bottom: 59%; /* Enlarge the touch area. */
 }
 
 div:-moz-native-anonymous.moz-accessiblecaret.normal > #image {
-  background-image: url("chrome://browser/skin/images/accessiblecaret-normal-hdpi.png");
+  background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-hdpi.png");
 }
 
 div:-moz-native-anonymous.moz-accessiblecaret.left > #text-overlay,
 div:-moz-native-anonymous.moz-accessiblecaret.left > #image {
   margin-left: -50%;
 }
 
 div:-moz-native-anonymous.moz-accessiblecaret.left > #image {
-  background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-hdpi.png");
+  background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-hdpi.png");
 }
 
 div:-moz-native-anonymous.moz-accessiblecaret.right > #text-overlay,
 div:-moz-native-anonymous.moz-accessiblecaret.right > #image {
   margin-left: 47%;
 }
 
 div:-moz-native-anonymous.moz-accessiblecaret.right > #image {
-  background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-hdpi.png");
+  background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-hdpi.png");
 }
 
 @media (min-resolution: 1.5dppx) {
   div:-moz-native-anonymous.moz-accessiblecaret.normal > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-normal-hdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-hdpi.png");
   }
 
   div:-moz-native-anonymous.moz-accessiblecaret.left > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-hdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-hdpi.png");
   }
 
   div:-moz-native-anonymous.moz-accessiblecaret.right > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-hdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-hdpi.png");
   }
 }
 
 @media (min-resolution: 2dppx) {
   div:-moz-native-anonymous.moz-accessiblecaret.normal > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-normal-xhdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-xhdpi.png");
   }
 
   div:-moz-native-anonymous.moz-accessiblecaret.left > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-xhdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-xhdpi.png");
   }
 
   div:-moz-native-anonymous.moz-accessiblecaret.right > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-xhdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-xhdpi.png");
   }
 }
 
 @media (min-resolution: 2.25dppx) {
   div:-moz-native-anonymous.moz-accessiblecaret.normal > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-normal-xxhdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-xxhdpi.png");
   }
 
   div:-moz-native-anonymous.moz-accessiblecaret.left > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-xxhdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-xxhdpi.png");
   }
 
   div:-moz-native-anonymous.moz-accessiblecaret.right > #image {
-    background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-xxhdpi.png");
+    background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-xxhdpi.png");
   }
 }
new file mode 100644
--- /dev/null
+++ b/mobile/android/themes/geckoview/defines.css
@@ -0,0 +1,12 @@
+:root {
+	--color_background_highlight: rgba(255, 149, 0, 0.6);
+	--color_background_highlight_overlay: rgba(171, 171, 171, 0.5);
+	--color_text_highlight: #000;
+
+	--form_border: #bfbfbf;
+	--form_border_radius: 2px;
+	--form_text: #363b40;
+	--form_text_disabled: #bebebe;
+	--form_background: white;
+	--form_background_disabled: #f5f5f5;
+}
rename from mobile/android/themes/core/images/accessiblecaret-normal-hdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-normal-hdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-normal-xhdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-normal-xhdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-normal-xxhdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-normal-xxhdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-tilt-left-hdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-hdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-tilt-left-xhdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-xhdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-tilt-left-xxhdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-xxhdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-tilt-right-hdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-hdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-tilt-right-xhdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-xhdpi.png
rename from mobile/android/themes/core/images/accessiblecaret-tilt-right-xxhdpi.png
rename to mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-xxhdpi.png
rename from mobile/android/themes/core/images/dropmarker-right.svg
rename to mobile/android/themes/geckoview/images/dropmarker-right.svg
rename from mobile/android/themes/core/images/dropmarker.svg
rename to mobile/android/themes/geckoview/images/dropmarker.svg
rename from mobile/android/themes/core/images/cast-active.svg
rename to mobile/android/themes/geckoview/images/videocontrols-cast-active.svg
rename from mobile/android/themes/core/images/cast-ready.svg
rename to mobile/android/themes/geckoview/images/videocontrols-cast-ready.svg
rename from mobile/android/themes/core/images/exitfullscreen.svg
rename to mobile/android/themes/geckoview/images/videocontrols-exitfullscreen.svg
rename from mobile/android/themes/core/images/fullscreen.svg
rename to mobile/android/themes/geckoview/images/videocontrols-fullscreen.svg
rename from mobile/android/themes/core/images/mute.svg
rename to mobile/android/themes/geckoview/images/videocontrols-mute.svg
rename from mobile/android/themes/core/images/pause.svg
rename to mobile/android/themes/geckoview/images/videocontrols-pause.svg
rename from mobile/android/themes/core/images/play.svg
rename to mobile/android/themes/geckoview/images/videocontrols-play.svg
rename from mobile/android/themes/core/images/scrubber.svg
rename to mobile/android/themes/geckoview/images/videocontrols-scrubber.svg
rename from mobile/android/themes/core/images/unmute.svg
rename to mobile/android/themes/geckoview/images/videocontrols-unmute.svg
new file mode 100644
--- /dev/null
+++ b/mobile/android/themes/geckoview/jar.mn
@@ -0,0 +1,35 @@
+#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/.
+
+geckoview.jar:
+
+% skin geckoview classic/1.0 %skin/
+  skin/content.css                          (content.css)
+  skin/defines.css                          (defines.css)
+  skin/scrollbar.css                        (scrollbar-apz.css)
+  skin/videocontrols.css                    (videocontrols.css)
+
+  skin/images/accessiblecaret-normal-hdpi.png       (images/accessiblecaret-normal-hdpi.png)
+  skin/images/accessiblecaret-normal-xhdpi.png      (images/accessiblecaret-normal-xhdpi.png)
+  skin/images/accessiblecaret-normal-xxhdpi.png     (images/accessiblecaret-normal-xxhdpi.png)
+  skin/images/accessiblecaret-tilt-left-hdpi.png    (images/accessiblecaret-tilt-left-hdpi.png)
+  skin/images/accessiblecaret-tilt-left-xhdpi.png   (images/accessiblecaret-tilt-left-xhdpi.png)
+  skin/images/accessiblecaret-tilt-left-xxhdpi.png  (images/accessiblecaret-tilt-left-xxhdpi.png)
+  skin/images/accessiblecaret-tilt-right-hdpi.png   (images/accessiblecaret-tilt-right-hdpi.png)
+  skin/images/accessiblecaret-tilt-right-xhdpi.png  (images/accessiblecaret-tilt-right-xhdpi.png)
+  skin/images/accessiblecaret-tilt-right-xxhdpi.png (images/accessiblecaret-tilt-right-xxhdpi.png)
+  skin/images/dropmarker.svg                        (images/dropmarker.svg)
+  skin/images/dropmarker-right.svg                  (images/dropmarker-right.svg)
+  skin/images/videocontrols-cast-ready.svg          (images/videocontrols-cast-ready.svg)
+  skin/images/videocontrols-cast-active.svg         (images/videocontrols-cast-active.svg)
+  skin/images/videocontrols-exitfullscreen.svg      (images/videocontrols-exitfullscreen.svg)
+  skin/images/videocontrols-fullscreen.svg          (images/videocontrols-fullscreen.svg)
+  skin/images/videocontrols-mute.svg                (images/videocontrols-mute.svg)
+  skin/images/videocontrols-play.svg                (images/videocontrols-play.svg)
+  skin/images/videocontrols-pause.svg               (images/videocontrols-pause.svg)
+  skin/images/videocontrols-scrubber.svg            (images/videocontrols-scrubber.svg)
+  skin/images/videocontrols-unmute.svg              (images/videocontrols-unmute.svg)
+
+% override chrome://global/skin/media/videocontrols.css chrome://geckoview/skin/videocontrols.css
new file mode 100644
--- /dev/null
+++ b/mobile/android/themes/geckoview/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; 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
rename from mobile/android/themes/core/scrollbar-apz.css
rename to mobile/android/themes/geckoview/scrollbar-apz.css
rename from mobile/android/themes/core/touchcontrols.css
rename to mobile/android/themes/geckoview/videocontrols.css
--- a/mobile/android/themes/core/touchcontrols.css
+++ b/mobile/android/themes/geckoview/videocontrols.css
@@ -41,69 +41,69 @@
   -moz-appearance: none;
   padding: 15px;
   border: none !important;
   width: 48px;
   height: 48px;
 }
 
 .playButton {
-  background: url("chrome://browser/skin/images/pause.svg") no-repeat center;
+  background: url("chrome://geckoview/skin/images/videocontrols-pause.svg") no-repeat center;
   background-size: contain;
   background-origin: content-box;
 }
 
 .playButton[paused="true"] {
-  background: url("chrome://browser/skin/images/play.svg") no-repeat center;
+  background: url("chrome://geckoview/skin/images/videocontrols-play.svg") no-repeat center;
   background-size: contain;
   background-origin: content-box;
 }
 
 .castingButton {
-  background: url("chrome://browser/skin/images/cast-ready.svg") no-repeat center;
+  background: url("chrome://geckoview/skin/images/videocontrols-cast-ready.svg") no-repeat center;
   background-size: contain;
   background-origin: content-box;
 }
 
 .castingButton[active="true"] {
-  background: url("chrome://browser/skin/images/cast-active.svg") no-repeat center;
+  background: url("chrome://geckoview/skin/images/videocontrols-cast-active.svg") no-repeat center;
   background-size: contain;
   background-origin: content-box;
 }
 
 /* If the casting button is showing, there will be two buttons on the right side of the controls.
  * This shifts the play button to be centered.
  */
 .castingButton:not([hidden="true"]) + .fullscreenButton + spacer + .playButton {
   transform: translateX(-21px);
 }
 
 .muteButton {
   padding-left: 17.25px;
   padding-right: 9.75px;
-  background: url("chrome://browser/skin/images/mute.svg") no-repeat left;
+  background: url("chrome://geckoview/skin/images/videocontrols-mute.svg") no-repeat left;
   background-size: contain;
   background-origin: content-box;
 }
 
 .muteButton[muted="true"] {
-  background: url("chrome://browser/skin/images/unmute.svg") no-repeat left;
+  background: url("chrome://geckoview/skin/images/videocontrols-unmute.svg") no-repeat left;
   background-size: contain;
   background-origin: content-box;
 }
 
 .fullscreenButton {
   background-color: transparent;
-  background: url("chrome://browser/skin/images/fullscreen.svg") no-repeat center;
+  background: url("chrome://geckoview/skin/images/videocontrols-fullscreen.svg") no-repeat center;
   background-size: contain;
   background-origin: content-box;
 }
 
 .fullscreenButton[fullscreened] {
-  background: url("chrome://browser/skin/images/exitfullscreen.svg") no-repeat center;
+  background: url("chrome://geckoview/skin/images/videocontrols-exitfullscreen.svg") no-repeat center;
   background-size: contain;
   background-origin: content-box;
 }
 
 .controlBar[fullscreen-unavailable] .fullscreenButton {
   display: none;
 }
 
@@ -159,17 +159,17 @@
   margin-left: -12px;
   margin-right: -12px;
 }
 
 .scrubber .scale-thumb {
   display: -moz-box;
   margin: 0px !important;
   padding: 0px !important;
-  background: url("chrome://browser/skin/images/scrubber.svg") no-repeat center;
+  background: url("chrome://geckoview/skin/images/videocontrols-scrubber.svg") no-repeat center;
   background-size: 12px 12px;
   height: 32px;
   width: 32px;
 }
 
 .positionLabel, .durationLabel {
   font-family: 'Roboto', Helvetica, Arial, sans-serif;
   font-size: 16px;