mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 783092: LightweightThemeConsumer for Fennec. [r=mfinkle, r=bmcbride]
--HG-- extra : rebase_source : ad40e2ef46b31f102bad73a700cedcbeec9a73d5
This commit is contained in:
parent
f58e49a0b1
commit
efdd9e14e9
43
mobile/android/modules/LightweightThemeConsumer.jsm
Normal file
43
mobile/android/modules/LightweightThemeConsumer.jsm
Normal file
@ -0,0 +1,43 @@
|
||||
/* 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/. */
|
||||
|
||||
let EXPORTED_SYMBOLS = ["LightweightThemeConsumer"];
|
||||
let Cc = Components.classes;
|
||||
let Ci = Components.interfaces;
|
||||
|
||||
Components.utils.import("resource://gre/modules/Services.jsm");
|
||||
Components.utils.import("resource://gre/modules/LightweightThemeManager.jsm");
|
||||
|
||||
function LightweightThemeConsumer(aDocument) {
|
||||
this._doc = aDocument;
|
||||
Services.obs.addObserver(this, "lightweight-theme-styling-update", false);
|
||||
|
||||
this._update(LightweightThemeManager.currentThemeForDisplay);
|
||||
}
|
||||
|
||||
LightweightThemeConsumer.prototype = {
|
||||
observe: function (aSubject, aTopic, aData) {
|
||||
if (aTopic != "lightweight-theme-styling-update")
|
||||
return;
|
||||
|
||||
this._update(JSON.parse(aData));
|
||||
},
|
||||
|
||||
destroy: function () {
|
||||
Services.obs.removeObserver(this, "lightweight-theme-styling-update");
|
||||
this._doc = null;
|
||||
},
|
||||
|
||||
_update: function (aData) {
|
||||
if (!aData)
|
||||
aData = { headerURL: "", footerURL: "", textcolor: "", accentcolor: "" };
|
||||
|
||||
let active = !!aData.headerURL;
|
||||
|
||||
let msg = active ? { gecko: { type: "LightweightTheme:Update", data: aData } } :
|
||||
{ gecko: { type: "LightweightTheme:Disable" } };
|
||||
let bridge = Cc["@mozilla.org/android/bridge;1"].getService(Ci.nsIAndroidBridge);
|
||||
bridge.handleGeckoMessage(JSON.stringify(msg));
|
||||
}
|
||||
}
|
@ -10,6 +10,7 @@ VPATH = @srcdir@
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
EXTRA_JS_MODULES = \
|
||||
LightweightThemeConsumer.jsm \
|
||||
LocaleRepository.jsm \
|
||||
linuxTypes.jsm \
|
||||
video.jsm \
|
||||
|
@ -70,11 +70,14 @@ EXTRA_JS_MODULES = \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_PP_JS_MODULES = \
|
||||
LightweightThemeConsumer.jsm \
|
||||
PrivateBrowsingUtils.jsm \
|
||||
Services.jsm \
|
||||
WindowDraggingUtils.jsm \
|
||||
Troubleshoot.jsm \
|
||||
$(NULL)
|
||||
|
||||
ifneq (Android,$(OS_TARGET))
|
||||
EXTRA_PP_JS_MODULES += LightweightThemeConsumer.jsm
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
Loading…
Reference in New Issue
Block a user