Return early and decline analysis when linting within unsafe functions for must_root analysis.

Removes a handful of whitelist annotations obsoleted by this change. fixes #3658
Make the gonk port work again
CEF updates for Linux / MiniServo-GTK.
auto merge of #4317 : glennw/servo/linux-cef-fixes, r=pcwalton
auto merge of #4316 : michaelwu/servo/fix-gonk, r=glennw

This makes the gonk port build/work again after the recent CEF port update.
layout: Implement `text-transform`.

The Unicode awareness of `text-transform` is implemented as well as
possible given the Rust standard library's Unicode support. In
particular, the notion of an alphabetic character is used instead of a
letter.

Gecko has a subclass of text run to handle text transforms, but I
implemented this in a simpler way.
auto merge of #4311 : pcwalton/servo/text-transform, r=SimonSapin

The Unicode awareness of `text-transform` is implemented as well as
possible given the Rust standard library's Unicode support. In
particular, the notion of an alphabetic character is used instead of a
letter.

Gecko has a subclass of text run to handle text transforms, but I
implemented this in a simpler way.

r? @SimonSapin
Update skia + azure to get android compile and text rendering fixes. Sync CEF as well.
auto merge of #4321 : glennw/servo/update-azure-skia-android, r=larsbergstrom
Update ./mach update-cargo to include gonk Cargo.lock
auto merge of #4322 : glennw/servo/gonk-update-cargo, r=larsbergstrom
Avoid some Option::unwrap calls in page.rs.
Reindent in should_move_clip_rect.
All root layers should mask their content

Root layers that define the extent of iframes should always mask their
child content. This fixes a bug where root layers without an assigned
size and location do not spill over the entire scene.
Hit test against clipped layer boundaries

When finding the layer under a point, take into account clipping
rectangles defined by layers that mask to bounds. This prevents clicks
from being hijacked by masked layers.
auto merge of #4330 : Ms2ger/servo/page, r=jdm
auto merge of #4329 : mrobinson/servo/phantom-layer, r=pcwalton

At various moments, whether due to timing or layout issues, root layers (iframes) do not have a size and location. We modify the compositor to have all root layers mask to their content boundaries whether they have a frame rect or not. Uninitialized layers have empty boundaries, so they will disappear from the page. We also have to ensure that clicks to not go to areas of layers that are masked away. This fixes issues where ads on github take over the entire viewport.
Pass the timing information to PerformanceTiming rather than exposing methods.
some fixes for multiple-mode textinput
Add support for the 'rem' css unit