Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wait as late as possible to assign ClipIds #18951

Merged

Conversation

@mrobinson
Copy link
Member

mrobinson commented Oct 19, 2017


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • These changes fix #__ (github issue number if applicable).
  • There are tests for these changes OR
  • These changes do not require tests because they should not change behavior.

This change is Reviewable

@mrobinson mrobinson requested a review from glennw Oct 19, 2017
@highfive
Copy link

highfive commented Oct 19, 2017

Heads up! This PR modifies the following files:

  • @emilio: components/layout/display_list_builder.rs, components/layout/traversal.rs, components/layout/table_colgroup.rs, components/layout/webrender_helpers.rs, components/layout/flow.rs
@highfive
Copy link

highfive commented Oct 19, 2017

warning Warning warning

  • These commits modify gfx and layout code, but no tests are modified. Please consider adding a test!
@mrobinson
Copy link
Member Author

mrobinson commented Oct 19, 2017

@glennw This is the first step toward eliminating rounded rectangle from LocalClip. After this we just need to:

  1. Extend the opaque rectangle optimization to ClipScrollTree nodes
  2. Create ClipScrollTree nodes for per-item rounded rectangles in Servo
@bors-servo
Copy link
Contributor

bors-servo commented Oct 19, 2017

The latest upstream changes (presumably #18809) made this pull request unmergeable. Please resolve the merge conflicts.

@mrobinson mrobinson force-pushed the mrobinson:later-id-assignment-for-clip-scroll-nodes branch from 8a156cb to a0c12b6 Oct 19, 2017
@glennw
Copy link
Member

glennw commented Oct 19, 2017

Reviewed 6 of 6 files at r1.
Review status: all files reviewed at latest revision, 3 unresolved discussions, some commit checks failed.


components/gfx/display_list/mod.rs, line 229 at r1 (raw file):

            perspective: perspective,
            scroll_policy: scroll_policy,
            parent_clipping_and_scrolling: parent_clipping_and_scrolling,

nit: could use the new syntax to avoid duplicating the names here


components/layout/display_list_builder.rs, line 215 at r1 (raw file):

            id: Some(ClipId::root_scroll_node(pipeline_id.to_webrender())),
            parent_index: ClipScrollNodeIndex(0),
            clip: ClippingRegion::from_rect(&TypedRect::zero()),

Should this be zero?


components/layout/display_list_builder.rs, line 275 at r1 (raw file):

    stacking_context_info: FnvHashMap<StackingContextId, StackingContextInfo>,

    //pub clip_scroll_nodes: FnvHashMap<ClipId, ClipScrollNode>,

remove this?


Comments from Reviewable

@glennw
glennw approved these changes Oct 19, 2017
Copy link
Member

glennw left a comment

Nice! One question - and a couple of minor nits.

r=me once those are resolved.

@jdm
Copy link
Member

jdm commented Oct 20, 2017

error[E0063]: missing field `clip_scroll_nodes` in initializer of `gfx::display_list::DisplayList`
  --> C:\projects\servo\tests\unit\metrics\paint_time.rs:63:30
   |
63 |     let empty_display_list = DisplayList {
   |                              ^^^^^^^^^^^ missing `clip_scroll_nodes`
error[E0061]: this function takes 0 parameters but 1 parameter was supplied
  --> C:\projects\servo\tests\unit\metrics\paint_time.rs:77:38
   |
77 |         base: BaseDisplayItem::empty(TEST_PIPELINE_ID),
   |                                      ^^^^^^^^^^^^^^^^ expected 0 parameters
error[E0063]: missing field `clip_scroll_nodes` in initializer of `gfx::display_list::DisplayList`
  --> C:\projects\servo\tests\unit\metrics\paint_time.rs:89:24
   |
89 |     let display_list = DisplayList {
   |                        ^^^^^^^^^^^ missing `clip_scroll_nodes`
error: aborting due to 3 previous errors
   Compiling layout_tests v0.0.1 (file:///C:/projects/servo/tests/unit/layout)
@bors-servo
Copy link
Contributor

bors-servo commented Oct 20, 2017

The latest upstream changes (presumably #18960) made this pull request unmergeable. Please resolve the merge conflicts.

@mrobinson
Copy link
Member Author

mrobinson commented Oct 20, 2017

Review status: all files reviewed at latest revision, 3 unresolved discussions, some commit checks failed.


components/gfx/display_list/mod.rs, line 229 at r1 (raw file):

Previously, glennw (Glenn Watson) wrote…

nit: could use the new syntax to avoid duplicating the names here

Oh. Good idea. I'll do that.


components/layout/display_list_builder.rs, line 215 at r1 (raw file):

Previously, glennw (Glenn Watson) wrote…

Should this be zero?

This node is only used to take up a spot in the list of ClipScrollNodes the real root scroll node is added by WebRender (though I think we should change that eventually, because it's an extra node that Gecko doesn't need).


components/layout/display_list_builder.rs, line 275 at r1 (raw file):

Previously, glennw (Glenn Watson) wrote…

remove this?

Thanks! Not sure how that slipped through. I'll also add a documentation comment for the member.


Comments from Reviewable

@mrobinson mrobinson force-pushed the mrobinson:later-id-assignment-for-clip-scroll-nodes branch from a0c12b6 to b3c8e4e Oct 20, 2017
@bors-servo
Copy link
Contributor

bors-servo commented Oct 20, 2017

The latest upstream changes (presumably #18956) made this pull request unmergeable. Please resolve the merge conflicts.

@mrobinson mrobinson force-pushed the mrobinson:later-id-assignment-for-clip-scroll-nodes branch from b3c8e4e to cc7b01d Oct 22, 2017
@mrobinson
Copy link
Member Author

mrobinson commented Oct 22, 2017

@bors-servo r=glennw

@bors-servo
Copy link
Contributor

bors-servo commented Oct 22, 2017

📌 Commit cc7b01d has been approved by glennw

@bors-servo
Copy link
Contributor

bors-servo commented Oct 22, 2017

Testing commit cc7b01d with merge 627559f...

bors-servo added a commit that referenced this pull request Oct 22, 2017
…nodes, r=glennw

Wait as late as possible to assign ClipIds

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18951)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 22, 2017

💔 Test failed - linux-rel-css

@KiChjang
Copy link
Member

KiChjang commented Oct 22, 2017

  ▶ TIMEOUT [expected PASS] /css-transforms-1_dev/html/transform-transformable-table-cell.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ assertion failed: !self.nodes.contains_key(&id) (thread RenderBackend, at /home/servo/.cargo/git/checkouts/webrender-c3596abe1cf4f320/37d5319/webrender/src/clip_scroll_tree.rs:496)
  │ stack backtrace:
  │    0:     0x7fb0b9f227fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7fb0b9f22832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7fb0b8d5ee95 - servo::main::{{closure}}::h678e9ff3a3121b63
  │    3:     0x7fb0bb0d8466 - std::panicking::rust_panic_with_hook
  │                         at /checkout/src/libstd/panicking.rs:578
  │    4:     0x7fb0ba00058a - std::panicking::begin_panic::h266c95ad72c0914a
  │    5:     0x7fb0ba03983b - webrender::clip_scroll_tree::ClipScrollTree::add_node::hd6f64dd3b8c22399
  │    6:     0x7fb0ba047ea8 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    7:     0x7fb0ba04c3c3 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    8:     0x7fb0ba05169a - webrender::frame::Frame::flatten_root::h095fc92fc906312c
  │    9:     0x7fb0ba0459af - webrender::frame::Frame::create::h7c4a89459944d89e
  │   10:     0x7fb0ba06d0f0 - webrender::render_backend::RenderBackend::process_document::hcece7dd7b5b1a9a0
  │   11:     0x7fb0ba071c38 - webrender::render_backend::RenderBackend::run::h480b3cf79044fc4b
  │   12:     0x7fb0b9fff843 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5f451ab271bdec9d
  │   13:     0x7fb0ba001305 - std::panicking::try::do_call::h6976c29bf98f411c
  │   14:     0x7fb0bb0df5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   15:     0x7fb0ba01c382 - <F as alloc::boxed::FnBox<A>>::call_box::h492cac8b4d693e2e
  │   16:     0x7fb0bb0d717b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   17:     0x7fb0b6e28183 - start_thread
  │   18:     0x7fb0b6532ffc - clone
  │   19:                0x0 - <unknown>
  └ ERROR:servo: assertion failed: !self.nodes.contains_key(&id)

  ▶ TIMEOUT [expected PASS] /css-transforms-1_dev/html/transform-transformable-table-row-group.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ assertion failed: !self.nodes.contains_key(&id) (thread RenderBackend, at /home/servo/.cargo/git/checkouts/webrender-c3596abe1cf4f320/37d5319/webrender/src/clip_scroll_tree.rs:496)
  │ stack backtrace:
  │    0:     0x7fe19159c7fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7fe19159c832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7fe1903d8e95 - servo::main::{{closure}}::h678e9ff3a3121b63
  │    3:     0x7fe192752466 - std::panicking::rust_panic_with_hook
  │                         at /checkout/src/libstd/panicking.rs:578
  │    4:     0x7fe19167a58a - std::panicking::begin_panic::h266c95ad72c0914a
  │    5:     0x7fe1916b383b - webrender::clip_scroll_tree::ClipScrollTree::add_node::hd6f64dd3b8c22399
  │    6:     0x7fe1916c1ea8 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    7:     0x7fe1916c63c3 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    8:     0x7fe1916cb69a - webrender::frame::Frame::flatten_root::h095fc92fc906312c
  │    9:     0x7fe1916bf9af - webrender::frame::Frame::create::h7c4a89459944d89e
  │   10:     0x7fe1916e70f0 - webrender::render_backend::RenderBackend::process_document::hcece7dd7b5b1a9a0
  │   11:     0x7fe1916ebc38 - webrender::render_backend::RenderBackend::run::h480b3cf79044fc4b
  │   12:     0x7fe191679843 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5f451ab271bdec9d
  │   13:     0x7fe19167b305 - std::panicking::try::do_call::h6976c29bf98f411c
  │   14:     0x7fe1927595ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   15:     0x7fe191696382 - <F as alloc::boxed::FnBox<A>>::call_box::h492cac8b4d693e2e
  │   16:     0x7fe19275117b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   17:     0x7fe18e4a2183 - start_thread
  │   18:     0x7fe18dbacffc - clone
  │   19:                0x0 - <unknown>
  └ ERROR:servo: assertion failed: !self.nodes.contains_key(&id)

  ▶ TIMEOUT [expected PASS] /css-transforms-1_dev/html/transform-transformable-table-footer-group.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ assertion failed: !self.nodes.contains_key(&id) (thread RenderBackend, at /home/servo/.cargo/git/checkouts/webrender-c3596abe1cf4f320/37d5319/webrender/src/clip_scroll_tree.rs:496)
  │ stack backtrace:
  │    0:     0x7f0300a227fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7f0300a22832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7f02ff85ee95 - servo::main::{{closure}}::h678e9ff3a3121b63
  │    3:     0x7f0301bd8466 - std::panicking::rust_panic_with_hook
  │                         at /checkout/src/libstd/panicking.rs:578
  │    4:     0x7f0300b0058a - std::panicking::begin_panic::h266c95ad72c0914a
  │    5:     0x7f0300b3983b - webrender::clip_scroll_tree::ClipScrollTree::add_node::hd6f64dd3b8c22399
  │    6:     0x7f0300b47ea8 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    7:     0x7f0300b4c3c3 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    8:     0x7f0300b5169a - webrender::frame::Frame::flatten_root::h095fc92fc906312c
  │    9:     0x7f0300b459af - webrender::frame::Frame::create::h7c4a89459944d89e
  │   10:     0x7f0300b6d0f0 - webrender::render_backend::RenderBackend::process_document::hcece7dd7b5b1a9a0
  │   11:     0x7f0300b71c38 - webrender::render_backend::RenderBackend::run::h480b3cf79044fc4b
  │   12:     0x7f0300aff843 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5f451ab271bdec9d
  │   13:     0x7f0300b01305 - std::panicking::try::do_call::h6976c29bf98f411c
  │   14:     0x7f0301bdf5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   15:     0x7f0300b1c382 - <F as alloc::boxed::FnBox<A>>::call_box::h492cac8b4d693e2e
  │   16:     0x7f0301bd717b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   17:     0x7f02fd928183 - start_thread
  │   18:     0x7f02fd032ffc - clone
  │   19:                0x0 - <unknown>
  └ ERROR:servo: assertion failed: !self.nodes.contains_key(&id)

  ▶ TIMEOUT [expected PASS] /css-transforms-1_dev/html/transform-transformable-table-header-group.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ assertion failed: !self.nodes.contains_key(&id) (thread RenderBackend, at /home/servo/.cargo/git/checkouts/webrender-c3596abe1cf4f320/37d5319/webrender/src/clip_scroll_tree.rs:496)
  │ stack backtrace:
  │    0:     0x7f984f8ee7fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7f984f8ee832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7f984e72ae95 - servo::main::{{closure}}::h678e9ff3a3121b63
  │    3:     0x7f9850aa4466 - std::panicking::rust_panic_with_hook
  │                         at /checkout/src/libstd/panicking.rs:578
  │    4:     0x7f984f9cc58a - std::panicking::begin_panic::h266c95ad72c0914a
  │    5:     0x7f984fa0583b - webrender::clip_scroll_tree::ClipScrollTree::add_node::hd6f64dd3b8c22399
  │    6:     0x7f984fa13ea8 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    7:     0x7f984fa183c3 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    8:     0x7f984fa1d69a - webrender::frame::Frame::flatten_root::h095fc92fc906312c
  │    9:     0x7f984fa119af - webrender::frame::Frame::create::h7c4a89459944d89e
  │   10:     0x7f984fa390f0 - webrender::render_backend::RenderBackend::process_document::hcece7dd7b5b1a9a0
  │   11:     0x7f984fa3dc38 - webrender::render_backend::RenderBackend::run::h480b3cf79044fc4b
  │   12:     0x7f984f9cb843 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5f451ab271bdec9d
  │   13:     0x7f984f9cd305 - std::panicking::try::do_call::h6976c29bf98f411c
  │   14:     0x7f9850aab5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   15:     0x7f984f9e8382 - <F as alloc::boxed::FnBox<A>>::call_box::h492cac8b4d693e2e
  │   16:     0x7f9850aa317b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   17:     0x7f984c7f4183 - start_thread
  │   18:     0x7f984befeffc - clone
  │   19:                0x0 - <unknown>
  └ ERROR:servo: assertion failed: !self.nodes.contains_key(&id)

  ▶ TIMEOUT [expected PASS] /css-transforms-1_dev/html/transform-transformable-table-row.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ assertion failed: !self.nodes.contains_key(&id) (thread RenderBackend, at /home/servo/.cargo/git/checkouts/webrender-c3596abe1cf4f320/37d5319/webrender/src/clip_scroll_tree.rs:496)
  │ stack backtrace:
  │    0:     0x7f28d4a6b7fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7f28d4a6b832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7f28d38a7e95 - servo::main::{{closure}}::h678e9ff3a3121b63
  │    3:     0x7f28d5c21466 - std::panicking::rust_panic_with_hook
  │                         at /checkout/src/libstd/panicking.rs:578
  │    4:     0x7f28d4b4958a - std::panicking::begin_panic::h266c95ad72c0914a
  │    5:     0x7f28d4b8283b - webrender::clip_scroll_tree::ClipScrollTree::add_node::hd6f64dd3b8c22399
  │    6:     0x7f28d4b90ea8 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    7:     0x7f28d4b953c3 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    8:     0x7f28d4b9a69a - webrender::frame::Frame::flatten_root::h095fc92fc906312c
  │    9:     0x7f28d4b8e9af - webrender::frame::Frame::create::h7c4a89459944d89e
  │   10:     0x7f28d4bb60f0 - webrender::render_backend::RenderBackend::process_document::hcece7dd7b5b1a9a0
  │   11:     0x7f28d4bbac38 - webrender::render_backend::RenderBackend::run::h480b3cf79044fc4b
  │   12:     0x7f28d4b48843 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5f451ab271bdec9d
  │   13:     0x7f28d4b4a305 - std::panicking::try::do_call::h6976c29bf98f411c
  │   14:     0x7f28d5c285ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   15:     0x7f28d4b65382 - <F as alloc::boxed::FnBox<A>>::call_box::h492cac8b4d693e2e
  │   16:     0x7f28d5c2017b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   17:     0x7f28d1971183 - start_thread
  │   18:     0x7f28d107bffc - clone
  │   19:                0x0 - <unknown>
  └ ERROR:servo: assertion failed: !self.nodes.contains_key(&id)

  ▶ TIMEOUT [expected PASS] /css21_dev/html4/overflow-applies-to-014.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ assertion failed: !self.nodes.contains_key(&id) (thread RenderBackend, at /home/servo/.cargo/git/checkouts/webrender-c3596abe1cf4f320/37d5319/webrender/src/clip_scroll_tree.rs:496)
  │ stack backtrace:
  │    0:     0x7fc2c65af7fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7fc2c65af832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7fc2c53ebe95 - servo::main::{{closure}}::h678e9ff3a3121b63
  │    3:     0x7fc2c7765466 - std::panicking::rust_panic_with_hook
  │                         at /checkout/src/libstd/panicking.rs:578
  │    4:     0x7fc2c668d58a - std::panicking::begin_panic::h266c95ad72c0914a
  │    5:     0x7fc2c66c683b - webrender::clip_scroll_tree::ClipScrollTree::add_node::hd6f64dd3b8c22399
  │    6:     0x7fc2c66d4ea8 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    7:     0x7fc2c66d93c3 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    8:     0x7fc2c66de69a - webrender::frame::Frame::flatten_root::h095fc92fc906312c
  │    9:     0x7fc2c66d29af - webrender::frame::Frame::create::h7c4a89459944d89e
  │   10:     0x7fc2c66fa0f0 - webrender::render_backend::RenderBackend::process_document::hcece7dd7b5b1a9a0
  │   11:     0x7fc2c66fec38 - webrender::render_backend::RenderBackend::run::h480b3cf79044fc4b
  │   12:     0x7fc2c668c843 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5f451ab271bdec9d
  │   13:     0x7fc2c668e305 - std::panicking::try::do_call::h6976c29bf98f411c
  │   14:     0x7fc2c776c5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   15:     0x7fc2c66a9382 - <F as alloc::boxed::FnBox<A>>::call_box::h492cac8b4d693e2e
  │   16:     0x7fc2c776417b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   17:     0x7fc2c34b5183 - start_thread
  │   18:     0x7fc2c2bbfffc - clone
  │   19:                0x0 - <unknown>
  └ ERROR:servo: assertion failed: !self.nodes.contains_key(&id)

  ▶ TIMEOUT [expected PASS] /css-transforms-1_dev/html/transform-transformable-table-caption.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ assertion failed: !self.nodes.contains_key(&id) (thread RenderBackend, at /home/servo/.cargo/git/checkouts/webrender-c3596abe1cf4f320/37d5319/webrender/src/clip_scroll_tree.rs:496)
  │ stack backtrace:
  │    0:     0x7fe6849ef7fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7fe6849ef832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7fe68382be95 - servo::main::{{closure}}::h678e9ff3a3121b63
  │    3:     0x7fe685ba5466 - std::panicking::rust_panic_with_hook
  │                         at /checkout/src/libstd/panicking.rs:578
  │    4:     0x7fe684acd58a - std::panicking::begin_panic::h266c95ad72c0914a
  │    5:     0x7fe684b0683b - webrender::clip_scroll_tree::ClipScrollTree::add_node::hd6f64dd3b8c22399
  │    6:     0x7fe684b14ea8 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    7:     0x7fe684b193c3 - webrender::frame::Frame::flatten_item::hccc787735072f84f
  │    8:     0x7fe684b1e69a - webrender::frame::Frame::flatten_root::h095fc92fc906312c
  │    9:     0x7fe684b129af - webrender::frame::Frame::create::h7c4a89459944d89e
  │   10:     0x7fe684b3a0f0 - webrender::render_backend::RenderBackend::process_document::hcece7dd7b5b1a9a0
  │   11:     0x7fe684b3ec38 - webrender::render_backend::RenderBackend::run::h480b3cf79044fc4b
  │   12:     0x7fe684acc843 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5f451ab271bdec9d
  │   13:     0x7fe684ace305 - std::panicking::try::do_call::h6976c29bf98f411c
  │   14:     0x7fe685bac5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   15:     0x7fe684ae9382 - <F as alloc::boxed::FnBox<A>>::call_box::h492cac8b4d693e2e
  │   16:     0x7fe685ba417b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   17:     0x7fe6818f5183 - start_thread
  │   18:     0x7fe680fffffc - clone
  │   19:                0x0 - <unknown>
  └ ERROR:servo: assertion failed: !self.nodes.contains_key(&id)

  ▶ CRASH [expected FAIL] /css21_dev/html4/first-letter-punctuation-175.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ Stack trace for thread "LayoutThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZero(NonZero(1))) }"
  │ stack backtrace:
  │    0:     0x7f48400507fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7f4840050832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7f483ee8922d - servo::install_crash_handler::handler::hf41992c1c102afe7
  │    3:     0x7f4840e9aeb3 - AsmJSFaultHandler
  │                         at /home/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/424067c/mozjs/js/src/asmjs/WasmSignalHandlers.cpp:1171
  │    4:     0x7f483cf5e32f - <unknown>
  │    5:     0x7f4840762ae0 - TT_Load_Glyph_Header
  │    6:     0x7f484076f538 - load_truetype_glyph
  │    7:     0x7f4840770978 - TT_Load_Glyph
  │    8:     0x7f4840720834 - FT_Load_Glyph
  │    9:     0x7f4840784ed3 - af_latin_metrics_init_blues
  │   10:     0x7f4840785b4f - af_latin_metrics_init
  │   11:     0x7f4840783c46 - af_autofitter_load_glyph
  │   12:     0x7f4840720a71 - FT_Load_Glyph
  │   13:     0x7f484044f59b - <gfx::platform::freetype::font::FontHandle as gfx::font::FontHandleMethods>::glyph_h_advance::h7e08023d10129bd6
  │   14:     0x7f484043f8b7 - gfx::font::Font::glyph_h_advance::hf68ef5150efa240e
  │   15:     0x7f484045431f - gfx::text::shaping::harfbuzz::glyph_h_advance_func::h70645a4d1d8df5cc
  │   16:     0x7f4840685863 - _hb_ot_shape
  │   17:     0x7f4840682541 - hb_shape_plan_execute
  │   18:     0x7f4840681d56 - hb_shape_full
  │   19:     0x7f4840452f48 - <gfx::text::shaping::harfbuzz::Shaper as gfx::text::shaping::ShaperMethods>::shape_text::h4c2a98fa7550a7e8
  │   20:     0x7f484043e897 - gfx::font::Font::shape_text::h30e480d492134113
  │   21:     0x7f484045486c - gfx::text::text_run::TextRun::break_and_shape::h7345889d38ee5de7
  │   22:     0x7f4840454597 - gfx::text::text_run::TextRun::new::ha246c852e1142c15
  │   23:     0x7f483f2b7001 - layout::text::TextRunScanner::scan_for_runs::hcb7d80eed458291f
  │   24:     0x7f483f1c9ad2 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block_starting_with_fragments::h7441efa4eec3e22a
  │   25:     0x7f483f1c85b4 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block_like::h637f6ef3d728da25
  │   26:     0x7f483f1c7bad - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block::h65a53cfb41a02ffd
  │   27:     0x7f483f1408a2 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode> as layout::traversal::PostorderNodeMutTraversal<ConcreteThreadSafeLayoutNode>>::process::h03f4c9ba343f7090
  │   28:     0x7f483f1a0661 - style::traversal::DomTraversal::handle_postorder_traversal::h48c828b1a8ee8122
  │   29:     0x7f483f205be5 - layout_thread::LayoutThread::handle_reflow::hf2719a4ce9ff9efd
  │   30:     0x7f483f1f5e30 - layout_thread::LayoutThread::handle_request_helper::h4937aba9034d5419
  │   31:     0x7f483f1f1761 - <layout_thread::LayoutThread as layout_traits::LayoutThreadFactory>::create::{{closure}}::ha59fe6a3f6913e9e
  │   32:     0x7f483f155095 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d6dde71491d955b
  │   33:     0x7f483f158bb5 - std::panicking::try::do_call::h4f25cf058e1210a0
  │   34:     0x7f484120d5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   35:     0x7f483f18ce62 - <F as alloc::boxed::FnBox<A>>::call_box::hee2a277c787803f1
  │   36:     0x7f484120517b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   37:     0x7f483cf56183 - start_thread
  │   38:     0x7f483c660ffc - clone
  │   39:                0x0 - <unknown>
  │ Stack trace for thread "LayoutThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZero(NonZero(1))) }"
  │ stack backtrace:
  │    0:     0x7f48400507fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7f4840050832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7f483ee8922d - servo::install_crash_handler::handler::hf41992c1c102afe7
  │    3:     0x7f483c599caf - <unknown>
  │    4:     0x7f483ee892a0 - servo::install_crash_handler::handler::hf41992c1c102afe7
  │    5:     0x7f4840e9aeb3 - AsmJSFaultHandler
  │                         at /home/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/424067c/mozjs/js/src/asmjs/WasmSignalHandlers.cpp:1171
  │    6:     0x7f483cf5e32f - <unknown>
  │    7:     0x7f4840762ae0 - TT_Load_Glyph_Header
  │    8:     0x7f484076f538 - load_truetype_glyph
  │    9:     0x7f4840770978 - TT_Load_Glyph
  │   10:     0x7f4840720834 - FT_Load_Glyph
  │   11:     0x7f4840784ed3 - af_latin_metrics_init_blues
  │   12:     0x7f4840785b4f - af_latin_metrics_init
  │   13:     0x7f4840783c46 - af_autofitter_load_glyph
  │   14:     0x7f4840720a71 - FT_Load_Glyph
  │   15:     0x7f484044f59b - <gfx::platform::freetype::font::FontHandle as gfx::font::FontHandleMethods>::glyph_h_advance::h7e08023d10129bd6
  │   16:     0x7f484043f8b7 - gfx::font::Font::glyph_h_advance::hf68ef5150efa240e
  │   17:     0x7f484045431f - gfx::text::shaping::harfbuzz::glyph_h_advance_func::h70645a4d1d8df5cc
  │   18:     0x7f4840685863 - _hb_ot_shape
  │   19:     0x7f4840682541 - hb_shape_plan_execute
  │   20:     0x7f4840681d56 - hb_shape_full
  │   21:     0x7f4840452f48 - <gfx::text::shaping::harfbuzz::Shaper as gfx::text::shaping::ShaperMethods>::shape_text::h4c2a98fa7550a7e8
  │   22:     0x7f484043e897 - gfx::font::Font::shape_text::h30e480d492134113
  │   23:     0x7f484045486c - gfx::text::text_run::TextRun::break_and_shape::h7345889d38ee5de7
  │   24:     0x7f4840454597 - gfx::text::text_run::TextRun::new::ha246c852e1142c15
  │   25:     0x7f483f2b7001 - layout::text::TextRunScanner::scan_for_runs::hcb7d80eed458291f
  │   26:     0x7f483f1c9ad2 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block_starting_with_fragments::h7441efa4eec3e22a
  │   27:     0x7f483f1c85b4 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block_like::h637f6ef3d728da25
  │   28:     0x7f483f1c7bad - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block::h65a53cfb41a02ffd
  │   29:     0x7f483f1408a2 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode> as layout::traversal::PostorderNodeMutTraversal<ConcreteThreadSafeLayoutNode>>::process::h03f4c9ba343f7090
  │   30:     0x7f483f1a0661 - style::traversal::DomTraversal::handle_postorder_traversal::h48c828b1a8ee8122
  │   31:     0x7f483f205be5 - layout_thread::LayoutThread::handle_reflow::hf2719a4ce9ff9efd
  │   32:     0x7f483f1f5e30 - layout_thread::LayoutThread::handle_request_helper::h4937aba9034d5419
  │   33:     0x7f483f1f1761 - <layout_thread::LayoutThread as layout_traits::LayoutThreadFactory>::create::{{closure}}::ha59fe6a3f6913e9e
  │   34:     0x7f483f155095 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d6dde71491d955b
  │   35:     0x7f483f158bb5 - std::panicking::try::do_call::h4f25cf058e1210a0
  │   36:     0x7f484120d5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   37:     0x7f483f18ce62 - <F as alloc::boxed::FnBox<A>>::call_box::hee2a277c787803f1
  │   38:     0x7f484120517b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   39:     0x7f483cf56183 - start_thread
  │   40:     0x7f483c660ffc - clone
  └   41:                0x0 - <unknown>

  ▶ CRASH [expected FAIL] /css21_dev/html4/content-counter-010.htm
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 17.3.0-devel
  │ Stack trace for thread "LayoutThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZero(NonZero(1))) }"
  │ stack backtrace:
  │    0:     0x7ff8808327fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7ff880832832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7ff87f66b22d - servo::install_crash_handler::handler::hf41992c1c102afe7
  │    3:     0x7ff88167ceb3 - AsmJSFaultHandler
  │                         at /home/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/424067c/mozjs/js/src/asmjs/WasmSignalHandlers.cpp:1171
  │    4:     0x7ff87d74032f - <unknown>
  │    5:     0x7ff87fa6bc29 - layout::fragment::Fragment::reset_text_range_and_inline_size::h2c2d01d87393ecaa
  │    6:     0x7ff87fa768f7 - <layout::inline::InlineFlow as layout::flow::Flow>::assign_block_size::h32c078e593bd9dd4
  │    7:     0x7ff87fa813c8 - layout::sequential::reflow::doit::h815195e0110844eb
  │    8:     0x7ff87fa813c8 - layout::sequential::reflow::doit::h815195e0110844eb
  │    9:     0x7ff87fa813c8 - layout::sequential::reflow::doit::h815195e0110844eb
  │   10:     0x7ff87f9dfb90 - layout_thread::LayoutThread::solve_constraints::hc0be02f3cd5a97b1
  │   11:     0x7ff87f9ed40d - layout_thread::LayoutThread::perform_post_style_recalc_layout_passes::ha175ca81e1b78682
  │   12:     0x7ff87f9e8576 - layout_thread::LayoutThread::handle_reflow::hf2719a4ce9ff9efd
  │   13:     0x7ff87f9d7e30 - layout_thread::LayoutThread::handle_request_helper::h4937aba9034d5419
  │   14:     0x7ff87f9d3761 - <layout_thread::LayoutThread as layout_traits::LayoutThreadFactory>::create::{{closure}}::ha59fe6a3f6913e9e
  │   15:     0x7ff87f937095 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d6dde71491d955b
  │   16:     0x7ff87f93abb5 - std::panicking::try::do_call::h4f25cf058e1210a0
  │   17:     0x7ff8819ef5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   18:     0x7ff87f96ee62 - <F as alloc::boxed::FnBox<A>>::call_box::hee2a277c787803f1
  │   19:     0x7ff8819e717b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   20:     0x7ff87d738183 - start_thread
  │   21:     0x7ff87ce42ffc - clone
  │   22:                0x0 - <unknown>
  │ Stack trace for thread "LayoutThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZero(NonZero(1))) }"
  │ stack backtrace:
  │    0:     0x7ff8808327fc - backtrace::backtrace::trace::h3049d3b23f5565ad
  │    1:     0x7ff880832832 - backtrace::capture::Backtrace::new::h48230b597774155d
  │    2:     0x7ff87f66b22d - servo::install_crash_handler::handler::hf41992c1c102afe7
  │    3:     0x7ff87cd7bcaf - <unknown>
  │    4:     0x7ff87f66b2a0 - servo::install_crash_handler::handler::hf41992c1c102afe7
  │    5:     0x7ff88167ceb3 - AsmJSFaultHandler
  │                         at /home/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/424067c/mozjs/js/src/asmjs/WasmSignalHandlers.cpp:1171
  │    6:     0x7ff87d74032f - <unknown>
  │    7:     0x7ff87fa6bc29 - layout::fragment::Fragment::reset_text_range_and_inline_size::h2c2d01d87393ecaa
  │    8:     0x7ff87fa768f7 - <layout::inline::InlineFlow as layout::flow::Flow>::assign_block_size::h32c078e593bd9dd4
  │    9:     0x7ff87fa813c8 - layout::sequential::reflow::doit::h815195e0110844eb
  │   10:     0x7ff87fa813c8 - layout::sequential::reflow::doit::h815195e0110844eb
  │   11:     0x7ff87fa813c8 - layout::sequential::reflow::doit::h815195e0110844eb
  │   12:     0x7ff87f9dfb90 - layout_thread::LayoutThread::solve_constraints::hc0be02f3cd5a97b1
  │   13:     0x7ff87f9ed40d - layout_thread::LayoutThread::perform_post_style_recalc_layout_passes::ha175ca81e1b78682
  │   14:     0x7ff87f9e8576 - layout_thread::LayoutThread::handle_reflow::hf2719a4ce9ff9efd
  │   15:     0x7ff87f9d7e30 - layout_thread::LayoutThread::handle_request_helper::h4937aba9034d5419
  │   16:     0x7ff87f9d3761 - <layout_thread::LayoutThread as layout_traits::LayoutThreadFactory>::create::{{closure}}::ha59fe6a3f6913e9e
  │   17:     0x7ff87f937095 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d6dde71491d955b
  │   18:     0x7ff87f93abb5 - std::panicking::try::do_call::h4f25cf058e1210a0
  │   19:     0x7ff8819ef5ac - panic_unwind::__rust_maybe_catch_panic
  │                         at /checkout/src/libpanic_unwind/lib.rs:99
  │   20:     0x7ff87f96ee62 - <F as alloc::boxed::FnBox<A>>::call_box::hee2a277c787803f1
  │   21:     0x7ff8819e717b - alloc::boxed::{{impl}}::call_once<(),()>
  │                         at /checkout/src/liballoc/boxed.rs:772
  │                          - std::sys_common::thread::start_thread
  │                         at /checkout/src/libstd/sys_common/thread.rs:24
  │                          - std::sys::imp::thread::{{impl}}::new::thread_start
  │                         at /checkout/src/libstd/sys/unix/thread.rs:90
  │   22:     0x7ff87d738183 - start_thread
  │   23:     0x7ff87ce42ffc - clone
  └   24:                0x0 - <unknown>
@mrobinson mrobinson force-pushed the mrobinson:later-id-assignment-for-clip-scroll-nodes branch from cc7b01d to 636722a Oct 23, 2017
@mrobinson
Copy link
Member Author

mrobinson commented Oct 23, 2017

This seems to have exposed some cases where we were inheriting properties that we should not have been for table pseudo-elements (elements created by display: table* properties). I have updated the PR to:

  1. Make sure that the overflow property is not inherited by these elements.
  2. Ensure that ClipScrollNodes are included in display list dumps.

Maybe @emilio can review the changes to resources/servo.css to ensure that they make sense?

This will allow Servo to create ClipScrollNodes later during display
list construction, which will be necessary once rounded rectangles
are removed from the LocalClip structure. Instead of keeping track
of the ClipId of each ClipScrollNode, we keep track of its index in an
array of ClipScrollNodes. This will allow us to access them without a
hash lookup.
@mrobinson mrobinson force-pushed the mrobinson:later-id-assignment-for-clip-scroll-nodes branch from 636722a to 5937f62 Oct 24, 2017
@mrobinson
Copy link
Member Author

mrobinson commented Oct 24, 2017

@bors-servo r=glennw,emilio

@bors-servo
Copy link
Contributor

bors-servo commented Oct 24, 2017

📌 Commit 5937f62 has been approved by glennw,emilio

@bors-servo
Copy link
Contributor

bors-servo commented Oct 24, 2017

Testing commit 5937f62 with merge f26aa3b...

bors-servo added a commit that referenced this pull request Oct 24, 2017
…nodes, r=glennw,emilio

Wait as late as possible to assign ClipIds

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18951)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 24, 2017

@bors-servo bors-servo merged commit 5937f62 into servo:master Oct 24, 2017
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@bors-servo bors-servo mentioned this pull request Oct 24, 2017
0 of 5 tasks complete
@mrobinson mrobinson deleted the mrobinson:later-id-assignment-for-clip-scroll-nodes branch Oct 25, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

6 participants
You can’t perform that action at this time.