Bug 160663

Summary: Align Selection API with the specification
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: HTML EditingAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, commit-queue, darin, dbates, dmazzoni, enrica, esprehn+autocc, jcraig, jdiggs, kangil.han, kondapallykalyan, mario, rniwa, samuel_white, sam
Priority: P2 Keywords: WebExposed
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
URL: https://www.w3.org/TR/selection-api/#idl-def-Selection
Bug Depends on:    
Bug Blocks: 160667    
Attachments:
Description Flags
Patch
none
Patch
none
Patch none

Description Chris Dumez 2016-08-08 10:49:00 PDT
Align Selection API with the specification:
- https://www.w3.org/TR/selection-api/#idl-def-Selection

In particular, the following changes need to be made:
- Mark parameters as non-nullable when they should be.
- Mark parameters as mandatory when they should be.
- Use "unsigned long" type for offsets instead of "long".
Comment 1 Chris Dumez 2016-08-08 10:55:17 PDT
Created attachment 285572 [details]
Patch
Comment 2 Chris Dumez 2016-08-08 11:05:20 PDT
Created attachment 285573 [details]
Patch
Comment 3 Ryosuke Niwa 2016-08-08 13:00:52 PDT
Comment on attachment 285573 [details]
Patch

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

> Source/WebCore/page/DOMSelection.idl:63
> +    void setBaseAndExtent(Node baseNode, unsigned long baseOffset, Node extentNode, unsigned long extentOffset);

I think we should preserve the old behavior of clearing selection when baseNode/extentNode is null.
Filed https://github.com/w3c/selection-api/issues/72.
Comment 4 Chris Dumez 2016-08-08 13:02:45 PDT
Created attachment 285579 [details]
Patch
Comment 5 Chris Dumez 2016-08-08 13:31:56 PDT
Comment on attachment 285579 [details]
Patch

Clearing flags on attachment: 285579

Committed r204263: <http://trac.webkit.org/changeset/204263>
Comment 6 Chris Dumez 2016-08-08 13:32:03 PDT
All reviewed patches have been landed.  Closing bug.