mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
Merge remote-tracking branch 'origin/tracking' into custom
This commit is contained in:
commit
dabe363572
4 changed files with 101 additions and 77 deletions
|
|
@ -303,6 +303,30 @@ ResizeObserverEntry::Constructor(const GlobalObject& aGlobal,
|
|||
return observerEntry.forget();
|
||||
}
|
||||
|
||||
void ResizeObserverEntry::GetBorderBoxSize(
|
||||
nsTArray<RefPtr<ResizeObserverSize>>& aRetVal) const {
|
||||
// In the resize-observer-1 spec, there will only be a single
|
||||
// ResizeObserverSize returned in the FrozenArray.
|
||||
//
|
||||
// Note: the usage of FrozenArray is to support elements that have multiple
|
||||
// fragments, which occur in multi-column scenarios. See:
|
||||
// https://drafts.csswg.org/resize-observer/#resize-observer-entry-interface
|
||||
aRetVal.Clear();
|
||||
aRetVal.AppendElement(mBorderBoxSize);
|
||||
}
|
||||
|
||||
void ResizeObserverEntry::GetContentBoxSize(
|
||||
nsTArray<RefPtr<ResizeObserverSize>>& aRetVal) const {
|
||||
// In the resize-observer-1 spec, there will only be a single
|
||||
// ResizeObserverSize returned in the FrozenArray.
|
||||
//
|
||||
// Note: the usage of FrozenArray is to support elements that have multiple
|
||||
// fragments, which occur in multi-column scenarios.
|
||||
// https://drafts.csswg.org/resize-observer/#resize-observer-entry-interface
|
||||
aRetVal.Clear();
|
||||
aRetVal.AppendElement(mContentBoxSize);
|
||||
}
|
||||
|
||||
void
|
||||
ResizeObserverEntry::SetBorderBoxSize(const nsSize& aSize) {
|
||||
nsIFrame* frame = mTarget->GetPrimaryFrame();
|
||||
|
|
|
|||
|
|
@ -163,14 +163,10 @@ public:
|
|||
|
||||
/**
|
||||
* Returns target's logical border-box size and content-box size as
|
||||
* ResizeObserverSize.
|
||||
* a ResizeObserverSize array.
|
||||
*/
|
||||
ResizeObserverSize* BorderBoxSize() const {
|
||||
return mBorderBoxSize;
|
||||
}
|
||||
ResizeObserverSize* ContentBoxSize() const {
|
||||
return mContentBoxSize;
|
||||
}
|
||||
void GetBorderBoxSize(nsTArray<RefPtr<ResizeObserverSize>>& aRetVal) const;
|
||||
void GetContentBoxSize(nsTArray<RefPtr<ResizeObserverSize>>& aRetVal) const;
|
||||
|
||||
// Set borderBoxSize.
|
||||
void SetBorderBoxSize(const nsSize& aSize);
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* https://drafts.csswg.org/cssom-view/#mediaquerylistevent
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional MediaQueryListEventInit eventInitDict)]
|
||||
interface MediaQueryListEvent : Event {
|
||||
readonly attribute DOMString media;
|
||||
readonly attribute boolean matches;
|
||||
};
|
||||
|
||||
dictionary MediaQueryListEventInit : EventInit {
|
||||
DOMString media = "";
|
||||
boolean matches = false;
|
||||
};
|
||||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* https://drafts.csswg.org/cssom-view/#mediaquerylistevent
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional MediaQueryListEventInit eventInitDict)]
|
||||
interface MediaQueryListEvent : Event {
|
||||
readonly attribute DOMString media;
|
||||
readonly attribute boolean matches;
|
||||
};
|
||||
|
||||
dictionary MediaQueryListEventInit : EventInit {
|
||||
DOMString media = "";
|
||||
boolean matches = false;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,52 +1,56 @@
|
|||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* The origin of this IDL file is
|
||||
* https://wicg.github.io/ResizeObserver/
|
||||
*/
|
||||
|
||||
enum ResizeObserverBoxOptions {
|
||||
"border-box",
|
||||
"content-box"
|
||||
};
|
||||
|
||||
dictionary ResizeObserverOptions {
|
||||
ResizeObserverBoxOptions box = "content-box";
|
||||
};
|
||||
|
||||
[Constructor(ResizeObserverCallback callback),
|
||||
Exposed=Window,
|
||||
Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObserver {
|
||||
[Throws]
|
||||
void observe(Element? target, optional ResizeObserverOptions options);
|
||||
[Throws]
|
||||
void unobserve(Element? target);
|
||||
void disconnect();
|
||||
};
|
||||
|
||||
callback ResizeObserverCallback = void (sequence<ResizeObserverEntry> entries, ResizeObserver observer);
|
||||
|
||||
[Constructor(Element? target),
|
||||
Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObserverEntry {
|
||||
readonly attribute Element target;
|
||||
readonly attribute DOMRectReadOnly? contentRect;
|
||||
readonly attribute ResizeObserverSize borderBoxSize;
|
||||
readonly attribute ResizeObserverSize contentBoxSize;
|
||||
};
|
||||
|
||||
[Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObserverSize {
|
||||
readonly attribute unrestricted double inlineSize;
|
||||
readonly attribute unrestricted double blockSize;
|
||||
};
|
||||
|
||||
[ChromeOnly,
|
||||
Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObservation {
|
||||
readonly attribute Element target;
|
||||
boolean isActive();
|
||||
};
|
||||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* The origin of this IDL file is
|
||||
* https://wicg.github.io/ResizeObserver/
|
||||
*/
|
||||
|
||||
enum ResizeObserverBoxOptions {
|
||||
"border-box",
|
||||
"content-box"
|
||||
};
|
||||
|
||||
dictionary ResizeObserverOptions {
|
||||
ResizeObserverBoxOptions box = "content-box";
|
||||
};
|
||||
|
||||
[Constructor(ResizeObserverCallback callback),
|
||||
Exposed=Window,
|
||||
Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObserver {
|
||||
[Throws]
|
||||
void observe(Element? target, optional ResizeObserverOptions options);
|
||||
[Throws]
|
||||
void unobserve(Element? target);
|
||||
void disconnect();
|
||||
};
|
||||
|
||||
callback ResizeObserverCallback = void (sequence<ResizeObserverEntry> entries, ResizeObserver observer);
|
||||
|
||||
[Constructor(Element? target),
|
||||
Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObserverEntry {
|
||||
readonly attribute Element target;
|
||||
readonly attribute DOMRectReadOnly? contentRect;
|
||||
// We are using a [Pure, Cached, Frozen] sequence since `FrozenArray` is not implemented in webidl.
|
||||
// This is functionally similar enough. As of #2340 Mozilla has not implemented this yet, either.
|
||||
[Frozen, Cached, Pure]
|
||||
readonly attribute sequence<ResizeObserverSize> borderBoxSize;
|
||||
[Frozen, Cached, Pure]
|
||||
readonly attribute sequence<ResizeObserverSize> contentBoxSize;
|
||||
};
|
||||
|
||||
[Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObserverSize {
|
||||
readonly attribute unrestricted double inlineSize;
|
||||
readonly attribute unrestricted double blockSize;
|
||||
};
|
||||
|
||||
[ChromeOnly,
|
||||
Pref="layout.css.resizeobserver.enabled"]
|
||||
interface ResizeObservation {
|
||||
readonly attribute Element target;
|
||||
boolean isActive();
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue