Also refactor some stuff in this area.
Documenting why I think it's correct to use GETBOUNDNAME only for
dynamic (vs global) lookups, without the normal NAME checks:
1. GETBOUNDNAME doesn't need to check TDZ because BINDNAME does it
already, and GETBOUNDNAME is always preceded by BINDNAME.
2. '.this' doesn't need to be checked, because '.this' can't be assigned
to in a compound assignment or inc/dec.
3. For a global name there is never @@unscopables on the global
environments, so GNAME ops, while doing repeated lookups, remain valid
optimizations because the repetition is unobservable.
4. We *will* do double @@unscopable lookup in the case of a script
compiled for a syntactic scope then run under a non-syntactic
WithEnvironmentObject (e.g. like frame scripts). But this is
Gecko-specific and outside the spec, so we can do whatever we want
here.
Bug 1137567 - 1. Allow dispatching key events during composition; r=esawin
We potentially dispatch key events during composition to provide
compatibility for pages that only listen to key events.
Bug 1137567 - 2. Allow keyboard events in DispatchInputEvent when not on APZ thread; r=rbarker
We use nsIWidget::DispatchInputEvent to dispatch our keyboard events on
the Gecko thread, which on Android is not the APZ controller thread. We
should allow these events to pass instead of crashing.
Bug 1137567 - 3. Add GeckoEditableSupport class to support TextEventDispatcher; r=masayuki
Add a separate GeckoEditableSupport class, which implements
TextEventDispatcherListener and uses TextEventDispatcher for IME
operations. The new class is entirely separate from nsWindow to allow it
to be independently used in content processes as well.
Most of the code is copied from nsWindow::GeckoViewSupport, and adapted
to use TextEventDispatcher.
Bug 1137567 - 4. Make nsWindow::WindowPtr available for outside classes; r=snorp
Make nsWindow::WindowPtr available not just for classes inside nsWindow
but for outside classes as well. Also, add support for RefPtr native
objects to nsWindow::NativePtr.
Bug 1137567 - 5. Use GeckoEditableSupport in nsWindow; r=esawin
Use the new GeckoEditableSupport class in nsWindow to replace the
previous code in nsWindow::GeckoViewSupport. GeckoEditable native
methods now go to GeckoEditableSupport instead of GeckoViewSupport.
Several native methods in GeckoEditable are changed from
dispatchTo="proxy" to dispatchTo="gecko", because we no longer need the
special nsWindow::WindowEvent wrapper for our native calls.
Moved the styling for the #urlbar-zoom-button which was duplicated among browser/themes/linux/browser.css, browser/themes/osx/browser.css, and browser/themes/windows/browser.css to a new shared file browser/themes/shared/browser.inc.css. Also added the new file to browser/themes/shared/jar.inc.mn.
--HG--
extra : rebase_source : c755450072f871b14f7bfb3e21423a299800301b