commit | 3969b6ed601d2bb6b1c3a5d480cfc17eae868c26 | [log] [tgz] |
---|---|---|
author | Fredrik Söderquist <fs@opera.com> | Thu Jan 11 01:34:18 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Jan 11 01:34:18 2018 |
tree | 0b793a3ce2f3c025e2db7429160ab3c6dc58430c | |
parent | c00c3f4165890299d2387503b333c76c75c7c721 [diff] |
[CI] Refactor replaced element nested intrinsic sizing info extraction This moves the access to a nested layout contexts (either a frame embedded via LayoutEmbeddedObject or an SVG image via LayoutImage) LayoutReplaced (LayoutSVGRoot) from LayoutReplaced to the relevant subclasses (LayoutEmbeddedObject or LayoutImage.) The goal with this is to eliminate the use of EmbeddedReplacedContent in LayoutReplaced. Rather than accessing EmbeddedReplacedContent() and calling ComputeIntrinsicSizingInfo() on the returned LayoutReplaced, a new method GetNestedIntrinsicSizingInfo is added instead, and implemented in the relevant subclasses. In LayoutImage the EmbeddedReplacedContent() method is kept around (for now), but in LayoutEmbeddedObject it's removed, and instead rerouted via LocalFrameView. NeedsPreferredWidthsRecalculation is moved from LayoutEmbeddedContent to its subclass LayoutEmbeddedObject since this is the only subclass that can modify its behavior - i.e can represent content that may can affect the size of its embedder. The IntrinsicSizingInfo struct is moved out from being an inner class of LayoutReplaced. Bug: 798974 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Ia617a40d631e6b2e6bb2c9f39a1799766d7f58d6 Reviewed-on: https://chromium-review.googlesource.com/860140 Reviewed-by: Stephen Chenney <schenney@chromium.org> Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#528524}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .