Last Comment Bug 776140 - Add GetExtendedOrigin method to nsILoadContext
: Add GetExtendedOrigin method to nsILoadContext
Product: Core
Classification: Components
Component: General (show other bugs)
: unspecified
: All All
: -- normal (vote)
: mozilla17
Assigned To: Jason Duell [:jduell] (needinfo? me)
Depends on: 779123
Blocks: 776176 780818
  Show dependency treegraph
Reported: 2012-07-20 15:18 PDT by Jason Duell [:jduell] (needinfo? me)
Modified: 2012-08-06 22:16 PDT (History)
4 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

v1 (3.95 KB, patch)
2012-07-20 15:18 PDT, Jason Duell [:jduell] (needinfo? me)
no flags Details | Diff | Review
v2: pass URI instead of channel (3.95 KB, patch)
2012-07-20 17:20 PDT, Jason Duell [:jduell] (needinfo? me)
no flags Details | Diff | Review
v3: forgot to run qref (3.86 KB, patch)
2012-07-20 17:24 PDT, Jason Duell [:jduell] (needinfo? me)
justin.lebar+bug: review+
jonas: superreview+
Details | Diff | Review

Description Jason Duell [:jduell] (needinfo? me) 2012-07-20 15:18:39 PDT
Created attachment 644498 [details] [diff] [review]

Jonas suggests we make it easy for channels on the parent to get the ExtendedOrigin while keeping the code centralized.  I saw 3 ways of doing it

1) Having nsNetUtil (or other necko code) call into nsScriptSecurityManager::GetExtendedOrigin.   But necko doesn't currently know about nsScriptSecurityManager, and biesi is not happy about changing that.

2) moving the logic from nsScriptSecurityManager::GetExtendedOrigin to nsNetUtil.h.  Mounir is opposed on the principle that this is security code, not necko logic.  And there are some nsScriptSecurityManager constants that the method uses, so we'd still have to include nsScriptSecurityManager.h, or dupe the constant definitions.

3) Adding a GetExtendedOrigin method to nsILoadContext (it can't be an attribute, as it needs to take a Channel/URI for the origin). We've already got the infrastructure to send nsILoadContext fields across IPDL to the parent (to this will be another string across the wire).  Biesi seems to prefer this. And that's what this patch does.  (minus the IPDL parts--that patch would be a separate bug)
Comment 1 Jason Duell [:jduell] (needinfo? me) 2012-07-20 17:20:45 PDT
Created attachment 644535 [details] [diff] [review]
v2: pass URI instead of channel

Turns out nsIWebSocket is not an nsIChannel, so this needs to take the URI directly.
Comment 2 Jason Duell [:jduell] (needinfo? me) 2012-07-20 17:24:10 PDT
Created attachment 644536 [details] [diff] [review]
v3: forgot to run qref
Comment 3 Jason Duell [:jduell] (needinfo? me) 2012-07-23 11:13:17 PDT
Comment 4 Ed Morley [:emorley] 2012-07-24 03:01:51 PDT

Note You need to log in before you can comment on or make changes to this bug.