Opened 4 years ago

Closed 4 years ago

#16842 closed defect (fixed)

Media tab missing from Page Info

Reported by: mcs Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Keywords: ff38-esr, tbb-5.0-regression, TorBrowserTeam201508R
Cc: brade Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

In Tor Browser 5.0 (and probably all ESR38-based Tor Browser releases), the Media tab is missing from Page Info. This was reported in a blog comment.

I vaguely remember that this was broken a while ago and then we fixed it (maybe in the ESR31 timeframe?)

Child Tickets

Change History (10)

comment:1 Changed 4 years ago by mcs

Also, the Permissions tab is mostly empty and "Technical Details" are missing from the Security tab within Page Info.

comment:2 Changed 4 years ago by mcs

Keywords: ff38-esr tbb-5.0-regression TorBrowserTeam201508 added

This is a regression. The patch for #14716 (which fixed this originally for TB 4.5) needs to be updated to account for some changes that Mozilla made to the code under toolkit/components/passwordmgr/

Kathy and I are working on a patch.
This bug does not occur when the security.nocertdb pref. is set to false.

comment:3 Changed 4 years ago by mcs

Cc: brade added
Keywords: TorBrowserTeam201508R added; TorBrowserTeam201508 removed
Status: newneeds_review

comment:4 Changed 4 years ago by gk

Okay, a couple of thoughts:
1) Can't we just do something like

if (Services.prefs.getBoolPref("security.nocertdb")) {
  this.initializationPromise = Promise.resolve();
  this._storage = null;
} else {
  this.initializationPromise = this._storage.initialize();
}

(plus the comments)? There seems no point in trying to run the whole init goop in this._storage.initialize() if we are checking the nocertdb pref later anyway and assigning values to this.initializationPromise depending on it. Or maybe a better explanation: Just checking the pref (which we do anyway) to get to know whether the initialization fails due to it or not is enough; there is no need to try to run the init code, too.

2) You cleaned up some indentations, could you do that with the other

if (!this._storage)
    throw "No storage to set login saving enabled";

blocks as well?

3) I get

NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIPK11Token.initPassword] crypto-SDR.js:85:0

at start-up and vaguely remember that the crypto initialization was broken due to security.nocertdb as well but got fixed somehow. I can't seem to find the ticket anymore, though. Is this a different issue?

comment:5 in reply to:  4 Changed 4 years ago by mcs

Replying to gk:

Okay, a couple of thoughts:
1) Can't we just do something like

if (Services.prefs.getBoolPref("security.nocertdb")) {
  this.initializationPromise = Promise.resolve();
  this._storage = null;
} else {
  this.initializationPromise = this._storage.initialize();
}

(plus the comments)? There seems no point in trying to run the whole init goop in this._storage.initialize() if we are checking the nocertdb pref later anyway and assigning values to this.initializationPromise depending on it. Or maybe a better explanation: Just checking the pref (which we do anyway) to get to know whether the initialization fails due to it or not is enough; there is no need to try to run the init code, too.

This is a very good idea.

2) You cleaned up some indentations, could you do that with the other

if (!this._storage)
    throw "No storage to set login saving enabled";

blocks as well?

Yes, we will fix them.

3) I get

NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIPK11Token.initPassword] crypto-SDR.js:85:0

at start-up and vaguely remember that the crypto initialization was broken due to security.nocertdb as well but got fixed somehow. I can't seem to find the ticket anymore, though. Is this a different issue?

That is caused by this same issue... not calling _storage.initialize() should make this go away.

Thanks for your review and suggestions. We will post a new patch very soon.

comment:7 Changed 4 years ago by gk

Resolution: fixed
Status: needs_reviewclosed

Commit dd8b29f3db500ab7586a25f2bdfa5b2af7c88607 (5.5) and 2cf98b364beb59360849389c316aa2b73194eb0b (5.0) have the fix, thanks.

comment:8 Changed 4 years ago by mikeperry

Resolution: fixed
Status: closedreopened

We dropped this from 5.5a2 and 5.0.1 due to the urgency of the release. Reopening so we remember to re-merge this after Thursday's release.

comment:9 Changed 4 years ago by cypherpunks

getFirstPartyURI failed for https://www.wickr.com/wp-content/uploads/2014/06/wickr.png: 0x80070057
On https://wickr.com/: blocked access to canvas image data from document https://wickr.com/, script from https://wickr.com/:31
getFirstPartyURI failed for http://ocsp.digicert.com/: 0x80070057
getFirstPartyURI failed for http://clients1.google.com/ocsp: 0x80070057
[NoScript HTTPS] AUTOMATIC SECURE on https://www.youtube.com: VISITOR_INFO1_LIVE=aGMzu1K7XFg; domain=.youtube.com; path=/; HttpOnly; Secure
[NoScript HTTPS] AUTOMATIC SECURE on https://www.youtube.com: YSC=XgJNzqO884s; domain=.youtube.com; path=/; HttpOnly; Secure
getFirstPartyURI failed for https://www.wickr.com/wp-content/uploads/2014/06/wickr.png: 0x80070057
NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIPK11Token.initPassword] crypto-SDR.js:85:0
uncaught exception: Initialization failed <unknown>
NS_ERROR_XPC_JS_THREW_STRING: Initialization failed'Initialization failed' when calling method: [nsILoginManagerStorage::initialize] nsLoginManager.js:156:0
NS_ERROR_XPC_GS_RETURNED_FAILURE: Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService] security.js:333:0
NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIMIMEService.getTypeFromExtension] external-app-blocker.js line 131 > eval:1:0

comment:10 Changed 4 years ago by gk

Resolution: fixed
Status: reopenedclosed

This is commit 313e32cf752756d9c64e05058342cdda84d550e7 (tor-browser-38.2.1esr-5.5-2) and commit 85ae5da40c3b969157243e62f8f5b35829577717 (tor-browser-38.2.1esr-5.0-2) now.

Note: See TracTickets for help on using tickets.