CompositionEvent extends a cycle collected class UIEvent. It also contains a TextClauseArray member field which consists of cycle collected TextClause items.
MozReview-Commit-ID: MYmacUDevB
--HG--
extra : rebase_source : a268cbf90325bcfa9ac76e88e7f4f88007c83ea9
All other browsers support a constructor here. Per current spec, the
constructor does not support .locale, although initCompositionEvent
does. If we ever decide to standardize .locale, the constructor can be
updated at that point. (Edge also supports .locale in
initCompositionEvent but not the constructor. Chrome doesn't support
.locale at all.)
This patch was mostly generated with the following command:
find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""
and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
This patch was mostly generated with this command:
find . -name "*.h" -o -name "*.cpp" | xargs sed -e 's/Binding::Wrap(aCx, aScope, this/Binding::Wrap(aCx, this/' -e 's/Binding_workers::Wrap(aCx, aScope, this/Binding_workers::Wrap(aCx, this/' -e 's/Binding::Wrap(cx, scope, this/Binding::Wrap(cx, this/' -i ""
plus a few manual fixes to dom/bindings/Codegen.py, js/xpconnect/src/event_impl_gen.py, and a few C++ files that were not caught in the search-and-replace above.