[Webkit-unassigned] [Bug 179682] Incorrect bounds inside <mover>/<munder> when a stretchy operator is present

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Nov 30 00:00:16 PST 2017


https://bugs.webkit.org/show_bug.cgi?id=179682

--- Comment #30 from Frédéric Wang (:fredw) <fred.wang at free.fr> ---
(In reply to Minsheng Liu from comment #29)
>             renderOperator->resetStretchSize();
>             child->setNeedsLayout();
>             child->layout();
>             stretchWidth = std::max(stretchWidth,
> renderOperator->logicalWidth());

Note that I said "Instead of calculating the size of the whole embellished operator as I suggested, let's take the unstretched size of the <mo> at the core".  So I really meant renderOperator->setNeedsLayout(), renderOperator->layout() and renderOperator->logicalWidth(). No "child" should appear here.

> First, I am unsure if you mean `renderOperator->logicalWidth()` or
> `child->logicalWidth()`. According to the standard and your comment I
> believe it is the latter. However, it does not affect the output—I cannot
> make sense of that immediately.

I really meant renderOperator.

> Second, the over-stretched brace issue persists:

Indeed because you layout the whole child instead of just the <mo> at the core, so the renderOperator will be stretched in the first loop.

> I do not see how “cover the width of the other direct sub-expressions in the
> given element” could be satisfied with this loop. I am a bit concerned of
> language here. By “direct sub-expression”, which ways of the follows should
> it be interpreted?
> 
> * Other siblings of the embellished operators.
> * Siblings of `<mo>`.

I think "direct sub-expression" mean children of the <munderover>. However, the trick here is to consider that the width of (possibly embellished) operators is the unstretched size of the <mo> at the core as Gecko does.

> You could see that the inner arrow is a bit off-center. The reason is that
> your proposal does not lock `stretchWidth` in the first loop:

You must not lock the stretchWidth in the first loop. Again, I'm only proposing to layout the renderOperator at the core, not the whole child.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20171130/36391f7f/attachment-0001.html>


More information about the webkit-unassigned mailing list