Closed Bug 1391110 Opened 3 years ago Closed 3 years ago

Convert FrameLoader bindings to WebIDL

Categories

(Core :: DOM: Core & HTML, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: kmag, Assigned: kmag)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [qf:p1])

Attachments

(4 files)

(and possibly MessageManager too)

I'm looking at profiles of tab code where 13ms of a 50ms block is XPConnect overhead from frameloaders and webnavigation objects, which should drop to approximately 0 for WebIDL.

Presumably this shows up in a lot of other places, too.
Blocks: 1392011
Splitting this into two bugs, since the docShell case is much more complicated.
Summary: Convert WebNavigation and FrameLoader to WebIDL → Convert FrameLoader bindings to WebIDL
Comment on attachment 8899195 [details]
Bug 1391110: Part 4 - Remove unnecessary nsIFrameLoaderOwner QIs.

https://reviewboard.mozilla.org/r/170466/#review175638
Attachment #8899195 - Flags: review?(bugs) → review+
Comment on attachment 8899193 [details]
Bug 1391110: Part 2 - Reparent FrameLoader wrapper when owner content changes.

https://reviewboard.mozilla.org/r/170462/#review175640

scary.
Attachment #8899193 - Flags: review?(bugs) → review+
Comment on attachment 8899194 [details]
Bug 1391110: Part 3 - Add nsIWebBrowserPersistable to FrameLoader bindings.

https://reviewboard.mozilla.org/r/170464/#review175642

::: dom/base/nsFrameLoader.cpp:3878
(Diff revision 1)
>    }
>  }
>  
> +void
> +nsFrameLoader::StartPersistence(uint64_t aOuterWindowID,
> +                     nsIWebBrowserPersistDocumentReceiver* aRecv,

Could you align latter two params under the first one.
Attachment #8899194 - Flags: review?(bugs) → review+
Btw, do you have links to some profiles where all this is showing up badly?
Comment on attachment 8899192 [details]
Bug 1391110: Part 1 - Convert FrameLoader bindings to WebIDL.

https://reviewboard.mozilla.org/r/170460/#review175644
Attachment #8899192 - Flags: review?(bugs) → review+
Whiteboard: [qf] → [qf:p1]
(In reply to Olli Pettay [:smaug] from comment #9)
> Btw, do you have links to some profiles where all this is showing up badly?

Not for most of them (perf-html links are hard to keep track of), but here's the most relevant one for frameloader performance in my recent history:

https://perfht.ml/2vjtOLR

Which is based on a testcase add-on replicating the performance issues from bug 1385618. They also show up in Andy's profiles in that bug (comment 6), particularly the WebNavigation issues:

https://perfht.ml/2v0SEVg
Depends on: 1404681
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.