forked from mirrors/gecko-dev
Bug 1701668, remove nsIWebBrowserChrome3 interface, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D110103
This commit is contained in:
parent
4ca286a995
commit
54687b47ef
7 changed files with 4 additions and 129 deletions
|
|
@ -6,7 +6,7 @@
|
||||||
#include "domstubs.idl"
|
#include "domstubs.idl"
|
||||||
#include "nsIDroppedLinkHandler.idl"
|
#include "nsIDroppedLinkHandler.idl"
|
||||||
|
|
||||||
interface nsIWebBrowserChrome3;
|
interface nsIWebBrowserChrome;
|
||||||
|
|
||||||
webidl ContentFrameMessageManager;
|
webidl ContentFrameMessageManager;
|
||||||
|
|
||||||
|
|
@ -20,8 +20,6 @@ interface nsIBrowserChild : nsISupports
|
||||||
{
|
{
|
||||||
readonly attribute ContentFrameMessageManager messageManager;
|
readonly attribute ContentFrameMessageManager messageManager;
|
||||||
|
|
||||||
attribute nsIWebBrowserChrome3 webBrowserChrome;
|
|
||||||
|
|
||||||
[notxpcom] void sendRequestFocus(in boolean canFocus, in CallerType aCallerType);
|
[notxpcom] void sendRequestFocus(in boolean canFocus, in CallerType aCallerType);
|
||||||
|
|
||||||
[noscript] void remoteSizeShellTo(in int32_t width, in int32_t height,
|
[noscript] void remoteSizeShellTo(in int32_t width, in int32_t height,
|
||||||
|
|
|
||||||
|
|
@ -567,7 +567,6 @@ NS_IMPL_CYCLE_COLLECTION_CLASS(BrowserChild)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(BrowserChild)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(BrowserChild)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mBrowserChildMessageManager)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK(mBrowserChildMessageManager)
|
||||||
tmp->nsMessageManagerScriptExecutor::Unlink();
|
tmp->nsMessageManagerScriptExecutor::Unlink();
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mWebBrowserChrome)
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mStatusFilter)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK(mStatusFilter)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mWebNav)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK(mWebNav)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mBrowsingContext)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK(mBrowsingContext)
|
||||||
|
|
@ -578,7 +577,6 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(BrowserChild)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(BrowserChild)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mBrowserChildMessageManager)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mBrowserChildMessageManager)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWebBrowserChrome)
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mStatusFilter)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mStatusFilter)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWebNav)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWebNav)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mBrowsingContext)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mBrowsingContext)
|
||||||
|
|
@ -810,10 +808,6 @@ BrowserChild::FocusPrevElement(bool aForDocumentNavigation) {
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
BrowserChild::GetInterface(const nsIID& aIID, void** aSink) {
|
BrowserChild::GetInterface(const nsIID& aIID, void** aSink) {
|
||||||
if (aIID.Equals(NS_GET_IID(nsIWebBrowserChrome3))) {
|
|
||||||
return GetWebBrowserChrome(reinterpret_cast<nsIWebBrowserChrome3**>(aSink));
|
|
||||||
}
|
|
||||||
|
|
||||||
// XXXbz should we restrict the set of interfaces we hand out here?
|
// XXXbz should we restrict the set of interfaces we hand out here?
|
||||||
// See bug 537429
|
// See bug 537429
|
||||||
return QueryInterface(aIID, aSink);
|
return QueryInterface(aIID, aSink);
|
||||||
|
|
@ -2899,26 +2893,6 @@ BrowserChild::GetMessageManager(ContentFrameMessageManager** aResult) {
|
||||||
return *aResult ? NS_OK : NS_ERROR_FAILURE;
|
return *aResult ? NS_OK : NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
BrowserChild::GetWebBrowserChrome(nsIWebBrowserChrome3** aWebBrowserChrome) {
|
|
||||||
nsCOMPtr<nsIDocShell> docShell = do_GetInterface(WebNavigation());
|
|
||||||
if (nsCOMPtr<nsIWebBrowserChrome3> chrome =
|
|
||||||
do_QueryActor("WebBrowserChrome", docShell->GetDocument())) {
|
|
||||||
chrome.forget(aWebBrowserChrome);
|
|
||||||
} else {
|
|
||||||
// TODO: remove fallback
|
|
||||||
NS_IF_ADDREF(*aWebBrowserChrome = mWebBrowserChrome);
|
|
||||||
}
|
|
||||||
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
BrowserChild::SetWebBrowserChrome(nsIWebBrowserChrome3* aWebBrowserChrome) {
|
|
||||||
mWebBrowserChrome = aWebBrowserChrome;
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
void BrowserChild::SendRequestFocus(bool aCanFocus, CallerType aCallerType) {
|
void BrowserChild::SendRequestFocus(bool aCanFocus, CallerType aCallerType) {
|
||||||
nsFocusManager* fm = nsFocusManager::GetFocusManager();
|
nsFocusManager* fm = nsFocusManager::GetFocusManager();
|
||||||
if (!fm) {
|
if (!fm) {
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
#include "mozilla/layers/APZCCallbackHelper.h"
|
#include "mozilla/layers/APZCCallbackHelper.h"
|
||||||
#include "mozilla/layers/CompositorOptions.h"
|
#include "mozilla/layers/CompositorOptions.h"
|
||||||
#include "mozilla/layers/GeckoContentControllerTypes.h"
|
#include "mozilla/layers/GeckoContentControllerTypes.h"
|
||||||
#include "nsIWebBrowserChrome3.h"
|
#include "nsIWebBrowserChrome.h"
|
||||||
#include "mozilla/dom/ipc/IdType.h"
|
#include "mozilla/dom/ipc/IdType.h"
|
||||||
#include "AudioChannelService.h"
|
#include "AudioChannelService.h"
|
||||||
#include "PuppetWidget.h"
|
#include "PuppetWidget.h"
|
||||||
|
|
@ -794,12 +794,10 @@ class BrowserChild final : public nsMessageManagerScriptExecutor,
|
||||||
nsIRequest* aRequest,
|
nsIRequest* aRequest,
|
||||||
WebProgressData& aWebProgressData,
|
WebProgressData& aWebProgressData,
|
||||||
RequestData& aRequestData);
|
RequestData& aRequestData);
|
||||||
already_AddRefed<nsIWebBrowserChrome3> GetWebBrowserChromeActor();
|
|
||||||
|
|
||||||
class DelayedDeleteRunnable;
|
class DelayedDeleteRunnable;
|
||||||
|
|
||||||
RefPtr<BrowserChildMessageManager> mBrowserChildMessageManager;
|
RefPtr<BrowserChildMessageManager> mBrowserChildMessageManager;
|
||||||
nsCOMPtr<nsIWebBrowserChrome3> mWebBrowserChrome;
|
|
||||||
TextureFactoryIdentifier mTextureFactoryIdentifier;
|
TextureFactoryIdentifier mTextureFactoryIdentifier;
|
||||||
RefPtr<nsWebBrowser> mWebBrowser;
|
RefPtr<nsWebBrowser> mWebBrowser;
|
||||||
nsCOMPtr<nsIWebNavigation> mWebNav;
|
nsCOMPtr<nsIWebNavigation> mWebNav;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@ XPIDL_SOURCES += [
|
||||||
"nsIEmbeddingSiteWindow.idl",
|
"nsIEmbeddingSiteWindow.idl",
|
||||||
"nsIWebBrowser.idl",
|
"nsIWebBrowser.idl",
|
||||||
"nsIWebBrowserChrome.idl",
|
"nsIWebBrowserChrome.idl",
|
||||||
"nsIWebBrowserChrome3.idl",
|
|
||||||
"nsIWebBrowserChromeFocus.idl",
|
"nsIWebBrowserChromeFocus.idl",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
||||||
|
|
||||||
#include "nsIWebBrowserChrome.idl"
|
|
||||||
#include "nsIURI.idl"
|
|
||||||
|
|
||||||
interface nsIDocShell;
|
|
||||||
interface nsIInputStream;
|
|
||||||
interface nsIRunnable;
|
|
||||||
interface nsIPrincipal;
|
|
||||||
interface nsIContentSecurityPolicy;
|
|
||||||
interface nsIReferrerInfo;
|
|
||||||
|
|
||||||
webidl Node;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* nsIWebBrowserChrome3 is an extension to nsIWebBrowserChrome.
|
|
||||||
*/
|
|
||||||
[scriptable, uuid(542b6625-35a9-426a-8257-c12a345383b0)]
|
|
||||||
interface nsIWebBrowserChrome3 : nsIWebBrowserChrome
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Determines the appropriate target for a link.
|
|
||||||
*
|
|
||||||
* @param originalTarget
|
|
||||||
* The original link target.
|
|
||||||
* @param linkURI
|
|
||||||
* Link destination URI.
|
|
||||||
* @param aDOMNode
|
|
||||||
* Link DOM node.
|
|
||||||
* @param isAppTab
|
|
||||||
* Whether or not the link is in an app tab.
|
|
||||||
* @returns A new link target, if appropriate.
|
|
||||||
* Otherwise returns originalTarget.
|
|
||||||
*/
|
|
||||||
AString onBeforeLinkTraversal(in AString originalTarget,
|
|
||||||
in nsIURI linkURI,
|
|
||||||
in Node linkNode,
|
|
||||||
in boolean isAppTab);
|
|
||||||
};
|
|
||||||
|
|
@ -68,27 +68,6 @@ class nsSiteWindow : public nsIEmbeddingSiteWindow {
|
||||||
nsContentTreeOwner* mAggregator;
|
nsContentTreeOwner* mAggregator;
|
||||||
};
|
};
|
||||||
|
|
||||||
already_AddRefed<nsIWebBrowserChrome3>
|
|
||||||
nsContentTreeOwner::GetWebBrowserChrome() {
|
|
||||||
if (!mAppWindow) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsCOMPtr<nsIDocShell> docShell;
|
|
||||||
mAppWindow->GetDocShell(getter_AddRefs(docShell));
|
|
||||||
|
|
||||||
if (!docShell) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nsCOMPtr<nsIWebBrowserChrome3> chrome =
|
|
||||||
do_QueryActor("WebBrowserChrome", docShell->GetDocument())) {
|
|
||||||
return chrome.forget();
|
|
||||||
}
|
|
||||||
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
//*** nsContentTreeOwner: Object Management
|
//*** nsContentTreeOwner: Object Management
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
|
|
@ -113,7 +92,6 @@ NS_INTERFACE_MAP_BEGIN(nsContentTreeOwner)
|
||||||
NS_INTERFACE_MAP_ENTRY(nsIDocShellTreeOwner)
|
NS_INTERFACE_MAP_ENTRY(nsIDocShellTreeOwner)
|
||||||
NS_INTERFACE_MAP_ENTRY(nsIBaseWindow)
|
NS_INTERFACE_MAP_ENTRY(nsIBaseWindow)
|
||||||
NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome)
|
NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome)
|
||||||
NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome3)
|
|
||||||
NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
|
NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
|
||||||
NS_INTERFACE_MAP_ENTRY(nsIWindowProvider)
|
NS_INTERFACE_MAP_ENTRY(nsIWindowProvider)
|
||||||
// NOTE: This is using aggregation because there are some properties and
|
// NOTE: This is using aggregation because there are some properties and
|
||||||
|
|
@ -169,13 +147,6 @@ NS_IMETHODIMP nsContentTreeOwner::GetInterface(const nsIID& aIID,
|
||||||
return mAppWindow->QueryInterface(aIID, aSink);
|
return mAppWindow->QueryInterface(aIID, aSink);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aIID.Equals(NS_GET_IID(nsIWebBrowserChrome3))) {
|
|
||||||
if (nsCOMPtr<nsIWebBrowserChrome3> chrome = GetWebBrowserChrome()) {
|
|
||||||
chrome.forget(aSink);
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return QueryInterface(aIID, aSink);
|
return QueryInterface(aIID, aSink);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -361,26 +332,6 @@ nsContentTreeOwner::GetHasPrimaryContent(bool* aResult) {
|
||||||
return mAppWindow->GetHasPrimaryContent(aResult);
|
return mAppWindow->GetHasPrimaryContent(aResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
//*****************************************************************************
|
|
||||||
// nsContentTreeOwner::nsIWebBrowserChrome3
|
|
||||||
//*****************************************************************************
|
|
||||||
|
|
||||||
NS_IMETHODIMP nsContentTreeOwner::OnBeforeLinkTraversal(
|
|
||||||
const nsAString& originalTarget, nsIURI* linkURI, nsINode* linkNode,
|
|
||||||
bool isAppTab, nsAString& _retval) {
|
|
||||||
NS_ENSURE_STATE(mAppWindow);
|
|
||||||
|
|
||||||
nsCOMPtr<nsIXULBrowserWindow> xulBrowserWindow;
|
|
||||||
mAppWindow->GetXULBrowserWindow(getter_AddRefs(xulBrowserWindow));
|
|
||||||
|
|
||||||
if (xulBrowserWindow)
|
|
||||||
return xulBrowserWindow->OnBeforeLinkTraversal(originalTarget, linkURI,
|
|
||||||
linkNode, isAppTab, _retval);
|
|
||||||
|
|
||||||
_retval = originalTarget;
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
// nsContentTreeOwner::nsIWebBrowserChrome
|
// nsContentTreeOwner::nsIWebBrowserChrome
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
#include "nsIDocShellTreeOwner.h"
|
#include "nsIDocShellTreeOwner.h"
|
||||||
#include "nsIInterfaceRequestor.h"
|
#include "nsIInterfaceRequestor.h"
|
||||||
#include "nsIInterfaceRequestorUtils.h"
|
#include "nsIInterfaceRequestorUtils.h"
|
||||||
#include "nsIWebBrowserChrome3.h"
|
#include "nsIWebBrowserChrome.h"
|
||||||
#include "nsIWindowProvider.h"
|
#include "nsIWindowProvider.h"
|
||||||
|
|
||||||
namespace mozilla {
|
namespace mozilla {
|
||||||
|
|
@ -27,7 +27,7 @@ class nsSiteWindow;
|
||||||
class nsContentTreeOwner final : public nsIDocShellTreeOwner,
|
class nsContentTreeOwner final : public nsIDocShellTreeOwner,
|
||||||
public nsIBaseWindow,
|
public nsIBaseWindow,
|
||||||
public nsIInterfaceRequestor,
|
public nsIInterfaceRequestor,
|
||||||
public nsIWebBrowserChrome3,
|
public nsIWebBrowserChrome,
|
||||||
public nsIWindowProvider {
|
public nsIWindowProvider {
|
||||||
friend class mozilla::AppWindow;
|
friend class mozilla::AppWindow;
|
||||||
friend class nsSiteWindow;
|
friend class nsSiteWindow;
|
||||||
|
|
@ -39,7 +39,6 @@ class nsContentTreeOwner final : public nsIDocShellTreeOwner,
|
||||||
NS_DECL_NSIDOCSHELLTREEOWNER
|
NS_DECL_NSIDOCSHELLTREEOWNER
|
||||||
NS_DECL_NSIINTERFACEREQUESTOR
|
NS_DECL_NSIINTERFACEREQUESTOR
|
||||||
NS_DECL_NSIWEBBROWSERCHROME
|
NS_DECL_NSIWEBBROWSERCHROME
|
||||||
NS_DECL_NSIWEBBROWSERCHROME3
|
|
||||||
NS_DECL_NSIWINDOWPROVIDER
|
NS_DECL_NSIWINDOWPROVIDER
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -49,9 +48,6 @@ class nsContentTreeOwner final : public nsIDocShellTreeOwner,
|
||||||
void AppWindow(mozilla::AppWindow* aAppWindow);
|
void AppWindow(mozilla::AppWindow* aAppWindow);
|
||||||
mozilla::AppWindow* AppWindow();
|
mozilla::AppWindow* AppWindow();
|
||||||
|
|
||||||
private:
|
|
||||||
already_AddRefed<nsIWebBrowserChrome3> GetWebBrowserChrome();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
mozilla::AppWindow* mAppWindow;
|
mozilla::AppWindow* mAppWindow;
|
||||||
nsSiteWindow* mSiteWindow;
|
nsSiteWindow* mSiteWindow;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue