Bug 117367 - IndieUI: Add basic IndieUI infrastructure
Summary: IndieUI: Add basic IndieUI infrastructure
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: chris fleizach
URL:
Keywords:
Depends on:
Blocks: 111446
  Show dependency treegraph
 
Reported: 2013-06-07 18:10 PDT by chris fleizach
Modified: 2013-06-21 01:56 PDT (History)
17 users (show)

See Also:


Attachments
patch (41.13 KB, patch)
2013-06-10 17:50 PDT, chris fleizach
no flags Details | Formatted Diff | Diff
patch (40.31 KB, patch)
2013-06-10 18:02 PDT, chris fleizach
no flags Details | Formatted Diff | Diff
patch to address feedback (40.96 KB, patch)
2013-06-18 17:34 PDT, chris fleizach
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion (551.67 KB, application/zip)
2013-06-18 19:06 PDT, Build Bot
no flags Details
Archive of layout-test-results from APPLE-EWS-3 for win-future (808.66 KB, application/zip)
2013-06-19 01:23 PDT, Build Bot
no flags Details
Archive of layout-test-results from APPLE-EWS-4 for win-future (802.68 KB, application/zip)
2013-06-19 02:39 PDT, Build Bot
no flags Details
patch (44.89 KB, patch)
2013-06-19 08:07 PDT, chris fleizach
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion (522.10 KB, application/zip)
2013-06-19 17:00 PDT, Build Bot
no flags Details
patch (45.04 KB, patch)
2013-06-19 17:19 PDT, chris fleizach
rniwa: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from APPLE-EWS-5 for win-future (807.77 KB, application/zip)
2013-06-20 09:56 PDT, Build Bot
no flags Details
Archive of layout-test-results from APPLE-EWS-1 for win-future (807.88 KB, application/zip)
2013-06-20 11:04 PDT, Build Bot
no flags Details
Archive of layout-test-results from APPLE-EWS-3 for win-future (874.99 KB, application/zip)
2013-06-20 12:15 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description chris fleizach 2013-06-07 18:10:58 PDT
Add in the basic infrastructure for this feature
   The right defines
    UIRequestEvent (the base Event class)
    A layout test or two
Comment 1 chris fleizach 2013-06-10 17:50:51 PDT
Created attachment 204266 [details]
patch
Comment 2 WebKit Commit Bot 2013-06-10 17:53:47 PDT
Attachment 204266 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/indieui/create-uirequestevent-expected.txt', u'LayoutTests/indieui/create-uirequestevent.html', u'LayoutTests/indieui/uiactions-expected.txt', u'LayoutTests/indieui/uiactions.html', u'LayoutTests/platform/efl/TestExpectations', u'LayoutTests/platform/gtk/TestExpectations', u'LayoutTests/platform/mac/TestExpectations', u'LayoutTests/platform/qt/TestExpectations', u'Source/WebCore/CMakeLists.txt', u'Source/WebCore/ChangeLog', u'Source/WebCore/Configurations/FeatureDefines.xcconfig', u'Source/WebCore/DerivedSources.make', u'Source/WebCore/GNUmakefile.am', u'Source/WebCore/Modules/indieui/UIRequestEvent.cpp', u'Source/WebCore/Modules/indieui/UIRequestEvent.h', u'Source/WebCore/Modules/indieui/UIRequestEvent.idl', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/dom/Element.cpp', u'Source/WebCore/dom/Element.h', u'Source/WebCore/dom/Element.idl', u'Source/WebCore/dom/ElementRareData.h', u'Source/WebCore/dom/EventNames.in', u'Source/WebCore/dom/Node.cpp', u'Source/WebCore/dom/Node.h', u'Source/WebCore/html/HTMLAttributeNames.in']" exit_code: 1
Source/WebCore/Modules/indieui/UIRequestEvent.h:46:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/Modules/indieui/UIRequestEvent.h:56:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/Modules/indieui/UIRequestEvent.cpp:53:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/Modules/indieui/UIRequestEvent.cpp:65:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 4 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 chris fleizach 2013-06-10 18:02:08 PDT
Created attachment 204269 [details]
patch
Comment 4 chris fleizach 2013-06-10 18:58:52 PDT
Adding Tim to help with review
Comment 5 Tim Horton 2013-06-17 16:59:24 PDT
Comment on attachment 204269 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=204269&action=review

