Commit Graph

170 Commits

Author SHA1 Message Date
Randall Barker
60bcab7eab Bug 1257269 - Panning up in a scrollable element should not hide the toolbar r=kats,jchen 2016-04-01 16:07:29 -07:00
Wes Kocher
f7ff854695 Backed out changeset 95e61ede373d (bug 1257269) because it caused merge conflicts with m-c/fx-team
MozReview-Commit-ID: 2Zt4WJqmlzu
2016-04-01 16:05:07 -07:00
Randall Barker
a15f5f5aff Bug 1257269 - Panning up in a scrollable element should not hide the toolbar r=kats,jchen 2016-04-01 12:16:35 -07:00
David Anderson
7b7cd394cc Rename PCompositor to PCompositorBridge. (bug 1258479 part 2, r=mattwoodrow) 2016-03-22 14:08:38 -04:00
Makoto Kato
f73b416fee Bug 1255707 - Part 1. Remove ContentCreationNotifier. r=snorp
ContentCreationNotifier is unnecessary because nsWindow::GetAndroidScreenBounds is ununsed after bug 1182665

MozReview-Commit-ID: JvchWCuxf96
2016-03-15 11:40:12 +09:00
Mark Capella
2f9cb55372 Bug 1252802 - Web page scrolls when dragging caret in editable, r=snorp 2016-03-10 18:06:13 -05:00
Kartikaya Gupta
6cda26a6e2 Bug 1249915 - Add ability to synthesize native touch events on Fennec for mochitests. r=snorp
MozReview-Commit-ID: Dit8QhqJSYc
2016-02-23 10:17:46 -05:00
Randall Barker
24bbb99c82 Bug 1230674 - part 2, Add overscroll API to Android nsWindow r=snorp 2016-01-27 07:45:31 -08:00
Sebastian Hengst
2f853f6c63 Backed out 5 changesets (bug 1230674) for webgl bustage and crashes. r=backout on a CLOSED TREE
Backed out changeset 07cdcb9b4565 (bug 1230674)
Backed out changeset d21d089c447f (bug 1230674)
Backed out changeset a26de45cdb6a (bug 1230674)
Backed out changeset 59ec0033bd22 (bug 1230674)
Backed out changeset 74a06f6d85e1 (bug 1230674)
2016-01-26 22:40:18 +01:00
Randall Barker
d064785ab0 Bug 1230674 - part 2, Add overscroll API to Android nsWindow r=snorp 2016-01-26 12:02:51 -08:00
Jim Chen
aa61485159 Bug 1238761 - Remove obsolete APZ code; r=rbarker
With APZC supporting multiple nsWindows, this patch removes some
obsolete APZ code, including the previous implementation of
NativePanZoomController native methods in AndroidJNI.cpp, and the
various static members of nsWindow.
2016-01-15 13:05:45 -05:00
Jim Chen
a5464b1a25 Bug 1238761 - Implement NativePanZoomController native methods; r=rbarker
This patch adds the NPZCSupport class to nsWindow and use it to
implement the NPZC native methods that were implemented in
AndroidJNI.cpp. For HandleMotionEvent, the code also includes a portion
from AndroidJavaWrapper::MakeMultitouchEvent.
2016-01-15 13:05:45 -05:00
Jonathan Kew
0d67c18f9e Bug 890156 - patch 0.3 - Create a version of nsIWidget::Create that takes Desktop pixels, because that's what we actually need to pass in some cases. r=mstange 2016-01-13 07:32:55 +00:00
Jim Chen
6032b19e9b Bug 1227706 - Remove unused GLController calls and events; r=snorp
Remove GLController calls and events in GeckoAppShell and GeckoEvent
that were made obsolete by the new native calls.
2015-12-23 22:03:34 -05:00
Jim Chen
7ed136b880 Bug 1227706 - Get rid of compositor singletons in nsWindow; r=snorp
Now that we properly support individual compositors for nsWindows, we
should get rid of the static singletons that held the compositor
objects.
2015-12-23 22:03:34 -05:00
Jim Chen
37c52714f3 Bug 1227706 - Let GeckoView manage GLController instances; r=snorp
GLController instances are associated with a particular nsWindow, rather
than a particular View. Therefore, we need to let GeckoView manage
GLController instances, as part of GeckoView's handling of saving and
restoring states.
2015-12-23 22:03:34 -05:00
Jim Chen
aca6a4eb06 Bug 1227706 - Rename nsWindow::Natives to nsWindow::GeckoViewSupport; r=snorp
GeckoViewSupport better reflects the purpose of the class and will match
the GLControllerSupport class that another patch is adding. This patch
also changes the way GeckoViewSupport is constructed in order to be more
encapsulating.
2015-12-23 22:03:34 -05:00
Jim Chen
45fe3d456a Bug 1227719 - Autogenerate LayerRenderer.Frame; r=snorp
This patch adds auto-generated bindings for LayerRenderer.Frame, and
uses the new bindings in nsWindow, in place of the old manual bindings
in AndroidJavaWrappers.
2015-12-23 22:03:33 -05:00
Nicholas Nethercote
6f043f6b6e Bug 1229237 (part 3) - Make nsIWidget::Invalidate() take a LayoutDeviceIntRect. r=botond. 2015-11-16 21:18:31 -08:00
Nicholas Nethercote
72c03344bc Bug 1229237 (part 2) - Make nsIWidget::DrawWindowUnderlay() take a LayoutDeviceIntRect. r=botond. 2015-11-16 20:34:00 -08:00
Nicholas Nethercote
8da819977a Bug 1229237 (part 1) - Make nsIWidget::{Create,CreateChildren}() take a LayoutDeviceIntRect. r=botond. 2015-11-16 00:35:18 -08:00
Nicholas Nethercote
ce94aae3ae Bug 1225007 (part 1, attempt 3) - Use LayoutDevicePixel more in Cocoa widget code. r=kats. 2015-11-19 14:10:38 +11:00
Phil Ringnalda
040c117af2 Backed out 2 changesets (bug 1225007) for frequent OS X "Shouldn't return empty rect" assertion failures, a=backout
Backed out changeset c5b352c74b35 (bug 1225007)
Backed out changeset 8a513c70ce7c (bug 1225007)
2015-11-19 20:55:26 -08:00
Nicholas Nethercote
5db293bd80 Bug 1225007 (part 1, attempt 2) - Use LayoutDevicePixel more in Cocoa widget code. r=kats. 2015-11-19 14:10:38 +11:00
Nicholas Nethercote
117b39c2e9 Backout 52ba24123046 and 66768d6a50fa (bug 1225007) for causing lots of test assertions on Mac. CLOSED TREE 2015-11-17 17:02:39 -08:00
Nicholas Nethercote
0a8fdd9562 Bug 1225007 (part 1) - Use LayoutDevicePixel more in Cocoa widget code. r=kats. 2015-11-15 21:37:52 -08:00
Nicholas Nethercote
00492f0df0 Bug 1224482 (part 5) - Avoid excessive mozilla:: prefixes in nsIWidget and its subclasses. r=kats.
A couple of typedefs make things a lot nicer.
2015-11-13 01:37:02 -08:00
Nicholas Nethercote
3dfaddf77b Bug 1224482 (part 1) - Tweak typed/untyped versions of Get{,Client,Screen}Bounds(). r=kats.
In nsIWidget, GetBoundsUntyped(), GetClientBoundsUntyped() and
GetScreenBoundsUntyped() are currently the primary implementations, and the
untyped versions are defined on top of them. This patch flips that around.
2015-11-12 16:04:52 -08:00
Kartikaya Gupta
e9378d002a Bug 1223296 - Extract the function that dispatches a MozMouseHittest into a helper. r=rbarker 2015-11-13 15:10:51 -05:00
Nicholas Nethercote
c3c2a5bf71 Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.
2015-11-09 21:37:32 -08:00
Nicholas Nethercote
2459b09f92 Bug 1223310 (part 1) - Pass a LayoutDeviceIntPoint instead of an nsIntPoint to InitEvent(). r=kats.
Also use direct assignment for some LayoutDeviceIntPoint assignments, rather
than doing it field-by-field.
2015-11-09 21:37:32 -08:00
Jim Chen
d918fabdca Bug 1211704 - Convert IME event handler in nsWindow to native calls; r=esawin
Move the IME event handler implementation in nsWindow::OnIMEEvent to
individual native calls in nsWindow::Natives. This patch also moves most
member variables and helper functions related to IME to inside
nsWindow::Natives. This has the benefit of better organization and saves
some memory because only the top-level nsWindow now keeps IME states.

