Bug 1516366 - Move mExpandoAndGeneration from nsDocument to nsIDocument. r=smaug

Now that bindgen can represent it properly (bug 1516365) we can do this.

Differential Revision: https://phabricator.services.mozilla.com/D15357
This commit is contained in:
Emilio Cobos Álvarez 2018-12-26 03:33:49 +01:00
Родитель 97ceb59666
Коммит e2c716a29d
3 изменённых файлов: 4 добавлений и 12 удалений

Просмотреть файл

@ -173,13 +173,6 @@ class nsDocument : public nsIDocument {
virtual ~nsDocument();
public:
// FIXME(emilio): This needs to be here instead of in nsIDocument because Rust
// can't represent alignas(8) values on 32-bit architectures, which would
// cause nsIDocument's layout to be wrong in the Rust side.
//
// This can be fixed after updating to rust 1.25 and updating bindgen to
// include https://github.com/rust-lang-nursery/rust-bindgen/pull/1271.
js::ExpandoAndGeneration mExpandoAndGeneration;
friend class nsCallRequestFullscreen;

Просмотреть файл

@ -4418,6 +4418,10 @@ class nsIDocument : public nsINode,
// Pres shell resolution saved before entering fullscreen mode.
float mSavedResolution;
public:
// Needs to be public because the bindings code pokes at it.
js::ExpandoAndGeneration mExpandoAndGeneration;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIDocument, NS_IDOCUMENT_IID)

Просмотреть файл

@ -49,11 +49,6 @@ hide-types = [
"nsString",
".*char_traits",
".*incompatible_char_type",
# JS::Value uses alignas(8) which bindgen can't represent correctly on Linux
# 32-bit. See https://github.com/rust-lang-nursery/rust-bindgen/issues/917.
# It's also not used by Stylo. The following types are also hidden for
# making use of it and being similarly unused by Stylo.
"JS::Value",
"mozilla::binding_danger::TErrorResult.*",
"mozilla::ErrorResult.*", # Causes JSWhyMagic to be included & handled incorrectly.
"mozilla::dom::CallbackFunction",