Bug 129363

Summary: Cursor and input text is not updating in vertical-rl
Product: WebKit Reporter: Sudarshan C P <sudarshan.cp>
Component: HTML EditingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: buildbot, commit-queue, esprehn+autocc, glenn, kondapallykalyan, rniwa
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Test Page
none
Patch
simon.fraser: review-, buildbot: commit-queue-
Archive of layout-test-results from webkit-ews-13 for mac-mountainlion-wk2
none
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion
none
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion none

Description Sudarshan C P 2014-02-25 22:34:14 PST
Created attachment 225221 [details]
Test Page

1.Fetch the attached Test.html
2.Place the cursor in between the Text
3.start typing the text

Current behavior:
1.Placed cursor not displaying
2.Typed characters are not showing
3.Not able to select the word
Comment 1 Sudarshan C P 2014-02-25 22:44:40 PST
Created attachment 225222 [details]
Patch
Comment 2 Build Bot 2014-02-25 23:41:05 PST
Comment on attachment 225222 [details]
Patch

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

New failing tests:
svg/masking/mask-negative-scale.svg
fast/regions/subtree-with-vert-rl.html
Comment 3 Build Bot 2014-02-25 23:41:06 PST
Created attachment 225228 [details]
Archive of layout-test-results from webkit-ews-13 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-13  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 4 Build Bot 2014-02-26 00:08:43 PST
Comment on attachment 225222 [details]
Patch

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

New failing tests:
svg/masking/mask-negative-scale.svg
fast/regions/subtree-with-vert-rl.html
Comment 5 Build Bot 2014-02-26 00:08:45 PST
Created attachment 225232 [details]
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-01  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 6 Build Bot 2014-02-26 01:09:13 PST
Comment on attachment 225222 [details]
Patch

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

New failing tests:
svg/masking/mask-negative-scale.svg
fast/regions/subtree-with-vert-rl.html
Comment 7 Build Bot 2014-02-26 01:09:16 PST
Created attachment 225240 [details]
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-02  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 8 zalan 2014-03-02 14:36:31 PST
Comment on attachment 225222 [details]
Patch

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

> Source/WebCore/ChangeLog:8
> +        Fix repaint rect for position element in writing mode.

This is incorrect wording, you patch changes absolute positioned element behavior only.

> Source/WebCore/rendering/RenderBox.cpp:2109
> +    if (isWritingModeRoot() && !fixed)

Not sure why absolute positioned elements would be an exception here. You should figure it out why it was originally introduced it here -> http://trac.webkit.org/changeset/71851/trunk/WebCore/rendering/RenderBox.cpp

> Source/WebCore/rendering/RenderBox.cpp:4580
> +        rect.setX(std::max(width().toFloat(), style().width().value()) - rect.maxX());

How does this help fix this case? -and why it is only for flipForWritingMode(LayoutRect& rect) and not for the other helpers like flipForWritingMode(FloatRect& rect)
Comment 9 Sudarshan C P 2014-03-02 21:16:17 PST
(In reply to comment #8)
> (From update of attachment 225222 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=225222&action=review
> 
> > Source/WebCore/ChangeLog:8
> > +        Fix repaint rect for position element in writing mode.
> This is incorrect wording, you patch changes absolute positioned element behavior only.
> yes i agreed i will modify.
> > Source/WebCore/rendering/RenderBox.cpp:2109
> > +    if (isWritingModeRoot() && !fixed)
> 
> Not sure why absolute positioned elements would be an exception here. You should figure it out why it was originally introduced it here -> http://trac.webkit.org/changeset/71851/trunk/WebCore/rendering/RenderBox.cpp
> 

Analyzing more to find the root cause of this case.

> > Source/WebCore/rendering/RenderBox.cpp:4580
> > +        rect.setX(std::max(width().toFloat(), style().width().value()) - rect.maxX());
> 
> How does this help fix this case? -and why it is only for flipForWritingMode(LayoutRect& rect) and not for the other helpers like flipForWritingMode(FloatRect& rect)

In case of vertical mode,width of the container block gives 0 width,not considering the style width mentioned in the content,hence repaint rect is goes wrong, not updating properly,so added this condition.

Thanks for updating the comments, i will analyze more with respect to this,  and updating the new patch for this.
Please suggest me if any.