diff --git a/application/palemoon/base/content/browser-addons.js b/application/palemoon/base/content/browser-addons.js index f5c398f33a..630a0cf79c 100644 --- a/application/palemoon/base/content/browser-addons.js +++ b/application/palemoon/base/content/browser-addons.js @@ -263,7 +263,7 @@ var AddonsMgrListener = { onDisabled: function(aAddon) this.onUninstalled(), }; - +#ifdef MOZ_PERSONAS var LightWeightThemeWebInstaller = { handleEvent: function (event) { switch (event.type) { @@ -534,3 +534,4 @@ var LightweightThemeListener = { this.updateStyleSheet("url(" + themeData.headerURL + ")"); }, }; +#endif diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index a040967066..c3a8243642 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -1216,9 +1216,11 @@ var gBrowserInit = { placesContext.addEventListener("popuphiding", updateEditUIVisibility, false); #endif +#ifdef MOZ_PERSONAS gBrowser.mPanelContainer.addEventListener("InstallBrowserTheme", LightWeightThemeWebInstaller, false, true); gBrowser.mPanelContainer.addEventListener("PreviewBrowserTheme", LightWeightThemeWebInstaller, false, true); gBrowser.mPanelContainer.addEventListener("ResetBrowserThemePreview", LightWeightThemeWebInstaller, false, true); +#endif // Bug 666808 - AeroPeek support for e10s if (!gMultiProcessBrowser) { diff --git a/application/palemoon/base/content/browser.xul b/application/palemoon/base/content/browser.xul index ddc305a7b8..0a249afa97 100644 --- a/application/palemoon/base/content/browser.xul +++ b/application/palemoon/base/content/browser.xul @@ -53,8 +53,10 @@ titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;" #endif titlemenuseparator="&mainWindow.titlemodifiermenuseparator;" +#ifdef MOZ_PERSONAS lightweightthemes="true" lightweightthemesfooter="browser-bottombox" +#endif windowtype="navigator:browser" macanimationtype="document" screenX="4" screenY="4" diff --git a/application/palemoon/branding/official/default16.png b/application/palemoon/branding/official/default16.png index a2e8b1a012..b840a3acf1 100644 Binary files a/application/palemoon/branding/official/default16.png and b/application/palemoon/branding/official/default16.png differ diff --git a/application/palemoon/branding/official/default22.png b/application/palemoon/branding/official/default22.png index 6508e7b84d..4e290f84ba 100644 Binary files a/application/palemoon/branding/official/default22.png and b/application/palemoon/branding/official/default22.png differ diff --git a/application/palemoon/branding/official/default24.png b/application/palemoon/branding/official/default24.png index 1d4e66a27a..f47d3ef23e 100644 Binary files a/application/palemoon/branding/official/default24.png and b/application/palemoon/branding/official/default24.png differ diff --git a/application/palemoon/branding/official/default32.png b/application/palemoon/branding/official/default32.png index ce96307458..fde9707d84 100644 Binary files a/application/palemoon/branding/official/default32.png and b/application/palemoon/branding/official/default32.png differ diff --git a/application/palemoon/branding/official/firefox.icns b/application/palemoon/branding/official/firefox.icns index 64f17ff623..87f9ac751f 100644 Binary files a/application/palemoon/branding/official/firefox.icns and b/application/palemoon/branding/official/firefox.icns differ diff --git a/application/palemoon/branding/official/firefox.ico b/application/palemoon/branding/official/firefox.ico index 0d142c5f15..ea25fd887b 100644 Binary files a/application/palemoon/branding/official/firefox.ico and b/application/palemoon/branding/official/firefox.ico differ diff --git a/application/palemoon/branding/official/palemoon.desktop b/application/palemoon/branding/official/palemoon.desktop index 3f678e1bfd..440092b33f 100644 --- a/application/palemoon/branding/official/palemoon.desktop +++ b/application/palemoon/branding/official/palemoon.desktop @@ -87,8 +87,9 @@ Type=Application Icon=palemoon Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp; -StartupNotify=true +StartupNotify=false Actions=NewTab;NewWindow;NewPrivateWindow; +StartupWMClass="pale moon" [Desktop Action NewTab] Name=Open new tab diff --git a/application/palemoon/branding/shared/pref/uaoverrides.inc b/application/palemoon/branding/shared/pref/uaoverrides.inc index 98367e2bb5..0a54de5fac 100644 --- a/application/palemoon/branding/shared/pref/uaoverrides.inc +++ b/application/palemoon/branding/shared/pref/uaoverrides.inc @@ -57,8 +57,6 @@ pref("@GUAO_PREF@.www.amazon.com","Mozilla/5.0 (@OS_SLICE@ rv:45.9) @GK_SLICE@ F pref("@GUAO_PREF@.soundcloud.com","Mozilla/5.0 (@OS_SLICE@ rv:@GRE_VERSION@) @GRE_DATE_SLICE@ @PM_SLICE@"); // Daily motion only likes strict Firefox UAs pref("@GUAO_PREF@.dailymotion.com","Mozilla/5.0 (@OS_SLICE@ rv:52.0) @GK_SLICE@ Firefox/52.0"); -// Financial Times' polyfill.io breaks horribly on a Pale Moon UA. Send a strict Firefox UA instead. -pref("@GUAO_PREF@.polyfill.io","Mozilla/5.0 (@OS_SLICE@ rv:60.9) @GK_SLICE@ Firefox/60.9"); // The following requires native mode. Or it blocks.. "too old firefox", breakage, etc. @@ -76,7 +74,7 @@ pref("@GUAO_PREF@.netflix.com","Mozilla/5.0 (@OS_SLICE@ rv:45.9) @GK_SLICE@ Fire pref("@GUAO_PREF@.netflximg.net","Mozilla/5.0 (@OS_SLICE@ rv:45.9) @GK_SLICE@ Firefox/45.9"); // UA-sniffing domains that are "app/vendor-specific" and do not like Pale Moon -pref("@GUAO_PREF@.web.whatsapp.com","Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36"); +pref("@GUAO_PREF@.web.whatsapp.com","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"); // The following domains do not like the Goanna slice pref("@GUAO_PREF@.hitbox.tv","Mozilla/5.0 (@OS_SLICE@ rv:@GK_VERSION@) @GK_SLICE@ @FX_SLICE@"); diff --git a/application/palemoon/branding/unofficial/newmoon.desktop b/application/palemoon/branding/unofficial/newmoon.desktop index 6dcf324771..3b337fdd4d 100644 --- a/application/palemoon/branding/unofficial/newmoon.desktop +++ b/application/palemoon/branding/unofficial/newmoon.desktop @@ -87,8 +87,9 @@ Type=Application Icon=palemoon Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp; -StartupNotify=true +StartupNotify=false Actions=NewTab;NewWindow;NewPrivateWindow; +StartupWMClass="new moon" [Desktop Action NewTab] Name=Open new tab diff --git a/application/palemoon/config/version.txt b/application/palemoon/config/version.txt index bcbf0fd129..ff225a9905 100644 --- a/application/palemoon/config/version.txt +++ b/application/palemoon/config/version.txt @@ -1 +1 @@ -28.6.0a1 \ No newline at end of file +28.7.0a1 \ No newline at end of file diff --git a/application/palemoon/configure.in b/application/palemoon/configure.in index eb02af3c0d..9d820f6d4f 100644 --- a/application/palemoon/configure.in +++ b/application/palemoon/configure.in @@ -36,3 +36,16 @@ MOZ_ARG_DISABLE_BOOL(sync, MOZ_SERVICES_SYNC=, MOZ_SERVICES_SYNC=1) +dnl ======================================================== +dnl = Disable Lightweight Themes +dnl ======================================================== +MOZ_ARG_DISABLE_BOOL(personas, +[ --disable-personas Disable lightweight theme support], + MOZ_PERSONAS=, + MOZ_PERSONAS=1) + +if test -n "$MOZ_PERSONAS"; then + AC_DEFINE(MOZ_PERSONAS) +fi + +AC_SUBST(MOZ_PERSONAS) \ No newline at end of file diff --git a/application/palemoon/confvars.sh b/application/palemoon/confvars.sh index 6216cba5b3..79681f0135 100644 --- a/application/palemoon/confvars.sh +++ b/application/palemoon/confvars.sh @@ -46,6 +46,9 @@ MOZ_PHOENIX=1 # Browser Feature: Status bar Component MOZ_BROWSER_STATUSBAR=1 +# Lightweight Themes +MOZ_PERSONAS=1 + # Browser Feature: Profile Migration Component MOZ_PROFILE_MIGRATOR= diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure index 7d5bf68643..0e48b047f0 100644 --- a/build/moz.configure/old.configure +++ b/build/moz.configure/old.configure @@ -311,6 +311,7 @@ def old_configure_options(*options): # Below are configure flags used by Pale Moon '--disable-browser-statusbar', '--disable-sync', + '--disable-personas', # Below are configure flags used by Basilisk '--disable-webextensions', diff --git a/js/src/jit/BaselineIC.cpp b/js/src/jit/BaselineIC.cpp index d95d08edcd..2f20ffa4fe 100644 --- a/js/src/jit/BaselineIC.cpp +++ b/js/src/jit/BaselineIC.cpp @@ -289,7 +289,7 @@ DoTypeUpdateFallback(JSContext* cx, BaselineFrame* frame, ICUpdatedStub* stub, H case ICStub::SetProp_Native: case ICStub::SetProp_NativeAdd: case ICStub::SetProp_Unboxed: { - MOZ_ASSERT(obj->isNative() || obj->is()); + MOZ_ASSERT(obj->isNative()); jsbytecode* pc = stub->getChainFallback()->icEntry()->pc(script); if (*pc == JSOP_SETALIASEDVAR || *pc == JSOP_INITALIASEDLEXICAL) id = NameToId(EnvironmentCoordinateName(cx->caches.envCoordinateNameCache, script, pc)); diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index 0992768bf4..9076339f15 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -3785,7 +3785,6 @@ class MObjectState MOZ_MUST_USE bool initFromTemplateObject(TempAllocator& alloc, MDefinition* undefinedVal); size_t numFixedSlots() const { - MOZ_ASSERT(!isUnboxed()); return numFixedSlots_; } size_t numSlots() const { diff --git a/js/src/jscompartment.cpp b/js/src/jscompartment.cpp index a48bb0ffec..6024a1768f 100644 --- a/js/src/jscompartment.cpp +++ b/js/src/jscompartment.cpp @@ -112,13 +112,6 @@ JSCompartment::~JSCompartment() js_delete(nonSyntacticLexicalEnvironments_), js_free(enumerators); -#ifdef DEBUG - // Avoid assertion destroying the unboxed layouts list if the embedding - // leaked GC things. - if (!rt->gc.shutdownCollectedEverything()) - unboxedLayouts.clear(); -#endif - runtime_->numCompartments--; }