servo/components
bors-servo 0dec64caf0 Auto merge of #6289 - nnethercote:unleak-LOCAL_CONTEXT_KEY, r=pcwalton
`LOCAL_CONTEXT_KEY` is currently a `Cell<*mut LocalLayoutContext>`. The use
of the raw pointer means that the `LocalLayoutContext` is not dropped when
the thread dies; this leaks FreeType instances and probably other
things. There are also some unsafe getter functions in `LayoutContext`
(`font_context`, `applicable_declarations_cache` and
`style_sharing_candidate_cache`) that @eddyb says involve undefined
behaviour.

This changeset changes `LOCAL_CONTEXT_KEY` to
`RefCell<Option<Rc<LocalLayoutContext>>>`. This fixes the leak and also
results in safe getters.

(Fixes #6282.)

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6289)
<!-- Reviewable:end -->
2015-06-09 15:52:45 -06:00
..
canvas Auto merge of #6293 - ecoal95:webgl-objects, r=nox 2015-06-09 10:06:37 -05:00
canvas_traits Implement new WebGL interfaces and methods 2015-06-06 12:14:01 +02:00
compositing Clean up dependencies. 2015-06-07 12:14:38 -06:00
devtools Audit and reduce unstable usage in devtools 2015-06-10 00:14:39 +05:30
devtools_traits Move to latest hyper everywhere 2015-06-02 20:12:14 +05:30
gfx Audit and reduce unstable usage in gfx 2015-06-09 23:24:18 +05:30
gfx_traits Layerize canvas 2015-05-20 19:10:50 +02:00
layout Auto merge of #6289 - nnethercote:unleak-LOCAL_CONTEXT_KEY, r=pcwalton 2015-06-09 15:52:45 -06:00
layout_traits Bump rust-url version: 0.2.16 → 0.2.35 2015-06-04 16:45:15 -04:00
msg Clean up dependencies. 2015-06-07 12:14:38 -06:00
net Audit and reduce unstable usage in net 2015-06-10 00:15:09 +05:30
net_traits Use the correct log crate and setup env_logger in main. 2015-06-06 23:20:40 +03:00
plugins Auto merge of #6297 - brson:inline, r=jdm 2015-06-06 08:25:29 -05:00
profile Audit and reduce unstable usage in profile 2015-06-10 00:20:12 +05:30
profile_traits Bump rust-url version: 0.2.16 → 0.2.35 2015-06-04 16:45:15 -04:00
script Audit and reduce unstable usage in script 2015-06-10 01:20:06 +05:30
script_traits Bump rust-url version: 0.2.16 → 0.2.35 2015-06-04 16:45:15 -04:00
servo Remove stray TLS gate 2015-06-10 01:52:08 +05:30
style Audit and reduce unstable usage in script 2015-06-10 01:24:03 +05:30
util Audit and reduce unstable usage in script 2015-06-10 01:43:44 +05:30
webdriver_server Use the correct log crate and setup env_logger in main. 2015-06-06 23:20:40 +03:00
webdriver_traits Add support for switching frames with the webdriver API. 2015-06-01 23:18:55 +01:00