Bug 101501 - [chromium] Move to USE(LAZY_NATIVE_CURSOR)
Summary: [chromium] Move to USE(LAZY_NATIVE_CURSOR)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Rick Byers
URL:
Keywords:
Depends on: 100550
Blocks: 100059
  Show dependency treegraph
 
Reported: 2012-11-07 12:28 PST by Rick Byers
Modified: 2012-11-09 21:13 PST (History)
10 users (show)

See Also:


Attachments
Patch (27.10 KB, patch)
2012-11-08 08:09 PST, Rick Byers
no flags Details | Formatted Diff | Diff
Combined with fix for 100550 for EWS (52.12 KB, patch)
2012-11-08 19:15 PST, Rick Byers
no flags Details | Formatted Diff | Diff
Merge with ToT (28.35 KB, patch)
2012-11-09 14:44 PST, Rick Byers
no flags Details | Formatted Diff | Diff
Combined with fix for 100550 for EWS (48.99 KB, patch)
2012-11-09 14:45 PST, Rick Byers
no flags Details | Formatted Diff | Diff
Patch for landing (27.70 KB, patch)
2012-11-09 20:03 PST, Rick Byers
no flags Details | Formatted Diff | Diff
Fix bad merge - actually re-enable the test in chromium (28.54 KB, patch)
2012-11-09 20:37 PST, Rick Byers
no flags Details | Formatted Diff | Diff
Patch for landing (28.54 KB, patch)
2012-11-09 20:38 PST, Rick Byers
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rick Byers 2012-11-07 12:28:18 PST
The 'Cursor' type is an opaque object except on ports that have USE(LAZY_NATIVE_CURSOR).  It looks like most/all ports other than chromium use this.  On chromium it would make the Cursor object redundant with PlatformCursor (since they'd both just be a container for the values due to chromium's multi-process architecture - we don't manipulate real OS cursors from the renderer process), so doesn't necessarily add value.  However it looks like it would have testability benefits to unify testing across ports.

I'm going to try enabling this on chromium, and then we can decide if it's worthwhile.
Comment 1 Rick Byers 2012-11-08 08:09:47 PST
Created attachment 173047 [details]
Patch
Comment 2 Rick Byers 2012-11-08 08:15:46 PST
This actually turned out very nicely.  We can simplify things by removing PlatformCursor on chromium entirely - USE(LAZY_NATIVE_CURSOR) gives us effectively the same thing but in a simple fashion that is unified with most other ports: a copy of the cursor information that will eventually be used to construct a real OS cursor (but in Chromium's case this isn't done until the data is passed to the browser process). 

However I believe this has the side effective of changing at least some cursor behavior, in particular fixing bug 100059.  So I don't think we should make this change until there are tests in place.  I'll work on landing bug 100550 for the other ports that already have USE(LAZY_NATIVE_CURSOR) first.
Comment 3 Adam Barth 2012-11-08 10:34:21 PST
Comment on attachment 173047 [details]
Patch

Looks great!
Comment 4 Rick Byers 2012-11-08 19:15:45 PST
Created attachment 173176 [details]
Combined with fix for 100550 for EWS
Comment 5 Early Warning System Bot 2012-11-08 19:24:21 PST
Comment on attachment 173176 [details]
Combined with fix for 100550 for EWS

Attachment 173176 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14771465
Comment 6 Early Warning System Bot 2012-11-08 19:25:07 PST
Comment on attachment 173176 [details]
Combined with fix for 100550 for EWS

Attachment 173176 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14775347
Comment 7 Build Bot 2012-11-08 19:51:03 PST
Comment on attachment 173176 [details]
Combined with fix for 100550 for EWS

Attachment 173176 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/14779175
Comment 8 Build Bot 2012-11-08 20:22:21 PST
Comment on attachment 173176 [details]
Combined with fix for 100550 for EWS

Attachment 173176 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14763871
Comment 9 kov's GTK+ EWS bot 2012-11-08 21:28:57 PST
Comment on attachment 173176 [details]
Combined with fix for 100550 for EWS

Attachment 173176 [details] did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/14780102
Comment 10 Rick Byers 2012-11-09 14:44:32 PST
Created attachment 173375 [details]
Merge with ToT
Comment 11 Rick Byers 2012-11-09 14:45:41 PST
Created attachment 173376 [details]
Combined with fix for 100550 for EWS
Comment 12 Adam Barth 2012-11-09 14:58:24 PST
Comment on attachment 173375 [details]
Merge with ToT

This looks great.
Comment 13 WebKit Review Bot 2012-11-09 18:07:25 PST
Comment on attachment 173376 [details]
Combined with fix for 100550 for EWS

Attachment 173376 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14790306
Comment 14 Rick Byers 2012-11-09 20:03:14 PST
Created attachment 173425 [details]
Patch for landing
Comment 15 Rick Byers 2012-11-09 20:37:11 PST
Created attachment 173429 [details]
Fix bad merge - actually re-enable the test in chromium
Comment 16 Rick Byers 2012-11-09 20:38:01 PST
Created attachment 173430 [details]
Patch for landing
Comment 17 WebKit Review Bot 2012-11-09 21:13:25 PST
Comment on attachment 173430 [details]
Patch for landing

Clearing flags on attachment: 173430

Committed r134149: <http://trac.webkit.org/changeset/134149>
Comment 18 WebKit Review Bot 2012-11-09 21:13:30 PST
All reviewed patches have been landed.  Closing bug.