mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 21:05:36 +00:00
Bug 1019191 part 5. Remove the one remaining quickstub we have and all quickstub codegen. r=peterv
This commit is contained in:
parent
5e1aca9748
commit
377effd23d
@ -1183,19 +1183,7 @@ ResolvePrototype(nsIXPConnect *aXPConnect, nsGlobalWindow *aWin, JSContext *cx,
|
||||
NS_IMETHODIMP
|
||||
nsDOMClassInfo::PostCreatePrototype(JSContext * cx, JSObject * aProto)
|
||||
{
|
||||
uint32_t flags = (mData->mScriptableFlags & DONT_ENUM_STATIC_PROPS)
|
||||
? 0
|
||||
: JSPROP_ENUMERATE;
|
||||
|
||||
uint32_t count = 0;
|
||||
while (mData->mInterfaces[count]) {
|
||||
count++;
|
||||
}
|
||||
|
||||
JS::Rooted<JSObject*> proto(cx, aProto);
|
||||
if (!xpc::DOM_DefineQuickStubs(cx, proto, flags, count, mData->mInterfaces)) {
|
||||
JS_ClearPendingException(cx);
|
||||
}
|
||||
|
||||
// This is called before any other location that requires
|
||||
// sObjectClass, so compute it here. We assume that nobody has had a
|
||||
|
@ -1,32 +0,0 @@
|
||||
#
|
||||
# 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/.
|
||||
|
||||
EXTRA_MDDEPEND_FILES = dom_qsgen.pp
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
dom_quickstubs.h: dom_quickstubs.cpp
|
||||
|
||||
dom_quickstubs.cpp: $(srcdir)/dom_quickstubs.qsconf \
|
||||
$(srcdir)/qsgen.py \
|
||||
$(LIBXUL_DIST)/sdk/bin/header.py \
|
||||
$(LIBXUL_DIST)/sdk/bin/xpidl.py
|
||||
$(PYTHON) $(topsrcdir)/config/pythonpath.py \
|
||||
$(PLY_INCLUDE) \
|
||||
-I$(LIBXUL_DIST)/sdk/bin \
|
||||
$(srcdir)/qsgen.py \
|
||||
--idlpath=$(DEPTH)/dist/idl \
|
||||
--header-output dom_quickstubs.h \
|
||||
--stub-output dom_quickstubs.cpp \
|
||||
--makedepend-output $(MDDEPDIR)/dom_qsgen.pp \
|
||||
$(ENABLE_TRACEABLE_FLAGS) \
|
||||
$(srcdir)/dom_quickstubs.qsconf
|
||||
|
||||
GARBAGE += \
|
||||
xpidl_debug \
|
||||
$(MDDEPDIR)/dom_qsgen.pp \
|
||||
$(MDDEPDIR)/dombindingsgen.pp \
|
||||
$(wildcard $(topsrcdir)/other-licenses/ply/ply/*.pyc) \
|
||||
$(NULL)
|
@ -14,7 +14,6 @@
|
||||
#include "XPCWrapper.h"
|
||||
#include "XPCJSMemoryReporter.h"
|
||||
#include "WrapperFactory.h"
|
||||
#include "dom_quickstubs.h"
|
||||
#include "mozJSComponentLoader.h"
|
||||
|
||||
#include "nsIMemoryInfoDumper.h"
|
||||
|
@ -1,53 +0,0 @@
|
||||
# -*- Mode: Python -*-
|
||||
# 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/.
|
||||
|
||||
name = 'DOM'
|
||||
|
||||
# A quick warning:
|
||||
#
|
||||
# Attributes or methods that call GetCurrentNativeCallContext must not be
|
||||
# quick-stubbed, because quick stubs don't generate a native call context.
|
||||
# qsgen.py has no way of knowing which attributes and methods do this, as it
|
||||
# looks at interfaces, not implementations. The symptoms, if you quick-stub
|
||||
# one of those, can be really weird, because GetCurrentNativeCallContext
|
||||
# doesn't crash--it may in fact return a plausible wrong answer.
|
||||
|
||||
members = [
|
||||
# dom/interfaces/base
|
||||
#
|
||||
# Note that many implementations of interfaces in this directory
|
||||
# use GetCurrentNativeCallContext, notably:
|
||||
# - nsIDOMLocation.reload
|
||||
# - nsIDOMNSHistory.go
|
||||
# - nsIDOMJSPluginArray.refresh
|
||||
# - nsIDOMWindow.postMessage
|
||||
# - nsIDOMJSWindow.{prompt,setTimeout,setInterval,open,openDialog}
|
||||
#
|
||||
# (And nsIDOMModalContentWindow.returnValue is an attribute of type
|
||||
# nsIVariant, which qsgen.py can't handle.)
|
||||
|
||||
# dom/interfaces/xpath
|
||||
'nsIDOMXPathNSResolver.lookupNamespaceURI',
|
||||
|
||||
]
|
||||
|
||||
# Most interfaces can be found by searching the includePath; to find
|
||||
# nsIDOMEvent, for example, just look for nsIDOMEvent.idl. But IDL filenames
|
||||
# for very long interface names are slightly abbreviated, and many interfaces
|
||||
# don't have their own files, just for extra wackiness. So qsgen.py needs
|
||||
# a little help.
|
||||
#
|
||||
irregularFilenames = {
|
||||
# stowaways
|
||||
'nsIDOMBlob': 'nsIDOMFile',
|
||||
}
|
||||
|
||||
customIncludes = [
|
||||
'mozilla/dom/BindingUtils.h',
|
||||
'mozilla/dom/EventTargetBinding.h',
|
||||
]
|
||||
|
||||
newBindingProperties = {
|
||||
}
|
@ -51,10 +51,6 @@ SOURCES += [
|
||||
'XPCComponents.cpp',
|
||||
]
|
||||
|
||||
GENERATED_SOURCES += [
|
||||
'dom_quickstubs.cpp',
|
||||
]
|
||||
|
||||
FAIL_ON_WARNINGS = True
|
||||
|
||||
MSVC_ENABLE_PGO = True
|
||||
@ -63,10 +59,6 @@ include('/ipc/chromium/chromium-config.mozbuild')
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
|
||||
GENERATED_FILES = [
|
||||
'dom_quickstubs.h',
|
||||
]
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
'../loader',
|
||||
'../wrappers',
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user