22 Commits

Author SHA1 Message Date
Carlos Pizano
ab23715a6f Add buttons to WebInputEvent
So we can tell l-click from r-click.

BUG=none
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1192023002.
2015-06-17 19:46:30 -07:00
Scott Violet
bb67d0a822 Plumbs through android supplying multipe touch points
Makes sky and conversions honor pointer values correctly.

R=abarth@chromium.org, erg@chromium.org, qsr@chromium.org

Review URL: https://codereview.chromium.org/1029753002
2015-03-24 09:13:10 -07:00
Scott Violet
e39bb038c0 Cleans up events to just the parts we're actually using
Also unifies mouse and touch into a single event type.

R=abarth@chromium.org, erg@chromium.org

Review URL: https://codereview.chromium.org/1033513003
2015-03-23 14:33:21 -07:00
Adam Barth
e55e0605e6 Share sky::PlatformImpl bettween sky_viewer and SkyShell
This should let SkyShell load images.

R=eseidel@chromium.org
BUG=https://github.com/domokit/mojo/issues/52

Review URL: https://codereview.chromium.org/959773005
2015-02-25 14:26:53 -08:00
Adam Barth
bc9b3e319e Fix subtle bugs in sky-scrollable
Previously the scrollbar wasn't constrained to the scrollable element and we
had messed up the math on the fling curve.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/947303003
2015-02-23 14:20:52 -08:00
Adam Barth
05137682c6 Don't spam the log for gesture events
We don't convert all the gesture events to WebInputEvents. We don't need to
spam the log about it.

R=ojan@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/877733004
2015-01-29 22:07:39 -08:00
Adam Barth
60ede21534 Add fling support to sky-drawer
For some reason, the fling looks correct when we don't divide by the device
pixel ratio when converting from mojo::Event to blink::WebInputEvent. Maybe the
gesture detector is confused somehow about physical / logical pixels?

R=eseidel@chromium.org, esprehn@chromium.org

Review URL: https://codereview.chromium.org/885213002
2015-01-29 22:07:13 -08:00
Adam Barth
c3fc9e9663 Add wheel support to sky-scrollable
This CL plumbs wheel events through Sky again and uses them in sky-scrollable.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/876853005
2015-01-27 09:58:22 -08:00
Adam Barth
d05380e397 sky-scrollable should use a reasonable fling curve
This CL uses the aura fling curve to ease flings. Also, I've made Event#timeStamp
use consistent units and timebase with the requestAnimationFrame timestamp. Now
both are doubles of milliseconds since the epoch.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/880473003
2015-01-26 17:34:28 -08:00
Adam Barth
7ded81cc4f Add a basic sky-scrollable element that scrolls
We still need to polish sky-scrollable, but it basically works.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/875953004
2015-01-26 13:29:38 -08:00
Adam Barth
5e68175437 Fix ASSERT in Sky when dragging outside the window on linux
We don't seem to receive mojo::EVENT_TYPE_MOUSE_EXITED when the mouse exits our
mojo::View. We should find out if that's a bug with the Mojo event system, but
for now this CL adds a fake cancel event the next time the mouse goes down to
at least keep the state machine on the right track.

BUG=https://github.com/domokit/mojo/issues/40
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/879543004
2015-01-26 10:53:51 -08:00
Adam Barth
3ddae5ea36 Switch KeyboardEvents over to NewEventHandler
This CL moves KeyboardEvents from the old event model to NewEventHandler. This
CL keeps the basic structure of keydown, keypress, keyup events even though
that's a bit wacky. As with pointer and gesture events, this CL removes
PlatformKeyboardEvent in favor of just using WebKeyboardEvent. I've also made
WebKeyboardEvent align more closely with Mojo's keyboard event.

The CL does change one important aspect of key event handling: on the web the
"keyCode" property of KeyboardEvent changes its meaning depending on whether
the event is a keydown or a keypress event. For the former events, keyCode is
the "virtual" (i.e., windows) key code where for the latter events, keyCode is
the character code. To be more precise, I've renamed keyCode to virtualKeyCode
and I've given it a zero (unknown key code) value during keypress events.

R=ojan@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/872233002
2015-01-25 22:46:50 -08:00
Adam Barth
d7daaf4c7d Remove mouse events from Sky
We use pointer events now.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/870073003
2015-01-23 12:16:09 -08:00
Adam Barth
b361c4b6c3 Switch Sky to pointer events
This CL switches Sky to a pointer events model that unifies mouse and touch
with a common event model. This implementation is just enough to make the
example widgets work. The rest of the design is in the specs, which we hope to
converge with over time.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/866213004
2015-01-23 09:38:45 -08:00
Adam Barth
e4ade99b70 Move WebInputEvent from public/web to public/platform
Moving WebInputEvent into public/platform lets us refer to it directly in core, which will let us remove the PlatformFooEvent classes.

The final pipeline will be:
1) mojo::InputEvent (IPC type, device pixels)
2) blink::WebInputEvent (platform abstraction, logical pixels)
3) blink::Event (DOM type, logical pixels)

If mojo::InputEvent used logical pixels, it would probably be easier to just
use mojo::InputEvent as the platform abstraction, but instead we use the
mojo-to-blink conversion to translate between device and logical pixels, like
we do everywhere else in Sky.

R=eseidel@google.com, eseidel@chromium.org

Review URL: https://codereview.chromium.org/860593003
2015-01-19 18:39:39 -08:00
Adam Barth
0545f369f0 Populate details of Mojo gesture events
We compute these details in the gesture recognizer, but previously we weren't
including this information in the actual mojo::Event. This CL also decodes this
information into WebInputEvents for Sky.

R=erg@chromium.org

Review URL: https://codereview.chromium.org/788953007
2015-01-16 11:04:04 -08:00
Adam Barth
1dee21f363 Sky events should be in dips rather than ddpxs
Mojo events are in physical pixels but Sky works in logical pixels. This CL
changes the code that converts from Mojo events to Sky events to scale by the
device_pixel ratio.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/854603004
2015-01-14 13:50:01 -08:00
Adam Barth
45f59e29a6 Convert mojo gesture events into WebGestureEvents
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/850823003
2015-01-13 15:23:15 -08:00
Adam Barth
d072eba5a4 Add support for touch events to sky_viewer
This CL adds conversion routines for touch events to sky_viewer so that Mojo
touch events actually show up in the platform.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/847873003
2015-01-12 15:18:16 -08:00
Colin Blundell
ac99b9896f Restructure public side of input_events service.
This CL goes from this:
  //mojo/services/public/interfaces/input_events

to this:
  //mojo/services/input_events/public/interfaces

This CL also makes the Mojo-side changes necessary to roll this change into
Chromium.

TBR=beng

Review URL: https://codereview.chromium.org/788353002
2014-12-10 22:50:57 +01:00
Colin Blundell
a450ba1353 Restructure public side of network service.
This CL goes from this:
  //mojo/services/public/cpp/network
  //mojo/services/public/interfaces/network

to this:
  //mojo/services/network/public/cpp
  //mojo/services/network/public/interfaces

This CL also makes the Mojo-side changes required to roll this change into
Chromium.

TBR=beng

Review URL: https://codereview.chromium.org/789243002
2014-12-10 16:28:40 +01:00
Adam Barth
ae72930937 Open the Sky 2014-10-23 11:17:19 -07:00