forked from pool/MozillaFirefox
Accepting request 400713 from mozilla:Factory
- update to Firefox 47.0 (boo#983549) * Enable VP9 video codec for users with fast machines * Embedded YouTube videos now play with HTML5 video if Flash is not installed * View and search open tabs from your smartphone or another computer in a sidebar * Allow no-cache on back/forward navigations for https resources security fixes: * MFSA 2016-49/CVE-2016-2815/CVE-2016-2818 (boo#983638) (bmo#1241896, bmo#1242798, bmo#1243466, bmo#1245743, bmo#1264300, bmo#1271037, bmo#1234147, bmo#1256493, bmo#1256739, bmo#1256968, bmo#1261230, bmo#1261752, bmo#1263384, bmo#1264575, bmo#1265577, bmo#1267130, bmo#1269729, bmo#1273202, bmo#1273701) Miscellaneous memory safety hazards (rv:47.0 / rv:45.2) * MFSA 2016-50/CVE-2016-2819 (boo#983655) (bmo#1270381) Buffer overflow parsing HTML5 fragments * MFSA 2016-51/CVE-2016-2821 (bsc#983653) (bmo#1271460) Use-after-free deleting tables from a contenteditable document * MFSA 2016-52/CVE-2016-2822 (boo#983652) (bmo#1273129) Addressbar spoofing though the SELECT element * MFSA 2016-53/CVE-2016-2824 (boo#983651) (bmo#1248580) Out-of-bounds write with WebGL shader * MFSA 2016-54/CVE-2016-2825 (boo#983649) (bmo#1193093) Partial same-origin-policy through setting location.host through data URI * MFSA 2016-56/CVE-2016-2828 (boo#983646) (bmo#1223810) Use-after-free when textures are used in WebGL operations after recycle pool destruction OBS-URL: https://build.opensuse.org/request/show/400713 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=237
This commit is contained in:
commit
011d6fac17
@ -1,3 +1,57 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 7 19:47:25 UTC 2016 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 47.0 (boo#983549)
|
||||
* Enable VP9 video codec for users with fast machines
|
||||
* Embedded YouTube videos now play with HTML5 video if Flash is
|
||||
not installed
|
||||
* View and search open tabs from your smartphone or another
|
||||
computer in a sidebar
|
||||
* Allow no-cache on back/forward navigations for https resources
|
||||
security fixes:
|
||||
* MFSA 2016-49/CVE-2016-2815/CVE-2016-2818
|
||||
(boo#983638)
|
||||
(bmo#1241896, bmo#1242798, bmo#1243466, bmo#1245743,
|
||||
bmo#1264300, bmo#1271037, bmo#1234147, bmo#1256493,
|
||||
bmo#1256739, bmo#1256968, bmo#1261230, bmo#1261752,
|
||||
bmo#1263384, bmo#1264575, bmo#1265577, bmo#1267130,
|
||||
bmo#1269729, bmo#1273202, bmo#1273701)
|
||||
Miscellaneous memory safety hazards (rv:47.0 / rv:45.2)
|
||||
* MFSA 2016-50/CVE-2016-2819 (boo#983655) (bmo#1270381)
|
||||
Buffer overflow parsing HTML5 fragments
|
||||
* MFSA 2016-51/CVE-2016-2821 (bsc#983653) (bmo#1271460)
|
||||
Use-after-free deleting tables from a contenteditable document
|
||||
* MFSA 2016-52/CVE-2016-2822 (boo#983652) (bmo#1273129)
|
||||
Addressbar spoofing though the SELECT element
|
||||
* MFSA 2016-53/CVE-2016-2824 (boo#983651) (bmo#1248580)
|
||||
Out-of-bounds write with WebGL shader
|
||||
* MFSA 2016-54/CVE-2016-2825 (boo#983649) (bmo#1193093)
|
||||
Partial same-origin-policy through setting location.host
|
||||
through data URI
|
||||
* MFSA 2016-56/CVE-2016-2828 (boo#983646) (bmo#1223810)
|
||||
Use-after-free when textures are used in WebGL operations
|
||||
after recycle pool destruction
|
||||
* MFSA 2016-57/CVE-2016-2829 (boo#983644) (bmo#1248329)
|
||||
Incorrect icon displayed on permissions notifications
|
||||
* MFSA 2016-58/CVE-2016-2831 (boo#983643) (bmo#1261933)
|
||||
Entering fullscreen and persistent pointerlock without user
|
||||
permission
|
||||
* MFSA 2016-59/CVE-2016-2832 (boo#983632) (bmo#1025267)
|
||||
Information disclosure of disabled plugins through CSS
|
||||
pseudo-classes
|
||||
* MFSA 2016-60/CVE-2016-2833 (boo#983640) (bmo#908933)
|
||||
Java applets bypass CSP protections
|
||||
* MFSA 2016-62/CVE-2016-2834 (boo#983639) (bmo#1206283,
|
||||
bmo#1221620, bmo#1241034, bmo#1241037)
|
||||
Network Security Services (NSS) vulnerabilities
|
||||
fixed by requiring NSS 3.23
|
||||
packaging changes:
|
||||
* cleanup configure options (boo#981695):
|
||||
- notably remove GStreamer support which is gone from FF
|
||||
* remove obsolete patches
|
||||
- mozilla-libproxy.patch
|
||||
- mozilla-repo.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 25 16:36:23 UTC 2016 - badshah400@gmail.com
|
||||
|
||||
|
@ -18,10 +18,10 @@
|
||||
|
||||
|
||||
# changed with every update
|
||||
%define major 46
|
||||
%define mainver %major.0.1
|
||||
%define major 47
|
||||
%define mainver %major.0
|
||||
%define update_channel release
|
||||
%define releasedate 2016050300
|
||||
%define releasedate 20160606000000
|
||||
|
||||
# PIE, full relro (x86_64 for now)
|
||||
%define build_hardened 1
|
||||
@ -44,12 +44,6 @@
|
||||
%define __find_requires sh %{SOURCE4}
|
||||
%global provfind sh -c "grep -v '.so' | %__find_provides"
|
||||
%global __find_provides %provfind
|
||||
%if 0%{?suse_version} > 1310
|
||||
%define gstreamer_ver 1.0
|
||||
%define gstreamer 1
|
||||
%else
|
||||
%define gstreamer_ver 0.10
|
||||
%endif
|
||||
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
|
||||
# please get your own set of keys.
|
||||
@ -81,7 +75,7 @@ BuildRequires: libnotify-devel
|
||||
BuildRequires: libproxy-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mozilla-nspr-devel >= 4.12
|
||||
BuildRequires: mozilla-nss-devel >= 3.22.3
|
||||
BuildRequires: mozilla-nss-devel >= 3.23
|
||||
BuildRequires: nss-shared-helper-devel
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: startup-notification-devel
|
||||
@ -90,9 +84,6 @@ BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
|
||||
BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver)
|
||||
BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
%if 0%{?firefox_use_gtk3}
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
@ -100,26 +91,11 @@ BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.4.0
|
||||
BuildRequires: pkgconfig(gtk+-unix-print-3.0)
|
||||
%endif
|
||||
# libavcodec is already used if available for H.264 but
|
||||
# explicitely loaded by FF. For proper H.264 support the
|
||||
# openSUSE delivered version is not sufficient but currently
|
||||
# prevents even the use of the GStreamer method
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1234157
|
||||
# to get H.264 working correctly libavcodec from packman
|
||||
# is required. As of today the following recommends will
|
||||
# pull in libavcodec52 from packman since it's the only
|
||||
# package providing libavcodec but it's not loaded from
|
||||
# Firefox as the minimal version is 53
|
||||
#Recommends: libavcodec
|
||||
%if 0%{?gstreamer} == 1
|
||||
Requires: libgstreamer-1_0-0
|
||||
Recommends: gstreamer-fluendo-mp3
|
||||
Recommends: gstreamer-plugins-libav
|
||||
%else
|
||||
Requires: libgstreamer-0_10-0
|
||||
Recommends: gstreamer-0_10-fluendo-mp3
|
||||
Recommends: gstreamer-0_10-plugins-ffmpeg
|
||||
%endif
|
||||
# libavcodec is required for H.264 support but the
|
||||
# openSUSE version is currently not able to play H.264
|
||||
# therefore the Packman version is required
|
||||
# minimum version of libavcodec is 53
|
||||
Recommends: libavcodec-full >= 0.10.16
|
||||
Version: %{mainver}
|
||||
Release: 0
|
||||
%if "%{name}" == "MozillaFirefox"
|
||||
@ -165,15 +141,13 @@ Patch3: mozilla-kde.patch
|
||||
Patch4: mozilla-preferences.patch
|
||||
Patch5: mozilla-language.patch
|
||||
Patch6: mozilla-ntlm-full-path.patch
|
||||
Patch7: mozilla-repo.patch
|
||||
Patch8: mozilla-openaes-decl.patch
|
||||
Patch10: mozilla-no-stdcxx-check.patch
|
||||
Patch11: mozilla-libproxy.patch
|
||||
Patch12: mozilla-reduce-files-per-UnifiedBindings.patch
|
||||
Patch13: mozilla-gtk3_20.patch
|
||||
Patch14: mozilla-check_return.patch
|
||||
Patch15: mozilla-gcc6.patch
|
||||
Patch16: mozilla-exclude-nametablecpp.patch
|
||||
Patch11: mozilla-reduce-files-per-UnifiedBindings.patch
|
||||
Patch12: mozilla-gtk3_20.patch
|
||||
Patch13: mozilla-check_return.patch
|
||||
Patch14: mozilla-gcc6.patch
|
||||
Patch15: mozilla-exclude-nametablecpp.patch
|
||||
# Firefox/browser
|
||||
Patch101: firefox-kde.patch
|
||||
Patch102: firefox-no-default-ualocale.patch
|
||||
@ -279,17 +253,15 @@ cd $RPM_BUILD_DIR/mozilla
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%if 0%{?firefox_use_gtk3}
|
||||
%patch13 -p1
|
||||
%patch12 -p1
|
||||
%endif
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
# Firefox
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
@ -308,7 +280,7 @@ if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||
exit 1
|
||||
fi
|
||||
source %{SOURCE5}
|
||||
export MOZ_SOURCE_STAMP=$REV
|
||||
export MOZ_SOURCE_CHANGESET=$REV
|
||||
export SOURCE_REPO=$REPO
|
||||
export source_repo=$REPO
|
||||
export MOZ_SOURCE_REPO=$REPO
|
||||
@ -325,13 +297,11 @@ export CFLAGS="${CFLAGS/-g / }"
|
||||
# Limit RAM usage during link
|
||||
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||
%endif
|
||||
|
||||
%if 0%{?build_hardened}
|
||||
%ifarch x86_64
|
||||
export LDFLAGS="${LDFLAGS} -Wl,-z,relro,-z,now"
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%ifarch ppc64 ppc64le
|
||||
export CFLAGS="$CFLAGS -mminimal-toc"
|
||||
%endif
|
||||
@ -362,8 +332,8 @@ ac_add_options --enable-pie
|
||||
ac_add_options --disable-optimize
|
||||
%endif
|
||||
%endif
|
||||
%ifnarch ppc ppc64 ppc64le aarch64
|
||||
ac_add_options --enable-elf-hack
|
||||
%ifarch ppc ppc64 ppc64le aarch64 %arm
|
||||
ac_add_options --disable-elf-hack
|
||||
%endif
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
@ -373,16 +343,12 @@ ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
|
||||
#ac_add_options --with-system-jpeg # libjpeg-turbo is used internally
|
||||
#ac_add_options --with-system-png # doesn't work because of missing APNG support
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --disable-installer
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --disable-tests
|
||||
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}
|
||||
%if 0%{?gstreamer} == 1
|
||||
ac_add_options --enable-gstreamer=1.0
|
||||
%endif
|
||||
%if %branding
|
||||
ac_add_options --enable-official-branding
|
||||
%endif
|
||||
@ -391,7 +357,6 @@ ac_add_options --enable-libproxy
|
||||
ac_add_options --disable-crashreporter
|
||||
%endif
|
||||
%ifarch %arm
|
||||
ac_add_options --disable-elf-hack
|
||||
ac_add_options --with-fpu=vfpv3-d16
|
||||
ac_add_options --with-float-abi=hard
|
||||
ac_add_options --with-arch=armv7-a
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2d9566f78b25b2af9028e7cfd2ada63ce5685ac8f80686751335dc2f5ddb7875
|
||||
size 28388
|
||||
oid sha256:c4152df4a9b9c731975f3805a2be896f2a5f5652f817564938867ee0aba6fbdc
|
||||
size 28352
|
||||
|
@ -7,8 +7,8 @@
|
||||
|
||||
CHANNEL="release"
|
||||
BRANCH="releases/mozilla-$CHANNEL"
|
||||
RELEASE_TAG="FIREFOX_46_0_1_RELEASE"
|
||||
VERSION="46.0.1"
|
||||
RELEASE_TAG="FIREFOX_47_0_RELEASE"
|
||||
VERSION="47.0"
|
||||
|
||||
# mozilla
|
||||
if [ -d mozilla ]; then
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:560ace25ca79f96377b4f0e3f52ca75d151555952051d7984442297391515ba9
|
||||
size 196701304
|
3
firefox-47.0-source.tar.xz
Normal file
3
firefox-47.0-source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7ccff7ad45fbce062caec6861ccdec4a819ce0491ffb49079cd11d3c774f5a5e
|
||||
size 197750616
|
@ -1,11 +1,11 @@
|
||||
# HG changeset patch
|
||||
# Parent fd5629206dcf3f64d85ab177be6bc6076f0f1619
|
||||
# Parent 4311c6bdf61ac317bc60b25cd89ff67662a75049
|
||||
|
||||
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/browser/base/content/browser-kde.xul
|
||||
@@ -0,0 +1,1175 @@
|
||||
@@ -0,0 +1,1160 @@
|
||||
+#filter substitution
|
||||
+<?xml version="1.0"?>
|
||||
+# -*- Mode: HTML -*-
|
||||
@ -77,6 +77,8 @@ new file mode 100644
|
||||
+
|
||||
+<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
|
||||
+
|
||||
+<script type="application/javascript" src="chrome://browser/content/downloads/downloads.js"/>
|
||||
+<script type="application/javascript" src="chrome://browser/content/downloads/indicator.js"/>
|
||||
+<script type="application/javascript" src="chrome://browser/content/places/editBookmarkOverlay.js"/>
|
||||
+
|
||||
+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
|
||||
@ -188,12 +190,6 @@ new file mode 100644
|
||||
+ <vbox>
|
||||
+ <label id="editBookmarkPanelTitle"/>
|
||||
+ <description id="editBookmarkPanelDescription"/>
|
||||
+ <hbox>
|
||||
+ <button id="editBookmarkPanelRemoveButton"
|
||||
+ class="editBookmarkPanelHeaderButton"
|
||||
+ oncommand="StarUI.removeBookmarkButtonCommand();"
|
||||
+ accesskey="&editBookmark.removeBookmark.accessKey;"/>
|
||||
+ </hbox>
|
||||
+ </vbox>
|
||||
+ </row>
|
||||
+ <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
|
||||
@ -204,15 +200,15 @@ new file mode 100644
|
||||
+ label="&editBookmark.done.label;"
|
||||
+ default="true"
|
||||
+ oncommand="StarUI.panel.hidePopup();"/>
|
||||
+ <button id="editBookmarkPanelDeleteButton"
|
||||
+ <button id="editBookmarkPanelRemoveButton"
|
||||
+ class="editBookmarkPanelBottomButton"
|
||||
+ label="&editBookmark.cancel.label;"
|
||||
+ oncommand="StarUI.cancelButtonOnCommand();"/>
|
||||
+ oncommand="StarUI.removeBookmarkButtonCommand();"
|
||||
+ accesskey="&editBookmark.removeBookmark.accessKey;"/>
|
||||
+#else
|
||||
+ <button id="editBookmarkPanelDeleteButton"
|
||||
+ <button id="editBookmarkPanelRemoveButton"
|
||||
+ class="editBookmarkPanelBottomButton"
|
||||
+ label="&editBookmark.cancel.label;"
|
||||
+ oncommand="StarUI.cancelButtonOnCommand();"/>
|
||||
+ oncommand="StarUI.removeBookmarkButtonCommand();"
|
||||
+ accesskey="&editBookmark.removeBookmark.accessKey;"/>
|
||||
+ <button id="editBookmarkPanelDoneButton"
|
||||
+ class="editBookmarkPanelBottomButton"
|
||||
+ label="&editBookmark.done.label;"
|
||||
@ -471,6 +467,46 @@ new file mode 100644
|
||||
+
|
||||
+ <tooltip id="dynamic-shortcut-tooltip"
|
||||
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
|
||||
+
|
||||
+ <menupopup id="SyncedTabsSidebarContext">
|
||||
+ <menuitem label="&syncedTabs.context.openTab.label;"
|
||||
+ accesskey="&syncedTabs.context.openTab.accesskey;"
|
||||
+ id="syncedTabsOpenSelected"/>
|
||||
+ <menuitem label="&syncedTabs.context.bookmarkSingleTab.label;"
|
||||
+ accesskey="&syncedTabs.context.bookmarkSingleTab.accesskey;"
|
||||
+ id="syncedTabsBookmarkSelected"/>
|
||||
+ <menuseparator/>
|
||||
+ <menuitem label="&syncSyncNowItem.label;"
|
||||
+ accesskey="&syncSyncNowItem.accesskey;"
|
||||
+ id="syncedTabsRefresh"/>
|
||||
+ </menupopup>
|
||||
+ <menupopup id="SyncedTabsSidebarTabsFilterContext"
|
||||
+ class="textbox-contextmenu">
|
||||
+ <menuitem label="&undoCmd.label;"
|
||||
+ accesskey="&undoCmd.accesskey;"
|
||||
+ cmd="cmd_undo"/>
|
||||
+ <menuseparator/>
|
||||
+ <menuitem label="&cutCmd.label;"
|
||||
+ accesskey="&cutCmd.accesskey;"
|
||||
+ cmd="cmd_cut"/>
|
||||
+ <menuitem label="©Cmd.label;"
|
||||
+ accesskey="©Cmd.accesskey;"
|
||||
+ cmd="cmd_copy"/>
|
||||
+ <menuitem label="&pasteCmd.label;"
|
||||
+ accesskey="&pasteCmd.accesskey;"
|
||||
+ cmd="cmd_paste"/>
|
||||
+ <menuitem label="&deleteCmd.label;"
|
||||
+ accesskey="&deleteCmd.accesskey;"
|
||||
+ cmd="cmd_delete"/>
|
||||
+ <menuseparator/>
|
||||
+ <menuitem label="&selectAllCmd.label;"
|
||||
+ accesskey="&selectAllCmd.accesskey;"
|
||||
+ cmd="cmd_selectAll"/>
|
||||
+ <menuseparator/>
|
||||
+ <menuitem label="&syncSyncNowItem.label;"
|
||||
+ accesskey="&syncSyncNowItem.accesskey;"
|
||||
+ id="syncedTabsRefreshFilter"/>
|
||||
+ </menupopup>
|
||||
+ </popupset>
|
||||
+
|
||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
||||
@ -667,10 +703,6 @@ new file mode 100644
|
||||
+ <box id="notification-popup-box" hidden="true" align="center">
|
||||
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"
|
||||
+ aria-label="&urlbar.defaultNotificationAnchor.label;"/>
|
||||
+ <!-- NB: the identity-notification-icon is used for persona-based auth and preffed
|
||||
+ off by default. It hasn't been updated for some time and liable to being
|
||||
+ removed.-->
|
||||
+ <image id="identity-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||
+ <image id="geo-notification-icon" class="notification-anchor-icon" role="button"
|
||||
+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
|
||||
+ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"
|
||||
@ -811,30 +843,6 @@ new file mode 100644
|
||||
+ command="Browser:ShowAllBookmarks"
|
||||
+ key="manBookmarkKb"/>
|
||||
+ <menuseparator/>
|
||||
+ <menuitem id="BMB_subscribeToPageMenuitem"
|
||||
+#ifndef XP_MACOSX
|
||||
+ class="menuitem-iconic subviewbutton"
|
||||
+#else
|
||||
+ class="subviewbutton"
|
||||
+#endif
|
||||
+ label="&subscribeToPageMenuitem.label;"
|
||||
+ oncommand="return FeedHandler.subscribeToFeed(null, event);"
|
||||
+ onclick="checkForMiddleClick(this, event);"
|
||||
+ observes="singleFeedMenuitemState"/>
|
||||
+ <menu id="BMB_subscribeToPageMenupopup"
|
||||
+#ifndef XP_MACOSX
|
||||
+ class="menu-iconic subviewbutton"
|
||||
+#else
|
||||
+ class="subviewbutton"
|
||||
+#endif
|
||||
+ label="&subscribeToPageMenupopup.label;"
|
||||
+ observes="multipleFeedsMenuState">
|
||||
+ <menupopup id="BMB_subscribeToPageSubmenuMenupopup"
|
||||
+ onpopupshowing="return FeedHandler.buildFeedList(event.target);"
|
||||
+ oncommand="return FeedHandler.subscribeToFeed(null, event);"
|
||||
+ onclick="checkForMiddleClick(this, event);"/>
|
||||
+ </menu>
|
||||
+ <menuseparator/>
|
||||
+ <menu id="BMB_bookmarksToolbar"
|
||||
+ class="menu-iconic bookmark-item subviewbutton"
|
||||
+ label="&personalbarCmd.label;"
|
||||
@ -1133,29 +1141,6 @@ new file mode 100644
|
||||
+
|
||||
+ <vbox id="browser-bottombox" layer="true">
|
||||
+ <notificationbox id="global-notificationbox" notificationside="bottom"/>
|
||||
+ <toolbar id="developer-toolbar"
|
||||
+ hidden="true">
|
||||
+#ifdef XP_MACOSX
|
||||
+ <toolbarbutton id="developer-toolbar-closebutton"
|
||||
+ class="devtools-closebutton"
|
||||
+ oncommand="DeveloperToolbar.hide();"
|
||||
+ tooltiptext="&devToolbarCloseButton.tooltiptext;"/>
|
||||
+#endif
|
||||
+ <stack class="gclitoolbar-stack-node" flex="1">
|
||||
+ <textbox class="gclitoolbar-input-node" rows="1"/>
|
||||
+ <hbox class="gclitoolbar-complete-node"/>
|
||||
+ </stack>
|
||||
+ <toolbarbutton id="developer-toolbar-toolbox-button"
|
||||
+ class="developer-toolbar-button"
|
||||
+ observes="devtoolsMenuBroadcaster_DevToolbox"
|
||||
+ tooltiptext="&devToolbarToolsButton.tooltip;"/>
|
||||
+#ifndef XP_MACOSX
|
||||
+ <toolbarbutton id="developer-toolbar-closebutton"
|
||||
+ class="devtools-closebutton"
|
||||
+ oncommand="DeveloperToolbar.hide();"
|
||||
+ tooltiptext="&devToolbarCloseButton.tooltiptext;"/>
|
||||
+#endif
|
||||
+ </toolbar>
|
||||
+ </vbox>
|
||||
+
|
||||
+ <svg:svg height="0">
|
||||
@ -1266,7 +1251,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
|
||||
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
|
||||
--- a/browser/components/preferences/in-content/main.js
|
||||
+++ b/browser/components/preferences/in-content/main.js
|
||||
@@ -19,16 +19,22 @@ var gMainPane = {
|
||||
@@ -23,16 +23,22 @@ var gMainPane = {
|
||||
init: function ()
|
||||
{
|
||||
function setEventListener(aId, aEventType, aCallback)
|
||||
@ -1287,12 +1272,12 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
|
||||
// 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. On other Windows OS's defaults can also
|
||||
// in case the default changes. On other Windows OS's defaults can also
|
||||
// be set while the prefs are open.
|
||||
@@ -704,16 +710,27 @@ var gMainPane = {
|
||||
*/
|
||||
setDefaultBrowser: function()
|
||||
{
|
||||
@@ -736,16 +742,27 @@ var gMainPane = {
|
||||
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
|
||||
alwaysCheckPref.value = true;
|
||||
|
||||
let shellSvc = getShellService();
|
||||
if (!shellSvc)
|
||||
return;
|
||||
@ -1300,10 +1285,10 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
|
||||
shellSvc.setDefaultBrowser(true, false);
|
||||
+ if (kde_session == 1) {
|
||||
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
|
||||
+ .createInstance(Components.interfaces.nsILocalFile);
|
||||
+ .createInstance(Components.interfaces.nsILocalFile);
|
||||
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
|
||||
+ var process = Components.classes["@mozilla.org/process/util;1"]
|
||||
+ .createInstance(Components.interfaces.nsIProcess);
|
||||
+ .createInstance(Components.interfaces.nsIProcess);
|
||||
+ process.init(shellObj);
|
||||
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
|
||||
+ "BrowserApplication", "firefox"];
|
||||
@ -1313,8 +1298,8 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
|
||||
Cu.reportError(ex);
|
||||
return;
|
||||
}
|
||||
let selectedIndex =
|
||||
shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
|
||||
|
||||
let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
|
||||
document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
|
||||
}
|
||||
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
|
||||
@ -1632,7 +1617,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
|
||||
@@ -703,16 +703,17 @@
|
||||
@@ -697,16 +697,17 @@
|
||||
@RESPATH@/greprefs.js
|
||||
@RESPATH@/defaults/autoconfig/prefcalls.js
|
||||
@RESPATH@/browser/defaults/permissions
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f49dd246eb8e4cc5180f37cdc658f77862a73957347f82980054d3195c5a6d06
|
||||
size 43719680
|
3
l10n-47.0.tar.xz
Normal file
3
l10n-47.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:19442f74115dfe49335c27ba6c52a0fdc6017349f836e776db3862d2a97b54c8
|
||||
size 43605724
|
@ -1,90 +1,92 @@
|
||||
ach 658769a76613
|
||||
ach 9a0c8e338b70
|
||||
af 431e02c10881
|
||||
an fe436c75f71d
|
||||
ar bbcf06888dc5
|
||||
as 8313f975ae77
|
||||
ast 0300b60cd340
|
||||
az fd96727d2a26
|
||||
az db362112cd4d
|
||||
be b72077740aac
|
||||
bg 9f7507dd2b92
|
||||
bn-BD fe0a6bb82a2d
|
||||
bn-BD 1dac94619464
|
||||
bn-IN a2ea6b87d80d
|
||||
br 95b028350e29
|
||||
br e4c45f737a88
|
||||
bs cfee6f5b1e50
|
||||
ca e8ca2d46b4a8
|
||||
cs ed6004b91b51
|
||||
cy 5bbcbba9b054
|
||||
da 324fe068c0b9
|
||||
de 217ff3f0054a
|
||||
dsb 7cdfb5d9dc5d
|
||||
ca 55814ed0a2ee
|
||||
cak 244b8a568146
|
||||
cs a98b5d34950d
|
||||
cy 02a8a09a2a24
|
||||
da 1976f45a00fb
|
||||
de 69c491b3e8dd
|
||||
dsb 60185ee5350d
|
||||
el 22b959c9a739
|
||||
en-GB 36012ab486ad
|
||||
en-ZA 1c91f05aae5a
|
||||
eo 049c1b065f4c
|
||||
es-AR b3647b1d5927
|
||||
es-CL e45186f983b9
|
||||
es-ES 6fe131a8b07f
|
||||
es-MX 4cd511663283
|
||||
en-GB ac4d309f11aa
|
||||
en-ZA 52a936eeeea1
|
||||
eo 9402e7dc1816
|
||||
es-AR d3e6fdb0980e
|
||||
es-CL 247114b95260
|
||||
es-ES 05251e5fad44
|
||||
es-MX 198b582408f2
|
||||
et ecae9df9c92a
|
||||
eu 1a65e2c03dda
|
||||
fa e5993d9fb76e
|
||||
eu 5b00fd411da4
|
||||
fa c64ea222eb3a
|
||||
ff 8373353b43c4
|
||||
fi b743718650bc
|
||||
fr 7d0bb8edc149
|
||||
fy-NL 02ee99ad3f83
|
||||
ga-IE 713ecb614f77
|
||||
gd e5b86736a5f9
|
||||
fi 485cd6730972
|
||||
fr 262385fe83a0
|
||||
fy-NL d133532b4a76
|
||||
ga-IE 2217b283ff59
|
||||
gd 664cfe62d15b
|
||||
gl c869caff337a
|
||||
gn 65b2894520b6
|
||||
gu-IN 6245b4309461
|
||||
he ee92b661d299
|
||||
he 2d122d643e0b
|
||||
hi-IN bba2a926e4f8
|
||||
hr 8502beb4ee68
|
||||
hsb c91a11523487
|
||||
hu 09bbddfef7ee
|
||||
hy-AM 3d7a9324fb25
|
||||
id cb8f841d30d2
|
||||
is 46c99105eb3b
|
||||
it 6063a6d94e13
|
||||
ja 5ff86cadfe9a
|
||||
ja-JP-mac ab760b3dcdd1
|
||||
kk 5a7bd05bf942
|
||||
hr 5e68406d5630
|
||||
hsb ed7044697b0a
|
||||
hu ea25586b7644
|
||||
hy-AM 723627d1c0a4
|
||||
id d84757c01f40
|
||||
is 0b19292ab8a3
|
||||
it 9ada32a4f24b
|
||||
ja 6374f9dd3854
|
||||
ja-JP-mac 28d0060377c0
|
||||
kk 58b2a6152124
|
||||
km 339790840ac1
|
||||
kn b23d8fbcf41a
|
||||
ko 5f303ed16778
|
||||
kn a7e2c93d27ad
|
||||
ko 4c2bafb385f3
|
||||
lij e9113fac3a93
|
||||
lt 628e96e62e44
|
||||
lv 063998fdecf8
|
||||
lt 64c104a758bf
|
||||
lv 918ea0cd0aca
|
||||
mai ce010a305377
|
||||
mk ffdf2a789185
|
||||
ml 1b85d75836cd
|
||||
mr 553ff31f4edd
|
||||
mr 943d62e6e06d
|
||||
ms 41bbf86ac0d9
|
||||
nb-NO 5e6e5710fac9
|
||||
nl ac486141ab40
|
||||
nn-NO be9e3eeb75fb
|
||||
nb-NO bee48c9ea2d4
|
||||
nl 3bdea753600d
|
||||
nn-NO 1deb8231f357
|
||||
or febd1b04dbfc
|
||||
pa-IN 6c5ed1be55fb
|
||||
pl 49e141118acb
|
||||
pt-BR cd1aef7b5045
|
||||
pt-PT 2e4fd2a1f98f
|
||||
rm 0a52db6a6117
|
||||
ro c6ac34be77b1
|
||||
ru 3f0b3c8e19a4
|
||||
pl c9e8c3b4977c
|
||||
pt-BR ba6e3510ab03
|
||||
pt-PT 89d85625e259
|
||||
rm 5c20929daf23
|
||||
ro b1baa279bda4
|
||||
ru 2248b98b11c2
|
||||
si 03a3b09a2203
|
||||
sk 3505a5f99bff
|
||||
sl 1e098ab8c27a
|
||||
sk b1a81bf66ed4
|
||||
sl 6079300745a1
|
||||
son 3ae9a4ff0453
|
||||
sq c24e570a4207
|
||||
sr 896d72a0fa21
|
||||
sv-SE ea1de38fe731
|
||||
sq bc47aefcea37
|
||||
sr 93d5749016bd
|
||||
sv-SE 711ed419239c
|
||||
ta f9dbc2cca1fb
|
||||
te 286ff9885ea2
|
||||
th d630f05d665f
|
||||
tr b751d2d9b6ee
|
||||
uk c5cdb9068667
|
||||
uz dc28cf99c5cf
|
||||
tr 4c05084f5ef2
|
||||
uk 6b23f6bb9dcb
|
||||
uz 1209fe62df1c
|
||||
vi 68ce305343a3
|
||||
xh f3eb8f92afe8
|
||||
zh-CN d73d448f89d6
|
||||
zh-TW 44c9950bb3e6
|
||||
xh 8466fb6c8797
|
||||
zh-CN bedbf795f45e
|
||||
zh-TW 8a8fcc28bce0
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# HG changeset patch
|
||||
# Parent 61cdc9af8ceaf75083e751e0d6497feddc26f7ba
|
||||
# Parent f2726ebfae7cdded8e7ca6030829b0a3fae4e438
|
||||
Description: Add KDE integration to Firefox (toolkit parts)
|
||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||
Author: Lubos Lunak <lunak@suse.com>
|
||||
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
#include "prefread.h"
|
||||
#include "prefapi_private_data.h"
|
||||
|
||||
@@ -1135,16 +1136,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
@@ -1138,16 +1139,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
|
||||
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
||||
{
|
||||
@ -62,7 +62,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
return NS_OK;
|
||||
|
||||
bool hasMore;
|
||||
@@ -1160,17 +1179,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
@@ -1163,17 +1182,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
|
||||
nsAutoCString leaf;
|
||||
path->GetNativeLeafName(leaf);
|
||||
@ -81,7 +81,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
{
|
||||
nsZipItemPtr<char> manifest(jarReader, name, true);
|
||||
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
|
||||
@@ -1264,24 +1283,36 @@ static nsresult pref_InitInitialObjects(
|
||||
@@ -1267,24 +1286,36 @@ 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)
|
||||
@ -325,7 +325,7 @@ new file mode 100644
|
||||
+ xmlns="http://www.mozilla.org/xbl"
|
||||
+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
+ xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
+
|
||||
+
|
||||
+ <binding id="dialog" extends="chrome://global/content/bindings/general.xml#root-element">
|
||||
+ <resources>
|
||||
+ <stylesheet src="chrome://global/skin/dialog.css"/>
|
||||
@ -334,10 +334,10 @@ new file mode 100644
|
||||
+ <xul:vbox class="box-inherit dialog-content-box" flex="1">
|
||||
+ <children/>
|
||||
+ </xul:vbox>
|
||||
+
|
||||
+
|
||||
+ <xul:hbox class="dialog-button-box" anonid="buttons"
|
||||
+ xbl:inherits="pack=buttonpack,align=buttonalign,dir=buttondir,orient=buttonorient"
|
||||
+#ifdef XP_UNIX_GNOME
|
||||
+#ifdef XP_UNIX
|
||||
+ >
|
||||
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
|
||||
@ -349,12 +349,12 @@ new file mode 100644
|
||||
+#elif XP_UNIX
|
||||
+ >
|
||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
+ <xul:spacer anonid="spacer" flex="1"/>
|
||||
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
||||
+ <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="cancel" class="dialog-button"/>
|
||||
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
+ <xul:spacer anonid="spacer" flex="1"/>
|
||||
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
||||
+ <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="cancel" class="dialog-button"/>
|
||||
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
|
||||
+#else
|
||||
+ pack="end">
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
@ -403,7 +403,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="cancelDialog">
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
@ -411,7 +411,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="getButton">
|
||||
+ <parameter name="aDlgType"/>
|
||||
+ <body>
|
||||
@ -462,7 +462,7 @@ new file mode 100644
|
||||
+ <![CDATA[
|
||||
+ var xOffset = screen.availWidth/2 - window.outerWidth/2;
|
||||
+ var yOffset = screen.availHeight/2 - window.outerHeight/2; //(opener.outerHeight *2)/10;
|
||||
+
|
||||
+
|
||||
+ xOffset = xOffset > 0 ? xOffset : 0;
|
||||
+ yOffset = yOffset > 0 ? yOffset : 0;
|
||||
+ window.moveTo(xOffset, yOffset);
|
||||
@ -534,7 +534,7 @@ new file mode 100644
|
||||
+ setTimeout(focusInit, 0);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+ </method>
|
||||
+
|
||||
+ <property name="mStrBundle">
|
||||
+ <getter>
|
||||
@ -549,7 +549,7 @@ new file mode 100644
|
||||
+ return this._mStrBundle;
|
||||
+ ]]></getter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <method name="_configureButtons">
|
||||
+ <parameter name="aButtons"/>
|
||||
+ <body>
|
||||
@ -621,7 +621,7 @@ new file mode 100644
|
||||
+
|
||||
+ // ensure that hitting enter triggers the default button command
|
||||
+ this.defaultButton = this.defaultButton;
|
||||
+
|
||||
+
|
||||
+ // if there is a special button configuration, use it
|
||||
+ if (aButtons) {
|
||||
+ // expect a comma delimited list of dlgtype values
|
||||
@ -634,7 +634,7 @@ new file mode 100644
|
||||
+ shown[list[i].replace(/ /g, "")] = true;
|
||||
+
|
||||
+ // hide/show the buttons we want
|
||||
+ for (dlgtype in buttons)
|
||||
+ for (dlgtype in buttons)
|
||||
+ buttons[dlgtype].hidden = !shown[dlgtype];
|
||||
+
|
||||
+ let { AppConstants } =
|
||||
@ -682,7 +682,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="_doButtonCommand">
|
||||
+ <parameter name="aDlgType"/>
|
||||
+ <body>
|
||||
@ -706,17 +706,17 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="_fireButtonEvent">
|
||||
+ <parameter name="aDlgType"/>
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent("dialog"+aDlgType, true, true);
|
||||
+
|
||||
+
|
||||
+ // handle dom event handlers
|
||||
+ var noCancel = this.dispatchEvent(event);
|
||||
+
|
||||
+
|
||||
+ // handle any xml attribute event handlers
|
||||
+ var handler = this.getAttribute("ondialog"+aDlgType);
|
||||
+ if (handler != "") {
|
||||
@ -725,7 +725,7 @@ new file mode 100644
|
||||
+ if (returned == false)
|
||||
+ noCancel = false;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ return noCancel;
|
||||
+ ]]>
|
||||
+ </body>
|
||||
@ -746,7 +746,7 @@ new file mode 100644
|
||||
+ </method>
|
||||
+
|
||||
+ </implementation>
|
||||
+
|
||||
+
|
||||
+ <handlers>
|
||||
+ <handler event="keypress" keycode="VK_RETURN"
|
||||
+ group="system" action="this._hitEnter(event);"/>
|
||||
@ -782,7 +782,7 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/toolkit/content/widgets/preferences-kde.xml
|
||||
@@ -0,0 +1,1406 @@
|
||||
@@ -0,0 +1,1408 @@
|
||||
+<?xml version="1.0"?>
|
||||
+
|
||||
+<!DOCTYPE bindings [
|
||||
@ -849,7 +849,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="fireChangedEvent">
|
||||
+ <parameter name="aPreference"/>
|
||||
+ <body>
|
||||
@ -866,7 +866,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <field name="service">
|
||||
+ Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ .getService(Components.interfaces.nsIPrefService);
|
||||
@ -916,11 +916,11 @@ new file mode 100644
|
||||
+ .addObserver(this.name, this.preferences, false);
|
||||
+ // In non-instant apply mode, we must try and use the last saved state
|
||||
+ // from any previous opens of a child dialog instead of the value from
|
||||
+ // preferences, to pick up any edits a user may have made.
|
||||
+ // preferences, to pick up any edits a user may have made.
|
||||
+
|
||||
+ var secMan = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
|
||||
+ .getService(Components.interfaces.nsIScriptSecurityManager);
|
||||
+ if (this.preferences.type == "child" &&
|
||||
+ if (this.preferences.type == "child" &&
|
||||
+ !this.instantApply && window.opener &&
|
||||
+ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
|
||||
+ var pdoc = window.opener.document;
|
||||
@ -961,13 +961,13 @@ new file mode 100644
|
||||
+ <setter>
|
||||
+ if (val == this.name)
|
||||
+ return val;
|
||||
+
|
||||
+
|
||||
+ this.preferences.rootBranchInternal
|
||||
+ .removeObserver(this.name, this.preferences);
|
||||
+ this.setAttribute('name', val);
|
||||
+ this.preferences.rootBranchInternal
|
||||
+ .addObserver(val, this.preferences, false);
|
||||
+
|
||||
+
|
||||
+ return val;
|
||||
+ </setter>
|
||||
+ </property>
|
||||
@ -994,20 +994,20 @@ new file mode 100644
|
||||
+ </body>
|
||||
+ </method>
|
||||
+ <property name="value" onget="return this._value" onset="return this._setValue(val);"/>
|
||||
+
|
||||
+
|
||||
+ <property name="locked">
|
||||
+ <getter>
|
||||
+ return this.preferences.rootBranch.prefIsLocked(this.name);
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <property name="disabled">
|
||||
+ <getter>
|
||||
+ return this.getAttribute("disabled") == "true";
|
||||
+ </getter>
|
||||
+ <setter>
|
||||
+ <![CDATA[
|
||||
+ if (val)
|
||||
+ if (val)
|
||||
+ this.setAttribute("disabled", "true");
|
||||
+ else
|
||||
+ this.removeAttribute("disabled");
|
||||
@ -1018,24 +1018,24 @@ new file mode 100644
|
||||
+ var elements = document.getElementsByAttribute("preference", this.id);
|
||||
+ for (var i = 0; i < elements.length; ++i) {
|
||||
+ elements[i].disabled = val;
|
||||
+
|
||||
+
|
||||
+ var labels = document.getElementsByAttribute("control", elements[i].id);
|
||||
+ for (var j = 0; j < labels.length; ++j)
|
||||
+ labels[j].disabled = val;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ return val;
|
||||
+ ]]>
|
||||
+ </setter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <property name="tabIndex">
|
||||
+ <getter>
|
||||
+ return parseInt(this.getAttribute("tabindex"));
|
||||
+ </getter>
|
||||
+ <setter>
|
||||
+ <![CDATA[
|
||||
+ if (val)
|
||||
+ if (val)
|
||||
+ this.setAttribute("tabindex", val);
|
||||
+ else
|
||||
+ this.removeAttribute("tabindex");
|
||||
@ -1046,12 +1046,12 @@ new file mode 100644
|
||||
+ var elements = document.getElementsByAttribute("preference", this.id);
|
||||
+ for (var i = 0; i < elements.length; ++i) {
|
||||
+ elements[i].tabIndex = val;
|
||||
+
|
||||
+
|
||||
+ var labels = document.getElementsByAttribute("control", elements[i].id);
|
||||
+ for (var j = 0; j < labels.length; ++j)
|
||||
+ labels[j].tabIndex = val;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ return val;
|
||||
+ ]]>
|
||||
+ </setter>
|
||||
@ -1065,7 +1065,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <method name="reset">
|
||||
+ <body>
|
||||
+ // defer reset until preference update
|
||||
@ -1073,7 +1073,7 @@ new file mode 100644
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+ <field name="_useDefault">false</field>
|
||||
+ <field name="_useDefault">false</field>
|
||||
+ <property name="defaultValue">
|
||||
+ <getter>
|
||||
+ <![CDATA[
|
||||
@ -1084,27 +1084,27 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <property name="_branch">
|
||||
+ <getter>
|
||||
+ return this._useDefault ? this.preferences.defaultBranch : this.preferences.rootBranch;
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <field name="batching">false</field>
|
||||
+
|
||||
+
|
||||
+ <method name="_reportUnknownType">
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ var consoleService = Components.classes["@mozilla.org/consoleservice;1"]
|
||||
+ .getService(Components.interfaces.nsIConsoleService);
|
||||
+ var msg = "<preference> with id='" + this.id + "' and name='" +
|
||||
+ var msg = "<preference> with id='" + this.id + "' and name='" +
|
||||
+ this.name + "' has unknown type '" + this.type + "'.";
|
||||
+ consoleService.logStringMessage(msg);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <property name="valueFromPreferences">
|
||||
+ <getter>
|
||||
+ <![CDATA[
|
||||
@ -1189,7 +1189,7 @@ new file mode 100644
|
||||
+ if (!lf.exists())
|
||||
+ lf.initWithPath(val);
|
||||
+ }
|
||||
+ else
|
||||
+ else
|
||||
+ lf = val.QueryInterface(Components.interfaces.nsILocalFile);
|
||||
+ this.preferences.rootBranch
|
||||
+ .setComplexValue(this.name, Components.interfaces.nsILocalFile, lf);
|
||||
@ -1203,7 +1203,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </setter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <method name="setElementValue">
|
||||
+ <parameter name="aElement"/>
|
||||
+ <body>
|
||||
@ -1220,7 +1220,7 @@ new file mode 100644
|
||||
+ try {
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent("syncfrompreference", true, true);
|
||||
+ var f = new Function ("event",
|
||||
+ var f = new Function ("event",
|
||||
+ aElement.getAttribute("onsyncfrompreference"));
|
||||
+ rv = f.call(aElement, event);
|
||||
+ }
|
||||
@ -1228,20 +1228,22 @@ new file mode 100644
|
||||
+ Components.utils.reportError(e);
|
||||
+ }
|
||||
+ }
|
||||
+ var val = rv !== undefined ? rv : (this.instantApply ? this.valueFromPreferences : this.value);
|
||||
+ var val = rv;
|
||||
+ if (val === undefined)
|
||||
+ val = this.instantApply ? this.valueFromPreferences : this.value;
|
||||
+ // if the preference is marked for reset, show default value in UI
|
||||
+ if (val === undefined)
|
||||
+ val = this.defaultValue;
|
||||
+
|
||||
+ /**
|
||||
+ * Initialize a UI element property with a value. Handles the case
|
||||
+ * Initialize a UI element property with a value. Handles the case
|
||||
+ * where an element has not yet had a XBL binding attached for it and
|
||||
+ * the property setter does not yet exist by setting the same attribute
|
||||
+ * on the XUL element using DOM apis and assuming the element's
|
||||
+ * constructor or property getters appropriately handle this state.
|
||||
+ * on the XUL element using DOM apis and assuming the element's
|
||||
+ * constructor or property getters appropriately handle this state.
|
||||
+ */
|
||||
+ function setValue(element, attribute, value) {
|
||||
+ if (attribute in element)
|
||||
+ if (attribute in element)
|
||||
+ element[attribute] = value;
|
||||
+ else
|
||||
+ element.setAttribute(attribute, value);
|
||||
@ -1273,19 +1275,19 @@ new file mode 100644
|
||||
+ try {
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent("synctopreference", true, true);
|
||||
+ var f = new Function ("event",
|
||||
+ var f = new Function ("event",
|
||||
+ aElement.getAttribute("onsynctopreference"));
|
||||
+ var rv = f.call(aElement, event);
|
||||
+ if (rv !== undefined)
|
||||
+ if (rv !== undefined)
|
||||
+ return rv;
|
||||
+ }
|
||||
+ catch (e) {
|
||||
+ Components.utils.reportError(e);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ /**
|
||||
+ * Read the value of an attribute from an element, assuming the
|
||||
+ * Read the value of an attribute from an element, assuming the
|
||||
+ * attribute is a property on the element's node API. If the property
|
||||
+ * is not present in the API, then assume its value is contained in
|
||||
+ * an attribute, as is the case before a binding has been attached.
|
||||
@ -1313,7 +1315,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="isElementEditable">
|
||||
+ <parameter name="aElement"/>
|
||||
+ <body>
|
||||
@ -1329,26 +1331,26 @@ new file mode 100644
|
||||
+ return true;
|
||||
+ }
|
||||
+ return aElement.getAttribute("preference-editable") == "true";
|
||||
+ ]]>
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="updateElements">
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ if (!this.id)
|
||||
+ return;
|
||||
+
|
||||
+ // This "change" event handler tracks changes made to preferences by
|
||||
+ // sources other than the user in this window.
|
||||
+ // This "change" event handler tracks changes made to preferences by
|
||||
+ // sources other than the user in this window.
|
||||
+ var elements = document.getElementsByAttribute("preference", this.id);
|
||||
+ for (var i = 0; i < elements.length; ++i)
|
||||
+ for (var i = 0; i < elements.length; ++i)
|
||||
+ this.setElementValue(elements[i]);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+ </implementation>
|
||||
+
|
||||
+
|
||||
+ <handlers>
|
||||
+ <handler event="change">
|
||||
+ this.updateElements();
|
||||
@ -1423,7 +1425,7 @@ new file mode 100644
|
||||
+ // no buttons on Mac except Help
|
||||
+ cancelButton.hidden = true;
|
||||
+ // Move Help button to the end
|
||||
+ document.getAnonymousElementByAttribute(this, "anonid", "spacer").hidden = true;
|
||||
+ document.getAnonymousElementByAttribute(this, "anonid", "spacer").hidden = true;
|
||||
+ // Also, don't fire onDialogAccept on enter
|
||||
+ acceptButton.disabled = true;
|
||||
+ } else {
|
||||
@ -1500,26 +1502,26 @@ new file mode 100644
|
||||
+ onget="return document.getAnonymousElementByAttribute(this, 'class', 'paneDeckContainer');"/>
|
||||
+ <property name="_selector"
|
||||
+ onget="return document.getAnonymousElementByAttribute(this, 'anonid', 'selector');"/>
|
||||
+ <property name="lastSelected"
|
||||
+ <property name="lastSelected"
|
||||
+ onget="return this.getAttribute('lastSelected');">
|
||||
+ <setter>
|
||||
+ this.setAttribute("lastSelected", val);
|
||||
+ this.setAttribute("lastSelected", val);
|
||||
+ document.persist(this.id, "lastSelected");
|
||||
+ return val;
|
||||
+ </setter>
|
||||
+ </setter>
|
||||
+ </property>
|
||||
+ <property name="currentPane"
|
||||
+ onset="return this._currentPane = val;">
|
||||
+ <getter>
|
||||
+ if (!this._currentPane)
|
||||
+ this._currentPane = this.preferencePanes[0];
|
||||
+
|
||||
+
|
||||
+ return this._currentPane;
|
||||
+ </getter>
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+ <field name="_currentPane">null</field>
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ <method name="_makePaneButton">
|
||||
+ <parameter name="aPaneElement"/>
|
||||
+ <body>
|
||||
@ -1551,16 +1553,16 @@ new file mode 100644
|
||||
+ {
|
||||
+ this._pane = aPane;
|
||||
+ }
|
||||
+ OverlayLoadObserver.prototype = {
|
||||
+ OverlayLoadObserver.prototype = {
|
||||
+ _outer: this,
|
||||
+ observe: function (aSubject, aTopic, aData)
|
||||
+ observe: function (aSubject, aTopic, aData)
|
||||
+ {
|
||||
+ this._pane.loaded = true;
|
||||
+ this._outer._fireEvent("paneload", this._pane);
|
||||
+ this._outer._selectPane(this._pane);
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ var obs = new OverlayLoadObserver(aPaneElement);
|
||||
+ document.loadOverlay(aPaneElement.src, obs);
|
||||
+ }
|
||||
@ -1569,13 +1571,13 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="_fireEvent">
|
||||
+ <parameter name="aEventName"/>
|
||||
+ <parameter name="aTarget"/>
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ // Panel loaded, synthesize a load event.
|
||||
+ // Panel loaded, synthesize a load event.
|
||||
+ try {
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent(aEventName, true, true);
|
||||
@ -1586,16 +1588,16 @@ new file mode 100644
|
||||
+ if (rv == false)
|
||||
+ cancel = true;
|
||||
+ }
|
||||
+ return !cancel;
|
||||
+ return !cancel;
|
||||
+ }
|
||||
+ catch (e) {
|
||||
+ catch (e) {
|
||||
+ Components.utils.reportError(e);
|
||||
+ }
|
||||
+ return false;
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <field name="_initialized">false</field>
|
||||
+ <method name="_selectPane">
|
||||
+ <parameter name="aPaneElement"/>
|
||||
@ -1614,13 +1616,13 @@ new file mode 100644
|
||||
+ else
|
||||
+ helpButton.hidden = true;
|
||||
+
|
||||
+ // Find this pane's index in the deck and set the deck's
|
||||
+ // Find this pane's index in the deck and set the deck's
|
||||
+ // selectedIndex to that value to switch to it.
|
||||
+ var prefpanes = this.preferencePanes;
|
||||
+ for (var i = 0; i < prefpanes.length; ++i) {
|
||||
+ if (prefpanes[i] == aPaneElement) {
|
||||
+ this._paneDeck.selectedIndex = i;
|
||||
+
|
||||
+
|
||||
+ if (this.type != "child") {
|
||||
+ if (aPaneElement.hasAttribute("flex") && this._shouldAnimate &&
|
||||
+ prefpanes.length > 1)
|
||||
@ -1673,7 +1675,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <property name="_shouldAnimate">
|
||||
+ <getter>
|
||||
+ <![CDATA[
|
||||
@ -1690,7 +1692,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <method name="animate">
|
||||
+ <parameter name="aOldPane"/>
|
||||
+ <parameter name="aNewPane"/>
|
||||
@ -1698,7 +1700,7 @@ new file mode 100644
|
||||
+ <![CDATA[
|
||||
+ // if we are already resizing, use currentHeight
|
||||
+ var oldHeight = this._currentHeight ? this._currentHeight : aOldPane.contentHeight;
|
||||
+
|
||||
+
|
||||
+ this._multiplier = aNewPane.contentHeight > oldHeight ? 1 : -1;
|
||||
+ var sizeDelta = Math.abs(oldHeight - aNewPane.contentHeight);
|
||||
+ this._animateRemainder = sizeDelta % this._animateIncrement;
|
||||
@ -1707,7 +1709,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <property name="_sizeIncrement">
|
||||
+ <getter>
|
||||
+ <![CDATA[
|
||||
@ -1717,7 +1719,7 @@ new file mode 100644
|
||||
+ if ((this._multiplier > 0 && this._currentHeight >= lastSelectedPane.contentHeight) ||
|
||||
+ (this._multiplier < 0 && this._currentHeight <= lastSelectedPane.contentHeight))
|
||||
+ return 0;
|
||||
+
|
||||
+
|
||||
+ if ((this._multiplier > 0 && newHeight > lastSelectedPane.contentHeight) ||
|
||||
+ (this._multiplier < 0 && newHeight < lastSelectedPane.contentHeight))
|
||||
+ increment = this._animateRemainder * this._multiplier;
|
||||
@ -1725,14 +1727,14 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+
|
||||
+
|
||||
+ <method name="notify">
|
||||
+ <parameter name="aTimer"/>
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ if (!document)
|
||||
+ aTimer.cancel();
|
||||
+
|
||||
+
|
||||
+ if (aTimer == this._animateTimer) {
|
||||
+ var increment = this._sizeIncrement;
|
||||
+ if (increment != 0) {
|
||||
@ -1756,39 +1758,39 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="_setUpAnimationTimer">
|
||||
+ <parameter name="aStartHeight"/>
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ if (!this._animateTimer)
|
||||
+ if (!this._animateTimer)
|
||||
+ this._animateTimer = Components.classes["@mozilla.org/timer;1"]
|
||||
+ .createInstance(Components.interfaces.nsITimer);
|
||||
+ else
|
||||
+ this._animateTimer.cancel();
|
||||
+ this._currentHeight = aStartHeight;
|
||||
+
|
||||
+ this._animateTimer.initWithCallback(this, this._animateDelay,
|
||||
+
|
||||
+ this._animateTimer.initWithCallback(this, this._animateDelay,
|
||||
+ Components.interfaces.nsITimer.TYPE_REPEATING_SLACK);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="_setUpFadeTimer">
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ if (!this._fadeTimer)
|
||||
+ if (!this._fadeTimer)
|
||||
+ this._fadeTimer = Components.classes["@mozilla.org/timer;1"]
|
||||
+ .createInstance(Components.interfaces.nsITimer);
|
||||
+ else
|
||||
+ this._fadeTimer.cancel();
|
||||
+
|
||||
+ this._fadeTimer.initWithCallback(this, this._fadeDelay,
|
||||
+
|
||||
+ this._fadeTimer.initWithCallback(this, this._fadeDelay,
|
||||
+ Components.interfaces.nsITimer.TYPE_REPEATING_SLACK);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <field name="_animateTimer">null</field>
|
||||
+ <field name="_fadeTimer">null</field>
|
||||
+ <field name="_animateDelay">15</field>
|
||||
@ -1804,13 +1806,13 @@ new file mode 100644
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ this.appendChild(aPaneElement);
|
||||
+
|
||||
+
|
||||
+ // Set up pane button
|
||||
+ this._makePaneButton(aPaneElement);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="openSubDialog">
|
||||
+ <parameter name="aURL"/>
|
||||
+ <parameter name="aFeatures"/>
|
||||
@ -1819,7 +1821,7 @@ new file mode 100644
|
||||
+ return openDialog(aURL, "", "modal,centerscreen,resizable=no" + (aFeatures != "" ? ("," + aFeatures) : ""), aParams);
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="openWindow">
|
||||
+ <parameter name="aWindowType"/>
|
||||
+ <parameter name="aURL"/>
|
||||
@ -1856,29 +1858,29 @@ new file mode 100644
|
||||
+ .getService(Components.interfaces.nsIScriptSecurityManager);
|
||||
+ if (this.type == "child" && window.opener &&
|
||||
+ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
|
||||
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ let psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ .getService(Components.interfaces.nsIPrefBranch);
|
||||
+ var pdocEl = window.opener.document.documentElement;
|
||||
+ if (pdocEl.instantApply) {
|
||||
+ var panes = this.preferencePanes;
|
||||
+ for (var i = 0; i < panes.length; ++i)
|
||||
+ let panes = this.preferencePanes;
|
||||
+ for (let i = 0; i < panes.length; ++i)
|
||||
+ panes[i].writePreferences(true);
|
||||
+ }
|
||||
+ else {
|
||||
+ // Clone all the preferences elements from the child document and
|
||||
+ // insert them into the pane collection of the parent.
|
||||
+ // insert them into the pane collection of the parent.
|
||||
+ var pdoc = window.opener.document;
|
||||
+ if (pdoc.documentElement.localName == "prefwindow") {
|
||||
+ var currentPane = pdoc.documentElement.currentPane;
|
||||
+ var id = window.location.href + "#childprefs";
|
||||
+ var childPrefs = pdoc.getElementById(id);
|
||||
+ if (!childPrefs) {
|
||||
+ var childPrefs = pdoc.createElement("preferences");
|
||||
+ childPrefs = pdoc.createElement("preferences");
|
||||
+ currentPane.appendChild(childPrefs);
|
||||
+ childPrefs.id = id;
|
||||
+ }
|
||||
+ var panes = this.preferencePanes;
|
||||
+ for (var i = 0; i < panes.length; ++i) {
|
||||
+ let panes = this.preferencePanes;
|
||||
+ for (let i = 0; i < panes.length; ++i) {
|
||||
+ var preferences = panes[i].preferences;
|
||||
+ for (var j = 0; j < preferences.length; ++j) {
|
||||
+ // Try to find a preference element for the same preference.
|
||||
@ -1909,11 +1911,11 @@ new file mode 100644
|
||||
+ }
|
||||
+ }
|
||||
+ else {
|
||||
+ var panes = this.preferencePanes;
|
||||
+ let panes = this.preferencePanes;
|
||||
+ for (var i = 0; i < panes.length; ++i)
|
||||
+ panes[i].writePreferences(false);
|
||||
+
|
||||
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ let psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ .getService(Components.interfaces.nsIPrefService);
|
||||
+ psvc.savePrefFile(null);
|
||||
+ }
|
||||
@ -1955,7 +1957,7 @@ new file mode 100644
|
||||
+ </handler>
|
||||
+ </handlers>
|
||||
+ </binding>
|
||||
+
|
||||
+
|
||||
+ <binding id="prefpane">
|
||||
+ <resources>
|
||||
+ <stylesheet src="chrome://global/skin/preferences.css"/>
|
||||
@ -1990,20 +1992,20 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+ <property name="src"
|
||||
+
|
||||
+ <property name="src"
|
||||
+ onget="return this.getAttribute('src');"
|
||||
+ onset="this.setAttribute('src', val); return val;"/>
|
||||
+ <property name="selected"
|
||||
+ <property name="selected"
|
||||
+ onget="return this.getAttribute('selected') == 'true';"
|
||||
+ onset="this.setAttribute('selected', val); return val;"/>
|
||||
+ <property name="image"
|
||||
+ <property name="image"
|
||||
+ onget="return this.getAttribute('image');"
|
||||
+ onset="this.setAttribute('image', val); return val;"/>
|
||||
+ <property name="label"
|
||||
+ <property name="label"
|
||||
+ onget="return this.getAttribute('label');"
|
||||
+ onset="this.setAttribute('label', val); return val;"/>
|
||||
+
|
||||
+
|
||||
+ <property name="preferenceElements"
|
||||
+ onget="return this.getElementsByAttribute('preference', '*');"/>
|
||||
+ <property name="preferences"
|
||||
@ -2027,30 +2029,30 @@ new file mode 100644
|
||||
+ </property>
|
||||
+
|
||||
+ <field name="_loaded">false</field>
|
||||
+ <property name="loaded"
|
||||
+ <property name="loaded"
|
||||
+ onget="return !this.src ? true : this._loaded;"
|
||||
+ onset="this._loaded = val; return val;"/>
|
||||
+
|
||||
+
|
||||
+ <method name="preferenceForElement">
|
||||
+ <parameter name="aElement"/>
|
||||
+ <body>
|
||||
+ return document.getElementById(aElement.getAttribute("preference"));
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <method name="getPreferenceElement">
|
||||
+ <parameter name="aStartElement"/>
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ var temp = aStartElement;
|
||||
+ while (temp && temp.nodeType == Node.ELEMENT_NODE &&
|
||||
+ while (temp && temp.nodeType == Node.ELEMENT_NODE &&
|
||||
+ !temp.hasAttribute("preference"))
|
||||
+ temp = temp.parentNode;
|
||||
+ return temp.nodeType == Node.ELEMENT_NODE ? temp : aStartElement;
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <field name="DeferredTask" readonly="true">
|
||||
+ let targetObj = {};
|
||||
+ Components.utils.import("resource://gre/modules/DeferredTask.jsm", targetObj);
|
||||
@ -2106,7 +2108,7 @@ new file mode 100644
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
+
|
||||
+
|
||||
+ <property name="contentHeight">
|
||||
+ <getter>
|
||||
+ var targetHeight = parseInt(window.getComputedStyle(this._content, "").height);
|
||||
@ -2121,25 +2123,25 @@ new file mode 100644
|
||||
+ </implementation>
|
||||
+ <handlers>
|
||||
+ <handler event="command">
|
||||
+ // This "command" event handler tracks changes made to preferences by
|
||||
+ // This "command" event handler tracks changes made to preferences by
|
||||
+ // the user in this window.
|
||||
+ if (event.sourceEvent)
|
||||
+ event = event.sourceEvent;
|
||||
+ this.userChangedValue(event.target);
|
||||
+ </handler>
|
||||
+ <handler event="select">
|
||||
+ // This "select" event handler tracks changes made to colorpicker
|
||||
+ // This "select" event handler tracks changes made to colorpicker
|
||||
+ // preferences by the user in this window.
|
||||
+ if (event.target.localName == "colorpicker")
|
||||
+ if (event.target.localName == "colorpicker")
|
||||
+ this.userChangedValue(event.target);
|
||||
+ </handler>
|
||||
+ <handler event="change">
|
||||
+ // This "change" event handler tracks changes made to preferences by
|
||||
+ // the user in this window.
|
||||
+ // This "change" event handler tracks changes made to preferences by
|
||||
+ // the user in this window.
|
||||
+ this.userChangedValue(event.target);
|
||||
+ </handler>
|
||||
+ <handler event="input">
|
||||
+ // This "input" event handler tracks changes made to preferences by
|
||||
+ // This "input" event handler tracks changes made to preferences by
|
||||
+ // the user in this window.
|
||||
+ this.userChangedValue(event.target);
|
||||
+ </handler>
|
||||
@ -2156,11 +2158,11 @@ new file mode 100644
|
||||
+ dump("*** No preference found for " + elements[i].getAttribute("preference") + "\n");
|
||||
+ }
|
||||
+ }
|
||||
+ ]]>
|
||||
+ ]]>
|
||||
+ </handler>
|
||||
+ </handlers>
|
||||
+ </binding>
|
||||
+
|
||||
+
|
||||
+ <binding id="panebutton" role="xul:listitem"
|
||||
+ extends="chrome://global/content/bindings/radio.xml#radio">
|
||||
+ <resources>
|
||||
|
@ -1,26 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent 95b421ca30846be2b5d7230d72263e6dff042d0b
|
||||
Bug 1220399 - building with libproxy support fails
|
||||
|
||||
diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp b/toolkit/system/unixproxy/nsLibProxySettings.cpp
|
||||
--- a/toolkit/system/unixproxy/nsLibProxySettings.cpp
|
||||
+++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp
|
||||
@@ -2,16 +2,17 @@
|
||||
/* 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 "nsISystemProxySettings.h"
|
||||
#include "mozilla/ModuleUtils.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsIURI.h"
|
||||
+#include "nsNetCID.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nspr.h"
|
||||
|
||||
extern "C" {
|
||||
#include <proxy.h>
|
||||
}
|
||||
|
@ -1,34 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 80b6464bd883864fce57e8748010869af1be69e9
|
||||
# Parent 808d61f33afa6fb9921d3a7f994a71cf2dd9331a
|
||||
|
||||
diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
|
||||
--- a/toolkit/mozapps/installer/package-name.mk
|
||||
+++ b/toolkit/mozapps/installer/package-name.mk
|
||||
@@ -147,24 +147,24 @@ else
|
||||
BUILDID = $(shell $(PYTHON) $(MOZILLA_DIR)/config/printconfigsetting.py $(DIST)/bin/platform.ini Build BuildID)
|
||||
endif
|
||||
|
||||
ifndef INCLUDED_RCS_MK
|
||||
USE_RCS_MK := 1
|
||||
include $(MOZILLA_DIR)/config/makefiles/makeutils.mk
|
||||
endif
|
||||
|
||||
-MOZ_SOURCE_STAMP = $(firstword $(shell hg -R $(MOZILLA_DIR) parent --template="{node}\n" 2>/dev/null))
|
||||
+#MOZ_SOURCE_STAMP = $(firstword $(shell hg -R $(MOZILLA_DIR) parent --template="{node}\n" 2>/dev/null))
|
||||
|
||||
###########################################################################
|
||||
# bug: 746277 - preserve existing functionality.
|
||||
# MOZILLA_DIR="": cd $(SPACE); hg # succeeds if ~/.hg exists
|
||||
###########################################################################
|
||||
ifdef MOZ_INCLUDE_SOURCE_INFO
|
||||
-MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
|
||||
+#MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
|
||||
endif
|
||||
|
||||
MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt
|
||||
MOZ_BUILDINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).json
|
||||
MOZ_BUILDID_INFO_TXT_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME)_info.txt
|
||||
MOZ_MOZINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).mozinfo.json
|
||||
MOZ_TEST_PACKAGES_FILE = $(DIST)/$(PKG_PATH)/test_packages.json
|
||||
MOZ_TEST_PACKAGES_FILE_TC = $(DIST)/$(PKG_PATH)/test_packages_tc.json
|
@ -4,10 +4,10 @@ Subject: use libnsssharedhelper if available at compile time
|
||||
(can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
|
||||
References:
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -8310,16 +8310,31 @@ if test "$MOZ_ENABLE_SKIA"; then
|
||||
diff --git a/old-configure.in b/old-configure.in
|
||||
--- a/old-configure.in
|
||||
+++ b/old-configure.in
|
||||
@@ -8187,16 +8187,31 @@ if test "$MOZ_ENABLE_SKIA"; then
|
||||
AC_DEFINE(USE_SKIA_GPU)
|
||||
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
||||
fi
|
||||
@ -87,7 +87,7 @@ diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNS
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/PublicSSL.h"
|
||||
#include "mozilla/Services.h"
|
||||
@@ -1007,17 +1014,31 @@ nsNSSComponent::InitializeNSS()
|
||||
@@ -1017,17 +1024,31 @@ nsNSSComponent::InitializeNSS()
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
@ -122,22 +122,22 @@ diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNS
|
||||
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
|
||||
--- a/toolkit/library/moz.build
|
||||
+++ b/toolkit/library/moz.build
|
||||
@@ -205,16 +205,18 @@ if CONFIG['MOZ_B2G_CAMERA'] and CONFIG['
|
||||
'stagefright_omx',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TARGET'] != 'Android':
|
||||
@@ -209,16 +209,18 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
|
||||
OS_LIBS += [
|
||||
'rt',
|
||||
]
|
||||
|
||||
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
|
||||
+
|
||||
OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
|
||||
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
|
||||
OS_LIBS += CONFIG['MOZ_SERVO_LIBS']
|
||||
|
||||
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
|
||||
+
|
||||
if CONFIG['MOZ_NATIVE_JPEG']:
|
||||
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
|
||||
|
||||
if CONFIG['MOZ_NATIVE_PNG']:
|
||||
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
|
||||
|
||||
if CONFIG['MOZ_NATIVE_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
@ -1,2 +1,2 @@
|
||||
REV=0b8492c110be
|
||||
REV=b0310cb90fd0
|
||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||
|
Loading…
Reference in New Issue
Block a user