diff options
author | Matt A. Tobin <email@mattatobin.com> | 2021-01-25 17:19:43 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2021-01-25 17:38:49 -0500 |
commit | 7702d1f3fa94d77931a1fd76a7b8a3288f98ce60 (patch) | |
tree | 2390bda35f6b3bcdd31956b3e71cee66bae3b6c9 | |
parent | 1126548deecfd736755f1e1b7e7d551b42e73780 (diff) | |
download | UXP-7702d1f3fa94d77931a1fd76a7b8a3288f98ce60.tar UXP-7702d1f3fa94d77931a1fd76a7b8a3288f98ce60.tar.gz UXP-7702d1f3fa94d77931a1fd76a7b8a3288f98ce60.tar.lz UXP-7702d1f3fa94d77931a1fd76a7b8a3288f98ce60.tar.xz UXP-7702d1f3fa94d77931a1fd76a7b8a3288f98ce60.zip |
Issue #1390 - Clean up presentation api leftovers
-rw-r--r-- | dom/base/nsContentUtils.cpp | 56 | ||||
-rw-r--r-- | dom/base/nsContentUtils.h | 6 | ||||
-rw-r--r-- | dom/base/nsFrameLoader.cpp | 16 | ||||
-rw-r--r-- | dom/base/nsGkAtomList.h | 1 | ||||
-rw-r--r-- | dom/ipc/PTabContext.ipdlh | 5 | ||||
-rw-r--r-- | dom/ipc/TabChild.cpp | 5 | ||||
-rw-r--r-- | dom/ipc/TabContext.cpp | 16 | ||||
-rw-r--r-- | dom/ipc/TabContext.h | 20 | ||||
-rw-r--r-- | modules/libpref/init/all.js | 15 |
9 files changed, 6 insertions, 134 deletions
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index a34752554..107daaede 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -9341,62 +9341,6 @@ nsContentUtils::SetScrollbarsVisibility(nsIDocShell* aDocShell, bool aVisible) } } -/* static */ void -nsContentUtils::GetPresentationURL(nsIDocShell* aDocShell, nsAString& aPresentationUrl) -{ - MOZ_ASSERT(aDocShell); - - // Simulate receiver context for web platform test - if (Preferences::GetBool("dom.presentation.testing.simulate-receiver")) { - nsCOMPtr<nsIDocument> doc; - - nsCOMPtr<nsPIDOMWindowOuter> docShellWin = - do_QueryInterface(aDocShell->GetScriptGlobalObject()); - if (docShellWin) { - doc = docShellWin->GetExtantDoc(); - } - - if (NS_WARN_IF(!doc)) { - return; - } - - nsCOMPtr<nsIURI> uri = doc->GetDocumentURI(); - if (NS_WARN_IF(!uri)) { - return; - } - - nsAutoCString uriStr; - uri->GetSpec(uriStr); - aPresentationUrl = NS_ConvertUTF8toUTF16(uriStr); - return; - } - - if (XRE_IsContentProcess()) { - nsCOMPtr<nsIDocShellTreeItem> sameTypeRoot; - aDocShell->GetSameTypeRootTreeItem(getter_AddRefs(sameTypeRoot)); - nsCOMPtr<nsIDocShellTreeItem> root; - aDocShell->GetRootTreeItem(getter_AddRefs(root)); - if (sameTypeRoot.get() == root.get()) { - // presentation URL is stored in TabChild for the top most - // <iframe mozbrowser> in content process. - TabChild* tabChild = TabChild::GetFrom(aDocShell); - if (tabChild) { - aPresentationUrl = tabChild->PresentationURL(); - } - return; - } - } - - nsCOMPtr<nsILoadContext> loadContext(do_QueryInterface(aDocShell)); - nsCOMPtr<nsIDOMElement> topFrameElement; - loadContext->GetTopFrameElement(getter_AddRefs(topFrameElement)); - if (!topFrameElement) { - return; - } - - topFrameElement->GetAttribute(NS_LITERAL_STRING("mozpresentation"), aPresentationUrl); -} - /* static */ nsIDocShell* nsContentUtils::GetDocShellForEventTarget(EventTarget* aTarget) { diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h index e0c023fff..83ee41740 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h @@ -2680,12 +2680,6 @@ public: static void SetScrollbarsVisibility(nsIDocShell* aDocShell, bool aVisible); /* - * Return the associated presentation URL of the presented content. - * Will return empty string if the docshell is not in a presented content. - */ - static void GetPresentationURL(nsIDocShell* aDocShell, nsAString& aPresentationUrl); - - /* * Try to find the docshell corresponding to the given event target. */ static nsIDocShell* GetDocShellForEventTarget(mozilla::dom::EventTarget* aTarget); diff --git a/dom/base/nsFrameLoader.cpp b/dom/base/nsFrameLoader.cpp index 79c889596..b4397d063 100644 --- a/dom/base/nsFrameLoader.cpp +++ b/dom/base/nsFrameLoader.cpp @@ -3102,14 +3102,6 @@ nsFrameLoader::ApplySandboxFlags(uint32_t sandboxFlags) // The child can only add restrictions, never remove them. sandboxFlags |= parentSandboxFlags; - // If this frame is a receiving browsing context, we should add - // sandboxed auxiliary navigation flag to sandboxFlags. See - // https://w3c.github.io/presentation-api/#creating-a-receiving-browsing-context - nsAutoString presentationURL; - nsContentUtils::GetPresentationURL(mDocShell, presentationURL); - if (!presentationURL.IsEmpty()) { - sandboxFlags |= SANDBOXED_AUXILIARY_NAVIGATION; - } mDocShell->SetSandboxFlags(sandboxFlags); } } @@ -3427,11 +3419,6 @@ nsFrameLoader::GetNewTabContext(MutableTabContext* aTabContext, rv = PopulateUserContextIdFromAttribute(attrs); NS_ENSURE_SUCCESS(rv, rv); - nsAutoString presentationURLStr; - mOwnerContent->GetAttr(kNameSpaceID_None, - nsGkAtoms::mozpresentation, - presentationURLStr); - nsCOMPtr<nsIDocShell> docShell = mOwnerContent->OwnerDoc()->GetDocShell(); nsCOMPtr<nsILoadContext> parentContext = do_QueryInterface(docShell); NS_ENSURE_STATE(parentContext); @@ -3459,8 +3446,7 @@ nsFrameLoader::GetNewTabContext(MutableTabContext* aTabContext, containingApp, showAccelerators, showFocusRings, - attrs, - presentationURLStr); + attrs); NS_ENSURE_STATE(tabContextUpdated); return NS_OK; diff --git a/dom/base/nsGkAtomList.h b/dom/base/nsGkAtomList.h index a1a0b15f9..5e08fdc20 100644 --- a/dom/base/nsGkAtomList.h +++ b/dom/base/nsGkAtomList.h @@ -1038,7 +1038,6 @@ GK_ATOM(predicate, "predicate") GK_ATOM(prefix, "prefix") GK_ATOM(preload, "preload") GK_ATOM(prerendered, "prerendered") -GK_ATOM(mozpresentation, "mozpresentation") GK_ATOM(preserve, "preserve") GK_ATOM(preserveSpace, "preserve-space") GK_ATOM(preventdefault, "preventdefault") diff --git a/dom/ipc/PTabContext.ipdlh b/dom/ipc/PTabContext.ipdlh index 72cd90e2a..62d6ec0f3 100644 --- a/dom/ipc/PTabContext.ipdlh +++ b/dom/ipc/PTabContext.ipdlh @@ -48,11 +48,6 @@ struct FrameIPCTabContext // Whether this TabContext should work in prerender mode. bool isPrerendered; - // The requested presentation URL. - // This value would be empty if the TabContext isn't created for - // presented content. - nsString presentationURL; - // Keyboard indicator state inherited from the parent. UIStateChangeType showAccelerators; UIStateChangeType showFocusRings; diff --git a/dom/ipc/TabChild.cpp b/dom/ipc/TabChild.cpp index 182aa628b..caae91fa5 100644 --- a/dom/ipc/TabChild.cpp +++ b/dom/ipc/TabChild.cpp @@ -770,11 +770,6 @@ TabChild::NotifyTabContextUpdated(bool aIsPreallocated) if (aIsPreallocated) { nsDocShell::Cast(docShell)->SetOriginAttributes(OriginAttributesRef()); } - - // Set SANDBOXED_AUXILIARY_NAVIGATION flag if this is a receiver page. - if (!PresentationURL().IsEmpty()) { - docShell->SetSandboxFlags(SANDBOXED_AUXILIARY_NAVIGATION); - } } void diff --git a/dom/ipc/TabContext.cpp b/dom/ipc/TabContext.cpp index 66a279052..b313da0ff 100644 --- a/dom/ipc/TabContext.cpp +++ b/dom/ipc/TabContext.cpp @@ -190,12 +190,6 @@ TabContext::OriginAttributesRef() const return mOriginAttributes; } -const nsAString& -TabContext::PresentationURL() const -{ - return mPresentationURL; -} - UIStateChangeType TabContext::ShowAccelerators() const { @@ -215,8 +209,7 @@ TabContext::SetTabContext(bool aIsMozBrowserElement, mozIApplication* aAppFrameOwnerApp, UIStateChangeType aShowAccelerators, UIStateChangeType aShowFocusRings, - const DocShellOriginAttributes& aOriginAttributes, - const nsAString& aPresentationURL) + const DocShellOriginAttributes& aOriginAttributes) { NS_ENSURE_FALSE(mInitialized, false); @@ -248,7 +241,6 @@ TabContext::SetTabContext(bool aIsMozBrowserElement, mContainingAppId = containingAppId; mOwnApp = aOwnApp; mContainingApp = aAppFrameOwnerApp; - mPresentationURL = aPresentationURL; mShowAccelerators = aShowAccelerators; mShowFocusRings = aShowFocusRings; return true; @@ -261,7 +253,6 @@ TabContext::AsIPCTabContext() const mContainingAppId, mIsMozBrowserElement, mIsPrerendered, - mPresentationURL, mShowAccelerators, mShowFocusRings)); } @@ -285,7 +276,6 @@ MaybeInvalidTabContext::MaybeInvalidTabContext(const IPCTabContext& aParams) bool isPrerendered = false; uint32_t containingAppId = NO_APP_ID; DocShellOriginAttributes originAttributes; - nsAutoString presentationURL; UIStateChangeType showAccelerators = UIStateChangeType_NoChange; UIStateChangeType showFocusRings = UIStateChangeType_NoChange; @@ -348,7 +338,6 @@ MaybeInvalidTabContext::MaybeInvalidTabContext(const IPCTabContext& aParams) isMozBrowserElement = ipcContext.isMozBrowserElement(); isPrerendered = ipcContext.isPrerendered(); containingAppId = ipcContext.frameOwnerAppId(); - presentationURL = ipcContext.presentationURL(); showAccelerators = ipcContext.showAccelerators(); showFocusRings = ipcContext.showFocusRings(); originAttributes = ipcContext.originAttributes(); @@ -395,8 +384,7 @@ MaybeInvalidTabContext::MaybeInvalidTabContext(const IPCTabContext& aParams) containingApp, showAccelerators, showFocusRings, - originAttributes, - presentationURL); + originAttributes); if (!rv) { mInvalidReason = "Couldn't initialize TabContext."; } diff --git a/dom/ipc/TabContext.h b/dom/ipc/TabContext.h index 1507a0dc8..e0b6f0d96 100644 --- a/dom/ipc/TabContext.h +++ b/dom/ipc/TabContext.h @@ -125,12 +125,6 @@ public: */ const DocShellOriginAttributes& OriginAttributesRef() const; - /** - * Returns the presentation URL associated with the tab if this tab is - * created for presented content - */ - const nsAString& PresentationURL() const; - UIStateChangeType ShowAccelerators() const; UIStateChangeType ShowFocusRings() const; @@ -169,8 +163,7 @@ protected: mozIApplication* aAppFrameOwnerApp, UIStateChangeType aShowAccelerators, UIStateChangeType aShowFocusRings, - const DocShellOriginAttributes& aOriginAttributes, - const nsAString& aPresentationURL); + const DocShellOriginAttributes& aOriginAttributes); /** * Modify this TabContext to match the given TabContext. This is a special @@ -226,11 +219,6 @@ private: DocShellOriginAttributes mOriginAttributes; /** - * The requested presentation URL. - */ - nsString mPresentationURL; - - /** * Keyboard indicator state (focus rings, accelerators). */ UIStateChangeType mShowAccelerators; @@ -257,8 +245,7 @@ public: mozIApplication* aAppFrameOwnerApp, UIStateChangeType aShowAccelerators, UIStateChangeType aShowFocusRings, - const DocShellOriginAttributes& aOriginAttributes, - const nsAString& aPresentationURL = EmptyString()) + const DocShellOriginAttributes& aOriginAttributes) { return TabContext::SetTabContext(aIsMozBrowserElement, aIsPrerendered, @@ -266,8 +253,7 @@ public: aAppFrameOwnerApp, aShowAccelerators, aShowFocusRings, - aOriginAttributes, - aPresentationURL); + aOriginAttributes); } }; diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index d53d00a0d..e3ebfcef8 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -5167,21 +5167,6 @@ pref("dom.udpsocket.enabled", false); // Disable before keyboard events and after keyboard events by default. pref("dom.beforeAfterKeyboardEvent.enabled", false); -// Presentation API -pref("dom.presentation.enabled", false); -pref("dom.presentation.controller.enabled", false); -pref("dom.presentation.receiver.enabled", false); - -// Presentation Device -pref("dom.presentation.tcp_server.debug", false); -pref("dom.presentation.discovery.enabled", false); -pref("dom.presentation.discovery.legacy.enabled", false); -pref("dom.presentation.discovery.timeout_ms", 10000); -pref("dom.presentation.discoverable", false); -pref("dom.presentation.discoverable.encrypted", true); -pref("dom.presentation.discoverable.retry_ms", 5000); -pref("dom.presentation.session_transport.data_channel.enable", false); - #ifdef XP_MACOSX #if defined(DEBUG) // In debug builds we crash by default on insecure text input (when a |