Bug 57696

Summary: mfenced element fails to update dynamically when its open, close and separators attributes are changed
Product: WebKit Reporter: mitz
Component: MathMLAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bdakin, fred.wang, jkjiang, xun.sun
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 124838    
Bug Blocks: 160509    
Attachments:
Description Flags
Test case
none
Reftests
none
Another test case none

Description mitz 2011-04-01 22:21:23 PDT
Created attachment 87967 [details]
Test case

The attached test case shows that the rendering of the mfenced element is not updated when its open, close and separators attributes are changed.
Comment 1 mitz 2011-04-01 22:39:08 PDT
<rdar://problem/9225768>
Comment 2 Xun Sun 2011-10-16 22:07:13 PDT
(In reply to comment #0)
> Created an attachment (id=87967) [details]
> Test case
> 
> The attached test case shows that the rendering of the mfenced element is not updated when its open, close and separators attributes are changed.

The attached test case does not seem to agree with the comments, as it does not change the the values of the second mfenced element.

Do you mean something like the following:

<p>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mfenced id="fenced" open=")" close="(" separators=","><mi>x</mi><mi>y</mi><mi>z</mi></mfenced>
    </math>
</p>
Comment 3 mitz 2011-10-16 22:17:46 PDT
(In reply to comment #2)
> (In reply to comment #0)
> > Created an attachment (id=87967) [details] [details]
> > Test case
> > 
> > The attached test case shows that the rendering of the mfenced element is not updated when its open, close and separators attributes are changed.
> 
> The attached test case does not seem to agree with the comments, as it does not change the the values of the second mfenced element.

The Web Inspector shows me that the values do change. I wonder why you are seeing different results.
Comment 4 Xun Sun 2011-10-16 22:42:01 PDT
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #0)
> > > Created an attachment (id=87967) [details] [details] [details]
> > > Test case
> > > 
> > > The attached test case shows that the rendering of the mfenced element is not updated when its open, close and separators attributes are changed.
> > 
> > The attached test case does not seem to agree with the comments, as it does not change the the values of the second mfenced element.
> 
> The Web Inspector shows me that the values do change. I wonder why you are seeing different results.

Because the change is not user-visible if the open tag is changed from '(' to '(', and the two lines are always identical. Thought the original intention of the test case was for the change to be user-visible. Wrong assumption?
Comment 5 mitz 2011-10-16 22:45:43 PDT
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > (In reply to comment #0)
> > > > Created an attachment (id=87967) [details] [details] [details] [details]
> > > > Test case
> > > > 
> > > > The attached test case shows that the rendering of the mfenced element is not updated when its open, close and separators attributes are changed.
> > > 
> > > The attached test case does not seem to agree with the comments, as it does not change the the values of the second mfenced element.
> > 
> > The Web Inspector shows me that the values do change. I wonder why you are seeing different results.
> 
> Because the change is not user-visible if the open tag is changed from '(' to '(', and the two lines are always identical. Thought the original intention of the test case was for the change to be user-visible. Wrong assumption?

The open attribute’s initial value is "[", and the test changes it to "(". My understanding is that the change should be visible, and that along with changing the close attribute to ")" and the separators attribute to "," should make the second line identical to the first one. Their DOM trees are identical, other than the id attribute.
Comment 6 Xun Sun 2011-10-16 22:56:46 PDT
> The open attribute’s initial value is "[", and the test changes it to "(". My understanding is that the change should be visible, and that along with changing the close attribute to ")" and the separators attribute to "," should make the second line identical to the first one. Their DOM trees are identical, other than the id attribute.

You are right. I made the wrong observations as I downloaded the test case from the preview page where the attributes were already altered. My apologies.
Comment 7 Frédéric Wang (:fredw) 2014-02-25 23:56:55 PST
Created attachment 225230 [details]
Reftests

The test case seems to pass for me. However, I attach some reftests from a patch of bug 124838 that fail.
Comment 8 Frédéric Wang (:fredw) 2016-08-03 06:05:39 PDT
Created attachment 285222 [details]
Another test case

To avoid confusion, I'm attaching a new test case that still does not work in WebKit.