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 "nsIDroppedLinkHandler.idl"
|
||||
|
||||
interface nsIWebBrowserChrome3;
|
||||
interface nsIWebBrowserChrome;
|
||||
|
||||
webidl ContentFrameMessageManager;
|
||||
|
||||
|
|
@ -20,8 +20,6 @@ interface nsIBrowserChild : nsISupports
|
|||
{
|
||||
readonly attribute ContentFrameMessageManager messageManager;
|
||||
|
||||
attribute nsIWebBrowserChrome3 webBrowserChrome;
|
||||
|
||||
[notxpcom] void sendRequestFocus(in boolean canFocus, in CallerType aCallerType);
|
||||
|
||||
[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(mBrowserChildMessageManager)
|
||||
tmp->nsMessageManagerScriptExecutor::Unlink();
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mWebBrowserChrome)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mStatusFilter)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mWebNav)
|
||||
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(mBrowserChildMessageManager)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWebBrowserChrome)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mStatusFilter)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWebNav)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mBrowsingContext)
|
||||
|
|
@ -810,10 +808,6 @@ BrowserChild::FocusPrevElement(bool aForDocumentNavigation) {
|
|||
|
||||
NS_IMETHODIMP
|
||||
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?
|
||||
// See bug 537429
|
||||
return QueryInterface(aIID, aSink);
|
||||
|
|
@ -2899,26 +2893,6 @@ BrowserChild::GetMessageManager(ContentFrameMessageManager** aResult) {
|
|||
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) {
|
||||
nsFocusManager* fm = nsFocusManager::GetFocusManager();
|
||||
if (!fm) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
#include "mozilla/layers/APZCCallbackHelper.h"
|
||||
#include "mozilla/layers/CompositorOptions.h"
|
||||
#include "mozilla/layers/GeckoContentControllerTypes.h"
|
||||
#include "nsIWebBrowserChrome3.h"
|
||||
#include "nsIWebBrowserChrome.h"
|
||||
#include "mozilla/dom/ipc/IdType.h"
|
||||
#include "AudioChannelService.h"
|
||||
#include "PuppetWidget.h"
|
||||
|
|
@ -794,12 +794,10 @@ class BrowserChild final : public nsMessageManagerScriptExecutor,
|
|||
nsIRequest* aRequest,
|
||||
WebProgressData& aWebProgressData,
|
||||
RequestData& aRequestData);
|
||||
already_AddRefed<nsIWebBrowserChrome3> GetWebBrowserChromeActor();
|
||||
|
||||
class DelayedDeleteRunnable;
|
||||
|
||||
RefPtr<BrowserChildMessageManager> mBrowserChildMessageManager;
|
||||
nsCOMPtr<nsIWebBrowserChrome3> mWebBrowserChrome;
|
||||
TextureFactoryIdentifier mTextureFactoryIdentifier;
|
||||
RefPtr<nsWebBrowser> mWebBrowser;
|
||||
nsCOMPtr<nsIWebNavigation> mWebNav;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ XPIDL_SOURCES += [
|
|||
"nsIEmbeddingSiteWindow.idl",
|
||||
"nsIWebBrowser.idl",
|
||||
"nsIWebBrowserChrome.idl",
|
||||
"nsIWebBrowserChrome3.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;
|
||||
};
|
||||
|
||||
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
|
||||
//*****************************************************************************
|
||||
|
|
@ -113,7 +92,6 @@ NS_INTERFACE_MAP_BEGIN(nsContentTreeOwner)
|
|||
NS_INTERFACE_MAP_ENTRY(nsIDocShellTreeOwner)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIBaseWindow)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome3)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWindowProvider)
|
||||
// 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);
|
||||
}
|
||||
|
||||
if (aIID.Equals(NS_GET_IID(nsIWebBrowserChrome3))) {
|
||||
if (nsCOMPtr<nsIWebBrowserChrome3> chrome = GetWebBrowserChrome()) {
|
||||
chrome.forget(aSink);
|
||||
return NS_OK;
|
||||
}
|
||||
}
|
||||
|
||||
return QueryInterface(aIID, aSink);
|
||||
}
|
||||
|
||||
|
|
@ -361,26 +332,6 @@ nsContentTreeOwner::GetHasPrimaryContent(bool* 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
|
||||
//*****************************************************************************
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
#include "nsIDocShellTreeOwner.h"
|
||||
#include "nsIInterfaceRequestor.h"
|
||||
#include "nsIInterfaceRequestorUtils.h"
|
||||
#include "nsIWebBrowserChrome3.h"
|
||||
#include "nsIWebBrowserChrome.h"
|
||||
#include "nsIWindowProvider.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
|
@ -27,7 +27,7 @@ class nsSiteWindow;
|
|||
class nsContentTreeOwner final : public nsIDocShellTreeOwner,
|
||||
public nsIBaseWindow,
|
||||
public nsIInterfaceRequestor,
|
||||
public nsIWebBrowserChrome3,
|
||||
public nsIWebBrowserChrome,
|
||||
public nsIWindowProvider {
|
||||
friend class mozilla::AppWindow;
|
||||
friend class nsSiteWindow;
|
||||
|
|
@ -39,7 +39,6 @@ class nsContentTreeOwner final : public nsIDocShellTreeOwner,
|
|||
NS_DECL_NSIDOCSHELLTREEOWNER
|
||||
NS_DECL_NSIINTERFACEREQUESTOR
|
||||
NS_DECL_NSIWEBBROWSERCHROME
|
||||
NS_DECL_NSIWEBBROWSERCHROME3
|
||||
NS_DECL_NSIWINDOWPROVIDER
|
||||
|
||||
protected:
|
||||
|
|
@ -49,9 +48,6 @@ class nsContentTreeOwner final : public nsIDocShellTreeOwner,
|
|||
void AppWindow(mozilla::AppWindow* aAppWindow);
|
||||
mozilla::AppWindow* AppWindow();
|
||||
|
||||
private:
|
||||
already_AddRefed<nsIWebBrowserChrome3> GetWebBrowserChrome();
|
||||
|
||||
protected:
|
||||
mozilla::AppWindow* mAppWindow;
|
||||
nsSiteWindow* mSiteWindow;
|
||||
|
|
|
|||
Loading…
Reference in a new issue