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

Issue 1492143002: Add support for printing multicol containers, and enable it. (Closed)

Created:
5 years ago by mstensho (USE GERRIT)
Modified:
5 years ago
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-css, blink-reviews-layout_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, rwlbuis, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add support for printing multicol containers, and enable it. Introduce an abstract class FragmentationContext, which is either implemented by LayoutMultiColumnFlowThread for multicol, or by the new ViewFragmentationContext class, which is attached to a LayoutView when printing. This way it will act as an enclosing fragmentation context for a multicol container in the document. This is similar to how an outer multicol container acts as an enclosing fragmentation context for an inner multicol container. The multicol flow thread implementation will now obtain and use a FragmentationContext when attempting to locate its enclosing fragmentation context, rather than only looking for another flowthread up there (and assume that it's not nested if none was found). A big part of this CL is to teach the multicol implementation about this, which means that there are quite a few mechanical changes from enclosingFlowThread() (and LayoutMultiColumnFlowThread method calls) to enclosingFragmentationContext() (and FragmentationContext method calls). Replaced an old printing test that tested that multicol didn't work, with one that tests that multicol does work. :) Also added another test that splits a multicol container over two pages. BUG=99358 R=leviw@chromium.org Committed: https://crrev.com/562a7409200d3bffd2e1270e227e36d87724a07c Cr-Commit-Position: refs/heads/master@{#363838}

Patch Set 1 #

Patch Set 2 : CORE_EXPORT FragmentationContext #

Patch Set 3 : Okay, bots. You won this round! #

Total comments: 4

Patch Set 4 : code review #

Unified diffs Side-by-side diffs Delta from patch set Stats (+326 lines, -84 lines) Patch
M third_party/WebKit/LayoutTests/inspector/elements/styles-2/media-emulation-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
A third_party/WebKit/LayoutTests/printing/multicol.html View 1 chunk +22 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/printing/multicol-2-pages.html View 1 chunk +38 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/printing/multicol-2-pages-expected.html View 1 chunk +52 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/printing/multicol-expected.txt View 1 chunk +21 lines, -0 lines 0 comments Download
D third_party/WebKit/LayoutTests/printing/multicol-not-supported.html View 1 chunk +0 lines, -21 lines 0 comments Download
D third_party/WebKit/LayoutTests/printing/multicol-not-supported-expected.txt View 1 chunk +0 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/core/core.gypi View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/html.css View 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ColumnBalancer.cpp View 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/Source/core/layout/FragmentationContext.h View 1 1 chunk +53 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.h View 4 chunks +13 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp View 5 chunks +35 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp View 3 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.h View 3 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.cpp View 1 2 3 2 chunks +9 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.h View 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp View 5 chunks +10 lines, -9 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ViewFragmentationContext.h View 1 chunk +27 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ViewFragmentationContext.cpp View 1 chunk +31 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (4 generated)
mstensho (USE GERRIT)
We should probably land https://codereview.chromium.org/1492993002/ first, but then again, it's no big deal, as long ...
5 years ago (2015-12-03 22:03:59 UTC) #1
mstensho (USE GERRIT)
@leviw - can you review this, please?
5 years ago (2015-12-08 08:45:52 UTC) #2
leviw_travelin_and_unemployed
Apologies for the delay. Mostly I think this looks fine, I just find the LayoutView ...
5 years ago (2015-12-08 19:00:55 UTC) #3
mstensho (USE GERRIT)
Made some changes in LayoutView. See if you like it better. https://codereview.chromium.org/1492143002/diff/40001/third_party/WebKit/LayoutTests/printing/multicol-2-pages.html File third_party/WebKit/LayoutTests/printing/multicol-2-pages.html (right): ...
5 years ago (2015-12-08 20:09:12 UTC) #4
leviw_travelin_and_unemployed
On 2015/12/08 at 20:09:12, mstensho wrote: > Made some changes in LayoutView. See if you ...
5 years ago (2015-12-08 21:30:27 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1492143002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1492143002/60001
5 years ago (2015-12-08 22:17:02 UTC) #7
leviw_travelin_and_unemployed
On 2015/12/08 at 21:30:27, leviw wrote: > On 2015/12/08 at 20:09:12, mstensho wrote: > > ...
5 years ago (2015-12-08 22:25:02 UTC) #8
leviw_travelin_and_unemployed
The goal was to lay out contents 25% wider than there was room for on ...
5 years ago (2015-12-08 22:26:45 UTC) #9
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_dbg/builds/150978) linux_chromium_compile_dbg_ng on tryserver.chromium.linux (JOB_FAILED, ...
5 years ago (2015-12-08 23:15:52 UTC) #11
mstensho (USE GERRIT)
On 2015/12/08 22:26:45, leviw wrote: > The goal was to lay out contents 25% wider ...
5 years ago (2015-12-08 23:24:07 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1492143002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1492143002/60001
5 years ago (2015-12-08 23:25:44 UTC) #14
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years ago (2015-12-09 00:22:54 UTC) #15
commit-bot: I haz the power
5 years ago (2015-12-09 00:24:00 UTC) #17
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/562a7409200d3bffd2e1270e227e36d87724a07c
Cr-Commit-Position: refs/heads/master@{#363838}

Powered by Google App Engine
This is Rietveld 408576698