Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Issue 711453004: absoluteFocusRingQuads() => absoluteFocusRingBoundingBoxRect() (Closed)

Created:
6 years, 1 month ago by Xianzhu
Modified:
6 years, 1 month ago
CC:
blink-reviews, krit, blink-reviews-rendering, aboxhall, zoltan1, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, kouhei+svg_chromium.org, fs, ed+blinkwatch_opera.com, dmazzoni, f(malita), gyuyoung.kim_webkit.org, jchaffraix+rendering, Stephen Chennney, rwlbuis, pdr+svgwatchlist_chromium.org
Project:
blink
Visibility:
Public.

Description

absoluteFocusRingQuads() => absoluteFocusRingBoundingBoxRect() The original RenderObject::absoluteFocusRingQuads() is used by AXRenderObject to get the rect of an element including its descendants. For an element containing many line boxes and/or descendants, the size of the Vector<Quad> may be large but the caller actually doesn't need the quads but the bounding box of the quads. I suspect that the quads causes out-of-memory on Android sometimes. To save memory for storing the quads, now compute the bounding box of the focus ring rects before mapping to absolute coordinates. Though the rects still uses memory, this change will reduce the peak memory required by the rects and quads to 1/3 (for rects only). There might be measures to further save CPU and memory: - Let addFocusRingRects be able to accumulate rects into a bounding box; - Find another way to get the bounding box for accessibility, instead of using addFocusRingRects. BUG=419943 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=184981

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+18 lines, -22 lines) Patch
M Source/core/accessibility/AXRenderObject.cpp View 1 chunk +10 lines, -9 lines 0 comments Download
M Source/core/accessibility/AXSpinButton.cpp View 1 chunk +1 line, -4 lines 0 comments Download
M Source/core/rendering/RenderObject.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 chunk +2 lines, -4 lines 0 comments Download
M Source/core/rendering/svg/RenderSVGModelObject.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/svg/RenderSVGModelObject.cpp View 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 11 (4 generated)
Xianzhu
6 years, 1 month ago (2014-11-06 22:19:26 UTC) #2
dsinclair
lgtm. I'm guessing there is no good way to get a test for this since ...
6 years, 1 month ago (2014-11-06 23:50:08 UTC) #3
Xianzhu
On 2014/11/06 23:50:08, dsinclair wrote: > lgtm. I'm guessing there is no good way to ...
6 years, 1 month ago (2014-11-07 00:03:23 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/711453004/1
6 years, 1 month ago (2014-11-07 00:03:44 UTC) #6
commit-bot: I haz the power
Try jobs failed on following builders: win_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/win_blink_rel/builds/35255)
6 years, 1 month ago (2014-11-07 01:50:50 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/711453004/1
6 years, 1 month ago (2014-11-07 16:57:33 UTC) #10
commit-bot: I haz the power
6 years, 1 month ago (2014-11-07 17:39:06 UTC) #11
Message was sent while issue was closed.
Committed patchset #1 (id:1) as 184981

Powered by Google App Engine
This is Rietveld 408576698