Enable dotted and dashed border support for wr in gecko side

RESOLVED FIXED in mozilla58

Status

()

enhancement
P1
normal
RESOLVED FIXED
2 years ago
Last year

People

(Reporter: kechen, Assigned: kechen)

Tracking

(Depends on 1 bug)

unspecified
mozilla58
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox57 unaffected, firefox58 unaffected)

Details

(Whiteboard: [wr-mvp] [gfx-noted])

Attachments

(1 attachment)

According to Bug 1396491 comment 8, there will be some failure in the crashtest while dotted and dashed border are enabled.
We should find the root cause and fix it.

[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=9cb4ecee842b5b9d0948f0d89cd5b72be52573fd
See Also: → 1396491
The main reason of the timeout failure in the crashtest is the missing DidComposite messages.
The content process didn't received DidComposite messages after the animaton was started so the system always made the early return in nsRefreshDriver::Tick[1] which caused the timeout.

[1] http://searchfox.org/mozilla-central/rev/d0448c970093f94bd986a21d3a9e8c366b316eb4/layout/base/nsRefreshDriver.cpp#1827
So the real problem happened in large-border-radius-dashed.html[1].
When we try to render a border with really large border-radius and styled-border, it takes lots of time to render it, Webrender draws nothing since that test case and the test framework finally gets failure in 1319072-1.html[2] due to the timeout since there is a reftest-wait in it.

In gecko, there is a mechanism to handle this situation which is draw the solid border instead[3]. But that solution is a little weird to me.

The following is my suggestion about this bug:
(1) Implement the same mechanism(like [3]) in Webrender.
(2) Mark fails-if to these crashtest and enable the styled-border in this bug since that's a rare case and open a following bug to discuss if there are other solutions to this.

[1] http://searchfox.org/mozilla-central/rev/8a6a6bef7c54425970aa4fb039cc6463a19c0b7f/layout/generic/crashtests/large-border-radius-dashed.html
[2] http://searchfox.org/mozilla-central/rev/8a6a6bef7c54425970aa4fb039cc6463a19c0b7f/layout/style/crashtests/1319072-1.html
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=382721
Flags: needinfo?(jmuizelaar)
I choose option 2.
Flags: needinfo?(jmuizelaar)
Comment on attachment 8921757 [details]
Bug 1409243 - Enable dotted and dashed border support for webrender;

https://reviewboard.mozilla.org/r/192772/#review200856
Attachment #8921757 - Flags: review?(ethlin) → review+
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/4ecf1d9c1975
Enable dotted and dashed border support for webrender; r=ethlin
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/4ecf1d9c1975
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Duplicate of this bug: 1366090
You need to log in before you can comment on or make changes to this bug.