Bug 121559 - Make "autoscroll for drag'n" drop a setting
Summary: Make "autoscroll for drag'n" drop a setting
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Antonio Gomes
URL:
Keywords:
Depends on:
Blocks: 40981
  Show dependency treegraph
 
Reported: 2013-09-18 09:40 PDT by Antonio Gomes
Modified: 2013-09-20 06:32 PDT (History)
4 users (show)

See Also:


Attachments
patch (9.75 KB, patch)
2013-09-18 09:56 PDT, Antonio Gomes
no flags Details | Formatted Diff | Diff
patch (9.70 KB, patch)
2013-09-18 10:11 PDT, Antonio Gomes
no flags Details | Formatted Diff | Diff
patch (9.70 KB, patch)
2013-09-18 12:27 PDT, Antonio Gomes
rniwa: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Gomes 2013-09-18 09:40:56 PDT
That way it can be testable/toggled via Internals::Settings from Layout tests, and tested independently from a specific port decision about enabling it or not.
Comment 1 Antonio Gomes 2013-09-18 09:56:14 PDT
Created attachment 212001 [details]
patch
Comment 2 Antonio Gomes 2013-09-18 10:11:35 PDT
Created attachment 212002 [details]
patch
Comment 3 WebKit Commit Bot 2013-09-18 10:12:51 PDT
Attachment 212002 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast/events/drag-and-drop-autoscroll.html', u'Source/WebCore/ChangeLog', u'Source/WebCore/page/AutoscrollController.cpp', u'Source/WebCore/page/ChromeClient.h', u'Source/WebCore/page/Settings.in', u'Source/WebCore/testing/InternalSettings.cpp', u'Source/WebCore/testing/InternalSettings.h', u'Source/WebCore/testing/InternalSettings.idl']" exit_code: 1
Source/WebCore/page/AutoscrollController.cpp:38:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Antonio Gomes 2013-09-18 12:27:20 PDT
Created attachment 212013 [details]
patch
Comment 5 Antonio Gomes 2013-09-18 12:29:41 PDT
(In reply to comment #4)
> Created an attachment (id=212013) [details]
> patch

QtWebKit and WebKitGtk+ are interested in this feature (see https://bugs.webkit.org/show_bug.cgi?id=40981#c12 ), but Apple's Mac port has the best DRT/WTR drag'n drop support.

This patch makes the feature more easily testable by ports without necessarily enabling it for their products.

Please review.
Comment 6 Allan Sandfeld Jensen 2013-09-19 10:14:02 PDT
Anyone have any idea what kind of heuristics Chromium could be using to guess the settings on RenderBox level?
Comment 7 Antonio Gomes 2013-09-19 10:46:51 PDT
(In reply to comment #6)
> Anyone have any idea what kind of heuristics Chromium could be using to guess the settings on RenderBox level?

Yes. Chromium used no heuristic. Basically chromium was returning 'true' unconditionally.

See the commit that removed this ChromeClient hook in Blink:


____
commit 0599e64dc309c94902f9d5b5de245dc6f2016ea1
Author: adamk@chromium.org <adamk@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>
Date:   Tue Apr 30 19:00:03 2013 +0000

    Remove ChromeClient cruft
    
    Many ChromeClientImpl overrides simply return true, false, or do
    nothing. This patch plumbs that information back up to WebCore and
    thus simplifies a bunch of code.

Review URL: https://codereview.chromium.org/13851023
Comment 8 Antonio Gomes 2013-09-20 06:32:57 PDT
Fixed by http://trac.webkit.org/changeset/156158