Bug 39757 - Add TransformActionEvent support
Summary: Add TransformActionEvent support
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC All
: P2 Normal
Assignee: Kim Grönholm
URL:
Keywords:
Depends on: 40329 40123 40125 40232
Blocks: 39979
  Show dependency treegraph
 
Reported: 2010-05-26 12:54 PDT by Kim Grönholm
Modified: 2013-06-24 06:55 PDT (History)
9 users (show)

See Also:


Attachments
Adds TransformActionEvent interfaces (29.66 KB, patch)
2010-05-26 13:53 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff
Updated patch (32.74 KB, patch)
2010-05-26 22:36 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff
Manual TransformActionEvent test (1.74 KB, text/html)
2010-05-27 05:13 PDT, Kim Grönholm
no flags Details
Enables generating TransformAction events from touch gestures (28.22 KB, patch)
2010-05-27 05:52 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff
TransformActionEvent patch #3 (36.55 KB, patch)
2010-05-27 23:02 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff
TransformActionEvent patch #4 (36.49 KB, patch)
2010-05-31 19:47 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff
TransformActionEvent patch #5 (36.48 KB, patch)
2010-06-03 01:32 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff
TransformActionEvent patch #6 (41.49 KB, patch)
2010-06-16 14:11 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff
TransformActionEvent patch #7 (42.40 KB, patch)
2010-06-20 22:47 PDT, Kim Grönholm
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kim Grönholm 2010-05-26 12:54:49 PDT
The TransformAction events enable direct manipulation of a DOM element. Typically these events are generated as the user does an action or gesture such as "pan", "zoom", or "rotate" requesting transformation of a visual element. As the gestures and actions to transform a visual element vary from device to device, this proposal abstracts them out and provides interface to the actual action the end user is attempting to do.

A draft of the proposal can be found from: http://portaali.org/~ilkkao/w3c/manipulate/Transformaction.html
Comment 1 Kim Grönholm 2010-05-26 13:53:39 PDT
Created attachment 57130 [details]
Adds TransformActionEvent interfaces

Added only the necessary TransformAction event interfaces and not 
e.g. any eventhandler hooks that generate and dispatch them.

I will later add another patch that enables generating these events
from multi-touch gestures. This separation is done to make
reviewing easier.
Comment 2 WebKit Review Bot 2010-05-26 14:32:30 PDT
Attachment 57130 [details] did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/2525049
Comment 3 WebKit Review Bot 2010-05-26 16:09:23 PDT
Attachment 57130 [details] did not build on win:
Build output: http://webkit-commit-queue.appspot.com/results/2551003
Comment 4 Kim Grönholm 2010-05-26 22:36:12 PDT
Created attachment 57194 [details]
Updated patch

Missed some V8 bindings etc. Added updated patch.
Comment 5 Kim Grönholm 2010-05-27 05:13:27 PDT
Created attachment 57226 [details]
Manual TransformActionEvent test

Uploading a manual test case for TransformAction events.
Comment 6 Kim Grönholm 2010-05-27 05:52:50 PDT
Created attachment 57229 [details]
Enables generating TransformAction events from touch gestures

This patch enables transformaction events to be generated from touch 
gestures by adding gesture handling machinery and eventhandler hooks.
Comment 7 Ben Murdoch 2010-05-27 05:58:31 PDT
Hi Kim,

I think that the second patch should be in a separate bug that is blocked by this one to make reviews easier. What do you think?

Thanks, Ben
Comment 8 Ben Murdoch 2010-05-27 07:18:49 PDT
Comment on attachment 57194 [details]
Updated patch

Looks like a good start! I'm not a reviewer but some comments after trying the first patch on Android:

WebCore/dom/Document.idl:313
 +          attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionstart;
If you want to make this a runtime enabled feature then you also need to add methods to the RuntimeEnabledFeatures class
in WebCore/bindings/generic/RuntimeEnabledFeatures.h|cpp - see how touch does it for an example.
I think as the feature is protected by a compile time guard it is safe to default the runtime flag to true.

And a few whitespace nits that my patch tool complained about:

WebCore/dom/TransformActionEvent.cpp:49
 +      int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, 
Trailing whitespace

WebCore/dom/TransformActionEvent.cpp:51
 +      int translateSpeedX, int translateSpeedY, float scale, float scaleSpeed, 
Trailing whitespace

WebCore/dom/TransformActionEvent.h:35
 +      static PassRefPtr<TransformActionEvent> create(const AtomicString& type, 
Trailing whitespace

WebCore/dom/TransformActionEvent.h:36
 +          bool canBubble, bool cancelable, PassRefPtr<AbstractView> view, 
Trailing whitespace

WebCore/dom/TransformActionEvent.h:43
 +              view, screenX, screenY, pageX, pageY, ctrlKey, altKey, shiftKey, 
Trailing whitespace

Would you also mind adding the new files to the Android makefiles? TransformActionEvent.cpp should go in
WebCore/Android.mk and the idl should go into WebCore/Android.derived.v8bindings.mk and
WebCore/Android.derived.jscbindings.mk.

Thanks!
Comment 9 Kim Grönholm 2010-05-27 23:02:45 PDT
Created attachment 57294 [details]
TransformActionEvent patch #3

Thanks Ben!

I made the changes that you requested and added the new files to the Android makefiles.

Hopefully you have time to test these more and enable support for the event also in the Android port.
At least with QtWebKit on Win7 multi-touch laptop the event and the test page work fine! :)
Comment 10 Kim Grönholm 2010-05-31 19:47:49 PDT
Created attachment 57509 [details]
TransformActionEvent patch #4

