stransky pushed to firefox (f20). "Update to Firefox 38 build 2"

notifications at fedoraproject.org notifications at fedoraproject.org
Tue May 5 09:12:11 UTC 2015


>From d7d80e3abb83bb68162c6403d20200fac7b643f3 Mon Sep 17 00:00:00 2001
From: Martin Stransky <stransky at redhat.com>
Date: Tue, 5 May 2015 11:11:33 +0200
Subject: Update to Firefox 38 build 2


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 <stransky at redhat.com> - 38.0-1
+- Update to 38.0 Build 2
+
 * Wed Apr 22 2015 Martin Stransky <stransky at redhat.com> - 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 <jhorak at redhat.com>
-# 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 <dlfcn.h>
-+
- #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 <algorithm>
-+#include <dlfcn.h>
- 
- #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 &region = 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<nsGtkIMModule> 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
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/firefox.git/commit/?h=f20&id=d7d80e3abb83bb68162c6403d20200fac7b643f3


More information about the scm-commits mailing list