lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 18612 discussions
[tor-browser/tor-browser-52.1.0esr-7.0-2] fixup! TB3: Tor Browser's official .mozconfigs.
by gk@torproject.org 22 May '17

22 May '17
commit 62546181d759aaf44216e6f32a79c89e55335c4e Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 12:41:17 2017 +0000 fixup! TB3: Tor Browser's official .mozconfigs. Make EME comment clearer for ESR52. --- .mozconfig | 2 +- .mozconfig-mac | 3 +-- .mozconfig-mingw | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.mozconfig b/.mozconfig index cde5b49..4eeb339 100755 --- a/.mozconfig +++ b/.mozconfig @@ -23,7 +23,7 @@ ac_add_options -… [View More]-disable-debug ac_add_options --disable-maintenance-service ac_add_options --disable-crashreporter ac_add_options --disable-webrtc -# Let's not compile EME at least until we can enable ClearKey and only Clearkey. +# Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme #ac_add_options --disable-ctypes ac_add_options --enable-jemalloc=4 diff --git a/.mozconfig-mac b/.mozconfig-mac index 7088e48..844ee2e 100644 --- a/.mozconfig-mac +++ b/.mozconfig-mac @@ -49,7 +49,6 @@ ac_add_options --disable-crashreporter ac_add_options --disable-maintenance-service ac_add_options --disable-webrtc ac_add_options --disable-tests -# Let's not compile EME at least until we can enable ClearKey and only Clearkey. -# (Apart from that there is no Adobe CRM module for OS X right now) +# Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme # ac_add_options --disable-ctypes diff --git a/.mozconfig-mingw b/.mozconfig-mingw index de86c49b..af30573 100644 --- a/.mozconfig-mingw +++ b/.mozconfig-mingw @@ -21,7 +21,7 @@ ac_add_options --enable-verify-mar # We can't build the sandbox code with mingw-w64: # https://bugzilla.mozilla.org/show_bug.cgi?id=1042426 ac_add_options --disable-sandbox -# EME is not running without sandbox. Thus, don't compile it in the first place. +# Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme ac_add_options --disable-crashreporter ac_add_options --disable-maintenance-service [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.0esr-7.0-2] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 22 May '17

22 May '17
commit 726b6d699e101570b14e3eb091ec94e9d5ee1946 Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 12:52:09 2017 +0000 fixup! TB4: Tor Browser's Firefox preference overrides. Adapt preferences to take new EME related ones into account. --- browser/app/profile/000-tor-browser.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js index 7b0ad71..53d1ac2 … [View More]100644 --- a/browser/app/profile/000-tor-browser.js +++ b/browser/app/profile/000-tor-browser.js @@ -228,12 +228,15 @@ pref("media.gmp-manager.url.override", "data:text/plain,"); // server. There is a local fallback that must be blocked now as well. See: // https://bugzilla.mozilla.org/show_bug.cgi?id=1267495. pref("media.gmp-manager.updateEnabled", false); -// EME prefs: Strictly speaking these prefs don't need to be set as we are -// using the --disable-eme compile flag. However, in order to not confuse users, -// who might stumble upon them while looking into about:config, we set them to -// 'false' communicating that EME is really disabled. +// Mozilla is relying on preferences to make sure no DRM blob is downloaded and +// run. Even though those prefs should be set correctly by specifying +// --disable-eme (which we do), we disable all of them here as well for defense +// in depth. pref("browser.eme.ui.enabled", false); +pref("media.gmp-eme-adobe.visible", false); pref("media.gmp-eme-adobe.enabled", false); +pref("media.gmp-widevinecdm.visible", false); +pref("media.gmp-widevinecdm.enabled", false); pref("media.eme.enabled", false); pref("media.eme.apiVisible", false); // WebIDE can bypass proxy settings for remote debugging. It also downloads [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.0esr-7.0-2] Bug 16285: Exclude ClearKey system for now
by gk@torproject.org 22 May '17

