From 6e9d10c227d6cee3d08a685acfc6af1ae13691e1 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: May 05 2015 09:11:42 +0000 Subject: Merge branch 'master' into f20 --- diff --git a/.gitignore b/.gitignore index 6ea17e2..8faf702 100644 --- a/.gitignore +++ b/.gitignore @@ -135,3 +135,5 @@ firefox-3.6.4.source.tar.bz2 /firefox-37.0.1.source.tar.bz2 /firefox-37.0.2.source.tar.bz2 /firefox-langpacks-37.0.2-20150416.tar.xz +/firefox-38.0.source.tar.bz2 +/firefox-langpacks-38.0-20150505.tar.bz2 diff --git a/firefox-enable-addons.patch b/firefox-enable-addons.patch index 228201a..751d2ce 100644 --- a/firefox-enable-addons.patch +++ b/firefox-enable-addons.patch @@ -1,6 +1,6 @@ -diff -up mozilla-release/browser/app/profile/firefox.js.addons mozilla-release/browser/app/profile/firefox.js ---- mozilla-release/browser/app/profile/firefox.js.addons 2014-08-26 05:37:44.000000000 +0200 -+++ mozilla-release/browser/app/profile/firefox.js 2014-08-26 15:20:52.114149955 +0200 +diff -up mozilla-aurora/browser/app/profile/firefox.js.addons mozilla-aurora/browser/app/profile/firefox.js +--- mozilla-aurora/browser/app/profile/firefox.js.addons 2015-03-12 13:21:14.000000000 +0100 ++++ mozilla-aurora/browser/app/profile/firefox.js 2015-03-12 14:25:39.974909169 +0100 @@ -65,7 +65,8 @@ pref("extensions.hotfix.certs.1.sha1Fing // Disable add-ons that are not installed by the user in all scopes by default. @@ -11,17 +11,29 @@ diff -up mozilla-release/browser/app/profile/firefox.js.addons mozilla-release/b // Dictionary download preference pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/"); -diff -up mozilla-release/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons mozilla-release/toolkit/mozapps/extensions/internal/XPIProvider.jsm ---- mozilla-release/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons 2014-08-26 15:20:52.115149958 +0200 -+++ mozilla-release/toolkit/mozapps/extensions/internal/XPIProvider.jsm 2014-08-26 15:29:16.229670636 +0200 -@@ -1888,8 +1888,8 @@ this.XPIProvider = { - // Changes to installed extensions may have changed which theme is selected - this.applyThemeChange(); +diff -up mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm +--- mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons 2015-03-12 14:25:39.975909166 +0100 ++++ mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm 2015-03-12 15:23:05.879366812 +0100 +@@ -2102,11 +2102,7 @@ this.XPIProvider = { + + AddonManagerPrivate.markProviderSafe(this); - if (aAppChanged === undefined) { - // For new profiles we will never need to show the add-on selection UI -+ if (true) { -+ // For all profiles we will never need to show the add-on selection UI - Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true); +- Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true); +- } +- else if (aAppChanged && !this.allAppGlobal && ++ if (aAppChanged && !this.allAppGlobal && + Preferences.get(PREF_EM_SHOW_MISMATCH_UI, true)) { + if (!Preferences.get(PREF_SHOWN_SELECTION_UI, false)) { + // Flip a flag to indicate that we interrupted startup with an interactive prompt +@@ -2126,6 +2122,9 @@ this.XPIProvider = { + flushCaches = true; + } + } ++ } else { ++ // For new profiles we will never need to show the add-on selection UI ++ Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true); } - else if (aAppChanged && !this.allAppGlobal && + + if (flushCaches) { diff --git a/firefox.spec b/firefox.spec index 6d5e096..4cdba0a 100644 --- a/firefox.spec +++ b/firefox.spec @@ -106,14 +106,14 @@ Summary: Mozilla Firefox Web browser Name: firefox -Version: 37.0.2 -Release: 3%{?pre_tag}%{?dist} +Version: 38.0 +Release: 1%{?pre_tag}%{?dist} URL: http://www.mozilla.org/projects/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Group: Applications/Internet Source0: ftp://ftp.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.bz2 %if %{build_langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20150416.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20150505.tar.xz %endif Source10: firefox-mozconfig Source11: firefox-mozconfig-branded @@ -145,13 +145,11 @@ Patch220: rhbz-1014858.patch Patch221: firefox-fedora-ua.patch # Upstream patches -Patch301: mozilla-1129859-dictfix2.patch # Gtk3 upstream patches Patch410: mozilla-1073117-button-focus.patch Patch411: mozilla-1073117-focus.patch Patch412: mozilla-1073117-no-gap-tab.patch -Patch413: mozilla-975919-gtk3-hidpi.patch Patch414: mozilla-1143686.patch Patch415: mozilla-1144643.patch @@ -299,13 +297,10 @@ cd %{tarballdir} %patch221 -p2 -b .fedora-ua # Upstream patches -%patch301 -p1 -b .dict-fix - %if %{toolkit_gtk3} %patch410 -p1 -b .1073117-button-focus %patch411 -p1 -b .1073117-focus %patch412 -p1 -b .1073117-no-gap-tab -%patch413 -p2 -b .975919-gtk3-hidpi %patch414 -p1 -b .1143686 %patch415 -p1 -b .1144643 %endif @@ -805,6 +800,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Tue May 5 2015 Martin Stransky - 38.0-1 +- Update to 38.0 Build 2 + * Wed Apr 22 2015 Martin Stransky - 37.0.2-3 - Fedora-bookmarks rebuild (rhbz#1210474) diff --git a/mozilla-1129859-dictfix2.patch b/mozilla-1129859-dictfix2.patch deleted file mode 100644 index c45ac19..0000000 --- a/mozilla-1129859-dictfix2.patch +++ /dev/null @@ -1,419 +0,0 @@ -# HG changeset patch -# Parent 58ce6051edf56ce70c1a62e88bd879a6e56d9239 -# User Jan Horak -# Bug 1129859 - Always use '-' as separator between lang-region in dictionary names, fixes problems with system dictionaries which has '_' as separator -try: -b do -p all -u all -t none - -diff --git a/editor/composer/nsEditorSpellCheck.cpp b/editor/composer/nsEditorSpellCheck.cpp ---- a/editor/composer/nsEditorSpellCheck.cpp -+++ b/editor/composer/nsEditorSpellCheck.cpp -diff --git a/extensions/spellcheck/hunspell/src/mozHunspell.cpp b/extensions/spellcheck/hunspell/src/mozHunspell.cpp ---- a/extensions/spellcheck/hunspell/src/mozHunspell.cpp -+++ b/extensions/spellcheck/hunspell/src/mozHunspell.cpp -@@ -485,16 +485,19 @@ mozHunspell::LoadDictionariesFromDir(nsI - rv = file->Exists(&check); - if (NS_FAILED(rv) || !check) - continue; - - #ifdef DEBUG_bsmedberg - printf("Adding dictionary: %s\n", NS_ConvertUTF16toUTF8(dict).get()); - #endif - -+ // Replace '_' separator with '-' -+ dict.ReplaceChar("_", '-'); -+ - mDictionaries.Put(dict, file); - } - - return NS_OK; - } - - nsresult mozHunspell::ConvertCharset(const char16_t* aStr, char ** aDst) - { -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.aff b/extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.dic b/extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.sug b/extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.test b/extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.test -rename from extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.test -rename to extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.wrong b/extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/1463589_utf.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/1463589-utf.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.aff b/extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.dic b/extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.good b/extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.good -rename from extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.good -rename to extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.sug b/extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.test b/extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.test -rename from extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.test -rename to extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.wrong b/extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/allcaps_utf.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/allcaps-utf.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/base_utf.aff b/extensions/spellcheck/hunspell/tests/unit/data/base-utf.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/base_utf.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/base-utf.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/base_utf.dic b/extensions/spellcheck/hunspell/tests/unit/data/base-utf.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/base_utf.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/base-utf.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/base_utf.good b/extensions/spellcheck/hunspell/tests/unit/data/base-utf.good -rename from extensions/spellcheck/hunspell/tests/unit/data/base_utf.good -rename to extensions/spellcheck/hunspell/tests/unit/data/base-utf.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/base_utf.sug b/extensions/spellcheck/hunspell/tests/unit/data/base-utf.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/base_utf.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/base-utf.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/base_utf.test b/extensions/spellcheck/hunspell/tests/unit/data/base-utf.test -rename from extensions/spellcheck/hunspell/tests/unit/data/base_utf.test -rename to extensions/spellcheck/hunspell/tests/unit/data/base-utf.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/base_utf.wrong b/extensions/spellcheck/hunspell/tests/unit/data/base-utf.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/base_utf.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/base-utf.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/colons_in_words.aff b/extensions/spellcheck/hunspell/tests/unit/data/colons-in-words.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/colons_in_words.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/colons-in-words.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/colons_in_words.dic b/extensions/spellcheck/hunspell/tests/unit/data/colons-in-words.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/colons_in_words.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/colons-in-words.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/colons_in_words.test b/extensions/spellcheck/hunspell/tests/unit/data/colons-in-words.test -rename from extensions/spellcheck/hunspell/tests/unit/data/colons_in_words.test -rename to extensions/spellcheck/hunspell/tests/unit/data/colons-in-words.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/condition_utf.aff b/extensions/spellcheck/hunspell/tests/unit/data/condition-utf.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/condition_utf.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/condition-utf.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/condition_utf.dic b/extensions/spellcheck/hunspell/tests/unit/data/condition-utf.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/condition_utf.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/condition-utf.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/condition_utf.good b/extensions/spellcheck/hunspell/tests/unit/data/condition-utf.good -rename from extensions/spellcheck/hunspell/tests/unit/data/condition_utf.good -rename to extensions/spellcheck/hunspell/tests/unit/data/condition-utf.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/condition_utf.test b/extensions/spellcheck/hunspell/tests/unit/data/condition-utf.test -rename from extensions/spellcheck/hunspell/tests/unit/data/condition_utf.test -rename to extensions/spellcheck/hunspell/tests/unit/data/condition-utf.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/condition_utf.wrong b/extensions/spellcheck/hunspell/tests/unit/data/condition-utf.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/condition_utf.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/condition-utf.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.aff b/extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.dic b/extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.test b/extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.test -rename from extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.test -rename to extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.wrong b/extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/digits_in_words.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/digits-in-words.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.aff b/extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.dic b/extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.good b/extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.good -rename from extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.good -rename to extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.sug b/extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.test b/extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.test -rename from extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.test -rename to extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.wrong b/extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/ngram_utf_fix.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/ngram-utf-fix.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.aff b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.dic b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.good b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.good -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.good -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.test b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.test -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.test -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.wrong b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.aff b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.dic b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.good b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.good -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.good -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.test b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.test -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.test -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.wrong b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_cpdpat2.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-cpdpat2.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.aff b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.dic b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.good b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.good -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.good -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.sug b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.test b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.test -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.test -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.wrong b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword1.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword1.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.aff b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.dic b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.good b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.good -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.good -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.sug b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.test b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.test -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.test -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.wrong b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_forbiddenword2.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-forbiddenword2.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.aff b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.dic b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.good b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.good -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.good -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.sug b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.test b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.test -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.test -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.wrong b/extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/opentaal_keepcase.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/opentaal-keepcase.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.aff b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.dic b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.good b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.good -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.good -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.test b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.test -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom.test -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.aff b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.dic b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.good b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.good -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.good -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.test b/extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.test -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_bom2.test -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-bom2.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.aff b/extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.aff -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.aff -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.aff -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.dic b/extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.dic -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.dic -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.dic -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.good b/extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.good -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.good -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.good -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.sug b/extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.sug -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.sug -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.sug -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.test b/extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.test -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.test -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.test -diff --git a/extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.wrong b/extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.wrong -rename from extensions/spellcheck/hunspell/tests/unit/data/utf8_nonbmp.wrong -rename to extensions/spellcheck/hunspell/tests/unit/data/utf8-nonbmp.wrong -diff --git a/extensions/spellcheck/hunspell/tests/unit/test_hunspell.js b/extensions/spellcheck/hunspell/tests/unit/test_hunspell.js ---- a/extensions/spellcheck/hunspell/tests/unit/test_hunspell.js -+++ b/extensions/spellcheck/hunspell/tests/unit/test_hunspell.js -@@ -3,21 +3,21 @@ - */ - - const Cc = Components.classes; - const Ci = Components.interfaces; - - const tests = [ - ["affixes", "iso-8859-1"], - ["condition", "iso-8859-1"], -- ["condition_utf", "UTF-8"], -+ ["condition-utf", "UTF-8"], - ["base", "iso-8859-1"], -- ["base_utf", "UTF-8"], -+ ["base-utf", "UTF-8"], - ["allcaps", "iso-8859-1"], -- ["allcaps_utf", "UTF-8"], -+ ["allcaps-utf", "UTF-8"], - ["allcaps2", "iso-8859-1"], - ["allcaps3", "iso-8859-1"], - ["keepcase", "iso-8859-1"], - ["i58202", "iso-8859-1"], - ["map", "iso-8859-1"], - ["rep", "iso-8859-1"], - ["sug", "iso-8859-1"], - ["sugutf", "UTF-8"], -@@ -43,19 +43,19 @@ const tests = [ - ["fogemorpheme", "iso-8859-1"], - ["onlyincompound", "iso-8859-1"], - ["complexprefixes", "iso-8859-1"], - ["complexprefixes2", "iso-8859-1"], - ["complexprefixesutf", "UTF-8"], - ["conditionalprefix", "iso-8859-1"], - ["zeroaffix", "iso-8859-1"], - ["utf8", "UTF-8"], -- ["utf8_bom", "UTF-8", {1: "todo"}], -- ["utf8_bom2", "UTF-8", {1: "todo"}], -- ["utf8_nonbmp", "UTF-8", {1: "todo", 2: "todo", 3: "todo", 4: "todo"}], -+ ["utf8-bom", "UTF-8", {1: "todo"}], -+ ["utf8-bom2", "UTF-8", {1: "todo"}], -+ ["utf8-nonbmp", "UTF-8", {1: "todo", 2: "todo", 3: "todo", 4: "todo"}], - ["compoundflag", "iso-8859-1"], - ["compoundrule", "iso-8859-1"], - ["compoundrule2", "iso-8859-1"], - ["compoundrule3", "iso-8859-1"], - ["compoundrule4", "iso-8859-1"], - ["compoundrule5", "UTF-8"], - ["compoundrule6", "iso-8859-1"], - ["compoundrule7", "iso-8859-1"], -@@ -86,43 +86,43 @@ const tests = [ - ["reputf", "UTF-8"], - ["ignore", "iso-8859-1"], - ["ignoreutf", "UTF-8", - {1: "todo", 2: "todo", 3: "todo", 4: "todo", 5: "todo", 6: "todo", - 7: "todo", 8: "todo"}], - ["1592880", "iso-8859-1"], - ["1695964", "iso-8859-1"], - ["1463589", "iso-8859-1"], -- ["1463589_utf", "UTF-8"], -+ ["1463589-utf", "UTF-8"], - ["IJ", "iso-8859-1"], - ["i68568", "iso-8859-1"], - ["i68568utf", "UTF-8"], - ["1706659", "iso-8859-1"], -- ["digits_in_words", "iso-8859-1"], --// ["colons_in_words", "iso-8859-1"], Suggestion test only -- ["ngram_utf_fix", "UTF-8"], -+ ["digits-in-words", "iso-8859-1"], -+// ["colons-in-words", "iso-8859-1"], Suggestion test only -+ ["ngram-utf-fix", "UTF-8"], - ["morph", "us-ascii", - {11: "todo", 12: "todo", 13: "todo", 14: "todo", 15: "todo", 16: "todo", - 17: "todo", 18: "todo", 19: "todo", 20: "todo", 21: "todo", 22: "todo", - 23: "todo", 24: "todo", 25: "todo", 26: "todo", 27: "todo"}], - ["1975530", "UTF-8"], - ["fullstrip", "iso-8859-1"], - ["iconv", "UTF-8"], - ["oconv", "UTF-8"], - ["encoding", "iso-8859-1", {1: "todo", 3: "todo"}], - ["korean", "UTF-8"], -- ["opentaal_forbiddenword1", "UTF-8"], -- ["opentaal_forbiddenword2", "UTF-8"], -- ["opentaal_keepcase", "UTF-8"], -+ ["opentaal-forbiddenword1", "UTF-8"], -+ ["opentaal-forbiddenword2", "UTF-8"], -+ ["opentaal-keepcase", "UTF-8"], - ["arabic", "UTF-8"], - ["2970240", "iso-8859-1"], - ["2970242", "iso-8859-1"], - ["breakoff", "iso-8859-1"], -- ["opentaal_cpdpat", "iso-8859-1"], -- ["opentaal_cpdpat2", "iso-8859-1"], -+ ["opentaal-cpdpat", "iso-8859-1"], -+ ["opentaal-cpdpat2", "iso-8859-1"], - ["2999225", "iso-8859-1"], - ["onlyincompound2", "iso-8859-1"], - ["forceucase", "iso-8859-1"], - ["warn", "iso-8859-1"] - ]; - - function do_get_file_by_line(file, charset) { - dump("getting file by line for file " + file.path + "\n"); -diff --git a/extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xul b/extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xul ---- a/extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xul -+++ b/extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xul -@@ -63,26 +63,26 @@ function RunTest() { - ok(map.exists()); - hunspell.addDirectory(map); - - Components.utils.import("resource://gre/modules/AsyncSpellCheckTestHelper.jsm"); - onSpellCheck(textbox, function () { - - // test that base and map dictionaries are available - var dicts = getDictionaryList(editor); -- isnot(dicts.indexOf("base_utf"), -1, "base is available"); -+ isnot(dicts.indexOf("base-utf"), -1, "base is available"); - isnot(dicts.indexOf("maputf"), -1, "map is available"); - - // select base dictionary -- setCurrentDictionary(editor, "base_utf"); -+ setCurrentDictionary(editor, "base-utf"); - - onSpellCheck(textbox, function () { - // test that base dictionary is in use - is(getMisspelledWords(editor), "Frühstück" + "qwertyu", "base misspellings"); -- is(getCurrentDictionary(editor), "base_utf", "current dictionary"); -+ is(getCurrentDictionary(editor), "base-utf", "current dictionary"); - - // select map dictionary - setCurrentDictionary(editor, "maputf"); - - onSpellCheck(textbox, function () { - // test that map dictionary is in use - is(getMisspelledWords(editor), "created" + "imply" + "tomorrow" + "qwertyu", "map misspellings"); - is(getCurrentDictionary(editor), "maputf", "current dictionary"); -@@ -92,17 +92,17 @@ function RunTest() { - - onSpellCheck(textbox, function () { - // test that map dictionary is not in use - isnot(getMisspelledWords(editor), "created" + "imply" + "tomorrow" + "qwertyu", "map misspellings"); - isnot(getCurrentDictionary(editor), "maputf", "current dictionary"); - - // test that base dictionary is available and map dictionary is unavailable - var dicts = getDictionaryList(editor); -- isnot(dicts.indexOf("base_utf"), -1, "base is available"); -+ isnot(dicts.indexOf("base-utf"), -1, "base is available"); - is(dicts.indexOf("maputf"), -1, "map is unavailable"); - - // uninstall base dictionary - hunspell.removeDirectory(base); - - onSpellCheck(textbox, function () { - SimpleTest.finish(); - }); diff --git a/mozilla-975919-gtk3-hidpi.patch b/mozilla-975919-gtk3-hidpi.patch deleted file mode 100644 index 05550d6..0000000 --- a/mozilla-975919-gtk3-hidpi.patch +++ /dev/null @@ -1,459 +0,0 @@ -diff -up firefox-35.0/mozilla-release/widget/gtk/nsLookAndFeel.cpp.975919-gtk3-hidpi firefox-35.0/mozilla-release/widget/gtk/nsLookAndFeel.cpp ---- firefox-35.0/mozilla-release/widget/gtk/nsLookAndFeel.cpp.975919-gtk3-hidpi 2015-01-22 13:06:41.099114353 +0100 -+++ firefox-35.0/mozilla-release/widget/gtk/nsLookAndFeel.cpp 2015-01-22 13:06:41.118114478 +0100 -@@ -22,6 +22,9 @@ - #include "gtkdrawing.h" - #include "nsStyleConsts.h" - #include "gfxFontConstants.h" -+ -+#include -+ - #include "mozilla/gfx/2D.h" - - using mozilla::LookAndFeel; -@@ -733,6 +736,16 @@ GetSystemFontInfo(GtkWidget *aWidget, - size *= float(gfxPlatformGtk::GetDPI()) / POINTS_PER_INCH_FLOAT; - } - -+ // Scale fonts up on HiDPI displays. -+ // This would be done automatically with cairo, but we manually manage -+ // the display scale for platform consistency. -+ static auto sGdkScreenGetMonitorScaleFactorPtr = (gint (*)(GdkScreen*,gint)) -+ dlsym(RTLD_DEFAULT, "gdk_screen_get_monitor_scale_factor"); -+ if (sGdkScreenGetMonitorScaleFactorPtr) { -+ GdkScreen *screen = gdk_screen_get_default(); -+ size *= (*sGdkScreenGetMonitorScaleFactorPtr)(screen, 0); -+ } -+ - // |size| is now pixels - - aFontStyle->size = size; -diff -up firefox-35.0/mozilla-release/widget/gtk/nsWindow.cpp.975919-gtk3-hidpi firefox-35.0/mozilla-release/widget/gtk/nsWindow.cpp ---- firefox-35.0/mozilla-release/widget/gtk/nsWindow.cpp.975919-gtk3-hidpi 2015-01-22 13:06:41.101114366 +0100 -+++ firefox-35.0/mozilla-release/widget/gtk/nsWindow.cpp 2015-01-22 13:08:08.152683204 +0100 -@@ -10,6 +10,7 @@ - #include "mozilla/MouseEvents.h" - #include "mozilla/TextEvents.h" - #include -+#include - - #include "prlink.h" - #include "nsGTKToolkit.h" -@@ -471,6 +472,9 @@ nsWindow::DispatchEvent(WidgetGUIEvent* - debug_DumpEvent(stdout, aEvent->widget, aEvent, - nsAutoCString("something"), 0); - #endif -+ // Translate the mouse event into device pixels. -+ aEvent->refPoint.x = GdkCoordToDevicePixels(aEvent->refPoint.x); -+ aEvent->refPoint.y = GdkCoordToDevicePixels(aEvent->refPoint.y); - - aStatus = nsEventStatus_eIgnore; - nsIWidgetListener* listener = -@@ -729,6 +733,12 @@ nsWindow::GetDPI() - return float(DisplayHeight(dpy, defaultScreen)/heightInches); - } - -+double -+nsWindow::GetDefaultScaleInternal() -+{ -+ return GdkScaleFactor(); -+} -+ - NS_IMETHODIMP - nsWindow::SetParent(nsIWidget *aNewParent) - { -@@ -827,8 +837,9 @@ nsWindow::ReparentNativeWidgetInternal(n - } - - if (!mIsTopLevel) { -- gdk_window_reparent(mGdkWindow, aNewParentWindow, mBounds.x, -- mBounds.y); -+ gdk_window_reparent(mGdkWindow, aNewParentWindow, -+ DevicePixelsToGdkCoordRoundDown(mBounds.x), -+ DevicePixelsToGdkCoordRoundDown(mBounds.y)); - } - } - -@@ -863,26 +874,26 @@ NS_IMETHODIMP - nsWindow::ConstrainPosition(bool aAllowSlop, int32_t *aX, int32_t *aY) - { - if (mIsTopLevel && mShell) { -- int32_t screenWidth = gdk_screen_width(); -- int32_t screenHeight = gdk_screen_height(); -+ int width = GdkCoordToDevicePixels(gdk_screen_width()); -+ int height = GdkCoordToDevicePixels(gdk_screen_height()); - if (aAllowSlop) { - if (*aX < (kWindowPositionSlop - mBounds.width)) - *aX = kWindowPositionSlop - mBounds.width; -- if (*aX > (screenWidth - kWindowPositionSlop)) -- *aX = screenWidth - kWindowPositionSlop; -+ if (*aX > (width - kWindowPositionSlop)) -+ *aX = width - kWindowPositionSlop; - if (*aY < (kWindowPositionSlop - mBounds.height)) - *aY = kWindowPositionSlop - mBounds.height; -- if (*aY > (screenHeight - kWindowPositionSlop)) -- *aY = screenHeight - kWindowPositionSlop; -+ if (*aY > (height - kWindowPositionSlop)) -+ *aY = height - kWindowPositionSlop; - } else { - if (*aX < 0) - *aX = 0; -- if (*aX > (screenWidth - mBounds.width)) -- *aX = screenWidth - mBounds.width; -+ if (*aX > (width - mBounds.width)) -+ *aX = width - mBounds.width; - if (*aY < 0) - *aY = 0; -- if (*aY > (screenHeight - mBounds.height)) -- *aY = screenHeight - mBounds.height; -+ if (*aY > (height - mBounds.height)) -+ *aY = height - mBounds.height; - } - } - return NS_OK; -@@ -895,10 +906,14 @@ void nsWindow::SetSizeConstraints(const - - if (mShell) { - GdkGeometry geometry; -- geometry.min_width = mSizeConstraints.mMinSize.width; -- geometry.min_height = mSizeConstraints.mMinSize.height; -- geometry.max_width = mSizeConstraints.mMaxSize.width; -- geometry.max_height = mSizeConstraints.mMaxSize.height; -+ geometry.min_width = DevicePixelsToGdkCoordRoundUp( -+ mSizeConstraints.mMinSize.width); -+ geometry.min_height = DevicePixelsToGdkCoordRoundUp( -+ mSizeConstraints.mMinSize.height); -+ geometry.max_width = DevicePixelsToGdkCoordRoundDown( -+ mSizeConstraints.mMaxSize.width); -+ geometry.max_height = DevicePixelsToGdkCoordRoundDown( -+ mSizeConstraints.mMaxSize.height); - - uint32_t hints = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE; - gtk_window_set_geometry_hints(GTK_WINDOW(mShell), nullptr, -@@ -1161,11 +1176,13 @@ nsWindow::Move(double aX, double aY) - - mNeedsMove = false; - -+ GdkPoint point = DevicePixelsToGdkPointRoundDown(nsIntPoint(x, y)); -+ - if (mIsTopLevel) { -- gtk_window_move(GTK_WINDOW(mShell), x, y); -+ gtk_window_move(GTK_WINDOW(mShell), point.x, point.y); - } - else if (mGdkWindow) { -- gdk_window_move(mGdkWindow, x, y); -+ gdk_window_move(mGdkWindow, point.x, point.y); - } - - NotifyRollupGeometryChange(); -@@ -1432,7 +1449,7 @@ nsWindow::GetScreenBounds(nsIntRect &aRe - // use the point including window decorations - gint x, y; - gdk_window_get_root_origin(gtk_widget_get_window(GTK_WIDGET(mContainer)), &x, &y); -- aRect.MoveTo(x, y); -+ aRect.MoveTo(GdkPointToDevicePixels({ x, y })); - } - else { - aRect.MoveTo(WidgetToScreenOffset()); -@@ -1602,17 +1619,12 @@ nsWindow::Invalidate(const nsIntRect &aR - if (!mGdkWindow) - return NS_OK; - -- GdkRectangle rect; -- rect.x = aRect.x; -- rect.y = aRect.y; -- rect.width = aRect.width; -- rect.height = aRect.height; -+ GdkRectangle rect = DevicePixelsToGdkRectRoundOut(aRect); -+ gdk_window_invalidate_rect(mGdkWindow, &rect, FALSE); - - LOGDRAW(("Invalidate (rect) [%p]: %d %d %d %d\n", (void *)this, - rect.x, rect.y, rect.width, rect.height)); - -- gdk_window_invalidate_rect(mGdkWindow, &rect, FALSE); -- - return NS_OK; - } - -@@ -1750,7 +1762,7 @@ nsWindow::WidgetToScreenOffset() - gdk_window_get_origin(mGdkWindow, &x, &y); - } - -- return nsIntPoint(x, y); -+ return GdkPointToDevicePixels({ x, y }); - } - - NS_IMETHODIMP -@@ -2042,7 +2054,9 @@ nsWindow::OnExposeEvent(cairo_t *cr) - return FALSE; - } - -- nsIntRegion ®ion = exposeRegion.mRegion; -+ gint scale = GdkScaleFactor(); -+ nsIntRegion& region = exposeRegion.mRegion; -+ region.ScaleRoundOut(scale, scale); - - ClientLayerManager *clientLayers = - (GetLayerManager()->GetBackendType() == LayersBackend::LAYERS_CLIENT) -@@ -2382,21 +2396,24 @@ nsWindow::OnSizeAllocate(GtkAllocation * - (void *)this, aAllocation->x, aAllocation->y, - aAllocation->width, aAllocation->height)); - -- nsIntSize size(aAllocation->width, aAllocation->height); -+ nsIntSize size = GdkRectToDevicePixels(*aAllocation).Size(); -+ - if (mBounds.Size() == size) - return; - -+ nsIntRect rect; -+ - // Invalidate the new part of the window now for the pending paint to - // minimize background flashes (GDK does not do this for external resizes - // of toplevels.) - if (mBounds.width < size.width) { -- GdkRectangle rect = -- { mBounds.width, 0, size.width - mBounds.width, size.height }; -+ GdkRectangle rect = DevicePixelsToGdkRectRoundOut( -+ { mBounds.width, 0, size.width - mBounds.width, size.height }); - gdk_window_invalidate_rect(mGdkWindow, &rect, FALSE); - } - if (mBounds.height < size.height) { -- GdkRectangle rect = -- { 0, mBounds.height, size.width, size.height - mBounds.height }; -+ GdkRectangle rect = DevicePixelsToGdkRectRoundOut( -+ { 0, mBounds.height, size.width, size.height - mBounds.height }); - gdk_window_invalidate_rect(mGdkWindow, &rect, FALSE); - } - -@@ -3848,14 +3865,17 @@ nsWindow::SetWindowClass(const nsAString - void - nsWindow::NativeResize(int32_t aWidth, int32_t aHeight, bool aRepaint) - { -+ gint width = DevicePixelsToGdkCoordRoundUp(aWidth); -+ gint height = DevicePixelsToGdkCoordRoundUp(aHeight); -+ - LOG(("nsWindow::NativeResize [%p] %d %d\n", (void *)this, -- aWidth, aHeight)); -+ width, height)); - - // clear our resize flag - mNeedsResize = false; - - if (mIsTopLevel) { -- gtk_window_resize(GTK_WINDOW(mShell), aWidth, aHeight); -+ gtk_window_resize(GTK_WINDOW(mShell), width, height); - } - else if (mContainer) { - GtkWidget *widget = GTK_WIDGET(mContainer); -@@ -3863,12 +3883,12 @@ nsWindow::NativeResize(int32_t aWidth, i - gtk_widget_get_allocation(widget, &prev_allocation); - allocation.x = prev_allocation.x; - allocation.y = prev_allocation.y; -- allocation.width = aWidth; -- allocation.height = aHeight; -+ allocation.width = width; -+ allocation.height = height; - gtk_widget_size_allocate(widget, &allocation); - } - else if (mGdkWindow) { -- gdk_window_resize(mGdkWindow, aWidth, aHeight); -+ gdk_window_resize(mGdkWindow, width, height); - } - } - -@@ -3877,28 +3897,33 @@ nsWindow::NativeResize(int32_t aX, int32 - int32_t aWidth, int32_t aHeight, - bool aRepaint) - { -+ gint width = DevicePixelsToGdkCoordRoundUp(aWidth); -+ gint height = DevicePixelsToGdkCoordRoundUp(aHeight); -+ gint x = DevicePixelsToGdkCoordRoundDown(aX); -+ gint y = DevicePixelsToGdkCoordRoundDown(aY); -+ - mNeedsResize = false; - mNeedsMove = false; - - LOG(("nsWindow::NativeResize [%p] %d %d %d %d\n", (void *)this, -- aX, aY, aWidth, aHeight)); -+ x, y, width, height)); - - if (mIsTopLevel) { -- // aX and aY give the position of the window manager frame top-left. -- gtk_window_move(GTK_WINDOW(mShell), aX, aY); -+ // x and y give the position of the window manager frame top-left. -+ gtk_window_move(GTK_WINDOW(mShell), x, y); - // This sets the client window size. -- gtk_window_resize(GTK_WINDOW(mShell), aWidth, aHeight); -+ gtk_window_resize(GTK_WINDOW(mShell), width, height); - } - else if (mContainer) { - GtkAllocation allocation; -- allocation.x = aX; -- allocation.y = aY; -- allocation.width = aWidth; -- allocation.height = aHeight; -+ allocation.x = x; -+ allocation.y = y; -+ allocation.width = width; -+ allocation.height = height; - gtk_widget_size_allocate(GTK_WIDGET(mContainer), &allocation); - } - else if (mGdkWindow) { -- gdk_window_move_resize(mGdkWindow, aX, aY, aWidth, aHeight); -+ gdk_window_move_resize(mGdkWindow, x, y, width, height); - } - } - -@@ -6104,8 +6129,8 @@ nsWindow::GetThebesSurface(cairo_t *cr) - #if (MOZ_WIDGET_GTK == 2) - gdk_drawable_get_size(GDK_DRAWABLE(mGdkWindow), &width, &height); - #else -- width = gdk_window_get_width(mGdkWindow); -- height = gdk_window_get_height(mGdkWindow); -+ width = GdkCoordToDevicePixels(gdk_window_get_width(mGdkWindow)); -+ height = GdkCoordToDevicePixels(gdk_window_get_height(mGdkWindow)); - #endif - - // Owen Taylor says this is the right thing to do! -@@ -6131,25 +6156,11 @@ nsWindow::GetThebesSurface(cairo_t *cr) - if (!usingShm) - # endif // MOZ_HAVE_SHMIMAGE - { --#if (MOZ_WIDGET_GTK == 3) --#if MOZ_TREE_CAIRO --#error "cairo-gtk3 target must be built with --enable-system-cairo" --#else -- if (cr) { -- cairo_surface_t *surf = cairo_get_target(cr); -- if (cairo_surface_status(surf) != CAIRO_STATUS_SUCCESS) { -- NS_NOTREACHED("Missing cairo target?"); -- return nullptr; -- } -- mThebesSurface = gfxASurface::Wrap(surf); -- } else --#endif --#endif // (MOZ_WIDGET_GTK == 3) -- mThebesSurface = new gfxXlibSurface -- (GDK_WINDOW_XDISPLAY(mGdkWindow), -- gdk_x11_window_get_xid(mGdkWindow), -- visual, -- size); -+ mThebesSurface = new gfxXlibSurface -+ (GDK_WINDOW_XDISPLAY(mGdkWindow), -+ gdk_x11_window_get_xid(mGdkWindow), -+ visual, -+ size); - } - #endif // MOZ_X11 - -@@ -6217,6 +6228,8 @@ nsWindow::BeginMoveDrag(WidgetMouseEvent - } - - // tell the window manager to start the move -+ screenX = DevicePixelsToGdkCoordRoundDown(screenX); -+ screenY = DevicePixelsToGdkCoordRoundDown(screenY); - gdk_window_begin_move_drag(gdk_window, button, screenX, screenY, - aEvent->time); - -@@ -6308,6 +6321,69 @@ nsWindow::ClearCachedResources() - } - } - -+gint -+nsWindow::GdkScaleFactor() -+{ -+#if (MOZ_WIDGET_GTK >= 3) -+ // Available as of GTK 3.10+ -+ static auto sGdkWindowGetScaleFactorPtr = (gint (*)(GdkWindow*)) -+ dlsym(RTLD_DEFAULT, "gdk_window_get_scale_factor"); -+ if (sGdkWindowGetScaleFactorPtr) -+ return (*sGdkWindowGetScaleFactorPtr)(mGdkWindow); -+#endif -+ return 1; -+} -+ -+ -+gint -+nsWindow::DevicePixelsToGdkCoordRoundUp(int pixels) { -+ gint scale = GdkScaleFactor(); -+ return (pixels + scale - 1) / scale; -+} -+ -+gint -+nsWindow::DevicePixelsToGdkCoordRoundDown(int pixels) { -+ gint scale = GdkScaleFactor(); -+ return pixels / scale; -+} -+ -+GdkPoint -+nsWindow::DevicePixelsToGdkPointRoundDown(nsIntPoint point) { -+ gint scale = GdkScaleFactor(); -+ return { point.x / scale, point.y / scale }; -+} -+ -+GdkRectangle -+nsWindow::DevicePixelsToGdkRectRoundOut(nsIntRect rect) { -+ gint scale = GdkScaleFactor(); -+ int x = rect.x / scale; -+ int y = rect.y / scale; -+ int right = (rect.x + rect.width + scale - 1) / scale; -+ int bottom = (rect.y + rect.height + scale - 1) / scale; -+ return { x, y, right - x, bottom - y }; -+} -+ -+int -+nsWindow::GdkCoordToDevicePixels(gint coord) { -+ return coord * GdkScaleFactor(); -+} -+ -+nsIntPoint -+nsWindow::GdkPointToDevicePixels(GdkPoint point) { -+ gint scale = GdkScaleFactor(); -+ return nsIntPoint(point.x * scale, -+ point.y * scale); -+} -+ -+nsIntRect -+nsWindow::GdkRectToDevicePixels(GdkRectangle rect) { -+ gint scale = GdkScaleFactor(); -+ return nsIntRect(rect.x * scale, -+ rect.y * scale, -+ rect.width * scale, -+ rect.height * scale); -+} -+ - nsresult - nsWindow::SynthesizeNativeMouseEvent(nsIntPoint aPoint, - uint32_t aNativeMessage, -diff -up firefox-35.0/mozilla-release/widget/gtk/nsWindow.h.975919-gtk3-hidpi firefox-35.0/mozilla-release/widget/gtk/nsWindow.h ---- firefox-35.0/mozilla-release/widget/gtk/nsWindow.h.975919-gtk3-hidpi 2015-01-09 05:38:28.000000000 +0100 -+++ firefox-35.0/mozilla-release/widget/gtk/nsWindow.h 2015-01-22 13:07:51.064571540 +0100 -@@ -97,6 +97,7 @@ public: - NS_IMETHOD Destroy(void); - virtual nsIWidget *GetParent(); - virtual float GetDPI(); -+ virtual double GetDefaultScaleInternal(); - virtual nsresult SetParent(nsIWidget* aNewParent); - NS_IMETHOD SetModal(bool aModal); - virtual bool IsVisible() const; -@@ -467,6 +468,20 @@ private: - * however, IME doesn't work at that time. - */ - nsRefPtr mIMModule; -+ -+ // HiDPI scale conversion -+ gint GdkScaleFactor(); -+ -+ // To GDK -+ gint DevicePixelsToGdkCoordRoundUp(int pixels); -+ gint DevicePixelsToGdkCoordRoundDown(int pixels); -+ GdkPoint DevicePixelsToGdkPointRoundDown(nsIntPoint point); -+ GdkRectangle DevicePixelsToGdkRectRoundOut(nsIntRect rect); -+ -+ // From GDK -+ int GdkCoordToDevicePixels(gint coord); -+ nsIntPoint GdkPointToDevicePixels(GdkPoint point); -+ nsIntRect GdkRectToDevicePixels(GdkRectangle rect); - }; - - class nsChildWindow : public nsWindow { diff --git a/sources b/sources index 2598905..5b48608 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -755c04ee31dbcd28ed4d351b67fe8a8f firefox-37.0.2.source.tar.bz2 -07b61416032b88c4fda818508426214e firefox-langpacks-37.0.2-20150416.tar.xz +d1c66ec031c0cb8aea3df7210dc6955c firefox-38.0.source.tar.bz2 +886b4897e0ae8aaa9a5f2fd361d62100 firefox-langpacks-38.0-20150505.tar.bz2