forked from pool/MozillaFirefox
Accepting request 307294 from mozilla:Factory
- add mozilla-add-glibcxx_use_cxx11_abi.patch grabbed from https://bugzilla.mozilla.org/show_bug.cgi?id=1153109 - update to Firefox 38.0.1 stability and regression fixes * Systems with first generation NVidia Optimus graphics cards may crash on start-up * Users who import cookies from Google Chrome can end up with broken websites * Large animated images may fail to play and may stop other images from loading - update to Firefox 38.0 (bnc#930622) * New tab-based preferences * Ruby annotation support * more info: https://www.mozilla.org/en-US/firefox/38.0/releasenotes/ security fixes: * MFSA 2015-46/CVE-2015-2708/CVE-2015-2709 Miscellaneous memory safety hazards * MFSA 2015-47/VE-2015-0797 (bmo#1080995) Buffer overflow parsing H.264 video with Linux Gstreamer * MFSA 2015-48/CVE-2015-2710 (bmo#1149542) Buffer overflow with SVG content and CSS * MFSA 2015-49/CVE-2015-2711 (bmo#1113431) Referrer policy ignored when links opened by middle-click and context menu * MFSA 2015-50/CVE-2015-2712 (bmo#1152280) Out-of-bounds read and write in asm.js validation * MFSA 2015-51/CVE-2015-2713 (bmo#1153478) Use-after-free during text processing with vertical text enabled OBS-URL: https://build.opensuse.org/request/show/307294 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=212
This commit is contained in:
commit
257cbcd9f5
@ -1,3 +1,60 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 15 10:40:19 UTC 2015 - normand@linux.vnet.ibm.com
|
||||||
|
|
||||||
|
- add mozilla-add-glibcxx_use_cxx11_abi.patch grabbed from
|
||||||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1153109
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 15 07:37:46 UTC 2015 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Firefox 38.0.1
|
||||||
|
stability and regression fixes
|
||||||
|
* Systems with first generation NVidia Optimus graphics cards
|
||||||
|
may crash on start-up
|
||||||
|
* Users who import cookies from Google Chrome can end up with
|
||||||
|
broken websites
|
||||||
|
* Large animated images may fail to play and may stop other
|
||||||
|
images from loading
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 10 07:07:49 UTC 2015 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Firefox 38.0 (bnc#930622)
|
||||||
|
* New tab-based preferences
|
||||||
|
* Ruby annotation support
|
||||||
|
* more info: https://www.mozilla.org/en-US/firefox/38.0/releasenotes/
|
||||||
|
security fixes:
|
||||||
|
* MFSA 2015-46/CVE-2015-2708/CVE-2015-2709
|
||||||
|
Miscellaneous memory safety hazards
|
||||||
|
* MFSA 2015-47/VE-2015-0797 (bmo#1080995)
|
||||||
|
Buffer overflow parsing H.264 video with Linux Gstreamer
|
||||||
|
* MFSA 2015-48/CVE-2015-2710 (bmo#1149542)
|
||||||
|
Buffer overflow with SVG content and CSS
|
||||||
|
* MFSA 2015-49/CVE-2015-2711 (bmo#1113431)
|
||||||
|
Referrer policy ignored when links opened by middle-click and
|
||||||
|
context menu
|
||||||
|
* MFSA 2015-50/CVE-2015-2712 (bmo#1152280)
|
||||||
|
Out-of-bounds read and write in asm.js validation
|
||||||
|
* MFSA 2015-51/CVE-2015-2713 (bmo#1153478)
|
||||||
|
Use-after-free during text processing with vertical text enabled
|
||||||
|
* MFSA 2015-53/CVE-2015-2715 (bmo#988698)
|
||||||
|
Use-after-free due to Media Decoder Thread creation during shutdown
|
||||||
|
* MFSA 2015-54/CVE-2015-2716 (bmo#1140537)
|
||||||
|
Buffer overflow when parsing compressed XML
|
||||||
|
* MFSA 2015-55/CVE-2015-2717 (bmo#1154683)
|
||||||
|
Buffer overflow and out-of-bounds read while parsing MP4 video
|
||||||
|
metadata
|
||||||
|
* MFSA 2015-56/CVE-2015-2718 (bmo#1146724)
|
||||||
|
Untrusted site hosting trusted page can intercept webchannel
|
||||||
|
responses
|
||||||
|
* MFSA 2015-57/CVE-2011-3079 (bmo#1087565)
|
||||||
|
Privilege escalation through IPC channel messages
|
||||||
|
- requires NSS 3.18.1
|
||||||
|
- removed obsolete patches:
|
||||||
|
* mozilla-skia-bmo1136958.patch
|
||||||
|
- remove gnomevfs build options as it is removed from sources
|
||||||
|
- rebased patches
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Apr 17 16:39:20 UTC 2015 - wr@rosenauer.org
|
Fri Apr 17 16:39:20 UTC 2015 - wr@rosenauer.org
|
||||||
|
|
||||||
|
@ -18,10 +18,10 @@
|
|||||||
|
|
||||||
|
|
||||||
# changed with every update
|
# changed with every update
|
||||||
%define major 37
|
%define major 38
|
||||||
%define mainver %major.0.2
|
%define mainver %major.0.1
|
||||||
%define update_channel release
|
%define update_channel release
|
||||||
%define releasedate 2015041600
|
%define releasedate 2015051400
|
||||||
|
|
||||||
# general build definitions
|
# general build definitions
|
||||||
%if "%{update_channel}" != "aurora"
|
%if "%{update_channel}" != "aurora"
|
||||||
@ -77,7 +77,7 @@ BuildRequires: libnotify-devel
|
|||||||
BuildRequires: libproxy-devel
|
BuildRequires: libproxy-devel
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
BuildRequires: mozilla-nspr-devel >= 4.10.8
|
BuildRequires: mozilla-nspr-devel >= 4.10.8
|
||||||
BuildRequires: mozilla-nss-devel >= 3.17.4
|
BuildRequires: mozilla-nss-devel >= 3.18.1
|
||||||
BuildRequires: nss-shared-helper-devel
|
BuildRequires: nss-shared-helper-devel
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: startup-notification-devel
|
BuildRequires: startup-notification-devel
|
||||||
@ -144,9 +144,9 @@ Patch9: mozilla-repo.patch
|
|||||||
Patch10: mozilla-icu-strncat.patch
|
Patch10: mozilla-icu-strncat.patch
|
||||||
Patch11: mozilla-arm-disable-edsp.patch
|
Patch11: mozilla-arm-disable-edsp.patch
|
||||||
Patch12: mozilla-openaes-decl.patch
|
Patch12: mozilla-openaes-decl.patch
|
||||||
Patch13: mozilla-skia-bmo1136958.patch
|
|
||||||
Patch14: mozilla-skia-be-le.patch
|
Patch14: mozilla-skia-be-le.patch
|
||||||
Patch15: mozilla-bmo1005535.patch
|
Patch15: mozilla-bmo1005535.patch
|
||||||
|
Patch16: mozilla-add-glibcxx_use_cxx11_abi.patch
|
||||||
# Firefox/browser
|
# Firefox/browser
|
||||||
Patch101: firefox-kde.patch
|
Patch101: firefox-kde.patch
|
||||||
Patch102: firefox-no-default-ualocale.patch
|
Patch102: firefox-no-default-ualocale.patch
|
||||||
@ -259,9 +259,9 @@ cd $RPM_BUILD_DIR/mozilla
|
|||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch13 -p1
|
|
||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
|
%patch16 -p1
|
||||||
# Firefox
|
# Firefox
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
@ -342,8 +342,6 @@ ac_add_options --enable-update-channel=%{update_channel}
|
|||||||
%if 0%{?gstreamer} == 1
|
%if 0%{?gstreamer} == 1
|
||||||
ac_add_options --enable-gstreamer=1.0
|
ac_add_options --enable-gstreamer=1.0
|
||||||
%endif
|
%endif
|
||||||
ac_add_options --disable-gnomevfs
|
|
||||||
ac_add_options --enable-gio
|
|
||||||
%if %branding
|
%if %branding
|
||||||
ac_add_options --enable-official-branding
|
ac_add_options --enable-official-branding
|
||||||
%endif
|
%endif
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e80e01c8274e063e65a8898fff408a66145313f83de3d4a0a1ee7990f3a7ba07
|
oid sha256:554dc858bdf51da453d404a4db1f63ae13b66bc293794e5b5d9f1ae705430c5c
|
||||||
size 28448
|
size 28424
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
CHANNEL="release"
|
CHANNEL="release"
|
||||||
BRANCH="releases/mozilla-$CHANNEL"
|
BRANCH="releases/mozilla-$CHANNEL"
|
||||||
RELEASE_TAG="FIREFOX_37_0_2_RELEASE"
|
RELEASE_TAG="FIREFOX_38_0_1_RELEASE"
|
||||||
VERSION="37.0.2"
|
VERSION="38.0.1"
|
||||||
|
|
||||||
# mozilla
|
# mozilla
|
||||||
if [ -d mozilla ]; then
|
if [ -d mozilla ]; then
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:fa7ecada7c3f79d855d3062d361228f21f0f620ca8e8bf5d14f41173b3912a05
|
|
||||||
size 153267948
|
|
3
firefox-38.0.1-source.tar.xz
Normal file
3
firefox-38.0.1-source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:35ce3a749708d48f503ed98e279ca84cebf8d14cd34a168d41974d0c559799ce
|
||||||
|
size 154301356
|
@ -1,11 +1,11 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent 409c60c5454efb61ebecf0edc8822a0e92f563f3
|
# Parent a21f91aa3ed60b4e95b47f45715dfda379dab7c8
|
||||||
|
|
||||||
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
|
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/browser/base/content/browser-kde.xul
|
+++ b/browser/base/content/browser-kde.xul
|
||||||
@@ -0,0 +1,1288 @@
|
@@ -0,0 +1,1302 @@
|
||||||
+#filter substitution
|
+#filter substitution
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+# -*- Mode: HTML -*-
|
+# -*- Mode: HTML -*-
|
||||||
@ -154,8 +154,13 @@ new file mode 100644
|
|||||||
+ <!-- for url bar autocomplete -->
|
+ <!-- for url bar autocomplete -->
|
||||||
+ <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
|
+ <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
|
||||||
+
|
+
|
||||||
+ <!-- for select dropdowns -->
|
+ <!-- for select dropdowns. The menupopup is what shows the list of options,
|
||||||
+ <menupopup id="ContentSelectDropdown" rolluponmousewheel="true" hidden="true"/>
|
+ and the popuponly menulist makes things like the menuactive attributes
|
||||||
|
+ work correctly on the menupopup. ContentSelectDropdown expects the
|
||||||
|
+ popuponly menulist to be its immediate parent. -->
|
||||||
|
+ <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
|
||||||
|
+ <menupopup rolluponmousewheel="true"/>
|
||||||
|
+ </menulist>
|
||||||
+
|
+
|
||||||
+ <!-- for invalid form error message -->
|
+ <!-- for invalid form error message -->
|
||||||
+ <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
|
+ <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
|
||||||
@ -248,41 +253,6 @@ new file mode 100644
|
|||||||
+ mousethrough="always">
|
+ mousethrough="always">
|
||||||
+ <box id="UITourHighlight"></box>
|
+ <box id="UITourHighlight"></box>
|
||||||
+ </panel>
|
+ </panel>
|
||||||
+ <!-- Used to highlight the new search experience -->
|
|
||||||
+ <panel id="SearchHighlight1"
|
|
||||||
+ class="SearchHighlight"
|
|
||||||
+ type="arrow"
|
|
||||||
+ hidden="true"
|
|
||||||
+ noautofocus="true"
|
|
||||||
+ noautohide="true"
|
|
||||||
+ orient="vertical"
|
|
||||||
+ align="stretch">
|
|
||||||
+ <label class="SearchHighlightTitle">&SearchHighlight1.title;</label>
|
|
||||||
+ <description class="SearchHighlightText" flex="1">&SearchHighlight1.text;</description>
|
|
||||||
+ <hbox class="SearchHighlightFooter" align="center">
|
|
||||||
+ <spacer class="dot filled"/>
|
|
||||||
+ <spacer class="dot"/>
|
|
||||||
+ <spacer flex="1"/>
|
|
||||||
+ <button label="&SearchHighlightNext;"/>
|
|
||||||
+ </hbox>
|
|
||||||
+ </panel>
|
|
||||||
+ <panel id="SearchHighlight2"
|
|
||||||
+ class="SearchHighlight"
|
|
||||||
+ type="arrow"
|
|
||||||
+ hidden="true"
|
|
||||||
+ noautofocus="true"
|
|
||||||
+ noautohide="true"
|
|
||||||
+ orient="vertical"
|
|
||||||
+ align="stretch">
|
|
||||||
+ <label class="SearchHighlightTitle">&SearchHighlight2.title;</label>
|
|
||||||
+ <description class="SearchHighlightText" flex="1">&SearchHighlight2.text;</description>
|
|
||||||
+ <hbox class="SearchHighlightFooter" align="center">
|
|
||||||
+ <spacer class="dot"/>
|
|
||||||
+ <spacer class="dot filled"/>
|
|
||||||
+ <spacer flex="1"/>
|
|
||||||
+ <button label="&SearchHighlightClose;"/>
|
|
||||||
+ </hbox>
|
|
||||||
+ </panel>
|
|
||||||
+
|
+
|
||||||
+ <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
|
+ <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
|
||||||
+ onclick="this.hidePopup()">
|
+ onclick="this.hidePopup()">
|
||||||
@ -342,6 +312,26 @@ new file mode 100644
|
|||||||
+ orient="horizontal"
|
+ orient="horizontal"
|
||||||
+ hidden="true"/>
|
+ hidden="true"/>
|
||||||
+
|
+
|
||||||
|
+ <menupopup id="processHangOptions"
|
||||||
|
+ onpopupshowing="ProcessHangMonitor.refreshMenu(window);">
|
||||||
|
+ <menuitem id="processHangTerminateScript"
|
||||||
|
+ oncommand="ProcessHangMonitor.terminateScript(window)"
|
||||||
|
+ accesskey="&processHang.terminateScript.accessKey;"
|
||||||
|
+ label="&processHang.terminateScript.label;"/>
|
||||||
|
+ <menuitem id="processHangDebugScript"
|
||||||
|
+ oncommand="ProcessHangMonitor.debugScript(window)"
|
||||||
|
+ accesskey="&processHang.debugScript.accessKey;"
|
||||||
|
+ label="&processHang.debugScript.label;"/>
|
||||||
|
+ <menuitem id="processHangTerminatePlugin"
|
||||||
|
+ oncommand="ProcessHangMonitor.terminatePlugin(window)"
|
||||||
|
+ accesskey="&processHang.terminatePlugin.accessKey;"
|
||||||
|
+ label="&processHang.terminatePlugin.label;"/>
|
||||||
|
+ <menuitem id="processHangTerminateProcess"
|
||||||
|
+ oncommand="ProcessHangMonitor.terminateProcess(window)"
|
||||||
|
+ accesskey="&processHang.terminateProcess.accessKey;"
|
||||||
|
+ label="&processHang.terminateProcess.label;"/>
|
||||||
|
+ </menupopup>
|
||||||
|
+
|
||||||
+ <menupopup id="toolbar-context-menu"
|
+ <menupopup id="toolbar-context-menu"
|
||||||
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
|
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
|
||||||
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
|
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
|
||||||
@ -588,12 +578,12 @@ new file mode 100644
|
|||||||
+
|
+
|
||||||
+ <menupopup id="emeNotificationsPopup">
|
+ <menupopup id="emeNotificationsPopup">
|
||||||
+ <menuitem id="emeNotificationsNotNow"
|
+ <menuitem id="emeNotificationsNotNow"
|
||||||
+ label="Not now"
|
+ label="&emeNotificationsNotNow.label;"
|
||||||
+ acceskey="N"
|
+ acceskey="&emeNotificationsNotNow.accesskey;"
|
||||||
+ oncommand="gEMEHandler.onNotNow(this);"/>
|
+ oncommand="gEMEHandler.onNotNow(this);"/>
|
||||||
+ <menuitem id="emeNotificationsDontAskAgain"
|
+ <menuitem id="emeNotificationsDontAskAgain"
|
||||||
+ label="Don't ask me again"
|
+ label="&emeNotificationsDontAskAgain.label;"
|
||||||
+ acceskey="D"
|
+ acceskey="&emeNotificationsDontAskAgain.accesskey;"
|
||||||
+ oncommand="gEMEHandler.onDontAskAgain(this);"/>
|
+ oncommand="gEMEHandler.onDontAskAgain(this);"/>
|
||||||
+ </menupopup>
|
+ </menupopup>
|
||||||
+ </popupset>
|
+ </popupset>
|
||||||
@ -845,6 +835,14 @@ new file mode 100644
|
|||||||
+ hidden="true"
|
+ hidden="true"
|
||||||
+ tooltiptext="&pageReportIcon.tooltip;"
|
+ tooltiptext="&pageReportIcon.tooltip;"
|
||||||
+ onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
|
+ onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
|
||||||
|
+ <image id="readinglist-addremove-button"
|
||||||
|
+ class="urlbar-icon"
|
||||||
|
+ hidden="true"
|
||||||
|
+ onclick="ReadingListUI.togglePageByBrowser(gBrowser.selectedBrowser);"/>
|
||||||
|
+ <image id="reader-mode-button"
|
||||||
|
+ class="urlbar-icon"
|
||||||
|
+ hidden="true"
|
||||||
|
+ onclick="ReaderParent.buttonClick(event);"/>
|
||||||
+ </hbox>
|
+ </hbox>
|
||||||
+ <toolbarbutton id="urlbar-go-button"
|
+ <toolbarbutton id="urlbar-go-button"
|
||||||
+ class="chromeclass-toolbar-additional"
|
+ class="chromeclass-toolbar-additional"
|
||||||
@ -898,7 +896,7 @@ new file mode 100644
|
|||||||
+ class="subviewbutton"
|
+ class="subviewbutton"
|
||||||
+ label="&viewBookmarksSidebar2.label;"
|
+ label="&viewBookmarksSidebar2.label;"
|
||||||
+ type="checkbox"
|
+ type="checkbox"
|
||||||
+ oncommand="toggleSidebar('viewBookmarksSidebar');">
|
+ oncommand="SidebarUI.toggle('viewBookmarksSidebar');">
|
||||||
+ <observes element="viewBookmarksSidebar" attribute="checked"/>
|
+ <observes element="viewBookmarksSidebar" attribute="checked"/>
|
||||||
+ </menuitem>
|
+ </menuitem>
|
||||||
+ <!-- NB: temporary solution for bug 985024, this should go away soon. -->
|
+ <!-- NB: temporary solution for bug 985024, this should go away soon. -->
|
||||||
@ -963,6 +961,22 @@ new file mode 100644
|
|||||||
+ new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
|
+ new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
|
||||||
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
|
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
|
||||||
+ </menu>
|
+ </menu>
|
||||||
|
+ <menuseparator>
|
||||||
|
+ <observes element="readingListSidebar" attribute="hidden"/>
|
||||||
|
+ </menuseparator>
|
||||||
|
+ <menu id="BMB_readingList"
|
||||||
|
+ class="menu-iconic bookmark-item subviewbutton"
|
||||||
|
+ label="&readingList.label;"
|
||||||
|
+ container="true">
|
||||||
|
+ <observes element="readingListSidebar" attribute="hidden"/>
|
||||||
|
+ <menupopup id="BMB_readingListPopup"
|
||||||
|
+ placespopup="true"
|
||||||
|
+ onpopupshowing="ReadingListUI.onReadingListPopupShowing(this);">
|
||||||
|
+ <menuitem id="BMB_viewReadingListSidebar" class="subviewbutton"
|
||||||
|
+ oncommand="SidebarUI.show('readingListSidebar');"
|
||||||
|
+ label="&readingList.showSidebar.label;"/>
|
||||||
|
+ </menupopup>
|
||||||
|
+ </menu>
|
||||||
+ <menuseparator/>
|
+ <menuseparator/>
|
||||||
+ <!-- Bookmarks menu items will go here -->
|
+ <!-- Bookmarks menu items will go here -->
|
||||||
+ <menuitem id="BMB_bookmarksShowAll"
|
+ <menuitem id="BMB_bookmarksShowAll"
|
||||||
@ -1151,10 +1165,10 @@ new file mode 100644
|
|||||||
+ <sidebarheader id="sidebar-header" align="center">
|
+ <sidebarheader id="sidebar-header" align="center">
|
||||||
+ <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
|
+ <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
|
||||||
+ <image id="sidebar-throbber"/>
|
+ <image id="sidebar-throbber"/>
|
||||||
+ <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="toggleSidebar();"/>
|
+ <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
|
||||||
+ </sidebarheader>
|
+ </sidebarheader>
|
||||||
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true"
|
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true"
|
||||||
+ style="min-width: 14em; width: 18em; max-width: 36em;"/>
|
+ style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
|
||||||
+ </vbox>
|
+ </vbox>
|
||||||
+
|
+
|
||||||
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
|
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
|
||||||
@ -1165,7 +1179,7 @@ new file mode 100644
|
|||||||
+ tabcontainer="tabbrowser-tabs"
|
+ tabcontainer="tabbrowser-tabs"
|
||||||
+ contentcontextmenu="contentAreaContextMenu"
|
+ contentcontextmenu="contentAreaContextMenu"
|
||||||
+ autocompletepopup="PopupAutoComplete"
|
+ autocompletepopup="PopupAutoComplete"
|
||||||
+ selectpopup="ContentSelectDropdown"/>
|
+ selectmenulist="ContentSelectDropdown"/>
|
||||||
+ <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
|
+ <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
|
||||||
+ </vbox>
|
+ </vbox>
|
||||||
+ <splitter id="social-sidebar-splitter"
|
+ <splitter id="social-sidebar-splitter"
|
||||||
@ -1297,7 +1311,7 @@ new file mode 100644
|
|||||||
diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
|
diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
|
||||||
--- a/browser/base/content/browser.xul
|
--- a/browser/base/content/browser.xul
|
||||||
+++ b/browser/base/content/browser.xul
|
+++ b/browser/base/content/browser.xul
|
||||||
@@ -174,17 +174,17 @@
|
@@ -179,17 +179,17 @@
|
||||||
class="editBookmarkPanelHeaderButton"
|
class="editBookmarkPanelHeaderButton"
|
||||||
oncommand="StarUI.removeBookmarkButtonCommand();"
|
oncommand="StarUI.removeBookmarkButtonCommand();"
|
||||||
accesskey="&editBookmark.removeBookmark.accessKey;"/>
|
accesskey="&editBookmark.removeBookmark.accessKey;"/>
|
||||||
@ -1316,7 +1330,7 @@ diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
|
|||||||
<button id="editBookmarkPanelDeleteButton"
|
<button id="editBookmarkPanelDeleteButton"
|
||||||
class="editBookmarkPanelBottomButton"
|
class="editBookmarkPanelBottomButton"
|
||||||
label="&editBookmark.cancel.label;"
|
label="&editBookmark.cancel.label;"
|
||||||
@@ -1214,17 +1214,17 @@
|
@@ -1228,17 +1228,17 @@
|
||||||
|
|
||||||
<hbox id="full-screen-warning-container" hidden="true" fadeout="true">
|
<hbox id="full-screen-warning-container" hidden="true" fadeout="true">
|
||||||
<hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
|
<hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
|
||||||
@ -1338,10 +1352,10 @@ diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
|
|||||||
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
||||||
--- a/browser/base/jar.mn
|
--- a/browser/base/jar.mn
|
||||||
+++ b/browser/base/jar.mn
|
+++ b/browser/base/jar.mn
|
||||||
@@ -69,16 +69,18 @@ browser.jar:
|
@@ -70,16 +70,18 @@ browser.jar:
|
||||||
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
|
|
||||||
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
|
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
|
||||||
content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.xhtml)
|
content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.xhtml)
|
||||||
|
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
|
||||||
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
|
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
|
||||||
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
|
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
|
||||||
* content/browser/browser.css (content/browser.css)
|
* content/browser/browser.css (content/browser.css)
|
||||||
@ -1349,7 +1363,6 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
|||||||
* content/browser/browser.xul (content/browser.xul)
|
* content/browser/browser.xul (content/browser.xul)
|
||||||
+* content/browser/browser-kde.xul (content/browser-kde.xul)
|
+* content/browser/browser-kde.xul (content/browser-kde.xul)
|
||||||
+% override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
|
+% override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
|
||||||
* content/browser/browser-eme.properties (content/browser-eme.properties)
|
|
||||||
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
|
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
|
||||||
* content/browser/chatWindow.xul (content/chatWindow.xul)
|
* content/browser/chatWindow.xul (content/chatWindow.xul)
|
||||||
content/browser/content.js (content/content.js)
|
content/browser/content.js (content/content.js)
|
||||||
@ -1357,6 +1370,7 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
|||||||
content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg)
|
content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg)
|
||||||
content/browser/defaultthemes/1.icon.jpg (content/defaultthemes/1.icon.jpg)
|
content/browser/defaultthemes/1.icon.jpg (content/defaultthemes/1.icon.jpg)
|
||||||
content/browser/defaultthemes/1.preview.jpg (content/defaultthemes/1.preview.jpg)
|
content/browser/defaultthemes/1.preview.jpg (content/defaultthemes/1.preview.jpg)
|
||||||
|
content/browser/defaultthemes/2.footer.jpg (content/defaultthemes/2.footer.jpg)
|
||||||
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
|
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
|
||||||
--- a/browser/components/build/nsModule.cpp
|
--- a/browser/components/build/nsModule.cpp
|
||||||
+++ b/browser/components/build/nsModule.cpp
|
+++ b/browser/components/build/nsModule.cpp
|
||||||
@ -1784,7 +1798,7 @@ new file mode 100644
|
|||||||
+#include "nsStringAPI.h"
|
+#include "nsStringAPI.h"
|
||||||
+#include "mozilla/Attributes.h"
|
+#include "mozilla/Attributes.h"
|
||||||
+
|
+
|
||||||
+class nsKDEShellService MOZ_FINAL : public nsIShellService
|
+class nsKDEShellService final : public nsIShellService
|
||||||
+{
|
+{
|
||||||
+public:
|
+public:
|
||||||
+ nsKDEShellService() : mCheckedThisSession(false) { }
|
+ nsKDEShellService() : mCheckedThisSession(false) { }
|
||||||
@ -1911,7 +1925,7 @@ new file mode 100644
|
|||||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||||
--- a/browser/installer/package-manifest.in
|
--- a/browser/installer/package-manifest.in
|
||||||
+++ b/browser/installer/package-manifest.in
|
+++ b/browser/installer/package-manifest.in
|
||||||
@@ -688,19 +688,21 @@
|
@@ -698,19 +698,21 @@
|
||||||
@RESPATH@/defaults/autoconfig/prefcalls.js
|
@RESPATH@/defaults/autoconfig/prefcalls.js
|
||||||
@RESPATH@/browser/defaults/profile/prefs.js
|
@RESPATH@/browser/defaults/profile/prefs.js
|
||||||
|
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
# Parent 099312626f5f7c9cb5573a61d0230574ee12a660
|
# Parent 099312626f5f7c9cb5573a61d0230574ee12a660
|
||||||
|
# Parent 9e46107bf33966236739600abba9dc8d97fd9d7f
|
||||||
Do not overwrite the locale dynamic pref from xulrunner's all.js with a wrong default value
|
Do not overwrite the locale dynamic pref from xulrunner's all.js with a wrong default value
|
||||||
|
|
||||||
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
||||||
--- a/browser/app/profile/firefox.js
|
--- a/browser/app/profile/firefox.js
|
||||||
+++ b/browser/app/profile/firefox.js
|
+++ b/browser/app/profile/firefox.js
|
||||||
@@ -261,17 +261,17 @@ pref("browser.uitour.pinnedTabUrl", "htt
|
@@ -251,17 +251,17 @@ pref("browser.uitour.url", "https://www.
|
||||||
pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/");
|
pref("browser.uitour.readerViewTrigger", "^https:\/\/www\.mozilla\.org\/[^\/]+\/firefox\/reading\/start");
|
||||||
|
|
||||||
pref("browser.customizemode.tip0.shown", false);
|
pref("browser.customizemode.tip0.shown", false);
|
||||||
pref("browser.customizemode.tip0.learnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/customize");
|
pref("browser.customizemode.tip0.learnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/customize");
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:453e8259b8ca7e61d254563495399b13040d551ad2679a69cb2070ae27fdde3a
|
|
||||||
size 41695084
|
|
3
l10n-38.0.1.tar.xz
Normal file
3
l10n-38.0.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:07054adb03febcc11451f523916c94dbb35f0d3a1e819869bf639e3f38f87664
|
||||||
|
size 42023448
|
35
mozilla-add-glibcxx_use_cxx11_abi.patch
Normal file
35
mozilla-add-glibcxx_use_cxx11_abi.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From 32b9943e0d2c7c28d9d113c0e83d121c356fe5d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Hommey <mh+mozilla@glandium.org>
|
||||||
|
Date: Fri, 10 Apr 2015 16:53:05 +0900
|
||||||
|
Subject: [PATCH] Bug 1153109 - Add -D_GLIBCXX_USE_CXX11_ABI=0 to CXXFLAGS when
|
||||||
|
building with --enable-stdcxx-compat
|
||||||
|
|
||||||
|
patch grab from https://bugzilla.mozilla.org/show_bug.cgi?id=1153109
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.in | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configure.in b/configure.in
|
||||||
|
index 95d2a70..6c858b3 100644
|
||||||
|
--- a/configure.in
|
||||||
|
+++ b/configure.in
|
||||||
|
@@ -7375,16 +7375,18 @@ STDCXX_COMPAT=
|
||||||
|
MOZ_ARG_ENABLE_BOOL(stdcxx-compat,
|
||||||
|
[ --enable-stdcxx-compat Enable compatibility with older libstdc++],
|
||||||
|
STDCXX_COMPAT=1)
|
||||||
|
|
||||||
|
if test -n "$STDCXX_COMPAT"; then
|
||||||
|
eval $(CXX="$CXX" HOST_CXX="$HOST_CXX" $PYTHON -m mozbuild.configure.libstdcxx)
|
||||||
|
AC_SUBST(MOZ_LIBSTDCXX_TARGET_VERSION)
|
||||||
|
AC_SUBST(MOZ_LIBSTDCXX_HOST_VERSION)
|
||||||
|
+ CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
|
||||||
|
+ HOST_CXXFLAGS="$HOST_CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl ========================================================
|
||||||
|
dnl =
|
||||||
|
dnl = Profiling and Instrumenting
|
||||||
|
dnl =
|
||||||
|
dnl ========================================================
|
||||||
|
MOZ_ARG_HEADER(Profiling and Instrumenting)
|
@ -1,5 +1,5 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent 2b183c17f6e4693372442af1a8ee0be364f8cba0
|
# Parent 214f99f3ce4f1f8ae9b3d18da44e5d66b3105663
|
||||||
Description: Add KDE integration to Firefox (toolkit parts)
|
Description: Add KDE integration to Firefox (toolkit parts)
|
||||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||||
Author: Lubos Lunak <lunak@suse.com>
|
Author: Lubos Lunak <lunak@suse.com>
|
||||||
@ -1836,8 +1836,8 @@ new file mode 100644
|
|||||||
+ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
|
+ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
|
||||||
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||||
+ .getService(Components.interfaces.nsIPrefBranch);
|
+ .getService(Components.interfaces.nsIPrefBranch);
|
||||||
+ var instantApply = psvc.getBoolPref("browser.preferences.instantApply");
|
+ var pdocEl = window.opener.document.documentElement;
|
||||||
+ if (instantApply) {
|
+ if (pdocEl.instantApply) {
|
||||||
+ var panes = this.preferencePanes;
|
+ var panes = this.preferencePanes;
|
||||||
+ for (var i = 0; i < panes.length; ++i)
|
+ for (var i = 0; i < panes.length; ++i)
|
||||||
+ panes[i].writePreferences(true);
|
+ panes[i].writePreferences(true);
|
||||||
@ -2136,7 +2136,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
+#include "nsVoidArray.h"
|
+#include "nsVoidArray.h"
|
||||||
+#include "nsKDEUtils.h"
|
+#include "nsKDEUtils.h"
|
||||||
|
|
||||||
class nsUnixSystemProxySettings MOZ_FINAL : public nsISystemProxySettings {
|
class nsUnixSystemProxySettings final : public nsISystemProxySettings {
|
||||||
public:
|
public:
|
||||||
NS_DECL_ISUPPORTS
|
NS_DECL_ISUPPORTS
|
||||||
NS_DECL_NSISYSTEMPROXYSETTINGS
|
NS_DECL_NSISYSTEMPROXYSETTINGS
|
||||||
@ -2219,7 +2219,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
||||||
--- a/toolkit/xre/moz.build
|
--- a/toolkit/xre/moz.build
|
||||||
+++ b/toolkit/xre/moz.build
|
+++ b/toolkit/xre/moz.build
|
||||||
@@ -43,17 +43,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
|
@@ -45,17 +45,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
|
||||||
GENERATED_SOURCES += [
|
GENERATED_SOURCES += [
|
||||||
'moc_nsNativeAppSupportQt.cpp',
|
'moc_nsNativeAppSupportQt.cpp',
|
||||||
]
|
]
|
||||||
@ -2666,9 +2666,9 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
|||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
'/dom/base',
|
'/dom/base',
|
||||||
'/dom/ipc',
|
'/dom/ipc',
|
||||||
'/netwerk/base/src',
|
'/netwerk/base',
|
||||||
'/netwerk/protocol/http',
|
'/netwerk/protocol/http',
|
||||||
+ '/toolkit/xre'
|
+ '/toolkit/xre',
|
||||||
]
|
]
|
||||||
|
|
||||||
if CONFIG['MOZ_ENABLE_DBUS']:
|
if CONFIG['MOZ_ENABLE_DBUS']:
|
||||||
@ -2904,7 +2904,7 @@ new file mode 100644
|
|||||||
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||||
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||||
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||||
@@ -7,33 +7,36 @@
|
@@ -7,32 +7,35 @@
|
||||||
#ifdef MOZ_WIDGET_QT
|
#ifdef MOZ_WIDGET_QT
|
||||||
#if (MOZ_ENABLE_CONTENTACTION)
|
#if (MOZ_ENABLE_CONTENTACTION)
|
||||||
#include <contentaction/contentaction.h>
|
#include <contentaction/contentaction.h>
|
||||||
@ -2918,7 +2918,6 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
|
|||||||
#include "nsIGIOService.h"
|
#include "nsIGIOService.h"
|
||||||
#include "nsNetCID.h"
|
#include "nsNetCID.h"
|
||||||
#include "nsIIOService.h"
|
#include "nsIIOService.h"
|
||||||
#include "nsIGnomeVFSService.h"
|
|
||||||
#include "nsAutoPtr.h"
|
#include "nsAutoPtr.h"
|
||||||
#ifdef MOZ_ENABLE_DBUS
|
#ifdef MOZ_ENABLE_DBUS
|
||||||
#include "nsDBusHandlerApp.h"
|
#include "nsDBusHandlerApp.h"
|
||||||
@ -2943,7 +2942,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
@@ -46,24 +49,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
|
@@ -45,24 +48,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
|
||||||
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
|
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
|
||||||
// give the GNOME answer.
|
// give the GNOME answer.
|
||||||
if (mDefaultApplication)
|
if (mDefaultApplication)
|
||||||
@ -2971,7 +2970,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
|
|||||||
|
|
||||||
if (*_retval)
|
if (*_retval)
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
@@ -98,16 +101,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
|
@@ -97,16 +100,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
|
||||||
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
|
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
|
||||||
if (action.isValid()) {
|
if (action.isValid()) {
|
||||||
action.trigger();
|
action.trigger();
|
||||||
@ -2998,32 +2997,13 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
nsAutoCString uriSpec;
|
if (!giovfs) {
|
||||||
if (giovfs) {
|
return NS_ERROR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
// nsGIOMimeApp->Launch wants a URI string instead of local file
|
// nsGIOMimeApp->Launch wants a URI string instead of local file
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
|
nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
nsCOMPtr<nsIURI> uri;
|
|
||||||
@@ -125,17 +145,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
|
|
||||||
/* Fallback to GnomeVFS */
|
|
||||||
nsCOMPtr<nsIGnomeVFSMimeApp> app;
|
|
||||||
if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
|
|
||||||
return app->Launch(nativePath);
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we haven't got an app we try to get a valid one by searching for the
|
|
||||||
// extension mapped type
|
|
||||||
- nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
|
|
||||||
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromExtension(nativePath);
|
|
||||||
if (mimeInfo) {
|
|
||||||
nsAutoCString type;
|
|
||||||
mimeInfo->GetType(type);
|
|
||||||
if (giovfs) {
|
|
||||||
nsCOMPtr<nsIGIOMimeApp> app;
|
|
||||||
if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
|
|
||||||
return app->Launch(uriSpec);
|
|
||||||
} else if (gnomevfs) {
|
|
||||||
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
|
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
|
||||||
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
|
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
|
||||||
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
|
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
|
||||||
@ -3054,7 +3034,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
// Check the GConf registry for a protocol handler
|
// Check the GNOME registry for a protocol handler
|
||||||
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
|
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
|
||||||
+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme);
|
+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme);
|
||||||
#endif
|
#endif
|
||||||
@ -3094,25 +3074,25 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
|
|
||||||
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
|
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
|
||||||
majorType,
|
majorType,
|
||||||
@@ -1372,17 +1372,17 @@ nsOSHelperAppService::GetFromType(const
|
@@ -1373,17 +1373,17 @@ nsOSHelperAppService::GetFromType(const
|
||||||
|
nsAutoString extensions, mime_types_description;
|
||||||
|
LookUpExtensionsAndDescription(majorType,
|
||||||
|
minorType,
|
||||||
|
extensions,
|
||||||
|
mime_types_description);
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
nsRefPtr<nsMIMEInfoBase> gnomeInfo;
|
|
||||||
if (handler.IsEmpty()) {
|
if (handler.IsEmpty()) {
|
||||||
// No useful data yet. Check the GNOME registry. Unfortunately, newer
|
- nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
|
||||||
// GNOME versions no longer have type-to-extension mappings, so we might
|
+ nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
|
||||||
// get back a MIMEInfo without any extensions set. In that case we'll have
|
if (gnomeInfo) {
|
||||||
// to look in our mime.types files for the extensions.
|
LOG(("Got MIMEInfo from GNOME registry without extensions; setting them "
|
||||||
LOG(("Looking in GNOME registry\n"));
|
"to %s\n", NS_LossyConvertUTF16toASCII(extensions).get()));
|
||||||
- gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
|
|
||||||
+ gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
|
NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?");
|
||||||
if (gnomeInfo && gnomeInfo->HasExtensions()) {
|
gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions));
|
||||||
LOG(("Got MIMEInfo from GNOME registry, and it has extensions set\n"));
|
|
||||||
return gnomeInfo.forget();
|
return gnomeInfo.forget();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Now look up our extensions
|
|
||||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||||
--- a/widget/gtk/moz.build
|
--- a/widget/gtk/moz.build
|
||||||
+++ b/widget/gtk/moz.build
|
+++ b/widget/gtk/moz.build
|
||||||
@ -3465,7 +3445,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
||||||
--- a/widget/gtk/nsFilePicker.h
|
--- a/widget/gtk/nsFilePicker.h
|
||||||
+++ b/widget/gtk/nsFilePicker.h
|
+++ b/widget/gtk/nsFilePicker.h
|
||||||
@@ -66,11 +66,17 @@ protected:
|
@@ -68,11 +68,17 @@ protected:
|
||||||
nsString mDefault;
|
nsString mDefault;
|
||||||
nsString mDefaultExtension;
|
nsString mDefaultExtension;
|
||||||
|
|
||||||
@ -3504,9 +3484,9 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
#define XPTONLY_MANIFEST nullptr
|
#define XPTONLY_MANIFEST nullptr
|
||||||
#define XPTONLY_XPT nullptr
|
#define XPTONLY_XPT nullptr
|
||||||
#endif
|
#endif
|
||||||
@@ -488,16 +489,17 @@ ParseManifest(NSLocationType aType, File
|
@@ -489,16 +490,17 @@ ParseManifest(NSLocationType aType, File
|
||||||
NS_NAMED_LITERAL_STRING(kPlatform, "platform");
|
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
|
||||||
NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible");
|
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
|
||||||
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
||||||
NS_NAMED_LITERAL_STRING(kAppVersion, "appversion");
|
NS_NAMED_LITERAL_STRING(kAppVersion, "appversion");
|
||||||
NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion");
|
NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion");
|
||||||
@ -3522,7 +3502,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
NS_NAMED_LITERAL_STRING(kMain, "main");
|
NS_NAMED_LITERAL_STRING(kMain, "main");
|
||||||
NS_NAMED_LITERAL_STRING(kContent, "content");
|
NS_NAMED_LITERAL_STRING(kContent, "content");
|
||||||
|
|
||||||
@@ -548,44 +550,49 @@ ParseManifest(NSLocationType aType, File
|
@@ -549,44 +551,49 @@ ParseManifest(NSLocationType aType, File
|
||||||
CopyUTF8toUTF16(s, abi);
|
CopyUTF8toUTF16(s, abi);
|
||||||
abi.Insert(char16_t('_'), 0);
|
abi.Insert(char16_t('_'), 0);
|
||||||
abi.Insert(osTarget, 0);
|
abi.Insert(osTarget, 0);
|
||||||
@ -3573,14 +3553,14 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
}
|
}
|
||||||
|
|
||||||
@@ -681,25 +688,27 @@ ParseManifest(NSLocationType aType, File
|
@@ -681,25 +688,27 @@ ParseManifest(NSLocationType aType, File
|
||||||
|
TriState stOsVersion = eUnspecified;
|
||||||
TriState stOs = eUnspecified;
|
TriState stOs = eUnspecified;
|
||||||
TriState stABI = eUnspecified;
|
TriState stABI = eUnspecified;
|
||||||
TriState stProcess = eUnspecified;
|
TriState stProcess = eUnspecified;
|
||||||
#if defined(MOZ_WIDGET_ANDROID)
|
#if defined(MOZ_WIDGET_ANDROID)
|
||||||
TriState stTablet = eUnspecified;
|
TriState stTablet = eUnspecified;
|
||||||
#endif
|
#endif
|
||||||
bool platform = false;
|
int flags = 0;
|
||||||
bool contentAccessible = false;
|
|
||||||
+ TriState stDesktop = eUnspecified;
|
+ TriState stDesktop = eUnspecified;
|
||||||
|
|
||||||
while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
|
while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
|
||||||
@ -3600,7 +3580,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MOZ_WIDGET_ANDROID)
|
#if defined(MOZ_WIDGET_ANDROID)
|
||||||
@@ -731,16 +740,17 @@ ParseManifest(NSLocationType aType, File
|
@@ -749,16 +758,17 @@ ParseManifest(NSLocationType aType, File
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ok ||
|
if (!ok ||
|
||||||
@ -3638,7 +3618,8 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
|||||||
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
--- a/xpcom/io/nsLocalFileUnix.cpp
|
--- a/xpcom/io/nsLocalFileUnix.cpp
|
||||||
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
@@ -45,16 +45,17 @@
|
@@ -44,16 +44,17 @@
|
||||||
|
#include "prproces.h"
|
||||||
#include "nsIDirectoryEnumerator.h"
|
#include "nsIDirectoryEnumerator.h"
|
||||||
#include "nsISimpleEnumerator.h"
|
#include "nsISimpleEnumerator.h"
|
||||||
#include "private/pprio.h"
|
#include "private/pprio.h"
|
||||||
@ -3646,7 +3627,6 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
#include "nsIGIOService.h"
|
#include "nsIGIOService.h"
|
||||||
#include "nsIGnomeVFSService.h"
|
|
||||||
+#include "nsKDEUtils.h"
|
+#include "nsKDEUtils.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -3656,7 +3636,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
#include "prmem.h"
|
#include "prmem.h"
|
||||||
#include "plbase64.h"
|
#include "plbase64.h"
|
||||||
|
|
||||||
@@ -1965,55 +1966,57 @@ nsLocalFile::SetPersistentDescriptor(con
|
@@ -1964,42 +1965,52 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||||
return InitWithNativePath(aPersistentDescriptor);
|
return InitWithNativePath(aPersistentDescriptor);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -3666,14 +3646,11 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
{
|
{
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
- nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
- nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
- nsCOMPtr<nsIGnomeVFSService> gnomevfs =
|
- if (!giovfs) {
|
||||||
- do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
|
|
||||||
- if (!giovfs && !gnomevfs) {
|
|
||||||
- return NS_ERROR_FAILURE;
|
- return NS_ERROR_FAILURE;
|
||||||
- }
|
- }
|
||||||
-
|
|
||||||
+
|
|
||||||
+ nsAutoCString url;
|
+ nsAutoCString url;
|
||||||
|
|
||||||
bool isDirectory;
|
bool isDirectory;
|
||||||
if (NS_FAILED(IsDirectory(&isDirectory))) {
|
if (NS_FAILED(IsDirectory(&isDirectory))) {
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
@ -3681,16 +3658,9 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
|
|
||||||
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
if (isDirectory) {
|
if (isDirectory) {
|
||||||
- if (giovfs) {
|
|
||||||
- return giovfs->ShowURIForInput(mPath);
|
- return giovfs->ShowURIForInput(mPath);
|
||||||
- } else
|
|
||||||
- /* Fallback to GnomeVFS */
|
|
||||||
- {
|
|
||||||
- return gnomevfs->ShowURIForInput(mPath);
|
|
||||||
- }
|
|
||||||
+ url = mPath;
|
+ url = mPath;
|
||||||
} else if (giovfs &&
|
} else if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
|
||||||
NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
} else {
|
} else {
|
||||||
nsCOMPtr<nsIFile> parentDir;
|
nsCOMPtr<nsIFile> parentDir;
|
||||||
@ -3702,11 +3672,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (giovfs) {
|
|
||||||
- return giovfs->ShowURIForInput(dirPath);
|
- return giovfs->ShowURIForInput(dirPath);
|
||||||
- } else {
|
|
||||||
- return gnomevfs->ShowURIForInput(dirPath);
|
|
||||||
- }
|
|
||||||
+ url = dirPath;
|
+ url = dirPath;
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
@ -3717,14 +3683,10 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
|
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
|
+ if (!giovfs)
|
||||||
+ if (!giovfs && !gnomevfs)
|
|
||||||
+ return NS_ERROR_FAILURE;
|
+ return NS_ERROR_FAILURE;
|
||||||
+
|
+
|
||||||
+ if (giovfs)
|
|
||||||
+ return giovfs->ShowURIForInput(url);
|
+ return giovfs->ShowURIForInput(url);
|
||||||
+ else
|
|
||||||
+ return gnomevfs->ShowURIForInput(url);
|
|
||||||
#elif defined(MOZ_WIDGET_COCOA)
|
#elif defined(MOZ_WIDGET_COCOA)
|
||||||
CFURLRef url;
|
CFURLRef url;
|
||||||
if (NS_SUCCEEDED(GetCFURL(&url))) {
|
if (NS_SUCCEEDED(GetCFURL(&url))) {
|
||||||
@ -3733,7 +3695,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
@@ -2021,16 +2024,22 @@ nsLocalFile::Reveal()
|
@@ -2007,16 +2018,22 @@ nsLocalFile::Reveal()
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -3749,10 +3711,10 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
|
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
|
||||||
+ }
|
+ }
|
||||||
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
nsCOMPtr<nsIGnomeVFSService> gnomevfs =
|
if (!giovfs) {
|
||||||
do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
|
return NS_ERROR_FAILURE;
|
||||||
if (giovfs) {
|
}
|
||||||
|
|
||||||
return giovfs->ShowURIForInput(mPath);
|
return giovfs->ShowURIForInput(mPath);
|
||||||
} else if (gnomevfs) {
|
#elif defined(MOZ_ENABLE_CONTENTACTION)
|
||||||
/* GnomeVFS fallback */
|
QUrl uri = QUrl::fromLocalFile(QString::fromUtf8(mPath.get()));
|
||||||
return gnomevfs->ShowURIForInput(mPath);
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent 80b6464bd883864fce57e8748010869af1be69e9
|
# Parent 80b6464bd883864fce57e8748010869af1be69e9
|
||||||
# Parent d160c6876c5f05d902b391551bf4f684254b3c7d
|
# Parent 7f246bc54e416716e50efe50c0edf154b26be658
|
||||||
|
|
||||||
diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
|
diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
|
||||||
--- a/toolkit/mozapps/installer/package-name.mk
|
--- a/toolkit/mozapps/installer/package-name.mk
|
||||||
@ -21,7 +21,7 @@ diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/install
|
|||||||
# bug: 746277 - preserve existing functionality.
|
# bug: 746277 - preserve existing functionality.
|
||||||
# MOZILLA_DIR="": cd $(SPACE); hg # succeeds if ~/.hg exists
|
# MOZILLA_DIR="": cd $(SPACE); hg # succeeds if ~/.hg exists
|
||||||
###########################################################################
|
###########################################################################
|
||||||
ifdef MOZILLA_OFFICIAL
|
ifdef MOZ_INCLUDE_SOURCE_INFO
|
||||||
-MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
|
-MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
|
||||||
+#MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
|
+#MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
|
||||||
endif
|
endif
|
||||||
|
@ -1,282 +0,0 @@
|
|||||||
From a8ab3ec3542469c1d4e0741121eb1be17cc0acb0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mike Hommey <mh@glandium.org>
|
|
||||||
Date: Mon, 9 Mar 2015 08:42:19 +0900
|
|
||||||
Subject: [PATCH] Bug 1136958 - Reintroduce pixman code path removed in bug
|
|
||||||
1097776 for --disable-skia builds
|
|
||||||
|
|
||||||
---
|
|
||||||
gfx/layers/basic/BasicCompositor.cpp | 94 +++++++++++++++++++++++++++++++---
|
|
||||||
gfx/layers/basic/BasicLayerManager.cpp | 88 +++++++++++++++++++++++++++++--
|
|
||||||
2 files changed, 171 insertions(+), 11 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicCompositor.cpp
|
|
||||||
index 0bef076..000b591 100644
|
|
||||||
--- a/gfx/layers/basic/BasicCompositor.cpp
|
|
||||||
+++ b/gfx/layers/basic/BasicCompositor.cpp
|
|
||||||
@@ -17,8 +17,13 @@
|
|
||||||
#include <algorithm>
|
|
||||||
#include "ImageContainer.h"
|
|
||||||
#include "gfxPrefs.h"
|
|
||||||
+#ifdef MOZ_ENABLE_SKIA
|
|
||||||
#include "skia/SkCanvas.h" // for SkCanvas
|
|
||||||
#include "skia/SkBitmapDevice.h" // for SkBitmapDevice
|
|
||||||
+#else
|
|
||||||
+#define PIXMAN_DONT_DEFINE_STDINT
|
|
||||||
+#include "pixman.h" // for pixman_f_transform, etc
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
using namespace mozilla::gfx;
|
|
||||||
@@ -168,6 +173,7 @@ DrawSurfaceWithTextureCoords(DrawTarget *aDest,
|
|
||||||
mode, aMask, aMaskTransform, &matrix);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef MOZ_ENABLE_SKIA
|
|
||||||
static SkMatrix
|
|
||||||
Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
|
||||||
{
|
|
||||||
@@ -186,10 +192,10 @@ Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-SkiaTransform(DataSourceSurface* aDest,
|
|
||||||
- DataSourceSurface* aSource,
|
|
||||||
- const gfx3DMatrix& aTransform,
|
|
||||||
- const Point& aDestOffset)
|
|
||||||
+Transform(DataSourceSurface* aDest,
|
|
||||||
+ DataSourceSurface* aSource,
|
|
||||||
+ const gfx3DMatrix& aTransform,
|
|
||||||
+ const Point& aDestOffset)
|
|
||||||
{
|
|
||||||
if (aTransform.IsSingular()) {
|
|
||||||
return;
|
|
||||||
@@ -225,6 +231,78 @@ SkiaTransform(DataSourceSurface* aDest,
|
|
||||||
SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height);
|
|
||||||
destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint);
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+static pixman_transform
|
|
||||||
+Matrix3DToPixman(const gfx3DMatrix& aMatrix)
|
|
||||||
+{
|
|
||||||
+ pixman_f_transform transform;
|
|
||||||
+
|
|
||||||
+ transform.m[0][0] = aMatrix._11;
|
|
||||||
+ transform.m[0][1] = aMatrix._21;
|
|
||||||
+ transform.m[0][2] = aMatrix._41;
|
|
||||||
+ transform.m[1][0] = aMatrix._12;
|
|
||||||
+ transform.m[1][1] = aMatrix._22;
|
|
||||||
+ transform.m[1][2] = aMatrix._42;
|
|
||||||
+ transform.m[2][0] = aMatrix._14;
|
|
||||||
+ transform.m[2][1] = aMatrix._24;
|
|
||||||
+ transform.m[2][2] = aMatrix._44;
|
|
||||||
+
|
|
||||||
+ pixman_transform result;
|
|
||||||
+ pixman_transform_from_pixman_f_transform(&result, &transform);
|
|
||||||
+
|
|
||||||
+ return result;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+Transform(DataSourceSurface* aDest,
|
|
||||||
+ DataSourceSurface* aSource,
|
|
||||||
+ const gfx3DMatrix& aTransform,
|
|
||||||
+ const Point& aDestOffset)
|
|
||||||
+{
|
|
||||||
+ IntSize destSize = aDest->GetSize();
|
|
||||||
+ pixman_image_t* dest = pixman_image_create_bits(PIXMAN_a8r8g8b8,
|
|
||||||
+ destSize.width,
|
|
||||||
+ destSize.height,
|
|
||||||
+ (uint32_t*)aDest->GetData(),
|
|
||||||
+ aDest->Stride());
|
|
||||||
+
|
|
||||||
+ IntSize srcSize = aSource->GetSize();
|
|
||||||
+ pixman_image_t* src = pixman_image_create_bits(PIXMAN_a8r8g8b8,
|
|
||||||
+ srcSize.width,
|
|
||||||
+ srcSize.height,
|
|
||||||
+ (uint32_t*)aSource->GetData(),
|
|
||||||
+ aSource->Stride());
|
|
||||||
+
|
|
||||||
+ NS_ABORT_IF_FALSE(src && dest, "Failed to create pixman images?");
|
|
||||||
+
|
|
||||||
+ pixman_transform pixTransform = Matrix3DToPixman(aTransform);
|
|
||||||
+ pixman_transform pixTransformInverted;
|
|
||||||
+
|
|
||||||
+ // If the transform is singular then nothing would be drawn anyway, return here
|
|
||||||
+ if (!pixman_transform_invert(&pixTransformInverted, &pixTransform)) {
|
|
||||||
+ pixman_image_unref(dest);
|
|
||||||
+ pixman_image_unref(src);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ pixman_image_set_transform(src, &pixTransformInverted);
|
|
||||||
+
|
|
||||||
+ pixman_image_composite32(PIXMAN_OP_SRC,
|
|
||||||
+ src,
|
|
||||||
+ nullptr,
|
|
||||||
+ dest,
|
|
||||||
+ aDestOffset.x,
|
|
||||||
+ aDestOffset.y,
|
|
||||||
+ 0,
|
|
||||||
+ 0,
|
|
||||||
+ 0,
|
|
||||||
+ 0,
|
|
||||||
+ destSize.width,
|
|
||||||
+ destSize.height);
|
|
||||||
+
|
|
||||||
+ pixman_image_unref(dest);
|
|
||||||
+ pixman_image_unref(src);
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
static inline IntRect
|
|
||||||
RoundOut(Rect r)
|
|
||||||
@@ -364,12 +442,16 @@ BasicCompositor::DrawQuad(const gfx::Rect& aRect,
|
|
||||||
RefPtr<SourceSurface> snapshot = dest->Snapshot();
|
|
||||||
RefPtr<DataSourceSurface> source = snapshot->GetDataSurface();
|
|
||||||
RefPtr<DataSourceSurface> temp =
|
|
||||||
- Factory::CreateDataSourceSurface(RoundOut(transformBounds).Size(), SurfaceFormat::B8G8R8A8, true);
|
|
||||||
+ Factory::CreateDataSourceSurface(RoundOut(transformBounds).Size(), SurfaceFormat::B8G8R8A8
|
|
||||||
+#ifdef MOZ_ENABLE_SKIA
|
|
||||||
+ , true
|
|
||||||
+#endif
|
|
||||||
+ );
|
|
||||||
if (NS_WARN_IF(!temp)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- SkiaTransform(temp, source, new3DTransform, transformBounds.TopLeft());
|
|
||||||
+ Transform(temp, source, new3DTransform, transformBounds.TopLeft());
|
|
||||||
|
|
||||||
transformBounds.MoveTo(0, 0);
|
|
||||||
buffer->DrawSurface(temp, transformBounds, transformBounds);
|
|
||||||
diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLayerManager.cpp
|
|
||||||
index f4ec9e4..c849c27 100644
|
|
||||||
--- a/gfx/layers/basic/BasicLayerManager.cpp
|
|
||||||
+++ b/gfx/layers/basic/BasicLayerManager.cpp
|
|
||||||
@@ -46,8 +46,13 @@
|
|
||||||
#include "nsRect.h" // for nsIntRect
|
|
||||||
#include "nsRegion.h" // for nsIntRegion, etc
|
|
||||||
#include "nsTArray.h" // for nsAutoTArray
|
|
||||||
+#ifdef MOZ_ENABLE_SKIA
|
|
||||||
#include "skia/SkCanvas.h" // for SkCanvas
|
|
||||||
#include "skia/SkBitmapDevice.h" // for SkBitmapDevice
|
|
||||||
+#else
|
|
||||||
+#define PIXMAN_DONT_DEFINE_STDINT
|
|
||||||
+#include "pixman.h" // for pixman_f_transform, etc
|
|
||||||
+#endif
|
|
||||||
class nsIWidget;
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
@@ -601,6 +606,7 @@ BasicLayerManager::SetRoot(Layer* aLayer)
|
|
||||||
mRoot = aLayer;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef MOZ_ENABLE_SKIA
|
|
||||||
static SkMatrix
|
|
||||||
BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
|
||||||
{
|
|
||||||
@@ -619,10 +625,10 @@ BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-SkiaTransform(const gfxImageSurface* aDest,
|
|
||||||
- RefPtr<DataSourceSurface> aSrc,
|
|
||||||
- const gfx3DMatrix& aTransform,
|
|
||||||
- gfxPoint aDestOffset)
|
|
||||||
+Transform(const gfxImageSurface* aDest,
|
|
||||||
+ RefPtr<DataSourceSurface> aSrc,
|
|
||||||
+ const gfx3DMatrix& aTransform,
|
|
||||||
+ gfxPoint aDestOffset)
|
|
||||||
{
|
|
||||||
if (aTransform.IsSingular()) {
|
|
||||||
return;
|
|
||||||
@@ -658,6 +664,78 @@ SkiaTransform(const gfxImageSurface* aDest,
|
|
||||||
SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height);
|
|
||||||
destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint);
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+static pixman_transform
|
|
||||||
+BasicLayerManager_Matrix3DToPixman(const gfx3DMatrix& aMatrix)
|
|
||||||
+{
|
|
||||||
+ pixman_f_transform transform;
|
|
||||||
+
|
|
||||||
+ transform.m[0][0] = aMatrix._11;
|
|
||||||
+ transform.m[0][1] = aMatrix._21;
|
|
||||||
+ transform.m[0][2] = aMatrix._41;
|
|
||||||
+ transform.m[1][0] = aMatrix._12;
|
|
||||||
+ transform.m[1][1] = aMatrix._22;
|
|
||||||
+ transform.m[1][2] = aMatrix._42;
|
|
||||||
+ transform.m[2][0] = aMatrix._14;
|
|
||||||
+ transform.m[2][1] = aMatrix._24;
|
|
||||||
+ transform.m[2][2] = aMatrix._44;
|
|
||||||
+
|
|
||||||
+ pixman_transform result;
|
|
||||||
+ pixman_transform_from_pixman_f_transform(&result, &transform);
|
|
||||||
+
|
|
||||||
+ return result;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+Transform(const gfxImageSurface* aDest,
|
|
||||||
+ RefPtr<DataSourceSurface> aSrc,
|
|
||||||
+ const gfx3DMatrix& aTransform,
|
|
||||||
+ gfxPoint aDestOffset)
|
|
||||||
+{
|
|
||||||
+ IntSize destSize = ToIntSize(aDest->GetSize());
|
|
||||||
+ pixman_image_t* dest = pixman_image_create_bits(aDest->Format() == gfxImageFormat::ARGB32 ? PIXMAN_a8r8g8b8 : PIXMAN_x8r8g8b8,
|
|
||||||
+ destSize.width,
|
|
||||||
+ destSize.height,
|
|
||||||
+ (uint32_t*)aDest->Data(),
|
|
||||||
+ aDest->Stride());
|
|
||||||
+
|
|
||||||
+ IntSize srcSize = aSrc->GetSize();
|
|
||||||
+ pixman_image_t* src = pixman_image_create_bits(aSrc->GetFormat() == SurfaceFormat::B8G8R8A8 ? PIXMAN_a8r8g8b8 : PIXMAN_x8r8g8b8,
|
|
||||||
+ srcSize.width,
|
|
||||||
+ srcSize.height,
|
|
||||||
+ (uint32_t*)aSrc->GetData(),
|
|
||||||
+ aSrc->Stride());
|
|
||||||
+
|
|
||||||
+ NS_ABORT_IF_FALSE(src && dest, "Failed to create pixman images?");
|
|
||||||
+
|
|
||||||
+ pixman_transform pixTransform = BasicLayerManager_Matrix3DToPixman(aTransform);
|
|
||||||
+ pixman_transform pixTransformInverted;
|
|
||||||
+
|
|
||||||
+ // If the transform is singular then nothing would be drawn anyway, return here
|
|
||||||
+ if (!pixman_transform_invert(&pixTransformInverted, &pixTransform)) {
|
|
||||||
+ pixman_image_unref(dest);
|
|
||||||
+ pixman_image_unref(src);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ pixman_image_set_transform(src, &pixTransformInverted);
|
|
||||||
+
|
|
||||||
+ pixman_image_composite32(PIXMAN_OP_SRC,
|
|
||||||
+ src,
|
|
||||||
+ nullptr,
|
|
||||||
+ dest,
|
|
||||||
+ aDestOffset.x,
|
|
||||||
+ aDestOffset.y,
|
|
||||||
+ 0,
|
|
||||||
+ 0,
|
|
||||||
+ 0,
|
|
||||||
+ 0,
|
|
||||||
+ destSize.width,
|
|
||||||
+ destSize.height);
|
|
||||||
+
|
|
||||||
+ pixman_image_unref(dest);
|
|
||||||
+ pixman_image_unref(src);
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Transform a surface using a gfx3DMatrix and blit to the destination if
|
|
||||||
@@ -699,7 +777,7 @@ Transform3D(RefPtr<SourceSurface> aSource,
|
|
||||||
gfx3DMatrix translation = gfx3DMatrix::Translation(aBounds.x, aBounds.y, 0);
|
|
||||||
|
|
||||||
// Transform the content and offset it such that the content begins at the origin.
|
|
||||||
- SkiaTransform(destImage, aSource->GetDataSurface(), translation * aTransform, offset);
|
|
||||||
+ Transform(destImage, aSource->GetDataSurface(), translation * aTransform, offset);
|
|
||||||
|
|
||||||
// If we haven't actually drawn to aDest then return our temporary image so
|
|
||||||
// that the caller can do this.
|
|
||||||
--
|
|
||||||
2.3.0.4.g34b1174
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
|||||||
REV=a7ee2c1f2cba
|
REV=62bee8cdd19f
|
||||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||||
|
Loading…
Reference in New Issue
Block a user