> Source/WebCore/ChangeLog:8
> +        Add basic support by adding the UIRequestEvent, uiactions attribute and 

Should there be an “and” here? And what are you adding the uiactions attribute to? And maybe a period?

> Source/WebCore/ChangeLog:10
> +

Some basic explanation of what IndieUI is might be nice here. Also, was there a webkit-dev email? I can’t find one.

> Source/WebCore/Configurations/FeatureDefines.xcconfig:100
> +ENABLE_INDIE_UI = ;

Should this be enabled, since we’re trying to keep all features on in ToT and allow ports to disable them on branches? Or is it not far enough along for that yet?

> Source/WebCore/Modules/indieui/UIRequestEvent.cpp:39
> +    bubbles = true;
> +    cancelable = true;

Why aren’t these in the initializer list as well?

> Source/WebCore/dom/Element.h:621
> +    void setuiactions(const AtomicString&);
> +    const AtomicString& uiactions() const;

Is there a reason these have bizarre and unusual capitalization? Should you use ImplementedAs so they don’t have to? (or, actually, it sort of looks like it might “just work” if you use the good capitalization here and the “bad” one in the IDL? I see other instances of that.) Why do they have the bizarre capitalization in the IDL too?

> Source/WebCore/dom/ElementRareData.h:75
> +    void setuiactions(const AtomicString&);
> +    AtomicString& uiactions() const;

