mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
24d3443115
The assertions in nsINode and nsWrapperCache are to eagerly catch failures to override those methods. The classinfo change for XULTreeBuilder is needed because one of those is returned via an nsIXULTemplateBuilder attribute on XULElement. Alternately, I could mark it notflattened in Bindings.conf, but Enn said he prefers this anyway. The change to the QI impl in BindingUtils is needed because when XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an nsJSIID. We've run into this before, sadly. I removed "id" from nsIDOMXULElement because it's already on Element. I suppose I could have left it there, but this seems cleaner. The nsJSIID::HasInstance changes are needed to support XBL-implemented interfaces. Sadly, this does mean that if the underlying object QIs to something but we didn't put those props on the WebIDL we'll end up testing true for instanceof but not exposing the props. I don't see an obviously better way. We should work on killing off uses of "instanceof someinterface". The browser.js change is needed to avoid throwing exceptions during browser-chrome tests that are now getting reported because our swapFrameLoaders is no longer an XPConnect method.
191 lines
5.7 KiB
Makefile
191 lines
5.7 KiB
Makefile
# 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/.
|
|
|
|
DEPTH = @DEPTH@
|
|
topsrcdir = @top_srcdir@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
MODULE = dom
|
|
LIBRARY_NAME = dombindings_s
|
|
LIBXUL_LIBRARY = 1
|
|
FORCE_STATIC_LIB = 1
|
|
EXPORT_LIBRARY = 1
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
|
|
|
# Need this to find all our DOM source files.
|
|
include $(topsrcdir)/dom/dom-config.mk
|
|
|
|
include $(topsrcdir)/dom/webidl/WebIDL.mk
|
|
|
|
binding_include_path := mozilla/dom
|
|
all_webidl_files = $(webidl_files) $(generated_webidl_files)
|
|
# Set exported_binding_headers before adding the test IDL to the mix
|
|
exported_binding_headers := $(subst .webidl,Binding.h,$(all_webidl_files))
|
|
# Set linked_binding_cpp_files before adding the test IDL to the mix
|
|
linked_binding_cpp_files := $(subst .webidl,Binding.cpp,$(all_webidl_files))
|
|
|
|
all_webidl_files += $(test_webidl_files)
|
|
|
|
binding_header_files := $(subst .webidl,Binding.h,$(all_webidl_files))
|
|
binding_cpp_files := $(subst .webidl,Binding.cpp,$(all_webidl_files))
|
|
|
|
globalgen_targets := \
|
|
PrototypeList.h \
|
|
RegisterBindings.h \
|
|
RegisterBindings.cpp \
|
|
UnionTypes.h \
|
|
UnionTypes.cpp \
|
|
UnionConversions.h \
|
|
$(NULL)
|
|
|
|
CPPSRCS = \
|
|
$(linked_binding_cpp_files) \
|
|
$(filter %.cpp, $(globalgen_targets)) \
|
|
BindingUtils.cpp \
|
|
CallbackInterface.cpp \
|
|
CallbackObject.cpp \
|
|
DOMJSProxyHandler.cpp \
|
|
$(NULL)
|
|
|
|
EXPORTS_NAMESPACES = $(binding_include_path) mozilla
|
|
|
|
EXPORTS_mozilla = \
|
|
ErrorResult.h \
|
|
$(NULL)
|
|
|
|
EXPORTS_$(binding_include_path) = \
|
|
BindingDeclarations.h \
|
|
BindingUtils.h \
|
|
CallbackFunction.h \
|
|
CallbackInterface.h \
|
|
CallbackObject.h \
|
|
DOMJSClass.h \
|
|
DOMJSProxyHandler.h \
|
|
Errors.msg \
|
|
NonRefcountedDOMObject.h \
|
|
Nullable.h \
|
|
PrimitiveConversions.h \
|
|
PrototypeList.h \
|
|
RegisterBindings.h \
|
|
TypedArray.h \
|
|
UnionConversions.h \
|
|
UnionTypes.h \
|
|
$(exported_binding_headers) \
|
|
$(NULL)
|
|
|
|
LOCAL_INCLUDES += -I$(topsrcdir)/js/xpconnect/src \
|
|
-I$(topsrcdir)/js/xpconnect/wrappers \
|
|
-I$(topsrcdir)/content/canvas/src \
|
|
-I$(topsrcdir)/content/html/content/src \
|
|
-I$(topsrcdir)/media/webrtc/signaling/src/peerconnection \
|
|
-I$(topsrcdir)/dom/base \
|
|
-I$(topsrcdir)/content/xslt/src/base \
|
|
-I$(topsrcdir)/content/xslt/src/xpath \
|
|
-I$(topsrcdir)/content/xml/content/src \
|
|
-I$(topsrcdir)/content/xul/content/src \
|
|
$(NULL)
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
# If you change bindinggen_dependencies here, change it in
|
|
# dom/bindings/test/Makefile.in too.
|
|
bindinggen_dependencies := \
|
|
BindingGen.py \
|
|
Bindings.conf \
|
|
Configuration.py \
|
|
Codegen.py \
|
|
parser/WebIDL.py \
|
|
ParserResults.pkl \
|
|
$(GLOBAL_DEPS) \
|
|
$(NULL)
|
|
|
|
CSS2Properties.webidl: $(topsrcdir)/layout/style/nsCSSPropList.h \
|
|
$(topsrcdir)/layout/style/nsCSSPropAliasList.h \
|
|
$(webidl_base)/CSS2Properties.webidl.in \
|
|
$(webidl_base)/CSS2PropertiesProps.h \
|
|
$(srcdir)/GenerateCSS2PropertiesWebIDL.py \
|
|
$(GLOBAL_DEPS)
|
|
$(CPP) $(DEFINES) $(ACDEFINES) -I$(topsrcdir)/layout/style $(webidl_base)/CSS2PropertiesProps.h | \
|
|
PYTHONDONTWRITEBYTECODE=1 $(PYTHON) \
|
|
$(srcdir)/GenerateCSS2PropertiesWebIDL.py $(webidl_base)/CSS2Properties.webidl.in > CSS2Properties.webidl
|
|
|
|
$(webidl_files): %: $(webidl_base)/%
|
|
$(INSTALL) $(IFLAGS1) $(webidl_base)/$* .
|
|
|
|
$(test_webidl_files): %: $(srcdir)/test/%
|
|
$(INSTALL) $(IFLAGS1) $(srcdir)/test/$* .
|
|
|
|
$(binding_header_files): %Binding.h: $(bindinggen_dependencies) \
|
|
%.webidl \
|
|
$(NULL)
|
|
PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \
|
|
$(PLY_INCLUDE) -I$(srcdir)/parser \
|
|
$(srcdir)/BindingGen.py header \
|
|
$(srcdir)/Bindings.conf $*Binding \
|
|
$*.webidl
|
|
|
|
$(binding_cpp_files): %Binding.cpp: $(bindinggen_dependencies) \
|
|
%.webidl \
|
|
$(NULL)
|
|
PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \
|
|
$(PLY_INCLUDE) -I$(srcdir)/parser \
|
|
$(srcdir)/BindingGen.py cpp \
|
|
$(srcdir)/Bindings.conf $*Binding \
|
|
$*.webidl
|
|
|
|
$(globalgen_targets): ParserResults.pkl
|
|
|
|
%-example: $(bindinggen_dependencies) \
|
|
$(all_webidl_files) \
|
|
$(NULL)
|
|
PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \
|
|
$(PLY_INCLUDE) -I$(srcdir)/parser \
|
|
$(srcdir)/ExampleGen.py \
|
|
$(srcdir)/Bindings.conf $*
|
|
|
|
CACHE_DIR = _cache
|
|
|
|
globalgen_dependencies := \
|
|
GlobalGen.py \
|
|
Bindings.conf \
|
|
Configuration.py \
|
|
Codegen.py \
|
|
parser/WebIDL.py \
|
|
$(CACHE_DIR)/.done \
|
|
$(GLOBAL_DEPS) \
|
|
$(NULL)
|
|
|
|
$(CACHE_DIR)/.done:
|
|
$(MKDIR) -p $(CACHE_DIR)
|
|
@$(TOUCH) $@
|
|
|
|
ParserResults.pkl: $(globalgen_dependencies) \
|
|
$(all_webidl_files)
|
|
PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \
|
|
$(PLY_INCLUDE) -I$(srcdir)/parser \
|
|
$(srcdir)/GlobalGen.py $(srcdir)/Bindings.conf . \
|
|
--cachedir=$(CACHE_DIR) \
|
|
$(all_webidl_files)
|
|
|
|
GARBAGE += \
|
|
$(binding_header_files) \
|
|
$(binding_cpp_files) \
|
|
$(all_webidl_files) \
|
|
$(globalgen_targets) \
|
|
ParserResults.pkl \
|
|
webidlyacc.py \
|
|
parser.out \
|
|
$(wildcard *-example.h) \
|
|
$(wildcard *-example.cpp) \
|
|
$(NULL)
|
|
|
|
# Make sure all binding header files are created during the export stage, so we
|
|
# don't have issues with .cpp files being compiled before we've generated the
|
|
# headers they depend on. This is really only needed for the test files, since
|
|
# the non-test headers are all exported above anyway.
|
|
export:: $(binding_header_files)
|