зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1438270 - Remove nsIDOMDocumentXBL. r=bz
MozReview-Commit-ID: 4TsjUaEdDP2 --HG-- extra : rebase_source : ab61d1832113a8c7b126b8856de59056fcf5ec5e
This commit is contained in:
Родитель
0c0511ae8e
Коммит
6c854a7275
|
@ -221,7 +221,6 @@
|
|||
@RESPATH@/components/dom_webspeechrecognition.xpt
|
||||
#endif
|
||||
@RESPATH@/components/dom_workers.xpt
|
||||
@RESPATH@/components/dom_xbl.xpt
|
||||
@RESPATH@/components/dom_xhr.xpt
|
||||
@RESPATH@/components/dom_xul.xpt
|
||||
@RESPATH@/components/dom_presentation.xpt
|
||||
|
|
|
@ -59,7 +59,6 @@
|
|||
|
||||
#include "mozilla/dom/Attr.h"
|
||||
#include "mozilla/dom/BindingDeclarations.h"
|
||||
#include "nsIDOMDocumentXBL.h"
|
||||
#include "mozilla/dom/Element.h"
|
||||
#include "mozilla/dom/FramingChecker.h"
|
||||
#include "nsGenericHTMLElement.h"
|
||||
|
@ -1802,7 +1801,6 @@ NS_INTERFACE_TABLE_HEAD(nsDocument)
|
|||
NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIDocument)
|
||||
NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIDOMDocument)
|
||||
NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIDOMNode)
|
||||
NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIDOMDocumentXBL)
|
||||
NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIScriptObjectPrincipal)
|
||||
NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIDOMEventTarget)
|
||||
NS_INTERFACE_TABLE_ENTRY(nsDocument, mozilla::dom::EventTarget)
|
||||
|
@ -6214,30 +6212,10 @@ nsIDocument::ImportNode(nsINode& aNode, bool aDeep, ErrorResult& rv) const
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::LoadBindingDocument(const nsAString& aURI)
|
||||
{
|
||||
ErrorResult rv;
|
||||
nsIDocument::LoadBindingDocument(aURI,
|
||||
nsContentUtils::GetCurrentJSContext()
|
||||
? Some(nsContentUtils::SubjectPrincipal())
|
||||
: Nothing(),
|
||||
rv);
|
||||
return rv.StealNSResult();
|
||||
}
|
||||
|
||||
void
|
||||
nsIDocument::LoadBindingDocument(const nsAString& aURI,
|
||||
nsIPrincipal& aSubjectPrincipal,
|
||||
ErrorResult& rv)
|
||||
{
|
||||
LoadBindingDocument(aURI, Some(&aSubjectPrincipal), rv);
|
||||
}
|
||||
|
||||
void
|
||||
nsIDocument::LoadBindingDocument(const nsAString& aURI,
|
||||
const Maybe<nsIPrincipal*>& aSubjectPrincipal,
|
||||
ErrorResult& rv)
|
||||
{
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
rv = NS_NewURI(getter_AddRefs(uri), aURI, mCharacterSet, GetDocBaseURI());
|
||||
|
@ -6245,24 +6223,7 @@ nsIDocument::LoadBindingDocument(const nsAString& aURI,
|
|||
return;
|
||||
}
|
||||
|
||||
// Note - This computation of subjectPrincipal isn't necessarily sensical.
|
||||
// It's just designed to preserve the old semantics during a mass-conversion
|
||||
// patch.
|
||||
nsCOMPtr<nsIPrincipal> subjectPrincipal =
|
||||
aSubjectPrincipal.isSome() ? aSubjectPrincipal.value() : NodePrincipal();
|
||||
BindingManager()->LoadBindingDocument(this, uri, subjectPrincipal);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::GetBindingParent(nsIDOMNode* aNode, nsIDOMElement** aResult)
|
||||
{
|
||||
nsCOMPtr<nsINode> node = do_QueryInterface(aNode);
|
||||
NS_ENSURE_ARG_POINTER(node);
|
||||
|
||||
Element* bindingParent = nsIDocument::GetBindingParent(*node);
|
||||
nsCOMPtr<nsIDOMElement> retval = do_QueryInterface(bindingParent);
|
||||
retval.forget(aResult);
|
||||
return NS_OK;
|
||||
BindingManager()->LoadBindingDocument(this, uri, &aSubjectPrincipal);
|
||||
}
|
||||
|
||||
Element*
|
||||
|
@ -6333,23 +6294,6 @@ nsDocument::GetAnonymousElementByAttribute(nsIContent* aElement,
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::GetAnonymousElementByAttribute(nsIDOMElement* aElement,
|
||||
const nsAString& aAttrName,
|
||||
const nsAString& aAttrValue,
|
||||
nsIDOMElement** aResult)
|
||||
{
|
||||
nsCOMPtr<Element> element = do_QueryInterface(aElement);
|
||||
NS_ENSURE_ARG_POINTER(element);
|
||||
|
||||
Element* anonEl =
|
||||
nsIDocument::GetAnonymousElementByAttribute(*element, aAttrName,
|
||||
aAttrValue);
|
||||
nsCOMPtr<nsIDOMElement> retval = do_QueryInterface(anonEl);
|
||||
retval.forget(aResult);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
Element*
|
||||
nsIDocument::GetAnonymousElementByAttribute(Element& aElement,
|
||||
const nsAString& aAttrName,
|
||||
|
@ -6360,17 +6304,6 @@ nsIDocument::GetAnonymousElementByAttribute(Element& aElement,
|
|||
return GetAnonymousElementByAttribute(&aElement, attribute, aAttrValue);
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::GetAnonymousNodes(nsIDOMElement* aElement,
|
||||
nsIDOMNodeList** aResult)
|
||||
{
|
||||
*aResult = nullptr;
|
||||
|
||||
nsCOMPtr<nsIContent> content(do_QueryInterface(aElement));
|
||||
return BindingManager()->GetAnonymousNodesFor(content, aResult);
|
||||
}
|
||||
|
||||
nsINodeList*
|
||||
nsIDocument::GetAnonymousNodes(Element& aElement)
|
||||
{
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include "nsTArray.h"
|
||||
#include "nsIdentifierMapEntry.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDOMDocumentXBL.h"
|
||||
#include "nsStubDocumentObserver.h"
|
||||
#include "nsIScriptGlobalObject.h"
|
||||
#include "nsIContent.h"
|
||||
|
@ -322,7 +321,6 @@ class PrincipalFlashClassifier;
|
|||
// Base class for our document implementations.
|
||||
class nsDocument : public nsIDocument,
|
||||
public nsIDOMDocument,
|
||||
public nsIDOMDocumentXBL,
|
||||
public nsSupportsWeakReference,
|
||||
public nsIScriptObjectPrincipal,
|
||||
public nsIRadioGroupContainer,
|
||||
|
@ -636,9 +634,6 @@ public:
|
|||
// nsIDOMDocument
|
||||
NS_DECL_NSIDOMDOCUMENT
|
||||
|
||||
// nsIDOMDocumentXBL
|
||||
NS_DECL_NSIDOMDOCUMENTXBL
|
||||
|
||||
using mozilla::dom::DocumentOrShadowRoot::GetElementById;
|
||||
using mozilla::dom::DocumentOrShadowRoot::GetElementsByTagName;
|
||||
using mozilla::dom::DocumentOrShadowRoot::GetElementsByTagNameNS;
|
||||
|
|
|
@ -2091,9 +2091,6 @@ public:
|
|||
return mHaveFiredTitleChange;
|
||||
}
|
||||
|
||||
/**
|
||||
* See GetAnonymousElementByAttribute on nsIDOMDocumentXBL.
|
||||
*/
|
||||
virtual Element*
|
||||
GetAnonymousElementByAttribute(nsIContent* aElement,
|
||||
nsAtom* aAttrName,
|
||||
|
@ -2985,9 +2982,6 @@ public:
|
|||
void LoadBindingDocument(const nsAString& aURI,
|
||||
nsIPrincipal& aSubjectPrincipal,
|
||||
mozilla::ErrorResult& rv);
|
||||
void LoadBindingDocument(const nsAString& aURI,
|
||||
const mozilla::Maybe<nsIPrincipal*>& aSubjectPrincipal,
|
||||
mozilla::ErrorResult& rv);
|
||||
mozilla::dom::XPathExpression*
|
||||
CreateExpression(const nsAString& aExpression,
|
||||
mozilla::dom::XPathNSResolver* aResolver,
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# 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/.
|
||||
|
||||
with Files("**"):
|
||||
BUG_COMPONENT = ("Core", "XBL")
|
||||
|
||||
XPIDL_SOURCES += [
|
||||
'nsIDOMDocumentXBL.idl',
|
||||
]
|
||||
|
||||
XPIDL_MODULE = 'dom_xbl'
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* 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 "domstubs.idl"
|
||||
|
||||
[uuid(af628000-e3fa-40d2-9118-fbaa9f3ec6b9)]
|
||||
interface nsIDOMDocumentXBL : nsISupports
|
||||
{
|
||||
/**
|
||||
* See the MDC documentation for what these methods do.
|
||||
*/
|
||||
nsIDOMNodeList getAnonymousNodes(in nsIDOMElement elt);
|
||||
nsIDOMElement getAnonymousElementByAttribute(in nsIDOMElement elt,
|
||||
in DOMString attrName,
|
||||
in DOMString attrValue);
|
||||
|
||||
nsIDOMElement getBindingParent(in nsIDOMNode node);
|
||||
void loadBindingDocument(in DOMString documentURL);
|
||||
};
|
|
@ -21,7 +21,6 @@ interfaces = [
|
|||
'events',
|
||||
'sidebar',
|
||||
'range',
|
||||
'xbl',
|
||||
'xul',
|
||||
'security',
|
||||
'storage',
|
||||
|
|
|
@ -323,7 +323,7 @@ partial interface Document {
|
|||
|
||||
// Mozilla extensions of various sorts
|
||||
partial interface Document {
|
||||
// nsIDOMDocumentXBL. Wish we could make these [ChromeOnly], but
|
||||
// XBL support. Wish we could make these [ChromeOnly], but
|
||||
// that would likely break bindings running with the page principal.
|
||||
[Func="IsChromeOrXBL"]
|
||||
NodeList? getAnonymousNodes(Element elt);
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include "nsXMLPrettyPrinter.h"
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsICSSDeclaration.h"
|
||||
#include "nsIDOMDocumentXBL.h"
|
||||
#include "nsIObserver.h"
|
||||
#include "nsSyncLoadService.h"
|
||||
#include "nsPIDOMWindow.h"
|
||||
|
|
|
@ -12,15 +12,10 @@
|
|||
#include "nsCOMPtr.h"
|
||||
#include "nsGkAtoms.h"
|
||||
#include "nsIDOMElement.h"
|
||||
#include "nsIDOMXULElement.h"
|
||||
#include "nsIDOMNodeList.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDOMDocumentXBL.h"
|
||||
#include "nsContentCID.h"
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsXULPopupManager.h"
|
||||
#include "nsIScriptContext.h"
|
||||
#include "nsIDOMWindow.h"
|
||||
#include "nsIDocument.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsIPrincipal.h"
|
||||
|
@ -368,18 +363,11 @@ nsXULPopupListener::LaunchPopup(nsIDOMEvent* aEvent, nsIContent* aTargetContent)
|
|||
if (identifier.EqualsLiteral("_child")) {
|
||||
popup = GetImmediateChild(mElement, nsGkAtoms::menupopup);
|
||||
if (!popup) {
|
||||
nsCOMPtr<nsIDOMDocumentXBL> nsDoc(do_QueryInterface(document));
|
||||
nsCOMPtr<nsIDOMNodeList> list;
|
||||
nsCOMPtr<nsIDOMElement> el = do_QueryInterface(mElement);
|
||||
nsDoc->GetAnonymousNodes(el, getter_AddRefs(list));
|
||||
nsINodeList* list = document->GetAnonymousNodes(*mElement);
|
||||
if (list) {
|
||||
uint32_t ctr,listLength;
|
||||
nsCOMPtr<nsIDOMNode> node;
|
||||
list->GetLength(&listLength);
|
||||
for (ctr = 0; ctr < listLength; ctr++) {
|
||||
list->Item(ctr, getter_AddRefs(node));
|
||||
nsCOMPtr<nsIContent> childContent(do_QueryInterface(node));
|
||||
|
||||
uint32_t listLength = list->Length();
|
||||
for (uint32_t ctr = 0; ctr < listLength; ctr++) {
|
||||
nsIContent* childContent = list->Item(ctr);
|
||||
if (childContent->NodeInfo()->Equals(nsGkAtoms::menupopup,
|
||||
kNameSpaceID_XUL)) {
|
||||
popup = childContent->AsElement();
|
||||
|
|
|
@ -145,7 +145,6 @@
|
|||
#ifdef MOZ_WEBSPEECH
|
||||
@BINPATH@/components/dom_webspeechrecognition.xpt
|
||||
#endif
|
||||
@BINPATH@/components/dom_xbl.xpt
|
||||
@BINPATH@/components/dom_xhr.xpt
|
||||
@BINPATH@/components/dom_xul.xpt
|
||||
@BINPATH@/components/dom_presentation.xpt
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDOMDocumentFragment.h"
|
||||
#include "nsIDOMDocumentType.h"
|
||||
#include "nsIDOMDocumentXBL.h"
|
||||
#include "nsIDOMDragEvent.h"
|
||||
#include "nsIDOMElement.h"
|
||||
#include "nsIDOMEvent.h"
|
||||
|
@ -86,7 +85,6 @@
|
|||
#include "mozilla/dom/DocumentBinding.h"
|
||||
#include "mozilla/dom/DocumentFragmentBinding.h"
|
||||
#include "mozilla/dom/DocumentTypeBinding.h"
|
||||
#include "mozilla/dom/DocumentBinding.h"
|
||||
#include "mozilla/dom/DragEventBinding.h"
|
||||
#include "mozilla/dom/ElementBinding.h"
|
||||
#include "mozilla/dom/EventBinding.h"
|
||||
|
@ -210,7 +208,6 @@ const ComponentsInterfaceShimEntry kComponentsInterfaceShimMap[] =
|
|||
DEFINE_SHIM(Document),
|
||||
DEFINE_SHIM(DocumentFragment),
|
||||
DEFINE_SHIM(DocumentType),
|
||||
DEFINE_SHIM_WITH_CUSTOM_INTERFACE(nsIDOMDocumentXBL, Document),
|
||||
DEFINE_SHIM(DragEvent),
|
||||
DEFINE_SHIM(Element),
|
||||
DEFINE_SHIM(Event),
|
||||
|
|
Загрузка…
Ссылка в новой задаче