Continuing with the capitalization. Maybe there’s something important I’m missing.
Comment 6 chris fleizach 2013-06-17 17:42:31 PDT
(In reply to comment #5)
> (From update of attachment 204269 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=204269&action=review
> 
> > Source/WebCore/ChangeLog:8
> > +        Add basic support by adding the UIRequestEvent, uiactions attribute and 
> 
> Should there be an “and” here? And what are you adding the uiactions attribute to? And maybe a period?

Sure

> 
> > Source/WebCore/ChangeLog:10
> > +
> 
> Some basic explanation of what IndieUI is might be nice here. Also, was there a webkit-dev email? I can’t find one.

Will do. 
Here's the announcement
https://lists.webkit.org/pipermail/webkit-dev/2013-March/024044.html

> 
> > Source/WebCore/Configurations/FeatureDefines.xcconfig:100
> > +ENABLE_INDIE_UI = ;
> 
> Should this be enabled, since we’re trying to keep all features on in ToT and allow ports to disable them on branches? Or is it not far enough along for that yet?

I was going to wait until I had a few basic events implemented (value change and dismiss request) but I'm also OK enabling now as well. That will improve test coverage

> 
> > Source/WebCore/Modules/indieui/UIRequestEvent.cpp:39
> > +    bubbles = true;
> > +    cancelable = true;
> 
> Why aren’t these in the initializer list as well?

I look into it. Those are inherited so I might have had compile trouble

> 
> > Source/WebCore/dom/Element.h:621
> > +    void setuiactions(const AtomicString&);
> > +    const AtomicString& uiactions() const;
> 
> Is there a reason these have bizarre and unusual capitalization? Should you use ImplementedAs so they don’t have to? (or, actually, it sort of looks like it might “just work” if you use the good capitalization here and the “bad” one in the IDL? I see other instances of that.) Why do they have the bizarre capitalization in the IDL too?

The attribute is not supposed to have any capitalization (element.uiactions = "asdf") - I can look into using ImplementedAs to have better capitalization internally.

Would you expect to set
setUIActions()
UIAction()

> 
> > Source/WebCore/dom/ElementRareData.h:75
> > +    void setuiactions(const AtomicString&);
> > +    AtomicString& uiactions() const;
> 
> Continuing with the capitalization. Maybe there’s something important I’m missing.
Comment 7 Tim Horton 2013-06-17 18:26:21 PDT
(In reply to comment #6)
> > > Source/WebCore/ChangeLog:10
> > > +
> > 
> > Some basic explanation of what IndieUI is might be nice here. Also, was there a webkit-dev email? I can’t find one.
> 
> Will do. 
> Here's the announcement
> https://lists.webkit.org/pipermail/webkit-dev/2013-March/024044.html

Aha. Excellent.

> > > Source/WebCore/dom/Element.h:621
> > > +    void setuiactions(const AtomicString&);
> > > +    const AtomicString& uiactions() const;
> > 
> > Is there a reason these have bizarre and unusual capitalization? Should you use ImplementedAs so they don’t have to? (or, actually, it sort of looks like it might “just work” if you use the good capitalization here and the “bad” one in the IDL? I see other instances of that.) Why do they have the bizarre capitalization in the IDL too?
> 
> The attribute is not supposed to have any capitalization (element.uiactions = "asdf") - I can look into using ImplementedAs to have better capitalization internally.
> 
> Would you expect to set
> setUIActions()
> UIAction()

Yep.

I’m not sure implementedas is the way to go, though. Other properties don’t seem to do that (except for prefixing, which is what it’s really for). Maybe this stuff is case insensitive? Bug someone who knows about bindings :)
Comment 8 chris fleizach 2013-06-18 17:34:50 PDT
Created attachment 204959 [details]
patch to address feedback
Comment 9 Build Bot 2013-06-18 19:06:28 PDT
Comment on attachment 204959 [details]
patch to address feedback

Attachment 204959 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/923411

New failing tests:
fast/js/global-constructors-attributes.html
fast/js/dom-static-property-for-in-iteration.html
Comment 10 Build Bot 2013-06-18 19:06:33 PDT
Created attachment 204962 [details]
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-08  Port: mac-mountainlion  Platform: Mac OS X 10.8.3
Comment 11 Ryosuke Niwa 2013-06-18 19:10:10 PDT
Comment on attachment 204959 [details]
patch to address feedback

View in context: https://bugs.webkit.org/attachment.cgi?id=204959&action=review

> Source/WebCore/ChangeLog:10
> +        IndieUI is a new W3C spec that aims to abstract the connection between input and action, so that
> +        a user (possibly using assistive technologies like a screen reader) does not need a specific kind
> +        of device (like a mouse) to interact with an object.

Where this feature defined? Could you add a URL to the specification?
Also, we should probably announce this feature on webkit-dev.

> Source/WebCore/Modules/indieui/UIRequestEvent.cpp:40
> +    // Member variables of the super class can't be initialized in the initializer list, hence they're set here.
> +    bubbles = true;
> +    cancelable = true;

Can't we add a new constructor in UIEvent instead?
Comment 12 Ryosuke Niwa 2013-06-18 19:10:11 PDT
Comment on attachment 204959 [details]
patch to address feedback

View in context: https://bugs.webkit.org/attachment.cgi?id=204959&action=review

> Source/WebCore/ChangeLog:10
> +        IndieUI is a new W3C spec that aims to abstract the connection between input and action, so that
> +        a user (possibly using assistive technologies like a screen reader) does not need a specific kind
> +        of device (like a mouse) to interact with an object.

Where this feature defined? Could you add a URL to the specification?
Also, we should probably announce this feature on webkit-dev.

> Source/WebCore/Modules/indieui/UIRequestEvent.cpp:40
> +    // Member variables of the super class can't be initialized in the initializer list, hence they're set here.
> +    bubbles = true;
> +    cancelable = true;

Can't we add a new constructor in UIEvent instead?
Comment 13 Tim Horton 2013-06-18 19:14:27 PDT
(In reply to comment #12)
> (From update of attachment 204959 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=204959&action=review
> 
> > Source/WebCore/ChangeLog:10
> > +        IndieUI is a new W3C spec that aims to abstract the connection between input and action, so that
> > +        a user (possibly using assistive technologies like a screen reader) does not need a specific kind
> > +        of device (like a mouse) to interact with an object.
> 
> Where this feature defined? Could you add a URL to the specification?
> Also, we should probably announce this feature on webkit-dev.

They already did, see above.
Comment 14 Build Bot 2013-06-19 01:22:59 PDT
Comment on attachment 204959 [details]
patch to address feedback

Attachment 204959 [details] did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/924376

New failing tests:
indieui/uiactions.html
indieui/create-uirequestevent.html
Comment 15 Build Bot 2013-06-19 01:23:04 PDT
Created attachment 204974 [details]
Archive of layout-test-results from APPLE-EWS-3 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: APPLE-EWS-3  Port: win-future  Platform: CYGWIN_NT-6.1-WOW64-1.7.20-0.266-5-3-i686-32bit
Comment 16 Build Bot 2013-06-19 02:39:24 PDT
Comment on attachment 204959 [details]
patch to address feedback

Attachment 204959 [details] did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/869337

New failing tests:
indieui/uiactions.html
indieui/create-uirequestevent.html
Comment 17 Build Bot 2013-06-19 02:39:30 PDT
Created attachment 204978 [details]
Archive of layout-test-results from APPLE-EWS-4 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: APPLE-EWS-4  Port: win-future  Platform: CYGWIN_NT-6.1-WOW64-1.7.20-0.266-5-3-i686-32bit
Comment 18 chris fleizach 2013-06-19 08:07:11 PDT
Created attachment 205007 [details]
patch
Comment 19 Build Bot 2013-06-19 17:00:37 PDT
Comment on attachment 205007 [details]
patch

Attachment 205007 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/869528

New failing tests:
fast/js/dom-static-property-for-in-iteration.html
Comment 20 Build Bot 2013-06-19 17:00:42 PDT
Created attachment 205042 [details]
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-08  Port: mac-mountainlion  Platform: Mac OS X 10.8.3
Comment 21 chris fleizach 2013-06-19 17:19:19 PDT
Created attachment 205044 [details]
patch
Comment 22 chris fleizach 2013-06-20 09:17:49 PDT
(In reply to comment #21)
> Created an attachment (id=205044) [details]
> patch

Latest patch updates ChangeLog to include W3C URL and modifies EventInit so that you can pass in bubbles and cancelable for easier subclass initialization
Comment 23 Build Bot 2013-06-20 09:56:25 PDT
Comment on attachment 205044 [details]
patch

Attachment 205044 [details] did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/886129

New failing tests:
fast/js/dom-static-property-for-in-iteration.html
Comment 24 Build Bot 2013-06-20 09:56:29 PDT
Created attachment 205101 [details]
Archive of layout-test-results from APPLE-EWS-5 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: APPLE-EWS-5  Port: win-future  Platform: CYGWIN_NT-6.1-WOW64-1.7.20-0.266-5-3-i686-32bit
Comment 25 Build Bot 2013-06-20 11:04:45 PDT
Comment on attachment 205044 [details]
patch

Attachment 205044 [details] did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/936204

New failing tests:
fast/js/dom-static-property-for-in-iteration.html
Comment 26 Build Bot 2013-06-20 11:04:51 PDT
Created attachment 205103 [details]
Archive of layout-test-results from APPLE-EWS-1 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: APPLE-EWS-1  Port: win-future  Platform: CYGWIN_NT-6.1-WOW64-1.7.20-0.266-5-3-i686-32bit
Comment 27 Ryosuke Niwa 2013-06-20 11:46:44 PDT
Comment on attachment 205044 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205044&action=review

> LayoutTests/fast/js/dom-static-property-for-in-iteration-expected.txt:61
> +PASS a["uiactions"] is 

Since you're not enabling this feature on Qt and Windows, you need to svn cp this file into platform/qt and platform/win.
Comment 28 Build Bot 2013-06-20 12:15:25 PDT
Comment on attachment 205044 [details]
patch

Attachment 205044 [details] did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/876448

New failing tests:
fast/js/dom-static-property-for-in-iteration.html
Comment 29 Build Bot 2013-06-20 12:15:31 PDT
Created attachment 205109 [details]
Archive of layout-test-results from APPLE-EWS-3 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: APPLE-EWS-3  Port: win-future  Platform: CYGWIN_NT-6.1-WOW64-1.7.20-0.266-5-3-i686-32bit
Comment 30 chris fleizach 2013-06-21 01:56:28 PDT
http://trac.webkit.org/changeset/151827