GetIMEComposition and RemoveIMEComposition are kept inside nsWindow
because they are not strictly related to IME events, and they are used
by some other event handlers in nsWindow.
2015-10-22 17:45:47 -04:00
Jim Chen
dc85b37e0b Bug 1210585 - Implement new key event handler in nsWindow; r=esawin
This patch implements a new key event handler in nsWindow to replace the
previous implementation.

nsWindow::HandleSpecialKey was removed because it's a relic from XUL
Fennec and I believe we no longer need it for native Fennec.
2015-10-22 17:45:46 -04:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Jim Chen
615d73741d Bug 1209574 - Move GeckoEditable management to nsWindow; r=esawin
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.
2015-10-08 15:25:49 -04:00
Carsten "Tomcat" Book
bc9700227e Backed out changeset 161f9ab0c5e7 (bug 1209574) for Android Perma Failures 2015-10-08 10:06:19 +02:00
Jim Chen
ee4a7e3b4a Bug 1209574 - Move GeckoEditable management to nsWindow; r=esawin
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.
2015-10-08 01:12:59 -04:00
Wes Kocher
e26872cd09 Backed out 5 changesets (bug 1209574) for android tpn bustage
Backed out changeset fb1f06793a67 (bug 1209574)
Backed out changeset 5f0b32b1acc4 (bug 1209574)
Backed out changeset 657332ea4f59 (bug 1209574)
Backed out changeset 9d2c7ed9cd87 (bug 1209574)
Backed out changeset 8376124b6a0c (bug 1209574)
2015-10-07 09:04:39 -07:00
Jim Chen
2629a2462f Bug 1209574 - Move GeckoEditable management to nsWindow; r=esawin
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.
2015-10-07 08:57:31 -04:00
Nicholas Nethercote
0929981996 Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.
2015-09-23 11:49:05 -07:00
Jim Chen
16e45a0c77 Bug 1197957 - Implement GeckoView.Window.open in nsWindow; r=snorp
nsWindow will implement native methods of GeckoView.Window. This patch
implements the open method, which opens a new window in the same manner
as the CLH, and associates the new nsWindow with the GeckoView.Window
instance.
2015-09-21 10:13:32 -04:00
Kartikaya Gupta
0f261f0245 Bug 1197824 - Add a zoom-constraints-updated message. r=snorp
With this patch the ZoomConstraintsClient updates get broadcast via the observer
service on Android, allowing code in browser.js to switch over to using it.
2015-09-03 10:30:41 -04:00
Xidorn Quan
2c1d13f37a Bug 1196163 part 1 - Use nsSizeMode instead of int32_t for nsIWidget::{SizeMode,SetSizeMode}. r=roc 2015-08-29 11:12:41 +10:00
Nathan Froyd
3d8f91e432 Bug 1194806 - part 2 - mark overrides as such in widget/android/; r=snorp 2015-08-14 22:06:20 -04:00
Masayuki Nakano
8adbe2e819 Bug 1176954 part.5 IMENotification::TextChangeDataBase should have a state which indicates that it's not initialized r=smaug 2015-07-11 10:53:55 +09:00
Masayuki Nakano
e23b883be4 Bug 1176954 part.4 Define IMENotification::TextChangeDataBase and whose member names should be same as IMEContentObserver::TextChangeData's r=smaug 2015-07-11 10:53:55 +09:00
Robert O'Callahan
a33364b916 Bug 1143575. Android's screenshotting code should invalidate the LayerManagerComposite to ensure composition will actually happen. r=nical
There is some ambiguity about whether ScheduleComposite will necessarily
trigger a composite all the way to nsWindow::DrawWindowUnderlay. Android
robocop tests assume it will, because they rely on DrawWindowOverlay
being called so they can take a screenshot and make progress,
but this is a very fragile assumption. They also rely on the entire
window being painted, which is also a fragile assumption.

This patch improves the situation by explicitly invalidating the current
window area when Android Java code needs to trigger a composite. This avoids
regressions from future patches in this series which make composition bail
out when there is nothing invalid.

The resulting setup is still a bit fragile for my taste but I'm not sure
what the ideal solution would be.
2015-06-12 03:20:04 +12:00
James Willcox
bbbabcb0f6 Bug 1178365 - Fix DOM fullscreen support on Android r=blassey,xidorn 2015-07-06 10:21:17 -05:00
Jim Chen
aea5a0e39a Bug 1112212 - Implement dummy-key-events mode for Android; r=esawin 2015-06-16 19:02:39 -04:00
Carsten "Tomcat" Book
ab43584425 merge fx-team to mozilla-central a=merge 2015-04-27 12:34:03 +02:00