The GeckoEditable instance doesn't change for each nsWindow instance.
However, because a GeckoInputConnection is associated with a GeckoView,
when we create a new GeckoView, we need to attach a new
GeckoInputConnection to the existing nsWindow's GeckoEditable. This
patch makes us do that inside nsWindow::Natives::Open by calling
GeckoEditable.OnViewChange.
This patch removes the GeckoEditable code in GeckoAppShell, and make
nsWindow create a GeckoEditable for itself when opening a window.
Instead of calling GeckoAppShell, nsWindow can now call GeckoEditable
methods directly.
We try to generate a C++ constant for static final fields, but that
was failing for inaccessible fields. Now we set the field to be
accessible so that we do end up generating a C++ constant.
The PROCESS_OBJECT GeckoEvent is used to set the layer client object in
Gecko once Gecko is done loading. This patch converts it to a native
call in GeckoView.Window.
The conversion is as follows:
- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST == gfx::Filter::LINEAR
Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.
These changes mean ToFilter() and ThebesFilter() are no longer needed.
Add a new preference, clibboard.plainTextOnly.
1. On: we only support kUnicodeMIME in SetData/GetData.
2. Off: we can support different MIME types in SetData/GetData
BTW, "copy image" is dependent on non-text/rich text support, so this
menu item is also disabled after we turn the pref off.
nsRefPtrHashtable::Get follows XPCOM outparam rules, so it addrefs its
argument prior to returning it. LookupRegisteredPluginWindow, however,
doesn't know anything about the additional reference, and neither does
anything else that calls it (which is, fortunately, not that much code).
So every widget returned by this function will leak.
To fix this, we use nsRefPtrHashtable::GetWeak, which doesn't addref its
argument, but merely returns the raw pointer, leaving the hashtable
responsible for the owning reference.
This can't be expressed in the types of the arguments because IDL doesn't
support strongly typed units.
--HG--
extra : source : d00913efe05fbe285197eefc15e6a10072e337a9
extra : histedit_source : d3083ea9aed7da43786100671ce9c8c4b9cb8a88
This patch adds a specialization for jni::Ref<jni::ObjectArray>, which
includes members for getting the length of the array and accessing
array elements.
We have a pretty messy system of coalescing viewport events that
introduced a race condition during the recent JNI refactoring. This
patch makes that code simpler and fixes the race condition. Instead of
keeping track of a previous viewport event, we now scan the event queue
for previous viewport events. This shouldn't be a perf concern because
we only scan the queue for viewport and native callback events, and stop
scanning as soon as we find another kind of event.
Adds a new chrome-only MutationObserverInit option called nativeAnonymousChildList
that will cause a mutation to fire when a native anonymous root is bound or unbound