Closed
Bug 1463116
Opened 6 years ago
Closed 6 years ago
Make mBindingParent strong
Categories
(Core :: DOM: Core & HTML, enhancement)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla62
Tracking | Status | |
---|---|---|
firefox62 | --- | fixed |
People
(Reporter: smaug, Assigned: smaug)
References
Details
Attachments
(3 files)
6.20 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
6.19 KB,
patch
|
Details | Diff | Splinter Review | |
6.21 KB,
patch
|
Details | Diff | Splinter Review |
To make binding parent handling less weird, the edge should just be strong.
remote: View your change here:
remote: https://hg.mozilla.org/try/rev/446b0808ed8358ab332889b15b0b82decf88a133
remote:
remote: Follow the progress of your build on Treeherder:
remote: https://treeherder.mozilla.org/#/jobs?repo=try&revision=446b0808ed8358ab332889b15b0b82decf88a133
remote: recorded changegroup in replication log in 0.114s
Assignee | ||
Comment 1•6 years ago
|
||
Comment on attachment 8979216 [details] [diff] [review]
strong_binding_parent.diff
(making mBindingParent RefPtr<Element> should be a separate bug. )
Attachment #8979216 -
Flags: review?(bzbarsky)
Comment 2•6 years ago
|
||
Comment on attachment 8979216 [details] [diff] [review]
strong_binding_parent.diff
I guess mParent is a strong ref too, right?
r=me
Attachment #8979216 -
Flags: review?(bzbarsky) → review+
Assignee | ||
Comment 3•6 years ago
|
||
For nodes? Yes, except when mParent is pointing to a document object
https://searchfox.org/mozilla-central/rev/8affe6e83188787eb61fe0528eeb6eef6081ba06/dom/base/nsINode.h#2088
That is why traversing uses parent only when it is nsIContent
https://searchfox.org/mozilla-central/rev/8affe6e83188787eb61fe0528eeb6eef6081ba06/dom/base/nsINode.cpp#1213
Assignee | ||
Comment 4•6 years ago
|
||
apparently mRawPtr in Rust code doesn't work in opt builds.
raw() does.
Pushed by opettay@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/603804d62ce8
Make mBindingParent strong, r=bz
Assignee | ||
Comment 6•6 years ago
|
||
and apparently that doesn't compile on debug builds :/
Comment 7•6 years ago
|
||
Backed out changeset 603804d62ce8 (bug 1463116) for force-cargo-library-build bustage on a CLOSED TREE
Failure: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&fromchange=b1cccafd336d8d49669fba317f1284eafac11cd0&filter-classifiedState=unclassified&selectedJob=179551395
Problematic push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=603804d62ce82bbb6fe906bcf928eb8e7b8ae9aa&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified
Backout: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=2a1fcd68d469390ce02e5d7faa88f75e34a9a35f&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified
Log: https://treeherder.mozilla.org/logviewer.html#?job_id=179551395&repo=mozilla-inbound&lineNumber=13315
[task 2018-05-21T20:53:05.668Z] 20:53:05 INFO - Caused by:
[task 2018-05-21T20:53:05.674Z] 20:53:05 INFO - process didn't exit successfully: `/builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/rustc/bin/rustc --crate-name style servo/components/style/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=1 -C panic=abort -C debuginfo=2 -C debug-assertions=on --cfg feature="bindgen" --cfg feature="fallible" --cfg feature="gecko" --cfg feature="gecko_debug" --cfg feature="nsstring" --cfg feature="num_cpus" --cfg feature="regex" --cfg feature="style_traits" --cfg feature="toml" --cfg feature="use_bindgen" -C metadata=714f8cda62484d6e -C extra-filename=-714f8cda62484d6e --out-dir /builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps --target armv7-linux-androideabi -C linker=/builds/worker/workspace/build/src/build/cargo-linker -L dependency=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps -L dependency=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/debug/deps --extern uluru=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libuluru-20434e37e69ca03f.rlib --extern byteorder=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libbyteorder-550648dfe7ae9549.rlib --extern matches=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libmatches-56acf9e234c282ee.rlib --extern num_integer=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libnum_integer-3eab04ec9cd99aba.rlib --extern cssparser=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libcssparser-17395a941d2b7132.rlib --extern malloc_size_of_derive=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/debug/deps/libmalloc_size_of_derive-29de3729fd672be7.so --extern itoa=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libitoa-c4b3d7a343d3e689.rlib --extern ordered_float=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libordered_float-d9fc58ae6cc65db7.rlib --extern unicode_segmentation=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libunicode_segmentation-f256f720258f0625.rlib --extern time=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libtime-48d855d4c2680ddf.rlib --extern fallible=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libfallible-e6cbf6d76c4de80c.rlib --extern nsstring=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libnsstring-3519ef22a56d3d36.rlib --extern atomic_refcell=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libatomic_refcell-556af103e8e30006.rlib --extern num_traits=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libnum_traits-bc48d0ccc731bf13.rlib --extern cfg_if=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libcfg_if-e3aeb334f086a177.rlib --extern owning_ref=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libowning_ref-483210186c426511.rlib --extern itertools=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libitertools-78d6c99f05e640ff.rlib --extern servo_arc=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libservo_arc-33e5cc2ba56eb30c.rlib --extern num_cpus=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libnum_cpus-edda5d88714a1a53.rlib --extern bitflags=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libbitflags-a7effbdee272ce6c.rlib --extern euclid=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libeuclid-d28f9f09f112b19d.rlib --extern lazy_static=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/liblazy_static-cd5be94cee915c5a.rlib --extern fnv=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libfnv-80655ca9a64cb4d1.rlib --extern app_units=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libapp_units-c66d51bd31fe3dd6.rlib --extern rayon=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/librayon-9ea34fac00d699c1.rlib --extern arrayvec=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libarrayvec-dee8343dde84982c.rlib --extern unicode_bidi=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libunicode_bidi-9a9f68c0484cd7e5.rlib --extern selectors=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libselectors-80ab3b72d5c536f0.rlib --extern log=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/liblog-1283b516bcd66a57.rlib --extern hashglobe=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libhashglobe-b40d07ad7d9afab9.rlib --extern malloc_size_of=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libmalloc_size_of-ae6fd4badf9bd71d.rlib --extern smallvec=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libsmallvec-cafd91718a922977.rlib --extern debug_unreachable=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libdebug_unreachable-6996cd7074a71d31.rlib --extern style_derive=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/debug/deps/libstyle_derive-dcc7f356b4f78229.so --extern style_traits=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libstyle_traits-70a4290aaf2d7e34.rlib --extern void=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libvoid-77d4696c62687c67.rlib --extern precomputed_hash=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libprecomputed_hash-b7471b866e74d643.rlib --extern smallbitvec=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libsmallbitvec-3b06015f432ff68a.rlib --extern parking_lot=/builds/worker/workspace/build/src/obj-firefox/toolkit/library/armv7-linux-androideabi/debug/deps/libparking_lot-ac720d203990a759.rlib -C opt-level=2 -C debuginfo=2` (exit code: 101)
[task 2018-05-21T20:53:05.676Z] 20:53:05 INFO - /builds/worker/workspace/build/src/config/rules.mk:950: recipe for target 'force-cargo-library-build' failed
[task 2018-05-21T20:53:05.676Z] 20:53:05 INFO - make[4]: *** [force-cargo-library-build] Error 101
[task 2018-05-21T20:53:05.677Z] 20:53:05 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/toolkit/library/rust'
[task 2018-05-21T20:53:05.678Z] 20:53:05 INFO - /builds/worker/workspace/build/src/config/recurse.mk:73: recipe for target 'toolkit/library/rust/target' failed
[task 2018-05-21T20:53:05.679Z] 20:53:05 INFO - make[3]: *** [toolkit/library/rust/target] Error 2
[task 2018-05-21T20:53:05.680Z] 20:53:05 INFO - make[3]: *** Waiting for unfinished jobs....
Flags: needinfo?(bugs)
Assignee | ||
Comment 8•6 years ago
|
||
huh, need to explicitly pass type on debug builds but not on opt :/
Flags: needinfo?(bugs)
Assignee | ||
Comment 9•6 years ago
|
||
This might compile on opt and debug builds
Comment 10•6 years ago
|
||
Pushed by opettay@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/03487dd40d9b
Make mBindingParent strong, r=bz
Comment 11•6 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox62:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•