[tbb-bugs] #13439 [Tor Browser]: Inspector raises the canvas prompt when hovering over images

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Dec 8 10:20:14 UTC 2014


#13439: Inspector raises the canvas prompt when hovering over images
-------------------------+-------------------------------------------------
     Reporter:  dcf      |      Owner:  tbb-team
         Type:  defect   |     Status:  needs_review
     Priority:  minor    |  Milestone:
    Component:  Tor      |    Version:
  Browser                |   Keywords:  tbb-easy, tbb-usability,
   Resolution:           |  TorBrowserTeam201412R
Actual Points:           |  Parent ID:
       Points:           |
-------------------------+-------------------------------------------------

Comment (by gk):

 Replying to [comment:16 gacar]:
 > Replying to [comment:15 gk]:
 > > gacar: thanks. One question: Why do you have
 > > {{{
 > > JS::DescribeScriptedCaller(aCx, &scriptFile, &scriptLine)
 > > }}}
 > > wrapped in an if-clause? Reading the code this means to me this call
 can fail but *not* for
 > > third-party content as you are assuming `scriptFile.get()` and
 `scriptLine` are available unconditionally in this scenario. If that is
 correct which failing scenarios did you have in mind?
 > I didn't think about any specific scenario but just tried to be
 cautious.

 Ok, good. :)

 > When `DescribeScriptedCaller` returns false, we're sure that neither
 `scriptFile` nor `scriptLine` is updated with the caller script's URL and
 line no: http://mxr.mozilla.org/mozilla-esr31/source/js/src/jsapi.cpp#6259
 >
 > So there was no reason to continue with the `strcmp`, when `scriptFile`
 doesn't hold the real script URL.
 >
 > Does that make sense?

 Yes, but I was not talking about that part. I was wondering about:
 {{{
         nsPrintfCString msg("On %s: blocked access to canvas image data"
                             " from document %s, script from %s:%u ",  //
 L10n
                             firstPartySpec.get(), docSpec.get(),
                             scriptFile.get(), scriptLine);
 }}}
 where the message is constructed with the script file and the respective
 line *regardless* whether `DescribeScriptedCaller` succeeded or not. It
 seems to me if you wrap the former in an if-clause to be defensive (which
 is good, especially as Mozilla has not our patch in its repository yet and
 might change behavior of code we need without us noticing it) you should
 make sure `scriptFile` is updated when constructing the message as well
 (if not we might just give back a generic message without it).

 One additional nit: Mozilla code breaks usually at 80 chars. I think we
 should follow that rule. It might make it a bit easier to upstream things
 without spending another review cycle fixing the line-wrapping.

 Now: does that make sense?

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


More information about the tbb-bugs mailing list