Open Bug 1057531 Opened 10 years ago Updated 2 years ago

move most "URI fixup" logic out of docshell

Categories

(Firefox :: General, defect)

29 Branch
defect

Tracking

()

People

(Reporter: Gavin, Unassigned)

References

Details

Things like bug 693808, bug 982428, bug 494092 should ideally not need to be fixed in docshell C++. Logic related to LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP and LOAD_FLAGS_FIXUP_SCHEME_TYPOS, for example, should live in some component "in between" the front-end URL bar command handling code and the docshell loadURI code. Ideally docshell would just load what it is told to. In some cases (e.g. bug 1057166, bug 693808), the front-end needs to be able to see what ends up happening during this fixup. Bug 693808 added a notification and nsIURIFixupInfo to allow passing some information back, which is a fine interim solution, but ideally we would simplify this code significantly. Probably much of this code (particularly the string munging stuff) can also be moved to JS, too. Someone needs to sit down and work out the various compatibility constraints, and break down the best approach for this.
Flags: qe-verify-
Flags: firefox-backlog+
(In reply to :Gavin Sharp [email: gavin@gavinsharp.com] from comment #0) > Things like bug 693808, bug 982428, bug 494092 should ideally not need to be > fixed in docshell C++. > > Logic related to LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP and > LOAD_FLAGS_FIXUP_SCHEME_TYPOS, for example, should live in some component > "in between" the front-end URL bar command handling code and the docshell > loadURI code. Ideally docshell would just load what it is told to. > > In some cases (e.g. bug 1057166, bug 693808), the front-end needs to be able > to see what ends up happening during this fixup. Bug 693808 added a > notification and nsIURIFixupInfo to allow passing some information back, > which is a fine interim solution, but ideally we would simplify this code > significantly. > > Probably much of this code (particularly the string munging stuff) can also > be moved to JS, too. > > Someone needs to sit down and work out the various compatibility > constraints, and break down the best approach for this. Seems to me like the simplest would be to make a toolkit JSM with a thin XPCOM layer for backwards compat and calling from C++ consumers...
Assignee: nobody → abardas
Status: NEW → ASSIGNED
Blocks: 1085377
Depends on: 1094179
No longer depends on: 1094179
Assigning to nobody@ since Alex hasn't been around for a while. Per discussion with dolske, might have someone to work on this "soon".
Assignee: alex.bardas → nobody
Status: ASSIGNED → NEW
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.