Backed out 6 changesets (bug 1866238) for causing build bustages CLOSED TREE

Backed out changeset a4f3f7a4d4bc (bug 1866238)
Backed out changeset a983a88514d1 (bug 1866238)
Backed out changeset 3a488bbaf135 (bug 1866238)
Backed out changeset b2003f8a2905 (bug 1866238)
Backed out changeset 684f22e0a4be (bug 1866238)
Backed out changeset 7f039bd15dbb (bug 1866238)
This commit is contained in:
Sandor Molnar 2023-11-30 10:09:21 +02:00
Родитель 8f24f2aa1d
Коммит ec8d16db64
9 изменённых файлов: 240 добавлений и 68 удалений

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

@ -14,6 +14,14 @@ namespace dom {
class PlacesBookmark : public PlacesEvent {
public:
explicit PlacesBookmark(PlacesEventType aEventType)
: PlacesEvent(aEventType) {}
JSObject* WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) override {
return PlacesBookmark_Binding::Wrap(aCx, this, aGivenProto);
}
const PlacesBookmark* AsPlacesBookmark() const override { return this; }
unsigned short ItemType() { return mItemType; }
@ -35,7 +43,7 @@ class PlacesBookmark : public PlacesEvent {
bool mIsTagging;
protected:
using PlacesEvent::PlacesEvent;
virtual ~PlacesBookmark() = default;
};
} // namespace dom

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

@ -21,6 +21,17 @@ NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(PlacesEvent)
NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_TRACE_END
already_AddRefed<PlacesEvent> PlacesEvent::Constructor(
const GlobalObject& aGlobal, PlacesEventType aType, ErrorResult& rv) {
RefPtr<PlacesEvent> event = new PlacesEvent(aType);
return event.forget();
}
nsISupports* PlacesEvent::GetParentObject() const { return nullptr; }
JSObject* PlacesEvent::WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) {
return PlacesEvent_Binding::Wrap(aCx, this, aGivenProto);
}
} // namespace mozilla::dom

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

@ -17,11 +17,20 @@ namespace dom {
class PlacesEvent : public nsWrapperCache {
public:
explicit PlacesEvent(PlacesEventType aType) : mType(aType) {}
static already_AddRefed<PlacesEvent> Constructor(const GlobalObject& aGlobal,
PlacesEventType aType,
ErrorResult& aRv);
NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(PlacesEvent)
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(PlacesEvent)
nsISupports* GetParentObject() const;
JSObject* WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) override;
PlacesEventType Type() const { return mType; }
virtual const PlacesVisit* AsPlacesVisit() const { return nullptr; }
@ -67,7 +76,6 @@ class PlacesEvent : public nsWrapperCache {
}
protected:
explicit PlacesEvent(PlacesEventType aType) : mType(aType) {}
virtual ~PlacesEvent() = default;
PlacesEventType mType;
};

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

