Closed
Bug 1448850
Opened 7 years ago
Closed 7 years ago
Remove some message manager XPCOM interfaces
Categories
(Core :: DOM: Core & HTML, enhancement)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla61
Tracking | Status | |
---|---|---|
firefox61 | --- | fixed |
People
(Reporter: peterv, Assigned: peterv)
References
Details
Attachments
(10 files)
5.37 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
7.55 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
7.76 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
10.54 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
6.16 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
15.50 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
19.58 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
50.51 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
22.37 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
72.61 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•7 years ago
|
||
Attachment #8962334 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 2•7 years ago
|
||
Attachment #8962335 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 3•7 years ago
|
||
Attachment #8962343 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 4•7 years ago
|
||
Attachment #8962344 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 5•7 years ago
|
||
Attachment #8962345 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 6•7 years ago
|
||
Attachment #8962349 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 7•7 years ago
|
||
Attachment #8962350 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 8•7 years ago
|
||
Attachment #8962384 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 9•7 years ago
|
||
Attachment #8962387 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 10•7 years ago
|
||
Attachment #8962391 -
Flags: review?(bzbarsky)
Comment on attachment 8962391 [details] [diff] [review]
Remove nsIMessageListener and nsIMessageListenerManager
Review of attachment 8962391 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/base/nsIMessageManager.idl
@@ -16,5 @@
> // codegen doesn't try to do anything with it.
> native nativeFrameLoader(nsFrameLoader*);
>
> /**
> - * Message managers provide a way for chrome-privileged JS code to
Can we preserve these comments about the message manager design somewhere? I have found them quite useful as a reference.
Perhaps they could go in dom/chrome-webidl/MessageManager.webidl?
Apologies if a separate patch has copied them somewhere; I scanned quite quickly.
![]() |
||
Comment 12•7 years ago
|
||
Comment on attachment 8962334 [details] [diff] [review]
Remove nsIContentProcessMessageManager
>Bug 1448850 - Remove some message manager XPCOM interfaces. Remove nsIContentProcessMessageManager.
Not sure it's worth preserving the bug summary in every commit message...
>+ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIMessageManagerGlobal)
We don't actually QI to nsIMessageManagerGlobal!
Not going to worry about it, since you remove it just down the line a bit. ;)
r=me
Attachment #8962334 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 13•7 years ago
|
||
Comment on attachment 8962335 [details] [diff] [review]
Remove nsIGlobalProcessScriptLoader
>+ sParentProcessManager->GetInitialProcessData(aCx, &init, IgnoreErrors());
Are we guaranteed this won't throw? Some of the codepaths in there just NoteJSContextException(), which means we could leave a dangling exception on aCx...
It would make more sense to me to pass aError here and if it fails return immediately.
>+ rv.SuppressException();
Could just use an IgnoredErrorResult to start with, so exceptions are auto-suppressed, since that's the semantic we want here.
r=me with that bit about IgnoreErrors() fixed.
Attachment #8962335 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 14•7 years ago
|
||
Comment on attachment 8962343 [details] [diff] [review]
Remove nsIProcessScriptLoader
r=me
Attachment #8962343 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 15•7 years ago
|
||
Comment on attachment 8962344 [details] [diff] [review]
Remove nsIFrameScriptLoader
>- LoadFrameScript(mPendingScripts[i], false, mPendingScriptsGlobalStates[i]);
>+ LoadScript(mPendingScripts[i], false, mPendingScriptsGlobalStates[i], IgnoreErrors());
Why this change?
Same in the other place in nsFrameMessageManager::LoadPendingScripts.
r=me if the commit message is fixed to answer this question.
Attachment #8962344 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 16•7 years ago
|
||
Comment on attachment 8962345 [details] [diff] [review]
Empty nsIContentFrameMessageManager and remove nsIInProcessContentFrameMessageManager::CacheFrameLoader
r=me
Attachment #8962345 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 17•7 years ago
|
||
Comment on attachment 8962349 [details] [diff] [review]
Remove nsIMessageManagerGlobal
r=me
Attachment #8962349 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 18•7 years ago
|
||
Comment on attachment 8962350 [details] [diff] [review]
Remove nsISyncMessageSender
r=me
Attachment #8962350 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 19•7 years ago
|
||
Comment on attachment 8962384 [details] [diff] [review]
Remove nsIMessageBroadcaster
>+++ b/dom/base/ChromeMessageBroadcaster.h
>+ static ChromeMessageBroadcaster* From(nsFrameMessageManager* aManager)
...
>+ if (aManager->IsBroadcaster() && aManager->IsChrome()) {
>+ return static_cast<ChromeMessageBroadcaster*>(aManager);
Can we add an assert that aFlags in the ChromeMessageSender ctor never contains MM_BROADCASTER, just to make sure we can't land in here with a ChromeMessageSender of some sort?
>+++ b/dom/base/nsGlobalWindowInner.cpp
> nsGlobalWindowInner::GetGroupMessageManager(const nsAString& aGroup,
> ErrorResult& aError)
aError seems unused here. Remove, please?
>+++ b/dom/base/nsGlobalWindowOuter.cpp
So why does GetMessageManager() just return null while GetGroupMessageManager() throws in the no-inner-window case?
>+++ b/dom/base/nsIMessageManager.idl
>- * Message "broadcasters" don't have a single "other side" that they
>- * send messages to, but rather a set of subordinate message managers.
>- * For example, broadcasting a message through a window message
>- * manager will broadcast the message to all frame message managers
>- * within its window.
Please move this comment to the webidl instead of just deleting it.
r=me with those fixed.
Attachment #8962384 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 20•7 years ago
|
||
Comment on attachment 8962387 [details] [diff] [review]
Empty nsIMessageSender
>+++ b/dom/base/nsFrameLoader.cpp
>+already_AddRefed<mozilla::dom::MessageSender>
This file "uses namespace mozilla::dom", so drop that bit.
r=me
Attachment #8962387 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 21•7 years ago
|
||
Comment on attachment 8962391 [details] [diff] [review]
Remove nsIMessageListener and nsIMessageListenerManager
>+++ b/dom/base/nsIMessageManager.idl
Please move the overall descriptive comment to MessageManager.webidl, with edits to reflect actual class names.
r=me with that.
Attachment #8962391 -
Flags: review?(bzbarsky) → review+
Assignee | ||
Comment 22•7 years ago
|
||
(In reply to Boris Zbarsky [:bz] (no decent commit message means r-) from comment #19)
> Comment on attachment 8962384 [details] [diff] [review]
> Remove nsIMessageBroadcaster
> Can we add an assert that aFlags in the ChromeMessageSender ctor never
> contains MM_BROADCASTER, just to make sure we can't land in here with a
> ChromeMessageSender of some sort?
ChromeMessageSender already has
MOZ_ASSERT(!(aFlags & ~(MessageManagerFlags::MM_GLOBAL |
MessageManagerFlags::MM_PROCESSMANAGER |
MessageManagerFlags::MM_OWNSCALLBACK)));
Assignee | ||
Comment 23•7 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/79f16e24a288ded97b3b942e71ebfe74f8e7425a
Bug 1448850 - Remove nsIContentProcessMessageManager. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/359e001359498ad8c11e440dfa003a761ba866a1
Bug 1448850 - Remove nsIGlobalProcessScriptLoader. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/5ccff2e9f083ab33b0be2970f93eeb2b04027ae7
Bug 1448850 - Remove nsIProcessScriptLoader. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/34e39e0ddbec57250220703aa17393033ec9cda2
Bug 1448850 - Remove nsIFrameScriptLoader. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/0d179fc641fe6f09e207b810a3561c79cde1d0f6
Bug 1448850 - Empty nsIContentFrameMessageManager and remove nsIInProcessContentFrameMessageManager::CacheFrameLoader. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/78f654af7e6f8af6b0349bfe9c56668bb5246510
Bug 1448850 - Remove nsIMessageManagerGlobal. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/bdc39e79c58b518d2c37658f4bcba06ab5c9680b
Bug 1448850 - Remove nsISyncMessageSender. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/f2f3dafc8ca0b995f49e74ceee51eddab74ffd94
Bug 1448850 - Remove nsIMessageBroadcaster. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/9f0042d44d22771cbb428a6f885becc1f1f61f63
Bug 1448850 - Empty nsIMessageSender. r=bz.
https://hg.mozilla.org/integration/mozilla-inbound/rev/b8eff76f4ae6d9cc2166fb04b69331de96a5134b
Bug 1448850 - Remove nsIMessageListener and nsIMessageListenerManager. r=bz.
Comment 24•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/79f16e24a288
https://hg.mozilla.org/mozilla-central/rev/359e00135949
https://hg.mozilla.org/mozilla-central/rev/5ccff2e9f083
https://hg.mozilla.org/mozilla-central/rev/34e39e0ddbec
https://hg.mozilla.org/mozilla-central/rev/0d179fc641fe
https://hg.mozilla.org/mozilla-central/rev/78f654af7e6f
https://hg.mozilla.org/mozilla-central/rev/bdc39e79c58b
https://hg.mozilla.org/mozilla-central/rev/f2f3dafc8ca0
https://hg.mozilla.org/mozilla-central/rev/9f0042d44d22
https://hg.mozilla.org/mozilla-central/rev/b8eff76f4ae6
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•