mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:18:48 +00:00
9d8e58858d
- missing crashreporter section (4831c9622) - Bug 866681, part 1 - Track if any slice of CC was manually triggered. r=smaug (358239be3) - Bug 866681, part 2 - Make ContentUnbinder use DeferredFinalize. r=smaug (3155b68fa) - Bug 1177627 - Back out most of 7fcf6bf43eda for causing Gaia unit test crashes. r=smaug (6ddb7866c) - Bug 1158257 - Gecko should always provide SpiderMonkey with a debuggerMallocSizeOf; r=mccr8 (f18a9c4ec) - add (unused) crashreporter (9f35b04ee) - Bug 1175513 - Make some private nsXPCWrappedJSClass const or static; r=bholley (39e560872) - Bug 1175513 - Factor out nsXPCWrappedJSClass::CleanupOutparams; r=bholley (93f602ab6) - Bug 1175513 - Improve code style in nsXPCWrappedJSClass::CleanupOutparams; r=bholley (cd874ea37) - Bug 1178969 - nsXPConnect doesn't need to implement nsSupportsWeakReference. r=bholley (e76ebddc9) - Bug 1182409 - Add 'allowWaivers' sandbox option. r=gabor (71befc1c9) - Bug 1184400, part 1 - Make XPCJSRuntime::SuspectWrappedNative into a method on XPCWrappedNative. r=bholley (4d102ee6a) - Bug 1184400, part 2 - XPCWrappedNative::Suspect() should suspect the JS reflector object even if it doesn't own it. r=bholley (c8339179c) - Bug 1184400, part 3 - Use HasExternalReference in XPCWrappedNative::Traverse. r=bholley (3020bd602) - Bug 1186213 - Add an API to deep-freeze the result of Cu.cloneInto. r=gkrizsanits (3b1b03b07) - Bug 1185144 - nsConsoleService::LogMessageWithMode() should release the retired message on the main thread. r=froydnj (e615f5eb2) - Bug 1171716 - Part 1: Add NS_ReleaseOnMainThread. r=froydnj (dd13528db) - Bug 1171716 - Part 3: Use NS_ReleaseOnMainThread in WebSocketChannel dtor. r=froydnj (0818574a6) - Bug 1171716 - Part 4: Use NS_ReleaseOnMainThread in JarChannel dtor. r=froydnj (06c85f670) - Bug 1171716 - Part 5: Use NS_ReleaseOnMainThread in HttpBaseChannel dtor. r=froydnj (e599c1b8e) - Bug 1185527 - Split out a refcountless base class for nsScriptError. r=gabor (325087790) - Bug 1157908 - Give Gecko thread Looper low priority; r=snorp (713dd5bb1) - Bug 968923 - part 5a - add use counters for SVGSVGElement and CSS properties for testing purposes; r=bz (9ed578c11) - Bug 968923 - part 3d - record use counter information from the CSS parser; r=dbaron (ea188ea15) - Bug 968923 - fix bogus assert in nsSVGElement.cpp; r=heycam (moz hg rev a0744d2060df)
81 lines
2.8 KiB
Python
81 lines
2.8 KiB
Python
#!/usr/bin/env 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/.
|
|
|
|
from __future__ import print_function
|
|
|
|
import json
|
|
import os
|
|
import sys
|
|
sys.path.append(os.path.dirname(__file__))
|
|
|
|
import usecounters
|
|
|
|
AUTOGENERATED_WARNING_COMMENT = "/* THIS FILE IS AUTOGENERATED BY gen-usercounters.py - DO NOT EDIT */"
|
|
|
|
def generate_list(f, counters):
|
|
def print_optional_macro_declare(name):
|
|
print('''
|
|
#ifndef %(name)s
|
|
#define %(name)s(interface_, name_) // nothing
|
|
#define DEFINED_%(name)s
|
|
#endif
|
|
''' % { 'name': name }, file=f)
|
|
|
|
def print_optional_macro_undeclare(name):
|
|
print('''
|
|
#ifdef DEFINED_%(name)s
|
|
#undef DEFINED_%(name)s
|
|
#undef %(name)s
|
|
#endif
|
|
''' % { 'name': name }, file=f)
|
|
|
|
print(AUTOGENERATED_WARNING_COMMENT, file=f)
|
|
|
|
print_optional_macro_declare('USE_COUNTER_DOM_METHOD')
|
|
print_optional_macro_declare('USE_COUNTER_DOM_ATTRIBUTE')
|
|
print_optional_macro_declare('USE_COUNTER_CSS_PROPERTY')
|
|
|
|
for counter in counters:
|
|
if counter['type'] == 'method':
|
|
print('USE_COUNTER_DOM_METHOD(%s, %s)' % (counter['interface_name'], counter['method_name']), file=f)
|
|
elif counter['type'] == 'attribute':
|
|
print('USE_COUNTER_DOM_ATTRIBUTE(%s, %s)' % (counter['interface_name'], counter['attribute_name']), file=f)
|
|
elif counter['type'] == 'property':
|
|
prop = counter['property_name']
|
|
print('USE_COUNTER_CSS_PROPERTY(%s, %s)' % (prop, prop), file=f)
|
|
|
|
print_optional_macro_undeclare('USE_COUNTER_DOM_METHOD')
|
|
print_optional_macro_undeclare('USE_COUNTER_DOM_ATTRIBUTE')
|
|
print_optional_macro_undeclare('USE_COUNTER_CSS_PROPERTY')
|
|
|
|
def generate_property_map(f, counters):
|
|
print(AUTOGENERATED_WARNING_COMMENT, file=f)
|
|
print('''
|
|
enum {
|
|
#define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) privatename_
|
|
#define CSS_PROP_LIST_INCLUDE_LOGICAL
|
|
#define CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, \\
|
|
kwtable_, stylestruct_, stylestructoffset_, animtype_) \\
|
|
USE_COUNTER_FOR_CSS_PROPERTY_##method_ = eUseCounter_UNKNOWN,
|
|
#include "nsCSSPropList.h"
|
|
#undef CSS_PROP
|
|
#undef CSS_PROP_LIST_INCLUDE_LOGICAL
|
|
#undef CSS_PROP_PUBLIC_OR_PRIVATE
|
|
};
|
|
''', file=f)
|
|
for counter in counters:
|
|
if counter['type'] == 'property':
|
|
prop = counter['property_name']
|
|
print('#define USE_COUNTER_FOR_CSS_PROPERTY_%s eUseCounter_property_%s' % (prop, prop), file=f)
|
|
|
|
def use_counter_list(output_header, conf_filename):
|
|
counters = usecounters.read_conf(conf_filename)
|
|
generate_list(output_header, counters)
|
|
|
|
def property_map(output_map, conf_filename):
|
|
counters = usecounters.read_conf(conf_filename)
|
|
generate_property_map(output_map, counters)
|