[tbb-bugs] #17248 [Tor Browser]: Investigate new WebExtensions API requirements for our extensions

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Nov 12 15:58:07 UTC 2015


#17248: Investigate new WebExtensions API requirements for our extensions
----------------------------------+--------------------------
 Reporter:  gk                    |          Owner:  tbb-team
     Type:  task                  |         Status:  new
 Priority:  High                  |      Milestone:
Component:  Tor Browser           |        Version:
 Severity:  Normal                |     Resolution:
 Keywords:  TorBrowserTeam201511  |  Actual Points:
Parent ID:                        |         Points:
  Sponsor:                        |
----------------------------------+--------------------------

Comment (by brade):

 '''Requirements for which there are other acceptable workarounds (WA#):'''

 WA1: Identify application (e.g., Firefox vs. Thunderbird)
 Current Solution: nsIXULAppInfo.ID
 New Solution: Extract info from navigator.userAgent

 WA2: Get application version (e.g., 42.0)
 Current Solution: nsIXULAppInfo.version
 New Solution: Extract info from navigator.userAgent

 WA3: Find a window of a particular type
 Current Solution: nsIWindowMediator.getMostRecentWindow()
 New Solution: Cache the ID of special windows that we open and se
 chrome.windows.get() to retrieve by ID

 WA4: Log to the console
 Current Solution: nsIConsoleService.logStringMessage()
 New Solution: console.log()

 WA5: Display an error alert
 Current Solution: nsIPromptService.alert()
 New Solution: window.alert()

 WA6: Localized date and time formatting
 Current Solution: nsIScriptableDateFormat.FormatDateTime()
 New Solution: Use JS APIs such as Date.toLocaleDateString()
 Notes: Needed in Tor Launcher to format dates and time for log messages

 WA7: Timers
 Current Solution: nsITimer with TYPE_ONE_SHOT
 New Solution: window.setTimeout(). Also look at chrome.alarms.*

 WA8: Encode a password using SHA1
 Current Solution: nsICryptoHash
 New Solution: Web Crypto API: window.crypto.subtle.digest("SHA-1")

 WA9: Generate random bytes
 Current Solution: nsIRandomGenerator
 New Solution: Web Crypto API: window.crypto.getRandomValues()
 Notes: Used in Tor Launcher to generate a random control port password.
 Tor Issue: Will window.crypto.getRandomValues() produce a secure enough
 password?

 WA10: Wizard-style configuration UI
 Current Solution: XUL <wizard>
 New Solution: Roll our own using HTML and CSS.

 WA11: Progress meter
 Current Solution: XUL <progressmeter>
 New Solution: HTML5 <meter>

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/17248#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tbb-bugs mailing list