SizeComputationInput::DisplayInitOffsetsEnter uses incorrect writing mode

RESOLVED FIXED in Firefox 56

Status

()

Core
Layout
RESOLVED FIXED
11 months ago
11 months ago

People

(Reporter: dbaron, Assigned: dbaron)

Tracking

unspecified
mozilla56
Points:
---

Firefox Tracking Flags

(firefox56 fixed)

Details

Attachments

(2 attachments)

(Assignee)

Description

11 months ago
When I use GECKO_DISPLAY_REFLOW_RULES_FILE with layout/reftests/text-overflow/xulscroll.html, I get assertions from SizeComputationInput::DisplayInitOffsetsEnter because it's using the wrong writing-mode (it seems like it should be using the containing block's writing mode).

###!!! ASSERTION: writing-mode mismatch: 'aWritingMode.IgnoreSideways() == GetWritingMode().IgnoreSideways()', file c:\builds\mozilla-central\obj\firefox-debug-vc14\dist\include\mozilla/WritingModes.h, function ISize, line 999
#01: mozilla::SizeComputationInput::DisplayInitOffsetsEnter (c:\builds\mozilla-central\mozilla\layout\generic\nsframe.cpp:11880)
#02: DR_init_offsets_cookie::DR_init_offsets_cookie (c:\builds\mozilla-central\mozilla\layout\generic\nsframe.cpp:10911)
#03: mozilla::SizeComputationInput::InitOffsets (c:\builds\mozilla-central\mozilla\layout\generic\reflowinput.cpp:2563)
#04: mozilla::SizeComputationInput::SizeComputationInput (c:\builds\mozilla-central\mozilla\layout\generic\reflowinput.cpp:180)
#05: mozilla::BlockReflowInput::FlowAndPlaceFloat (c:\builds\mozilla-central\mozilla\layout\generic\blockreflowinput.cpp:785)
(Assignee)

Comment 2

11 months ago
(Need to clean that up; vim on Windows seems to like inserting tabs...)
(Assignee)

Updated

11 months ago
Assignee: nobody → dbaron
Status: NEW → ASSIGNED
(Assignee)

Comment 3

11 months ago
Created attachment 8884074 [details] [diff] [review]
Pass the correct writing mode to SizeComputationInput::DisplayInitOffsetsEnter

This avoids asserting when the writing mode doesn't correspond to the
one stored (DEBUG-only) in aPercentBasis.

MozReview-Commit-ID: 2OgM9Y9WcGU
Attachment #8884074 - Flags: review?(jfkthame)

Updated

11 months ago
Attachment #8884074 - Flags: review?(jfkthame) → review+
(Assignee)

Comment 4

11 months ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/f07caa23cdbbd19408002a0a0e39866cfee5898c
Bug 1377497 - Pass the correct writing mode to SizeComputationInput::DisplayInitOffsetsEnter.  r=jfkthame
Backed out for bustage at layout/generic/ReflowInput.cpp:2543: macro "DISPLAY_INIT_OFFSETS" passed 6 arguments, but takes just 5:

https://hg.mozilla.org/integration/mozilla-inbound/rev/06f499c38c698c28e198fa47ec09978ab5b2002c

Push with bustage: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=f07caa23cdbbd19408002a0a0e39866cfee5898c&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Build log: https://treeherder.mozilla.org/logviewer.html#?job_id=112613447&repo=mozilla-inbound

[task 2017-07-07T16:45:45.900674Z] 16:45:45     INFO -  In file included from /home/worker/workspace/build/src/obj-firefox/layout/generic/Unified_cpp_layout_generic0.cpp:74:0:
[task 2017-07-07T16:45:45.900780Z] 16:45:45     INFO -  /home/worker/workspace/build/src/layout/generic/ReflowInput.cpp:2543:75: error: macro "DISPLAY_INIT_OFFSETS" passed 6 arguments, but takes just 5
[task 2017-07-07T16:45:45.900828Z] 16:45:45     INFO -     DISPLAY_INIT_OFFSETS(mFrame, this, aPercentBasis, aWM, aBorder, aPadding);
[task 2017-07-07T16:45:45.900869Z] 16:45:45     INFO -                                                                             ^
[task 2017-07-07T16:45:45.900920Z] 16:45:45     INFO -  /home/worker/workspace/build/src/config/rules.mk:1040: recipe for target 'Unified_cpp_layout_generic0.o' failed
[task 2017-07-07T16:45:45.900956Z] 16:45:45     INFO -  gmake[5]: *** [Unified_cpp_layout_generic0.o] Error 1
Flags: needinfo?(dbaron)
(Assignee)

Comment 6

11 months ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/f48de44a55daa4b938e937e502a8ac46da9931a0
Bug 1377497 - Pass the correct writing mode to SizeComputationInput::DisplayInitOffsetsEnter.  r=jfkthame
(Assignee)

Updated

11 months ago
Flags: needinfo?(dbaron)

Comment 7

11 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/f48de44a55da
Status: ASSIGNED → RESOLVED
Last Resolved: 11 months ago
status-firefox56: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.