22 May '17
commit 46d6d3a534c8f8c56194415c0839a4a90d17049b Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 12:44:40 2017 +0000 Bug 16285: Exclude ClearKey system for now In the past the ClearKey system had not been compiled when specifying --disable-eme. But that changed and it is even bundled nowadays (see: Mozilla's bug 1300654). We don't want to ship it right now as the use case for it is not really visible while the code had security vulnerabilities in … [View More]the past. --- browser/installer/package-manifest.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 43c89a9..1233249 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -814,8 +814,8 @@ bin/libfreebl_32int64_3.so ; media -@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@ -@RESPATH@/gmp-clearkey/0.1/clearkey.info +;@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@ +;@RESPATH@/gmp-clearkey/0.1/clearkey.info ; gfx #ifdef XP_WIN [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.1esr-7.0-1] Bug 16285: Exclude ClearKey system for now
by gk@torproject.org 22 May '17

22 May '17
commit e948ae5d404321a1ed0316ffb97baf45ee0163a5 Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 12:44:40 2017 +0000 Bug 16285: Exclude ClearKey system for now In the past the ClearKey system had not been compiled when specifying --disable-eme. But that changed and it is even bundled nowadays (see: Mozilla's bug 1300654). We don't want to ship it right now as the use case for it is not really visible while the code had security vulnerabilities in … [View More]the past. --- browser/installer/package-manifest.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 43c89a9..1233249 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -814,8 +814,8 @@ bin/libfreebl_32int64_3.so ; media -@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@ -@RESPATH@/gmp-clearkey/0.1/clearkey.info +;@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@ +;@RESPATH@/gmp-clearkey/0.1/clearkey.info ; gfx #ifdef XP_WIN [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.1esr-7.0-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 22 May '17

22 May '17
commit ba7cbd186c5692267ba80eb6a998c7abab2a76a9 Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 12:52:09 2017 +0000 fixup! TB4: Tor Browser's Firefox preference overrides. Adapt preferences to take new EME related ones into account. --- browser/app/profile/000-tor-browser.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js index 7b0ad71..53d1ac2 … [View More]100644 --- a/browser/app/profile/000-tor-browser.js +++ b/browser/app/profile/000-tor-browser.js @@ -228,12 +228,15 @@ pref("media.gmp-manager.url.override", "data:text/plain,"); // server. There is a local fallback that must be blocked now as well. See: // https://bugzilla.mozilla.org/show_bug.cgi?id=1267495. pref("media.gmp-manager.updateEnabled", false); -// EME prefs: Strictly speaking these prefs don't need to be set as we are -// using the --disable-eme compile flag. However, in order to not confuse users, -// who might stumble upon them while looking into about:config, we set them to -// 'false' communicating that EME is really disabled. +// Mozilla is relying on preferences to make sure no DRM blob is downloaded and +// run. Even though those prefs should be set correctly by specifying +// --disable-eme (which we do), we disable all of them here as well for defense +// in depth. pref("browser.eme.ui.enabled", false); +pref("media.gmp-eme-adobe.visible", false); pref("media.gmp-eme-adobe.enabled", false); +pref("media.gmp-widevinecdm.visible", false); +pref("media.gmp-widevinecdm.enabled", false); pref("media.eme.enabled", false); pref("media.eme.apiVisible", false); // WebIDE can bypass proxy settings for remote debugging. It also downloads [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.1esr-7.0-1] fixup! TB3: Tor Browser's official .mozconfigs.
by gk@torproject.org 22 May '17

22 May '17
commit 100fea0348ed02fd181080fbc2b131994adaab4b Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 12:41:17 2017 +0000 fixup! TB3: Tor Browser's official .mozconfigs. Make EME comment clearer for ESR52. --- .mozconfig | 2 +- .mozconfig-mac | 3 +-- .mozconfig-mingw | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.mozconfig b/.mozconfig index cde5b49..4eeb339 100755 --- a/.mozconfig +++ b/.mozconfig @@ -23,7 +23,7 @@ ac_add_options -… [View More]-disable-debug ac_add_options --disable-maintenance-service ac_add_options --disable-crashreporter ac_add_options --disable-webrtc -# Let's not compile EME at least until we can enable ClearKey and only Clearkey. +# Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme #ac_add_options --disable-ctypes ac_add_options --enable-jemalloc=4 diff --git a/.mozconfig-mac b/.mozconfig-mac index 7088e48..844ee2e 100644 --- a/.mozconfig-mac +++ b/.mozconfig-mac @@ -49,7 +49,6 @@ ac_add_options --disable-crashreporter ac_add_options --disable-maintenance-service ac_add_options --disable-webrtc ac_add_options --disable-tests -# Let's not compile EME at least until we can enable ClearKey and only Clearkey. -# (Apart from that there is no Adobe CRM module for OS X right now) +# Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme # ac_add_options --disable-ctypes diff --git a/.mozconfig-mingw b/.mozconfig-mingw index de86c49b..af30573 100644 --- a/.mozconfig-mingw +++ b/.mozconfig-mingw @@ -21,7 +21,7 @@ ac_add_options --enable-verify-mar # We can't build the sandbox code with mingw-w64: # https://bugzilla.mozilla.org/show_bug.cgi?id=1042426 ac_add_options --disable-sandbox -# EME is not running without sandbox. Thus, don't compile it in the first place. +# Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme ac_add_options --disable-crashreporter ac_add_options --disable-maintenance-service [View Less]
1 0
0 0
[tor-browser-bundle/master] Bug 22324: Fix broken tab crash pages on higher security levels
by gk@torproject.org 22 May '17

22 May '17
commit 78de9734135f21077410d295b689751d60727592 Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 09:30:33 2017 +0000 Bug 22324: Fix broken tab crash pages on higher security levels We need to allow JavaScript on `about:tabcrashed` pages explicitly. Otherwise are those pages broken on higher security levels. --- .../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++--- .../Data/Browser/profile.default/preferences/extension-overrides.js |… [View More] 6 +++--- .../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js index 53c1a25..1465e29 100644 --- a/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js +++ b/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js @@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true); # NoScript Preferences: pref("capability.policy.maonoscript.javascript.enabled", "allAccess"); -pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); -pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); -pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); +pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); +pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); +pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); pref("noscript.ABE.enabled", false); pref("noscript.ABE.notify", false); pref("noscript.ABE.wanIpAsLocal", false); diff --git a/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js index 53c1a25..1465e29 100644 --- a/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js +++ b/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js @@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true); # NoScript Preferences: pref("capability.policy.maonoscript.javascript.enabled", "allAccess"); -pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); -pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); -pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); +pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); +pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); +pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); pref("noscript.ABE.enabled", false); pref("noscript.ABE.notify", false); pref("noscript.ABE.wanIpAsLocal", false); diff --git a/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js index 53c1a25..1465e29 100644 --- a/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js +++ b/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js @@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true); # NoScript Preferences: pref("capability.policy.maonoscript.javascript.enabled", "allAccess"); -pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); -pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); -pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds"); +pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); +pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); +pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed"); pref("noscript.ABE.enabled", false); pref("noscript.ABE.notify", false); pref("noscript.ABE.wanIpAsLocal", false); [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.1esr-7.0-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 22 May '17

22 May '17
commit 886808dc4e21eef3595fa1042f792927bb898193 Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 08:36:35 2017 +0000 fixup! TB4: Tor Browser's Firefox preference overrides. The Battery API is not available to content anymore since Firefox 52. Thus, we don't need to set `dom.battery.enabled` anymore. Fixes bug 5293. --- browser/app/profile/000-tor-browser.js | 1 - 1 file changed, 1 deletion(-) diff --git a/browser/app/profile/000-tor-browser.js b/… [View More]browser/app/profile/000-tor-browser.js index fb7b078..7b0ad71 100644 --- a/browser/app/profile/000-tor-browser.js +++ b/browser/app/profile/000-tor-browser.js @@ -137,7 +137,6 @@ pref("social.whitelist", ""); pref("webgl.min_capability_mode", true); pref("webgl.disable-extensions", true); pref("webgl.disable-fail-if-major-performance-caveat", true); -pref("dom.battery.enabled", false); // fingerprinting due to differing OS implementations pref("dom.network.enabled",false); // fingerprinting due to differing OS implementations pref("gfx.downloadable_fonts.fallback_delay", -1); pref("general.appname.override", "Netscape"); [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.0esr-7.0-2] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 22 May '17

22 May '17
commit 885479878d591ce61fa573912eae4ea062dc54c6 Author: Georg Koppen <gk(a)torproject.org> Date: Mon May 22 08:36:35 2017 +0000 fixup! TB4: Tor Browser's Firefox preference overrides. The Battery API is not available to content anymore since Firefox 52. Thus, we don't need to set `dom.battery.enabled` anymore. Fixes bug 5293. --- browser/app/profile/000-tor-browser.js | 1 - 1 file changed, 1 deletion(-) diff --git a/browser/app/profile/000-tor-browser.js b/… [View More]browser/app/profile/000-tor-browser.js index fb7b078..7b0ad71 100644 --- a/browser/app/profile/000-tor-browser.js +++ b/browser/app/profile/000-tor-browser.js @@ -137,7 +137,6 @@ pref("social.whitelist", ""); pref("webgl.min_capability_mode", true); pref("webgl.disable-extensions", true); pref("webgl.disable-fail-if-major-performance-caveat", true); -pref("dom.battery.enabled", false); // fingerprinting due to differing OS implementations pref("dom.network.enabled",false); // fingerprinting due to differing OS implementations pref("gfx.downloadable_fonts.fallback_delay", -1); pref("general.appname.override", "Netscape"); [View Less]
1 0
0 0
[tor-browser/tor-browser-52.1.0esr-7.0-2] fixup! Bug 19273: Avoid JavaScript patching of the external app helper dialog.
by gk@torproject.org 22 May '17

22 May '17
commit 1d1fdea85218586354a1294cb94026279e74a0e3 Author: Kathy Brade <brade(a)pearlcrescent.com> Date: Fri May 19 11:25:31 2017 -0400 fixup! Bug 19273: Avoid JavaScript patching of the external app helper dialog. For e10s compatibility, send the "external-app-requested" observer notification later in the download process, and suspend active requests while doing so. Fixes bug 21766. This change also fixes a problem in the esr52-based browser where … [View More]downloads stalled when e10s was disabled. Fixes bug 21886. --- netwerk/protocol/http/HttpBaseChannel.cpp | 7 ++++ netwerk/protocol/http/HttpBaseChannel.h | 1 + netwerk/protocol/http/NullHttpChannel.cpp | 6 ++++ netwerk/protocol/http/nsIHttpChannel.idl | 9 ++++- .../protocol/viewsource/nsViewSourceChannel.cpp | 11 ++++++ .../exthandler/nsExternalHelperAppService.cpp | 41 +++++++++++++++++----- 6 files changed, 66 insertions(+), 9 deletions(-) diff --git a/netwerk/protocol/http/HttpBaseChannel.cpp b/netwerk/protocol/http/HttpBaseChannel.cpp index e0f7ede..5ea6a00 100644 --- a/netwerk/protocol/http/HttpBaseChannel.cpp +++ b/netwerk/protocol/http/HttpBaseChannel.cpp @@ -1233,6 +1233,13 @@ NS_IMETHODIMP HttpBaseChannel::SetTopLevelContentWindowId(uint64_t aWindowId) return NS_OK; } +NS_IMETHODIMP HttpBaseChannel::IsPendingUnforced(bool *aIsPendingUnforced) +{ + NS_ENSURE_ARG_POINTER(aIsPendingUnforced); + *aIsPendingUnforced = mIsPending; + return NS_OK; +} + NS_IMETHODIMP HttpBaseChannel::GetTransferSize(uint64_t *aTransferSize) { diff --git a/netwerk/protocol/http/HttpBaseChannel.h b/netwerk/protocol/http/HttpBaseChannel.h index c8184a6..3a1a8ba 100644 --- a/netwerk/protocol/http/HttpBaseChannel.h +++ b/netwerk/protocol/http/HttpBaseChannel.h @@ -190,6 +190,7 @@ public: NS_IMETHOD SetChannelId(const nsACString& aChannelId) override; NS_IMETHOD GetTopLevelContentWindowId(uint64_t *aContentWindowId) override; NS_IMETHOD SetTopLevelContentWindowId(uint64_t aContentWindowId) override; + NS_IMETHOD IsPendingUnforced(bool *aIsPendingUnforced) override; // nsIHttpChannelInternal NS_IMETHOD GetDocumentURI(nsIURI **aDocumentURI) override; diff --git a/netwerk/protocol/http/NullHttpChannel.cpp b/netwerk/protocol/http/NullHttpChannel.cpp index 8c048a6..8b362cb 100644 --- a/netwerk/protocol/http/NullHttpChannel.cpp +++ b/netwerk/protocol/http/NullHttpChannel.cpp @@ -82,6 +82,12 @@ NullHttpChannel::SetTopLevelContentWindowId(uint64_t aWindowId) } NS_IMETHODIMP +NullHttpChannel::IsPendingUnforced(bool *_retval) +{ + return NS_ERROR_NOT_IMPLEMENTED; +} + +NS_IMETHODIMP NullHttpChannel::GetTransferSize(uint64_t *aTransferSize) { return NS_ERROR_NOT_IMPLEMENTED; diff --git a/netwerk/protocol/http/nsIHttpChannel.idl b/netwerk/protocol/http/nsIHttpChannel.idl index 75ec2c7..0de0676 100644 --- a/netwerk/protocol/http/nsIHttpChannel.idl +++ b/netwerk/protocol/http/nsIHttpChannel.idl @@ -14,7 +14,7 @@ interface nsIHttpHeaderVisitor; * the inspection of the resulting HTTP response status and headers when they * become available. */ -[builtinclass, scriptable, uuid(c5a4a073-4539-49c7-a3f2-cec3f0619c6c)] +[builtinclass, scriptable, uuid(e0d8071b-5389-48c2-92c7-6708c968044d)] interface nsIHttpChannel : nsIChannel { /************************************************************************** @@ -469,4 +469,11 @@ interface nsIHttpChannel : nsIChannel * this channels is being load in. */ attribute uint64_t topLevelContentWindowId; + + /** + * Returns true if a request is pending due to "natural" causes and + * not just because ForcePending() has been called. See isPending() + * in nsIRequest.idl for more details about pending requests. + */ + boolean isPendingUnforced(); }; diff --git a/netwerk/protocol/viewsource/nsViewSourceChannel.cpp b/netwerk/protocol/viewsource/nsViewSourceChannel.cpp index 9ed71c4..9f9b894 100644 --- a/netwerk/protocol/viewsource/nsViewSourceChannel.cpp +++ b/netwerk/protocol/viewsource/nsViewSourceChannel.cpp @@ -740,6 +740,17 @@ nsViewSourceChannel::SetTopLevelContentWindowId(uint64_t aWindowId) } NS_IMETHODIMP +nsViewSourceChannel::IsPendingUnforced(bool *result) +{ + if (mHttpChannel) { + return mHttpChannel->IsPendingUnforced(result); + } + + NS_ENSURE_TRUE(mChannel, NS_ERROR_FAILURE); + return mChannel->IsPending(result); +} + +NS_IMETHODIMP nsViewSourceChannel::GetRequestMethod(nsACString & aRequestMethod) { return !mHttpChannel ? NS_ERROR_NULL_POINTER : diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp index dfaa218..4c25ae2 100644 --- a/uriloader/exthandler/nsExternalHelperAppService.cpp +++ b/uriloader/exthandler/nsExternalHelperAppService.cpp @@ -106,6 +106,7 @@ #include "mozilla/Preferences.h" #include "mozilla/ipc/URIUtils.h" +#include "mozilla/Unused.h" using namespace mozilla; using namespace mozilla::ipc; @@ -731,14 +732,6 @@ NS_IMETHODIMP nsExternalHelperAppService::DoContent(const nsACString& aMimeConte aForceSave, aWindowContext, aStreamListener); } - // Give other modules, including extensions, a chance to cancel. - bool doCancel = false; - nsresult rv = shouldCancel(&doCancel); - NS_ENSURE_SUCCESS(rv, rv); - if (doCancel) { - return NS_ERROR_FAILURE; - } - nsAutoString fileName; nsAutoCString fileExtension; uint32_t reason = nsIHelperAppLauncherDialog::REASON_CANTHANDLE; @@ -775,6 +768,7 @@ NS_IMETHODIMP nsExternalHelperAppService::DoContent(const nsACString& aMimeConte nsAutoCString query; // We only care about the query for HTTP and HTTPS URLs + nsresult rv; bool isHTTP, isHTTPS; rv = uri->SchemeIs("http", &isHTTP); if (NS_FAILED(rv)) { @@ -1675,6 +1669,37 @@ NS_IMETHODIMP nsExternalAppHandler::OnStartRequest(nsIRequest *request, nsISuppo return NS_OK; } + // Give other modules, including extensions, a chance to cancel. + // To avoid a problem where OnDataAvailable fires but is not handled + // correctly while a modal dialog displayed by Torbutton is open, we + // suspend and then we either cancel or resume active requests. + // See bugs 21766 and 21886. + bool isPending = false; + nsCOMPtr<nsIHttpChannel> httpChan = do_QueryInterface(request); + if (httpChan) { + rv = httpChan->IsPendingUnforced(&isPending); + } else { + rv = request->IsPending(&isPending); + } + NS_ENSURE_SUCCESS(rv, rv); + + if (isPending) { + Unused << request->Suspend(); // Best effort: ignore failures. + } + + bool doCancel = false; + rv = shouldCancel(&doCancel); + NS_ENSURE_SUCCESS(rv, rv); + if (doCancel) { + mCanceled = true; + request->Cancel(NS_BINDING_ABORTED); + return NS_OK; + } + + if (isPending) { + Unused << request->Resume(); // Best effort: ignore failures. + } + rv = SetUpTempFile(aChannel); if (NS_FAILED(rv)) { nsresult transferError = rv; [View Less]
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 1569
  • 1570
  • 1571
  • 1572
  • 1573
  • 1574
  • 1575
  • ...
  • 1862
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.