diff -Nru firefox-35.0+build3/browser/app/blocklist.xml firefox-1000~35.0.1+build1/browser/app/blocklist.xml --- firefox-35.0+build3/browser/app/blocklist.xml 2015-01-09 21:03:44.000000000 +0000 +++ firefox-1000~35.0.1+build1/browser/app/blocklist.xml 2015-01-25 18:48:04.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -55,6 +55,12 @@ + + + + + + @@ -115,6 +121,12 @@ + + + + + + @@ -133,6 +145,14 @@ + + + + + browser.startup.homepage + browser.search.defaultenginename + + @@ -255,12 +275,6 @@ - - - - - - @@ -307,6 +321,12 @@ + + + + + + @@ -439,6 +459,15 @@ + + + + + + + + + @@ -761,12 +790,10 @@ - + - browser.startup.homepage - browser.search.defaultenginename @@ -839,6 +866,12 @@ + + + + + + @@ -851,6 +884,14 @@ + + + + + browser.startup.homepage + browser.search.defaultenginename + + @@ -977,12 +1018,6 @@ - - - - - - @@ -1077,6 +1112,12 @@ + + + + + + @@ -1125,7 +1166,7 @@ - + @@ -1314,6 +1355,12 @@ + + + + + + @@ -1452,6 +1499,12 @@ + + + + + + @@ -1561,6 +1614,14 @@ + + + + + browser.startup.homepage + browser.search.defaultenginename + + @@ -1615,6 +1676,12 @@ + + + + + + @@ -1774,12 +1841,10 @@ - - + + - browser.startup.homepage - browser.search.defaultenginename @@ -2014,6 +2079,12 @@ + + + + + + @@ -2119,6 +2190,14 @@ + + + + + browser.startup.homepage + browser.search.defaultenginename + + @@ -2701,6 +2780,18 @@ + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + diff -Nru firefox-35.0+build3/browser/config/version.txt firefox-1000~35.0.1+build1/browser/config/version.txt --- firefox-35.0+build3/browser/config/version.txt 2015-01-09 21:03:46.000000000 +0000 +++ firefox-1000~35.0.1+build1/browser/config/version.txt 2015-01-25 18:48:06.000000000 +0000 @@ -1 +1 @@ -35.0 +35.0.1 diff -Nru firefox-35.0+build3/browser/installer/windows/nsis/installer.nsi firefox-1000~35.0.1+build1/browser/installer/windows/nsis/installer.nsi --- firefox-35.0+build3/browser/installer/windows/nsis/installer.nsi 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/browser/installer/windows/nsis/installer.nsi 2015-01-25 18:48:07.000000000 +0000 @@ -589,9 +589,6 @@ ${EndUnless} ${EndIf} - ; Add the Firewall entries during install - Call AddFirewallEntries - !ifdef MOZ_MAINTENANCE_SERVICE ${If} $TmpVal == "HKLM" ; Add the registry keys for allowed certificates. @@ -627,6 +624,9 @@ ${GetShortcutsLogPath} $0 WriteIniStr "$0" "TASKBAR" "Migrated" "true" + ; Add the Firewall entries during install + Call AddFirewallEntries + ; Refresh desktop icons System::Call "shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_DWORDFLUSH}, i 0, i 0)" diff -Nru firefox-35.0+build3/browser/installer/windows/nsis/shared.nsh firefox-1000~35.0.1+build1/browser/installer/windows/nsis/shared.nsh --- firefox-35.0+build3/browser/installer/windows/nsis/shared.nsh 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/browser/installer/windows/nsis/shared.nsh 2015-01-25 18:48:07.000000000 +0000 @@ -928,7 +928,7 @@ !macroend !define MountRegistryIntoHKU "!insertmacro MountRegistryIntoHKU" !define un.MountRegistryIntoHKU "!insertmacro MountRegistryIntoHKU" -; + ; Unmounts all user ntuser.dat files into the registry as a subkey of HKU !macro UnmountRegistryIntoHKU ; $0 is used as an index for HKEY_USERS enumeration @@ -1546,6 +1546,72 @@ !macroend !define PushFilesToCheck "!insertmacro PushFilesToCheck" + +; Pushes the string "true" to the top of the stack if the Firewall service is +; running and pushes the string "false" to the top of the stack if it isn't. +!define SC_MANAGER_ALL_ACCESS 0x3F +!define SERVICE_QUERY_CONFIG 0x0001 +!define SERVICE_QUERY_STATUS 0x0004 +!define SERVICE_RUNNING 0x4 + +!macro IsFirewallSvcRunning + Push $R9 + Push $R8 + Push $R7 + Push $R6 + Push "false" + + System::Call 'advapi32::OpenSCManagerW(n, n, i ${SC_MANAGER_ALL_ACCESS}) i.R6' + ${If} $R6 != 0 + ; MpsSvc is the Firewall service on Windows Vista and above. + ; When opening the service with SERVICE_QUERY_CONFIG the return value will + ; be 0 if the service is not installed. + System::Call 'advapi32::OpenServiceW(i R6, t "MpsSvc", i ${SERVICE_QUERY_CONFIG}) i.R7' + ${If} $R7 != 0 + System::Call 'advapi32::CloseServiceHandle(i R7) n' + ; Open the service with SERVICE_QUERY_CONFIG so its status can be queried. + System::Call 'advapi32::OpenServiceW(i R6, t "MpsSvc", i ${SERVICE_QUERY_STATUS}) i.R7' + ${Else} + ; SharedAccess is the Firewall service on Windows XP. + ; When opening the service with SERVICE_QUERY_CONFIG the return value will + ; be 0 if the service is not installed. + System::Call 'advapi32::OpenServiceW(i R6, t "SharedAccess", i ${SERVICE_QUERY_CONFIG}) i.R7' + ${If} $R7 != 0 + System::Call 'advapi32::CloseServiceHandle(i R7) n' + ; Open the service with SERVICE_QUERY_CONFIG so its status can be + ; queried. + System::Call 'advapi32::OpenServiceW(i R6, t "SharedAccess", i ${SERVICE_QUERY_STATUS}) i.R7' + ${EndIf} + ${EndIf} + ; Did the calls to OpenServiceW succeed? + ${If} $R7 != 0 + System::Call '*(i,i,i,i,i,i,i) i.R9' + ; Query the current status of the service. + System::Call 'advapi32::QueryServiceStatus(i R7, i $R9) i' + System::Call '*$R9(i, i.R8)' + System::Free $R9 + System::Call 'advapi32::CloseServiceHandle(i R7) n' + IntFmt $R8 "0x%X" $R8 + ${If} $R8 == ${SERVICE_RUNNING} + Pop $R9 + Push "true" + ${EndIf} + ${EndIf} + System::Call 'advapi32::CloseServiceHandle(i R6) n' + ${EndIf} + + Exch 1 + Pop $R6 + Exch 1 + Pop $R7 + Exch 1 + Pop $R8 + Exch 1 + Pop $R9 +!macroend +!define IsFirewallSvcRunning "!insertmacro IsFirewallSvcRunning" +!define un.IsFirewallSvcRunning "!insertmacro IsFirewallSvcRunning" + ; Sets this installation as the default browser by setting the registry keys ; under HKEY_CURRENT_USER via registry calls and using the AppAssocReg NSIS ; plugin for Vista and above. This is a function instead of a macro so it is @@ -1609,8 +1675,13 @@ ${EndIf} FunctionEnd +; Helper for adding Firewall exceptions during install and after app update. Function AddFirewallEntries - liteFirewallW::AddRule "$INSTDIR\${FileMainEXE}" "${BrandShortName} ($INSTDIR)" + ${IsFirewallSvcRunning} + Pop $0 + ${If} "$0" == "true" + liteFirewallW::AddRule "$INSTDIR\${FileMainEXE}" "${BrandShortName} ($INSTDIR)" + ${EndIf} FunctionEnd ; The !ifdef NO_LOG prevents warnings when compiling the installer.nsi due to diff -Nru firefox-35.0+build3/browser/installer/windows/nsis/uninstaller.nsi firefox-1000~35.0.1+build1/browser/installer/windows/nsis/uninstaller.nsi --- firefox-35.0+build3/browser/installer/windows/nsis/uninstaller.nsi 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/browser/installer/windows/nsis/uninstaller.nsi 2015-01-25 18:48:07.000000000 +0000 @@ -464,8 +464,6 @@ ${EndIf} ${EndIf} - liteFirewallW::RemoveRule "$INSTDIR\${FileMainEXE}" "${BrandShortName} ($INSTDIR)" - ; Refresh desktop icons otherwise the start menu internet item won't be ; removed and other ugly things will happen like recreation of the app's ; clients registry key by the OS under some conditions. @@ -489,6 +487,11 @@ Call un.UninstallServiceIfNotUsed !endif + ${un.IsFirewallSvcRunning} + Pop $0 + ${If} "$0" == "true" + liteFirewallW::RemoveRule "$INSTDIR\${FileMainEXE}" "${BrandShortName} ($INSTDIR)" + ${EndIf} SectionEnd ################################################################################ diff -Nru firefox-35.0+build3/browser/themes/osx/browser.css firefox-1000~35.0.1+build1/browser/themes/osx/browser.css --- firefox-35.0+build3/browser/themes/osx/browser.css 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/browser/themes/osx/browser.css 2015-01-25 18:48:08.000000000 +0000 @@ -75,10 +75,6 @@ /** Begin titlebar **/ -#titlebar { - -moz-window-dragging: drag; -} - #titlebar-buttonbox > .titlebar-button { display: none; } diff -Nru firefox-35.0+build3/config/milestone.txt firefox-1000~35.0.1+build1/config/milestone.txt --- firefox-35.0+build3/config/milestone.txt 2015-01-09 21:03:48.000000000 +0000 +++ firefox-1000~35.0.1+build1/config/milestone.txt 2015-01-25 18:48:09.000000000 +0000 @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -35.0 +35.0.1 diff -Nru firefox-35.0+build3/content/base/src/nsCSPUtils.cpp firefox-1000~35.0.1+build1/content/base/src/nsCSPUtils.cpp --- firefox-35.0+build3/content/base/src/nsCSPUtils.cpp 2015-01-09 21:03:48.000000000 +0000 +++ firefox-1000~35.0.1+build1/content/base/src/nsCSPUtils.cpp 2015-01-25 18:48:09.000000000 +0000 @@ -441,14 +441,12 @@ nsCSPHostSrc::setPort(const nsAString& aPort) { mPort = aPort; - ToLowerCase(mPort); } void nsCSPHostSrc::appendPath(const nsAString& aPath) { mPath.Append(aPath); - ToLowerCase(mPath); } /* ===== nsCSPKeywordSrc ===================== */ diff -Nru firefox-35.0+build3/content/base/src/nsDocument.cpp firefox-1000~35.0.1+build1/content/base/src/nsDocument.cpp --- firefox-35.0+build3/content/base/src/nsDocument.cpp 2015-01-09 21:03:48.000000000 +0000 +++ firefox-1000~35.0.1+build1/content/base/src/nsDocument.cpp 2015-01-25 18:48:09.000000000 +0000 @@ -3526,7 +3526,7 @@ nsCOMPtr csp; nsresult rv = NodePrincipal()->GetCsp(getter_AddRefs(csp)); NS_ENSURE_SUCCESS(rv, rv); - if (csp) { + if (csp && aURI) { bool permitsBaseURI = false; rv = csp->PermitsBaseURI(aURI, &permitsBaseURI); NS_ENSURE_SUCCESS(rv, rv); diff -Nru firefox-35.0+build3/content/base/test/csp/test_csp_path_matching.html firefox-1000~35.0.1+build1/content/base/test/csp/test_csp_path_matching.html --- firefox-35.0+build3/content/base/test/csp/test_csp_path_matching.html 2015-01-09 21:03:49.000000000 +0000 +++ firefox-1000~35.0.1+build1/content/base/test/csp/test_csp_path_matching.html 2015-01-25 18:48:09.000000000 +0000 @@ -62,6 +62,12 @@ ["blocked", "test1.example.com:8888/tests"], ["blocked", "test1.example.com:8888/tests/content/base/test/csp"], ["blocked", "test1.example.com:8888/tests/content/base/test/csp/file_csp_path_matching.py"], + + // case insensitive matching for scheme and host, but case sensitive matching for paths + ["allowed", "HTTP://test1.EXAMPLE.com/tests/"], + ["allowed", "test1.EXAMPLE.com/tests/"], + ["blocked", "test1.example.com/tests/content/base/test/CSP/?foo=val"], + ["blocked", "test1.example.com/tests/content/base/test/csp/FILE_csp_path_matching.js?foo=val"], ] var counter = 0; diff -Nru firefox-35.0+build3/debian/changelog firefox-1000~35.0.1+build1/debian/changelog --- firefox-35.0+build3/debian/changelog 2015-01-15 14:18:42.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/changelog 2015-01-28 17:39:42.000000000 +0000 @@ -1,10 +1,17 @@ -firefox (35.0+build3-0ubuntu2~20150115.1417) utopic; urgency=medium +firefox (1000~35.0.1+build1-0ubuntu1~20150128.1739) utopic; urgency=medium - * Firefox with KDE integration [CI Build] + * [CI Build] firefox with KDE integration - -- Debian CI Thu, 15 Jan 2015 14:18:42 +0000 + -- Debian CI Wed, 28 Jan 2015 17:39:42 +0000 -firefox (35.0+build3-0ubuntu1) vivid; urgency=medium +firefox (35.0.1+build1-0ubuntu0.14.10.1) utopic-security; urgency=medium + + * New upstream stable release (FIREFOX_35_0_1_BUILD1) + - see USN-2458-3 + + -- Chris Coulson Sun, 25 Jan 2015 21:57:40 +0000 + +firefox (35.0+build3-0ubuntu0.14.10.2) utopic-security; urgency=medium * New upstream stable release (FIREFOX_35_0_BUILD3) - see USN-2458-1 @@ -20,10 +27,13 @@ * Add debian/patches/ubuntu-search-defaults.patch to set the default search engines. This is a temporary patch (these defaults will eventually go in to distribution.ini). Fixes LP: #1398174 + * Don't hardcode -mfloat-abi=softfp in libvpx + - add debian/patches/dont-hardcode-softfp-on-armhf.patch + - update debian/patches/series - -- Chris Coulson Fri, 09 Jan 2015 20:43:12 +0000 + -- Chris Coulson Fri, 09 Jan 2015 21:25:56 +0000 -firefox (34.0+build2-0ubuntu2) vivid; urgency=medium +firefox (34.0+build2-0ubuntu0.14.10.2) utopic-security; urgency=medium * New upstream stable release (FIREFOX_34_0_BUILD2) - see USN-2424-1 @@ -38,12 +48,12 @@ * Get rid of disable-failing-python-tests.patch for now, at least until we are running unit tests again * Drop debian/patches/fix-compile-in-unified-mode.patch - fixed upstream - * Disable Kurdish and Zulu language packs + * Disable Kurdish language pack [ Jamie Strandboge ] * update apparmor profiles to include the openssl abstraction - -- Chris Coulson Thu, 27 Nov 2014 00:54:08 +0000 + -- Chris Coulson Thu, 27 Nov 2014 10:42:08 +0000 firefox (33.0+build2-0ubuntu0.14.10.1) utopic; urgency=medium diff -Nru firefox-35.0+build3/debian/control firefox-1000~35.0.1+build1/debian/control --- firefox-35.0+build3/debian/control 2015-01-15 15:47:45.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/control 2015-01-28 17:39:55.000000000 +0000 @@ -3,7 +3,7 @@ Section: web Priority: optional Maintainer: Ubuntu Mozilla Team -Vcs-Bzr: https://code.launchpad.net/~mozillateam/firefox/firefox.vivid +Vcs-Bzr: https://code.launchpad.net/~mozillateam/firefox/firefox.utopic Build-Depends: cdbs, locales, debhelper (>= 7), @@ -184,14 +184,10 @@ Package: firefox-plasma Architecture: any -Depends: firefox (= ${binary:Version}), firefox-kde-support -Description: Safe and easy web browser from Mozilla - Plasma edition - Firefox delivers safe, easy web browsing. A familiar user interface, - enhanced security features including protection from online identity theft, - and integrated search let you get the most out of the web. - . - Install this package if you'd like Firefox with Plasma integration - +Depends: firefox (= ${binary:Version}), mozilla-kde-support +Description: firefox package for integration with KDE + Install this package if you'd like firefox with Plasma integration + Package: firefox-locale-af Architecture: any Depends: ${misc:Depends} diff -Nru firefox-35.0+build3/debian/control.in firefox-1000~35.0.1+build1/debian/control.in --- firefox-35.0+build3/debian/control.in 2015-01-15 15:47:45.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/control.in 2015-01-28 17:39:55.000000000 +0000 @@ -3,7 +3,7 @@ Section: web Priority: optional Maintainer: Ubuntu Mozilla Team -Vcs-Bzr: https://code.launchpad.net/~mozillateam/firefox/firefox.vivid +Vcs-Bzr: https://code.launchpad.net/~mozillateam/firefox/firefox.utopic Build-Depends: cdbs, locales, debhelper (>= 7), @@ -184,11 +184,6 @@ Package: @MOZ_PKG_NAME@-plasma Architecture: any -Depends: @MOZ_PKG_NAME@ (= ${binary:Version}), firefox-kde-support -Description: Safe and easy web browser from Mozilla - Plasma edition - Firefox delivers safe, easy web browsing. A familiar user interface, - enhanced security features including protection from online identity theft, - and integrated search let you get the most out of the web. - . - Install this package if you'd like Firefox with Plasma integration - \ No newline at end of file +Depends: @MOZ_PKG_NAME@ (= ${binary:Version}), mozilla-kde-support +Description: firefox package for integration with KDE + Install this package if you'd like firefox with Plasma integration diff -Nru firefox-35.0+build3/debian/firefox-plasma firefox-1000~35.0.1+build1/debian/firefox-plasma --- firefox-35.0+build3/debian/firefox-plasma 2015-01-15 14:17:44.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/firefox-plasma 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -Package: firefox* -Pin: release o=LP-PPA-moz-plasma-builds -Pin-Priority: 1000 - -Package: firefox* -Pin: release o=LP-PPA-moz-plasma-stable -Pin-Priority: 1000 diff -Nru firefox-35.0+build3/debian/firefox-plasma.install firefox-1000~35.0.1+build1/debian/firefox-plasma.install --- firefox-35.0+build3/debian/firefox-plasma.install 2015-01-15 14:17:44.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/firefox-plasma.install 2015-01-28 17:39:41.000000000 +0000 @@ -1 +1 @@ -debian/firefox-plasma etc/apt/preferences.d/firefox-plasma +debian/firefox-plasma.pref etc/apt/preferences.d/ diff -Nru firefox-35.0+build3/debian/firefox-plasma.pref firefox-1000~35.0.1+build1/debian/firefox-plasma.pref --- firefox-35.0+build3/debian/firefox-plasma.pref 1970-01-01 00:00:00.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/firefox-plasma.pref 2015-01-28 17:39:41.000000000 +0000 @@ -0,0 +1,7 @@ +Package: * +Pin: release o=LP-PPA-moz-plasma-builds +Pin-Priority: 1000 + +Package: * +Pin: release o=LP-PPA-moz-plasma-releases +Pin-Priority: 1000 diff -Nru firefox-35.0+build3/debian/patches/dont-hardcode-softfp-on-armhf.patch firefox-1000~35.0.1+build1/debian/patches/dont-hardcode-softfp-on-armhf.patch --- firefox-35.0+build3/debian/patches/dont-hardcode-softfp-on-armhf.patch 1970-01-01 00:00:00.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/patches/dont-hardcode-softfp-on-armhf.patch 2015-01-25 21:59:24.000000000 +0000 @@ -0,0 +1,13 @@ +Index: firefox-trunk-37.0~a1~hg20150107r222415/media/libvpx/moz.build +=================================================================== +--- firefox-trunk-37.0~a1~hg20150107r222415.orig/media/libvpx/moz.build 2015-01-07 22:09:30.000000000 +0000 ++++ firefox-trunk-37.0~a1~hg20150107r222415/media/libvpx/moz.build 2015-01-12 13:55:31.396615520 +0000 +@@ -64,7 +64,7 @@ + + for f in SOURCES: + if f.endswith('.c') and 'neon' in f: +- SOURCES[f].flags += ['-march=armv7-a', '-mthumb', '-mfloat-abi=softfp', '-mfpu=neon'] ++ SOURCES[f].flags += ['-march=armv7-a', '-mthumb', '-mfpu=neon'] + + # boolhuff_armv5te.asm defines the same functions as boolhuff.c instead of + # using RTCD, so we have to make sure we only add one of the two. diff -Nru firefox-35.0+build3/debian/patches/series firefox-1000~35.0.1+build1/debian/patches/series --- firefox-35.0+build3/debian/patches/series 2015-01-15 14:17:43.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/patches/series 2015-01-28 17:39:24.000000000 +0000 @@ -20,6 +20,7 @@ #test-integration/xpcshell-write-time-for-failed-test.patch #fix-make-package-tests-without-webrtc.patch ubuntu-search-defaults.patch +dont-hardcode-softfp-on-armhf.patch mozilla-kde.patch firefox-kde.patch unity-menubar.patch diff -Nru firefox-35.0+build3/debian/patches/unity-menubar.patch firefox-1000~35.0.1+build1/debian/patches/unity-menubar.patch --- firefox-35.0+build3/debian/patches/unity-menubar.patch 2015-01-15 14:17:44.000000000 +0000 +++ firefox-1000~35.0.1+build1/debian/patches/unity-menubar.patch 2015-01-28 17:39:26.000000000 +0000 @@ -1,7 +1,7 @@ -Index: firefox-35.0+build3/browser/base/content/browser-menubar.inc +Index: firefox-1000~35.0.1+build1/browser/base/content/browser-menubar.inc =================================================================== ---- firefox-35.0+build3.orig/browser/base/content/browser-menubar.inc -+++ firefox-35.0+build3/browser/base/content/browser-menubar.inc +--- firefox-1000~35.0.1+build1.orig/browser/base/content/browser-menubar.inc ++++ firefox-1000~35.0.1+build1/browser/base/content/browser-menubar.inc @@ -5,7 +5,11 @@ -Index: firefox-35.0+build3/browser/components/places/content/places.xul +Index: firefox-1000~35.0.1+build1/browser/components/places/content/places.xul =================================================================== ---- firefox-35.0+build3.orig/browser/components/places/content/places.xul -+++ firefox-35.0+build3/browser/components/places/content/places.xul +--- firefox-1000~35.0.1+build1.orig/browser/components/places/content/places.xul ++++ firefox-1000~35.0.1+build1/browser/components/places/content/places.xul @@ -157,7 +157,7 @@ @@ -62,10 +62,10 @@ -Index: firefox-35.0+build3/toolkit/content/xul.css +Index: firefox-1000~35.0.1+build1/toolkit/content/xul.css =================================================================== ---- firefox-35.0+build3.orig/toolkit/content/xul.css -+++ firefox-35.0+build3/toolkit/content/xul.css +--- firefox-1000~35.0.1+build1.orig/toolkit/content/xul.css ++++ firefox-1000~35.0.1+build1/toolkit/content/xul.css @@ -284,6 +284,18 @@ toolbar[type="menubar"][autohide="true"] } %endif @@ -85,10 +85,10 @@ toolbarseparator { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration"); } -Index: firefox-35.0+build3/widget/gtk/nsDbusmenu.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsDbusmenu.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsDbusmenu.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsDbusmenu.cpp @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -149,10 +149,10 @@ + + return NS_OK; +} -Index: firefox-35.0+build3/widget/gtk/nsDbusmenu.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsDbusmenu.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsDbusmenu.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsDbusmenu.h @@ -0,0 +1,99 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -253,10 +253,10 @@ +#define dbusmenu_menuitem_property_set_shortcut nsDbusmenuFunctions::s_dbusmenu_menuitem_property_set_shortcut + +#endif /* __nsDbusmenu_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsMenu.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenu.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenu.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenu.cpp @@ -0,0 +1,866 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -1124,10 +1124,10 @@ + + MaybeAddPlaceholderItem(); +} -Index: firefox-35.0+build3/widget/gtk/nsMenu.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenu.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenu.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenu.h @@ -0,0 +1,166 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -1295,10 +1295,10 @@ +}; + +#endif /* __nsMenu_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsMenuBar.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuBar.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuBar.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuBar.cpp @@ -0,0 +1,545 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -1845,10 +1845,10 @@ + DebugOnly rv = RemoveChild(aChild); + NS_ASSERTION(NS_SUCCEEDED(rv), "Failed to remove item from menubar"); +} -Index: firefox-35.0+build3/widget/gtk/nsMenuBar.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuBar.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuBar.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuBar.h @@ -0,0 +1,112 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -1962,10 +1962,10 @@ +}; + +#endif /* __nsMenuBar_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsMenuContainer.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuContainer.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuContainer.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuContainer.cpp @@ -0,0 +1,179 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -2146,10 +2146,10 @@ + + return aContent; +} -Index: firefox-35.0+build3/widget/gtk/nsMenuContainer.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuContainer.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuContainer.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuContainer.h @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -2217,10 +2217,10 @@ +}; + +#endif /* __nsMenuContainer_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsMenuItem.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuItem.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuItem.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuItem.cpp @@ -0,0 +1,739 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -2961,10 +2961,10 @@ + UpdateIcon(sc); + } +} -Index: firefox-35.0+build3/widget/gtk/nsMenuItem.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuItem.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuItem.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuItem.h @@ -0,0 +1,107 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -3073,10 +3073,10 @@ +}; + +#endif /* __nsMenuItem_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsMenuObject.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuObject.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuObject.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuObject.cpp @@ -0,0 +1,705 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -3783,10 +3783,10 @@ + weak = weak->GetPrevious(); + } +} -Index: firefox-35.0+build3/widget/gtk/nsMenuObject.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuObject.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuObject.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuObject.h @@ -0,0 +1,242 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4030,10 +4030,10 @@ +}; + +#endif /* __nsMenuObject_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsMenuSeparator.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuSeparator.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuSeparator.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuSeparator.cpp @@ -0,0 +1,90 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4125,10 +4125,10 @@ + UpdateVisibility(sc); + } +} -Index: firefox-35.0+build3/widget/gtk/nsMenuSeparator.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsMenuSeparator.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsMenuSeparator.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsMenuSeparator.h @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4171,10 +4171,10 @@ +}; + +#endif /* __nsMenuSeparator_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuAtomList.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuAtomList.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuAtomList.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuAtomList.h @@ -0,0 +1,11 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4187,10 +4187,10 @@ +WIDGET_ATOM2(_moz_menupopupstate, "_moz-menupopupstate") +WIDGET_ATOM(openedwithkey) +WIDGET_ATOM(shellshowingmenubar) -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuAtoms.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuAtoms.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuAtoms.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuAtoms.cpp @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4231,10 +4231,10 @@ +{ + NS_RegisterStaticAtoms(gAtoms); +} -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuAtoms.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuAtoms.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuAtoms.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuAtoms.h @@ -0,0 +1,25 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4261,10 +4261,10 @@ +}; + +#endif /* __nsNativeMenuAtoms_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuDocListener.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuDocListener.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuDocListener.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuDocListener.cpp @@ -0,0 +1,369 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4635,10 +4635,10 @@ + CancelFlush(this); + mPendingMutations.Clear(); +} -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuDocListener.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuDocListener.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuDocListener.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuDocListener.h @@ -0,0 +1,152 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -4792,10 +4792,10 @@ +}; + +#endif /* __nsNativeMenuDocListener_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuService.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuService.cpp =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuService.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuService.cpp @@ -0,0 +1,506 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -5303,10 +5303,10 @@ + + return NS_OK; +} -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuService.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuService.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuService.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuService.h @@ -0,0 +1,88 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -5396,10 +5396,10 @@ +}; + +#endif /* __nsNativeMenuService_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsNativeMenuUtils.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuUtils.h =================================================================== --- /dev/null -+++ firefox-35.0+build3/widget/gtk/nsNativeMenuUtils.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsNativeMenuUtils.h @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: @@ -5460,10 +5460,10 @@ +}; + +#endif /* __nsNativeMenuUtils_h__ */ -Index: firefox-35.0+build3/widget/gtk/nsWidgetFactory.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsWidgetFactory.cpp =================================================================== ---- firefox-35.0+build3.orig/widget/gtk/nsWidgetFactory.cpp -+++ firefox-35.0+build3/widget/gtk/nsWidgetFactory.cpp +--- firefox-1000~35.0.1+build1.orig/widget/gtk/nsWidgetFactory.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsWidgetFactory.cpp @@ -44,6 +44,9 @@ #include "GfxInfoX11.h" #endif @@ -5532,10 +5532,10 @@ nsWidgetGtk2ModuleDtor }; -Index: firefox-35.0+build3/widget/gtk/nsWindow.cpp +Index: firefox-1000~35.0.1+build1/widget/gtk/nsWindow.cpp =================================================================== ---- firefox-35.0+build3.orig/widget/gtk/nsWindow.cpp -+++ firefox-35.0+build3/widget/gtk/nsWindow.cpp +--- firefox-1000~35.0.1+build1.orig/widget/gtk/nsWindow.cpp ++++ firefox-1000~35.0.1+build1/widget/gtk/nsWindow.cpp @@ -4777,6 +4777,11 @@ nsWindow::HideWindowChrome(bool aShouldH return NS_OK; } @@ -5548,10 +5548,10 @@ bool nsWindow::CheckForRollup(gdouble aMouseX, gdouble aMouseY, bool aIsWheel, bool aAlwaysRollup) -Index: firefox-35.0+build3/widget/gtk/nsWindow.h +Index: firefox-1000~35.0.1+build1/widget/gtk/nsWindow.h =================================================================== ---- firefox-35.0+build3.orig/widget/gtk/nsWindow.h -+++ firefox-35.0+build3/widget/gtk/nsWindow.h +--- firefox-1000~35.0.1+build1.orig/widget/gtk/nsWindow.h ++++ firefox-1000~35.0.1+build1/widget/gtk/nsWindow.h @@ -34,6 +34,8 @@ #include "nsGtkIMModule.h" @@ -5579,10 +5579,10 @@ }; class nsChildWindow : public nsWindow { -Index: firefox-35.0+build3/xpfe/appshell/nsWebShellWindow.cpp +Index: firefox-1000~35.0.1+build1/xpfe/appshell/nsWebShellWindow.cpp =================================================================== ---- firefox-35.0+build3.orig/xpfe/appshell/nsWebShellWindow.cpp -+++ firefox-35.0+build3/xpfe/appshell/nsWebShellWindow.cpp +--- firefox-1000~35.0.1+build1.orig/xpfe/appshell/nsWebShellWindow.cpp ++++ firefox-1000~35.0.1+build1/xpfe/appshell/nsWebShellWindow.cpp @@ -58,6 +58,7 @@ #include "nsIScreen.h" @@ -5615,10 +5615,10 @@ if (nms && menubarContent) nms->CreateNativeMenuBar(aParentWindow, menubarContent); } -Index: firefox-35.0+build3/widget/gtk/moz.build +Index: firefox-1000~35.0.1+build1/widget/gtk/moz.build =================================================================== ---- firefox-35.0+build3.orig/widget/gtk/moz.build -+++ firefox-35.0+build3/widget/gtk/moz.build +--- firefox-1000~35.0.1+build1.orig/widget/gtk/moz.build ++++ firefox-1000~35.0.1+build1/widget/gtk/moz.build @@ -19,11 +19,20 @@ UNIFIED_SOURCES += [ 'nsAppShell.cpp', 'nsBidiKeyboard.cpp', @@ -5656,10 +5656,10 @@ '/layout/xul', '/other-licenses/atk-1.0', '/toolkit/xre' -Index: firefox-35.0+build3/browser/base/content/browser.js +Index: firefox-1000~35.0.1+build1/browser/base/content/browser.js =================================================================== ---- firefox-35.0+build3.orig/browser/base/content/browser.js -+++ firefox-35.0+build3/browser/base/content/browser.js +--- firefox-1000~35.0.1+build1.orig/browser/base/content/browser.js ++++ firefox-1000~35.0.1+build1/browser/base/content/browser.js @@ -4635,6 +4635,8 @@ function getTogglableToolbars() { let toolbarNodes = Array.slice(gNavToolbox.childNodes); toolbarNodes = toolbarNodes.concat(gNavToolbox.externalToolbars); @@ -5669,10 +5669,10 @@ return toolbarNodes; } -Index: firefox-35.0+build3/widget/moz.build +Index: firefox-1000~35.0.1+build1/widget/moz.build =================================================================== ---- firefox-35.0+build3.orig/widget/moz.build -+++ firefox-35.0+build3/widget/moz.build +--- firefox-1000~35.0.1+build1.orig/widget/moz.build ++++ firefox-1000~35.0.1+build1/widget/moz.build @@ -39,10 +39,12 @@ elif toolkit == 'cocoa': 'nsITaskbarProgress.idl', ] diff -Nru firefox-35.0+build3/editor/libeditor/nsHTMLEditRules.cpp firefox-1000~35.0.1+build1/editor/libeditor/nsHTMLEditRules.cpp --- firefox-35.0+build3/editor/libeditor/nsHTMLEditRules.cpp 2015-01-09 21:03:56.000000000 +0000 +++ firefox-1000~35.0.1+build1/editor/libeditor/nsHTMLEditRules.cpp 2015-01-25 18:48:17.000000000 +0000 @@ -7520,7 +7520,8 @@ // left & right node are same type nsCOMPtr rightParent; nsCOMPtr parent = nodeLeft->GetParentNode(); - int32_t parOffset = parent ? parent->IndexOf(nodeLeft) : -1; + NS_ENSURE_STATE(parent); + int32_t parOffset = parent->IndexOf(nodeLeft); aNodeRight->GetParentNode(getter_AddRefs(rightParent)); // if they don't have the same parent, first move the 'right' node diff -Nru firefox-35.0+build3/gfx/2d/DrawTargetD2D1.cpp firefox-1000~35.0.1+build1/gfx/2d/DrawTargetD2D1.cpp --- firefox-35.0+build3/gfx/2d/DrawTargetD2D1.cpp 2015-01-09 21:03:57.000000000 +0000 +++ firefox-1000~35.0.1+build1/gfx/2d/DrawTargetD2D1.cpp 2015-01-25 18:48:18.000000000 +0000 @@ -826,7 +826,12 @@ return mFactory; } - HRESULT hr = D2DFactory()->QueryInterface((ID2D1Factory1**)&mFactory); + ID2D1Factory* d2dFactory = D2DFactory(); + if (!d2dFactory) { + return nullptr; + } + + HRESULT hr = d2dFactory->QueryInterface((ID2D1Factory1**)&mFactory); if (FAILED(hr)) { return nullptr; diff -Nru firefox-35.0+build3/gfx/2d/DrawTargetTiled.h firefox-1000~35.0.1+build1/gfx/2d/DrawTargetTiled.h --- firefox-35.0+build3/gfx/2d/DrawTargetTiled.h 2015-01-09 21:03:57.000000000 +0000 +++ firefox-1000~35.0.1+build1/gfx/2d/DrawTargetTiled.h 2015-01-25 18:48:18.000000000 +0000 @@ -40,7 +40,10 @@ virtual DrawTargetType GetType() const MOZ_OVERRIDE { return mTiles[0].mDrawTarget->GetType(); } virtual BackendType GetBackendType() const { return mTiles[0].mDrawTarget->GetBackendType(); } virtual TemporaryRef Snapshot(); - virtual IntSize GetSize() { return IntSize(mRect.XMost(), mRect.YMost()); } + virtual IntSize GetSize() { + MOZ_ASSERT(mRect.width > 0 && mRect.height > 0); + return IntSize(mRect.XMost(), mRect.YMost()); + } virtual void Flush(); virtual void DrawSurface(SourceSurface *aSurface, @@ -162,7 +165,10 @@ } virtual SurfaceType GetType() const { return SurfaceType::TILED; } - virtual IntSize GetSize() const { return IntSize(mRect.XMost(), mRect.YMost()); } + virtual IntSize GetSize() const { + MOZ_ASSERT(mRect.width > 0 && mRect.height > 0); + return IntSize(mRect.XMost(), mRect.YMost()); + } virtual SurfaceFormat GetFormat() const { return mSnapshots[0]->GetFormat(); } virtual TemporaryRef GetDataSurface() diff -Nru firefox-35.0+build3/gfx/layers/client/TiledContentClient.cpp firefox-1000~35.0.1+build1/gfx/layers/client/TiledContentClient.cpp --- firefox-35.0+build3/gfx/layers/client/TiledContentClient.cpp 2015-01-09 21:03:57.000000000 +0000 +++ firefox-1000~35.0.1+build1/gfx/layers/client/TiledContentClient.cpp 2015-01-25 18:48:19.000000000 +0000 @@ -1038,6 +1038,9 @@ { if (gfxPrefs::TiledDrawTargetEnabled() && mMoz2DTiles.size() > 0) { gfx::TileSet tileset; + for (size_t i = 0; i < mMoz2DTiles.size(); ++i) { + mMoz2DTiles[i].mTileOrigin -= mTilingOrigin; + } tileset.mTiles = &mMoz2DTiles[0]; tileset.mTileCount = mMoz2DTiles.size(); RefPtr drawTarget = gfx::Factory::CreateTiledDrawTarget(tileset); @@ -1045,10 +1048,13 @@ RefPtr ctx = new gfxContext(drawTarget); ctx->SetMatrix( - ctx->CurrentMatrix().Scale(mResolution, mResolution)); + ctx->CurrentMatrix().Scale(mResolution, mResolution).Translate(ThebesPoint(-mTilingOrigin))); mCallback(mPaintedLayer, ctx, aPaintRegion, DrawRegionClip::DRAW, nsIntRegion(), mCallbackData); mMoz2DTiles.clear(); + // Reset: + mTilingOrigin = IntPoint(std::numeric_limits::max(), + std::numeric_limits::max()); } } @@ -1170,6 +1176,8 @@ } mMoz2DTiles.push_back(moz2DTile); + mTilingOrigin.x = std::min(mTilingOrigin.x, moz2DTile.mTileOrigin.x); + mTilingOrigin.y = std::min(mTilingOrigin.y, moz2DTile.mTileOrigin.y); nsIntRegionRectIterator it(aDirtyRegion); for (const nsIntRect* dirtyRect = it.Next(); dirtyRect != nullptr; dirtyRect = it.Next()) { diff -Nru firefox-35.0+build3/gfx/layers/client/TiledContentClient.h firefox-1000~35.0.1+build1/gfx/layers/client/TiledContentClient.h --- firefox-35.0+build3/gfx/layers/client/TiledContentClient.h 2015-01-09 21:03:57.000000000 +0000 +++ firefox-1000~35.0.1+build1/gfx/layers/client/TiledContentClient.h 2015-01-25 18:48:19.000000000 +0000 @@ -9,6 +9,7 @@ #include // for size_t #include // for uint16_t #include // for swap +#include #include "Layers.h" // for LayerManager, etc #include "TiledLayerBuffer.h" // for TiledLayerBuffer #include "Units.h" // for CSSPoint @@ -399,6 +400,8 @@ , mLastPaintContentType(gfxContentType::COLOR) , mLastPaintSurfaceMode(SurfaceMode::SURFACE_OPAQUE) , mSharedFrameMetricsHelper(nullptr) + , mTilingOrigin(std::numeric_limits::max(), + std::numeric_limits::max()) {} void PaintThebes(const nsIntRegion& aNewValidRegion, @@ -476,6 +479,16 @@ // When using Moz2D's CreateTiledDrawTarget we maintain a list of gfx::Tiles std::vector mMoz2DTiles; /** + * While we're adding tiles, this is used to keep track of the position of + * the top-left of the top-left-most tile. When we come to wrap the tiles in + * TiledDrawTarget we subtract the value of this member from each tile's + * offset so that all the tiles have a positive offset, then add a + * translation to the TiledDrawTarget to compensate. This is important so + * that the mRect of the TiledDrawTarget is always at a positive x/y + * position, otherwise its GetSize() methods will be broken. + */ + gfx::IntPoint mTilingOrigin; + /** * Calculates the region to update in a single progressive update transaction. * This employs some heuristics to update the most 'sensible' region to * update at this point in time, and how large an update should be performed diff -Nru firefox-35.0+build3/gfx/src/nsRegion.h firefox-1000~35.0.1+build1/gfx/src/nsRegion.h --- firefox-35.0+build3/gfx/src/nsRegion.h 2015-01-09 21:03:44.000000000 +0000 +++ firefox-1000~35.0.1+build1/gfx/src/nsRegion.h 2015-01-25 18:48:04.000000000 +0000 @@ -68,10 +68,6 @@ { return IsEqual(aRgn); } - bool operator!=(const nsRegion& aRgn) const - { - return !(*this == aRgn); - } friend std::ostream& operator<<(std::ostream& stream, const nsRegion& m); @@ -468,10 +464,6 @@ { return IsEqual(aRgn); } - bool operator!=(const nsIntRegion& aRgn) const - { - return !(*this == aRgn); - } friend std::ostream& operator<<(std::ostream& stream, const nsIntRegion& m) { return stream << m.mImpl; diff -Nru firefox-35.0+build3/image/test/reftest/generic/reftest.list firefox-1000~35.0.1+build1/image/test/reftest/generic/reftest.list --- firefox-35.0+build3/image/test/reftest/generic/reftest.list 2015-01-09 21:03:45.000000000 +0000 +++ firefox-1000~35.0.1+build1/image/test/reftest/generic/reftest.list 2015-01-25 18:48:05.000000000 +0000 @@ -1 +1 @@ -fails-if(Android&&(AndroidVersion==10||AndroidVersion==17)) HTTP == accept-image-catchall.html accept-image-catchall-ref.html +HTTP == accept-image-catchall.html accept-image-catchall-ref.html diff -Nru firefox-35.0+build3/js/src/builtin/TestingFunctions.cpp firefox-1000~35.0.1+build1/js/src/builtin/TestingFunctions.cpp --- firefox-35.0+build3/js/src/builtin/TestingFunctions.cpp 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/js/src/builtin/TestingFunctions.cpp 2015-01-25 18:48:08.000000000 +0000 @@ -14,9 +14,7 @@ #include "jsfriendapi.h" #include "jsgc.h" #include "jsobj.h" -#ifndef JS_MORE_DETERMINISTIC #include "jsprf.h" -#endif #include "jswrapper.h" #include "asmjs/AsmJSLink.h" diff -Nru firefox-35.0+build3/l10n/changesets firefox-1000~35.0.1+build1/l10n/changesets --- firefox-35.0+build3/l10n/changesets 2015-01-09 21:16:59.000000000 +0000 +++ firefox-1000~35.0.1+build1/l10n/changesets 2015-01-25 18:59:25.000000000 +0000 @@ -1,88 +1,88 @@ -ach 337:fba28c2b273e -af 623:18d3130b5ca5 -an 255:09bd0ff74664 -ar 1404:aa0844f79c69 -as 607:df4da9f4cb50 -ast 1286:0ed3254065e7 -az 95:1a2936fc64bd -be 1622:2f450428f4c2 -bg 884:4d53807a9f49 -bn-BD 842:e7af3bebad8c -bn-IN 741:355a7394db39 -br 1007:2fb01f150b9d -bs 557:1217def51f7a -ca 2230:cdd430582148 -cs 3503:1cfd0a866eb7 -cy 817:020c5256f4e0 -da 1877:50135f40f1c1 -de 4499:233414b839af -dsb 89:113524b8e665 -el 1167:09fc5c4d8731 -en-GB 1718:5db156818222 -en-ZA 530:18f950fd904b -eo 888:ab6b2734caa4 -es-AR 2398:92e68e5ca0f6 -es-CL 1022:bd4bdcae95a1 -es-ES 3763:13f3584ce58f -es-MX 912:3dcb2fa6be68 -et 1603:8d95a016e094 -eu 1349:bc2e1bc4f572 -fa 894:cebc621c8b6f -ff 433:a26fa6e834df -fi 2043:8bb3b446d2e2 -fr 6658:73cd1ecb4a88 -fy-NL 2301:91ca6f20a00c -ga-IE 1554:839671b36181 -gd 1437:65de568b3366 -gl 2874:8e6aaf3db78e -gu-IN 1107:afbabfb08094 -he 1302:0be21ed39543 -hi-IN 801:7e0a92b9b41a -hr 1600:7937e6daa524 -hsb 129:b94f4612c807 -hu 1966:f3bfc9a66ec3 -hy-AM 955:c49cf80ae6b7 -id 1435:e88f032284b3 -is 1139:d00353faa278 -it 4913:bc9b9faae0d8 -ja 2130:5130ead14cb1 -ja-JP-mac 1786:91bfe433fc3c -kk 810:4ef8c527f940 -km 454:dd8aff432ac7 -kn 760:8b5e92328377 -ko 1767:35601c093bf5 -lij 685:b9453f707c38 -lt 2691:d53274d9fe6c -lv 1054:002a9e8d1d15 -mai 651:24303c71a938 -mk 618:c7a6fbe7de06 -ml 818:f98d987fb1c0 -mr 750:34244e079006 -ms 301:3946b13fb005 -nb-NO 2478:af6e40209a66 -nl 5146:efee29bbb3a5 -nn-NO 1381:6c224f451666 -or 704:dc9d52cd7f9c -pa-IN 1686:74ebf51fccfa -pl 6446:ed970635fdcf -pt-BR 1750:ab156e7eb2a3 -pt-PT 3007:d8bb78b7903e -rm 1115:67e82d112ca1 -ro 1250:9b0adbff1ce4 -ru 3785:5f329b7ae6e4 -si 1137:900dbb5b8476 -sk 1889:3d5dfea53790 -sl 1919:5ef84a9c032c -son 600:a6da996cc7c2 -sq 1666:6bd7513468b7 -sr 916:8d1f1c75d09a -sv-SE 4387:5115715fd3fd -ta 691:4e6f3e49e433 -te 713:b2ec2878dfb6 -th 995:3dc5899a2dc2 -tr 1807:10d4aa9e537b -uk 2576:218e8200cc76 -vi 861:188b1485591a -xh 281:ee5465b75855 -zh-CN 2164:daaa3b7ff200 -zh-TW 2460:bf50d4cde638 +ach 338:c2f70d35f11a +af 624:fc8b782afd48 +an 256:068c4a3e6097 +ar 1405:1020619eb478 +as 608:cf6ecbb21012 +ast 1287:872108d4cf47 +az 96:7b616801c225 +be 1625:87245344f00d +bg 885:63ac8f960973 +bn-BD 843:65cfa5cbf299 +bn-IN 742:4237e30263f8 +br 1008:5b18ea60d10f +bs 558:f0c10f34547e +ca 2233:4149334c77f5 +cs 3506:0170ff5edd55 +cy 818:67eb7d5970eb +da 1878:51fe5d953760 +de 4502:413e48707e31 +dsb 90:32c990eadfb2 +el 1168:2d7f3f6bb70a +en-GB 1721:4db73605ac14 +en-ZA 531:d9e81044c562 +eo 889:f8396d7e90a7 +es-AR 2401:9a87eaaa4e39 +es-CL 1023:2823ca0ec90b +es-ES 3766:8817ef05d939 +es-MX 913:cc0c3c7e0bde +et 1604:85285c15ad62 +eu 1350:3b072241ed2b +fa 895:6f610dd28a6f +ff 434:adbed3be6726 +fi 2046:7beace5073d9 +fr 6661:55c872bd0549 +fy-NL 2302:f431272b6fd7 +ga-IE 1555:8e3575faca3c +gd 1438:b374cefaba15 +gl 2877:b526900cf60a +gu-IN 1108:a66e396f9066 +he 1303:633742ec3685 +hi-IN 802:8357b4289fbb +hr 1601:ef84da26ca39 +hsb 130:1838da01a19b +hu 1969:aa0c9ecb079d +hy-AM 956:0d4eb41dc4d5 +id 1436:9abbd849ef5f +is 1140:593196e5a4ee +it 4916:24bead59698e +ja 2133:8f2d12a87fbd +ja-JP-mac 1789:c67fddcfa6ce +kk 811:1793b6e57cac +km 455:db96e8ef7d7a +kn 761:51a7e50fe691 +ko 1768:a20e23d51a70 +lij 686:4f51974a00aa +lt 2694:b8ac3aa8ac0b +lv 1055:d50503a301dc +mai 652:7ec9472339c7 +mk 619:67dd1ce29e47 +ml 819:db212090bfb3 +mr 751:debd6f6fa911 +ms 302:deb51df09ed5 +nb-NO 2481:7b94d861bb59 +nl 5149:73f1cb80554c +nn-NO 1382:726baa6907e0 +or 705:18c992f1c190 +pa-IN 1687:431cbdba30cf +pl 6449:6525d0339c13 +pt-BR 1751:247a46ac943a +pt-PT 3010:f897aac464ce +rm 1116:7802f7af74f4 +ro 1251:1202f629ac61 +ru 3788:dc23865791e7 +si 1138:57cec7df8bd3 +sk 1892:d9295b7a136b +sl 1920:a42b04efbe4e +son 601:fb6ec4954cfc +sq 1667:298fffd72f64 +sr 917:db5244e0f0f5 +sv-SE 4390:f0a8da0e295c +ta 692:a224618ce87e +te 714:e6438a706c47 +th 996:5e183fde8ce0 +tr 1810:4748639a8a6a +uk 2579:976cd6d4914c +vi 862:4e4bd6925042 +xh 282:309c52aa2c13 +zh-CN 2167:958890dd79b1 +zh-TW 2463:8803cd8ad694 diff -Nru firefox-35.0+build3/layout/base/nsDisplayList.cpp firefox-1000~35.0.1+build1/layout/base/nsDisplayList.cpp --- firefox-35.0+build3/layout/base/nsDisplayList.cpp 2015-01-09 21:03:53.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/base/nsDisplayList.cpp 2015-01-25 18:48:15.000000000 +0000 @@ -1070,42 +1070,6 @@ return mReferenceFrame; } -void -nsDisplayListBuilder::AdjustWindowDraggingRegion(nsIFrame* aFrame) -{ - if (!IsForPainting() || IsInSubdocument() || IsInTransform()) { - return; - } - - // We do some basic visibility checking on the frame's border box here. - // We intersect it both with the current dirty rect and with the current - // clip. Either one is just a conservative approximation on its own, but - // their intersection luckily works well enough for our purposes, so that - // we don't have to do full-blown visibility computations. - // The most important case we need to handle is the scrolled-off tab: - // If the tab bar overflows, tab parts that are clipped by the scrollbox - // should not be allowed to interfere with the window dragging region. Using - // just the current DisplayItemClip is not enough to cover this case - // completely because clips are reset while building stacking context - // contents, so for example we'd fail to clip frames that have a clip path - // applied to them. But the current dirty rect doesn't get reset in that - // case, so we use it to make this case work. - nsRect borderBox = aFrame->GetRectRelativeToSelf().Intersect(mDirtyRect); - borderBox += ToReferenceFrame(aFrame); - const DisplayItemClip* clip = ClipState().GetCurrentCombinedClip(this); - if (clip) { - borderBox = clip->ApplyNonRoundedIntersection(borderBox); - } - if (!borderBox.IsEmpty()) { - const nsStyleUserInterface* styleUI = aFrame->StyleUserInterface(); - if (styleUI->mWindowDragging == NS_STYLE_WINDOW_DRAGGING_DRAG) { - mWindowDraggingRegion.OrWith(borderBox); - } else { - mWindowDraggingRegion.SubOut(borderBox); - } - } -} - void nsDisplayListSet::MoveTo(const nsDisplayListSet& aDestination) const { aDestination.BorderBackground()->AppendToTop(BorderBackground()); @@ -1803,12 +1767,20 @@ static void RegisterThemeGeometry(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame) { - if (!aBuilder->IsInSubdocument() && !aBuilder->IsInTransform()) { - nsIFrame* displayRoot = nsLayoutUtils::GetDisplayRootFrame(aFrame); - nsRect borderBox(aFrame->GetOffsetTo(displayRoot), aFrame->GetSize()); - aBuilder->RegisterThemeGeometry(aFrame->StyleDisplay()->mAppearance, - borderBox.ToNearestPixels(aFrame->PresContext()->AppUnitsPerDevPixel())); + nsIFrame* displayRoot = nsLayoutUtils::GetDisplayRootFrame(aFrame); + + for (nsIFrame* f = aFrame; f; f = f->GetParent()) { + // Bail out if we're in a transformed subtree + if (f->IsTransformed()) + return; + // Bail out if we're not in the displayRoot's document + if (!f->GetParent() && f != displayRoot) + return; } + + nsRect borderBox(aFrame->GetOffsetTo(displayRoot), aFrame->GetSize()); + aBuilder->RegisterThemeGeometry(aFrame->StyleDisplay()->mAppearance, + borderBox.ToNearestPixels(aFrame->PresContext()->AppUnitsPerDevPixel())); } nsDisplayBackgroundImage::nsDisplayBackgroundImage(nsDisplayListBuilder* aBuilder, diff -Nru firefox-35.0+build3/layout/base/nsDisplayList.h firefox-1000~35.0.1+build1/layout/base/nsDisplayList.h --- firefox-35.0+build3/layout/base/nsDisplayList.h 2015-01-09 21:03:53.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/base/nsDisplayList.h 2015-01-25 18:48:15.000000000 +0000 @@ -398,12 +398,6 @@ void SetInTransform(bool aInTransform) { mInTransform = aInTransform; } /** - * Return true if we're currently building a display list for a - * nested presshell. - */ - bool IsInSubdocument() { return mPresShellStates.Length() > 1; } - - /** * @return true if images have been set to decode synchronously. */ bool ShouldSyncDecodeImages() { return mSyncDecodeImages; } @@ -480,22 +474,13 @@ */ void RegisterThemeGeometry(uint8_t aWidgetType, const nsIntRect& aRect) { - if (mIsPaintingToWindow) { - mThemeGeometries.AppendElement(ThemeGeometry(aWidgetType, aRect)); + if (mIsPaintingToWindow && mPresShellStates.Length() == 1) { + ThemeGeometry geometry(aWidgetType, aRect); + mThemeGeometries.AppendElement(geometry); } } /** - * Adjusts mWindowDraggingRegion to take into account aFrame. If aFrame's - * -moz-window-dragging value is |drag|, its border box is added to the - * collected dragging region; if the value is |no-drag|, the border box is - * subtracted from the region. - */ - void AdjustWindowDraggingRegion(nsIFrame* aFrame); - - const nsRegion& GetWindowDraggingRegion() { return mWindowDraggingRegion; } - - /** * Allocate memory in our arena. It will only be freed when this display list * builder is destroyed. This memory holds nsDisplayItems. nsDisplayItem * destructors are called as soon as the item is no longer used. @@ -776,7 +761,6 @@ nsRect mDirtyRect; nsRegion mWindowExcludeGlassRegion; nsRegion mWindowOpaqueRegion; - nsRegion mWindowDraggingRegion; // The display item for the Windows window glass background, if any nsDisplayItem* mGlassDisplayItem; nsTArray mDisplayItemClipsToDestroy; diff -Nru firefox-35.0+build3/layout/base/nsLayoutUtils.cpp firefox-1000~35.0.1+build1/layout/base/nsLayoutUtils.cpp --- firefox-35.0+build3/layout/base/nsLayoutUtils.cpp 2015-01-09 21:03:53.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/base/nsLayoutUtils.cpp 2015-01-25 18:48:15.000000000 +0000 @@ -3145,21 +3145,15 @@ #endif // Update the widget's opaque region information. This sets - // glass boundaries on Windows. Also set up the window dragging region - // and plugin clip regions and bounds. + // glass boundaries on Windows. Also set up plugin clip regions and bounds. if ((aFlags & PAINT_WIDGET_LAYERS) && !willFlushRetainedLayers && !(aFlags & PAINT_DOCUMENT_RELATIVE)) { nsIWidget *widget = aFrame->GetNearestWidget(); if (widget) { - nsRegion opaqueRegion; - opaqueRegion.And(builder.GetWindowExcludeGlassRegion(), builder.GetWindowOpaqueRegion()); - widget->UpdateOpaqueRegion( - opaqueRegion.ToNearestPixels(presContext->AppUnitsPerDevPixel())); - - const nsRegion& draggingRegion = builder.GetWindowDraggingRegion(); - widget->UpdateWindowDraggingRegion( - draggingRegion.ToNearestPixels(presContext->AppUnitsPerDevPixel())); + nsRegion excludedRegion = builder.GetWindowOpaqueRegion(); + nsIntRegion windowRegion(excludedRegion.ToNearestPixels(presContext->AppUnitsPerDevPixel())); + widget->UpdateOpaqueRegion(windowRegion); } } diff -Nru firefox-35.0+build3/layout/reftests/backgrounds/reftest.list firefox-1000~35.0.1+build1/layout/reftests/backgrounds/reftest.list --- firefox-35.0+build3/layout/reftests/backgrounds/reftest.list 2015-01-09 21:03:54.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/reftests/backgrounds/reftest.list 2015-01-25 18:48:16.000000000 +0000 @@ -124,7 +124,7 @@ random-if(B2G) == fixed-bg-with-transform-outside-viewport-1.html fixed-bg-with-transform-outside-viewport-ref.html HTTP == root-background-1.html root-background-ref.html -fails-if(Android&&(AndroidVersion==10||AndroidVersion==17)) HTTP != root-background-1.html about:blank +HTTP != root-background-1.html about:blank random-if(B2G) == really-big-background.html really-big-background-ref.html == body-background.html body-background-ref.html @@ -136,7 +136,7 @@ == multi-background-clip-content-border.html multi-background-clip-content-border-ref.html -fails-if(Android&&(AndroidVersion==10||AndroidVersion==17)) HTTP == background-referrer.html background-referrer-ref.html +HTTP == background-referrer.html background-referrer-ref.html == attachment-scroll-positioning-1.html attachment-scroll-positioning-1-ref.html == attachment-local-positioning-1.html attachment-local-positioning-1-ref.html diff -Nru firefox-35.0+build3/layout/reftests/font-face/reftest.list firefox-1000~35.0.1+build1/layout/reftests/font-face/reftest.list --- firefox-35.0+build3/layout/reftests/font-face/reftest.list 2015-01-09 21:03:44.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/reftests/font-face/reftest.list 2015-01-25 18:48:05.000000000 +0000 @@ -148,8 +148,8 @@ # Tests for bug 670900 - handling of 404 (not found) error in @font-face URL # (using Chunkfive font data returned from a .sjs file) HTTP(..) == font-error-404-1.html font-error-404-1-ref.html # HTTP status 404, don't load -skip-if(B2G) fails-if(Android&&(AndroidVersion==10||AndroidVersion==17)) HTTP(..) == font-error-404-2.html font-error-404-2-ref.html # HTTP status 200, load # bug 773482 -fails-if(Android&&(AndroidVersion==10||AndroidVersion==17)) HTTP(..) != font-error-404-1.html font-error-404-2.html # sanity-check that the results differ +skip-if(B2G) HTTP(..) == font-error-404-2.html font-error-404-2-ref.html # HTTP status 200, load # bug 773482 +HTTP(..) != font-error-404-1.html font-error-404-2.html # sanity-check that the results differ # Font load redirection HTTP(..) == font-redirect.html order-1-ref.html diff -Nru firefox-35.0+build3/layout/style/nsComputedDOMStyle.cpp firefox-1000~35.0.1+build1/layout/style/nsComputedDOMStyle.cpp --- firefox-35.0+build3/layout/style/nsComputedDOMStyle.cpp 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsComputedDOMStyle.cpp 2015-01-25 18:48:08.000000000 +0000 @@ -3330,16 +3330,6 @@ } CSSValue* -nsComputedDOMStyle::DoGetWindowDragging() -{ - nsROCSSPrimitiveValue *val = new nsROCSSPrimitiveValue; - val->SetIdent( - nsCSSProps::ValueToKeywordEnum(StyleUserInterface()->mWindowDragging, - nsCSSProps::kWindowDraggingKTable)); - return val; -} - -CSSValue* nsComputedDOMStyle::DoGetWindowShadow() { nsROCSSPrimitiveValue *val = new nsROCSSPrimitiveValue; diff -Nru firefox-35.0+build3/layout/style/nsComputedDOMStyle.h firefox-1000~35.0.1+build1/layout/style/nsComputedDOMStyle.h --- firefox-35.0+build3/layout/style/nsComputedDOMStyle.h 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsComputedDOMStyle.h 2015-01-25 18:48:08.000000000 +0000 @@ -438,7 +438,6 @@ mozilla::dom::CSSValue* DoGetUserInput(); mozilla::dom::CSSValue* DoGetUserModify(); mozilla::dom::CSSValue* DoGetUserSelect(); - mozilla::dom::CSSValue* DoGetWindowDragging(); /* Column properties */ mozilla::dom::CSSValue* DoGetColumnCount(); diff -Nru firefox-35.0+build3/layout/style/nsComputedDOMStylePropertyList.h firefox-1000~35.0.1+build1/layout/style/nsComputedDOMStylePropertyList.h --- firefox-35.0+build3/layout/style/nsComputedDOMStylePropertyList.h 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsComputedDOMStylePropertyList.h 2015-01-25 18:48:08.000000000 +0000 @@ -274,7 +274,6 @@ COMPUTED_STYLE_PROP(user_input, UserInput) COMPUTED_STYLE_PROP(user_modify, UserModify) COMPUTED_STYLE_PROP(user_select, UserSelect) -COMPUTED_STYLE_PROP(_moz_window_dragging, WindowDragging) COMPUTED_STYLE_PROP(_moz_window_shadow, WindowShadow) /* ***************************** *\ diff -Nru firefox-35.0+build3/layout/style/nsCSSKeywordList.h firefox-1000~35.0.1+build1/layout/style/nsCSSKeywordList.h --- firefox-35.0+build3/layout/style/nsCSSKeywordList.h 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsCSSKeywordList.h 2015-01-25 18:48:08.000000000 +0000 @@ -230,7 +230,6 @@ CSS_KEY(dotted, dotted) CSS_KEY(double, double) CSS_KEY(double-struck, double_struck) -CSS_KEY(drag, drag) CSS_KEY(drop-shadow, drop_shadow) CSS_KEY(e-resize, e_resize) CSS_KEY(ease, ease) @@ -371,7 +370,6 @@ CSS_KEY(no-common-ligatures, no_common_ligatures) CSS_KEY(no-contextual, no_contextual) CSS_KEY(no-discretionary-ligatures, no_discretionary_ligatures) -CSS_KEY(no-drag, no_drag) CSS_KEY(no-drop, no_drop) CSS_KEY(no-historical-ligatures, no_historical_ligatures) CSS_KEY(no-open-quote, no_open_quote) diff -Nru firefox-35.0+build3/layout/style/nsCSSPropList.h firefox-1000~35.0.1+build1/layout/style/nsCSSPropList.h --- firefox-35.0+build3/layout/style/nsCSSPropList.h 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsCSSPropList.h 2015-01-25 18:48:08.000000000 +0000 @@ -3386,16 +3386,6 @@ kWidthKTable, offsetof(nsStylePosition, mWidth), eStyleAnimType_Coord) -CSS_PROP_USERINTERFACE( - -moz-window-dragging, - _moz_window_dragging, - CSS_PROP_DOMPROP_PREFIXED(WindowDragging), - CSS_PROPERTY_PARSE_VALUE, - "", - VARIANT_HK, - kWindowDraggingKTable, - CSS_PROP_NO_OFFSET, - eStyleAnimType_None) CSS_PROP_UIRESET( -moz-window-shadow, _moz_window_shadow, diff -Nru firefox-35.0+build3/layout/style/nsCSSProps.cpp firefox-1000~35.0.1+build1/layout/style/nsCSSProps.cpp --- firefox-35.0+build3/layout/style/nsCSSProps.cpp 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsCSSProps.cpp 2015-01-25 18:48:08.000000000 +0000 @@ -1773,12 +1773,6 @@ eCSSKeyword_UNKNOWN,-1 }; -const KTableValue nsCSSProps::kWindowDraggingKTable[] = { - eCSSKeyword_drag, NS_STYLE_WINDOW_DRAGGING_DRAG, - eCSSKeyword_no_drag, NS_STYLE_WINDOW_DRAGGING_NO_DRAG, - eCSSKeyword_UNKNOWN,-1 -}; - const KTableValue nsCSSProps::kWindowShadowKTable[] = { eCSSKeyword_none, NS_STYLE_WINDOW_SHADOW_NONE, eCSSKeyword_default, NS_STYLE_WINDOW_SHADOW_DEFAULT, diff -Nru firefox-35.0+build3/layout/style/nsCSSProps.h firefox-1000~35.0.1+build1/layout/style/nsCSSProps.h --- firefox-35.0+build3/layout/style/nsCSSProps.h 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsCSSProps.h 2015-01-25 18:48:08.000000000 +0000 @@ -650,7 +650,6 @@ static const KTableValue kVolumeKTable[]; static const KTableValue kWhitespaceKTable[]; static const KTableValue kWidthKTable[]; // also min-width, max-width - static const KTableValue kWindowDraggingKTable[]; static const KTableValue kWindowShadowKTable[]; static const KTableValue kWordBreakKTable[]; static const KTableValue kWordWrapKTable[]; diff -Nru firefox-35.0+build3/layout/style/nsRuleNode.cpp firefox-1000~35.0.1+build1/layout/style/nsRuleNode.cpp --- firefox-35.0+build3/layout/style/nsRuleNode.cpp 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsRuleNode.cpp 2015-01-25 18:48:08.000000000 +0000 @@ -4648,13 +4648,6 @@ parentUI->mUserFocus, NS_STYLE_USER_FOCUS_NONE, 0, 0, 0, 0); - // -moz-window-dragging: enum, inherit, initial - SetDiscrete(*aRuleData->ValueForWindowDragging(), - ui->mWindowDragging, canStoreInRuleTree, - SETDSC_ENUMERATED | SETDSC_UNSET_INHERIT, - parentUI->mWindowDragging, - NS_STYLE_WINDOW_DRAGGING_NO_DRAG, 0, 0, 0, 0); - COMPUTE_END_INHERITED(UserInterface, ui) } diff -Nru firefox-35.0+build3/layout/style/nsStyleConsts.h firefox-1000~35.0.1+build1/layout/style/nsStyleConsts.h --- firefox-35.0+build3/layout/style/nsStyleConsts.h 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsStyleConsts.h 2015-01-25 18:48:08.000000000 +0000 @@ -121,10 +121,6 @@ #define NS_STYLE_USER_MODIFY_READ_WRITE 1 #define NS_STYLE_USER_MODIFY_WRITE_ONLY 2 -// -moz-window-dragging -#define NS_STYLE_WINDOW_DRAGGING_DRAG 0 -#define NS_STYLE_WINDOW_DRAGGING_NO_DRAG 1 - // box-align #define NS_STYLE_BOX_ALIGN_STRETCH 0 #define NS_STYLE_BOX_ALIGN_START 1 diff -Nru firefox-35.0+build3/layout/style/nsStyleStruct.cpp firefox-1000~35.0.1+build1/layout/style/nsStyleStruct.cpp --- firefox-35.0+build3/layout/style/nsStyleStruct.cpp 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsStyleStruct.cpp 2015-01-25 18:48:08.000000000 +0000 @@ -3443,7 +3443,6 @@ mUserInput = NS_STYLE_USER_INPUT_AUTO; mUserModify = NS_STYLE_USER_MODIFY_READ_ONLY; mUserFocus = NS_STYLE_USER_FOCUS_NONE; - mWindowDragging = NS_STYLE_WINDOW_DRAGGING_NO_DRAG; mCursor = NS_STYLE_CURSOR_AUTO; // fix for bugzilla bug 51113 @@ -3455,7 +3454,6 @@ mUserInput(aSource.mUserInput), mUserModify(aSource.mUserModify), mUserFocus(aSource.mUserFocus), - mWindowDragging(aSource.mWindowDragging), mCursor(aSource.mCursor) { MOZ_COUNT_CTOR(nsStyleUserInterface); @@ -3495,10 +3493,6 @@ NS_UpdateHint(hint, nsChangeHint_NeutralChange); } - if (mWindowDragging != aOther.mWindowDragging) { - NS_UpdateHint(hint, nsChangeHint_SchedulePaint); - } - return hint; } diff -Nru firefox-35.0+build3/layout/style/nsStyleStruct.h firefox-1000~35.0.1+build1/layout/style/nsStyleStruct.h --- firefox-35.0+build3/layout/style/nsStyleStruct.h 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/nsStyleStruct.h 2015-01-25 18:48:08.000000000 +0000 @@ -2599,7 +2599,6 @@ uint8_t mUserInput; // [inherited] uint8_t mUserModify; // [inherited] (modify-content) uint8_t mUserFocus; // [inherited] (auto-select) - uint8_t mWindowDragging; // [inherited] uint8_t mCursor; // [inherited] See nsStyleConsts.h diff -Nru firefox-35.0+build3/layout/style/test/property_database.js firefox-1000~35.0.1+build1/layout/style/test/property_database.js --- firefox-35.0+build3/layout/style/test/property_database.js 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/style/test/property_database.js 2015-01-25 18:48:08.000000000 +0000 @@ -1783,14 +1783,6 @@ other_values: [ "none", "text", "element", "elements", "all", "toggle", "tri-state", "-moz-all", "-moz-none" ], invalid_values: [] }, - "-moz-window-dragging": { - domProp: "MozWindowDragging", - inherited: true, - type: CSS_TYPE_LONGHAND, - initial_values: [ "no-drag" ], - other_values: [ "drag" ], - invalid_values: [ "none" ] - }, "-moz-window-shadow": { domProp: "MozWindowShadow", inherited: false, diff -Nru firefox-35.0+build3/layout/xul/nsBoxFrame.cpp firefox-1000~35.0.1+build1/layout/xul/nsBoxFrame.cpp --- firefox-35.0+build3/layout/xul/nsBoxFrame.cpp 2015-01-09 21:03:47.000000000 +0000 +++ firefox-1000~35.0.1+build1/layout/xul/nsBoxFrame.cpp 2015-01-25 18:48:09.000000000 +0000 @@ -1328,8 +1328,6 @@ aBuilder->AddWindowExcludeGlassRegion( nsRect(aBuilder->ToReferenceFrame(this), GetSize())); } - - aBuilder->AdjustWindowDraggingRegion(this); } nsDisplayListCollection tempLists; diff -Nru firefox-35.0+build3/mobile/android/base/tests/BaseTest.java firefox-1000~35.0.1+build1/mobile/android/base/tests/BaseTest.java --- firefox-35.0+build3/mobile/android/base/tests/BaseTest.java 2015-01-09 21:03:52.000000000 +0000 +++ firefox-1000~35.0.1+build1/mobile/android/base/tests/BaseTest.java 2015-01-25 18:48:14.000000000 +0000 @@ -177,7 +177,7 @@ mAsserter.endTest(); // request a force quit of the browser and wait for it to take effect GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Robocop:Quit", null)); - mSolo.sleep(7000); + mSolo.sleep(120000); // if still running, finish activities as recommended by Robotium mSolo.finishOpenedActivities(); } catch (Throwable e) { diff -Nru firefox-35.0+build3/mobile/android/base/tests/robocop.ini firefox-1000~35.0.1+build1/mobile/android/base/tests/robocop.ini --- firefox-35.0+build3/mobile/android/base/tests/robocop.ini 2015-01-09 21:03:52.000000000 +0000 +++ firefox-1000~35.0.1+build1/mobile/android/base/tests/robocop.ini 2015-01-25 18:48:14.000000000 +0000 @@ -107,6 +107,7 @@ [testNetworkManager] [testOrderedBroadcast] [testOSLocale] +skip-if = processor == "x86" # Bug 1088708 [testResourceSubstitutions] [testRestrictedProfiles] [testSharedPreferences] diff -Nru firefox-35.0+build3/mobile/android/base/tests/UITest.java firefox-1000~35.0.1+build1/mobile/android/base/tests/UITest.java --- firefox-35.0+build3/mobile/android/base/tests/UITest.java 2015-01-09 21:03:52.000000000 +0000 +++ firefox-1000~35.0.1+build1/mobile/android/base/tests/UITest.java 2015-01-25 18:48:14.000000000 +0000 @@ -86,7 +86,7 @@ mAsserter.endTest(); // request a force quit of the browser and wait for it to take effect GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Robocop:Quit", null)); - mSolo.sleep(7000); + mSolo.sleep(120000); // if still running, finish activities as recommended by Robotium mSolo.finishOpenedActivities(); } catch (Throwable e) { diff -Nru firefox-35.0+build3/netwerk/dns/nsHostResolver.cpp firefox-1000~35.0.1+build1/netwerk/dns/nsHostResolver.cpp --- firefox-35.0+build3/netwerk/dns/nsHostResolver.cpp 2015-01-09 21:03:54.000000000 +0000 +++ firefox-1000~35.0.1+build1/netwerk/dns/nsHostResolver.cpp 2015-01-25 18:48:17.000000000 +0000 @@ -1582,10 +1582,6 @@ LOG(("DNS lookup thread - Calling getaddrinfo for host [%s].\n", rec->host)); - int flags = PR_AI_ADDRCONFIG; - if (!(rec->flags & RES_CANON_NAME)) - flags |= PR_AI_NOCANONNAME; - TimeStamp startTime = TimeStamp::Now(); MOZ_EVENT_TRACER_EXEC(rec, "net::dns::resolve"); @@ -1599,10 +1595,10 @@ // because PR_GetAddrInfoByName doesn't support PR_AF_INET6. bool disableIPv4 = rec->af == PR_AF_INET6; uint16_t af = disableIPv4 ? PR_AF_UNSPEC : rec->af; - nsresult status = GetAddrInfo(rec->host, af, flags, &ai, getTtl); + nsresult status = GetAddrInfo(rec->host, af, rec->flags, &ai, getTtl); #if defined(RES_RETRY_ON_FAILURE) if (NS_FAILED(status) && rs.Reset()) { - status = GetAddrInfo(rec->host, af, flags, &ai, getTtl); + status = GetAddrInfo(rec->host, af, rec->flags, &ai, getTtl); } #endif diff -Nru firefox-35.0+build3/netwerk/protocol/http/HttpBaseChannel.cpp firefox-1000~35.0.1+build1/netwerk/protocol/http/HttpBaseChannel.cpp --- firefox-35.0+build3/netwerk/protocol/http/HttpBaseChannel.cpp 2015-01-09 21:03:55.000000000 +0000 +++ firefox-1000~35.0.1+build1/netwerk/protocol/http/HttpBaseChannel.cpp 2015-01-25 18:48:17.000000000 +0000 @@ -2041,8 +2041,10 @@ nsCOMPtr uri; mRedirects[i]->GetURI(getter_AddRefs(uri)); nsCString spec; - uri->GetSpec(spec); - LOG(("HttpBaseChannel::SetupReplacementChannel adding redirect %s " + if (uri) { + uri->GetSpec(spec); + } + LOG(("HttpBaseChannel::SetupReplacementChannel adding redirect \'%s\' " "[this=%p]", spec.get(), this)); #endif httpInternal->AddRedirect(mRedirects[i]); diff -Nru firefox-35.0+build3/netwerk/test/mochitests/mochitest.ini firefox-1000~35.0.1+build1/netwerk/test/mochitests/mochitest.ini --- firefox-35.0+build3/netwerk/test/mochitests/mochitest.ini 2015-01-09 21:03:55.000000000 +0000 +++ firefox-1000~35.0.1+build1/netwerk/test/mochitests/mochitest.ini 2015-01-25 18:48:17.000000000 +0000 @@ -1,5 +1,6 @@ [DEFAULT] -skip-if = buildapp == 'b2g' || e10s +skip-if = buildapp == 'b2g' || e10s || toolkit == 'android' # Android: Bug 1111137 & 1078267 + support-files = method.sjs partial_content.sjs diff -Nru firefox-35.0+build3/security/sandbox/win/wow_helper/Makefile.in firefox-1000~35.0.1+build1/security/sandbox/win/wow_helper/Makefile.in --- firefox-35.0+build3/security/sandbox/win/wow_helper/Makefile.in 2015-01-09 21:03:46.000000000 +0000 +++ firefox-1000~35.0.1+build1/security/sandbox/win/wow_helper/Makefile.in 2015-01-25 18:48:06.000000000 +0000 @@ -30,7 +30,7 @@ # Munge the LIB variable to contain paths to the x64 CRT and system libraries. # Unconveniently, none of the paths have the same convention, including the # compiler path above. -LIB = $(call lazy,LIB,$$(shell python -c 'import os; print ";".join(s.lower().replace(os.sep, "/").replace("/vc/lib", "/vc/lib/amd64").replace("/um/x86", "/um/x64") for s in os.environ["LIB"].split(";"))')) +LIB = $(call lazy,LIB,$$(shell python -c 'import os, re; print ";".join(re.sub("/+", "/", s.lower().replace(os.sep, "/")).replace("/vc/lib", "/vc/lib/amd64").replace("/um/x86", "/um/x64").replace("v7.0/lib", "v7.0/lib/x64").replace("v7.0a/lib", "v7.0a/lib/x64") for s in os.environ["LIB"].split(";"))')) CXXFLAGS := $(filter-out -arch:IA32,$(CXXFLAGS)) diff -Nru firefox-35.0+build3/toolkit/content/tests/chrome/window_titlebar.xul firefox-1000~35.0.1+build1/toolkit/content/tests/chrome/window_titlebar.xul --- firefox-35.0+build3/toolkit/content/tests/chrome/window_titlebar.xul 2015-01-09 21:03:52.000000000 +0000 +++ firefox-1000~35.0.1+build1/toolkit/content/tests/chrome/window_titlebar.xul 2015-01-25 18:48:13.000000000 +0000 @@ -49,6 +49,11 @@