Changed my e-mail address in the Changelogs to my new Nokia e-mail address.
Obsoleted also the touch gestures patch as I'm going to create a separate bug for that.
Comment 11 Simon Hausmann 2010-06-01 00:25:24 PDT
Comment on attachment 57509 [details]
TransformActionEvent patch #4

r=me

Landing this may require adjusting LayoutTests/platform/chromium/test_expectations.txt

This is work in progress and we must make sure in our communication that the interface is going to change in the future.
Comment 12 Ben Murdoch 2010-06-01 11:51:22 PDT
Latest patch LGTM as far as Android goes! I'll try to take a look at the other bug/patch tomorrow.

Cheers, Ben
Comment 13 Kim Grönholm 2010-06-03 01:32:41 PDT
Created attachment 57744 [details]
TransformActionEvent patch #5

Rebased the patch.
Comment 14 WebKit Review Bot 2010-06-03 02:40:53 PDT
http://trac.webkit.org/changeset/60614 might have broken Qt Linux Release
Comment 15 Simon Hausmann 2010-06-03 03:00:09 PDT
Committed r60614: <http://trac.webkit.org/changeset/60614>
Comment 16 Simon Hausmann 2010-06-03 03:00:48 PDT
Committed r60615: <http://trac.webkit.org/changeset/60615>
Comment 17 Simon Hausmann 2010-06-03 03:23:00 PDT
Committed r60617: <http://trac.webkit.org/changeset/60617>
Comment 19 Csaba Osztrogonác 2010-06-03 09:50:17 PDT
It is a very-very strange bug, because I can't reopen it as other bugs.
I can only choose RESOLVED/UNCONFIRMED/VERIED/CLOSED. :o
Comment 20 Kim Grönholm 2010-06-07 06:21:47 PDT
The failing test is due to a separate bug which this patch revealed. The bug is being tracked here: https://bugs.webkit.org/show_bug.cgi?id=40232
Comment 21 Kim Grönholm 2010-06-16 14:11:52 PDT
Created attachment 58935 [details]
 TransformActionEvent patch #6

Rebased and added the necessary expected results to qt tests.
Comment 22 WebKit Review Bot 2010-06-16 15:05:23 PDT
Attachment 58935 [details] did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3282236
Comment 23 Kim Grönholm 2010-06-16 22:34:47 PDT
Could you Ben take a look at what is wrong? To me it looks like the patch is effectively identical to the previous ones that didn't break the chromium build. Has something changed somewhere?
Comment 24 Ben Murdoch 2010-06-17 12:03:44 PDT
(In reply to comment #23)
> Could you Ben take a look at what is wrong? To me it looks like the patch is effectively identical to the previous ones that didn't break the chromium build. Has something changed somewhere?

Hmm, looks to me like the EWS bot didn't regenerate the makefile for the derived bindings to add in the new TransformAction.idl...

Eric, Dimitri, what do you think? Is it possible to get the EWS to try again and force it to do a clean build?
Comment 25 Kim Grönholm 2010-06-20 22:47:20 PDT
Created attachment 59229 [details]
TransformActionEvent patch #7

Modified the patch so that it changes the expected result of LayoutTests/fast/dom/Window/window-postmessage-clone.html
so that it doesn't fail due to a separate bug. See: https://bugs.webkit.org/show_bug.cgi?id=40329
Comment 26 WebKit Review Bot 2010-06-20 23:29:52 PDT
Attachment 59229 [details] did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3334508
Comment 27 Simon Hausmann 2010-07-30 05:56:51 PDT
Comment on attachment 59229 [details]
TransformActionEvent patch #7

Postponing the review until we have more progress on the standardization side.
Comment 28 Simon Hausmann 2010-07-30 05:58:05 PDT
Re-opening as it's not landed.
Comment 29 Eric Seidel (no email) 2010-08-04 10:25:14 PDT
Comment on attachment 57509 [details]
TransformActionEvent patch #4

Cleared Simon Hausmann's review+ from obsolete attachment 57509 [details] so that this bug does not appear in http://webkit.org/pending-commit.
Comment 30 Eric Seidel (no email) 2010-08-04 10:25:19 PDT
Comment on attachment 57744 [details]
TransformActionEvent patch #5

Cleared Simon Hausmann's review+ from obsolete attachment 57744 [details] so that this bug does not appear in http://webkit.org/pending-commit.
Comment 31 Ademar Reis 2011-01-13 12:05:30 PST
This patch was applied to QtWebKit-2.1 but now it has been reverted.

Nobody is requiring this anymore, so we'll wait for it be standardized and get into trunk first.
Comment 32 Simon Hausmann 2012-02-23 01:53:11 PST
This development is not active anymore.