WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
122458
Simple line layout
https://bugs.webkit.org/show_bug.cgi?id=122458
Summary
Simple line layout
Antti Koivisto
Reported
2013-10-07 12:02:36 PDT
Line box based inline layout is powerful but also rather slow and memory intensive. We might be able to cover many common cases with simpler data structures and algorithms.
Attachments
some work in progress
(31.59 KB, patch)
2013-10-07 12:05 PDT
,
Antti Koivisto
eflews.bot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2
(1.01 MB, application/zip)
2013-10-07 13:04 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion
(1.20 MB, application/zip)
2013-10-07 13:11 PDT
,
Build Bot
no flags
Details
for bots
(62.83 KB, patch)
2013-10-18 06:11 PDT
,
Antti Koivisto
eflews.bot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2
(1.03 MB, application/zip)
2013-10-18 06:57 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion
(1.06 MB, application/zip)
2013-10-18 07:22 PDT
,
Build Bot
no flags
Details
another
(64.21 KB, patch)
2013-10-18 08:14 PDT
,
Antti Koivisto
eflews.bot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2
(1.62 MB, application/zip)
2013-10-18 09:03 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion
(1.64 MB, application/zip)
2013-10-18 09:27 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from webkit-ews-06 for mac-mountainlion
(1.64 MB, application/zip)
2013-10-18 10:25 PDT
,
Build Bot
no flags
Details
another
(70.30 KB, patch)
2013-10-23 06:13 PDT
,
Antti Koivisto
no flags
Details
Formatted Diff
Diff
and another
(70.30 KB, patch)
2013-10-23 06:30 PDT
,
Antti Koivisto
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2
(698.97 KB, application/zip)
2013-10-23 07:26 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from webkit-ews-05 for mac-mountainlion
(733.05 KB, application/zip)
2013-10-23 07:48 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion
(734.19 KB, application/zip)
2013-10-23 08:49 PDT
,
Build Bot
no flags
Details
yet another
(70.50 KB, patch)
2013-10-23 11:38 PDT
,
Antti Koivisto
buildbot
: commit-queue-
Details
Formatted Diff
Diff
patch
(81.31 KB, patch)
2013-10-23 16:15 PDT
,
Antti Koivisto
darin
: review+
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Show Obsolete
(6)
View All
Add attachment
proposed patch, testcase, etc.
Antti Koivisto
Comment 1
2013-10-07 12:05:43 PDT
Created
attachment 213609
[details]
some work in progress No hit testing or selections yet. Does pretty well in static CSS tests.
EFL EWS Bot
Comment 2
2013-10-07 12:29:12 PDT
Comment on
attachment 213609
[details]
some work in progress
Attachment 213609
[details]
did not pass efl-wk2-ews (efl-wk2): Output:
http://webkit-queues.appspot.com/results/3354124
EFL EWS Bot
Comment 3
2013-10-07 12:30:18 PDT
Comment on
attachment 213609
[details]
some work in progress
Attachment 213609
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/3733002
Build Bot
Comment 4
2013-10-07 12:47:10 PDT
Comment on
attachment 213609
[details]
some work in progress
Attachment 213609
[details]
did not pass win-ews (win): Output:
http://webkit-queues.appspot.com/results/3717007
Build Bot
Comment 5
2013-10-07 13:04:33 PDT
Comment on
attachment 213609
[details]
some work in progress
Attachment 213609
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/3599003
New failing tests: editing/execCommand/indent-div-inside-list.html fast/block/float/float-not-removed-from-first-letter.html fast/lists/dynamic-marker-crash.html editing/pasteboard/merge-end-list-2.html tables/mozilla/bugs/bug2479-3.html fast/block/margin-collapse/self-collapsing-block-with-float-children.html accessibility/table-cells.html editing/execCommand/justify.html editing/deleting/delete-listitem-001.html editing/execCommand/query-text-alignment.html editing/execCommand/indent-block-in-list.html fast/table/022.html platform/mac/accessibility/list-items-ignored.html fast/dom/inner-text-001.html fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html accessibility/table-attributes.html scrollbars/rtl/div-horizontal.html fast/css/list-item-pseudo-nocrash.html tables/mozilla_expected_failures/bugs/bug1725.html fast/selectors/style-sharing-last-child.html tables/mozilla/marvin/x_th_align_justify.xml accessibility/box-styled-lists.html editing/style/5046875-2.html platform/mac/accessibility/table-multi-bodies.html editing/execCommand/break-out-of-empty-list-item.html
Build Bot
Comment 6
2013-10-07 13:04:36 PDT
Created
attachment 213614
[details]
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-10 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Build Bot
Comment 7
2013-10-07 13:11:48 PDT
Comment on
attachment 213609
[details]
some work in progress
Attachment 213609
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/3731009
New failing tests: editing/execCommand/indent-div-inside-list.html fast/block/float/float-not-removed-from-first-letter.html fast/lists/dynamic-marker-crash.html editing/pasteboard/merge-end-list-2.html tables/mozilla/bugs/bug2479-3.html fast/block/margin-collapse/self-collapsing-block-with-float-children.html accessibility/table-cells.html editing/execCommand/justify.html editing/deleting/delete-listitem-001.html editing/execCommand/query-text-alignment.html editing/execCommand/indent-block-in-list.html fast/table/022.html platform/mac/accessibility/list-items-ignored.html fast/dom/inner-text-001.html fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html accessibility/table-attributes.html scrollbars/rtl/div-horizontal.html fast/css/list-item-pseudo-nocrash.html tables/mozilla_expected_failures/bugs/bug1725.html fast/selectors/style-sharing-last-child.html tables/mozilla/marvin/x_th_align_justify.xml accessibility/box-styled-lists.html editing/style/5046875-2.html platform/mac/accessibility/table-multi-bodies.html editing/execCommand/break-out-of-empty-list-item.html
Build Bot
Comment 8
2013-10-07 13:11:52 PDT
Created
attachment 213616
[details]
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-07 Port: mac-mountainlion Platform: Mac OS X 10.8.5
kov's GTK+ EWS bot
Comment 9
2013-10-07 15:23:02 PDT
Comment on
attachment 213609
[details]
some work in progress
Attachment 213609
[details]
did not pass gtk-ews (gtk): Output:
http://webkit-queues.appspot.com/results/3645027
Antti Koivisto
Comment 10
2013-10-18 06:11:50 PDT
Created
attachment 214564
[details]
for bots
EFL EWS Bot
Comment 11
2013-10-18 06:24:31 PDT
Comment on
attachment 214564
[details]
for bots
Attachment 214564
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/5378030
Build Bot
Comment 12
2013-10-18 06:53:55 PDT
Comment on
attachment 214564
[details]
for bots
Attachment 214564
[details]
did not pass win-ews (win): Output:
http://webkit-queues.appspot.com/results/5378034
Build Bot
Comment 13
2013-10-18 06:57:00 PDT
Comment on
attachment 214564
[details]
for bots
Attachment 214564
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/5438030
New failing tests: fast/regions/shape-inside/shape-inside-on-second-region-block-content.html accessibility/table-with-rules.html fast/text/zero-font-size.html accessibility/onclick-handlers.html accessibility/div-within-anchors-causes-crash.html accessibility/deleting-iframe-destroys-axcache.html accessibility/table-cell-spans.html fast/regions/selection/selection-direction.html platform/mac/accessibility/id-class-attributes.html accessibility/table-sections.html accessibility/table-detection.html platform/mac/accessibility/heading-clickpoint.html platform/mac/accessibility/aria-expanded-standard-items.html platform/mac/accessibility/element-for-text-marker.html accessibility/lists.html accessibility/table-attributes.html editing/selection/anchor-focus3.html accessibility/table-with-aria-role.html platform/mac/accessibility/element-level.html accessibility/aria-hidden-updates-alldescendants.html platform/mac/accessibility/div-containing-div-with-aria.html fast/table/click-near-anonymous-table.html platform/mac/accessibility/footer-roledescription.html platform/mac/accessibility/css-speech-speak.html platform/mac/accessibility/html-section-elements.html accessibility/fieldset-element.html accessibility/adjacent-continuations-cause-assertion-failure.html accessibility/language-attribute.html compositing/background-color/background-color-change-to-text.html platform/mac/accessibility/definition-list-term.html
Build Bot
Comment 14
2013-10-18 06:57:03 PDT
Created
attachment 214566
[details]
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-11 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
kov's GTK+ EWS bot
Comment 15
2013-10-18 07:09:02 PDT
Comment on
attachment 214564
[details]
for bots
Attachment 214564
[details]
did not pass gtk-ews (gtk): Output:
http://webkit-queues.appspot.com/results/4798052
Build Bot
Comment 16
2013-10-18 07:22:51 PDT
Comment on
attachment 214564
[details]
for bots
Attachment 214564
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/5218010
New failing tests: fast/regions/shape-inside/shape-inside-on-second-region-block-content.html accessibility/table-with-rules.html fast/text/zero-font-size.html accessibility/onclick-handlers.html accessibility/div-within-anchors-causes-crash.html accessibility/deleting-iframe-destroys-axcache.html accessibility/table-cell-spans.html fast/regions/selection/selection-direction.html platform/mac/accessibility/id-class-attributes.html accessibility/table-sections.html accessibility/table-detection.html platform/mac/accessibility/heading-clickpoint.html platform/mac/accessibility/aria-expanded-standard-items.html platform/mac/accessibility/element-for-text-marker.html accessibility/lists.html accessibility/table-attributes.html editing/selection/anchor-focus3.html accessibility/table-with-aria-role.html platform/mac/accessibility/element-level.html accessibility/aria-hidden-updates-alldescendants.html platform/mac/accessibility/div-containing-div-with-aria.html fast/table/click-near-anonymous-table.html platform/mac/accessibility/footer-roledescription.html platform/mac/accessibility/css-speech-speak.html platform/mac/accessibility/html-section-elements.html accessibility/fieldset-element.html accessibility/adjacent-continuations-cause-assertion-failure.html accessibility/language-attribute.html compositing/background-color/background-color-change-to-text.html platform/mac/accessibility/definition-list-term.html
Build Bot
Comment 17
2013-10-18 07:22:55 PDT
Created
attachment 214568
[details]
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-07 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Antti Koivisto
Comment 18
2013-10-18 08:14:17 PDT
Created
attachment 214574
[details]
another
EFL EWS Bot
Comment 19
2013-10-18 08:19:11 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/5388043
kov's GTK+ EWS bot
Comment 20
2013-10-18 08:21:29 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass gtk-ews (gtk): Output:
http://webkit-queues.appspot.com/results/5458043
Build Bot
Comment 21
2013-10-18 08:45:58 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass win-ews (win): Output:
http://webkit-queues.appspot.com/results/5368044
kov's GTK+ EWS bot
Comment 22
2013-10-18 08:59:27 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass gtk-wk2-ews (gtk-wk2): Output:
http://webkit-queues.appspot.com/results/5388052
Build Bot
Comment 23
2013-10-18 09:03:39 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/5478047
New failing tests: fast/regions/shape-inside/shape-inside-on-second-region-block-content.html fast/table/click-near-anonymous-table.html editing/selection/anchor-focus3.html fast/text/zero-font-size.html accessibility/deleting-iframe-destroys-axcache.html fast/regions/selection/selection-direction.html compositing/background-color/background-color-change-to-text.html
Build Bot
Comment 24
2013-10-18 09:03:43 PDT
Created
attachment 214577
[details]
Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-15 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Simon Fraser (smfr)
Comment 25
2013-10-18 09:22:03 PDT
Comment on
attachment 214574
[details]
another View in context:
https://bugs.webkit.org/attachment.cgi?id=214574&action=review
> Source/WebCore/dom/Position.cpp:650 > + textRenderer->ensureInlineBoxes();
It's unclear how callers can know that they should call ensureInlineBoxes()
> Source/WebCore/editing/TextIterator.cpp:524 > + if (renderer->simpleLineLayout()) {
Might be easier to read as usesSimpleLineLayout() or hasSimpleLineLayout(). It's a bit odd for an object to be called SimpleLineLayout.
> Source/WebCore/rendering/RenderBlock.h:793 > unsigned m_hasMarginBeforeQuirk : 1; // Note these quirk values can't be put in RenderBlockRareData since they are set too frequently. > unsigned m_hasMarginAfterQuirk : 1; > unsigned m_beingDestroyed : 1; > unsigned m_hasMarkupTruncation : 1; > unsigned m_hasBorderOrPaddingLogicalWidthChanged : 1; > + unsigned m_forceLineboxInlineLayout : 1;
These can be bools, I think.
> Source/WebCore/rendering/RenderBlockFlow.cpp:2448 > + m_forceLineboxInlineLayout = true; > + > + if (!m_simpleLineLayout) > + return; > + m_simpleLineLayout = nullptr;
It's odd for something called ensureFoo to blow away existing state and recompute it. This function should be called updateFoo or recomputeFoo or something.
> Source/WebCore/rendering/RenderText.cpp:283 > + // FIXME: These will go away when simple layout can do everything.
But then it will no longer be simple?
> Source/WebCore/rendering/RenderText.cpp:308 > + const_cast<RenderText&>(*this).ensureInlineBoxes();
Again, not sure how I'd know, when writing new code, that I had to call ensureInlineBoxes().
> Source/WebCore/rendering/RenderText.cpp:1200 > + if (auto layout = simpleLineLayout()) > + return layout->caretMinOffset(); > return m_lineBoxes.caretMinOffset();
Shame we can't turn m_lineBoxes into some virtual thing that does both.
> Source/WebCore/rendering/ResolvedSimpleLines.h:38 > +class ResolvedSimpleLines {
The "resolved" doesn't really communicate anything I think.
> Source/WebCore/rendering/SimpleLineLayout.cpp:298 > + if (paintInfo.phase != PaintPhaseForeground) > + return;
You can probably bail if painting is disabled (updateControlTints).
Build Bot
Comment 26
2013-10-18 09:27:04 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/5438047
New failing tests: fast/regions/shape-inside/shape-inside-on-second-region-block-content.html fast/table/click-near-anonymous-table.html editing/selection/anchor-focus3.html fast/text/zero-font-size.html accessibility/deleting-iframe-destroys-axcache.html fast/regions/selection/selection-direction.html compositing/background-color/background-color-change-to-text.html
Build Bot
Comment 27
2013-10-18 09:27:07 PDT
Created
attachment 214580
[details]
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-08 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Build Bot
Comment 28
2013-10-18 10:25:40 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/5348013
New failing tests: fast/regions/shape-inside/shape-inside-on-second-region-block-content.html fast/table/click-near-anonymous-table.html editing/selection/anchor-focus3.html fast/text/zero-font-size.html accessibility/deleting-iframe-destroys-axcache.html fast/regions/selection/selection-direction.html compositing/background-color/background-color-change-to-text.html
Build Bot
Comment 29
2013-10-18 10:25:44 PDT
Created
attachment 214585
[details]
Archive of layout-test-results from webkit-ews-06 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-06 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Antti Koivisto
Comment 30
2013-10-18 10:57:03 PDT
> > Source/WebCore/dom/Position.cpp:650 > > + textRenderer->ensureInlineBoxes(); > > It's unclear how callers can know that they should call ensureInlineBoxes()
They won't eventually. It just signals that I haven't fixed the code to work with simple layout yet.
> > Source/WebCore/rendering/RenderText.cpp:283 > > + // FIXME: These will go away when simple layout can do everything. > > But then it will no longer be simple?
It will still be simple. "Simple" refers to the fact that it does not support full rendering model. For the parts that it does support it should do everything. Currently the missing piece is selection painting and some editing details.
> Shame we can't turn m_lineBoxes into some virtual thing that does both.
Are you planning to add another line layout mode?
> > Source/WebCore/rendering/ResolvedSimpleLines.h:38 > > +class ResolvedSimpleLines { > > The "resolved" doesn't really communicate anything I think.
It communicates that these are resolved lines. Data structures (SimpleLineLayout::Line) are kept unresolved to save space. Line rects and baselines are resolved on demand.
Antti Koivisto
Comment 31
2013-10-18 11:12:28 PDT
> It communicates that these are resolved lines. Data structures (SimpleLineLayout::Line) are kept unresolved to save space. Line rects and baselines are resolved on demand.
Whether it is worth communicating is another matter.
Andreas Kling
Comment 32
2013-10-19 06:52:46 PDT
Comment on
attachment 214574
[details]
another View in context:
https://bugs.webkit.org/attachment.cgi?id=214574&action=review
> Source/WebCore/editing/TextIterator.cpp:531 > + while (runEnd < str.length() && (isCollapsibleWhitespace(str[runEnd]) || str[runEnd] == '\t')) > + ++runEnd;
You might be able to tighten this loop by putting the StringImpl in a local, since both length() and operator[] will do null checks.
> Source/WebCore/editing/TextIterator.cpp:547 > + while (runEnd < str.length() && !isCollapsibleWhitespace(str[runEnd])) > + ++runEnd;
This loop would benefit as well.
> Source/WebCore/rendering/RenderBlock.cpp:3519 > + if (!child->hasSelfPaintingLayer() && !child->isFloating() && child->nodeAtPoint(request, result, locationInContainer, childPoint, childHitTest))
I would do the !isFloating() check first, since that's just a bit test.
> Source/WebCore/rendering/RenderFullScreen.cpp:38 > -using namespace WebCore; > +namespace WebCore {
wat. We should fix this separately :)
> Source/WebCore/rendering/RenderTreeAsText.cpp:253 > + if (text.containingBlock()->isTableCell()) > + y -= toRenderTableCell(o.containingBlock())->intrinsicPaddingBefore();
Should put containingBlock() in a local since it's nontrivial.
> Source/WebCore/rendering/RenderTreeAsText.cpp:545 > + if (o.containingBlock()->isTableCell()) > + y -= toRenderTableCell(o.containingBlock())->intrinsicPaddingBefore();
Ditto.
> Source/WebCore/rendering/RenderTreeAsText.cpp:598 > + for (InlineTextBox* box = text.firstTextBox(); box; box = box->nextTextBox()) {
auto?
> Source/WebCore/rendering/RenderTreeAsText.cpp:604 > + const SimpleLineLayout* simpleLineLayout = text.parent()->isRenderBlockFlow() ? toRenderBlockFlow(text.parent())->simpleLineLayout() : nullptr; > + if (simpleLineLayout) {
if (auto simpleLineLayout = ...)?
> Source/WebCore/rendering/ResolvedSimpleLines.h:131 > + , m_string(toRenderText(*flow.firstChild()).text())
Does ResolvedSimpleLines really need to hold a strong ref on the text?
> Source/WebCore/rendering/SimpleLineLayout.cpp:270 > + Line line; > + line.textOffset = lineStartOffset; > + line.textLength = lineEndOffset - lineStartOffset; > + line.width = lineWidth.committedWidth(); > + > + m_lines.append(line);
You could C++11'ize this: m_lines.append({lineStartOffset, lineEndOffset - lineStartOffset, lineWidth.committedWidth()}); If m_lines is only going to be built once, the member should be something with less overhead than Vector. You could even go all 2012 and make it a variable-sized object :)
EFL EWS Bot
Comment 33
2013-10-20 09:21:20 PDT
Comment on
attachment 214574
[details]
another
Attachment 214574
[details]
did not pass efl-wk2-ews (efl-wk2): Output:
http://webkit-queues.appspot.com/results/7758010
Antti Koivisto
Comment 34
2013-10-23 06:13:39 PDT
Created
attachment 214949
[details]
another
Antti Koivisto
Comment 35
2013-10-23 06:30:15 PDT
Created
attachment 214952
[details]
and another
Build Bot
Comment 36
2013-10-23 07:16:05 PDT
Comment on
attachment 214952
[details]
and another
Attachment 214952
[details]
did not pass win-ews (win): Output:
http://webkit-queues.appspot.com/results/9688008
EFL EWS Bot
Comment 37
2013-10-23 07:22:18 PDT
Comment on
attachment 214952
[details]
and another
Attachment 214952
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/9678011
Build Bot
Comment 38
2013-10-23 07:26:38 PDT
Comment on
attachment 214952
[details]
and another
Attachment 214952
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/9678010
New failing tests: compositing/regions/floated-region-with-transformed-child.html compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
Build Bot
Comment 39
2013-10-23 07:26:44 PDT
Created
attachment 214957
[details]
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-12 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Build Bot
Comment 40
2013-10-23 07:48:48 PDT
Comment on
attachment 214952
[details]
and another
Attachment 214952
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/9658015
New failing tests: compositing/regions/floated-region-with-transformed-child.html compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
Build Bot
Comment 41
2013-10-23 07:48:53 PDT
Created
attachment 214960
[details]
Archive of layout-test-results from webkit-ews-05 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-05 Port: mac-mountainlion Platform: Mac OS X 10.8.5
EFL EWS Bot
Comment 42
2013-10-23 08:00:03 PDT
Comment on
attachment 214952
[details]
and another
Attachment 214952
[details]
did not pass efl-wk2-ews (efl-wk2): Output:
http://webkit-queues.appspot.com/results/9878014
kov's GTK+ EWS bot
Comment 43
2013-10-23 08:38:31 PDT
Comment on
attachment 214952
[details]
and another
Attachment 214952
[details]
did not pass gtk-ews (gtk): Output:
http://webkit-queues.appspot.com/results/6078066
Build Bot
Comment 44
2013-10-23 08:49:52 PDT
Comment on
attachment 214952
[details]
and another
Attachment 214952
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/9918009
New failing tests: compositing/regions/floated-region-with-transformed-child.html compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
Build Bot
Comment 45
2013-10-23 08:49:57 PDT
Created
attachment 214967
[details]
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-02 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Antti Koivisto
Comment 46
2013-10-23 11:38:59 PDT
Created
attachment 214975
[details]
yet another
Build Bot
Comment 47
2013-10-23 12:40:18 PDT
Comment on
attachment 214975
[details]
yet another
Attachment 214975
[details]
did not pass win-ews (win): Output:
http://webkit-queues.appspot.com/results/10148009
EFL EWS Bot
Comment 48
2013-10-23 13:01:41 PDT
Comment on
attachment 214975
[details]
yet another
Attachment 214975
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/10068018
EFL EWS Bot
Comment 49
2013-10-23 15:08:43 PDT
Comment on
attachment 214975
[details]
yet another
Attachment 214975
[details]
did not pass efl-wk2-ews (efl-wk2): Output:
http://webkit-queues.appspot.com/results/10298030
Antti Koivisto
Comment 50
2013-10-23 16:15:39 PDT
Created
attachment 215008
[details]
patch
Build Bot
Comment 51
2013-10-23 17:02:29 PDT
Comment on
attachment 215008
[details]
patch
Attachment 215008
[details]
did not pass win-ews (win): Output:
http://webkit-queues.appspot.com/results/10528013
Darin Adler
Comment 52
2013-10-23 23:40:25 PDT
Comment on
attachment 215008
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=215008&action=review
Looks good.
> Source/WebCore/dom/Position.cpp:648 > + auto textRenderer = toRenderText(renderer);
I would have written: auto& textRenderer = toRenderText(*renderer);
> Source/WebCore/rendering/RenderBlockFlow.cpp:3006 > +void RenderBlockFlow::layoutSimpleLines(LayoutUnit& repaintLogicalTop, LayoutUnit& repaintLogicalBottom)
The verb lay out is two separate words, so it would be best if this function had a capital O in its name.
> Source/WebCore/rendering/RenderBlockFlow.cpp:3028 > +void RenderBlockFlow::ensureLineBoxes()
I’m not a big fan of this use of the word ensure. Would it really be so bad to call this createLineBoxes?
> Source/WebCore/rendering/RenderText.cpp:282 > + // FIXME: These will go away when simple layout can do everything. > + const_cast<RenderText&>(*this).ensureLineBoxes();
It’s a little unclear what “these” means here. I would prefer a comment at each call site, saying something more like “Remove this once simple layout can handle it.”
> Source/WebCore/rendering/RenderText.cpp:518 > + if (preferredLogicalWidthsDirty()) > + const_cast<RenderText*>(this)->computePreferredLogicalWidths(0); > + > + return m_knownToHaveNoOverflowAndNoFallbackFonts;
Lame how non-obvious that we have to call computePreferredLogicalWidths for its side effect of setting m_knownToHaveNoOverflowAndNoFallbackFonts.
> Source/WebCore/rendering/RenderText.cpp:891 > + if (simpleLines()) > + m_linesDirty = true; > + else > + m_linesDirty = m_lineBoxes.dirtyRange(*this, offset, end, delta);
Could write this with || instead. I think it would read pretty well that way.
> Source/WebCore/rendering/SimpleLineLayout.cpp:139 > + // This rejects anything with more than one concecutive whitespace, except at the beginning or end.
Typo: concecutive
> Source/WebCore/rendering/SimpleLineLayout.cpp:142 > + if (character == ' ' || character == '\n' || character == '\t')
Could use the isWhitespace function from below if you defined it earlier.
> Source/WebCore/rendering/SimpleLineLayout.cpp:156 > + // All RTL characters are above this. > + static const UChar hebrewRangeStart = 0x590;
Might call this firstRTLCharacter or lowestRTLCharacter instead of hebrewRangeStart, then you could omit the comment.
> Source/WebCore/rendering/SimpleLineLayout.cpp:175 > + while (offset < length) {
Would read nicer as a for loop rather than a while loop: for (; offset < length; ++offset)
> Source/WebCore/rendering/SimpleLineLayout.h:46 > +typedef Vector<Line> Lines;
If we never resize these vectors after creating them, then we might want to consider using std::unique_ptr<Lines[]> instead to save some overhead, but I guess we’d need to store the length somewhere.
> Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp:55 > + String string = textRenderer.text();
Looks like this isn’t used.
> Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp:76 > +// context.setStrokeColor(Color(0, 255, 0), ColorSpaceDeviceRGB); > +// context.setStrokeThickness(4.0f); > +// context.setFillColor(Color::transparent, ColorSpaceDeviceRGB); > +// auto box = computeBoundingBox(layout, textRenderer); > +// box.moveBy(flooredIntPoint(paintOffset)); > +// context.drawRect(box);
Oops, left this commented-out code in here.
> Source/WebCore/rendering/SimpleLineLayoutFunctions.h:100 > + for (unsigned lineIndex = 0; lineIndex < lines.size(); ++lineIndex) {
I’d suggest just using “i” here instead of lineIndex.
> Source/WebCore/rendering/SimpleLineLayoutFunctions.h:112 > + for (unsigned lineIndex = 0; lineIndex < lines.size(); ++lineIndex) {
I’d suggest just using “i” here instead of lineIndex.
Antti Koivisto
Comment 53
2013-10-24 13:30:04 PDT
https://trac.webkit.org/r157950
Antti Koivisto
Comment 54
2013-10-24 13:40:32 PDT
(In reply to
comment #52
)
> The verb lay out is two separate words, so it would be best if this function had a capital O in its name.
It is a verb in WebKit!
Roger Fong
Comment 55
2013-10-24 18:38:53 PDT
Caused many failures on Windows:
http://build.webkit.org/builders/Apple%20Win%207%20Debug%20%28Tests%29/builds/55613/steps/layout-test/logs/stdio
for which I filed a bug:
https://bugs.webkit.org/show_bug.cgi?id=123309
Csaba Osztrogonác
Comment 56
2013-10-25 03:41:00 PDT
(In reply to
comment #55
)
> Caused many failures on Windows:
http://build.webkit.org/builders/Apple%20Win%207%20Debug%20%28Tests%29/builds/55613/steps/layout-test/logs/stdio
> > for which I filed a bug:
https://bugs.webkit.org/show_bug.cgi?id=123309
It broke everything on GTK and EFL too, it isn't Windows specific bug at all.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug