Ruby layout doesn't play nice with ::first-line

NEW
Unassigned

Status

()

P3
normal
a year ago
23 days ago

People

(Reporter: bzbarsky, Unassigned)

Tracking

(Blocks: 1 bug)

53 Branch
Points:
---

Firefox Tracking Flags

(firefox57 wontfix)

Details

One of the testcases I wrote for bug 1388625 asserts in Gecko (without those changes):

###!!! ASSERTION: Wrong parent style context: 'Error', file /Users/bzbarsky/mozilla/vanilla/mozilla/layout/base/RestyleManager.cpp, line 582
Wrong parent style context:  style: 0x11991b838 :first-line {}
should be using:  style: 0x11248fa48 {}

The testcase is:

<!DOCTYPE html>
<style>
    div::first-line { color: green }
</style>
<body style="width: 100px" onload="document.body.style.width = 'auto'">
  <div>
    <span style="display: ruby-base-container">Some</span>
    <span style="display: ruby-base-container">text that is fairly long</span>
  </div>
</body>

No idea what the right rendering is here.

I expect the problem is that ruby code pulls things like inline frames do, but may not be doing the expected reparenting when crossing first-line boundaries?
Priority: -- → P3
Ruby code does pull things like inline frames, and I'm not aware of special handling of reparenting for that. 

Probably we need to somehow replicate or reuse nsInlineFrame's ReparentChildListStyle function in nsRubyFrame and nsRubyBaseContainerFrame (both of the two frames have pulling code).

Updated

11 months ago
status-firefox57: --- → wontfix
Component: Layout → Layout: Ruby
You need to log in before you can comment on or make changes to this bug.