diff --git a/accessible/jsat/EventManager.jsm b/accessible/jsat/EventManager.jsm
index c9f72ec6f3b5..b074469c7407 100644
--- a/accessible/jsat/EventManager.jsm
+++ b/accessible/jsat/EventManager.jsm
@@ -266,7 +266,8 @@ this.EventManager.prototype = {
case Events.DOCUMENT_LOAD_COMPLETE:
{
let position = this.contentControl.vc.position;
- if (position && Utils.isInSubtree(position, aEvent.accessible)) {
+ if (aEvent.accessible === aEvent.accessibleDocument ||
+ (position && Utils.isInSubtree(position, aEvent.accessible))) {
// Do not automove into the document if the virtual cursor is already
// positioned inside it.
break;
diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml
index 34af025b38f7..e08cedd41b7d 100644
--- a/b2g/config/dolphin/sources.xml
+++ b/b2g/config/dolphin/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml
index 0dad3f455a2e..eb9c72bc85aa 100644
--- a/b2g/config/emulator-ics/sources.xml
+++ b/b2g/config/emulator-ics/sources.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml
index 4535337eb351..d1553e21b363 100644
--- a/b2g/config/emulator-jb/sources.xml
+++ b/b2g/config/emulator-jb/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml
index 1dc1683226b1..c6ae5677fcf6 100644
--- a/b2g/config/emulator-kk/sources.xml
+++ b/b2g/config/emulator-kk/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml
index 0dad3f455a2e..eb9c72bc85aa 100644
--- a/b2g/config/emulator/sources.xml
+++ b/b2g/config/emulator/sources.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml
index 822eb8beb57d..c069fbfc7406 100644
--- a/b2g/config/flame-kk/sources.xml
+++ b/b2g/config/flame-kk/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/flame/sources.xml b/b2g/config/flame/sources.xml
index 4e94c81a913a..2f8b0f14031a 100644
--- a/b2g/config/flame/sources.xml
+++ b/b2g/config/flame/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json
index 0f279728a770..9b9c722aed56 100644
--- a/b2g/config/gaia.json
+++ b/b2g/config/gaia.json
@@ -4,6 +4,6 @@
"remote": "",
"branch": ""
},
- "revision": "25a5d3c030a5ece82a1114882575560b58fe185f",
+ "revision": "c98710d8aeb492eef503879c8542e90818a3839c",
"repo_path": "/integration/gaia-central"
}
diff --git a/b2g/config/hamachi/sources.xml b/b2g/config/hamachi/sources.xml
index 8d555d6e5684..126010ae4703 100644
--- a/b2g/config/hamachi/sources.xml
+++ b/b2g/config/hamachi/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/helix/sources.xml b/b2g/config/helix/sources.xml
index 73826683f2d2..f7d4c0795e47 100644
--- a/b2g/config/helix/sources.xml
+++ b/b2g/config/helix/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml
index 59c9948b13f6..082f3f12237f 100644
--- a/b2g/config/nexus-4/sources.xml
+++ b/b2g/config/nexus-4/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/wasabi/sources.xml b/b2g/config/wasabi/sources.xml
index c98d5e8ebe35..00b406b697cd 100644
--- a/b2g/config/wasabi/sources.xml
+++ b/b2g/config/wasabi/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/browser/devtools/debugger/test/browser.ini b/browser/devtools/debugger/test/browser.ini
index 1222b822c961..52f369a67847 100644
--- a/browser/devtools/debugger/test/browser.ini
+++ b/browser/devtools/debugger/test/browser.ini
@@ -139,6 +139,7 @@ skip-if = os == "mac" || e10s # Bug 895426
[browser_dbg_breakpoints-other-tabs.js]
[browser_dbg_breakpoints-pane.js]
[browser_dbg_breakpoints-reload.js]
+skip-if = (os == "linux") && debug # Bug 1076830
[browser_dbg_chrome-create.js]
[browser_dbg_chrome-debugging.js]
[browser_dbg_clean-exit-window.js]
diff --git a/content/base/public/FragmentOrElement.h b/content/base/public/FragmentOrElement.h
index 0f6996fb28a1..c53bf7894672 100644
--- a/content/base/public/FragmentOrElement.h
+++ b/content/base/public/FragmentOrElement.h
@@ -51,7 +51,6 @@ public:
explicit nsChildContentList(nsINode* aNode)
: mNode(aNode)
{
- SetIsDOMBinding();
}
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
diff --git a/content/base/public/nsDOMFile.h b/content/base/public/nsDOMFile.h
index c6e3416629c9..968317d4e251 100644
--- a/content/base/public/nsDOMFile.h
+++ b/content/base/public/nsDOMFile.h
@@ -754,7 +754,6 @@ class nsDOMFileList MOZ_FINAL : public nsIDOMFileList,
public:
explicit nsDOMFileList(nsISupports *aParent) : mParent(aParent)
{
- SetIsDOMBinding();
}
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
diff --git a/content/base/public/nsINode.h b/content/base/public/nsINode.h
index 3d20dfae8342..9ea6b369d5bf 100644
--- a/content/base/public/nsINode.h
+++ b/content/base/public/nsINode.h
@@ -320,7 +320,6 @@ public:
mSubtreeRoot(MOZ_THIS_IN_INITIALIZER_LIST()),
mSlots(nullptr)
{
- SetIsDOMBinding();
}
#endif
@@ -381,11 +380,7 @@ protected:
* does some additional checks and fix-up that's common to all nodes. WrapNode
* should just call the DOM binding's Wrap function.
*/
- virtual JSObject* WrapNode(JSContext *aCx)
- {
- MOZ_ASSERT(!IsDOMBinding(), "Someone forgot to override WrapNode");
- return nullptr;
- }
+ virtual JSObject* WrapNode(JSContext *aCx) = 0;
// Subclasses that wish to override the parent behavior should return the
// result of GetParentObjectIntenral, which handles the XBL scope stuff.
diff --git a/content/base/src/Attr.cpp b/content/base/src/Attr.cpp
index 78f359038abd..b1f92f06eef8 100644
--- a/content/base/src/Attr.cpp
+++ b/content/base/src/Attr.cpp
@@ -54,8 +54,6 @@ Attr::Attr(nsDOMAttributeMap *aAttrMap,
// We don't add a reference to our content. It will tell us
// to drop our reference when it goes away.
-
- SetIsDOMBinding();
}
NS_IMPL_CYCLE_COLLECTION_CLASS(Attr)
@@ -388,7 +386,7 @@ Attr::Shutdown()
}
JSObject*
-Attr::WrapObject(JSContext* aCx)
+Attr::WrapNode(JSContext* aCx)
{
return AttrBinding::Wrap(aCx, this);
}
diff --git a/content/base/src/Attr.h b/content/base/src/Attr.h
index 756c260df65e..3305a9e75193 100644
--- a/content/base/src/Attr.h
+++ b/content/base/src/Attr.h
@@ -82,7 +82,7 @@ public:
virtual nsIDOMNode* AsDOMNode() { return this; }
// WebIDL
- virtual JSObject* WrapObject(JSContext* aCx) MOZ_OVERRIDE;
+ virtual JSObject* WrapNode(JSContext* aCx) MOZ_OVERRIDE;
// XPCOM GetName() is OK
// XPCOM GetValue() is OK
diff --git a/content/base/src/DOMImplementation.h b/content/base/src/DOMImplementation.h
index fb986b556746..1dd114cbb42a 100644
--- a/content/base/src/DOMImplementation.h
+++ b/content/base/src/DOMImplementation.h
@@ -42,7 +42,6 @@ public:
, mBaseURI(aBaseURI)
{
MOZ_ASSERT(aOwner);
- SetIsDOMBinding();
}
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
diff --git a/content/base/src/DOMMatrix.h b/content/base/src/DOMMatrix.h
index ade2b5b6d5b1..184f68d66445 100644
--- a/content/base/src/DOMMatrix.h
+++ b/content/base/src/DOMMatrix.h
@@ -28,7 +28,6 @@ public:
explicit DOMMatrixReadOnly(nsISupports* aParent)
: mParent(aParent), mMatrix2D(new gfx::Matrix())
{
- SetIsDOMBinding();
}
DOMMatrixReadOnly(nsISupports* aParent, const DOMMatrixReadOnly& other)
@@ -39,8 +38,6 @@ public:
} else {
mMatrix3D = new gfx::Matrix4x4(*other.mMatrix3D);
}
-
- SetIsDOMBinding();
}
#define GetMatrixMember(entry2D, entry3D, default) \
diff --git a/content/base/src/DOMParser.cpp b/content/base/src/DOMParser.cpp
index 01032cbc69cf..04d169424ce4 100644
--- a/content/base/src/DOMParser.cpp
+++ b/content/base/src/DOMParser.cpp
@@ -25,7 +25,6 @@ using namespace mozilla::dom;
DOMParser::DOMParser()
: mAttemptedInit(false)
{
- SetIsDOMBinding();
}
DOMParser::~DOMParser()
diff --git a/content/base/src/DOMParser.h b/content/base/src/DOMParser.h
index b9002086a128..287426d4d3a0 100644
--- a/content/base/src/DOMParser.h
+++ b/content/base/src/DOMParser.h
@@ -84,7 +84,6 @@ private:
explicit DOMParser(nsISupports* aOwner) : mOwner(aOwner), mAttemptedInit(false)
{
MOZ_ASSERT(aOwner);
- SetIsDOMBinding();
}
nsresult InitInternal(nsISupports* aOwner, nsIPrincipal* prin,
diff --git a/content/base/src/DOMPoint.h b/content/base/src/DOMPoint.h
index b5c1631f45d7..f89d45986561 100644
--- a/content/base/src/DOMPoint.h
+++ b/content/base/src/DOMPoint.h
@@ -31,7 +31,6 @@ public:
, mZ(aZ)
, mW(aW)
{
- SetIsDOMBinding();
}
double X() const { return mX; }
diff --git a/content/base/src/DOMQuad.cpp b/content/base/src/DOMQuad.cpp
index 8435781c29d2..2f0b912cdf29 100644
--- a/content/base/src/DOMQuad.cpp
+++ b/content/base/src/DOMQuad.cpp
@@ -23,7 +23,6 @@ NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(DOMQuad, Release)
DOMQuad::DOMQuad(nsISupports* aParent, CSSPoint aPoints[4])
: mParent(aParent)
{
- SetIsDOMBinding();
for (uint32_t i = 0; i < 4; ++i) {
mPoints[i] = new DOMPoint(aParent, aPoints[i].x, aPoints[i].y);
}
@@ -32,7 +31,6 @@ DOMQuad::DOMQuad(nsISupports* aParent, CSSPoint aPoints[4])
DOMQuad::DOMQuad(nsISupports* aParent)
: mParent(aParent)
{
- SetIsDOMBinding();
}
DOMQuad::~DOMQuad()
diff --git a/content/base/src/DOMRect.h b/content/base/src/DOMRect.h
index 61146b4a3d0a..a3f8510f911f 100644
--- a/content/base/src/DOMRect.h
+++ b/content/base/src/DOMRect.h
@@ -36,7 +36,6 @@ public:
explicit DOMRectReadOnly(nsISupports* aParent)
: mParent(aParent)
{
- SetIsDOMBinding();
}
nsISupports* GetParentObject() const
@@ -155,7 +154,6 @@ class DOMRectList MOZ_FINAL : public nsIDOMClientRectList,
public:
explicit DOMRectList(nsISupports *aParent) : mParent(aParent)
{
- SetIsDOMBinding();
}
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
diff --git a/content/base/src/DOMStringList.h b/content/base/src/DOMStringList.h
index bad5db70faf2..87e9fd9c4295 100644
--- a/content/base/src/DOMStringList.h
+++ b/content/base/src/DOMStringList.h
@@ -21,11 +21,6 @@ protected:
virtual ~DOMStringList();
public:
- DOMStringList()
- {
- SetIsDOMBinding();
- }
-
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMStringList)
diff --git a/content/base/src/Element.cpp b/content/base/src/Element.cpp
index 072bfb9af6ad..99c32e4f5e3f 100644
--- a/content/base/src/Element.cpp
+++ b/content/base/src/Element.cpp
@@ -876,8 +876,6 @@ NS_IMPL_CYCLE_COLLECTING_RELEASE(DestinationInsertionPointList)
DestinationInsertionPointList::DestinationInsertionPointList(Element* aElement)
: mParent(aElement)
{
- SetIsDOMBinding();
-
nsTArray* destPoints = aElement->GetExistingDestInsertionPoints();
if (destPoints) {
for (uint32_t i = 0; i < destPoints->Length(); i++) {
diff --git a/content/base/src/StyleSheetList.h b/content/base/src/StyleSheetList.h
index 88badb55ede9..be0006cb54f0 100644
--- a/content/base/src/StyleSheetList.h
+++ b/content/base/src/StyleSheetList.h
@@ -20,11 +20,6 @@ class StyleSheetList : public nsIDOMStyleSheetList
, public nsWrapperCache
{
public:
- StyleSheetList()
- {
- SetIsDOMBinding();
- }
-
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(StyleSheetList)
NS_DECL_NSIDOMSTYLESHEETLIST
diff --git a/content/base/src/nsContentList.h b/content/base/src/nsContentList.h
index 412230528635..30c8aef99a56 100644
--- a/content/base/src/nsContentList.h
+++ b/content/base/src/nsContentList.h
@@ -39,11 +39,6 @@ class Element;
class nsBaseContentList : public nsINodeList
{
public:
- nsBaseContentList()
- {
- SetIsDOMBinding();
- }
-
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
// nsIDOMNodeList
diff --git a/content/base/src/nsDOMAttributeMap.cpp b/content/base/src/nsDOMAttributeMap.cpp
index 7310e2ecb9a5..1d63af7d7789 100644
--- a/content/base/src/nsDOMAttributeMap.cpp
+++ b/content/base/src/nsDOMAttributeMap.cpp
@@ -34,7 +34,6 @@ nsDOMAttributeMap::nsDOMAttributeMap(Element* aContent)
{
// We don't add a reference to our content. If it goes away,
// we'll be told to drop our reference
- SetIsDOMBinding();
}
/**
diff --git a/content/base/src/nsDOMCaretPosition.cpp b/content/base/src/nsDOMCaretPosition.cpp
index faaee946ec59..cbf68be7e19b 100644
--- a/content/base/src/nsDOMCaretPosition.cpp
+++ b/content/base/src/nsDOMCaretPosition.cpp
@@ -13,7 +13,6 @@ using namespace mozilla::dom;
nsDOMCaretPosition::nsDOMCaretPosition(nsINode* aNode, uint32_t aOffset)
: mOffset(aOffset), mOffsetNode(aNode), mAnonymousContentNode(nullptr)
{
- SetIsDOMBinding();
}
nsDOMCaretPosition::~nsDOMCaretPosition()
diff --git a/content/base/src/nsDOMFileReader.cpp b/content/base/src/nsDOMFileReader.cpp
index 0a622bb74414..f7f12d00280d 100644
--- a/content/base/src/nsDOMFileReader.cpp
+++ b/content/base/src/nsDOMFileReader.cpp
@@ -87,7 +87,6 @@ nsDOMFileReader::nsDOMFileReader()
mResultArrayBuffer(nullptr)
{
SetDOMStringToNull(mResult);
- SetIsDOMBinding();
}
nsDOMFileReader::~nsDOMFileReader()
diff --git a/content/base/src/nsDOMMutationObserver.h b/content/base/src/nsDOMMutationObserver.h
index 0020807b6e3e..2fa0934231cf 100644
--- a/content/base/src/nsDOMMutationObserver.h
+++ b/content/base/src/nsDOMMutationObserver.h
@@ -37,7 +37,6 @@ public:
nsDOMMutationRecord(nsIAtom* aType, nsISupports* aOwner)
: mType(aType), mAttrNamespace(NullString()), mPrevValue(NullString()), mOwner(aOwner)
{
- SetIsDOMBinding();
}
nsISupports* GetParentObject() const
@@ -347,7 +346,6 @@ public:
: mOwner(aOwner), mLastPendingMutation(nullptr), mPendingMutationCount(0),
mCallback(&aCb), mWaitingForRun(false), mId(++sCount)
{
- SetIsDOMBinding();
}
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsDOMMutationObserver)
diff --git a/content/base/src/nsDOMSerializer.cpp b/content/base/src/nsDOMSerializer.cpp
index 8998a8347a73..cb26fb24538d 100644
--- a/content/base/src/nsDOMSerializer.cpp
+++ b/content/base/src/nsDOMSerializer.cpp
@@ -18,7 +18,6 @@ using namespace mozilla;
nsDOMSerializer::nsDOMSerializer()
{
- SetIsDOMBinding();
}
nsDOMSerializer::~nsDOMSerializer()
diff --git a/content/base/src/nsDOMSerializer.h b/content/base/src/nsDOMSerializer.h
index 27c4d0877bca..b84595938291 100644
--- a/content/base/src/nsDOMSerializer.h
+++ b/content/base/src/nsDOMSerializer.h
@@ -59,7 +59,6 @@ private:
explicit nsDOMSerializer(nsISupports* aOwner) : mOwner(aOwner)
{
MOZ_ASSERT(aOwner);
- SetIsDOMBinding();
}
nsCOMPtr mOwner;
diff --git a/content/base/src/nsDOMTokenList.cpp b/content/base/src/nsDOMTokenList.cpp
index 9a2d87bc5956..856718566f5e 100644
--- a/content/base/src/nsDOMTokenList.cpp
+++ b/content/base/src/nsDOMTokenList.cpp
@@ -24,7 +24,6 @@ nsDOMTokenList::nsDOMTokenList(Element* aElement, nsIAtom* aAttrAtom)
{
// We don't add a reference to our element. If it goes away,
// we'll be told to drop our reference
- SetIsDOMBinding();
}
nsDOMTokenList::~nsDOMTokenList() { }
diff --git a/content/base/src/nsFormData.cpp b/content/base/src/nsFormData.cpp
index c5bd9edba32d..b327a833623f 100644
--- a/content/base/src/nsFormData.cpp
+++ b/content/base/src/nsFormData.cpp
@@ -16,7 +16,6 @@ nsFormData::nsFormData(nsISupports* aOwner)
: nsFormSubmission(NS_LITERAL_CSTRING("UTF-8"), nullptr)
, mOwner(aOwner)
{
- SetIsDOMBinding();
}
// -------------------------------------------------------------------------
diff --git a/content/base/src/nsINode.cpp b/content/base/src/nsINode.cpp
index 8e3a95c5567f..f559e98a05de 100644
--- a/content/base/src/nsINode.cpp
+++ b/content/base/src/nsINode.cpp
@@ -2674,8 +2674,6 @@ nsINode::GetElementById(const nsAString& aId)
JSObject*
nsINode::WrapObject(JSContext *aCx)
{
- MOZ_ASSERT(IsDOMBinding());
-
// Make sure one of these is true
// (1) our owner document has a script handling object,
// (2) Our owner document has had a script handling object, or has been marked
diff --git a/content/base/src/nsInProcessTabChildGlobal.cpp b/content/base/src/nsInProcessTabChildGlobal.cpp
index a80a5b2506c6..04500690f86c 100644
--- a/content/base/src/nsInProcessTabChildGlobal.cpp
+++ b/content/base/src/nsInProcessTabChildGlobal.cpp
@@ -103,6 +103,7 @@ nsInProcessTabChildGlobal::nsInProcessTabChildGlobal(nsIDocShell* aShell,
: mDocShell(aShell), mInitialized(false), mLoadingScript(false),
mOwner(aOwner), mChromeMessageManager(aChrome)
{
+ SetIsNotDOMBinding();
mozilla::HoldJSObjects(this);
// If owner corresponds to an