--- a/dom/base/Element.cpp
+++ b/dom/base/Element.cpp
@@ -1737,17 +1737,17 @@ Element::BindToTree(nsIDocument* aDocume
// It would be cleanest to mark nodes as dirty when (a) they're created and
// (b) they're unbound from a tree. However, we can't easily do (a) right now,
// because IsStyledByServo() is not always easy to check at node creation time,
// and the bits have different meaning in the non-IsStyledByServo case.
//
// So for now, we just mark nodes as dirty when they're inserted into a
// document or shadow tree.
if (IsStyledByServo() && IsInComposedDoc()) {
- MOZ_ASSERT(!ServoData().get());
+ MOZ_ASSERT(!HasServoData());
SetIsDirtyForServo();
}
// XXXbz script execution during binding can trigger some of these
// postcondition asserts.... But we do want that, since things will
// generally be quite broken when that happens.
NS_POSTCONDITION(aDocument == GetUncomposedDoc(), "Bound to wrong document");
NS_POSTCONDITION(aParent == GetParent(), "Bound to wrong parent");
@@ -1852,20 +1852,20 @@ Element::UnbindFromTree(bool aDeep, bool
DeleteProperty(nsGkAtoms::animationsProperty);
}
ClearInDocument();
// Computed styled data isn't useful for detached nodes, and we'll need to
// recomputed it anyway if we ever insert the nodes back into a document.
if (IsStyledByServo()) {
- ServoData().reset();
+ ClearServoData();
} else {
#ifdef MOZ_STYLO
- MOZ_ASSERT(!ServoData());
+ MOZ_ASSERT(!HasServoData());
#endif
}
// Editable descendant count only counts descendants that
// are in the uncomposed document.
ResetEditableDescendantCount();
if (aNullParent || !mParent->IsInShadowTree()) {
--- a/dom/base/nsGenericDOMDataNode.cpp
+++ b/dom/base/nsGenericDOMDataNode.cpp
@@ -562,17 +562,17 @@ nsGenericDOMDataNode::BindToTree(nsIDocu
// It would be cleanest to mark nodes as dirty when (a) they're created and
// (b) they're unbound from a tree. However, we can't easily do (a) right now,
// because IsStyledByServo() is not always easy to check at node creation time,
// and the bits have different meaning in the non-IsStyledByServo case.
//
// So for now, we just mark nodes as dirty when they're inserted into a
// document or shadow tree.
if (IsStyledByServo() && IsInComposedDoc()) {
- MOZ_ASSERT(!ServoData().get());
+ MOZ_ASSERT(!HasServoData());
SetIsDirtyForServo();
}
NS_POSTCONDITION(aDocument == GetUncomposedDoc(), "Bound to wrong document");
NS_POSTCONDITION(aParent == GetParent(), "Bound to wrong parent");
NS_POSTCONDITION(aBindingParent == GetBindingParent(),
"Bound to wrong binding parent");
@@ -600,20 +600,20 @@ nsGenericDOMDataNode::UnbindFromTree(boo
}
SetParentIsContent(false);
}
ClearInDocument();
// Computed styled data isn't useful for detached nodes, and we'll need to
// recomputed it anyway if we ever insert the nodes back into a document.
if (IsStyledByServo()) {
- ServoData().reset();
+ ClearServoData();
} else {
#ifdef MOZ_STYLO
- MOZ_ASSERT(!ServoData());
+ MOZ_ASSERT(!HasServoData());
#endif
}
if (aNullParent || !mParent->IsInShadowTree()) {
UnsetFlags(NODE_IS_IN_SHADOW_TREE);
// Begin keeping track of our subtree root.
SetSubtreeRootPointer(aNullParent ? this : mParent->SubtreeRoot());
--- a/dom/base/nsINode.cpp
+++ b/dom/base/nsINode.cpp
@@ -147,16 +147,17 @@ nsINode::nsSlots::Unlink()
}
//----------------------------------------------------------------------
nsINode::~nsINode()
{
MOZ_ASSERT(!HasSlots(), "nsNodeUtils::LastRelease was not called?");
MOZ_ASSERT(mSubtreeRoot == this, "Didn't restore state properly?");
+ ClearServoData();
}
void*
nsINode::GetProperty(uint16_t aCategory, nsIAtom *aPropertyName,
nsresult *aStatus) const
{
return OwnerDoc()->PropertyTable(aCategory)->GetProperty(this, aPropertyName,
aStatus);
--- a/dom/base/nsINode.h
+++ b/dom/base/nsINode.h
@@ -3,16 +3,17 @@
/* 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/. */
#ifndef nsINode_h___
#define nsINode_h___
#include "mozilla/Likely.h"
+#include "mozilla/ServoTypes.h"
#include "mozilla/UniquePtr.h"
#include "nsCOMPtr.h" // for member, local
#include "nsGkAtoms.h" // for nsGkAtoms::baseURIProperty
#include "nsIDOMNode.h"
#include "mozilla/dom/NodeInfo.h" // member (in nsCOMPtr)
#include "nsIVariant.h" // for use in GetUserData()
#include "nsNodeInfoManager.h" // for use in NodePrincipal()
#include "nsPropertyTable.h" // for typedefs
@@ -48,31 +49,17 @@ class nsINode;
class nsINodeList;
class nsIPresShell;
class nsIPrincipal;
class nsIURI;
class nsNodeSupportsWeakRefTearoff;
class nsNodeWeakReference;
class nsDOMMutationObserver;
-// We declare the bare minimum infrastructure here to allow us to have a
-// UniquePtr<ServoNodeData> on nsINode.
-struct ServoNodeData;
-extern "C" void Servo_NodeData_Drop(ServoNodeData*);
-namespace mozilla {
-template<>
-class DefaultDelete<ServoNodeData>
-{
-public:
- void operator()(ServoNodeData* aPtr) const
- {
- Servo_NodeData_Drop(aPtr);
- }
-};
-} // namespace mozilla
+extern "C" void Servo_Node_ClearNodeData(nsINode*);
namespace mozilla {
class EventListenerManager;
namespace dom {
/**
* @return true if aChar is what the DOM spec defines as 'space character'.
* http://dom.spec.whatwg.org/#space-character
*/
@@ -2085,19 +2072,27 @@ public:
void SetOn##name_(mozilla::dom::EventHandlerNonNull* listener);
#define TOUCH_EVENT EVENT
#define DOCUMENT_ONLY_EVENT EVENT
#include "mozilla/EventNameList.h"
#undef DOCUMENT_ONLY_EVENT
#undef TOUCH_EVENT
#undef EVENT
- mozilla::UniquePtr<ServoNodeData>& ServoData() {
+ bool HasServoData() {
#ifdef MOZ_STYLO
- return mServoNodeData;
+ return !!mServoData.Get();
+#else
+ MOZ_CRASH("Accessing servo node data in non-stylo build");
+#endif
+ }
+
+ void ClearServoData() {
+#ifdef MOZ_STYLO
+ Servo_Node_ClearNodeData(this);
#else
MOZ_CRASH("Accessing servo node data in non-stylo build");
#endif
}
protected:
static bool Traverse(nsINode *tmp, nsCycleCollectionTraversalCallback &cb);
static void Unlink(nsINode *tmp);
@@ -2132,18 +2127,18 @@ protected:
// object itself, or is reset by ClearSubtreeRootPointer.
nsINode* MOZ_NON_OWNING_REF mSubtreeRoot;
};
// Storage for more members that are usually not needed; allocated lazily.
nsSlots* mSlots;
#ifdef MOZ_STYLO
- // Layout data managed by Servo.
- mozilla::UniquePtr<ServoNodeData> mServoNodeData;
+ // Per-node data managed by Servo.
+ mozilla::ServoCell<ServoNodeData*> mServoData;
#endif
};
inline nsIDOMNode* GetAsDOMNode(nsINode* aNode)
{
return aNode ? aNode->AsDOMNode() : nullptr;
}
--- a/layout/base/ServoRestyleManager.cpp
+++ b/layout/base/ServoRestyleManager.cpp
@@ -381,17 +381,17 @@ ServoRestyleManager::ContentInserted(nsI
//
// Either way the whole tree is dirty, so we should style the document.
MOZ_ASSERT(aChild == aChild->OwnerDoc()->GetRootElement());
MOZ_ASSERT(aChild->IsDirtyForServo());
StyleSet()->StyleDocument(/* aLeaveDirtyBits = */ false);
return;
}
- if (!aContainer->ServoData().get()) {
+ if (!aContainer->HasServoData()) {
// This can happen with display:none. Bug 1297249 tracks more investigation
// and assertions here.
return;
}
// Style the new subtree because we will most likely need it during subsequent
// frame construction. Bug 1298281 tracks deferring this work in the lazy
// frame construction case.
@@ -412,17 +412,17 @@ ServoRestyleManager::RestyleForAppend(ns
// Bug 1297899 tracks this work.
//
}
void
ServoRestyleManager::ContentAppended(nsIContent* aContainer,
nsIContent* aFirstNewContent)
{
- if (!aContainer->ServoData().get()) {
+ if (!aContainer->HasServoData()) {
// This can happen with display:none. Bug 1297249 tracks more investigation
// and assertions here.
return;
}
// Style the new subtree because we will most likely need it during subsequent
// frame construction. Bug 1298281 tracks deferring this work in the lazy
// frame construction case.
--- a/layout/base/nsCSSFrameConstructor.cpp
+++ b/layout/base/nsCSSFrameConstructor.cpp
@@ -10588,23 +10588,23 @@ nsCSSFrameConstructor::AddFCItemsForAnon
parentDisplayBasedStyleFixupSkipper(aState.mTreeMatchContext);
if (aAnonymousItems[i].mStyleContext) {
// If we have an explicit style context, that means that the anonymous
// content creator had its own plan for the style, and doesn't need the
// computed style obtained by cascading this content as a normal node.
// This happens when a native anonymous node is used to implement a
// pseudo-element. Allowing Servo to traverse these nodes would be wasted
// work, so assert that we didn't do that.
- MOZ_ASSERT_IF(content->IsStyledByServo(), !content->ServoData());
+ MOZ_ASSERT_IF(content->IsStyledByServo(), !content->HasServoData());
styleContext = aAnonymousItems[i].mStyleContext.forget();
} else {
// If we don't have an explicit style context, that means we need the
// ordinary computed values. Make sure we eagerly cascaded them when the
// anonymous nodes were created.
- MOZ_ASSERT_IF(content->IsStyledByServo(), !!content->ServoData());
+ MOZ_ASSERT_IF(content->IsStyledByServo(), content->HasServoData());
styleContext = ResolveStyleContext(aFrame, content, &aState);
}
nsTArray<nsIAnonymousContentCreator::ContentInfo>* anonChildren = nullptr;
if (!aAnonymousItems[i].mChildren.IsEmpty()) {
anonChildren = &aAnonymousItems[i].mChildren;
}
--- a/layout/style/ServoBindingList.h
+++ b/layout/style/ServoBindingList.h
@@ -14,17 +14,17 @@
* and the parameter list of the function.
*
* Users of this list should define a macro
* SERVO_BINDING_FUNC(name_, return_, ...)
* before including this file.
*/
// Node data
-SERVO_BINDING_FUNC(Servo_NodeData_Drop, void, ServoNodeDataOwned data)
+SERVO_BINDING_FUNC(Servo_Node_ClearNodeData, void, RawGeckoNode* node)
// Styleset and Stylesheet management
SERVO_BINDING_FUNC(Servo_StyleSheet_FromUTF8Bytes, RawServoStyleSheetStrong,
const uint8_t* bytes, uint32_t length,
mozilla::css::SheetParsingMode parsing_mode,
const uint8_t* base_bytes, uint32_t base_length,
ThreadSafeURIHolder* base,
ThreadSafeURIHolder* referrer,
--- a/layout/style/ServoBindings.cpp
+++ b/layout/style/ServoBindings.cpp
@@ -564,29 +564,16 @@ ClassOrClassList(Implementor* aElement,
return ClassOrClassList(aElement, aClass, aClassList); \
}
SERVO_IMPL_ELEMENT_ATTR_MATCHING_FUNCTIONS(Gecko_, RawGeckoElementBorrowed)
SERVO_IMPL_ELEMENT_ATTR_MATCHING_FUNCTIONS(Gecko_Snapshot, ServoElementSnapshot*)
#undef SERVO_IMPL_ELEMENT_ATTR_MATCHING_FUNCTIONS
-ServoNodeDataBorrowedOrNull
-Gecko_GetNodeData(RawGeckoNodeBorrowed aNode)
-{
- return aNode->ServoData().get();
-}
-
-void
-Gecko_SetNodeData(RawGeckoNodeBorrowed aNode, ServoNodeDataOwned aData)
-{
- MOZ_ASSERT(!aNode->ServoData());
- aNode->ServoData().reset(aData);
-}
-
nsIAtom*
Gecko_Atomize(const char* aString, uint32_t aLength)
{
return NS_Atomize(nsDependentCSubstring(aString, aLength)).take();
}
void
Gecko_AddRefAtom(nsIAtom* aAtom)
--- a/layout/style/ServoBindings.h
+++ b/layout/style/ServoBindings.h
@@ -2,52 +2,49 @@
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef mozilla_ServoBindings_h
#define mozilla_ServoBindings_h
+#include "mozilla/ServoTypes.h"
#include "mozilla/ServoElementSnapshot.h"
#include "mozilla/css/SheetParsingMode.h"
+#include "mozilla/dom/Element.h"
+#include "nsIDocument.h"
+#include "nsINode.h"
#include "nsChangeHint.h"
#include "nsColor.h"
#include "nsProxyRelease.h"
#include "nsStyleCoord.h"
#include "nsStyleStruct.h"
#include "stdint.h"
/*
* API for Servo to access Gecko data structures. This file must compile as valid
* C code in order for the binding generator to parse it.
*
* Functions beginning with Gecko_ are implemented in Gecko and invoked from Servo.
* Functions beginning with Servo_ are implemented in Servo and invoked from Gecko.
*/
class nsIAtom;
-class nsINode;
-typedef nsINode RawGeckoNode;
class nsIPrincipal;
class nsIURI;
struct nsFont;
namespace mozilla {
class FontFamilyList;
enum FontFamilyType : uint32_t;
- namespace dom { class Element; }
}
using mozilla::FontFamilyList;
using mozilla::FontFamilyType;
using mozilla::dom::Element;
using mozilla::ServoElementSnapshot;
-typedef mozilla::dom::Element RawGeckoElement;
-class nsIDocument;
-typedef nsIDocument RawGeckoDocument;
-struct ServoNodeData;
struct ServoComputedValues;
struct RawServoStyleSheet;
struct RawServoStyleSet;
class nsHTMLCSSStyleSheet;
struct nsStyleList;
struct nsStyleImage;
struct nsStyleGradientStop;
class nsStyleGradient;
@@ -102,18 +99,16 @@ using mozilla::dom::StyleChildrenIterato
DECL_NULLABLE_BORROWED_REF_TYPE_FOR(type_) \
DECL_NULLABLE_BORROWED_MUT_REF_TYPE_FOR(type_)
DECL_ARC_REF_TYPE_FOR(ServoComputedValues)
DECL_ARC_REF_TYPE_FOR(RawServoStyleSheet)
DECL_ARC_REF_TYPE_FOR(ServoDeclarationBlock)
DECL_OWNED_REF_TYPE_FOR(RawServoStyleSet)
-DECL_NULLABLE_OWNED_REF_TYPE_FOR(ServoNodeData)
-DECL_OWNED_REF_TYPE_FOR(ServoNodeData)
DECL_NULLABLE_OWNED_REF_TYPE_FOR(StyleChildrenIterator)
DECL_OWNED_REF_TYPE_FOR(StyleChildrenIterator)
// We don't use BorrowedMut because the nodes may alias
// Servo itself doesn't directly read or mutate these;
// it only asks Gecko to do so. In case we wish to in
// the future, we should ensure that things being mutated
// are protected from noalias violations by a cell type
@@ -218,20 +213,16 @@ SERVO_DECLARE_ELEMENT_ATTR_MATCHING_FUNC
SERVO_DECLARE_ELEMENT_ATTR_MATCHING_FUNCTIONS(Gecko_Snapshot,
ServoElementSnapshot*)
#undef SERVO_DECLARE_ELEMENT_ATTR_MATCHING_FUNCTIONS
// Style attributes.
ServoDeclarationBlockBorrowedOrNull Gecko_GetServoDeclarationBlock(RawGeckoElementBorrowed element);
-// Node data.
-ServoNodeDataBorrowedOrNull Gecko_GetNodeData(RawGeckoNodeBorrowed node);
-void Gecko_SetNodeData(RawGeckoNodeBorrowed node, ServoNodeDataOwned data);
-
// Atoms.
nsIAtom* Gecko_Atomize(const char* aString, uint32_t aLength);
void Gecko_AddRefAtom(nsIAtom* aAtom);
void Gecko_ReleaseAtom(nsIAtom* aAtom);
const uint16_t* Gecko_GetAtomAsUTF16(nsIAtom* aAtom, uint32_t* aLength);
bool Gecko_AtomEqualsUTF8(nsIAtom* aAtom, const char* aString, uint32_t aLength);
bool Gecko_AtomEqualsUTF8IgnoreCase(nsIAtom* aAtom, const char* aString, uint32_t aLength);
new file mode 100644
--- /dev/null
+++ b/layout/style/ServoTypes.h
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* 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/. */
+
+#ifndef mozilla_ServoTypes_h
+#define mozilla_ServoTypes_h
+
+/*
+ * Type definitions used to interact with Servo. This gets included by nsINode,
+ * so don't add significant include dependencies to this file.
+ */
+
+struct ServoNodeData;
+namespace mozilla {
+
+/*
+ * Replaced types. These get mapped to associated Servo types in bindgen.
+ */
+
+template<typename T>
+struct ServoUnsafeCell {
+ T value;
+
+ // Ensure that primitive types (i.e. pointers) get zero-initialized.
+ ServoUnsafeCell() : value() {};
+};
+
+template<typename T>
+struct ServoCell {
+ ServoUnsafeCell<T> value;
+ T Get() const { return value.value; }
+ void Set(T arg) { value.value = arg; }
+ ServoCell() : value() {};
+};
+
+} // namespace mozilla
+
+#endif // mozilla_ServoTypes_h
--- a/layout/style/moz.build
+++ b/layout/style/moz.build
@@ -92,16 +92,17 @@ EXPORTS.mozilla += [
'RuleNodeCacheConditions.h',
'RuleProcessorCache.h',
'ServoBindingHelpers.h',
'ServoBindingList.h',
'ServoBindings.h',
'ServoElementSnapshot.h',
'ServoStyleSet.h',
'ServoStyleSheet.h',
+ 'ServoTypes.h',
'SheetType.h',
'StyleAnimationValue.h',
'StyleBackendType.h',
'StyleContextSource.h',
'StyleSetHandle.h',
'StyleSetHandleInlines.h',
'StyleSheet.h',
'StyleSheetHandle.h',
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -41,16 +41,21 @@
class nsIFrame;
class nsIURI;
class nsStyleContext;
class nsTextFrame;
class imgIContainer;
struct nsStyleVisibility;
+typedef nsINode RawGeckoNode;
+typedef mozilla::dom::Element RawGeckoElement;
+typedef nsIDocument RawGeckoDocument;
+struct ServoNodeData;
+
// Includes nsStyleStructID.
#include "nsStyleStructFwd.h"
// Bits for each struct.
// NS_STYLE_INHERIT_BIT defined in nsStyleStructFwd.h
#define NS_STYLE_INHERIT_MASK 0x000ffffff
// Bits for inherited structs.
--- a/servo/ports/geckolib/binding_tools/regen.py
+++ b/servo/ports/geckolib/binding_tools/regen.py
@@ -61,27 +61,34 @@ COMPILATION_TARGETS = {
"clang_flags": [
"-DDEBUG=1",
"-DJS_DEBUG=1",
]
},
"release": {
}
},
+ "raw_lines": [
+ # We can get rid of this when the bindings move into the style crate.
+ "pub enum OpaqueStyleData {}",
+ ],
"whitelist_vars": [
"NS_THEME_.*",
"NODE_.*",
"NS_FONT_STYLE_.*",
"NS_STYLE_.*",
"NS_CORNER_.*",
"NS_RADIUS_.*",
"BORDER_COLOR_.*",
"BORDER_STYLE_.*"
],
"whitelist": [
+ "RawGeckoNode",
+ "RawGeckoElement",
+ "RawGeckoDocument",
"Element",
"Side",
"nsTArrayHeader",
"nsCSSValueGradient",
"nsCSSValueList_heap",
"FrameRequestCallback",
"nsCSSValueTriplet_heap",
"nsCSSRect_heap",
@@ -163,16 +170,27 @@ COMPILATION_TARGETS = {
"SupportsWeakPtr",
"Maybe", # <- AlignedStorage, which means templated union, which
# means impossible to represent in stable rust as of
# right now.
"gfxSize", # <- Same, union { struct { T width; T height; }; T components[2] };
"gfxSize_Super", # Ditto.
"atomic___base", # stdlib implementation detail on mac.
],
+ "servo_mapped_generic_types": [
+ { "generic": True,
+ "gecko": "ServoUnsafeCell",
+ "servo": "::std::cell::UnsafeCell" },
+ { "generic": True,
+ "gecko": "ServoCell",
+ "servo": "::std::cell::Cell" },
+ { "generic": False,
+ "gecko": "ServoNodeData",
+ "servo": "OpaqueStyleData" }
+ ],
},
# Generation of the ffi bindings.
"bindings": {
"target_dir": "../gecko_bindings",
"raw_lines": [
"use heapsize::HeapSizeOf;",
],
"flags": [
@@ -201,24 +219,25 @@ COMPILATION_TARGETS = {
"nsStyleImageLayers_Layer", "nsStyleImageLayers_LayerType",
"nsStyleUnit", "nsStyleUnion", "nsStyleCoord_CalcValue",
"nsStyleCoord_Calc", "nsRestyleHint", "ServoElementSnapshot",
"nsChangeHint", "SheetParsingMode", "nsMainThreadPtrHandle",
"nsMainThreadPtrHolder", "nscolor", "nsFont", "FontFamilyList",
"FontFamilyType", "nsIAtom", "nsStyleContext", "StyleClipPath",
"StyleBasicShapeType", "StyleBasicShape", "nsCSSShadowArray",
"nsINode", "nsIDocument", "nsIPrincipal", "nsIURI",
+ "RawGeckoNode", "RawGeckoElement", "RawGeckoDocument",
+ "ServoNodeData",
],
"servo_nullable_arc_types": [
"ServoComputedValues", "RawServoStyleSheet",
"ServoDeclarationBlock"
],
"servo_owned_types": [
"RawServoStyleSet",
- "ServoNodeData",
"StyleChildrenIterator",
],
"servo_immutable_borrow_types": [
"RawGeckoNode",
"RawGeckoElement",
"RawGeckoDocument",
],
"whitelist_functions": [
@@ -425,17 +444,27 @@ def build(objdir, target_name, debug, de
flags.append("--blacklist-type")
flags.append("{}Borrowed".format(ty))
flags.append("--raw-line")
flags.append("pub type {0}Borrowed<'a> = &'a {0};".format(ty))
flags.append("--blacklist-type")
flags.append("{}BorrowedOrNull".format(ty))
flags.append("--raw-line")
flags.append("pub type {0}BorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, {0}>;".format(ty))
- zero_size_type(ty, flags)
+ # Right now the only immutable borrow types are ones which we import
+ # from the |structs| module. As such, we don't need to create an opaque
+ # type with zero_size_type. If we ever introduce immutable borrow types
+ # which _do_ need to be opaque, we'll need a separate mode.
+
+ if "servo_mapped_generic_types" in current_target:
+ for ty in current_target["servo_mapped_generic_types"]:
+ flags.append("--blacklist-type")
+ flags.append("{}".format(ty["gecko"]))
+ flags.append("--raw-line")
+ flags.append("pub type {0}{2} = {1}{2};".format(ty["gecko"], ty["servo"], "<T>" if ty["generic"] else ""))
if "servo_owned_types" in current_target:
for ty in current_target["servo_owned_types"]:
flags.append("--blacklist-type")
flags.append("{}Borrowed".format(ty))
flags.append("--raw-line")
flags.append("pub type {0}Borrowed<'a> = &'a {0};".format(ty))
flags.append("--blacklist-type")
--- a/servo/ports/geckolib/gecko_bindings/bindings.rs
+++ b/servo/ports/geckolib/gecko_bindings/bindings.rs
@@ -13,42 +13,28 @@ enum RawServoStyleSheetVoid{ }
pub struct RawServoStyleSheet(RawServoStyleSheetVoid);
pub type ServoDeclarationBlockStrong = ::sugar::ownership::Strong<ServoDeclarationBlock>;
pub type ServoDeclarationBlockBorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, ServoDeclarationBlock>;
pub type ServoDeclarationBlockBorrowed<'a> = &'a ServoDeclarationBlock;
enum ServoDeclarationBlockVoid{ }
pub struct ServoDeclarationBlock(ServoDeclarationBlockVoid);
pub type RawGeckoNodeBorrowed<'a> = &'a RawGeckoNode;
pub type RawGeckoNodeBorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, RawGeckoNode>;
-enum RawGeckoNodeVoid{ }
-pub struct RawGeckoNode(RawGeckoNodeVoid);
pub type RawGeckoElementBorrowed<'a> = &'a RawGeckoElement;
pub type RawGeckoElementBorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, RawGeckoElement>;
-enum RawGeckoElementVoid{ }
-pub struct RawGeckoElement(RawGeckoElementVoid);
pub type RawGeckoDocumentBorrowed<'a> = &'a RawGeckoDocument;
pub type RawGeckoDocumentBorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, RawGeckoDocument>;
-enum RawGeckoDocumentVoid{ }
-pub struct RawGeckoDocument(RawGeckoDocumentVoid);
pub type RawServoStyleSetBorrowed<'a> = &'a RawServoStyleSet;
pub type RawServoStyleSetBorrowedMut<'a> = &'a mut RawServoStyleSet;
pub type RawServoStyleSetOwned = ::sugar::ownership::Owned<RawServoStyleSet>;
pub type RawServoStyleSetBorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, RawServoStyleSet>;
pub type RawServoStyleSetBorrowedMutOrNull<'a> = ::sugar::ownership::BorrowedMut<'a, RawServoStyleSet>;
pub type RawServoStyleSetOwnedOrNull = ::sugar::ownership::OwnedOrNull<RawServoStyleSet>;
enum RawServoStyleSetVoid{ }
pub struct RawServoStyleSet(RawServoStyleSetVoid);
-pub type ServoNodeDataBorrowed<'a> = &'a ServoNodeData;
-pub type ServoNodeDataBorrowedMut<'a> = &'a mut ServoNodeData;
-pub type ServoNodeDataOwned = ::sugar::ownership::Owned<ServoNodeData>;
-pub type ServoNodeDataBorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, ServoNodeData>;
-pub type ServoNodeDataBorrowedMutOrNull<'a> = ::sugar::ownership::BorrowedMut<'a, ServoNodeData>;
-pub type ServoNodeDataOwnedOrNull = ::sugar::ownership::OwnedOrNull<ServoNodeData>;
-enum ServoNodeDataVoid{ }
-pub struct ServoNodeData(ServoNodeDataVoid);
pub type StyleChildrenIteratorBorrowed<'a> = &'a StyleChildrenIterator;
pub type StyleChildrenIteratorBorrowedMut<'a> = &'a mut StyleChildrenIterator;
pub type StyleChildrenIteratorOwned = ::sugar::ownership::Owned<StyleChildrenIterator>;
pub type StyleChildrenIteratorBorrowedOrNull<'a> = ::sugar::ownership::Borrowed<'a, StyleChildrenIterator>;
pub type StyleChildrenIteratorBorrowedMutOrNull<'a> = ::sugar::ownership::BorrowedMut<'a, StyleChildrenIterator>;
pub type StyleChildrenIteratorOwnedOrNull = ::sugar::ownership::OwnedOrNull<StyleChildrenIterator>;
enum StyleChildrenIteratorVoid{ }
pub struct StyleChildrenIterator(StyleChildrenIteratorVoid);
@@ -174,27 +160,31 @@ unsafe impl Sync for nsStyleContext {}
use structs::StyleClipPath;
use structs::StyleBasicShapeType;
use structs::StyleBasicShape;
use structs::nsCSSShadowArray;
use structs::nsINode;
use structs::nsIDocument;
use structs::nsIPrincipal;
use structs::nsIURI;
+use structs::RawGeckoNode;
+use structs::RawGeckoElement;
+use structs::RawGeckoDocument;
+use structs::ServoNodeData;
extern "C" {
pub fn Gecko_EnsureTArrayCapacity(aArray: *mut ::std::os::raw::c_void,
aCapacity: usize, aElementSize: usize);
}
extern "C" {
pub fn Gecko_ClearPODTArray(aArray: *mut ::std::os::raw::c_void,
aElementSize: usize, aElementAlign: usize);
}
extern "C" {
- pub fn Servo_NodeData_Drop(arg1: *mut ServoNodeData);
+ pub fn Servo_Node_ClearNodeData(arg1: *mut nsINode);
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsHTMLCSSStyleSheet {
pub _address: u8,
}
impl Clone for nsHTMLCSSStyleSheet {
fn clone(&self) -> Self { *self }
@@ -383,24 +373,16 @@ extern "C" {
classList: *mut *mut *mut nsIAtom)
-> u32;
}
extern "C" {
pub fn Gecko_GetServoDeclarationBlock(element: RawGeckoElementBorrowed)
-> ServoDeclarationBlockBorrowedOrNull;
}
extern "C" {
- pub fn Gecko_GetNodeData(node: RawGeckoNodeBorrowed)
- -> ServoNodeDataBorrowedOrNull;
-}
-extern "C" {
- pub fn Gecko_SetNodeData(node: RawGeckoNodeBorrowed,
- data: ServoNodeDataOwned);
-}
-extern "C" {
pub fn Gecko_Atomize(aString: *const ::std::os::raw::c_char, aLength: u32)
-> *mut nsIAtom;
}
extern "C" {
pub fn Gecko_AddRefAtom(aAtom: *mut nsIAtom);
}
extern "C" {
pub fn Gecko_ReleaseAtom(aAtom: *mut nsIAtom);
--- a/servo/ports/geckolib/gecko_bindings/structs_debug.rs
+++ b/servo/ports/geckolib/gecko_bindings/structs_debug.rs
@@ -1,10 +1,15 @@
/* automatically generated by rust-bindgen */
+pub enum OpaqueStyleData {}
+pub type ServoUnsafeCell<T> = ::std::cell::UnsafeCell<T>;
+pub type ServoCell<T> = ::std::cell::Cell<T>;
+pub type ServoNodeData = OpaqueStyleData;
+
#[derive(Debug)]
#[repr(C)]
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
impl <T> __BindgenUnionField<T> {
#[inline]
pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) }
#[inline]
pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) }
@@ -1491,40 +1496,40 @@ pub enum JSWhyMagic {
JS_UNINITIALIZED_LEXICAL = 15,
JS_GENERIC_MAGIC = 16,
JS_WHY_MAGIC_COUNT = 17,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct jsval_layout {
pub asBits: __BindgenUnionField<u64>,
- pub debugView: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_61680>,
- pub s: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_61687>,
+ pub debugView: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_61683>,
+ pub s: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_61690>,
pub asDouble: __BindgenUnionField<f64>,
pub asPtr: __BindgenUnionField<*mut ::std::os::raw::c_void>,
pub asWord: __BindgenUnionField<usize>,
pub asUIntPtr: __BindgenUnionField<usize>,
pub bindgen_union_field: u64,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct jsval_layout__bindgen_ty_bindgen_id_61680 {
+pub struct jsval_layout__bindgen_ty_bindgen_id_61683 {
pub _bitfield_1: u64,
}
#[test]
-fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_61680() {
- assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_61680>()
+fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_61683() {
+ assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_61683>()
, 8usize);
- assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_61680>()
+ assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_61683>()
, 8usize);
}
-impl Clone for jsval_layout__bindgen_ty_bindgen_id_61680 {
- fn clone(&self) -> Self { *self }
-}
-impl jsval_layout__bindgen_ty_bindgen_id_61680 {
+impl Clone for jsval_layout__bindgen_ty_bindgen_id_61683 {
+ fn clone(&self) -> Self { *self }
+}
+impl jsval_layout__bindgen_ty_bindgen_id_61683 {
#[inline]
pub fn payload47(&self) -> u64 {
unsafe {
::std::mem::transmute(((self._bitfield_1 &
(140737488355327usize as u64)) >>
0u32) as u64)
}
}
@@ -1547,46 +1552,46 @@ impl jsval_layout__bindgen_ty_bindgen_id
self._bitfield_1 &= !(18446603336221196288usize as u64);
self._bitfield_1 |=
((val as u32 as u64) << 47u32) &
(18446603336221196288usize as u64);
}
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct jsval_layout__bindgen_ty_bindgen_id_61687 {
- pub payload: jsval_layout__bindgen_ty_bindgen_id_61687__bindgen_ty_bindgen_id_61688,
-}
-#[repr(C)]
-#[derive(Debug, Copy)]
-pub struct jsval_layout__bindgen_ty_bindgen_id_61687__bindgen_ty_bindgen_id_61688 {
+pub struct jsval_layout__bindgen_ty_bindgen_id_61690 {
+ pub payload: jsval_layout__bindgen_ty_bindgen_id_61690__bindgen_ty_bindgen_id_61691,
+}
+#[repr(C)]
+#[derive(Debug, Copy)]
+pub struct jsval_layout__bindgen_ty_bindgen_id_61690__bindgen_ty_bindgen_id_61691 {
pub i32: __BindgenUnionField<i32>,
pub u32: __BindgenUnionField<u32>,
pub why: __BindgenUnionField<JSWhyMagic>,
pub bindgen_union_field: u32,
}
#[test]
-fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_61687__bindgen_ty_bindgen_id_61688() {
- assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_61687__bindgen_ty_bindgen_id_61688>()
+fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_61690__bindgen_ty_bindgen_id_61691() {
+ assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_61690__bindgen_ty_bindgen_id_61691>()
, 4usize);
- assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_61687__bindgen_ty_bindgen_id_61688>()
+ assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_61690__bindgen_ty_bindgen_id_61691>()
, 4usize);
}
impl Clone for
- jsval_layout__bindgen_ty_bindgen_id_61687__bindgen_ty_bindgen_id_61688 {
- fn clone(&self) -> Self { *self }
-}
-#[test]
-fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_61687() {
- assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_61687>()
+ jsval_layout__bindgen_ty_bindgen_id_61690__bindgen_ty_bindgen_id_61691 {
+ fn clone(&self) -> Self { *self }
+}
+#[test]
+fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_61690() {
+ assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_61690>()
, 4usize);
- assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_61687>()
+ assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_61690>()
, 4usize);
}
-impl Clone for jsval_layout__bindgen_ty_bindgen_id_61687 {
+impl Clone for jsval_layout__bindgen_ty_bindgen_id_61690 {
fn clone(&self) -> Self { *self }
}
impl Clone for jsval_layout {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug)]
pub struct nsAString_internal {
@@ -1610,17 +1615,17 @@ pub type nsAString_internal_iterator = n
pub type nsAString_internal_comparator_type = nsStringComparator;
pub type nsAString_internal_char_iterator = *mut nsAString_internal_char_type;
pub type nsAString_internal_const_char_iterator =
*const nsAString_internal_char_type;
pub type nsAString_internal_size_type = u32;
pub type nsAString_internal_index_type = u32;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsAString_internal__bindgen_ty_bindgen_id_63525 {
+pub enum nsAString_internal__bindgen_ty_bindgen_id_63528 {
F_NONE = 0,
F_TERMINATED = 1,
F_VOIDED = 2,
F_SHARED = 4,
F_OWNED = 8,
F_FIXED = 16,
F_LITERAL = 32,
F_CLASS_FIXED = 65536,
@@ -1672,22 +1677,22 @@ impl Clone for nsString_Segment {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsString() {
assert_eq!(::std::mem::size_of::<nsString>() , 16usize);
assert_eq!(::std::mem::align_of::<nsString>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_64135 {
+pub struct bindgen_vtable__bindgen_id_64138 {
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsStringComparator {
- pub vtable_: *const bindgen_vtable__bindgen_id_64135,
+ pub vtable_: *const bindgen_vtable__bindgen_id_64138,
}
pub type nsStringComparator_char_type = u16;
#[test]
fn bindgen_test_layout_nsStringComparator() {
assert_eq!(::std::mem::size_of::<nsStringComparator>() , 8usize);
assert_eq!(::std::mem::align_of::<nsStringComparator>() , 8usize);
}
impl Clone for nsStringComparator {
@@ -1719,17 +1724,17 @@ pub type nsACString_internal_comparator_
pub type nsACString_internal_char_iterator =
*mut nsACString_internal_char_type;
pub type nsACString_internal_const_char_iterator =
*const nsACString_internal_char_type;
pub type nsACString_internal_size_type = u32;
pub type nsACString_internal_index_type = u32;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsACString_internal__bindgen_ty_bindgen_id_65365 {
+pub enum nsACString_internal__bindgen_ty_bindgen_id_65368 {
F_NONE = 0,
F_TERMINATED = 1,
F_VOIDED = 2,
F_SHARED = 4,
F_OWNED = 8,
F_FIXED = 16,
F_LITERAL = 32,
F_CLASS_FIXED = 65536,
@@ -1781,45 +1786,45 @@ impl Clone for nsCString_Segment {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsCString() {
assert_eq!(::std::mem::size_of::<nsCString>() , 16usize);
assert_eq!(::std::mem::align_of::<nsCString>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_65917 {
+pub struct bindgen_vtable__bindgen_id_65920 {
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsCStringComparator {
- pub vtable_: *const bindgen_vtable__bindgen_id_65917,
+ pub vtable_: *const bindgen_vtable__bindgen_id_65920,
}
pub type nsCStringComparator_char_type = ::std::os::raw::c_char;
#[test]
fn bindgen_test_layout_nsCStringComparator() {
assert_eq!(::std::mem::size_of::<nsCStringComparator>() , 8usize);
assert_eq!(::std::mem::align_of::<nsCStringComparator>() , 8usize);
}
impl Clone for nsCStringComparator {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_65961 {
+pub struct bindgen_vtable__bindgen_id_65964 {
}
/**
* Basic component object model interface. Objects which implement
* this interface support runtime interface discovery (QueryInterface)
* and a reference counted memory model (AddRef/Release). This is
* modelled after the win32 IUnknown API.
*/
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsISupports {
- pub vtable_: *const bindgen_vtable__bindgen_id_65961,
+ pub vtable_: *const bindgen_vtable__bindgen_id_65964,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nsISupports_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
@@ -1827,25 +1832,25 @@ pub struct nsISupports_COMTypeInfo<T, U>
fn bindgen_test_layout_nsISupports() {
assert_eq!(::std::mem::size_of::<nsISupports>() , 8usize);
assert_eq!(::std::mem::align_of::<nsISupports>() , 8usize);
}
impl Clone for nsISupports {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_66244 {
+pub struct bindgen_vtable__bindgen_id_66247 {
}
/**
* Participant implementation classes
*/
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsCycleCollectionParticipant {
- pub vtable_: *const bindgen_vtable__bindgen_id_66244,
+ pub vtable_: *const bindgen_vtable__bindgen_id_66247,
pub mMightSkip: bool,
}
#[test]
fn bindgen_test_layout_nsCycleCollectionParticipant() {
assert_eq!(::std::mem::size_of::<nsCycleCollectionParticipant>() ,
16usize);
assert_eq!(::std::mem::align_of::<nsCycleCollectionParticipant>() ,
8usize);
@@ -2144,17 +2149,17 @@ fn bindgen_test_layout_ErrorResult() {
* A cleanup policy consists of two booleans: whether to assert that we've been
* reported or suppressed, and whether to then go ahead and suppress the
* exception.
*/
#[repr(C)]
#[derive(Debug)]
pub struct TErrorResult<CleanupPolicy> {
pub mResult: nsresult,
- pub __bindgen_anon_1: TErrorResult__bindgen_ty_bindgen_id_73746<CleanupPolicy>,
+ pub __bindgen_anon_1: TErrorResult__bindgen_ty_bindgen_id_73749<CleanupPolicy>,
pub mMightHaveUnreportedJSException: bool,
pub mUnionState: TErrorResult_UnionState,
pub _mOwningThread: nsAutoOwningThread,
pub _phantom_0: ::std::marker::PhantomData<CleanupPolicy>,
}
pub const TErrorResult_UnionState_HasDOMExceptionInfo: TErrorResult_UnionState
=
TErrorResult_UnionState::HasMessage;
@@ -2174,17 +2179,17 @@ pub struct TErrorResult_Message<CleanupP
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TErrorResult_DOMExceptionInfo<CleanupPolicy> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<CleanupPolicy>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct TErrorResult__bindgen_ty_bindgen_id_73746<CleanupPolicy> {
+pub struct TErrorResult__bindgen_ty_bindgen_id_73749<CleanupPolicy> {
pub mMessage: __BindgenUnionField<*mut TErrorResult_Message<CleanupPolicy>>,
pub mJSException: __BindgenUnionField<Value>,
pub mDOMExceptionInfo: __BindgenUnionField<*mut TErrorResult_DOMExceptionInfo<CleanupPolicy>>,
pub bindgen_union_field: u64,
pub _phantom_0: ::std::marker::PhantomData<CleanupPolicy>,
}
#[repr(C)]
#[derive(Debug, Copy)]
@@ -2321,17 +2326,17 @@ impl nsIAtom {
#[inline]
pub fn set_mIsStatic(&mut self, val: u32) {
self._bitfield_1 &= !(2147483648usize as u32);
self._bitfield_1 |=
((val as u32 as u32) << 31u32) & (2147483648usize as u32);
}
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_74733 {
+pub struct bindgen_vtable__bindgen_id_74736 {
}
/**
* Class to store the wrapper for an object. This can only be used with objects
* that only have one non-security wrapper at a time (for an XPCWrappedNative
* this is usually ensured by setting an explicit parent in the PreCreate hook
* for the class).
*
* An instance of nsWrapperCache can be gotten from an object that implements
@@ -2363,17 +2368,17 @@ pub struct bindgen_vtable__bindgen_id_74
*
* A number of the methods are implemented in nsWrapperCacheInlines.h because we
* have to include some JS headers that don't play nicely with the rest of the
* codebase. Include nsWrapperCacheInlines.h if you need to call those methods.
*/
#[repr(C)]
#[derive(Debug)]
pub struct nsWrapperCache {
- pub vtable_: *const bindgen_vtable__bindgen_id_74733,
+ pub vtable_: *const bindgen_vtable__bindgen_id_74736,
pub mWrapper: *mut JSObject,
pub mFlags: nsWrapperCache_FlagsType,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nsWrapperCache_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
@@ -2388,31 +2393,31 @@ pub type nsWrapperCache_FlagsType = u32;
* causes between the native object and the JS object, so it is important that
* any native object that supports preserving of its wrapper
* traces/traverses/unlinks the cached JS object (see
* NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER,
* NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS and
* NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER).
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsWrapperCache__bindgen_ty_bindgen_id_74940 {
+pub enum nsWrapperCache__bindgen_ty_bindgen_id_74943 {
WRAPPER_BIT_PRESERVED = 1,
}
#[repr(u32)]
/**
* If this bit is set then the wrapper for the native object is not a DOM
* binding.
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsWrapperCache__bindgen_ty_bindgen_id_74943 {
+pub enum nsWrapperCache__bindgen_ty_bindgen_id_74946 {
WRAPPER_IS_NOT_DOM_BINDING = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsWrapperCache__bindgen_ty_bindgen_id_74946 {
+pub enum nsWrapperCache__bindgen_ty_bindgen_id_74949 {
kWrapperFlagsMask = 3,
}
#[test]
fn bindgen_test_layout_nsWrapperCache() {
assert_eq!(::std::mem::size_of::<nsWrapperCache>() , 24usize);
assert_eq!(::std::mem::align_of::<nsWrapperCache>() , 8usize);
}
#[repr(C)]
@@ -2511,33 +2516,33 @@ impl Clone for bidirectional_iterator_ta
#[derive(Debug, Copy)]
pub struct random_access_iterator_tag {
pub _address: u8,
}
impl Clone for random_access_iterator_tag {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_94562 {
+pub struct bindgen_vtable__bindgen_id_94565 {
}
/**
* A class of objects that return source code on demand.
*
* When code is compiled with setSourceIsLazy(true), SpiderMonkey doesn't
* retain the source code (and doesn't do lazy bytecode generation). If we ever
* need the source code, say, in response to a call to Function.prototype.
* toSource or Debugger.Source.prototype.text, then we call the 'load' member
* function of the instance of this class that has hopefully been registered
* with the runtime, passing the code's URL, and hope that it will be able to
* find the source.
*/
#[repr(C)]
#[derive(Debug)]
pub struct SourceHook {
- pub vtable_: *const bindgen_vtable__bindgen_id_94562,
+ pub vtable_: *const bindgen_vtable__bindgen_id_94565,
}
#[test]
fn bindgen_test_layout_SourceHook() {
assert_eq!(::std::mem::size_of::<SourceHook>() , 8usize);
assert_eq!(::std::mem::align_of::<SourceHook>() , 8usize);
}
#[repr(C)]
#[derive(Debug, Copy)]
@@ -2548,17 +2553,17 @@ pub struct nsIPrincipal {
#[derive(Debug, Copy, Clone)]
pub struct nsIPrincipal_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPrincipal__bindgen_ty_bindgen_id_100010 {
+pub enum nsIPrincipal__bindgen_ty_bindgen_id_100013 {
APP_STATUS_NOT_INSTALLED = 0,
APP_STATUS_INSTALLED = 1,
APP_STATUS_PRIVILEGED = 2,
APP_STATUS_CERTIFIED = 3,
}
#[test]
fn bindgen_test_layout_nsIPrincipal() {
assert_eq!(::std::mem::size_of::<nsIPrincipal>() , 8usize);
@@ -2871,17 +2876,17 @@ pub enum nsIDocument_DocumentTheme {
Doc_Theme_Neutral = 2,
Doc_Theme_Dark = 3,
Doc_Theme_Bright = 4,
}
pub type nsIDocument_FrameRequestCallbackList =
nsTArray<RefPtr<FrameRequestCallback>>;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIDocument__bindgen_ty_bindgen_id_108720 { REQUEST_DISCARD = 1, }
+pub enum nsIDocument__bindgen_ty_bindgen_id_108729 { REQUEST_DISCARD = 1, }
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsIDocument_DeprecatedOperations {
eGetAttributeNode = 0,
eSetAttributeNode = 1,
eGetAttributeNodeNS = 2,
eSetAttributeNodeNS = 3,
eRemoveAttributeNode = 4,
@@ -3562,20 +3567,19 @@ impl nsIDocument {
pub struct nsINode {
pub _base: EventTarget,
pub mNodeInfo: RefPtr<NodeInfo>,
pub mParent: *mut nsINode,
pub mBoolFlags: u32,
pub mNextSibling: *mut nsIContent,
pub mPreviousSibling: *mut nsIContent,
pub mFirstChild: *mut nsIContent,
- pub __bindgen_anon_1: nsINode__bindgen_ty_bindgen_id_105423,
+ pub __bindgen_anon_1: nsINode__bindgen_ty_bindgen_id_105432,
pub mSlots: *mut nsINode_nsSlots,
- pub mServoNodeData: UniquePtr<ServoNodeData,
- DefaultDelete<ServoNodeData>>,
+ pub mServoData: ServoCell<*mut ServoNodeData>,
}
pub type nsINode_BoxQuadOptions = BoxQuadOptions;
pub type nsINode_ConvertCoordinateOptions = ConvertCoordinateOptions;
pub type nsINode_DOMPoint = DOMPoint;
pub type nsINode_DOMPointInit = DOMPointInit;
pub type nsINode_DOMQuad = DOMQuad;
pub type nsINode_DOMRectReadOnly = DOMRectReadOnly;
pub type nsINode_OwningNodeOrString = OwningNodeOrString;
@@ -3588,37 +3592,37 @@ pub struct nsINode_COMTypeInfo<T, U> {
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
/**
* Bit-flags to pass (or'ed together) to IsNodeOfType()
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsINode__bindgen_ty_bindgen_id_101554 {
+pub enum nsINode__bindgen_ty_bindgen_id_101557 {
eCONTENT = 1,
eDOCUMENT = 2,
eATTRIBUTE = 4,
eTEXT = 8,
ePROCESSING_INSTRUCTION = 16,
eCOMMENT = 32,
eHTML_FORM_CONTROL = 64,
eDOCUMENT_FRAGMENT = 128,
eDATA_NODE = 256,
eMEDIA = 512,
eANIMATION = 1024,
eFILTER = 2048,
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_102323 {
+pub struct bindgen_vtable__bindgen_id_102326 {
}
#[repr(C)]
#[derive(Debug)]
pub struct nsINode_nsSlots {
- pub vtable_: *const bindgen_vtable__bindgen_id_102323,
+ pub vtable_: *const bindgen_vtable__bindgen_id_102326,
/**
* A list of mutation observers
*/
pub mMutationObservers: [u64; 2usize],
/**
* An object implementing nsIDOMNodeList for this content (childNodes)
* @see nsIDOMNodeList
* @see nsGenericHTMLElement::GetChildNodes
@@ -3677,29 +3681,29 @@ pub enum nsINode_BooleanFlag {
NodeHasRelevantHoverRules = 28,
ElementHasWeirdParserInsertionMode = 29,
ParserHasNotified = 30,
MayBeApzAware = 31,
BooleanFlagCount = 32,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsINode__bindgen_ty_bindgen_id_105423 {
+pub struct nsINode__bindgen_ty_bindgen_id_105432 {
pub mPrimaryFrame: __BindgenUnionField<*mut nsIFrame>,
pub mSubtreeRoot: __BindgenUnionField<*mut nsINode>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsINode__bindgen_ty_bindgen_id_105423() {
- assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_bindgen_id_105423>()
+fn bindgen_test_layout_nsINode__bindgen_ty_bindgen_id_105432() {
+ assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_bindgen_id_105432>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsINode__bindgen_ty_bindgen_id_105423>()
+ assert_eq!(::std::mem::align_of::<nsINode__bindgen_ty_bindgen_id_105432>()
, 8usize);
}
-impl Clone for nsINode__bindgen_ty_bindgen_id_105423 {
+impl Clone for nsINode__bindgen_ty_bindgen_id_105432 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsINode() {
assert_eq!(::std::mem::size_of::<nsINode>() , 104usize);
assert_eq!(::std::mem::align_of::<nsINode>() , 8usize);
}
#[repr(C)]
@@ -4039,33 +4043,33 @@ pub struct nsIDOMNode {
#[derive(Debug, Copy, Clone)]
pub struct nsIDOMNode_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIDOMNode__bindgen_ty_bindgen_id_113557 {
+pub enum nsIDOMNode__bindgen_ty_bindgen_id_113566 {
ELEMENT_NODE = 1,
ATTRIBUTE_NODE = 2,
TEXT_NODE = 3,
CDATA_SECTION_NODE = 4,
ENTITY_REFERENCE_NODE = 5,
ENTITY_NODE = 6,
PROCESSING_INSTRUCTION_NODE = 7,
COMMENT_NODE = 8,
DOCUMENT_NODE = 9,
DOCUMENT_TYPE_NODE = 10,
DOCUMENT_FRAGMENT_NODE = 11,
NOTATION_NODE = 12,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIDOMNode__bindgen_ty_bindgen_id_113776 {
+pub enum nsIDOMNode__bindgen_ty_bindgen_id_113785 {
DOCUMENT_POSITION_DISCONNECTED = 1,
DOCUMENT_POSITION_PRECEDING = 2,
DOCUMENT_POSITION_FOLLOWING = 4,
DOCUMENT_POSITION_CONTAINS = 8,
DOCUMENT_POSITION_CONTAINED_BY = 16,
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32,
}
#[test]
@@ -5162,17 +5166,17 @@ pub type PLDHashInitEntry =
pub struct nsPtrHashKey<T> {
pub _base: PLDHashEntryHdr,
pub mKey: *mut T,
}
pub type nsPtrHashKey_KeyType<T> = *mut T;
pub type nsPtrHashKey_KeyTypePointer<T> = *mut T;
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsPtrHashKey__bindgen_ty_bindgen_id_118298 { ALLOW_MEMMOVE = 0, }
+pub enum nsPtrHashKey__bindgen_ty_bindgen_id_118307 { ALLOW_MEMMOVE = 0, }
/**
* A node of content in a document's content model. This interface
* is supported by all content objects.
*/
#[repr(C)]
#[derive(Debug)]
pub struct nsIContent {
pub _base: nsINode,
@@ -5182,24 +5186,24 @@ pub type nsIContent_IMEState = IMEState;
#[derive(Debug, Copy, Clone)]
pub struct nsIContent_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIContent__bindgen_ty_bindgen_id_119638 {
+pub enum nsIContent__bindgen_ty_bindgen_id_119647 {
eAllChildren = 0,
eAllButXBL = 1,
eSkipPlaceholderContent = 2,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIContent__bindgen_ty_bindgen_id_119874 {
+pub enum nsIContent__bindgen_ty_bindgen_id_119883 {
ATTR_MISSING = -1,
ATTR_VALUE_NO_MATCH = -2,
}
/**
* Check whether this content node's given attribute has one of a given
* list of values. If there is a match, we return the index in the list
* of the first matching value. If there was no attribute at all, then
* we return ATTR_MISSING. If there was an attribute but it didn't
@@ -5395,17 +5399,17 @@ pub struct FragmentOrElement_nsDOMSlots
* Holds any SMIL override style declaration for this element.
*/
pub mSMILOverrideStyleDeclaration: RefPtr<Declaration>,
/**
* An object implementing nsIDOMMozNamedAttrMap for this content (attributes)
* @see FragmentOrElement::GetAttributes
*/
pub mAttributeMap: RefPtr<nsDOMAttributeMap>,
- pub __bindgen_anon_1: FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121005,
+ pub __bindgen_anon_1: FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121014,
/**
* An object implementing the .children property for this element.
*/
pub mChildrenList: RefPtr<nsContentList>,
/**
* An object implementing the .classList property for this element.
*/
pub mClassList: RefPtr<nsDOMTokenList>,
@@ -5432,36 +5436,36 @@ pub struct FragmentOrElement_nsDOMSlots
pub mXBLInsertionParent: nsCOMPtr<nsIContent>,
/**
* Web components custom element data.
*/
pub mCustomElementData: RefPtr<CustomElementData>,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121005 {
+pub struct FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121014 {
/**
* The nearest enclosing content node with a binding that created us.
* @see FragmentOrElement::GetBindingParent
*/
pub mBindingParent: __BindgenUnionField<*mut nsIContent>,
/**
* The controllers of the XUL Element.
*/
pub mControllers: __BindgenUnionField<*mut nsIControllers>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121005() {
- assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121005>()
+fn bindgen_test_layout_FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121014() {
+ assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121014>()
, 8usize);
- assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121005>()
+ assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121014>()
, 8usize);
}
-impl Clone for FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121005 {
+impl Clone for FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_121014 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_FragmentOrElement_nsDOMSlots() {
assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots>() ,
168usize);
assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots>() ,
8usize);
@@ -5523,31 +5527,31 @@ pub struct nsIChannel {
#[derive(Debug, Copy, Clone)]
pub struct nsIChannel_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIChannel__bindgen_ty_bindgen_id_138490 {
+pub enum nsIChannel__bindgen_ty_bindgen_id_138499 {
LOAD_DOCUMENT_URI = 65536,
LOAD_RETARGETED_DOCUMENT_URI = 131072,
LOAD_REPLACE = 262144,
LOAD_INITIAL_DOCUMENT_URI = 524288,
LOAD_TARGETED = 1048576,
LOAD_CALL_CONTENT_SNIFFERS = 2097152,
LOAD_CLASSIFY_URI = 4194304,
LOAD_MEDIA_SNIFFER_OVERRIDES_CONTENT_TYPE = 8388608,
LOAD_EXPLICIT_CREDENTIALS = 16777216,
LOAD_BYPASS_SERVICE_WORKER = 33554432,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIChannel__bindgen_ty_bindgen_id_138510 {
+pub enum nsIChannel__bindgen_ty_bindgen_id_138519 {
DISPOSITION_INLINE = 0,
DISPOSITION_ATTACHMENT = 1,
}
#[test]
fn bindgen_test_layout_nsIChannel() {
assert_eq!(::std::mem::size_of::<nsIChannel>() , 8usize);
assert_eq!(::std::mem::align_of::<nsIChannel>() , 8usize);
}
@@ -5563,17 +5567,17 @@ pub struct nsIRequest {
#[derive(Debug, Copy, Clone)]
pub struct nsIRequest_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIRequest__bindgen_ty_bindgen_id_138328 {
+pub enum nsIRequest__bindgen_ty_bindgen_id_138337 {
LOAD_REQUESTMASK = 65535,
LOAD_NORMAL = 0,
LOAD_BACKGROUND = 1,
INHIBIT_PIPELINE = 64,
INHIBIT_CACHING = 128,
INHIBIT_PERSISTENT_CACHING = 256,
LOAD_BYPASS_CACHE = 512,
LOAD_FROM_CACHE = 1024,
@@ -6117,23 +6121,23 @@ pub enum nsIPresShell_IntrinsicDirty {
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsIPresShell_ReflowRootHandling {
ePositionOrSizeChange = 0,
eNoPositionOrSizeChange = 1,
eInferFromBitToAdd = 2,
}
-pub const SCROLL_LEFT: nsIPresShell__bindgen_ty_bindgen_id_156315 =
- nsIPresShell__bindgen_ty_bindgen_id_156315::SCROLL_TOP;
-pub const SCROLL_RIGHT: nsIPresShell__bindgen_ty_bindgen_id_156315 =
- nsIPresShell__bindgen_ty_bindgen_id_156315::SCROLL_BOTTOM;
+pub const SCROLL_LEFT: nsIPresShell__bindgen_ty_bindgen_id_156336 =
+ nsIPresShell__bindgen_ty_bindgen_id_156336::SCROLL_TOP;
+pub const SCROLL_RIGHT: nsIPresShell__bindgen_ty_bindgen_id_156336 =
+ nsIPresShell__bindgen_ty_bindgen_id_156336::SCROLL_BOTTOM;
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_156315 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_156336 {
SCROLL_TOP = 0,
SCROLL_BOTTOM = 100,
SCROLL_CENTER = 50,
SCROLL_MINIMUM = -1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsIPresShell_WhenToScroll {
@@ -6151,17 +6155,17 @@ fn bindgen_test_layout_nsIPresShell_Scro
assert_eq!(::std::mem::size_of::<nsIPresShell_ScrollAxis>() , 4usize);
assert_eq!(::std::mem::align_of::<nsIPresShell_ScrollAxis>() , 4usize);
}
impl Clone for nsIPresShell_ScrollAxis {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_156346 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_156367 {
SCROLL_FIRST_ANCESTOR_ONLY = 1,
SCROLL_OVERFLOW_HIDDEN = 2,
SCROLL_NO_PARENT_FRAMES = 4,
SCROLL_SMOOTH = 8,
SCROLL_SMOOTH_AUTO = 16,
}
#[repr(u32)]
/**
@@ -6198,41 +6202,41 @@ pub enum nsIPresShell__bindgen_ty_bindge
* or the document is in ignore viewport scrolling mode
* (nsIPresShell::SetIgnoreViewportScrolling/IgnoringViewportScrolling).
* @param aBackgroundColor a background color to render onto
* @param aRenderedContext the gfxContext to render to. We render so that
* one CSS pixel in the source document is rendered to one unit in the current
* transform.
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_156799 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_156820 {
RENDER_IS_UNTRUSTED = 1,
RENDER_IGNORE_VIEWPORT_SCROLLING = 2,
RENDER_CARET = 4,
RENDER_USE_WIDGET_LAYERS = 8,
RENDER_ASYNC_DECODE_IMAGES = 16,
RENDER_DOCUMENT_RELATIVE = 32,
RENDER_DRAWWINDOW_NOT_FLUSHING = 64,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_156817 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_156838 {
RENDER_IS_IMAGE = 256,
RENDER_AUTO_SCALE = 128,
}
#[repr(u32)]
/**
* Add a solid color item to the bottom of aList with frame aFrame and bounds
* aBounds. Checks first if this needs to be done by checking if aFrame is a
* canvas frame (if the FORCE_DRAW flag is passed then this check is skipped).
* aBackstopColor is composed behind the background color of the canvas, it is
* transparent by default.
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_156940 { FORCE_DRAW = 1, }
+pub enum nsIPresShell__bindgen_ty_bindgen_id_156961 { FORCE_DRAW = 1, }
#[repr(C)]
#[derive(Debug)]
pub struct nsIPresShell_PointerCaptureInfo {
pub mPendingContent: nsCOMPtr<nsIContent>,
pub mOverrideContent: nsCOMPtr<nsIContent>,
pub mPrimaryState: bool,
}
#[test]
@@ -6495,24 +6499,16 @@ fn bindgen_test_layout_nsNodeWeakReferen
pub struct nsDOMMutationObserver {
pub _address: u8,
}
impl Clone for nsDOMMutationObserver {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct ServoNodeData {
- pub _address: u8,
-}
-impl Clone for ServoNodeData {
- fn clone(&self) -> Self { *self }
-}
-#[repr(C)]
-#[derive(Debug, Copy)]
pub struct BoxQuadOptions {
pub _address: u8,
}
impl Clone for BoxQuadOptions {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
@@ -6617,77 +6613,77 @@ impl Clone for TextOrElementOrDocument {
#[repr(C)]
#[derive(Debug, Copy)]
pub struct DOMPointInit {
pub _address: u8,
}
impl Clone for DOMPointInit {
fn clone(&self) -> Self { *self }
}
-pub const NODE_HAS_LISTENERMANAGER: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_LISTENERMANAGER;
-pub const NODE_HAS_PROPERTIES: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_PROPERTIES;
-pub const NODE_IS_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_IS_ANONYMOUS_ROOT;
-pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE;
-pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_IS_NATIVE_ANONYMOUS_ROOT;
-pub const NODE_FORCE_XBL_BINDINGS: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_FORCE_XBL_BINDINGS;
-pub const NODE_MAY_BE_IN_BINDING_MNGR: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_MAY_BE_IN_BINDING_MNGR;
-pub const NODE_IS_EDITABLE: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_IS_EDITABLE;
-pub const NODE_MAY_HAVE_CLASS: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_MAY_HAVE_CLASS;
-pub const NODE_IS_IN_SHADOW_TREE: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_IS_IN_SHADOW_TREE;
-pub const NODE_HAS_EMPTY_SELECTOR: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_EMPTY_SELECTOR;
-pub const NODE_HAS_SLOW_SELECTOR: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_SLOW_SELECTOR;
-pub const NODE_HAS_EDGE_CHILD_SELECTOR: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_EDGE_CHILD_SELECTOR;
-pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: _bindgen_ty_bindgen_id_158347
+pub const NODE_HAS_LISTENERMANAGER: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_LISTENERMANAGER;
+pub const NODE_HAS_PROPERTIES: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_PROPERTIES;
+pub const NODE_IS_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_IS_ANONYMOUS_ROOT;
+pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE;
+pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_IS_NATIVE_ANONYMOUS_ROOT;
+pub const NODE_FORCE_XBL_BINDINGS: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_FORCE_XBL_BINDINGS;
+pub const NODE_MAY_BE_IN_BINDING_MNGR: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_MAY_BE_IN_BINDING_MNGR;
+pub const NODE_IS_EDITABLE: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_IS_EDITABLE;
+pub const NODE_MAY_HAVE_CLASS: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_MAY_HAVE_CLASS;
+pub const NODE_IS_IN_SHADOW_TREE: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_IS_IN_SHADOW_TREE;
+pub const NODE_HAS_EMPTY_SELECTOR: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_EMPTY_SELECTOR;
+pub const NODE_HAS_SLOW_SELECTOR: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_SLOW_SELECTOR;
+pub const NODE_HAS_EDGE_CHILD_SELECTOR: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_EDGE_CHILD_SELECTOR;
+pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: _bindgen_ty_bindgen_id_158361
=
- _bindgen_ty_bindgen_id_158347::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS;
-pub const NODE_ALL_SELECTOR_FLAGS: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_ALL_SELECTOR_FLAGS;
-pub const NODE_NEEDS_FRAME: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_NEEDS_FRAME;
-pub const NODE_DESCENDANTS_NEED_FRAMES: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_DESCENDANTS_NEED_FRAMES;
-pub const NODE_HAS_ACCESSKEY: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_ACCESSKEY;
-pub const NODE_HAS_DIRECTION_RTL: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_DIRECTION_RTL;
-pub const NODE_HAS_DIRECTION_LTR: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_HAS_DIRECTION_LTR;
-pub const NODE_ALL_DIRECTION_FLAGS: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_ALL_DIRECTION_FLAGS;
-pub const NODE_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_CHROME_ONLY_ACCESS;
-pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS;
-pub const NODE_SHARED_RESTYLE_BIT_1: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_SHARED_RESTYLE_BIT_1;
-pub const NODE_SHARED_RESTYLE_BIT_2: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_SHARED_RESTYLE_BIT_2;
-pub const NODE_IS_DIRTY_FOR_SERVO: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_SHARED_RESTYLE_BIT_1;
-pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: _bindgen_ty_bindgen_id_158347
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS;
+pub const NODE_ALL_SELECTOR_FLAGS: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_ALL_SELECTOR_FLAGS;
+pub const NODE_NEEDS_FRAME: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_NEEDS_FRAME;
+pub const NODE_DESCENDANTS_NEED_FRAMES: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_DESCENDANTS_NEED_FRAMES;
+pub const NODE_HAS_ACCESSKEY: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_ACCESSKEY;
+pub const NODE_HAS_DIRECTION_RTL: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_DIRECTION_RTL;
+pub const NODE_HAS_DIRECTION_LTR: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_HAS_DIRECTION_LTR;
+pub const NODE_ALL_DIRECTION_FLAGS: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_ALL_DIRECTION_FLAGS;
+pub const NODE_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_CHROME_ONLY_ACCESS;
+pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS;
+pub const NODE_SHARED_RESTYLE_BIT_1: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_SHARED_RESTYLE_BIT_1;
+pub const NODE_SHARED_RESTYLE_BIT_2: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_SHARED_RESTYLE_BIT_2;
+pub const NODE_IS_DIRTY_FOR_SERVO: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_SHARED_RESTYLE_BIT_1;
+pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: _bindgen_ty_bindgen_id_158361
=
- _bindgen_ty_bindgen_id_158347::NODE_SHARED_RESTYLE_BIT_2;
-pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: _bindgen_ty_bindgen_id_158347 =
- _bindgen_ty_bindgen_id_158347::NODE_TYPE_SPECIFIC_BITS_OFFSET;
+ _bindgen_ty_bindgen_id_158361::NODE_SHARED_RESTYLE_BIT_2;
+pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: _bindgen_ty_bindgen_id_158361 =
+ _bindgen_ty_bindgen_id_158361::NODE_TYPE_SPECIFIC_BITS_OFFSET;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _bindgen_ty_bindgen_id_158347 {
+pub enum _bindgen_ty_bindgen_id_158361 {
NODE_HAS_LISTENERMANAGER = 4,
NODE_HAS_PROPERTIES = 8,
NODE_IS_ANONYMOUS_ROOT = 16,
NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE = 32,
NODE_IS_NATIVE_ANONYMOUS_ROOT = 64,
NODE_FORCE_XBL_BINDINGS = 128,
NODE_MAY_BE_IN_BINDING_MNGR = 256,
NODE_IS_EDITABLE = 512,
@@ -6735,17 +6731,17 @@ pub struct nsITimer {
#[derive(Debug, Copy, Clone)]
pub struct nsITimer_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsITimer__bindgen_ty_bindgen_id_174915 {
+pub enum nsITimer__bindgen_ty_bindgen_id_174929 {
TYPE_ONE_SHOT = 0,
TYPE_REPEATING_SLACK = 1,
TYPE_REPEATING_PRECISE = 2,
TYPE_REPEATING_PRECISE_CAN_SKIP = 3,
}
#[test]
fn bindgen_test_layout_nsITimer() {
assert_eq!(::std::mem::size_of::<nsITimer>() , 8usize);
@@ -6761,17 +6757,17 @@ impl Clone for nsITimer {
*/
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsExpirationState {
pub _bitfield_1: u32,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsExpirationState__bindgen_ty_bindgen_id_175391 {
+pub enum nsExpirationState__bindgen_ty_bindgen_id_175405 {
NOT_TRACKED = 15,
MAX_INDEX_IN_GENERATION = 268435455,
}
#[test]
fn bindgen_test_layout_nsExpirationState() {
assert_eq!(::std::mem::size_of::<nsExpirationState>() , 4usize);
assert_eq!(::std::mem::align_of::<nsExpirationState>() , 4usize);
}
@@ -6835,29 +6831,29 @@ pub struct imgIRequest {
#[derive(Debug, Copy, Clone)]
pub struct imgIRequest_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum imgIRequest__bindgen_ty_bindgen_id_175978 {
+pub enum imgIRequest__bindgen_ty_bindgen_id_175992 {
STATUS_NONE = 0,
STATUS_SIZE_AVAILABLE = 1,
STATUS_LOAD_COMPLETE = 2,
STATUS_ERROR = 4,
STATUS_FRAME_COMPLETE = 8,
STATUS_DECODE_COMPLETE = 16,
STATUS_IS_ANIMATED = 32,
STATUS_HAS_TRANSPARENCY = 64,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum imgIRequest__bindgen_ty_bindgen_id_176058 {
+pub enum imgIRequest__bindgen_ty_bindgen_id_176072 {
CORS_NONE = 1,
CORS_ANONYMOUS = 2,
CORS_USE_CREDENTIALS = 3,
}
#[test]
fn bindgen_test_layout_imgIRequest() {
assert_eq!(::std::mem::size_of::<imgIRequest>() , 8usize);
assert_eq!(::std::mem::align_of::<imgIRequest>() , 8usize);
@@ -7346,17 +7342,17 @@ pub struct nsPresArena_FreeList {
pub mEntrySize: usize,
pub mEntriesEverAllocated: usize,
pub mKey: nsPresArena_FreeList_KeyTypePointer,
}
pub type nsPresArena_FreeList_KeyType = u32;
pub type nsPresArena_FreeList_KeyTypePointer = *const ::std::os::raw::c_void;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsPresArena_FreeList__bindgen_ty_bindgen_id_196508 {
+pub enum nsPresArena_FreeList__bindgen_ty_bindgen_id_196522 {
ALLOW_MEMMOVE = 0,
}
#[test]
fn bindgen_test_layout_nsPresArena_FreeList() {
assert_eq!(::std::mem::size_of::<nsPresArena_FreeList>() , 40usize);
assert_eq!(::std::mem::align_of::<nsPresArena_FreeList>() , 8usize);
}
#[test]
@@ -7373,17 +7369,17 @@ pub struct imgINotificationObserver {
#[derive(Debug, Copy, Clone)]
pub struct imgINotificationObserver_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum imgINotificationObserver__bindgen_ty_bindgen_id_196655 {
+pub enum imgINotificationObserver__bindgen_ty_bindgen_id_196669 {
SIZE_AVAILABLE = 1,
FRAME_UPDATE = 2,
FRAME_COMPLETE = 3,
LOAD_COMPLETE = 4,
DECODE_COMPLETE = 5,
DISCARD = 6,
UNLOCKED_DRAW = 7,
IS_ANIMATED = 8,
@@ -7622,17 +7618,17 @@ pub struct gfxFontFeatureValueSet_Featur
pub mValues: nsTArray<::std::os::raw::c_uint>,
}
pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType =
*const gfxFontFeatureValueSet_FeatureValueHashKey;
pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyTypePointer =
*const gfxFontFeatureValueSet_FeatureValueHashKey;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_bindgen_id_197909
+pub enum gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_bindgen_id_197923
{
ALLOW_MEMMOVE = 1,
}
#[test]
fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry() {
assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>()
, 56usize);
assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>()
@@ -8018,33 +8014,33 @@ pub enum nsStyleUnit {
eStyleUnit_FlexFraction = 16,
eStyleUnit_Coord = 20,
eStyleUnit_Integer = 30,
eStyleUnit_Enumerated = 32,
eStyleUnit_Calc = 40,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct _bindgen_ty_bindgen_id_198662 {
+pub struct _bindgen_ty_bindgen_id_198676 {
pub mInt: __BindgenUnionField<i32>,
pub mFloat: __BindgenUnionField<f32>,
pub mPointer: __BindgenUnionField<*mut ::std::os::raw::c_void>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout__bindgen_ty_bindgen_id_198662() {
- assert_eq!(::std::mem::size_of::<_bindgen_ty_bindgen_id_198662>() ,
+fn bindgen_test_layout__bindgen_ty_bindgen_id_198676() {
+ assert_eq!(::std::mem::size_of::<_bindgen_ty_bindgen_id_198676>() ,
8usize);
- assert_eq!(::std::mem::align_of::<_bindgen_ty_bindgen_id_198662>() ,
+ assert_eq!(::std::mem::align_of::<_bindgen_ty_bindgen_id_198676>() ,
8usize);
}
-impl Clone for _bindgen_ty_bindgen_id_198662 {
- fn clone(&self) -> Self { *self }
-}
-pub type nsStyleUnion = _bindgen_ty_bindgen_id_198662;
+impl Clone for _bindgen_ty_bindgen_id_198676 {
+ fn clone(&self) -> Self { *self }
+}
+pub type nsStyleUnion = _bindgen_ty_bindgen_id_198676;
/**
* Class that hold a single size specification used by the style
* system. The size specification consists of two parts -- a number
* and a unit. The number is an integer, a floating point value, an
* nscoord, or undefined, and the unit is an nsStyleUnit. Checking
* the unit is a must before asking for the value in any particular
* form.
*/
@@ -9059,34 +9055,34 @@ fn bindgen_test_layout_imgRequestProxy_i
8usize);
}
#[test]
fn bindgen_test_layout_imgRequestProxy() {
assert_eq!(::std::mem::size_of::<imgRequestProxy>() , 120usize);
assert_eq!(::std::mem::align_of::<imgRequestProxy>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_207732 {
+pub struct bindgen_vtable__bindgen_id_207746 {
}
/**
* An interface for observing changes to image state, as reported by
* ProgressTracker.
*
* This is the ImageLib-internal version of imgINotificationObserver,
* essentially, with implementation details that code outside of ImageLib
* shouldn't see.
*
* XXX(seth): It's preferable to avoid adding anything to this interface if
* possible. In the long term, it would be ideal to get to a place where we can
* just use the imgINotificationObserver interface internally as well.
*/
#[repr(C)]
#[derive(Debug)]
pub struct IProgressObserver {
- pub vtable_: *const bindgen_vtable__bindgen_id_207732,
+ pub vtable_: *const bindgen_vtable__bindgen_id_207746,
pub _base: u64,
}
#[test]
fn bindgen_test_layout_IProgressObserver() {
assert_eq!(::std::mem::size_of::<IProgressObserver>() , 16usize);
assert_eq!(::std::mem::align_of::<IProgressObserver>() , 8usize);
}
#[repr(C)]
@@ -9098,17 +9094,17 @@ pub struct nsISupportsPriority {
#[derive(Debug, Copy, Clone)]
pub struct nsISupportsPriority_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsISupportsPriority__bindgen_ty_bindgen_id_207813 {
+pub enum nsISupportsPriority__bindgen_ty_bindgen_id_207827 {
PRIORITY_HIGHEST = -20,
PRIORITY_HIGH = -10,
PRIORITY_NORMAL = 0,
PRIORITY_LOW = 10,
PRIORITY_LOWEST = 20,
}
#[test]
fn bindgen_test_layout_nsISupportsPriority() {
@@ -9489,33 +9485,33 @@ pub type nsCSSValueFloatColor_HasThreadS
fn bindgen_test_layout_nsCSSValueFloatColor() {
assert_eq!(::std::mem::size_of::<nsCSSValueFloatColor>() , 32usize);
assert_eq!(::std::mem::align_of::<nsCSSValueFloatColor>() , 8usize);
}
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSValue {
pub mUnit: nsCSSUnit,
- pub mValue: nsCSSValue__bindgen_ty_bindgen_id_210707,
+ pub mValue: nsCSSValue__bindgen_ty_bindgen_id_210721,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSValue_Array {
pub mRefCnt: usize,
pub mCount: usize,
pub mArray: [nsCSSValue; 1usize],
}
#[test]
fn bindgen_test_layout_nsCSSValue_Array() {
assert_eq!(::std::mem::size_of::<nsCSSValue_Array>() , 32usize);
assert_eq!(::std::mem::align_of::<nsCSSValue_Array>() , 8usize);
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsCSSValue__bindgen_ty_bindgen_id_210707 {
+pub struct nsCSSValue__bindgen_ty_bindgen_id_210721 {
pub mInt: __BindgenUnionField<i32>,
pub mFloat: __BindgenUnionField<f32>,
pub mString: __BindgenUnionField<*mut nsStringBuffer>,
pub mColor: __BindgenUnionField<nscolor>,
pub mArray: __BindgenUnionField<*mut nsCSSValue_Array>,
pub mURL: __BindgenUnionField<*mut URLValue>,
pub mImage: __BindgenUnionField<*mut ImageValue>,
pub mGridTemplateAreas: __BindgenUnionField<*mut GridTemplateAreasValue>,
@@ -9529,23 +9525,23 @@ pub struct nsCSSValue__bindgen_ty_bindge
pub mSharedList: __BindgenUnionField<*mut nsCSSValueSharedList>,
pub mPairList: __BindgenUnionField<*mut nsCSSValuePairList_heap>,
pub mPairListDependent: __BindgenUnionField<*mut nsCSSValuePairList>,
pub mFloatColor: __BindgenUnionField<*mut nsCSSValueFloatColor>,
pub mFontFamilyList: __BindgenUnionField<*mut FontFamilyListRefCnt>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsCSSValue__bindgen_ty_bindgen_id_210707() {
- assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_bindgen_id_210707>()
+fn bindgen_test_layout_nsCSSValue__bindgen_ty_bindgen_id_210721() {
+ assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_bindgen_id_210721>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsCSSValue__bindgen_ty_bindgen_id_210707>()
+ assert_eq!(::std::mem::align_of::<nsCSSValue__bindgen_ty_bindgen_id_210721>()
, 8usize);
}
-impl Clone for nsCSSValue__bindgen_ty_bindgen_id_210707 {
+impl Clone for nsCSSValue__bindgen_ty_bindgen_id_210721 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsCSSValue() {
assert_eq!(::std::mem::size_of::<nsCSSValue>() , 16usize);
assert_eq!(::std::mem::align_of::<nsCSSValue>() , 8usize);
}
#[repr(C)]
@@ -9556,22 +9552,22 @@ pub struct nsCSSValueGradientStop {
pub mIsInterpolationHint: bool,
}
#[test]
fn bindgen_test_layout_nsCSSValueGradientStop() {
assert_eq!(::std::mem::size_of::<nsCSSValueGradientStop>() , 40usize);
assert_eq!(::std::mem::align_of::<nsCSSValueGradientStop>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_210914 {
+pub struct bindgen_vtable__bindgen_id_210928 {
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct CounterStyle {
- pub vtable_: *const bindgen_vtable__bindgen_id_210914,
+ pub vtable_: *const bindgen_vtable__bindgen_id_210928,
pub mStyle: i32,
}
#[test]
fn bindgen_test_layout_CounterStyle() {
assert_eq!(::std::mem::size_of::<CounterStyle>() , 16usize);
assert_eq!(::std::mem::align_of::<CounterStyle>() , 8usize);
}
impl Clone for CounterStyle {
@@ -9642,16 +9638,19 @@ pub struct nsStyleVisibility {
pub mTextOrientation: u8,
pub mColorAdjust: u8,
}
#[test]
fn bindgen_test_layout_nsStyleVisibility() {
assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize);
assert_eq!(::std::mem::align_of::<nsStyleVisibility>() , 1usize);
}
+pub type RawGeckoNode = nsINode;
+pub type RawGeckoElement = Element;
+pub type RawGeckoDocument = nsIDocument;
#[repr(C)]
#[derive(Debug)]
pub struct FragmentOrURL {
pub mURL: nsCOMPtr<nsIURI>,
pub mIsLocalRef: bool,
}
#[test]
fn bindgen_test_layout_FragmentOrURL() {
@@ -9758,36 +9757,36 @@ fn bindgen_test_layout_CachedBorderImage
* image of type (1)).
*/
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleImage {
pub mCachedBIData: UniquePtr<CachedBorderImageData,
DefaultDelete<CachedBorderImageData>>,
pub mType: nsStyleImageType,
- pub __bindgen_anon_1: nsStyleImage__bindgen_ty_bindgen_id_212871,
+ pub __bindgen_anon_1: nsStyleImage__bindgen_ty_bindgen_id_212896,
pub mCropRect: UniquePtr<nsStyleSides, DefaultDelete<nsStyleSides>>,
pub mImageTracked: bool,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsStyleImage__bindgen_ty_bindgen_id_212871 {
+pub struct nsStyleImage__bindgen_ty_bindgen_id_212896 {
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
pub mGradient: __BindgenUnionField<*mut nsStyleGradient>,
pub mElementId: __BindgenUnionField<*mut u16>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleImage__bindgen_ty_bindgen_id_212871() {
- assert_eq!(::std::mem::size_of::<nsStyleImage__bindgen_ty_bindgen_id_212871>()
+fn bindgen_test_layout_nsStyleImage__bindgen_ty_bindgen_id_212896() {
+ assert_eq!(::std::mem::size_of::<nsStyleImage__bindgen_ty_bindgen_id_212896>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleImage__bindgen_ty_bindgen_id_212871>()
+ assert_eq!(::std::mem::align_of::<nsStyleImage__bindgen_ty_bindgen_id_212896>()
, 8usize);
}
-impl Clone for nsStyleImage__bindgen_ty_bindgen_id_212871 {
+impl Clone for nsStyleImage__bindgen_ty_bindgen_id_212896 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleImage() {
assert_eq!(::std::mem::size_of::<nsStyleImage>() , 40usize);
assert_eq!(::std::mem::align_of::<nsStyleImage>() , 8usize);
}
#[repr(C)]
@@ -9828,17 +9827,17 @@ pub struct nsStyleImageLayers {
pub mSizeCount: u32,
pub mMaskModeCount: u32,
pub mBlendModeCount: u32,
pub mCompositeCount: u32,
pub mLayers: nsStyleAutoArray<nsStyleImageLayers_Layer>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsStyleImageLayers__bindgen_ty_bindgen_id_212917 {
+pub enum nsStyleImageLayers__bindgen_ty_bindgen_id_212942 {
shorthand = 0,
color = 1,
image = 2,
repeat = 3,
positionX = 4,
positionY = 5,
clip = 6,
origin = 7,
@@ -10364,17 +10363,17 @@ fn bindgen_test_layout_nsStyleImageOrien
}
impl Clone for nsStyleImageOrientation {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsTimingFunction {
pub mType: nsTimingFunction_Type,
- pub __bindgen_anon_1: nsTimingFunction__bindgen_ty_bindgen_id_214676,
+ pub __bindgen_anon_1: nsTimingFunction__bindgen_ty_bindgen_id_214701,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsTimingFunction_Type {
Ease = 0,
Linear = 1,
EaseIn = 2,
EaseOut = 3,
@@ -10383,66 +10382,66 @@ pub enum nsTimingFunction_Type {
StepEnd = 6,
CubicBezier = 7,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsTimingFunction_Keyword { Implicit = 0, Explicit = 1, }
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsTimingFunction__bindgen_ty_bindgen_id_214676 {
- pub mFunc: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214677>,
- pub __bindgen_anon_1: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214688>,
+pub struct nsTimingFunction__bindgen_ty_bindgen_id_214701 {
+ pub mFunc: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214702>,
+ pub __bindgen_anon_1: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214713>,
pub bindgen_union_field: [u32; 4usize],
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214677 {
+pub struct nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214702 {
pub mX1: f32,
pub mY1: f32,
pub mX2: f32,
pub mY2: f32,
}
#[test]
-fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214677() {
- assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214677>()
+fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214702() {
+ assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214702>()
, 16usize);
- assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214677>()
+ assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214702>()
, 4usize);
}
impl Clone for
- nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214677
+ nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214702
{
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214688 {
+pub struct nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214713 {
pub mSteps: u32,
}
#[test]
-fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214688() {
- assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214688>()
+fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214713() {
+ assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214713>()
, 4usize);
- assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214688>()
+ assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214713>()
, 4usize);
}
impl Clone for
- nsTimingFunction__bindgen_ty_bindgen_id_214676__bindgen_ty_bindgen_id_214688
+ nsTimingFunction__bindgen_ty_bindgen_id_214701__bindgen_ty_bindgen_id_214713
{
fn clone(&self) -> Self { *self }
}
#[test]
-fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_214676() {
- assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_214676>()
+fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_214701() {
+ assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_214701>()
, 16usize);
- assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_214676>()
+ assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_214701>()
, 4usize);
}
-impl Clone for nsTimingFunction__bindgen_ty_bindgen_id_214676 {
+impl Clone for nsTimingFunction__bindgen_ty_bindgen_id_214701 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsTimingFunction() {
assert_eq!(::std::mem::size_of::<nsTimingFunction>() , 20usize);
assert_eq!(::std::mem::align_of::<nsTimingFunction>() , 4usize);
}
impl Clone for nsTimingFunction {
@@ -10493,23 +10492,23 @@ pub type StyleBasicShape_HasThreadSafeRe
#[test]
fn bindgen_test_layout_StyleBasicShape() {
assert_eq!(::std::mem::size_of::<StyleBasicShape>() , 120usize);
assert_eq!(::std::mem::align_of::<StyleBasicShape>() , 8usize);
}
#[repr(C)]
#[derive(Debug)]
pub struct StyleShapeSource<ReferenceBox> {
- pub __bindgen_anon_1: StyleShapeSource__bindgen_ty_bindgen_id_215059<ReferenceBox>,
+ pub __bindgen_anon_1: StyleShapeSource__bindgen_ty_bindgen_id_215084<ReferenceBox>,
pub mType: StyleShapeSourceType,
pub mReferenceBox: ReferenceBox,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct StyleShapeSource__bindgen_ty_bindgen_id_215059<ReferenceBox> {
+pub struct StyleShapeSource__bindgen_ty_bindgen_id_215084<ReferenceBox> {
pub mBasicShape: __BindgenUnionField<*mut StyleBasicShape>,
pub mURL: __BindgenUnionField<*mut FragmentOrURL>,
pub bindgen_union_field: u64,
pub _phantom_0: ::std::marker::PhantomData<ReferenceBox>,
}
pub type StyleClipPath = StyleShapeSource<StyleClipPathGeometryBox>;
pub type StyleShapeOutside = StyleShapeSource<StyleShapeOutsideShapeBox>;
#[repr(C)]
@@ -10551,35 +10550,35 @@ pub enum nsStyleContentType {
eStyleContentType_NoCloseQuote = 43,
eStyleContentType_AltContent = 50,
eStyleContentType_Uninitialized = 51,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleContentData {
pub mType: nsStyleContentType,
- pub mContent: nsStyleContentData__bindgen_ty_bindgen_id_215143,
+ pub mContent: nsStyleContentData__bindgen_ty_bindgen_id_215168,
pub mImageTracked: bool,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsStyleContentData__bindgen_ty_bindgen_id_215143 {
+pub struct nsStyleContentData__bindgen_ty_bindgen_id_215168 {
pub mString: __BindgenUnionField<*mut u16>,
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
pub mCounters: __BindgenUnionField<*mut nsCSSValue_Array>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleContentData__bindgen_ty_bindgen_id_215143() {
- assert_eq!(::std::mem::size_of::<nsStyleContentData__bindgen_ty_bindgen_id_215143>()
+fn bindgen_test_layout_nsStyleContentData__bindgen_ty_bindgen_id_215168() {
+ assert_eq!(::std::mem::size_of::<nsStyleContentData__bindgen_ty_bindgen_id_215168>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleContentData__bindgen_ty_bindgen_id_215143>()
+ assert_eq!(::std::mem::align_of::<nsStyleContentData__bindgen_ty_bindgen_id_215168>()
, 8usize);
}
-impl Clone for nsStyleContentData__bindgen_ty_bindgen_id_215143 {
+impl Clone for nsStyleContentData__bindgen_ty_bindgen_id_215168 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleContentData() {
assert_eq!(::std::mem::size_of::<nsStyleContentData>() , 24usize);
assert_eq!(::std::mem::align_of::<nsStyleContentData>() , 8usize);
}
#[repr(C)]
@@ -10694,35 +10693,35 @@ pub enum nsStyleSVGPaintType {
eStyleSVGPaintType_Color = 2,
eStyleSVGPaintType_Server = 3,
eStyleSVGPaintType_ContextFill = 4,
eStyleSVGPaintType_ContextStroke = 5,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleSVGPaint {
- pub mPaint: nsStyleSVGPaint__bindgen_ty_bindgen_id_215542,
+ pub mPaint: nsStyleSVGPaint__bindgen_ty_bindgen_id_215567,
pub mType: nsStyleSVGPaintType,
pub mFallbackColor: nscolor,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsStyleSVGPaint__bindgen_ty_bindgen_id_215542 {
+pub struct nsStyleSVGPaint__bindgen_ty_bindgen_id_215567 {
pub mColor: __BindgenUnionField<nscolor>,
pub mPaintServer: __BindgenUnionField<*mut FragmentOrURL>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_bindgen_id_215542() {
- assert_eq!(::std::mem::size_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_215542>()
+fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_bindgen_id_215567() {
+ assert_eq!(::std::mem::size_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_215567>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_215542>()
+ assert_eq!(::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_215567>()
, 8usize);
}
-impl Clone for nsStyleSVGPaint__bindgen_ty_bindgen_id_215542 {
+impl Clone for nsStyleSVGPaint__bindgen_ty_bindgen_id_215567 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleSVGPaint() {
assert_eq!(::std::mem::size_of::<nsStyleSVGPaint>() , 16usize);
assert_eq!(::std::mem::align_of::<nsStyleSVGPaint>() , 8usize);
}
#[repr(C)]
@@ -10747,17 +10746,17 @@ pub struct nsStyleSVG {
pub mShapeRendering: u8,
pub mStrokeLinecap: u8,
pub mStrokeLinejoin: u8,
pub mTextAnchor: u8,
pub mContextFlags: u8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsStyleSVG__bindgen_ty_bindgen_id_215719 {
+pub enum nsStyleSVG__bindgen_ty_bindgen_id_215744 {
FILL_OPACITY_SOURCE_MASK = 3,
STROKE_OPACITY_SOURCE_MASK = 12,
STROKE_DASHARRAY_CONTEXT = 16,
STROKE_DASHOFFSET_CONTEXT = 32,
STROKE_WIDTH_CONTEXT = 64,
FILL_OPACITY_SOURCE_SHIFT = 0,
STROKE_OPACITY_SOURCE_SHIFT = 2,
}
@@ -10766,33 +10765,33 @@ fn bindgen_test_layout_nsStyleSVG() {
assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 144usize);
assert_eq!(::std::mem::align_of::<nsStyleSVG>() , 8usize);
}
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleFilter {
pub mType: i32,
pub mFilterParameter: nsStyleCoord,
- pub __bindgen_anon_1: nsStyleFilter__bindgen_ty_bindgen_id_215785,
-}
-#[repr(C)]
-#[derive(Debug, Copy)]
-pub struct nsStyleFilter__bindgen_ty_bindgen_id_215785 {
+ pub __bindgen_anon_1: nsStyleFilter__bindgen_ty_bindgen_id_215810,
+}
+#[repr(C)]
+#[derive(Debug, Copy)]
+pub struct nsStyleFilter__bindgen_ty_bindgen_id_215810 {
pub mURL: __BindgenUnionField<*mut FragmentOrURL>,
pub mDropShadow: __BindgenUnionField<*mut nsCSSShadowArray>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleFilter__bindgen_ty_bindgen_id_215785() {
- assert_eq!(::std::mem::size_of::<nsStyleFilter__bindgen_ty_bindgen_id_215785>()
+fn bindgen_test_layout_nsStyleFilter__bindgen_ty_bindgen_id_215810() {
+ assert_eq!(::std::mem::size_of::<nsStyleFilter__bindgen_ty_bindgen_id_215810>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleFilter__bindgen_ty_bindgen_id_215785>()
+ assert_eq!(::std::mem::align_of::<nsStyleFilter__bindgen_ty_bindgen_id_215810>()
, 8usize);
}
-impl Clone for nsStyleFilter__bindgen_ty_bindgen_id_215785 {
+impl Clone for nsStyleFilter__bindgen_ty_bindgen_id_215810 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleFilter() {
assert_eq!(::std::mem::size_of::<nsStyleFilter>() , 32usize);
assert_eq!(::std::mem::align_of::<nsStyleFilter>() , 8usize);
}
#[repr(C)]
--- a/servo/ports/geckolib/gecko_bindings/structs_release.rs
+++ b/servo/ports/geckolib/gecko_bindings/structs_release.rs
@@ -1,10 +1,15 @@
/* automatically generated by rust-bindgen */
+pub enum OpaqueStyleData {}
+pub type ServoUnsafeCell<T> = ::std::cell::UnsafeCell<T>;
+pub type ServoCell<T> = ::std::cell::Cell<T>;
+pub type ServoNodeData = OpaqueStyleData;
+
#[derive(Debug)]
#[repr(C)]
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
impl <T> __BindgenUnionField<T> {
#[inline]
pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) }
#[inline]
pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) }
@@ -1491,40 +1496,40 @@ pub enum JSWhyMagic {
JS_UNINITIALIZED_LEXICAL = 15,
JS_GENERIC_MAGIC = 16,
JS_WHY_MAGIC_COUNT = 17,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct jsval_layout {
pub asBits: __BindgenUnionField<u64>,
- pub debugView: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_59538>,
- pub s: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_59545>,
+ pub debugView: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_59541>,
+ pub s: __BindgenUnionField<jsval_layout__bindgen_ty_bindgen_id_59548>,
pub asDouble: __BindgenUnionField<f64>,
pub asPtr: __BindgenUnionField<*mut ::std::os::raw::c_void>,
pub asWord: __BindgenUnionField<usize>,
pub asUIntPtr: __BindgenUnionField<usize>,
pub bindgen_union_field: u64,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct jsval_layout__bindgen_ty_bindgen_id_59538 {
+pub struct jsval_layout__bindgen_ty_bindgen_id_59541 {
pub _bitfield_1: u64,
}
#[test]
-fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_59538() {
- assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_59538>()
+fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_59541() {
+ assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_59541>()
, 8usize);
- assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_59538>()
+ assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_59541>()
, 8usize);
}
-impl Clone for jsval_layout__bindgen_ty_bindgen_id_59538 {
- fn clone(&self) -> Self { *self }
-}
-impl jsval_layout__bindgen_ty_bindgen_id_59538 {
+impl Clone for jsval_layout__bindgen_ty_bindgen_id_59541 {
+ fn clone(&self) -> Self { *self }
+}
+impl jsval_layout__bindgen_ty_bindgen_id_59541 {
#[inline]
pub fn payload47(&self) -> u64 {
unsafe {
::std::mem::transmute(((self._bitfield_1 &
(140737488355327usize as u64)) >>
0u32) as u64)
}
}
@@ -1547,46 +1552,46 @@ impl jsval_layout__bindgen_ty_bindgen_id
self._bitfield_1 &= !(18446603336221196288usize as u64);
self._bitfield_1 |=
((val as u32 as u64) << 47u32) &
(18446603336221196288usize as u64);
}
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct jsval_layout__bindgen_ty_bindgen_id_59545 {
- pub payload: jsval_layout__bindgen_ty_bindgen_id_59545__bindgen_ty_bindgen_id_59546,
-}
-#[repr(C)]
-#[derive(Debug, Copy)]
-pub struct jsval_layout__bindgen_ty_bindgen_id_59545__bindgen_ty_bindgen_id_59546 {
+pub struct jsval_layout__bindgen_ty_bindgen_id_59548 {
+ pub payload: jsval_layout__bindgen_ty_bindgen_id_59548__bindgen_ty_bindgen_id_59549,
+}
+#[repr(C)]
+#[derive(Debug, Copy)]
+pub struct jsval_layout__bindgen_ty_bindgen_id_59548__bindgen_ty_bindgen_id_59549 {
pub i32: __BindgenUnionField<i32>,
pub u32: __BindgenUnionField<u32>,
pub why: __BindgenUnionField<JSWhyMagic>,
pub bindgen_union_field: u32,
}
#[test]
-fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_59545__bindgen_ty_bindgen_id_59546() {
- assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_59545__bindgen_ty_bindgen_id_59546>()
+fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_59548__bindgen_ty_bindgen_id_59549() {
+ assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_59548__bindgen_ty_bindgen_id_59549>()
, 4usize);
- assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_59545__bindgen_ty_bindgen_id_59546>()
+ assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_59548__bindgen_ty_bindgen_id_59549>()
, 4usize);
}
impl Clone for
- jsval_layout__bindgen_ty_bindgen_id_59545__bindgen_ty_bindgen_id_59546 {
- fn clone(&self) -> Self { *self }
-}
-#[test]
-fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_59545() {
- assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_59545>()
+ jsval_layout__bindgen_ty_bindgen_id_59548__bindgen_ty_bindgen_id_59549 {
+ fn clone(&self) -> Self { *self }
+}
+#[test]
+fn bindgen_test_layout_jsval_layout__bindgen_ty_bindgen_id_59548() {
+ assert_eq!(::std::mem::size_of::<jsval_layout__bindgen_ty_bindgen_id_59548>()
, 4usize);
- assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_59545>()
+ assert_eq!(::std::mem::align_of::<jsval_layout__bindgen_ty_bindgen_id_59548>()
, 4usize);
}
-impl Clone for jsval_layout__bindgen_ty_bindgen_id_59545 {
+impl Clone for jsval_layout__bindgen_ty_bindgen_id_59548 {
fn clone(&self) -> Self { *self }
}
impl Clone for jsval_layout {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug)]
pub struct nsAString_internal {
@@ -1610,17 +1615,17 @@ pub type nsAString_internal_iterator = n
pub type nsAString_internal_comparator_type = nsStringComparator;
pub type nsAString_internal_char_iterator = *mut nsAString_internal_char_type;
pub type nsAString_internal_const_char_iterator =
*const nsAString_internal_char_type;
pub type nsAString_internal_size_type = u32;
pub type nsAString_internal_index_type = u32;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsAString_internal__bindgen_ty_bindgen_id_61383 {
+pub enum nsAString_internal__bindgen_ty_bindgen_id_61386 {
F_NONE = 0,
F_TERMINATED = 1,
F_VOIDED = 2,
F_SHARED = 4,
F_OWNED = 8,
F_FIXED = 16,
F_LITERAL = 32,
F_CLASS_FIXED = 65536,
@@ -1672,22 +1677,22 @@ impl Clone for nsString_Segment {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsString() {
assert_eq!(::std::mem::size_of::<nsString>() , 16usize);
assert_eq!(::std::mem::align_of::<nsString>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_61993 {
+pub struct bindgen_vtable__bindgen_id_61996 {
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsStringComparator {
- pub vtable_: *const bindgen_vtable__bindgen_id_61993,
+ pub vtable_: *const bindgen_vtable__bindgen_id_61996,
}
pub type nsStringComparator_char_type = u16;
#[test]
fn bindgen_test_layout_nsStringComparator() {
assert_eq!(::std::mem::size_of::<nsStringComparator>() , 8usize);
assert_eq!(::std::mem::align_of::<nsStringComparator>() , 8usize);
}
impl Clone for nsStringComparator {
@@ -1719,17 +1724,17 @@ pub type nsACString_internal_comparator_
pub type nsACString_internal_char_iterator =
*mut nsACString_internal_char_type;
pub type nsACString_internal_const_char_iterator =
*const nsACString_internal_char_type;
pub type nsACString_internal_size_type = u32;
pub type nsACString_internal_index_type = u32;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsACString_internal__bindgen_ty_bindgen_id_63223 {
+pub enum nsACString_internal__bindgen_ty_bindgen_id_63226 {
F_NONE = 0,
F_TERMINATED = 1,
F_VOIDED = 2,
F_SHARED = 4,
F_OWNED = 8,
F_FIXED = 16,
F_LITERAL = 32,
F_CLASS_FIXED = 65536,
@@ -1781,45 +1786,45 @@ impl Clone for nsCString_Segment {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsCString() {
assert_eq!(::std::mem::size_of::<nsCString>() , 16usize);
assert_eq!(::std::mem::align_of::<nsCString>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_63775 {
+pub struct bindgen_vtable__bindgen_id_63778 {
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsCStringComparator {
- pub vtable_: *const bindgen_vtable__bindgen_id_63775,
+ pub vtable_: *const bindgen_vtable__bindgen_id_63778,
}
pub type nsCStringComparator_char_type = ::std::os::raw::c_char;
#[test]
fn bindgen_test_layout_nsCStringComparator() {
assert_eq!(::std::mem::size_of::<nsCStringComparator>() , 8usize);
assert_eq!(::std::mem::align_of::<nsCStringComparator>() , 8usize);
}
impl Clone for nsCStringComparator {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_63819 {
+pub struct bindgen_vtable__bindgen_id_63822 {
}
/**
* Basic component object model interface. Objects which implement
* this interface support runtime interface discovery (QueryInterface)
* and a reference counted memory model (AddRef/Release). This is
* modelled after the win32 IUnknown API.
*/
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsISupports {
- pub vtable_: *const bindgen_vtable__bindgen_id_63819,
+ pub vtable_: *const bindgen_vtable__bindgen_id_63822,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nsISupports_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
@@ -1827,25 +1832,25 @@ pub struct nsISupports_COMTypeInfo<T, U>
fn bindgen_test_layout_nsISupports() {
assert_eq!(::std::mem::size_of::<nsISupports>() , 8usize);
assert_eq!(::std::mem::align_of::<nsISupports>() , 8usize);
}
impl Clone for nsISupports {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_64102 {
+pub struct bindgen_vtable__bindgen_id_64105 {
}
/**
* Participant implementation classes
*/
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsCycleCollectionParticipant {
- pub vtable_: *const bindgen_vtable__bindgen_id_64102,
+ pub vtable_: *const bindgen_vtable__bindgen_id_64105,
pub mMightSkip: bool,
}
#[test]
fn bindgen_test_layout_nsCycleCollectionParticipant() {
assert_eq!(::std::mem::size_of::<nsCycleCollectionParticipant>() ,
16usize);
assert_eq!(::std::mem::align_of::<nsCycleCollectionParticipant>() ,
8usize);
@@ -2158,34 +2163,34 @@ fn bindgen_test_layout_ErrorResult() {
* A cleanup policy consists of two booleans: whether to assert that we've been
* reported or suppressed, and whether to then go ahead and suppress the
* exception.
*/
#[repr(C)]
#[derive(Debug)]
pub struct TErrorResult<CleanupPolicy> {
pub mResult: nsresult,
- pub __bindgen_anon_1: TErrorResult__bindgen_ty_bindgen_id_68731<CleanupPolicy>,
+ pub __bindgen_anon_1: TErrorResult__bindgen_ty_bindgen_id_68734<CleanupPolicy>,
pub _phantom_0: ::std::marker::PhantomData<CleanupPolicy>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TErrorResult_Message<CleanupPolicy> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<CleanupPolicy>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TErrorResult_DOMExceptionInfo<CleanupPolicy> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<CleanupPolicy>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct TErrorResult__bindgen_ty_bindgen_id_68731<CleanupPolicy> {
+pub struct TErrorResult__bindgen_ty_bindgen_id_68734<CleanupPolicy> {
pub mMessage: __BindgenUnionField<*mut TErrorResult_Message<CleanupPolicy>>,
pub mJSException: __BindgenUnionField<Value>,
pub mDOMExceptionInfo: __BindgenUnionField<*mut TErrorResult_DOMExceptionInfo<CleanupPolicy>>,
pub bindgen_union_field: u64,
pub _phantom_0: ::std::marker::PhantomData<CleanupPolicy>,
}
#[repr(C)]
#[derive(Debug, Copy)]
@@ -2308,17 +2313,17 @@ impl nsIAtom {
#[inline]
pub fn set_mIsStatic(&mut self, val: u32) {
self._bitfield_1 &= !(2147483648usize as u32);
self._bitfield_1 |=
((val as u32 as u32) << 31u32) & (2147483648usize as u32);
}
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_69502 {
+pub struct bindgen_vtable__bindgen_id_69505 {
}
/**
* Class to store the wrapper for an object. This can only be used with objects
* that only have one non-security wrapper at a time (for an XPCWrappedNative
* this is usually ensured by setting an explicit parent in the PreCreate hook
* for the class).
*
* An instance of nsWrapperCache can be gotten from an object that implements
@@ -2350,17 +2355,17 @@ pub struct bindgen_vtable__bindgen_id_69
*
* A number of the methods are implemented in nsWrapperCacheInlines.h because we
* have to include some JS headers that don't play nicely with the rest of the
* codebase. Include nsWrapperCacheInlines.h if you need to call those methods.
*/
#[repr(C)]
#[derive(Debug)]
pub struct nsWrapperCache {
- pub vtable_: *const bindgen_vtable__bindgen_id_69502,
+ pub vtable_: *const bindgen_vtable__bindgen_id_69505,
pub mWrapper: *mut JSObject,
pub mFlags: nsWrapperCache_FlagsType,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nsWrapperCache_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
@@ -2375,31 +2380,31 @@ pub type nsWrapperCache_FlagsType = u32;
* causes between the native object and the JS object, so it is important that
* any native object that supports preserving of its wrapper
* traces/traverses/unlinks the cached JS object (see
* NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER,
* NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS and
* NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER).
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsWrapperCache__bindgen_ty_bindgen_id_69698 {
+pub enum nsWrapperCache__bindgen_ty_bindgen_id_69701 {
WRAPPER_BIT_PRESERVED = 1,
}
#[repr(u32)]
/**
* If this bit is set then the wrapper for the native object is not a DOM
* binding.
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsWrapperCache__bindgen_ty_bindgen_id_69701 {
+pub enum nsWrapperCache__bindgen_ty_bindgen_id_69704 {
WRAPPER_IS_NOT_DOM_BINDING = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsWrapperCache__bindgen_ty_bindgen_id_69704 {
+pub enum nsWrapperCache__bindgen_ty_bindgen_id_69707 {
kWrapperFlagsMask = 3,
}
#[test]
fn bindgen_test_layout_nsWrapperCache() {
assert_eq!(::std::mem::size_of::<nsWrapperCache>() , 24usize);
assert_eq!(::std::mem::align_of::<nsWrapperCache>() , 8usize);
}
#[repr(C)]
@@ -2498,33 +2503,33 @@ impl Clone for bidirectional_iterator_ta
#[derive(Debug, Copy)]
pub struct random_access_iterator_tag {
pub _address: u8,
}
impl Clone for random_access_iterator_tag {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_89267 {
+pub struct bindgen_vtable__bindgen_id_89270 {
}
/**
* A class of objects that return source code on demand.
*
* When code is compiled with setSourceIsLazy(true), SpiderMonkey doesn't
* retain the source code (and doesn't do lazy bytecode generation). If we ever
* need the source code, say, in response to a call to Function.prototype.
* toSource or Debugger.Source.prototype.text, then we call the 'load' member
* function of the instance of this class that has hopefully been registered
* with the runtime, passing the code's URL, and hope that it will be able to
* find the source.
*/
#[repr(C)]
#[derive(Debug)]
pub struct SourceHook {
- pub vtable_: *const bindgen_vtable__bindgen_id_89267,
+ pub vtable_: *const bindgen_vtable__bindgen_id_89270,
}
#[test]
fn bindgen_test_layout_SourceHook() {
assert_eq!(::std::mem::size_of::<SourceHook>() , 8usize);
assert_eq!(::std::mem::align_of::<SourceHook>() , 8usize);
}
#[repr(C)]
#[derive(Debug, Copy)]
@@ -2535,17 +2540,17 @@ pub struct nsIPrincipal {
#[derive(Debug, Copy, Clone)]
pub struct nsIPrincipal_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPrincipal__bindgen_ty_bindgen_id_94706 {
+pub enum nsIPrincipal__bindgen_ty_bindgen_id_94709 {
APP_STATUS_NOT_INSTALLED = 0,
APP_STATUS_INSTALLED = 1,
APP_STATUS_PRIVILEGED = 2,
APP_STATUS_CERTIFIED = 3,
}
#[test]
fn bindgen_test_layout_nsIPrincipal() {
assert_eq!(::std::mem::size_of::<nsIPrincipal>() , 8usize);
@@ -2853,17 +2858,17 @@ pub enum nsIDocument_DocumentTheme {
Doc_Theme_Neutral = 2,
Doc_Theme_Dark = 3,
Doc_Theme_Bright = 4,
}
pub type nsIDocument_FrameRequestCallbackList =
nsTArray<RefPtr<FrameRequestCallback>>;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIDocument__bindgen_ty_bindgen_id_103392 { REQUEST_DISCARD = 1, }
+pub enum nsIDocument__bindgen_ty_bindgen_id_103401 { REQUEST_DISCARD = 1, }
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsIDocument_DeprecatedOperations {
eGetAttributeNode = 0,
eSetAttributeNode = 1,
eGetAttributeNodeNS = 2,
eSetAttributeNodeNS = 3,
eRemoveAttributeNode = 4,
@@ -3544,20 +3549,19 @@ impl nsIDocument {
pub struct nsINode {
pub _base: EventTarget,
pub mNodeInfo: RefPtr<NodeInfo>,
pub mParent: *mut nsINode,
pub mBoolFlags: u32,
pub mNextSibling: *mut nsIContent,
pub mPreviousSibling: *mut nsIContent,
pub mFirstChild: *mut nsIContent,
- pub __bindgen_anon_1: nsINode__bindgen_ty_bindgen_id_100106,
+ pub __bindgen_anon_1: nsINode__bindgen_ty_bindgen_id_100115,
pub mSlots: *mut nsINode_nsSlots,
- pub mServoNodeData: UniquePtr<ServoNodeData,
- DefaultDelete<ServoNodeData>>,
+ pub mServoData: ServoCell<*mut ServoNodeData>,
}
pub type nsINode_BoxQuadOptions = BoxQuadOptions;
pub type nsINode_ConvertCoordinateOptions = ConvertCoordinateOptions;
pub type nsINode_DOMPoint = DOMPoint;
pub type nsINode_DOMPointInit = DOMPointInit;
pub type nsINode_DOMQuad = DOMQuad;
pub type nsINode_DOMRectReadOnly = DOMRectReadOnly;
pub type nsINode_OwningNodeOrString = OwningNodeOrString;
@@ -3570,37 +3574,37 @@ pub struct nsINode_COMTypeInfo<T, U> {
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
/**
* Bit-flags to pass (or'ed together) to IsNodeOfType()
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsINode__bindgen_ty_bindgen_id_96250 {
+pub enum nsINode__bindgen_ty_bindgen_id_96253 {
eCONTENT = 1,
eDOCUMENT = 2,
eATTRIBUTE = 4,
eTEXT = 8,
ePROCESSING_INSTRUCTION = 16,
eCOMMENT = 32,
eHTML_FORM_CONTROL = 64,
eDOCUMENT_FRAGMENT = 128,
eDATA_NODE = 256,
eMEDIA = 512,
eANIMATION = 1024,
eFILTER = 2048,
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_97019 {
+pub struct bindgen_vtable__bindgen_id_97022 {
}
#[repr(C)]
#[derive(Debug)]
pub struct nsINode_nsSlots {
- pub vtable_: *const bindgen_vtable__bindgen_id_97019,
+ pub vtable_: *const bindgen_vtable__bindgen_id_97022,
/**
* A list of mutation observers
*/
pub mMutationObservers: [u64; 2usize],
/**
* An object implementing nsIDOMNodeList for this content (childNodes)
* @see nsIDOMNodeList
* @see nsGenericHTMLElement::GetChildNodes
@@ -3659,29 +3663,29 @@ pub enum nsINode_BooleanFlag {
NodeHasRelevantHoverRules = 28,
ElementHasWeirdParserInsertionMode = 29,
ParserHasNotified = 30,
MayBeApzAware = 31,
BooleanFlagCount = 32,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsINode__bindgen_ty_bindgen_id_100106 {
+pub struct nsINode__bindgen_ty_bindgen_id_100115 {
pub mPrimaryFrame: __BindgenUnionField<*mut nsIFrame>,
pub mSubtreeRoot: __BindgenUnionField<*mut nsINode>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsINode__bindgen_ty_bindgen_id_100106() {
- assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_bindgen_id_100106>()
+fn bindgen_test_layout_nsINode__bindgen_ty_bindgen_id_100115() {
+ assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_bindgen_id_100115>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsINode__bindgen_ty_bindgen_id_100106>()
+ assert_eq!(::std::mem::align_of::<nsINode__bindgen_ty_bindgen_id_100115>()
, 8usize);
}
-impl Clone for nsINode__bindgen_ty_bindgen_id_100106 {
+impl Clone for nsINode__bindgen_ty_bindgen_id_100115 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsINode() {
assert_eq!(::std::mem::size_of::<nsINode>() , 104usize);
assert_eq!(::std::mem::align_of::<nsINode>() , 8usize);
}
#[repr(C)]
@@ -4021,33 +4025,33 @@ pub struct nsIDOMNode {
#[derive(Debug, Copy, Clone)]
pub struct nsIDOMNode_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIDOMNode__bindgen_ty_bindgen_id_108375 {
+pub enum nsIDOMNode__bindgen_ty_bindgen_id_108384 {
ELEMENT_NODE = 1,
ATTRIBUTE_NODE = 2,
TEXT_NODE = 3,
CDATA_SECTION_NODE = 4,
ENTITY_REFERENCE_NODE = 5,
ENTITY_NODE = 6,
PROCESSING_INSTRUCTION_NODE = 7,
COMMENT_NODE = 8,
DOCUMENT_NODE = 9,
DOCUMENT_TYPE_NODE = 10,
DOCUMENT_FRAGMENT_NODE = 11,
NOTATION_NODE = 12,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIDOMNode__bindgen_ty_bindgen_id_108594 {
+pub enum nsIDOMNode__bindgen_ty_bindgen_id_108603 {
DOCUMENT_POSITION_DISCONNECTED = 1,
DOCUMENT_POSITION_PRECEDING = 2,
DOCUMENT_POSITION_FOLLOWING = 4,
DOCUMENT_POSITION_CONTAINS = 8,
DOCUMENT_POSITION_CONTAINED_BY = 16,
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32,
}
#[test]
@@ -5110,17 +5114,17 @@ pub type PLDHashInitEntry =
pub struct nsPtrHashKey<T> {
pub _base: PLDHashEntryHdr,
pub mKey: *mut T,
}
pub type nsPtrHashKey_KeyType<T> = *mut T;
pub type nsPtrHashKey_KeyTypePointer<T> = *mut T;
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsPtrHashKey__bindgen_ty_bindgen_id_112948 { ALLOW_MEMMOVE = 0, }
+pub enum nsPtrHashKey__bindgen_ty_bindgen_id_112957 { ALLOW_MEMMOVE = 0, }
/**
* A node of content in a document's content model. This interface
* is supported by all content objects.
*/
#[repr(C)]
#[derive(Debug)]
pub struct nsIContent {
pub _base: nsINode,
@@ -5130,24 +5134,24 @@ pub type nsIContent_IMEState = IMEState;
#[derive(Debug, Copy, Clone)]
pub struct nsIContent_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIContent__bindgen_ty_bindgen_id_114288 {
+pub enum nsIContent__bindgen_ty_bindgen_id_114297 {
eAllChildren = 0,
eAllButXBL = 1,
eSkipPlaceholderContent = 2,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIContent__bindgen_ty_bindgen_id_114524 {
+pub enum nsIContent__bindgen_ty_bindgen_id_114533 {
ATTR_MISSING = -1,
ATTR_VALUE_NO_MATCH = -2,
}
/**
* Check whether this content node's given attribute has one of a given
* list of values. If there is a match, we return the index in the list
* of the first matching value. If there was no attribute at all, then
* we return ATTR_MISSING. If there was an attribute but it didn't
@@ -5343,17 +5347,17 @@ pub struct FragmentOrElement_nsDOMSlots
* Holds any SMIL override style declaration for this element.
*/
pub mSMILOverrideStyleDeclaration: RefPtr<Declaration>,
/**
* An object implementing nsIDOMMozNamedAttrMap for this content (attributes)
* @see FragmentOrElement::GetAttributes
*/
pub mAttributeMap: RefPtr<nsDOMAttributeMap>,
- pub __bindgen_anon_1: FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115619,
+ pub __bindgen_anon_1: FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115628,
/**
* An object implementing the .children property for this element.
*/
pub mChildrenList: RefPtr<nsContentList>,
/**
* An object implementing the .classList property for this element.
*/
pub mClassList: RefPtr<nsDOMTokenList>,
@@ -5380,36 +5384,36 @@ pub struct FragmentOrElement_nsDOMSlots
pub mXBLInsertionParent: nsCOMPtr<nsIContent>,
/**
* Web components custom element data.
*/
pub mCustomElementData: RefPtr<CustomElementData>,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115619 {
+pub struct FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115628 {
/**
* The nearest enclosing content node with a binding that created us.
* @see FragmentOrElement::GetBindingParent
*/
pub mBindingParent: __BindgenUnionField<*mut nsIContent>,
/**
* The controllers of the XUL Element.
*/
pub mControllers: __BindgenUnionField<*mut nsIControllers>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115619() {
- assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115619>()
+fn bindgen_test_layout_FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115628() {
+ assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115628>()
, 8usize);
- assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115619>()
+ assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115628>()
, 8usize);
}
-impl Clone for FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115619 {
+impl Clone for FragmentOrElement_nsDOMSlots__bindgen_ty_bindgen_id_115628 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_FragmentOrElement_nsDOMSlots() {
assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots>() ,
168usize);
assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots>() ,
8usize);
@@ -5471,31 +5475,31 @@ pub struct nsIChannel {
#[derive(Debug, Copy, Clone)]
pub struct nsIChannel_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIChannel__bindgen_ty_bindgen_id_132785 {
+pub enum nsIChannel__bindgen_ty_bindgen_id_132794 {
LOAD_DOCUMENT_URI = 65536,
LOAD_RETARGETED_DOCUMENT_URI = 131072,
LOAD_REPLACE = 262144,
LOAD_INITIAL_DOCUMENT_URI = 524288,
LOAD_TARGETED = 1048576,
LOAD_CALL_CONTENT_SNIFFERS = 2097152,
LOAD_CLASSIFY_URI = 4194304,
LOAD_MEDIA_SNIFFER_OVERRIDES_CONTENT_TYPE = 8388608,
LOAD_EXPLICIT_CREDENTIALS = 16777216,
LOAD_BYPASS_SERVICE_WORKER = 33554432,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIChannel__bindgen_ty_bindgen_id_132805 {
+pub enum nsIChannel__bindgen_ty_bindgen_id_132814 {
DISPOSITION_INLINE = 0,
DISPOSITION_ATTACHMENT = 1,
}
#[test]
fn bindgen_test_layout_nsIChannel() {
assert_eq!(::std::mem::size_of::<nsIChannel>() , 8usize);
assert_eq!(::std::mem::align_of::<nsIChannel>() , 8usize);
}
@@ -5511,17 +5515,17 @@ pub struct nsIRequest {
#[derive(Debug, Copy, Clone)]
pub struct nsIRequest_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIRequest__bindgen_ty_bindgen_id_132623 {
+pub enum nsIRequest__bindgen_ty_bindgen_id_132632 {
LOAD_REQUESTMASK = 65535,
LOAD_NORMAL = 0,
LOAD_BACKGROUND = 1,
INHIBIT_PIPELINE = 64,
INHIBIT_CACHING = 128,
INHIBIT_PERSISTENT_CACHING = 256,
LOAD_BYPASS_CACHE = 512,
LOAD_FROM_CACHE = 1024,
@@ -6063,23 +6067,23 @@ pub enum nsIPresShell_IntrinsicDirty {
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsIPresShell_ReflowRootHandling {
ePositionOrSizeChange = 0,
eNoPositionOrSizeChange = 1,
eInferFromBitToAdd = 2,
}
-pub const SCROLL_LEFT: nsIPresShell__bindgen_ty_bindgen_id_150598 =
- nsIPresShell__bindgen_ty_bindgen_id_150598::SCROLL_TOP;
-pub const SCROLL_RIGHT: nsIPresShell__bindgen_ty_bindgen_id_150598 =
- nsIPresShell__bindgen_ty_bindgen_id_150598::SCROLL_BOTTOM;
+pub const SCROLL_LEFT: nsIPresShell__bindgen_ty_bindgen_id_150619 =
+ nsIPresShell__bindgen_ty_bindgen_id_150619::SCROLL_TOP;
+pub const SCROLL_RIGHT: nsIPresShell__bindgen_ty_bindgen_id_150619 =
+ nsIPresShell__bindgen_ty_bindgen_id_150619::SCROLL_BOTTOM;
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_150598 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_150619 {
SCROLL_TOP = 0,
SCROLL_BOTTOM = 100,
SCROLL_CENTER = 50,
SCROLL_MINIMUM = -1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsIPresShell_WhenToScroll {
@@ -6097,17 +6101,17 @@ fn bindgen_test_layout_nsIPresShell_Scro
assert_eq!(::std::mem::size_of::<nsIPresShell_ScrollAxis>() , 4usize);
assert_eq!(::std::mem::align_of::<nsIPresShell_ScrollAxis>() , 4usize);
}
impl Clone for nsIPresShell_ScrollAxis {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_150629 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_150650 {
SCROLL_FIRST_ANCESTOR_ONLY = 1,
SCROLL_OVERFLOW_HIDDEN = 2,
SCROLL_NO_PARENT_FRAMES = 4,
SCROLL_SMOOTH = 8,
SCROLL_SMOOTH_AUTO = 16,
}
#[repr(u32)]
/**
@@ -6144,41 +6148,41 @@ pub enum nsIPresShell__bindgen_ty_bindge
* or the document is in ignore viewport scrolling mode
* (nsIPresShell::SetIgnoreViewportScrolling/IgnoringViewportScrolling).
* @param aBackgroundColor a background color to render onto
* @param aRenderedContext the gfxContext to render to. We render so that
* one CSS pixel in the source document is rendered to one unit in the current
* transform.
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_151051 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_151072 {
RENDER_IS_UNTRUSTED = 1,
RENDER_IGNORE_VIEWPORT_SCROLLING = 2,
RENDER_CARET = 4,
RENDER_USE_WIDGET_LAYERS = 8,
RENDER_ASYNC_DECODE_IMAGES = 16,
RENDER_DOCUMENT_RELATIVE = 32,
RENDER_DRAWWINDOW_NOT_FLUSHING = 64,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_151069 {
+pub enum nsIPresShell__bindgen_ty_bindgen_id_151090 {
RENDER_IS_IMAGE = 256,
RENDER_AUTO_SCALE = 128,
}
#[repr(u32)]
/**
* Add a solid color item to the bottom of aList with frame aFrame and bounds
* aBounds. Checks first if this needs to be done by checking if aFrame is a
* canvas frame (if the FORCE_DRAW flag is passed then this check is skipped).
* aBackstopColor is composed behind the background color of the canvas, it is
* transparent by default.
*/
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsIPresShell__bindgen_ty_bindgen_id_151185 { FORCE_DRAW = 1, }
+pub enum nsIPresShell__bindgen_ty_bindgen_id_151206 { FORCE_DRAW = 1, }
#[repr(C)]
#[derive(Debug)]
pub struct nsIPresShell_PointerCaptureInfo {
pub mPendingContent: nsCOMPtr<nsIContent>,
pub mOverrideContent: nsCOMPtr<nsIContent>,
pub mPrimaryState: bool,
}
#[test]
@@ -6441,24 +6445,16 @@ fn bindgen_test_layout_nsNodeWeakReferen
pub struct nsDOMMutationObserver {
pub _address: u8,
}
impl Clone for nsDOMMutationObserver {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct ServoNodeData {
- pub _address: u8,
-}
-impl Clone for ServoNodeData {
- fn clone(&self) -> Self { *self }
-}
-#[repr(C)]
-#[derive(Debug, Copy)]
pub struct BoxQuadOptions {
pub _address: u8,
}
impl Clone for BoxQuadOptions {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
@@ -6563,77 +6559,77 @@ impl Clone for TextOrElementOrDocument {
#[repr(C)]
#[derive(Debug, Copy)]
pub struct DOMPointInit {
pub _address: u8,
}
impl Clone for DOMPointInit {
fn clone(&self) -> Self { *self }
}
-pub const NODE_HAS_LISTENERMANAGER: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_LISTENERMANAGER;
-pub const NODE_HAS_PROPERTIES: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_PROPERTIES;
-pub const NODE_IS_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_IS_ANONYMOUS_ROOT;
-pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE;
-pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_IS_NATIVE_ANONYMOUS_ROOT;
-pub const NODE_FORCE_XBL_BINDINGS: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_FORCE_XBL_BINDINGS;
-pub const NODE_MAY_BE_IN_BINDING_MNGR: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_MAY_BE_IN_BINDING_MNGR;
-pub const NODE_IS_EDITABLE: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_IS_EDITABLE;
-pub const NODE_MAY_HAVE_CLASS: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_MAY_HAVE_CLASS;
-pub const NODE_IS_IN_SHADOW_TREE: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_IS_IN_SHADOW_TREE;
-pub const NODE_HAS_EMPTY_SELECTOR: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_EMPTY_SELECTOR;
-pub const NODE_HAS_SLOW_SELECTOR: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_SLOW_SELECTOR;
-pub const NODE_HAS_EDGE_CHILD_SELECTOR: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_EDGE_CHILD_SELECTOR;
-pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: _bindgen_ty_bindgen_id_152566
+pub const NODE_HAS_LISTENERMANAGER: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_LISTENERMANAGER;
+pub const NODE_HAS_PROPERTIES: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_PROPERTIES;
+pub const NODE_IS_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_IS_ANONYMOUS_ROOT;
+pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE;
+pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_IS_NATIVE_ANONYMOUS_ROOT;
+pub const NODE_FORCE_XBL_BINDINGS: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_FORCE_XBL_BINDINGS;
+pub const NODE_MAY_BE_IN_BINDING_MNGR: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_MAY_BE_IN_BINDING_MNGR;
+pub const NODE_IS_EDITABLE: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_IS_EDITABLE;
+pub const NODE_MAY_HAVE_CLASS: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_MAY_HAVE_CLASS;
+pub const NODE_IS_IN_SHADOW_TREE: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_IS_IN_SHADOW_TREE;
+pub const NODE_HAS_EMPTY_SELECTOR: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_EMPTY_SELECTOR;
+pub const NODE_HAS_SLOW_SELECTOR: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_SLOW_SELECTOR;
+pub const NODE_HAS_EDGE_CHILD_SELECTOR: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_EDGE_CHILD_SELECTOR;
+pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: _bindgen_ty_bindgen_id_152580
=
- _bindgen_ty_bindgen_id_152566::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS;
-pub const NODE_ALL_SELECTOR_FLAGS: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_ALL_SELECTOR_FLAGS;
-pub const NODE_NEEDS_FRAME: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_NEEDS_FRAME;
-pub const NODE_DESCENDANTS_NEED_FRAMES: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_DESCENDANTS_NEED_FRAMES;
-pub const NODE_HAS_ACCESSKEY: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_ACCESSKEY;
-pub const NODE_HAS_DIRECTION_RTL: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_DIRECTION_RTL;
-pub const NODE_HAS_DIRECTION_LTR: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_HAS_DIRECTION_LTR;
-pub const NODE_ALL_DIRECTION_FLAGS: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_ALL_DIRECTION_FLAGS;
-pub const NODE_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_CHROME_ONLY_ACCESS;
-pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS;
-pub const NODE_SHARED_RESTYLE_BIT_1: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_SHARED_RESTYLE_BIT_1;
-pub const NODE_SHARED_RESTYLE_BIT_2: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_SHARED_RESTYLE_BIT_2;
-pub const NODE_IS_DIRTY_FOR_SERVO: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_SHARED_RESTYLE_BIT_1;
-pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: _bindgen_ty_bindgen_id_152566
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS;
+pub const NODE_ALL_SELECTOR_FLAGS: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_ALL_SELECTOR_FLAGS;
+pub const NODE_NEEDS_FRAME: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_NEEDS_FRAME;
+pub const NODE_DESCENDANTS_NEED_FRAMES: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_DESCENDANTS_NEED_FRAMES;
+pub const NODE_HAS_ACCESSKEY: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_ACCESSKEY;
+pub const NODE_HAS_DIRECTION_RTL: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_DIRECTION_RTL;
+pub const NODE_HAS_DIRECTION_LTR: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_HAS_DIRECTION_LTR;
+pub const NODE_ALL_DIRECTION_FLAGS: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_ALL_DIRECTION_FLAGS;
+pub const NODE_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_CHROME_ONLY_ACCESS;
+pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS;
+pub const NODE_SHARED_RESTYLE_BIT_1: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_SHARED_RESTYLE_BIT_1;
+pub const NODE_SHARED_RESTYLE_BIT_2: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_SHARED_RESTYLE_BIT_2;
+pub const NODE_IS_DIRTY_FOR_SERVO: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_SHARED_RESTYLE_BIT_1;
+pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: _bindgen_ty_bindgen_id_152580
=
- _bindgen_ty_bindgen_id_152566::NODE_SHARED_RESTYLE_BIT_2;
-pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: _bindgen_ty_bindgen_id_152566 =
- _bindgen_ty_bindgen_id_152566::NODE_TYPE_SPECIFIC_BITS_OFFSET;
+ _bindgen_ty_bindgen_id_152580::NODE_SHARED_RESTYLE_BIT_2;
+pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: _bindgen_ty_bindgen_id_152580 =
+ _bindgen_ty_bindgen_id_152580::NODE_TYPE_SPECIFIC_BITS_OFFSET;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _bindgen_ty_bindgen_id_152566 {
+pub enum _bindgen_ty_bindgen_id_152580 {
NODE_HAS_LISTENERMANAGER = 4,
NODE_HAS_PROPERTIES = 8,
NODE_IS_ANONYMOUS_ROOT = 16,
NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE = 32,
NODE_IS_NATIVE_ANONYMOUS_ROOT = 64,
NODE_FORCE_XBL_BINDINGS = 128,
NODE_MAY_BE_IN_BINDING_MNGR = 256,
NODE_IS_EDITABLE = 512,
@@ -6681,17 +6677,17 @@ pub struct nsITimer {
#[derive(Debug, Copy, Clone)]
pub struct nsITimer_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsITimer__bindgen_ty_bindgen_id_169279 {
+pub enum nsITimer__bindgen_ty_bindgen_id_169293 {
TYPE_ONE_SHOT = 0,
TYPE_REPEATING_SLACK = 1,
TYPE_REPEATING_PRECISE = 2,
TYPE_REPEATING_PRECISE_CAN_SKIP = 3,
}
#[test]
fn bindgen_test_layout_nsITimer() {
assert_eq!(::std::mem::size_of::<nsITimer>() , 8usize);
@@ -6707,17 +6703,17 @@ impl Clone for nsITimer {
*/
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsExpirationState {
pub _bitfield_1: u32,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsExpirationState__bindgen_ty_bindgen_id_169755 {
+pub enum nsExpirationState__bindgen_ty_bindgen_id_169769 {
NOT_TRACKED = 15,
MAX_INDEX_IN_GENERATION = 268435455,
}
#[test]
fn bindgen_test_layout_nsExpirationState() {
assert_eq!(::std::mem::size_of::<nsExpirationState>() , 4usize);
assert_eq!(::std::mem::align_of::<nsExpirationState>() , 4usize);
}
@@ -6781,29 +6777,29 @@ pub struct imgIRequest {
#[derive(Debug, Copy, Clone)]
pub struct imgIRequest_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum imgIRequest__bindgen_ty_bindgen_id_170342 {
+pub enum imgIRequest__bindgen_ty_bindgen_id_170356 {
STATUS_NONE = 0,
STATUS_SIZE_AVAILABLE = 1,
STATUS_LOAD_COMPLETE = 2,
STATUS_ERROR = 4,
STATUS_FRAME_COMPLETE = 8,
STATUS_DECODE_COMPLETE = 16,
STATUS_IS_ANIMATED = 32,
STATUS_HAS_TRANSPARENCY = 64,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum imgIRequest__bindgen_ty_bindgen_id_170422 {
+pub enum imgIRequest__bindgen_ty_bindgen_id_170436 {
CORS_NONE = 1,
CORS_ANONYMOUS = 2,
CORS_USE_CREDENTIALS = 3,
}
#[test]
fn bindgen_test_layout_imgIRequest() {
assert_eq!(::std::mem::size_of::<imgIRequest>() , 8usize);
assert_eq!(::std::mem::align_of::<imgIRequest>() , 8usize);
@@ -7292,17 +7288,17 @@ pub struct nsPresArena_FreeList {
pub mEntrySize: usize,
pub mEntriesEverAllocated: usize,
pub mKey: nsPresArena_FreeList_KeyTypePointer,
}
pub type nsPresArena_FreeList_KeyType = u32;
pub type nsPresArena_FreeList_KeyTypePointer = *const ::std::os::raw::c_void;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsPresArena_FreeList__bindgen_ty_bindgen_id_190782 {
+pub enum nsPresArena_FreeList__bindgen_ty_bindgen_id_190796 {
ALLOW_MEMMOVE = 0,
}
#[test]
fn bindgen_test_layout_nsPresArena_FreeList() {
assert_eq!(::std::mem::size_of::<nsPresArena_FreeList>() , 40usize);
assert_eq!(::std::mem::align_of::<nsPresArena_FreeList>() , 8usize);
}
#[test]
@@ -7319,17 +7315,17 @@ pub struct imgINotificationObserver {
#[derive(Debug, Copy, Clone)]
pub struct imgINotificationObserver_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum imgINotificationObserver__bindgen_ty_bindgen_id_190929 {
+pub enum imgINotificationObserver__bindgen_ty_bindgen_id_190943 {
SIZE_AVAILABLE = 1,
FRAME_UPDATE = 2,
FRAME_COMPLETE = 3,
LOAD_COMPLETE = 4,
DECODE_COMPLETE = 5,
DISCARD = 6,
UNLOCKED_DRAW = 7,
IS_ANIMATED = 8,
@@ -7568,17 +7564,17 @@ pub struct gfxFontFeatureValueSet_Featur
pub mValues: nsTArray<::std::os::raw::c_uint>,
}
pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType =
*const gfxFontFeatureValueSet_FeatureValueHashKey;
pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyTypePointer =
*const gfxFontFeatureValueSet_FeatureValueHashKey;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_bindgen_id_192167
+pub enum gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_bindgen_id_192181
{
ALLOW_MEMMOVE = 1,
}
#[test]
fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry() {
assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>()
, 56usize);
assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>()
@@ -7964,33 +7960,33 @@ pub enum nsStyleUnit {
eStyleUnit_FlexFraction = 16,
eStyleUnit_Coord = 20,
eStyleUnit_Integer = 30,
eStyleUnit_Enumerated = 32,
eStyleUnit_Calc = 40,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct _bindgen_ty_bindgen_id_192920 {
+pub struct _bindgen_ty_bindgen_id_192934 {
pub mInt: __BindgenUnionField<i32>,
pub mFloat: __BindgenUnionField<f32>,
pub mPointer: __BindgenUnionField<*mut ::std::os::raw::c_void>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout__bindgen_ty_bindgen_id_192920() {
- assert_eq!(::std::mem::size_of::<_bindgen_ty_bindgen_id_192920>() ,
+fn bindgen_test_layout__bindgen_ty_bindgen_id_192934() {
+ assert_eq!(::std::mem::size_of::<_bindgen_ty_bindgen_id_192934>() ,
8usize);
- assert_eq!(::std::mem::align_of::<_bindgen_ty_bindgen_id_192920>() ,
+ assert_eq!(::std::mem::align_of::<_bindgen_ty_bindgen_id_192934>() ,
8usize);
}
-impl Clone for _bindgen_ty_bindgen_id_192920 {
- fn clone(&self) -> Self { *self }
-}
-pub type nsStyleUnion = _bindgen_ty_bindgen_id_192920;
+impl Clone for _bindgen_ty_bindgen_id_192934 {
+ fn clone(&self) -> Self { *self }
+}
+pub type nsStyleUnion = _bindgen_ty_bindgen_id_192934;
/**
* Class that hold a single size specification used by the style
* system. The size specification consists of two parts -- a number
* and a unit. The number is an integer, a floating point value, an
* nscoord, or undefined, and the unit is an nsStyleUnit. Checking
* the unit is a must before asking for the value in any particular
* form.
*/
@@ -9005,34 +9001,34 @@ fn bindgen_test_layout_imgRequestProxy_i
8usize);
}
#[test]
fn bindgen_test_layout_imgRequestProxy() {
assert_eq!(::std::mem::size_of::<imgRequestProxy>() , 120usize);
assert_eq!(::std::mem::align_of::<imgRequestProxy>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_201935 {
+pub struct bindgen_vtable__bindgen_id_201949 {
}
/**
* An interface for observing changes to image state, as reported by
* ProgressTracker.
*
* This is the ImageLib-internal version of imgINotificationObserver,
* essentially, with implementation details that code outside of ImageLib
* shouldn't see.
*
* XXX(seth): It's preferable to avoid adding anything to this interface if
* possible. In the long term, it would be ideal to get to a place where we can
* just use the imgINotificationObserver interface internally as well.
*/
#[repr(C)]
#[derive(Debug)]
pub struct IProgressObserver {
- pub vtable_: *const bindgen_vtable__bindgen_id_201935,
+ pub vtable_: *const bindgen_vtable__bindgen_id_201949,
pub _base: u64,
}
#[test]
fn bindgen_test_layout_IProgressObserver() {
assert_eq!(::std::mem::size_of::<IProgressObserver>() , 16usize);
assert_eq!(::std::mem::align_of::<IProgressObserver>() , 8usize);
}
#[repr(C)]
@@ -9044,17 +9040,17 @@ pub struct nsISupportsPriority {
#[derive(Debug, Copy, Clone)]
pub struct nsISupportsPriority_COMTypeInfo<T, U> {
pub _address: u8,
pub _phantom_0: ::std::marker::PhantomData<T>,
pub _phantom_1: ::std::marker::PhantomData<U>,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsISupportsPriority__bindgen_ty_bindgen_id_202011 {
+pub enum nsISupportsPriority__bindgen_ty_bindgen_id_202025 {
PRIORITY_HIGHEST = -20,
PRIORITY_HIGH = -10,
PRIORITY_NORMAL = 0,
PRIORITY_LOW = 10,
PRIORITY_LOWEST = 20,
}
#[test]
fn bindgen_test_layout_nsISupportsPriority() {
@@ -9435,33 +9431,33 @@ pub type nsCSSValueFloatColor_HasThreadS
fn bindgen_test_layout_nsCSSValueFloatColor() {
assert_eq!(::std::mem::size_of::<nsCSSValueFloatColor>() , 32usize);
assert_eq!(::std::mem::align_of::<nsCSSValueFloatColor>() , 8usize);
}
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSValue {
pub mUnit: nsCSSUnit,
- pub mValue: nsCSSValue__bindgen_ty_bindgen_id_204905,
+ pub mValue: nsCSSValue__bindgen_ty_bindgen_id_204919,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSValue_Array {
pub mRefCnt: usize,
pub mCount: usize,
pub mArray: [nsCSSValue; 1usize],
}
#[test]
fn bindgen_test_layout_nsCSSValue_Array() {
assert_eq!(::std::mem::size_of::<nsCSSValue_Array>() , 32usize);
assert_eq!(::std::mem::align_of::<nsCSSValue_Array>() , 8usize);
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsCSSValue__bindgen_ty_bindgen_id_204905 {
+pub struct nsCSSValue__bindgen_ty_bindgen_id_204919 {
pub mInt: __BindgenUnionField<i32>,
pub mFloat: __BindgenUnionField<f32>,
pub mString: __BindgenUnionField<*mut nsStringBuffer>,
pub mColor: __BindgenUnionField<nscolor>,
pub mArray: __BindgenUnionField<*mut nsCSSValue_Array>,
pub mURL: __BindgenUnionField<*mut URLValue>,
pub mImage: __BindgenUnionField<*mut ImageValue>,
pub mGridTemplateAreas: __BindgenUnionField<*mut GridTemplateAreasValue>,
@@ -9475,23 +9471,23 @@ pub struct nsCSSValue__bindgen_ty_bindge
pub mSharedList: __BindgenUnionField<*mut nsCSSValueSharedList>,
pub mPairList: __BindgenUnionField<*mut nsCSSValuePairList_heap>,
pub mPairListDependent: __BindgenUnionField<*mut nsCSSValuePairList>,
pub mFloatColor: __BindgenUnionField<*mut nsCSSValueFloatColor>,
pub mFontFamilyList: __BindgenUnionField<*mut FontFamilyListRefCnt>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsCSSValue__bindgen_ty_bindgen_id_204905() {
- assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_bindgen_id_204905>()
+fn bindgen_test_layout_nsCSSValue__bindgen_ty_bindgen_id_204919() {
+ assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_bindgen_id_204919>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsCSSValue__bindgen_ty_bindgen_id_204905>()
+ assert_eq!(::std::mem::align_of::<nsCSSValue__bindgen_ty_bindgen_id_204919>()
, 8usize);
}
-impl Clone for nsCSSValue__bindgen_ty_bindgen_id_204905 {
+impl Clone for nsCSSValue__bindgen_ty_bindgen_id_204919 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsCSSValue() {
assert_eq!(::std::mem::size_of::<nsCSSValue>() , 16usize);
assert_eq!(::std::mem::align_of::<nsCSSValue>() , 8usize);
}
#[repr(C)]
@@ -9502,22 +9498,22 @@ pub struct nsCSSValueGradientStop {
pub mIsInterpolationHint: bool,
}
#[test]
fn bindgen_test_layout_nsCSSValueGradientStop() {
assert_eq!(::std::mem::size_of::<nsCSSValueGradientStop>() , 40usize);
assert_eq!(::std::mem::align_of::<nsCSSValueGradientStop>() , 8usize);
}
#[repr(C)]
-pub struct bindgen_vtable__bindgen_id_205112 {
+pub struct bindgen_vtable__bindgen_id_205126 {
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct CounterStyle {
- pub vtable_: *const bindgen_vtable__bindgen_id_205112,
+ pub vtable_: *const bindgen_vtable__bindgen_id_205126,
pub mStyle: i32,
}
#[test]
fn bindgen_test_layout_CounterStyle() {
assert_eq!(::std::mem::size_of::<CounterStyle>() , 16usize);
assert_eq!(::std::mem::align_of::<CounterStyle>() , 8usize);
}
impl Clone for CounterStyle {
@@ -9588,16 +9584,19 @@ pub struct nsStyleVisibility {
pub mTextOrientation: u8,
pub mColorAdjust: u8,
}
#[test]
fn bindgen_test_layout_nsStyleVisibility() {
assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize);
assert_eq!(::std::mem::align_of::<nsStyleVisibility>() , 1usize);
}
+pub type RawGeckoNode = nsINode;
+pub type RawGeckoElement = Element;
+pub type RawGeckoDocument = nsIDocument;
#[repr(C)]
#[derive(Debug)]
pub struct FragmentOrURL {
pub mURL: nsCOMPtr<nsIURI>,
pub mIsLocalRef: bool,
}
#[test]
fn bindgen_test_layout_FragmentOrURL() {
@@ -9704,35 +9703,35 @@ fn bindgen_test_layout_CachedBorderImage
* image of type (1)).
*/
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleImage {
pub mCachedBIData: UniquePtr<CachedBorderImageData,
DefaultDelete<CachedBorderImageData>>,
pub mType: nsStyleImageType,
- pub __bindgen_anon_1: nsStyleImage__bindgen_ty_bindgen_id_207069,
+ pub __bindgen_anon_1: nsStyleImage__bindgen_ty_bindgen_id_207094,
pub mCropRect: UniquePtr<nsStyleSides, DefaultDelete<nsStyleSides>>,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsStyleImage__bindgen_ty_bindgen_id_207069 {
+pub struct nsStyleImage__bindgen_ty_bindgen_id_207094 {
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
pub mGradient: __BindgenUnionField<*mut nsStyleGradient>,
pub mElementId: __BindgenUnionField<*mut u16>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleImage__bindgen_ty_bindgen_id_207069() {
- assert_eq!(::std::mem::size_of::<nsStyleImage__bindgen_ty_bindgen_id_207069>()
+fn bindgen_test_layout_nsStyleImage__bindgen_ty_bindgen_id_207094() {
+ assert_eq!(::std::mem::size_of::<nsStyleImage__bindgen_ty_bindgen_id_207094>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleImage__bindgen_ty_bindgen_id_207069>()
+ assert_eq!(::std::mem::align_of::<nsStyleImage__bindgen_ty_bindgen_id_207094>()
, 8usize);
}
-impl Clone for nsStyleImage__bindgen_ty_bindgen_id_207069 {
+impl Clone for nsStyleImage__bindgen_ty_bindgen_id_207094 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleImage() {
assert_eq!(::std::mem::size_of::<nsStyleImage>() , 32usize);
assert_eq!(::std::mem::align_of::<nsStyleImage>() , 8usize);
}
#[repr(C)]
@@ -9773,17 +9772,17 @@ pub struct nsStyleImageLayers {
pub mSizeCount: u32,
pub mMaskModeCount: u32,
pub mBlendModeCount: u32,
pub mCompositeCount: u32,
pub mLayers: nsStyleAutoArray<nsStyleImageLayers_Layer>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsStyleImageLayers__bindgen_ty_bindgen_id_207113 {
+pub enum nsStyleImageLayers__bindgen_ty_bindgen_id_207138 {
shorthand = 0,
color = 1,
image = 2,
repeat = 3,
positionX = 4,
positionY = 5,
clip = 6,
origin = 7,
@@ -10309,17 +10308,17 @@ fn bindgen_test_layout_nsStyleImageOrien
}
impl Clone for nsStyleImageOrientation {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct nsTimingFunction {
pub mType: nsTimingFunction_Type,
- pub __bindgen_anon_1: nsTimingFunction__bindgen_ty_bindgen_id_208872,
+ pub __bindgen_anon_1: nsTimingFunction__bindgen_ty_bindgen_id_208897,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsTimingFunction_Type {
Ease = 0,
Linear = 1,
EaseIn = 2,
EaseOut = 3,
@@ -10328,66 +10327,66 @@ pub enum nsTimingFunction_Type {
StepEnd = 6,
CubicBezier = 7,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum nsTimingFunction_Keyword { Implicit = 0, Explicit = 1, }
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsTimingFunction__bindgen_ty_bindgen_id_208872 {
- pub mFunc: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208873>,
- pub __bindgen_anon_1: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208884>,
+pub struct nsTimingFunction__bindgen_ty_bindgen_id_208897 {
+ pub mFunc: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208898>,
+ pub __bindgen_anon_1: __BindgenUnionField<nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208909>,
pub bindgen_union_field: [u32; 4usize],
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208873 {
+pub struct nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208898 {
pub mX1: f32,
pub mY1: f32,
pub mX2: f32,
pub mY2: f32,
}
#[test]
-fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208873() {
- assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208873>()
+fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208898() {
+ assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208898>()
, 16usize);
- assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208873>()
+ assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208898>()
, 4usize);
}
impl Clone for
- nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208873
+ nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208898
{
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208884 {
+pub struct nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208909 {
pub mSteps: u32,
}
#[test]
-fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208884() {
- assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208884>()
+fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208909() {
+ assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208909>()
, 4usize);
- assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208884>()
+ assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208909>()
, 4usize);
}
impl Clone for
- nsTimingFunction__bindgen_ty_bindgen_id_208872__bindgen_ty_bindgen_id_208884
+ nsTimingFunction__bindgen_ty_bindgen_id_208897__bindgen_ty_bindgen_id_208909
{
fn clone(&self) -> Self { *self }
}
#[test]
-fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_208872() {
- assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_208872>()
+fn bindgen_test_layout_nsTimingFunction__bindgen_ty_bindgen_id_208897() {
+ assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_bindgen_id_208897>()
, 16usize);
- assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_208872>()
+ assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_bindgen_id_208897>()
, 4usize);
}
-impl Clone for nsTimingFunction__bindgen_ty_bindgen_id_208872 {
+impl Clone for nsTimingFunction__bindgen_ty_bindgen_id_208897 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsTimingFunction() {
assert_eq!(::std::mem::size_of::<nsTimingFunction>() , 20usize);
assert_eq!(::std::mem::align_of::<nsTimingFunction>() , 4usize);
}
impl Clone for nsTimingFunction {
@@ -10438,23 +10437,23 @@ pub type StyleBasicShape_HasThreadSafeRe
#[test]
fn bindgen_test_layout_StyleBasicShape() {
assert_eq!(::std::mem::size_of::<StyleBasicShape>() , 120usize);
assert_eq!(::std::mem::align_of::<StyleBasicShape>() , 8usize);
}
#[repr(C)]
#[derive(Debug)]
pub struct StyleShapeSource<ReferenceBox> {
- pub __bindgen_anon_1: StyleShapeSource__bindgen_ty_bindgen_id_209255<ReferenceBox>,
+ pub __bindgen_anon_1: StyleShapeSource__bindgen_ty_bindgen_id_209280<ReferenceBox>,
pub mType: StyleShapeSourceType,
pub mReferenceBox: ReferenceBox,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct StyleShapeSource__bindgen_ty_bindgen_id_209255<ReferenceBox> {
+pub struct StyleShapeSource__bindgen_ty_bindgen_id_209280<ReferenceBox> {
pub mBasicShape: __BindgenUnionField<*mut StyleBasicShape>,
pub mURL: __BindgenUnionField<*mut FragmentOrURL>,
pub bindgen_union_field: u64,
pub _phantom_0: ::std::marker::PhantomData<ReferenceBox>,
}
pub type StyleClipPath = StyleShapeSource<StyleClipPathGeometryBox>;
pub type StyleShapeOutside = StyleShapeSource<StyleShapeOutsideShapeBox>;
#[repr(C)]
@@ -10496,34 +10495,34 @@ pub enum nsStyleContentType {
eStyleContentType_NoCloseQuote = 43,
eStyleContentType_AltContent = 50,
eStyleContentType_Uninitialized = 51,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleContentData {
pub mType: nsStyleContentType,
- pub mContent: nsStyleContentData__bindgen_ty_bindgen_id_209339,
-}
-#[repr(C)]
-#[derive(Debug, Copy)]
-pub struct nsStyleContentData__bindgen_ty_bindgen_id_209339 {
+ pub mContent: nsStyleContentData__bindgen_ty_bindgen_id_209364,
+}
+#[repr(C)]
+#[derive(Debug, Copy)]
+pub struct nsStyleContentData__bindgen_ty_bindgen_id_209364 {
pub mString: __BindgenUnionField<*mut u16>,
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
pub mCounters: __BindgenUnionField<*mut nsCSSValue_Array>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleContentData__bindgen_ty_bindgen_id_209339() {
- assert_eq!(::std::mem::size_of::<nsStyleContentData__bindgen_ty_bindgen_id_209339>()
+fn bindgen_test_layout_nsStyleContentData__bindgen_ty_bindgen_id_209364() {
+ assert_eq!(::std::mem::size_of::<nsStyleContentData__bindgen_ty_bindgen_id_209364>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleContentData__bindgen_ty_bindgen_id_209339>()
+ assert_eq!(::std::mem::align_of::<nsStyleContentData__bindgen_ty_bindgen_id_209364>()
, 8usize);
}
-impl Clone for nsStyleContentData__bindgen_ty_bindgen_id_209339 {
+impl Clone for nsStyleContentData__bindgen_ty_bindgen_id_209364 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleContentData() {
assert_eq!(::std::mem::size_of::<nsStyleContentData>() , 16usize);
assert_eq!(::std::mem::align_of::<nsStyleContentData>() , 8usize);
}
#[repr(C)]
@@ -10638,35 +10637,35 @@ pub enum nsStyleSVGPaintType {
eStyleSVGPaintType_Color = 2,
eStyleSVGPaintType_Server = 3,
eStyleSVGPaintType_ContextFill = 4,
eStyleSVGPaintType_ContextStroke = 5,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleSVGPaint {
- pub mPaint: nsStyleSVGPaint__bindgen_ty_bindgen_id_209736,
+ pub mPaint: nsStyleSVGPaint__bindgen_ty_bindgen_id_209761,
pub mType: nsStyleSVGPaintType,
pub mFallbackColor: nscolor,
}
#[repr(C)]
#[derive(Debug, Copy)]
-pub struct nsStyleSVGPaint__bindgen_ty_bindgen_id_209736 {
+pub struct nsStyleSVGPaint__bindgen_ty_bindgen_id_209761 {
pub mColor: __BindgenUnionField<nscolor>,
pub mPaintServer: __BindgenUnionField<*mut FragmentOrURL>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_bindgen_id_209736() {
- assert_eq!(::std::mem::size_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_209736>()
+fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_bindgen_id_209761() {
+ assert_eq!(::std::mem::size_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_209761>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_209736>()
+ assert_eq!(::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_bindgen_id_209761>()
, 8usize);
}
-impl Clone for nsStyleSVGPaint__bindgen_ty_bindgen_id_209736 {
+impl Clone for nsStyleSVGPaint__bindgen_ty_bindgen_id_209761 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleSVGPaint() {
assert_eq!(::std::mem::size_of::<nsStyleSVGPaint>() , 16usize);
assert_eq!(::std::mem::align_of::<nsStyleSVGPaint>() , 8usize);
}
#[repr(C)]
@@ -10691,17 +10690,17 @@ pub struct nsStyleSVG {
pub mShapeRendering: u8,
pub mStrokeLinecap: u8,
pub mStrokeLinejoin: u8,
pub mTextAnchor: u8,
pub mContextFlags: u8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum nsStyleSVG__bindgen_ty_bindgen_id_209913 {
+pub enum nsStyleSVG__bindgen_ty_bindgen_id_209938 {
FILL_OPACITY_SOURCE_MASK = 3,
STROKE_OPACITY_SOURCE_MASK = 12,
STROKE_DASHARRAY_CONTEXT = 16,
STROKE_DASHOFFSET_CONTEXT = 32,
STROKE_WIDTH_CONTEXT = 64,
FILL_OPACITY_SOURCE_SHIFT = 0,
STROKE_OPACITY_SOURCE_SHIFT = 2,
}
@@ -10710,33 +10709,33 @@ fn bindgen_test_layout_nsStyleSVG() {
assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 144usize);
assert_eq!(::std::mem::align_of::<nsStyleSVG>() , 8usize);
}
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleFilter {
pub mType: i32,
pub mFilterParameter: nsStyleCoord,
- pub __bindgen_anon_1: nsStyleFilter__bindgen_ty_bindgen_id_209979,
-}
-#[repr(C)]
-#[derive(Debug, Copy)]
-pub struct nsStyleFilter__bindgen_ty_bindgen_id_209979 {
+ pub __bindgen_anon_1: nsStyleFilter__bindgen_ty_bindgen_id_210004,
+}
+#[repr(C)]
+#[derive(Debug, Copy)]
+pub struct nsStyleFilter__bindgen_ty_bindgen_id_210004 {
pub mURL: __BindgenUnionField<*mut FragmentOrURL>,
pub mDropShadow: __BindgenUnionField<*mut nsCSSShadowArray>,
pub bindgen_union_field: u64,
}
#[test]
-fn bindgen_test_layout_nsStyleFilter__bindgen_ty_bindgen_id_209979() {
- assert_eq!(::std::mem::size_of::<nsStyleFilter__bindgen_ty_bindgen_id_209979>()
+fn bindgen_test_layout_nsStyleFilter__bindgen_ty_bindgen_id_210004() {
+ assert_eq!(::std::mem::size_of::<nsStyleFilter__bindgen_ty_bindgen_id_210004>()
, 8usize);
- assert_eq!(::std::mem::align_of::<nsStyleFilter__bindgen_ty_bindgen_id_209979>()
+ assert_eq!(::std::mem::align_of::<nsStyleFilter__bindgen_ty_bindgen_id_210004>()
, 8usize);
}
-impl Clone for nsStyleFilter__bindgen_ty_bindgen_id_209979 {
+impl Clone for nsStyleFilter__bindgen_ty_bindgen_id_210004 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_nsStyleFilter() {
assert_eq!(::std::mem::size_of::<nsStyleFilter>() , 32usize);
assert_eq!(::std::mem::align_of::<nsStyleFilter>() , 8usize);
}
#[repr(C)]
--- a/servo/ports/geckolib/glue.rs
+++ b/servo/ports/geckolib/glue.rs
@@ -4,17 +4,17 @@
#![allow(unsafe_code)]
use app_units::Au;
use data::{NUM_THREADS, PerDocumentStyleData};
use env_logger;
use euclid::Size2D;
use gecko_bindings::bindings::{RawGeckoElementBorrowed, RawGeckoNodeBorrowed};
-use gecko_bindings::bindings::{RawServoStyleSetBorrowed, RawServoStyleSetOwned, ServoNodeDataOwned};
+use gecko_bindings::bindings::{RawServoStyleSetBorrowed, RawServoStyleSetOwned};
use gecko_bindings::bindings::{RawServoStyleSetBorrowedMut, RawGeckoDocumentBorrowed};
use gecko_bindings::bindings::{RawServoStyleSheetBorrowed, ServoComputedValuesBorrowed};
use gecko_bindings::bindings::{RawServoStyleSheetStrong, ServoComputedValuesStrong};
use gecko_bindings::bindings::{ServoComputedValuesBorrowedOrNull, ServoDeclarationBlock};
use gecko_bindings::bindings::{ServoDeclarationBlockBorrowed, ServoDeclarationBlockStrong};
use gecko_bindings::bindings::{ThreadSafePrincipalHolder, ThreadSafeURIHolder, nsHTMLCSSStyleSheet};
use gecko_bindings::ptr::{GeckoArcPrincipal, GeckoArcURI};
use gecko_bindings::structs::{SheetParsingMode, nsIAtom};
@@ -39,17 +39,17 @@ use style::parallel;
use style::parser::ParserContextExtraData;
use style::properties::{ComputedValues, PropertyDeclarationBlock, parse_one_declaration};
use style::selector_impl::PseudoElementCascadeType;
use style::sequential;
use style::stylesheets::{Origin, Stylesheet};
use style::timer::Timer;
use traversal::RecalcStyleOnly;
use url::Url;
-use wrapper::{DUMMY_BASE_URL, GeckoDocument, GeckoElement, GeckoNode, NonOpaqueStyleData};
+use wrapper::{DUMMY_BASE_URL, GeckoDocument, GeckoElement, GeckoNode};
/*
* For Gecko->Servo function calls, we need to redeclare the same signature that was declared in
* the C header in Gecko. In order to catch accidental mismatches, we run rust-bindgen against
* those signatures as well, giving us a second declaration of all the Servo_* functions in this
* crate. If there's a mismatch, LLVM will assert and abort, which is a rather awful thing to
* depend on but good enough for our purposes.
*/
@@ -131,18 +131,19 @@ pub extern "C" fn Servo_RestyleDocument(
}
#[no_mangle]
pub extern "C" fn Servo_StyleWorkerThreadCount() -> u32 {
*NUM_THREADS as u32
}
#[no_mangle]
-pub extern "C" fn Servo_NodeData_Drop(data: ServoNodeDataOwned) -> () {
- let _ = data.into_box::<NonOpaqueStyleData>();
+pub extern "C" fn Servo_Node_ClearNodeData(node: RawGeckoNodeBorrowed) -> () {
+ let node = GeckoNode(node);
+ node.clear_data();
}
#[no_mangle]
pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(bytes: *const u8,
length: u32,
mode: SheetParsingMode,
base_bytes: *const u8,
base_length: u32,
--- a/servo/ports/geckolib/wrapper.rs
+++ b/servo/ports/geckolib/wrapper.rs
@@ -12,26 +12,24 @@ use gecko_bindings::bindings::{Gecko_Get
use gecko_bindings::bindings::{Gecko_GetLastChild, Gecko_GetLastChildElement};
use gecko_bindings::bindings::{Gecko_GetNextSibling, Gecko_GetNextSiblingElement, Gecko_GetNextStyleChild};
use gecko_bindings::bindings::{Gecko_GetNodeFlags, Gecko_SetNodeFlags, Gecko_UnsetNodeFlags};
use gecko_bindings::bindings::{Gecko_GetParentElement, Gecko_GetParentNode};
use gecko_bindings::bindings::{Gecko_GetPrevSibling, Gecko_GetPrevSiblingElement};
use gecko_bindings::bindings::{Gecko_GetServoDeclarationBlock, Gecko_IsHTMLElementInHTMLDocument};
use gecko_bindings::bindings::{Gecko_IsLink, Gecko_IsRootElement, Gecko_IsTextNode};
use gecko_bindings::bindings::{Gecko_IsUnvisitedLink, Gecko_IsVisitedLink};
-use gecko_bindings::bindings::{Gecko_LocalName, Gecko_Namespace, Gecko_NodeIsElement, Gecko_SetNodeData};
-use gecko_bindings::bindings::{RawGeckoDocument, RawGeckoElement, RawGeckoNode};
+use gecko_bindings::bindings::{Gecko_LocalName, Gecko_Namespace, Gecko_NodeIsElement};
use gecko_bindings::bindings::Gecko_ClassOrClassList;
-use gecko_bindings::bindings::Gecko_GetNodeData;
use gecko_bindings::bindings::Gecko_GetStyleContext;
-use gecko_bindings::bindings::ServoNodeData;
use gecko_bindings::structs::{NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO, NODE_IS_DIRTY_FOR_SERVO};
use gecko_bindings::structs::{nsChangeHint, nsIAtom, nsStyleContext};
-use gecko_bindings::sugar::ownership::{FFIArcHelpers, HasBoxFFI, HasFFI, HasSimpleFFI};
-use gecko_bindings::sugar::ownership::Borrowed;
+use gecko_bindings::structs::{RawGeckoDocument, RawGeckoElement, RawGeckoNode};
+use gecko_bindings::structs::OpaqueStyleData;
+use gecko_bindings::sugar::ownership::FFIArcHelpers;
use gecko_string_cache::{Atom, Namespace, WeakAtom, WeakNamespace};
use glue::GeckoDeclarationBlock;
use libc::uintptr_t;
use selectors::Element;
use selectors::parser::{AttrSelector, NamespaceConstraint};
use snapshot::GeckoElementSnapshot;
use snapshot_helpers;
use std::fmt;
@@ -50,49 +48,59 @@ use style::properties::PropertyDeclarati
use style::refcell::{Ref, RefCell, RefMut};
use style::selector_impl::ElementExt;
use style::selector_matching::ApplicableDeclarationBlock;
use style::sink::Push;
use url::Url;
pub struct NonOpaqueStyleData(RefCell<PrivateStyleData>);
-unsafe impl HasFFI for NonOpaqueStyleData {
- type FFIType = ServoNodeData;
-}
-unsafe impl HasSimpleFFI for NonOpaqueStyleData {}
-unsafe impl HasBoxFFI for NonOpaqueStyleData {}
-
impl NonOpaqueStyleData {
pub fn new() -> Self {
NonOpaqueStyleData(RefCell::new(PrivateStyleData::new()))
}
}
+
+// We can eliminate OpaqueStyleData when the bindings move into the style crate.
+fn to_opaque_style_data(d: *mut NonOpaqueStyleData) -> *mut OpaqueStyleData {
+ d as *mut OpaqueStyleData
+}
+fn from_opaque_style_data(d: *mut OpaqueStyleData) -> *mut NonOpaqueStyleData {
+ d as *mut NonOpaqueStyleData
+}
+
// Important: We don't currently refcount the DOM, because the wrapper lifetime
// magic guarantees that our LayoutFoo references won't outlive the root, and
// we don't mutate any of the references on the Gecko side during restyle. We
// could implement refcounting if need be (at a potentially non-trivial
// performance cost) by implementing Drop and making LayoutFoo non-Copy.
#[derive(Clone, Copy)]
pub struct GeckoNode<'ln>(pub &'ln RawGeckoNode);
impl<'ln> GeckoNode<'ln> {
- fn get_node_data(&self) -> Borrowed<NonOpaqueStyleData> {
+ fn get_node_data(&self) -> Option<&NonOpaqueStyleData> {
unsafe {
- Borrowed::from_ffi(Gecko_GetNodeData(&*self.0))
+ from_opaque_style_data(self.0.mServoData.get()).as_ref()
}
}
pub fn initialize_data(self) {
- unsafe {
- if self.get_node_data().is_null() {
- let ptr = Box::new(NonOpaqueStyleData::new());
- Gecko_SetNodeData(self.0, ptr.into_ffi());
- }
+ if self.get_node_data().is_none() {
+ let ptr = Box::new(NonOpaqueStyleData::new());
+ debug_assert!(self.0.mServoData.get().is_null());
+ self.0.mServoData.set(to_opaque_style_data(Box::into_raw(ptr)));
+ }
+ }
+
+ pub fn clear_data(self) {
+ if !self.get_node_data().is_none() {
+ let d = from_opaque_style_data(self.0.mServoData.get());
+ let _ = unsafe { Box::from_raw(d) };
+ self.0.mServoData.set(ptr::null_mut());
}
}
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct GeckoRestyleDamage(nsChangeHint);
impl TRestyleDamage for GeckoRestyleDamage {
@@ -204,17 +212,17 @@ impl<'ln> TNode for GeckoNode<'ln> {
unsafe fn set_changed(&self, _value: bool) {
unimplemented!()
}
fn is_dirty(&self) -> bool {
// Return true unconditionally if we're not yet styled. This is a hack
// and should go away soon.
- if self.get_node_data().is_null() {
+ if self.get_node_data().is_none() {
return true;
}
let flags = unsafe { Gecko_GetNodeFlags(self.0) };
flags & (NODE_IS_DIRTY_FOR_SERVO as u32) != 0
}
unsafe fn set_dirty(&self, value: bool) {
@@ -223,17 +231,17 @@ impl<'ln> TNode for GeckoNode<'ln> {
} else {
Gecko_UnsetNodeFlags(self.0, NODE_IS_DIRTY_FOR_SERVO as u32)
}
}
fn has_dirty_descendants(&self) -> bool {
// Return true unconditionally if we're not yet styled. This is a hack
// and should go away soon.
- if self.get_node_data().is_null() {
+ if self.get_node_data().is_none() {
return true;
}
let flags = unsafe { Gecko_GetNodeFlags(self.0) };
flags & (NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO as u32) != 0
}
unsafe fn set_dirty_descendants(&self, value: bool) {
if value {
@@ -251,28 +259,28 @@ impl<'ln> TNode for GeckoNode<'ln> {
unsafe fn set_can_be_fragmented(&self, _value: bool) {
// FIXME(SimonSapin): Servo uses this to implement CSS multicol / fragmentation
// Maybe this isn’t useful for Gecko?
}
#[inline(always)]
unsafe fn borrow_data_unchecked(&self) -> Option<*const PrivateStyleData> {
- self.get_node_data().borrow_opt().map(|d| d.0.as_unsafe_cell().get()
+ self.get_node_data().as_ref().map(|d| d.0.as_unsafe_cell().get()
as *const PrivateStyleData)
}
#[inline(always)]
fn borrow_data(&self) -> Option<Ref<PrivateStyleData>> {
- self.get_node_data().borrow_opt().map(|d| d.0.borrow())
+ self.get_node_data().as_ref().map(|d| d.0.borrow())
}
#[inline(always)]
fn mutate_data(&self) -> Option<RefMut<PrivateStyleData>> {
- self.get_node_data().borrow_opt().map(|d| d.0.borrow_mut())
+ self.get_node_data().as_ref().map(|d| d.0.borrow_mut())
}
fn restyle_damage(self) -> Self::ConcreteRestyleDamage {
// Not called from style, only for layout.
unimplemented!();
}
fn set_restyle_damage(self, damage: Self::ConcreteRestyleDamage) {