New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 640265 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 649760
Owner:
Last visit > 30 days ago
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 598051



Sign in to add a comment

Visual rects incorrect for zoomed foreign objects.

Project Member Reported by wkorman@chromium.org, Aug 23 2016

Issue description

Breakout from  http://crbug.com/598051  --

svg/zoom/page/zoom-foreignObject.svg

Notes on zoom-foreignObject.svg --

Commenting out the second text block (svg foreign object) to focus on the html foreign object, the visual rect for the first line of text remains same from (A) initial frame to (B) the zoomed frame:

(A) 17:25:05.647 4920   {index: 4, client: "0x330c39668010 InlineTextBox 'This is a text'", type: "DrawingPaintPhaseForeground", rect: [0.000000,0.000000 75.000000x19.000000], cacheIsValid: true, visualRect: [0,0 230x78]},
(B) 17:25:05.648 4920   {index: 5, client: "0x330c39668010 InlineTextBox 'This is a text'", type: "DrawingPaintPhaseForeground", rect: [0.000000,0.000000 75.000000x19.000000], cacheIsValid: true, visualRect: [0,0 230x78]},

whereas most all other display items see their cull rect/visual rect grow for example:

(A) 17:25:05.647 4920   {index: 5, client: "0x330c39668088 InlineTextBox 'and a link.'", type: "DrawingPaintPhaseForeground", rect: [0.000000,20.000000 62.000000x19.000000], cacheIsValid: true, visualRect: [5,60 192x75]},
(B) 17:25:05.648 4920   {index: 6, client: "0x330c39668088 InlineTextBox 'and a link.'", type: "DrawingPaintPhaseForeground", rect: [0.000000,20.000000 62.000000x19.000000], cacheIsValid: true, visualRect: [7,87 276x107]},

It's particularly surprising since the '[HTML]' text in the test is:

  <xhtml:div>[HTML]</xhtml:div>

just like the one with the seemingly illegitimate visual rect two lines of code prior:

  <xhtml:div>This is a text</xhtml:div>

and yet:

(A) 17:35:15.446 1538   {index: 7, client: "0x12e848464178 InlineTextBox '[HTML]'", type: "DrawingPaintPhaseForeground", rect: [0.000000,40.000000 53.000000x19.000000], cacheIsValid: true, visualRect: [10,120 165x73]},
(B) 17:35:15.448 1538   {index: 8, client: "0x12e848464178 InlineTextBox '[HTML]'", type: "DrawingPaintPhaseForeground", rect: [0.000000,40.000000 53.000000x19.000000], cacheIsValid: true, visualRect: [15,174 237x103]},

I also wonder whether the cull rect is supposed to be growing in tandem with the visual rect. To investigate further.
 
Note from pdr@ previously looking into this, from  http://crbug.com/598041#c2 :

The second class of bugs includes zoom-foreignObject.svg and is more complex. One bug is that SVGForeignObject supports overflow clip (sort of) but was missing a paint over-invalidation hack that blocks use. I have a work in progress that fixes this (https://codereview.chromium.org/1835843002). There is at least one more bug that causes the foreignObject tests to fail though. Don't touch that dial; we will have more breaking news after this short break...

Comment 2 by tkent@chromium.org, Aug 23 2016

Components: Blink>SVG
Brief update -- https://codereview.chromium.org/2276783002/ is in review but likely needs further work.
Mergedinto: 649760
Status: Duplicate (was: Started)

Sign in to add a comment