mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-22 23:27:30 +09:00
[PALEMOON] Update UA Compatibility modes in a backwards compatible way
This commit is contained in:
parent
de0621cc7e
commit
8bc4f6c65f
4 changed files with 54 additions and 0 deletions
45
application/palemoon/base/content/browser-uacompat.js
Normal file
45
application/palemoon/base/content/browser-uacompat.js
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
/* 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/. */
|
||||||
|
|
||||||
|
var UserAgentCompatibility = {
|
||||||
|
PREF_UA_COMPAT: "general.useragent.compatMode",
|
||||||
|
PREF_UA_COMPAT_GECKO: "general.useragent.compatMode.gecko",
|
||||||
|
PREF_UA_COMPAT_FIREFOX: "general.useragent.compatMode.firefox",
|
||||||
|
|
||||||
|
init: function() {
|
||||||
|
this.checkPreferences();
|
||||||
|
Services.prefs.addObserver(this.PREF_UA_COMPAT, this, false);
|
||||||
|
Services.prefs.addObserver(this.PREF_UA_COMPAT_GECKO, this, false);
|
||||||
|
Services.prefs.addObserver(this.PREF_UA_COMPAT_FIREFOX, this, false);
|
||||||
|
},
|
||||||
|
|
||||||
|
uninit: function() {
|
||||||
|
Services.prefs.removeObserver(this.PREF_UA_COMPAT, this, false);
|
||||||
|
Services.prefs.removeObserver(this.PREF_UA_COMPAT_GECKO, this, false);
|
||||||
|
Services.prefs.removeObserver(this.PREF_UA_COMPAT_FIREFOX, this, false);
|
||||||
|
},
|
||||||
|
|
||||||
|
observe: function() {
|
||||||
|
this.checkPreferences();
|
||||||
|
},
|
||||||
|
|
||||||
|
checkPreferences: function() {
|
||||||
|
var compatMode = Services.prefs.getIntPref(this.PREF_UA_COMPAT);
|
||||||
|
|
||||||
|
switch(compatMode) {
|
||||||
|
case 0:
|
||||||
|
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, false);
|
||||||
|
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, false);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, true);
|
||||||
|
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, false);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, true);
|
||||||
|
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -7,6 +7,7 @@ var Ci = Components.interfaces;
|
||||||
var Cu = Components.utils;
|
var Cu = Components.utils;
|
||||||
|
|
||||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||||
|
Cu.import("resource://gre/modules/Services.jsm");
|
||||||
Cu.import("resource:///modules/RecentWindow.jsm");
|
Cu.import("resource:///modules/RecentWindow.jsm");
|
||||||
|
|
||||||
XPCOMUtils.defineLazyModuleGetter(this, "CharsetMenu",
|
XPCOMUtils.defineLazyModuleGetter(this, "CharsetMenu",
|
||||||
|
|
@ -141,6 +142,7 @@ let gInitialPages = [
|
||||||
#include browser-plugins.js
|
#include browser-plugins.js
|
||||||
#include browser-tabPreviews.js
|
#include browser-tabPreviews.js
|
||||||
#include browser-thumbnails.js
|
#include browser-thumbnails.js
|
||||||
|
#include browser-uacompat.js
|
||||||
|
|
||||||
#ifdef MOZ_WEBRTC
|
#ifdef MOZ_WEBRTC
|
||||||
#include browser-webrtcUI.js
|
#include browser-webrtcUI.js
|
||||||
|
|
@ -917,6 +919,7 @@ var gBrowserInit = {
|
||||||
TabsInTitlebar.init();
|
TabsInTitlebar.init();
|
||||||
retrieveToolbarIconsizesFromTheme();
|
retrieveToolbarIconsizesFromTheme();
|
||||||
ToolbarIconColor.init();
|
ToolbarIconColor.init();
|
||||||
|
UserAgentCompatibility.init();
|
||||||
|
|
||||||
#ifdef XP_WIN
|
#ifdef XP_WIN
|
||||||
if (window.matchMedia("(-moz-os-version: windows-win8)").matches &&
|
if (window.matchMedia("(-moz-os-version: windows-win8)").matches &&
|
||||||
|
|
@ -1293,6 +1296,8 @@ var gBrowserInit = {
|
||||||
DevToolsTheme.uninit();
|
DevToolsTheme.uninit();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
UserAgentCompatibility.uninit();
|
||||||
|
|
||||||
var enumerator = Services.wm.getEnumerator(null);
|
var enumerator = Services.wm.getEnumerator(null);
|
||||||
enumerator.getNext();
|
enumerator.getNext();
|
||||||
if (!enumerator.hasMoreElements()) {
|
if (!enumerator.hasMoreElements()) {
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ pref("app.releaseNotesURL", "http://www.palemoon.org/releasenotes.shtml");
|
||||||
|
|
||||||
// Enable Firefox compatmode by default.
|
// Enable Firefox compatmode by default.
|
||||||
pref("general.useragent.compatMode", 2);
|
pref("general.useragent.compatMode", 2);
|
||||||
|
pref("general.useragent.compatMode.gecko", true);
|
||||||
|
pref("general.useragent.compatMode.firefox", true);
|
||||||
|
|
||||||
// ========================= updates ========================
|
// ========================= updates ========================
|
||||||
#if defined(XP_WIN)
|
#if defined(XP_WIN)
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ pref("app.releaseNotesURL", "http://www.palemoon.org/unstable/releasenotes.shtml
|
||||||
|
|
||||||
// Enable Firefox compatmode by default.
|
// Enable Firefox compatmode by default.
|
||||||
pref("general.useragent.compatMode", 2);
|
pref("general.useragent.compatMode", 2);
|
||||||
|
pref("general.useragent.compatMode.gecko", true);
|
||||||
|
pref("general.useragent.compatMode.firefox", true);
|
||||||
|
|
||||||
// ========================= updates ========================
|
// ========================= updates ========================
|
||||||
#if defined(XP_WIN)
|
#if defined(XP_WIN)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue