Closed Bug 913280 Opened 7 years ago Closed 6 years ago

Electrolysis: Refactor RemoteWebProgress

Categories

(Core :: DOM: Navigation, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla26

People

(Reporter: evilpie, Assigned: evilpie)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached patch WIPSplinter Review
As promised in Bug 910838. I refactor RemoteWebProgress to have a manager, that decide, which WebProgress should be used. There is one static WebProgress for the top-level. All the updating of browser variables is done in the manager as well.
Attachment #800500 - Flags: review?(felipc)
Comment on attachment 800500 [details] [diff] [review]
WIP

Review of attachment 800500 [details] [diff] [review]:
-----------------------------------------------------------------

\o/

::: toolkit/content/widgets/remote-browser.xml
@@ +55,5 @@
>                let jsm = "resource://gre/modules/RemoteWebProgress.jsm";
> +              let RemoteWebProgressManager = Components.utils.import(jsm, {})
> +                                              .RemoteWebProgressManager;
> +              this._remoteWebProgress = new RemoteWebProgressManager(this)
> +                                         .topLevelWebProgress;

nit: shorten Components.utils to Cu

::: toolkit/modules/RemoteWebProgress.jsm
@@ +92,3 @@
>    },
>  
> +  fixSSLStatusAndState: function (aStatus, aState) {

nit: this function should probably be "private", i.e. "_fixSSLStatusAndState"
Attachment #800500 - Flags: review?(felipc) → review+
Assignee: nobody → evilpies
Status: NEW → ASSIGNED
https://hg.mozilla.org/mozilla-central/rev/3d72fcbf22a5
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Doesn't this patch mean that all top-level windows will share the same nsIWebProgress object? I thought the whole point was to use different objects for different windows.
No. Every top-level DOMWindow per browser still gets their own nsIWebProgress. Subframes always get a new object.
Oh, OK, I see. There's a new manager for each <browser>.
You need to log in before you can comment on or make changes to this bug.