- update to Firefox 17.0 (bnc#790140)

* MFSA 2012-91/CVE-2012-5842/CVE-2012-5843
    Miscellaneous memory safety hazards
  * MFSA 2012-92/CVE-2012-4202 (bmo#758200)
    Buffer overflow while rendering GIF images
  * MFSA 2012-93/CVE-2012-4201 (bmo#747607)
    evalInSanbox location context incorrectly applied
  * MFSA 2012-94/CVE-2012-5836 (bmo#792857)
    Crash when combining SVG text on path with CSS
  * MFSA 2012-95/CVE-2012-4203 (bmo#765628)
    Javascript: URLs run in privileged context on New Tab page
  * MFSA 2012-96/CVE-2012-4204 (bmo#778603)
    Memory corruption in str_unescape
  * MFSA 2012-97/CVE-2012-4205 (bmo#779821)
    XMLHttpRequest inherits incorrect principal within sandbox
  * MFSA 2012-99/CVE-2012-4208 (bmo#798264)
    XrayWrappers exposes chrome-only properties when not in chrome
    compartment
  * MFSA 2012-100/CVE-2012-5841 (bmo#805807)
    Improper security filtering for cross-origin wrappers
  * MFSA 2012-101/CVE-2012-4207 (bmo#801681)
    Improper character decoding in HZ-GB-2312 charset
  * MFSA 2012-102/CVE-2012-5837 (bmo#800363)
    Script entered into Developer Toolbar runs with chrome privileges
  * MFSA 2012-103/CVE-2012-4209 (bmo#792405)
    Frames can shadow top.location
  * MFSA 2012-104/CVE-2012-4210 (bmo#796866)
    CSS and HTML injection through Style Inspector
  * MFSA 2012-105/CVE-2012-4214/CVE-2012-4215/CVE-2012-4216/
    CVE-2012-5829/CVE-2012-5839/CVE-2012-5840/CVE-2012-4212/

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=303
This commit is contained in:
Wolfgang Rosenauer 2012-11-20 20:34:15 +00:00 committed by Git OBS Bridge
parent f2894f172b
commit 1310561bd5
20 changed files with 539 additions and 521 deletions

View File

@ -1,3 +1,53 @@
-------------------------------------------------------------------
Tue Nov 20 19:52:02 UTC 2012 - wr@rosenauer.org
- update to Firefox 17.0 (bnc#790140)
* MFSA 2012-91/CVE-2012-5842/CVE-2012-5843
Miscellaneous memory safety hazards
* MFSA 2012-92/CVE-2012-4202 (bmo#758200)
Buffer overflow while rendering GIF images
* MFSA 2012-93/CVE-2012-4201 (bmo#747607)
evalInSanbox location context incorrectly applied
* MFSA 2012-94/CVE-2012-5836 (bmo#792857)
Crash when combining SVG text on path with CSS
* MFSA 2012-95/CVE-2012-4203 (bmo#765628)
Javascript: URLs run in privileged context on New Tab page
* MFSA 2012-96/CVE-2012-4204 (bmo#778603)
Memory corruption in str_unescape
* MFSA 2012-97/CVE-2012-4205 (bmo#779821)
XMLHttpRequest inherits incorrect principal within sandbox
* MFSA 2012-99/CVE-2012-4208 (bmo#798264)
XrayWrappers exposes chrome-only properties when not in chrome
compartment
* MFSA 2012-100/CVE-2012-5841 (bmo#805807)
Improper security filtering for cross-origin wrappers
* MFSA 2012-101/CVE-2012-4207 (bmo#801681)
Improper character decoding in HZ-GB-2312 charset
* MFSA 2012-102/CVE-2012-5837 (bmo#800363)
Script entered into Developer Toolbar runs with chrome privileges
* MFSA 2012-103/CVE-2012-4209 (bmo#792405)
Frames can shadow top.location
* MFSA 2012-104/CVE-2012-4210 (bmo#796866)
CSS and HTML injection through Style Inspector
* MFSA 2012-105/CVE-2012-4214/CVE-2012-4215/CVE-2012-4216/
CVE-2012-5829/CVE-2012-5839/CVE-2012-5840/CVE-2012-4212/
CVE-2012-4213/CVE-2012-4217/CVE-2012-4218
Use-after-free and buffer overflow issues found using Address
Sanitizer
* MFSA 2012-106/CVE-2012-5830/CVE-2012-5833/CVE-2012-5835/CVE-2012-5838
Use-after-free, buffer overflow, and memory corruption issues
found using Address Sanitizer
- rebased patches
- disabled WebRTC since build is broken (bmo#776877)
-------------------------------------------------------------------
Tue Nov 20 15:42:55 UTC 2012 - pcerny@suse.com
- build on SLE11
* mozilla-gcc43-enums.patch
* mozilla-gcc43-template_hacks.patch
* mozilla-gcc43-templates_instantiation.patch
-------------------------------------------------------------------
Wed Oct 24 08:27:29 UTC 2012 - wr@rosenauer.org

View File

@ -17,8 +17,8 @@
#
%define major 16
%define mainver %major.0.2
%define major 17
%define mainver %major.0
%define update_channel release
Name: MozillaFirefox
@ -54,7 +54,7 @@ BuildRequires: pkgconfig(gstreamer-plugins-base-0.10)
%endif
Version: %{mainver}
Release: 0
%define releasedate 2012102400
%define releasedate 2012111600
Provides: firefox = %{mainver}
Provides: firefox = %{version}-%{release}
Provides: web_browser
@ -94,10 +94,14 @@ Patch8: mozilla-ntlm-full-path.patch
Patch9: mozilla-repo.patch
Patch10: mozilla-sle11.patch
Patch11: mozilla-disable-neon-option.patch
Patch13: mozilla-arm-disable-edsp.patch
Patch15: mozilla-gstreamer.patch
Patch16: mozilla-ppc.patch
Patch17: mozilla-gstreamer-760140.patch
Patch12: mozilla-arm-disable-edsp.patch
Patch13: mozilla-gstreamer.patch
Patch14: mozilla-ppc.patch
Patch15: mozilla-gstreamer-760140.patch
# SLE11 patches
Patch20: mozilla-gcc43-enums.patch
Patch21: mozilla-gcc43-template_hacks.patch
Patch22: mozilla-gcc43-templates_instantiation.patch
# Firefox/browser
Patch30: firefox-browser-css.patch
Patch31: firefox-kde.patch
@ -112,10 +116,6 @@ Requires: %{name}-branding > 4.0
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
Recommends: libcanberra0
# libproxy's mozjs pacrunner crashes FF (bnc#759123)
%if %suse_version < 1220
Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7
%endif
%define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
%define _use_internal_dependency_generator 0
%define __find_requires sh %{SOURCE4}
@ -227,10 +227,16 @@ cd $RPM_BUILD_DIR/mozilla
%patch10 -p1
%endif
#%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
# SLE patches
%if %suse_version <= 1110
%patch20 -p1
%patch21 -p1
%patch22 -p1
%endif
#
%patch30 -p1
%if %suse_version >= 1110
@ -293,6 +299,7 @@ ac_add_options --disable-debug
ac_add_options --enable-startup-notification
#ac_add_options --enable-chrome-format=jar
ac_add_options --enable-update-channel=%{update_channel}
ac_add_options --disable-webrtc # webrtc build is broken for system NSPR
EOF
%if %suse_version > 1130
cat << EOF >> $MOZCONFIG
@ -369,7 +376,6 @@ for locale in $(awk '{ print $1; }' ../mozilla/browser/locales/shipped-locales);
make -C browser/locales langpack-$locale
cp -rL dist/xpi-stage/locale-$locale \
$RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@firefox.mozilla.org
rm $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@firefox.mozilla.org/chrome/.mkdir.done
# remove prefs, profile defaults, and hyphenation from langpack
rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@firefox.mozilla.org/defaults
rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@firefox.mozilla.org/hyphenation
@ -394,6 +400,8 @@ find $RPM_BUILD_ROOT%{progdir} \
-name "*.txt" -o \
-name "*.xml" -o \
-name "*.css" | xargs chmod a-x
# remove mkdir.done files from installed base
find $RPM_BUILD_ROOT%{progdir} -name ".mkdir.done" | xargs rm
# overwrite the mozilla start-script and link it to /usr/bin
mkdir --parents $RPM_BUILD_ROOT/usr/bin
sed "s:%%PREFIX:%{_prefix}:g

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea7b236553dd3b2ff8cfb126763af6a72a40564d34babe19f5be7f7b57150387
size 29935
oid sha256:de3c0cf1d4cecef9e1195fb8f112d995558aa9e9767dac6554fd878f10ed84b5
size 29941

View File

@ -2,8 +2,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_16_0_2_RELEASE"
VERSION="16.0.2"
RELEASE_TAG="FIREFOX_17_0_RELEASE"
VERSION="17.0"
# mozilla
echo "cloning $BRANCH..."

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd8749befde92bb45dabf2f043d022aeca439eead53e64cec16d8619307bacf9
size 90688319

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0956aa518475fa8b6e019efd95cf2d6378c7c5c720db5c23f7c60cb9e34ceac5
size 92114962

View File

@ -1,6 +1,6 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a741476f1d87380057f9fa02c6a580aed6e81ff
# Parent ba2d9b1374e15e7c339a44452169d0afac2ca82e
With openSUSE 11.4 the desktop file name changed from MozillaFirefox to firefox
diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js

View File

@ -2,7 +2,7 @@ diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1210 @@
@@ -0,0 +1,1272 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@ -14,7 +14,6 @@ new file mode 100644
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/devtools/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/devtools/webconsole.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
+
+<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
@ -60,9 +59,6 @@ new file mode 100644
+#include global-scripts.inc
+<script type="application/javascript" src="chrome://browser/content/nsContextMenu.js"/>
+
+#ifdef MOZ_SAFE_BROWSING
+<script type="application/javascript" src="chrome://browser/content/safebrowsing/sb-loader.js"/>
+#endif
+<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
+
+<script type="application/javascript" src="chrome://browser/content/places/editBookmarkOverlay.js"/>
@ -187,7 +183,45 @@ new file mode 100644
+ </hbox>
+ </panel>
+
+ <panel id="editSharePopup"
+ <panel id="socialActivatedNotification"
+ type="arrow"
+ hidden="true"
+ consumeoutsideclicks="true"
+ align="start"
+ role="alert">
+ <hbox flex="1">
+ <image src="chrome://browser/content/social-icon.png" class="popup-notification-icon"/>
+ <vbox flex="1">
+ <description id="social-activation-message" class="popup-notification-description"/>
+ <spacer flex="1"/>
+ <hbox pack="end" align="center" class="popup-notification-button-container">
+#ifndef XP_UNIX
+ <button id="social-undoactivation-button"
+ label="&social.activated.undobutton.label;"
+ accesskey="&social.activated.undobutton.accesskey;"
+ onclick="SocialUI.undoActivation();"/>
+ <button default="true"
+ autofocus="autofocus"
+ label="&social.ok.label;"
+ accesskey="&social.ok.accesskey;"
+ oncommand="SocialUI.notificationPanel.hidePopup();"/>
+#else
+ <button default="true"
+ autofocus="autofocus"
+ label="&social.ok.label;"
+ accesskey="&social.ok.accesskey;"
+ oncommand="SocialUI.notificationPanel.hidePopup();"/>
+ <button id="social-undoactivation-button"
+ label="&social.activated.undobutton.label;"
+ accesskey="&social.activated.undobutton.accesskey;"
+ onclick="SocialUI.undoActivation();"/>
+#endif
+ </hbox>
+ </vbox>
+ </hbox>
+ </panel>
+
+ <panel id="unsharePopup"
+ type="arrow"
+ orient="vertical"
+ ignorekeys="true"
@ -195,40 +229,59 @@ new file mode 100644
+ onpopupshown="SocialShareButton.panelShown(event);"
+ consumeoutsideclicks="true"
+ level="top">
+ <hbox id="editSharePopupBottomButtons" pack="end">
+#ifdef XP_UNIX
+ <button id="editSharePopupUndoButton"
+ class="editSharePopupBottomButton"
+ label="&social.sharePopup.undo.label;"
+ accesskey="&social.sharePopup.undo.accesskey;"
+ <!-- Note that 'label', 'accesskey', 'value' and 'aria-label' attributes
+ for many of these elements are supplied by the provider and filled
+ in at runtime
+ -->
+ <row id="unsharePopupHeader" align="center">
+ <vbox align="center">
+ <image id="socialUserPortrait" onclick="SocialUI.showProfile();"/>
+ </vbox>
+ <vbox id="unsharePopupText">
+ <button id="socialUserDisplayName" pack="start"
+ oncommand="SocialUI.showProfile();"/>
+ <spacer flex="1"/>
+ <label id="socialUserRecommendedText"/>
+ </vbox>
+ </row>
+ <hbox id="unsharePopupBottomButtons" pack="end">
+#ifndef XP_UNIX
+ <button id="unsharePopupStopSharingButton"
+ class="unsharePopupBottomButton"
+ command="Social:UnsharePage"/>
+ <button id="editSharePopupOkButton"
+ class="editSharePopupBottomButton"
+ <button id="unsharePopupContinueSharingButton"
+ class="unsharePopupBottomButton"
+ default="true"
+ autofocus="autofocus"
+ label="&social.sharePopup.ok.label;"
+ accesskey="&social.sharePopup.ok.accesskey;"
+ oncommand="SocialShareButton.dismissSharePopup();"/>
+ oncommand="SocialShareButton.dismissUnsharePopup();"/>
+#else
+ <button id="editSharePopupOkButton"
+ class="editSharePopupBottomButton"
+ <button id="unsharePopupContinueSharingButton"
+ class="unsharePopupBottomButton"
+ default="true"
+ autofocus="autofocus"
+ label="&social.sharePopup.ok.label;"
+ accesskey="&social.sharePopup.ok.accesskey;"
+ oncommand="SocialShareButton.dismissSharePopup();"/>
+ <button id="editSharePopupUndoButton"
+ class="editSharePopupBottomButton"
+ label="&social.sharePopup.undo.label;"
+ accesskey="&social.sharePopup.undo.accesskey;"
+ oncommand="SocialShareButton.dismissUnsharePopup();"/>
+ <button id="unsharePopupStopSharingButton"
+ class="unsharePopupBottomButton"
+ command="Social:UnsharePage"/>
+#endif
+ </hbox>
+ </panel>
+
+ <panel id="social-notification-panel" type="arrow" hidden="true" noautofocus="true">
+ <browser id="social-notification-browser" type="content" flex="1"/>
+ </panel>
+ <panel id="social-notification-panel"
+ class="social-panel"
+ type="arrow"
+ hidden="true"
+ consumeoutsideclicks="true"
+ noautofocus="true"/>
+ <panel id="social-flyout-panel"
+ class="social-panel"
+ onpopupshown="SocialFlyout.onShown()"
+ onpopuphidden="SocialFlyout.onHidden()"
+ side="right"
+ type="arrow"
+ hidden="true"
+ noautofocus="true"
+ position="topcenter topright"/>
+
+ <menupopup id="inspector-node-popup">
+ <menuitem id="inspectorHTMLCopyInner"
@ -522,6 +575,7 @@ new file mode 100644
+ onblur="setTimeout(function() document.getElementById('identity-box').style.MozUserFocus = '', 0);">
+ <box id="notification-popup-box" hidden="true" align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="identity-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="geo-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/>
@ -613,43 +667,44 @@ new file mode 100644
+ onclick="BrowserGoHome(event);"
+ aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
+
+ <toolbaritem id="social-toolbar-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
+ <toolbaritem id="social-toolbar-item"
+ class="chromeclass-toolbar-additional"
+ removable="false"
+ title="&socialToolbar.title;"
+ hidden="true">
+ <hbox id="social-toolbar-button-box" class="social-statusarea-container">
+ <button id="social-provider-image" type="menu">
+ <menupopup id="social-statusarea-popup">
+ <hbox id="social-statusarea-user" pack="left" align="center">
+ <image id="social-statusarea-user-portrait"/>
+ <vbox>
+ <label id="social-statusarea-notloggedin"
+ value="&social.notLoggedIn.label;"/>
+ <button id="social-statusarea-username"
+ oncommand="SocialUI.showProfile(); document.getElementById('social-statusarea-popup').hidePopup();"/>
+ </vbox>
+ </hbox>
+ </menupopup>
+ </button>
+ <hbox id="social-status-iconbox" flex="1">
+ <box class="social-notification-icon-container" collapsed="true"
+ onclick="SocialToolbar.showAmbientPopup(this);">
+ <image class="social-notification-icon-image"/>
+ <box class="social-notification-icon-counter" collapsed="true"/>
+ </box>
+ <box class="social-notification-icon-container" collapsed="true"
+ onclick="SocialToolbar.showAmbientPopup(this);">
+ <image class="social-notification-icon-image"/>
+ <box class="social-notification-icon-counter" collapsed="true"/>
+ </box>
+ <box class="social-notification-icon-container" collapsed="true"
+ onclick="SocialToolbar.showAmbientPopup(this);">
+ <image class="social-notification-icon-image"/>
+ <box class="social-notification-icon-counter" collapsed="true"/>
+ </box>
+ </hbox>
+ </hbox>
+ <toolbarbutton id="social-provider-button"
+ class="toolbarbutton-1"
+ type="menu">
+ <menupopup id="social-statusarea-popup">
+ <menuitem id="social-statusarea-user" pack="start" align="center" class="menuitem-iconic"
+ onclick="SocialUI.showProfile(); document.getElementById('social-statusarea-popup').hidePopup();">
+ <image id="social-statusarea-user-portrait"/>
+ <vbox>
+ <label id="social-statusarea-notloggedin"
+ value="&social.notLoggedIn.label;"/>
+ <label id="social-statusarea-username"/>
+ </vbox>
+ </menuitem>
+#ifndef XP_WIN
+ <menuseparator/>
+#endif
+ <menuitem id="social-toggle-sidebar-menuitem"
+ type="checkbox"
+ autocheck="false"
+ command="Social:ToggleSidebar"
+ label="&social.toggleSidebar.label;"
+ accesskey="&social.toggleSidebar.accesskey;"/>
+ <menuitem id="social-toggle-notifications-menuitem"
+ type="checkbox"
+ autocheck="false"
+ command="Social:ToggleNotifications"
+ label="&social.toggleNotifications.label;"
+ accesskey="&social.toggleNotifications.accesskey;"/>
+ <menuseparator/>
+ <menuitem id="social-remove-menuitem"
+ oncommand="SocialUI.disableWithConfirmation();"/>
+ </menupopup>
+ </toolbarbutton>
+ </toolbaritem>
+
+ <toolbaritem id="bookmarks-menu-button-container"
@ -737,7 +792,7 @@ new file mode 100644
+ </toolbarbutton>
+ </toolbaritem>
+
+ <hbox id="window-controls" hidden="true" fullscreencontrol="true" pack="end">
+ <hbox id="window-controls" hidden="true" pack="end">
+ <toolbarbutton id="minimize-button"
+ tooltiptext="&fullScreenMinimize.tooltip;"
+ oncommand="window.minimize();"/>
@ -895,14 +950,14 @@ new file mode 100644
+ tooltiptext="&printButton.tooltip;"/>
+
+ <!-- This is a placeholder for the Downloads Indicator. It is visible
+ only during the customization of the toolbar or in the palette, and
+ is replaced when customization is done. -->
+ during the customization of the toolbar, in the palette, and before
+ the Downloads Indicator overlay is loaded. -->
+ <toolbarbutton id="downloads-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ observes="Tools:Downloads"
+ ondrop="DownloadsButtonDNDObserver.onDrop(event)"
+ ondragover="DownloadsButtonDNDObserver.onDragOver(event)"
+ ondragenter="DownloadsButtonDNDObserver.onDragOver(event)"
+ ondragexit="DownloadsButtonDNDObserver.onDragExit(event)"
+ oncommand="DownloadsIndicatorView.onCommand(event);"
+ ondrop="DownloadsIndicatorView.onDrop(event);"
+ ondragover="DownloadsIndicatorView.onDragOver(event);"
+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
+ ondragleave="DownloadsIndicatorView.onDragLeave(event);"
+ label="&downloads.label;"
+ tooltiptext="&downloads.tooltip;"/>
+
@ -1006,7 +1061,7 @@ new file mode 100644
+ style="min-width: 14em; width: 18em; max-width: 36em;"/>
+ </vbox>
+
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome" hidden="true"/>
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
+ <vbox id="appcontent" flex="1">
+ <tabbrowser id="content" disablehistory="true"
+ flex="1" contenttooltip="aHTMLTooltip"
@ -1014,6 +1069,7 @@ new file mode 100644
+ contentcontextmenu="contentAreaContextMenu"
+ autocompletepopup="PopupAutoComplete"
+ onclick="contentAreaClick(event, false);"/>
+ <chatbar id="pinnedchats" layer="true" mousethrough="always"/>
+ <statuspanel id="statusbar-display" inactive="true"/>
+ </vbox>
+ <splitter id="devtools-side-splitter" hidden="true"/>
@ -1024,6 +1080,19 @@ new file mode 100644
+ nowindowdrag="true"/>
+ <deck id="devtools-sidebar-deck" flex="1"/>
+ </vbox>
+ <splitter id="social-sidebar-splitter"
+ class="chromeclass-extrachrome sidebar-splitter"
+ observes="socialSidebarBroadcaster"/>
+ <vbox id="social-sidebar-box"
+ class="chromeclass-extrachrome"
+ observes="socialSidebarBroadcaster"
+ persist="width">
+ <browser id="social-sidebar-browser"
+ type="content"
+ disableglobalhistory="true"
+ flex="1"
+ style="min-width: 14em; width: 18em; max-width: 36em;"/>
+ </vbox>
+ <vbox id="browser-border-end" hidden="true" layer="true"/>
+ </hbox>
+
@ -1059,24 +1128,6 @@ new file mode 100644
+ oncommand="InspectorUI.closeInspectorUI(false);"
+ tooltiptext="&inspectCloseButton.tooltiptext;"/>
+#endif
+ <toolbarbutton id="inspector-option-toolbarbutton"
+ type="menu"
+ tabindex="0"
+ tooltiptext="&inspectOptionButton.tooltiptext;">
+ <menupopup id="inspector-option-popup"
+ position="before_start">
+ <menuitem id="inspectorToggleVeil"
+ type="checkbox"
+ label="&inspectorToggleVeil.label;"
+ accesskey="&inspectorToggleVeil.accesskey;"
+ command="Inspector:ToggleVeil"/>
+ <menuitem id="inspectorToggleInfobar"
+ type="checkbox"
+ label="&inspectorToggleInfobar.label;"
+ accesskey="&inspectorToggleInfobar.accesskey;"
+ command="Inspector:ToggleInfobar"/>
+ </menupopup>
+ </toolbarbutton>
+ <toolbarbutton id="inspector-inspect-toolbutton"
+ class="devtools-toolbarbutton"
+ command="Inspector:Inspect"/>
@ -1130,24 +1181,35 @@ new file mode 100644
+ <textbox class="gclitoolbar-input-node" rows="1"/>
+ </stack>
+ <toolbarbutton id="developer-toolbar-webconsole"
+ label="&webConsoleButton.label;"
+ class="developer-toolbar-button"
+ command="Tools:WebConsole"/>
+ observes="devtoolsMenuBroadcaster_WebConsole"/>
+ <toolbarbutton id="developer-toolbar-inspector"
+ label="&inspectorButton.label;"
+ class="developer-toolbar-button"
+ hidden="true"
+ command="Tools:Inspect"/>
+ observes="devtoolsMenuBroadcaster_Inspect"/>
+ <toolbarbutton id="developer-toolbar-styleeditor"
+ label="&styleeditor.label;"
+ class="developer-toolbar-button"
+ hidden="true"
+ command="Tools:StyleEditor"/>
+ observes="devtoolsMenuBroadcaster_StyleEditor"/>
+ <toolbarbutton id="developer-toolbar-debugger"
+ label="&debuggerMenu.label2;"
+ class="developer-toolbar-button"
+ hidden="true"
+ command="Tools:Debugger"/>
+ observes="devtoolsMenuBroadcaster_Debugger"/>
+ <toolbarbutton id="developer-toolbar-other-tools"
+ type="menu"
+ class="developer-toolbar-button"
+ label="&devToolbarOtherToolsButton.label;">
+ <menupopup position="before_end">
+ <menuitem observes="devtoolsMenuBroadcaster_DevToolbar"/>
+ <menuitem observes="devtoolsMenuBroadcaster_ResponsiveUI"/>
+ <menuitem observes="devtoolsMenuBroadcaster_RemoteDebugger"/>
+ <menuitem observes="devtoolsMenuBroadcaster_ChromeDebugger"/>
+ <menuitem observes="devtoolsMenuBroadcaster_Scratchpad"/>
+ <menuitem observes="devtoolsMenuBroadcaster_StyleEditor"/>
+ <menuitem observes="devtoolsMenuBroadcaster_PageSource"/>
+ <menuitem observes="devtoolsMenuBroadcaster_ErrorConsole"/>
+ <menuseparator/>
+ <menuitem observes="devtoolsMenuBroadcaster_GetMoreTools"/>
+ </menupopup>
+ </toolbarbutton>
+
+#ifndef XP_MACOSX
+ <toolbarbutton id="developer-toolbar-closebutton"
+ class="devtools-closebutton"
@ -1216,25 +1278,25 @@ new file mode 100644
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -35,16 +35,18 @@ browser.jar:
content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png)
@@ -36,16 +36,18 @@ browser.jar:
content/browser/abouthome/mozilla.png (content/abouthome/mozilla.png)
content/browser/abouthome/noise.png (content/abouthome/noise.png)
content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
* content/browser/browser.css (content/browser.css)
* content/browser/browser.js (content/browser.js)
* content/browser/browser.xul (content/browser.xul)
+* content/browser/browser-kde.xul (content/browser-kde.xul)
+% override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
* content/browser/content.js (content/content.js)
* content/browser/newtab/newTab.xul (content/newtab/newTab.xul)
content/browser/content.js (content/content.js)
content/browser/newtab/newTab.xul (content/newtab/newTab.xul)
* content/browser/newtab/newTab.js (content/newtab/newTab.js)
content/browser/newtab/newTab.css (content/newtab/newTab.css)
* content/browser/pageinfo/pageInfo.xul (content/pageinfo/pageInfo.xul)
* content/browser/pageinfo/pageInfo.js (content/pageinfo/pageInfo.js)
* content/browser/pageinfo/pageInfo.css (content/pageinfo/pageInfo.css)
content/browser/pageinfo/pageInfo.css (content/pageinfo/pageInfo.css)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp
+++ b/browser/components/build/nsModule.cpp
@ -1316,12 +1378,12 @@ diff --git a/browser/components/preferences/advanced.js b/browser/components/pre
#ifdef HAVE_SHELL_SERVICE
this.updateSetDefaultBrowser();
#ifdef XP_WIN
let shellSvc = getShellService();
// In Windows 8 we launch the control panel since it's the only
// way to get all file type association prefs. So we don't know
// when the user will select the default. We refresh here periodically
// in case the default changes.
@@ -737,14 +743,25 @@ var gAdvancedPane = {
// in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open.
@@ -725,14 +731,25 @@ var gAdvancedPane = {
* Set browser as the operating system default browser.
*/
setDefaultBrowser: function()
@ -1374,42 +1436,11 @@ diff --git a/browser/components/shell/src/nsKDEShellService.cpp b/browser/compon
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/src/nsKDEShellService.cpp
@@ -0,0 +1,265 @@
@@ -0,0 +1,234 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Shell Service.
+ *
+ * The Initial Developer of the Original Code is mozilla.org.
+ * Portions created by the Initial Developer are Copyright (C) 2004
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsKDEShellService.h"
+#include "nsShellService.h"
@ -1592,7 +1623,7 @@ new file mode 100644
+NS_IMETHODIMP
+nsKDEShellService::GetDefaultFeedReader(nsIFile** _retval)
+ {
+ *_retval = nsnull;
+ *_retval = nullptr;
+
+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
+ if( !command )
@ -1814,7 +1845,7 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -558,18 +558,20 @@
@@ -561,18 +561,20 @@
@BINPATH@/@PREF_DIR@/services-sync.js
#endif
@BINPATH@/greprefs.js

View File

@ -1,12 +1,12 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5c446cfb862fdb6685634dbeea9bff31fa19fc3e
# Parent ba286b90465d93b93487c0de6f8ebe5d1821d2c0
Add searchplugins to chrome packaging for proper localization
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -327,16 +327,20 @@ pref("browser.download.useToolkitUI", fa
@@ -332,16 +332,20 @@ pref("browser.download.useToolkitUI", tr
pref("browser.download.panel.removeFinishedDownloads", false);
// search engines URL
@ -30,7 +30,7 @@ diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -121,39 +121,48 @@ libs:: $(call MERGE_FILES,$(addprefix pr
@@ -118,39 +118,48 @@ libs:: $(call MERGE_FILES,$(addprefix pr
install:: $(DESTDIR)$(mozappdir)/defaults/profile/bookmarks.html ;
install:: $(addprefix generic/profile/,$(PROFILE_FILES))
@ -89,18 +89,18 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR) BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
repackage-win32-installer: $(call ESCAPE_SPACE,$(WIN32_INSTALLER_IN)) $(SUBMAKEFILES) libs-$(AB_CD)
repackage-win32-installer: $(call ESCAPE_WILDCARD,$(WIN32_INSTALLER_IN)) $(SUBMAKEFILES) libs-$(AB_CD)
@echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)."
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -108,16 +108,17 @@
locale/browser-region/region.properties (%chrome/browser-region/region.properties)
# the following files are browser-specific overrides
* locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
* locale/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
* locale/browser/downloads/settingsChange.dtd (%chrome/overrides/settingsChange.dtd)
locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
locale/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
locale/browser/downloads/settingsChange.dtd (%chrome/overrides/settingsChange.dtd)
% override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
% override chrome://mozapps/locale/downloads/settingsChange.dtd chrome://browser/locale/downloads/settingsChange.dtd

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a04392e140933294a18e48770ffd9f960f082ccc4ba0a63fc1e134a2a153b07
size 52127156

3
l10n-17.0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aceaea6943c6ffda95074d701b8ee50eab72ea2a2532c7a9c20f0baa3929d0fb
size 52156353

93
mozilla-gcc43-enums.patch Normal file
View File

@ -0,0 +1,93 @@
# HG changeset patch
# Parent 6d0e0f7dc4cf04f1d08f8b4f8e9312ac05928608
remove trailing commas in enum definitions as these are unpalatable for gcc
(4.3.4) in pedantic mode
diff --git a/media/webrtc/trunk/src/common_types.h b/media/webrtc/trunk/src/common_types.h
--- a/media/webrtc/trunk/src/common_types.h
+++ b/media/webrtc/trunk/src/common_types.h
@@ -342,17 +342,17 @@ enum TelephoneEventDetectionMethods
enum NsModes // type of Noise Suppression
{
kNsUnchanged = 0, // previously set mode
kNsDefault, // platform default
kNsConference, // conferencing default
kNsLowSuppression, // lowest suppression
kNsModerateSuppression,
kNsHighSuppression,
- kNsVeryHighSuppression, // highest suppression
+ kNsVeryHighSuppression // highest suppression
};
enum AgcModes // type of Automatic Gain Control
{
kAgcUnchanged = 0, // previously set mode
kAgcDefault, // platform default
// adaptive mode for use when analog volume control exists (e.g. for
// PC softphone)
@@ -367,17 +367,17 @@ enum AgcModes // type o
// EC modes
enum EcModes // type of Echo Control
{
kEcUnchanged = 0, // previously set mode
kEcDefault, // platform default
kEcConference, // conferencing default (aggressive AEC)
kEcAec, // Acoustic Echo Cancellation
- kEcAecm, // AEC mobile
+ kEcAecm // AEC mobile
};
// AECM modes
enum AecmModes // mode of AECM
{
kAecmQuietEarpieceOrHeadset = 0,
// Quiet earpiece or headset use
kAecmEarpiece, // most earpiece use
@@ -416,43 +416,43 @@ enum NetEqModes // NetEQ pla
// Optimized trade-off between low delay and jitter robustness for two-way
// communication.
kNetEqDefault = 0,
// Improved jitter robustness at the cost of increased delay. Can be
// used in one-way communication.
kNetEqStreaming = 1,
// Optimzed for decodability of fax signals rather than for perceived audio
// quality.
- kNetEqFax = 2,
+ kNetEqFax = 2
};
enum NetEqBgnModes // NetEQ Background Noise (BGN) configurations
{
// BGN is always on and will be generated when the incoming RTP stream
// stops (default).
kBgnOn = 0,
// The BGN is faded to zero (complete silence) after a few seconds.
kBgnFade = 1,
// BGN is not used at all. Silence is produced after speech extrapolation
// has faded.
- kBgnOff = 2,
+ kBgnOff = 2
};
enum OnHoldModes // On Hold direction
{
kHoldSendAndPlay = 0, // Put both sending and playing in on-hold state.
kHoldSendOnly, // Put only sending in on-hold state.
kHoldPlayOnly // Put only playing in on-hold state.
};
enum AmrMode
{
kRfc3267BwEfficient = 0,
kRfc3267OctetAligned = 1,
- kRfc3267FileStorage = 2,
+ kRfc3267FileStorage = 2
};
// ==================================================================
// Video specific types
// ==================================================================
// Raw video types
enum RawVideoType

View File

@ -0,0 +1,26 @@
# HG changeset patch
# Parent 993c5b5a44ca18c5273b74c75704b418c2477d28
bmo#783505 - bump gcc version required for building without template hacks
diff --git a/js/src/jstypedarray.cpp b/js/src/jstypedarray.cpp
--- a/js/src/jstypedarray.cpp
+++ b/js/src/jstypedarray.cpp
@@ -1404,17 +1404,17 @@ class TypedArrayTemplate
// retrieves a given Value, probably from a slot on the object.
template<Value ValueGetter(JSObject *obj)>
static JSBool
Getter(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
// FIXME: Hack to keep us building with gcc 4.2. Remove this once we
// drop support for gcc 4.2. See bug 783505 for the details.
-#if defined(__GNUC__) && __GNUC_MINOR__ <= 2
+#if defined(__GNUC__) && __GNUC_MINOR__ <= 3
return CallNonGenericMethod(cx, IsThisClass, GetterImpl<ValueGetter>, args);
#else
return CallNonGenericMethod<ThisTypeArray::IsThisClass,
ThisTypeArray::GetterImpl<ValueGetter> >(cx, args);
#endif
}
// Define an accessor for a read-only property that invokes a native getter

View File

@ -0,0 +1,20 @@
# HG changeset patch
# Parent 2e78665a1ab70f4dc3884965428bda14da684ef6
bmo#732340 - explicitly instantiate templates
diff --git a/gfx/harfbuzz/src/hb-ot-layout.cc b/gfx/harfbuzz/src/hb-ot-layout.cc
--- a/gfx/harfbuzz/src/hb-ot-layout.cc
+++ b/gfx/harfbuzz/src/hb-ot-layout.cc
@@ -479,8 +479,12 @@ hb_ot_layout_position_lookup (hb_font_t
return hb_ot_layout_from_face (font->face)->gpos->position_lookup (&c, lookup_index);
}
void
hb_ot_layout_position_finish (hb_font_t *font, hb_buffer_t *buffer, hb_bool_t zero_width_attached_marks)
{
GPOS::position_finish (font, buffer, zero_width_attached_marks);
}
+
+template int SortedArrayOf<Record<LangSys> >::search<unsigned int>(unsigned int const &) const;
+template int SortedArrayOf<Record<Script> >::search<unsigned int>(unsigned int const &) const;
+template int SortedArrayOf<IntType<unsigned short> >::search<unsigned int>(unsigned int const &) const;

View File

@ -24,7 +24,7 @@ diff --git a/content/base/src/nsContentUtils.cpp b/content/base/src/nsContentUti
#include "mozilla/Base64.h"
#include "mozilla/Preferences.h"
#include "nsDOMMutationObserver.h"
@@ -6511,26 +6514,23 @@ nsContentUtils::FindInternalContentViewe
@@ -6580,26 +6583,23 @@ nsContentUtils::FindInternalContentViewe
}
return docFactory.forget();
}
@ -43,7 +43,7 @@ diff --git a/content/base/src/nsContentUtils.cpp b/content/base/src/nsContentUti
- }
- return docFactory.forget();
+ if (nsHTMLMediaElement::IsGStreamerEnabled()) {
+ if (nsGStreamerDecoder::CanHandleMediaType(aType, NULL)) {
+ if (nsGStreamerDecoder::CanHandleMediaType(aType, nullptr)) {
+ docFactory = do_GetService("@mozilla.org/content/document-loader-factory;1");
+ if (docFactory && aLoaderType) {
+ *aLoaderType = TYPE_CONTENT;
@ -52,15 +52,15 @@ diff --git a/content/base/src/nsContentUtils.cpp b/content/base/src/nsContentUti
}
}
#endif
#endif // MOZ_MEDIA
return NULL;
}
#ifdef MOZ_MEDIA_PLUGINS
if (nsHTMLMediaElement::IsMediaPluginsEnabled() &&
nsHTMLMediaElement::IsMediaPluginsType(nsDependentCString(aType))) {
docFactory = do_GetService("@mozilla.org/content/document-loader-factory;1");
diff --git a/content/html/content/public/nsHTMLMediaElement.h b/content/html/content/public/nsHTMLMediaElement.h
--- a/content/html/content/public/nsHTMLMediaElement.h
+++ b/content/html/content/public/nsHTMLMediaElement.h
@@ -250,17 +250,19 @@ public:
@@ -256,17 +256,19 @@ public:
void UpdateMediaSize(nsIntSize size);
// Returns the CanPlayStatus indicating if we can handle this
@ -81,18 +81,18 @@ diff --git a/content/html/content/public/nsHTMLMediaElement.h b/content/html/con
// Returns true if we should handle this MIME type when it appears
// as an <object> or as a toplevel page. If, in practice, our support
// for the type is more limited than appears in the wild, we should return
@@ -290,20 +292,17 @@ public:
@@ -296,20 +298,17 @@ public:
#ifdef MOZ_WEBM
static bool IsWebMEnabled();
static bool IsWebMType(const nsACString& aType);
static const char gWebMTypes[2][17];
static const char gWebMTypes[2][11];
static char const *const gWebMCodecs[4];
#endif
#ifdef MOZ_GSTREAMER
- static bool IsH264Enabled();
- static bool IsH264Type(const nsACString& aType);
- static const char gH264Types[3][17];
- static const char gH264Types[3][16];
- static char const *const gH264Codecs[7];
+ static bool IsGStreamerEnabled();
#endif
@ -106,7 +106,7 @@ diff --git a/content/html/content/public/nsHTMLMediaElement.h b/content/html/con
diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/content/src/nsHTMLMediaElement.cpp
--- a/content/html/content/src/nsHTMLMediaElement.cpp
+++ b/content/html/content/src/nsHTMLMediaElement.cpp
@@ -2070,68 +2070,40 @@ nsHTMLMediaElement::IsWebMType(const nsA
@@ -2112,52 +2112,20 @@ nsHTMLMediaElement::IsWebMType(const nsA
}
}
@ -115,7 +115,7 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
#endif
#ifdef MOZ_GSTREAMER
-const char nsHTMLMediaElement::gH264Types[3][17] = {
-const char nsHTMLMediaElement::gH264Types[3][16] = {
- "video/mp4",
- "video/3gpp",
- "video/quicktime",
@ -128,7 +128,7 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
- "avc1.4D401E",
- "avc1.64001E",
- "mp4a.40.2",
- nsnull
- nullptr
-};
-
bool
@ -145,7 +145,7 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
- return false;
- }
-
- for (PRUint32 i = 0; i < ArrayLength(gH264Types); ++i) {
- for (uint32_t i = 0; i < ArrayLength(gH264Types); ++i) {
- if (aType.EqualsASCII(gH264Types[i])) {
- return true;
- }
@ -161,6 +161,9 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
nsHTMLMediaElement::IsMediaPluginsEnabled()
{
return Preferences::GetBool("media.plugins.enabled");
@@ -2180,18 +2148,22 @@ nsHTMLMediaElement::IsMediaPluginsType(c
}
return false;
}
#endif
@ -182,7 +185,7 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
#endif
#ifdef MOZ_OGG
if (IsOggType(nsDependentCString(aMIMEType))) {
@@ -2148,20 +2120,22 @@ nsHTMLMediaElement::CanHandleMediaType(c
@@ -2208,20 +2180,22 @@ nsHTMLMediaElement::CanHandleMediaType(c
#ifdef MOZ_WEBM
if (IsWebMType(nsDependentCString(aMIMEType))) {
*aCodecList = gWebMCodecs;
@ -198,18 +201,18 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
+ if (aCheckCodecList)
+ *aCheckCodecList = false;
+ if (aCodecList)
+ *aCodecList = NULL;
+ *aCodecList = nullptr;
+ if (nsGStreamerDecoder::CanHandleMediaType(aMIMEType, aCodecs))
+ return CANPLAY_YES;
#endif
#ifdef MOZ_MEDIA_PLUGINS
if (GetMediaPluginHost()->FindDecoder(nsDependentCString(aMIMEType), aCodecList))
if (IsMediaPluginsEnabled() && GetMediaPluginHost()->FindDecoder(nsDependentCString(aMIMEType), aCodecList))
return CANPLAY_MAYBE;
#endif
return CANPLAY_NO;
}
@@ -2176,17 +2150,17 @@ bool nsHTMLMediaElement::ShouldHandleMed
@@ -2236,17 +2210,17 @@ bool nsHTMLMediaElement::ShouldHandleMed
if (IsOggType(nsDependentCString(aMIMEType)))
return true;
#endif
@ -219,16 +222,16 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
#endif
#ifdef MOZ_GSTREAMER
- if (IsH264Type(nsDependentCString(aMIMEType)))
+ if (nsGStreamerDecoder::CanHandleMediaType(aMIMEType, NULL))
+ if (nsGStreamerDecoder::CanHandleMediaType(aMIMEType, nullptr))
return true;
#endif
#ifdef MOZ_MEDIA_PLUGINS
if (GetMediaPluginHost()->FindDecoder(nsDependentCString(aMIMEType), NULL))
if (IsMediaPluginsEnabled() && GetMediaPluginHost()->FindDecoder(nsDependentCString(aMIMEType), NULL))
return true;
#endif
// We should not return true for Wave types, since there are some
// Wave codecs actually in use in the wild that we don't support, and
@@ -2212,26 +2186,31 @@ nsHTMLMediaElement::GetCanPlay(const nsA
@@ -2272,26 +2246,31 @@ nsHTMLMediaElement::GetCanPlay(const nsA
{
nsContentTypeParser parser(aType);
nsAutoString mimeType;
@ -265,7 +268,7 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
// of the 'codecs' parameter
nsCharSeparatedTokenizer tokenizer(codecs, ',');
bool expectMoreTokens = false;
@@ -2309,17 +2288,19 @@ nsHTMLMediaElement::CreateDecoder(const
@@ -2369,17 +2348,19 @@ nsHTMLMediaElement::CreateDecoder(const
nsRefPtr<nsWebMDecoder> decoder = new nsWebMDecoder();
if (decoder->Init(this)) {
return decoder.forget();
@ -284,12 +287,12 @@ diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/cont
}
}
#endif
return nsnull;
return nullptr;
}
diff --git a/content/media/gstreamer/Makefile.in b/content/media/gstreamer/Makefile.in
--- a/content/media/gstreamer/Makefile.in
+++ b/content/media/gstreamer/Makefile.in
@@ -16,16 +16,17 @@ LIBXUL_LIBRARY = 1
@@ -17,16 +17,17 @@ LIBXUL_LIBRARY = 1
EXPORTS += \
nsGStreamerDecoder.h \
@ -545,7 +548,7 @@ new file mode 100644
diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
--- a/modules/libpref/src/init/all.js
+++ b/modules/libpref/src/init/all.js
@@ -159,17 +159,17 @@ pref("media.opus.enabled", true);
@@ -165,17 +165,17 @@ pref("media.opus.enabled", true);
#endif
#ifdef MOZ_WAVE
pref("media.wave.enabled", true);
@ -557,10 +560,10 @@ diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
-pref("media.h264.enabled", true);
+pref("media.gstreamer.enabled", true);
#endif
// Whether to autostart a media element with an |autoplay| attribute
pref("media.autoplay.enabled", true);
// 0 = Off, 1 = Full, 2 = Tagged Images Only.
// See eCMSMode in gfx/thebes/gfxPlatform.h
#ifdef MOZ_WEBRTC
pref("media.navigator.enabled", false);
#else
#ifdef ANDROID
pref("media.navigator.enabled", true);
#endif
#endif

View File

@ -45,7 +45,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
#include "prefapi.h"
#include "prefread.h"
#include "prefapi_private_data.h"
@@ -907,16 +908,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
@@ -896,16 +897,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@ -80,7 +80,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
return NS_OK;
bool hasMore;
@@ -932,17 +951,17 @@ static nsresult pref_LoadPrefsInDirList(
@@ -921,17 +940,17 @@ static nsresult pref_LoadPrefsInDirList(
nsCAutoString leaf;
path->GetNativeLeafName(leaf);
@ -89,7 +89,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
if (Substring(leaf, leaf.Length() - 4).Equals(NS_LITERAL_CSTRING(".xpi")))
ReadExtensionPrefs(path);
else
- pref_LoadPrefsInDir(path, nsnull, 0);
- pref_LoadPrefsInDir(path, nullptr, 0);
+ pref_LoadPrefsInDir(path, specialFiles, NS_ARRAY_LENGTH(specialFiles));
}
return NS_OK;
@ -99,7 +99,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
@@ -1036,28 +1055,40 @@ static nsresult pref_InitInitialObjects(
@@ -1025,28 +1044,40 @@ static nsresult pref_InitInitialObjects(
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@ -198,12 +198,12 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
+ nsKDEUtils::command( command );
+ } else {
+ // begin non-KDE block
PRInt32 alertInterval = 2000;
int32_t alertInterval = 2000;
if (pref)
pref->GetIntPref(PREF_BDM_SHOWALERTINTERVAL, &alertInterval);
PRInt64 alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
PRInt64 goat = PR_Now() - mStartTime;
int64_t alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
@@ -2266,19 +2279,20 @@ nsDownload::SetState(DownloadState aStat
@ -2068,8 +2068,7 @@ new file mode 100644
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -12,16 +12,18 @@
#include "nsArrayUtils.h"
@@ -13,16 +13,19 @@
#include "prnetdb.h"
#include "prenv.h"
#include "nsPrintfCString.h"
@ -2077,24 +2076,26 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
#include "nsISupportsPrimitives.h"
#include "nsIGSettingsService.h"
#include "nsInterfaceHashtable.h"
#include "mozilla/Attributes.h"
+#include "nsVoidArray.h"
+#include "nsKDEUtils.h"
+
class nsUnixSystemProxySettings : public nsISystemProxySettings {
class nsUnixSystemProxySettings MOZ_FINAL : public nsISystemProxySettings {
public:
NS_DECL_ISUPPORTS
NS_DECL_NSISYSTEMPROXYSETTINGS
nsUnixSystemProxySettings() {}
nsresult Init();
@@ -33,16 +35,17 @@ private:
@@ -34,16 +37,17 @@ private:
nsCOMPtr<nsIGSettingsService> mGSettings;
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings;
bool IsProxyMode(const char* aMode);
nsresult SetProxyResultFromGConf(const char* aKeyBase, const char* aType, nsACString& aResult);
nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult);
nsresult GetProxyFromGSettings(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult);
nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, int32_t aPort, nsACString& aResult);
nsresult GetProxyFromGSettings(const nsACString& aScheme, const nsACString& aHost, int32_t aPort, nsACString& aResult);
nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult);
+ nsresult GetProxyFromKDE(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult);
};
@ -2105,12 +2106,12 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
nsUnixSystemProxySettings::Init()
{
// If this is a GNOME session, load gconf and try to use its preferences.
@@ -495,16 +498,19 @@ nsUnixSystemProxySettings::GetProxyForUR
@@ -496,16 +500,19 @@ nsUnixSystemProxySettings::GetProxyForUR
nsCAutoString host;
rv = aURI->GetHost(host);
NS_ENSURE_SUCCESS(rv, rv);
PRInt32 port;
int32_t port;
rv = aURI->GetPort(&port);
NS_ENSURE_SUCCESS(rv, rv);
@ -2125,7 +2126,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
if (mGConf)
return GetProxyFromGConf(scheme, host, port, aResult);
@@ -530,8 +536,34 @@ static const mozilla::Module::ContractID
@@ -531,8 +538,34 @@ static const mozilla::Module::ContractID
static const mozilla::Module kUnixProxyModule = {
mozilla::Module::kVersion,
@ -2187,43 +2188,11 @@ diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644
--- /dev/null
+++ b/toolkit/xre/nsKDEUtils.cpp
@@ -0,0 +1,373 @@
@@ -0,0 +1,341 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Unix Native App Support.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2007
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsKDEUtils.h"
+#include "nsIWidget.h"
@ -2565,44 +2534,11 @@ diff --git a/toolkit/xre/nsKDEUtils.h b/toolkit/xre/nsKDEUtils.h
new file mode 100644
--- /dev/null
+++ b/toolkit/xre/nsKDEUtils.h
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 1998
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef nsKDEUtils_h__
+#define nsKDEUtils_h__
@ -2675,44 +2611,11 @@ diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandl
new file mode 100644
--- /dev/null
+++ b/uriloader/exthandler/unix/nsCommonRegistry.cpp
@@ -0,0 +1,87 @@
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the GNOME helper app implementation.
+ *
+ * The Initial Developer of the Original Code is
+ * IBM Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Brian Ryner <bryner@brianryner.com> (Original Author)
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsCommonRegistry.h"
+
@ -2767,43 +2670,10 @@ diff --git a/uriloader/exthandler/unix/nsCommonRegistry.h b/uriloader/exthandler
new file mode 100644
--- /dev/null
+++ b/uriloader/exthandler/unix/nsCommonRegistry.h
@@ -0,0 +1,56 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the GNOME helper app implementation.
+ *
+ * The Initial Developer of the Original Code is
+ * IBM Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Brian Ryner <bryner@brianryner.com> (Original Author)
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
@@ -0,0 +1,23 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsIURI.h"
+#include "nsCOMPtr.h"
@ -2828,44 +2698,11 @@ diff --git a/uriloader/exthandler/unix/nsKDERegistry.cpp b/uriloader/exthandler/
new file mode 100644
--- /dev/null
+++ b/uriloader/exthandler/unix/nsKDERegistry.cpp
@@ -0,0 +1,119 @@
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the GNOME helper app implementation.
+ *
+ * The Initial Developer of the Original Code is
+ * IBM Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Brian Ryner <bryner@brianryner.com> (Original Author)
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsKDERegistry.h"
+#include "prlink.h"
@ -2936,7 +2773,7 @@ new file mode 100644
+ {
+ nsCString mimetype = output[ 0 ];
+ nsRefPtr<nsMIMEInfoUnix> mimeInfo = new nsMIMEInfoUnix( mimetype );
+ NS_ENSURE_TRUE(mimeInfo, nsnull);
+ NS_ENSURE_TRUE(mimeInfo, nullptr);
+ nsCString description = output[ 1 ];
+ mimeInfo->SetDescription(NS_ConvertUTF8toUTF16(description));
+ nsCString handlerAppName = output[ 2 ];
@ -2946,49 +2783,16 @@ new file mode 100644
+ NS_ADDREF((retval = mimeInfo));
+ return retval;
+ }
+ return nsnull;
+ return nullptr;
+}
diff --git a/uriloader/exthandler/unix/nsKDERegistry.h b/uriloader/exthandler/unix/nsKDERegistry.h
new file mode 100644
--- /dev/null
+++ b/uriloader/exthandler/unix/nsKDERegistry.h
@@ -0,0 +1,62 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the GNOME helper app implementation.
+ *
+ * The Initial Developer of the Original Code is
+ * IBM Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Brian Ryner <bryner@brianryner.com> (Original Author)
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
@@ -0,0 +1,29 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsIURI.h"
+#include "nsCOMPtr.h"
@ -3049,11 +2853,11 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
#if (MOZ_PLATFORM_MAEMO == 5) && defined (MOZ_ENABLE_GNOMEVFS)
if (NS_FAILED(rv)){
HildonURIAction *action = hildon_uri_get_default_action(mSchemeOrType.get(), nsnull);
HildonURIAction *action = hildon_uri_get_default_action(mSchemeOrType.get(), nullptr);
if (action) {
nsCAutoString spec;
aURI->GetAsciiSpec(spec);
if (hildon_uri_open(spec.get(), action, nsnull))
if (hildon_uri_open(spec.get(), action, nullptr))
@@ -61,22 +64,22 @@ nsMIMEInfoUnix::LoadUriInternal(nsIURI *
return rv;
@ -3207,7 +3011,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
majorType,
@@ -1391,17 +1391,17 @@ nsOSHelperAppService::GetFromType(const
#ifdef MOZ_WIDGET_GTK2
nsMIMEInfoBase *gnomeInfo = nsnull;
nsMIMEInfoBase *gnomeInfo = nullptr;
if (handler.IsEmpty()) {
// No useful data yet. Check the GNOME registry. Unfortunately, newer
// GNOME versions no longer have type-to-extension mappings, so we might
@ -3227,7 +3031,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
--- a/widget/gtk2/Makefile.in
+++ b/widget/gtk2/Makefile.in
@@ -105,11 +105,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME='
@@ -104,11 +104,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME='
INCLUDES += \
-I$(srcdir)/../xpwidgets \
@ -3281,7 +3085,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
using namespace mozilla;
#define MAX_PREVIEW_SIZE 180
@@ -252,17 +254,19 @@ nsFilePicker::AppendFilters(PRInt32 aFil
@@ -264,17 +266,19 @@ nsFilePicker::AppendFilters(int32_t aFil
return nsBaseFilePicker::AppendFilters(aFilterMask);
}
@ -3302,34 +3106,34 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
mFilters.AppendElement(filter);
mFilterNames.AppendElement(name);
@@ -357,16 +361,19 @@ nsFilePicker::GetFiles(nsISimpleEnumerat
@@ -369,16 +373,19 @@ nsFilePicker::GetFiles(nsISimpleEnumerat
return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsFilePicker::Show(PRInt16 *aReturn)
nsFilePicker::Show(int16_t *aReturn)
{
NS_ENSURE_ARG_POINTER(aReturn);
+ if( nsKDEUtils::kdeSupport())
+ return kdeFileDialog(aReturn);
+
nsXPIDLCString title;
title.Adopt(ToNewUTF8String(mTitle));
nsresult rv = Open(nullptr);
if (NS_FAILED(rv))
return rv;
GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget);
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
? GTK_STOCK_SAVE : GTK_STOCK_OPEN;
@@ -505,8 +512,234 @@ nsFilePicker::Show(PRInt16 *aReturn)
*aReturn = nsIFilePicker::returnCancel;
break;
while (mRunning) {
g_main_context_iteration(nullptr, TRUE);
}
gtk_widget_destroy(file_chooser);
return NS_OK;
@@ -587,8 +594,235 @@ nsFilePicker::Done(GtkWidget* file_choos
if (mCallback) {
mCallback->Done(result);
mCallback = nullptr;
} else {
mResult = result;
}
NS_RELEASE_THIS();
}
+
+nsCString nsFilePicker::kdeMakeFilter( int index )
@ -3557,10 +3361,11 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
+ }
+ return NS_OK;
+ }
+
diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
--- a/widget/gtk2/nsFilePicker.h
+++ b/widget/gtk2/nsFilePicker.h
@@ -57,11 +57,17 @@ protected:
@@ -67,11 +67,17 @@ protected:
nsString mDefault;
nsString mDefaultExtension;
@ -3835,7 +3640,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return NS_ERROR_FAILURE;
@@ -1823,16 +1831,23 @@ nsLocalFile::Launch()
if (nsnull == connection)
if (nullptr == connection)
return NS_ERROR_FAILURE;
if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS)

View File

@ -1,12 +1,12 @@
# HG changeset patch
# User Petr Cerny <pcerny@novell.com>
# Parent 4f5fe2278cd5cff898ad762457312f60a7e82a67
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
Bug 634334 - call to the ntlm_auth helper fails
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
--- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -168,17 +168,17 @@ static PRUint8* ExtractMessage(const nsA
@@ -168,17 +168,17 @@ static uint8_t* ExtractMessage(const nsA
nsresult
nsAuthSambaNTLM::SpawnNTLMAuthHelper()
{
@ -20,7 +20,7 @@ diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNT
"--helper-protocol", "ntlmssp-client-1",
"--use-cached-creds",
"--username", username,
nsnull
nullptr
};
bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID, &mFromChildFD, &mToChildFD);

View File

@ -4,15 +4,15 @@ Subject: introduce a pref to prefer certain plugins for mime-types
diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -1561,17 +1561,45 @@ nsPluginHost::FindPluginForType(const ch
bool aCheckEnabled)
{
@@ -1588,17 +1588,51 @@ nsPluginHost::FindPluginForType(const ch
if (!aMimeType) {
return nsnull;
return nullptr;
}
LoadPlugins();
InfallibleTArray<nsPluginTag*> matchingPlugins;
+ char *preferredPluginPath = NULL;
+ nsCAutoString mimetypePrefString ("modules.plugins.mimetype.");
+ mimetypePrefString.Append(aMimeType);
@ -23,30 +23,36 @@ diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.c
nsPluginTag *plugin = mPlugins;
+
+ if(preferredPluginPath) {
+ while (nsnull != plugin) {
+ if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) ||
+ 0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) {
+ return plugin;
+ while (plugin) {
+ if (!aCheckEnabled || plugin->IsEnabled()) {
+ if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) ||
+ 0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) {
+ matchingPlugins.AppendElement(plugin);
+ }
+ }
+ plugin = plugin->mNext;
+ }
+
+ // now lets search for substrings
+ plugin = mPlugins;
+ while (nsnull != plugin) {
+ if (nsnull != PL_strstr(plugin->mFileName.get(), preferredPluginPath) ||
+ nsnull != PL_strstr(plugin->mFullPath.get(), preferredPluginPath)) {
+ return plugin;
+ while (plugin) {
+ if (!aCheckEnabled || plugin->IsEnabled()) {
+ if (nullptr != PL_strstr(plugin->mFileName.get(), preferredPluginPath) ||
+ nullptr != PL_strstr(plugin->mFullPath.get(), preferredPluginPath)) {
+ matchingPlugins.AppendElement(plugin);
+ }
+ }
+ plugin = plugin->mNext;
+ }
+
+ return FindPreferredPlugin(matchingPlugins);
+ }
+
while (plugin) {
if (!aCheckEnabled || plugin->IsEnabled()) {
PRInt32 mimeCount = plugin->mMimeTypes.Length();
for (PRInt32 i = 0; i < mimeCount; i++) {
int32_t mimeCount = plugin->mMimeTypes.Length();
for (int32_t i = 0; i < mimeCount; i++) {
if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) {
return plugin;
matchingPlugins.AppendElement(plugin);
break;
}
}

View File

@ -4,34 +4,10 @@ Subject: use libnsssharedhelper if available at compile time
(can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
References:
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -540,16 +540,20 @@ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNO
MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
MOZ_ALSA_CFLAGS = @MOZ_ALSA_CFLAGS@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@
+MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@
+NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@
+NSSHELPER_LIBS = @NSSHELPER_LIBS@
+
MOZ_NATIVE_MAKEDEPEND = @MOZ_NATIVE_MAKEDEPEND@
CL_INCLUDES_PREFIX = @CL_INCLUDES_PREFIX@
MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@
COMPILER_DEPEND = @COMPILER_DEPEND@
MDDEPDIR := @MDDEPDIR@
CC_WRAPPER = @CC_WRAPPER@
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -8052,16 +8052,31 @@ AC_SUBST(QCMS_LIBS)
@@ -7987,16 +7987,31 @@ AC_SUBST(QCMS_LIBS)
dnl ========================================================
dnl HarfBuzz
@ -107,7 +83,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
#include "nsNetUtil.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsDirectoryService.h"
@@ -1740,18 +1747,34 @@ nsNSSComponent::InitializeNSS(bool showW
@@ -1731,18 +1738,34 @@ nsNSSComponent::InitializeNSS(bool showW
ConfigureInternalPKCS11Token();
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
@ -115,7 +91,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
// later. It also allows us to work around a bug in the system NSS in
// Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as
// "/usr/lib/nss/libnssckbi.so".
PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
uint32_t init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
- SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "",
- SECMOD_DB, init_flags);
+ SECStatus init_rv = SECFailure;
@ -147,7 +123,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
--- a/toolkit/library/Makefile.in
+++ b/toolkit/library/Makefile.in
@@ -441,17 +441,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
@@ -443,17 +443,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
endif
endif
endif

View File

@ -1,2 +1,2 @@
REV=e0c8343d2809
REV=0af23f8db35d
REPO=http://hg.mozilla.org/releases/mozilla-release