@ -39,8 +39,6 @@
# The value for an interface is a dictionary which specifies the
# descriptor to use when generating that interface's binding.
import buildconfig
DOMInterfaces = {
'AbortSignal': {
@ -52,6 +50,14 @@ DOMInterfaces = {
'wrapperCache': False
},
'ArchiveReader': {
'nativeType': 'mozilla::dom::archivereader::ArchiveReader',
},
'ArchiveRequest': {
'nativeType': 'mozilla::dom::archivereader::ArchiveRequest',
},
'AudioBuffer': {
'implicitJSContext': [ 'copyToChannel' ],
},
@ -155,6 +161,10 @@ DOMInterfaces = {
'nativeType': 'mozilla::css::GroupRule',
},
'CSSLexer': {
'wrapperCache': False
},
'CSSRule': {
'nativeType': 'mozilla::css::Rule'
},
@ -216,6 +226,10 @@ DOMInterfaces = {
'headerFile': 'mozilla/dom/DOMRect.h',
},
'DOMRequest': {
'concrete': True,
},
'DOMStringMap': {
'nativeType': 'nsDOMStringMap'
},
@ -307,6 +321,13 @@ DOMInterfaces = {
'nativeType': 'nsFrameLoader',
},
'FuzzingFunctions': {
# The codegen is dumb, and doesn't understand that this interface is only a
# collection of static methods, so we have this `concrete: False` hack.
'concrete': False,
'headerFile': 'mozilla/dom/FuzzingFunctions.h',
},
'HeapSnapshot': {
'nativeType': 'mozilla::devtools::HeapSnapshot'
},
@ -416,6 +437,11 @@ DOMInterfaces = {
'wrapperCache': False,
},
'InputStream': {
'nativeType': 'nsIInputStream',
'notflattened': True
},
'InspectorFontFace': {
'wrapperCache': False,
},
@ -473,6 +499,10 @@ DOMInterfaces = {
'nativeType': 'mozilla::DOMMediaStream'
},
'MediaStreamList': {
'headerFile': 'MediaStreamList.h',
},
'MediaRecorder': {
'headerFile': 'MediaRecorder.h',
},
@ -592,6 +622,11 @@ DOMInterfaces = {
'headerFile': 'CanvasPath.h'
},
'PeerConnectionImpl': {
'nativeType': 'mozilla::PeerConnectionImpl',
'headerFile': 'PeerConnectionImpl.h',
},
'Performance' : {
'implicitJSContext': [
'mark'
@ -602,11 +637,24 @@ DOMInterfaces = {
'concrete': True,
},
'PlacesBookmark' : {
'concrete': True,
},
'PlacesEvent' : {
'concrete': True,
},
'TaskController' : {
'nativeType' : 'mozilla::dom::WebTaskController',
'headerFile' : 'mozilla/dom/WebTaskController.h'
},
'TransceiverImpl': {
'nativeType': 'mozilla::TransceiverImpl',
'headerFile': 'TransceiverImpl.h'
},
'TransformStreamDefaultController': {
'implicitJSContext': ['terminate'],
},
@ -620,6 +668,14 @@ DOMInterfaces = {
'nativeType': 'nsPluginArray',
},
'PluginTag': {
'nativeType': 'nsIPluginTag',
},
'Policy': {
'nativeType': 'mozilla::dom::FeaturePolicy',
},
'PromiseNativeHandler': {
'wrapperCache': False,
},
@ -672,6 +728,10 @@ DOMInterfaces = {
'clone', 'cloneUnfiltered' ],
},
'RTCDataChannel': {
'nativeType': 'nsDOMDataChannel',
},
'Scheduler': {
'nativeType': 'mozilla::dom::WebTaskScheduler',
'headerFile': 'mozilla/dom/WebTaskScheduler.h',
@ -964,6 +1024,12 @@ DOMInterfaces = {
'concrete': False,
},
'SVGZoomAndPan' : {
# Part of a kinda complicated legacy setup for putting some constants on
# both interfaces and this thing, which ideally should be a namespace.
'concrete': False,
},
'SyncReadFile': {
'headerFile': 'mozilla/dom/IOUtils.h',
},
@ -972,6 +1038,10 @@ DOMInterfaces = {
'nativeType': 'mozilla::telemetry::Stopwatch',
},
'TestFunctions': {
'wrapperCache': False
},
'Text': {
# Total hack to allow binding code to realize that nsTextNode can
# in fact be cast to Text.
@ -1422,21 +1492,63 @@ DOMInterfaces = {
'nativeType': 'mozilla::webgpu::ValidationError',
},
'GPUBindingType': {
'concrete': False,
},
'GPUBlendFactor': {
'concrete': False,
},
'GPUBlendOperation': {
'concrete': False,
},
'GPUBufferUsage': {
'concrete': False,
},
'GPUColorWrite': {
'concrete': False,
},
'GPUCompareFunction': {
'concrete': False,
},
'GPUFilterMode': {
'concrete': False,
},
'GPUIndexFormat': {
'concrete': False,
},
'GPUInputStepMode': {
'concrete': False,
},
'GPULoadOp': {
'concrete': False,
},
'GPUMapMode': {
'concrete': False,
},
'GPUPrimitiveTopology': {
'concrete': False,
},
'GPUShaderStage': {
'concrete': False,
},
'GPUStencilOperation': {
'concrete': False,
},
'GPUStoreOp': {
'concrete': False,
},
'GPUTextureDimension': {
'concrete': False,
},
'GPUTextureFormat': {
'concrete': False,
},
'GPUTextureUsage': {
'concrete': False,
},
'GPUVertexFormat': {
'concrete': False,
},
# Glean
@ -1532,6 +1644,7 @@ DOMInterfaces = {
# WebRTC
'WebrtcGlobalInformation': {
'nativeType': 'mozilla::dom::WebrtcGlobalInformation',
'headerFile': 'WebrtcGlobalInformation.h',
},
@ -1591,6 +1704,7 @@ DOMInterfaces = {
'XPathEvaluator': {
'wrapperCache': False,
'concrete': True,
},
'XPathExpression': {
@ -1745,6 +1859,16 @@ DOMInterfaces = {
'register': False
},
'TestNavigator' : {
'headerFile': 'TestJSImplGenBinding.h',
'register' : False
},
'TestNavigatorWithConstructor' : {
'headerFile': 'TestJSImplGenBinding.h',
'register' : False
},
'TestExternalInterface' : {
'nativeType': 'mozilla::dom::TestExternalInterface',
'headerFile': 'TestBindingHeader.h',
@ -1757,11 +1881,52 @@ DOMInterfaces = {
'wrapperCache': False
},
'IndirectlyImplementedInterface': {
'headerFile': 'TestBindingHeader.h',
'register': False,
'castable': False,
},
'OnlyForUseInConstructor' : {
'headerFile': 'TestBindingHeader.h',
'register': False
},
'ImplementedInterface' : {
'headerFile': 'TestBindingHeader.h',
'register': False,
},
'ImplementedInterfaceParent' : {
'headerFile': 'TestBindingHeader.h',
'register': False
},
'DiamondImplements' : {
'headerFile': 'TestBindingHeader.h',
'register': False
},
'DiamondBranch1A' : {
'headerFile': 'TestBindingHeader.h',
'register': False
},
'DiamondBranch1B' : {
'headerFile': 'TestBindingHeader.h',
'register': False
},
'DiamondBranch2A' : {
'headerFile': 'TestBindingHeader.h',
'register': False
},
'DiamondBranch2B' : {
'headerFile': 'TestBindingHeader.h',
'register': False
},
'TestIndexedGetterInterface' : {
'headerFile': 'TestBindingHeader.h',
'register': False
@ -1947,29 +2112,7 @@ DOMInterfaces = {
},
}
if buildconfig.substs.get("MOZ_WEBRTC", False):
DOMInterfaces.update({
'PeerConnectionImpl': {
'nativeType': 'mozilla::PeerConnectionImpl',
'headerFile': 'PeerConnectionImpl.h',
},
'RTCDataChannel': {
'nativeType': 'nsDOMDataChannel',
},
})
if buildconfig.substs.get("MOZ_DEBUG", False) and buildconfig.substs.get("ENABLE_TESTS", False):
DOMInterfaces.update({
'TestFunctions': {
'wrapperCache': False
},
})
# These probably won't be converted to use new DOM bindings
# These are temporary, until they've been converted to use new DOM bindings
def addExternalIface(iface, nativeType=None, headerFile=None,
notflattened=False):
if iface in DOMInterfaces:
@ -1988,6 +2131,7 @@ addExternalIface('Cookie', nativeType='nsICookie',
headerFile='nsICookie.h', notflattened=True)
addExternalIface('ContentSecurityPolicy', nativeType='nsIContentSecurityPolicy',
notflattened=True)
addExternalIface('HitRegionOptions', nativeType='nsISupports')
addExternalIface('imgINotificationObserver', nativeType='imgINotificationObserver')
addExternalIface('imgIRequest', nativeType='imgIRequest', notflattened=True)
addExternalIface('LoadContext', nativeType='nsILoadContext', notflattened=True)
@ -1997,6 +2141,7 @@ addExternalIface('XULControllers', nativeType='nsIControllers', notflattened=Tru
addExternalIface('MozObserver', nativeType='nsIObserver', notflattened=True)
addExternalIface('MozTreeView', nativeType='nsITreeView',
headerFile='nsITreeView.h', notflattened=True)
addExternalIface('MozWakeLockListener', headerFile='nsIDOMWakeLockListener.h')
addExternalIface('nsIBrowserDOMWindow', nativeType='nsIBrowserDOMWindow',
notflattened=True)
addExternalIface('nsIDOMWindowUtils', nativeType='nsIDOMWindowUtils', notflattened=True)
@ -2058,8 +2203,6 @@ addExternalIface('nsISessionStoreRestoreData',
headerFile='nsISessionStoreRestoreData.h', notflattened=True)
addExternalIface('nsIScreen', nativeType='nsIScreen',
headerFile='nsIScreen.h', notflattened=True)
addExternalIface('InputStream',
nativeType='nsIInputStream', notflattened=True)
# The TemplatedAttributes dictionary has the interface name where the template
# should be generated as the key. The values are lists of dictionaries, where

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

@ -159,7 +159,7 @@ class Configuration(DescriptorProvider):
self.interfaces[iface.identifier.name] = iface
entry = config.pop(iface.identifier.name, {})
entry = config.get(iface.identifier.name, {})
assert not isinstance(entry, list)
desc = Descriptor(
@ -175,13 +175,6 @@ class Configuration(DescriptorProvider):
assert desc.interface.identifier.name not in self.descriptorsByName
self.descriptorsByName[desc.interface.identifier.name] = desc
if len(config) > 0:
raise NoSuchDescriptorError(
"Bindings.conf contains entries for "
+ str(list(config))
+ " that aren't declared as interfaces in the .webidl files."
)
# Keep the descriptor list sorted for determinism.
self.descriptors.sort(key=lambda x: x.name)

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

@ -1,2 +0,0 @@
DOMInterfaces = {}
TemplatedAttributes = {}

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

@ -39,7 +39,7 @@ class TestWebIDLCodegenManager(unittest.TestCase):
@property
def _config_path(self):
config = mozpath.join(OUR_DIR, "TestBindings.conf")
config = mozpath.join(TOPSRCDIR, "dom", "bindings", "Bindings.conf")
self.assertTrue(os.path.exists(config))
return config

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

@ -12,43 +12,43 @@
[Pref="fuzzing.enabled",
Exposed=Window]
namespace FuzzingFunctions {
interface FuzzingFunctions {
/**
* Synchronously perform a garbage collection.
*/
undefined garbageCollect();
static undefined garbageCollect();
/**
* Synchronously perform a compacting garbage collection.
*/
undefined garbageCollectCompacting();
static undefined garbageCollectCompacting();
/**
* Trigger a forced crash.
*/
undefined crash(optional DOMString reason = "");
static undefined crash(optional DOMString reason = "");
/**
* Synchronously perform a cycle collection.
*/
undefined cycleCollect();
static undefined cycleCollect();
/**
* Send a memory pressure event, causes shrinking GC, cycle collection and
* other actions.
*/
undefined memoryPressure();
static undefined memoryPressure();
/**
* Enable accessibility.
*/
[Throws]
undefined enableAccessibility();
static undefined enableAccessibility();
/**
* Send IPC fuzzing ready event to parent.
*/
undefined signalIPCReady();
static undefined signalIPCReady();
/**
* synthesizeKeyboardEvents() synthesizes a set of "keydown",
@ -130,6 +130,6 @@ namespace FuzzingFunctions {
* keyCode: KeyboardEvent.DOM_VK_COLON });
*/
[Throws]
undefined synthesizeKeyboardEvents(DOMString aKeyValue,
optional KeyboardEventInit aDictionary = {});
static undefined synthesizeKeyboardEvents(DOMString aKeyValue,
optional KeyboardEventInit aDictionary = {});
};

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

@ -463,7 +463,6 @@ WEBIDL_FILES = [
"ClipboardEvent.webidl",
"Comment.webidl",
"CompositionEvent.webidl",
"CompressionStream.webidl",
"Console.webidl",
"ConstantSourceNode.webidl",
"ConvolverNode.webidl",
@ -504,7 +503,6 @@ WEBIDL_FILES = [
"DataTransferItem.webidl",
"DataTransferItemList.webidl",
"DecoderDoctorNotification.webidl",
"DecompressionStream.webidl",
"DedicatedWorkerGlobalScope.webidl",
"DelayNode.webidl",
"DeviceMotionEvent.webidl",
@ -561,7 +559,6 @@ WEBIDL_FILES = [
"FileSystemFileHandle.webidl",
"FileSystemHandle.webidl",
"FileSystemSyncAccessHandle.webidl",
"FileSystemWritableFileStream.webidl",
"FinalizationRegistry.webidl",
"FocusEvent.webidl",
"FontFace.webidl",
@ -802,15 +799,8 @@ WEBIDL_FILES = [
"PushMessageData.webidl",
"PushSubscription.webidl",
"PushSubscriptionOptions.webidl",
"QueuingStrategy.webidl",
"RadioNodeList.webidl",
"Range.webidl",
"ReadableByteStreamController.webidl",
"ReadableStream.webidl",
"ReadableStreamBYOBReader.webidl",
"ReadableStreamBYOBRequest.webidl",
"ReadableStreamDefaultController.webidl",
"ReadableStreamDefaultReader.webidl",
"ReferrerPolicy.webidl",
"Reporting.webidl",
"Request.webidl",
@ -973,16 +963,11 @@ WEBIDL_FILES = [
"Touch.webidl",
"TouchEvent.webidl",
"TouchList.webidl",
"Transformer.webidl",
"TransformStream.webidl",
"TransformStreamDefaultController.webidl",
"TransitionEvent.webidl",
"TreeWalker.webidl",
"UDPMessageEvent.webidl",
"UDPSocket.webidl",
"UIEvent.webidl",
"UnderlyingSink.webidl",
"UnderlyingSource.webidl",
"URL.webidl",
"URLSearchParams.webidl",
"UserActivation.webidl",
@ -1021,9 +1006,6 @@ WEBIDL_FILES = [
"WorkerTestUtils.webidl",
"Worklet.webidl",
"WorkletGlobalScope.webidl",
"WritableStream.webidl",
"WritableStreamDefaultController.webidl",
"WritableStreamDefaultWriter.webidl",
"XMLDocument.webidl",
"XMLHttpRequest.webidl",
"XMLHttpRequestEventTarget.webidl",
@ -1036,6 +1018,28 @@ WEBIDL_FILES = [
"XSLTProcessor.webidl",
]
if CONFIG["MOZ_DOM_STREAMS"]:
WEBIDL_FILES += [
"CompressionStream.webidl",
"DecompressionStream.webidl",
"FileSystemWritableFileStream.webidl",
"QueuingStrategy.webidl",
"ReadableByteStreamController.webidl",
"ReadableStream.webidl",
"ReadableStreamBYOBReader.webidl",
"ReadableStreamBYOBRequest.webidl",
"ReadableStreamDefaultController.webidl",
"ReadableStreamDefaultReader.webidl",
"Transformer.webidl",
"TransformStream.webidl",
"TransformStreamDefaultController.webidl",
"UnderlyingSink.webidl",
"UnderlyingSource.webidl",
"WritableStream.webidl",
"WritableStreamDefaultController.webidl",
"WritableStreamDefaultWriter.webidl",
]
if CONFIG["MOZ_WEBRTC"]:
WEBIDL_FILES += [
"PeerConnectionImpl.webidl",
@ -1086,7 +1090,14 @@ if CONFIG["MOZ_WEBSPEECH"]:
]
WEBIDL_FILES += [
"CloseEvent.webidl",
"CustomEvent.webidl",
"DeviceOrientationEvent.webidl",
"HashChangeEvent.webidl",
"PageTransitionEvent.webidl",
"PopStateEvent.webidl",
"PopupBlockedEvent.webidl",
"ProgressEvent.webidl",
]
# WebExtensions API.