Renamed :host to :ancestor and made :host to match only shadow host.

BUG=334542
TEST=fast/dom/shadow/ancestor-pseudo-class.html,fast/dom/shadow/host-pseudo-class.html

Review URL: https://codereview.chromium.org/138023007

git-svn-id: svn://svn.chromium.org/blink/trunk@165172 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Support subpixel values for text-shadow and box-shadow

This converts the int members of ShadowData to LayoutUnit and chases
them through the callstack. The actual calls on the context were already
using float.

There are two caveats:
- When border-radius is used, we don't support subpixel spread values. Subpixel blurs and offsets are still supported
- For inset shadows, we don't support subpixel values

Both limitations come from RoundedRect only supporting integer values.

R=leviw@chromium.org
BUG=

Review URL: https://codereview.chromium.org/23241010

git-svn-id: svn://svn.chromium.org/blink/trunk@165173 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Change string version of constructTextRun to compute text direction

Change the string version of RenderBlockFlow::constructTextRun to either
take a text direction parameter or to compute the direction based on the
string if no explicit direction was specified. This in turn allows form
controls, ellipsis boxes and other users of this API to get accurate
metrics for strings where the width is dependent on the directionality.

TEST=fast/text/international/text-overflow-ellipsis-bidi.html
BUG=333004
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/138143008

git-svn-id: svn://svn.chromium.org/blink/trunk@165174 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move isValid implementations into SVGGraphicsElement

All subclasses share the same implementation, so provide
it in SVGGraphicsElement.

Review URL: https://codereview.chromium.org/139813003

git-svn-id: svn://svn.chromium.org/blink/trunk@165175 bbb929c8-8fbe-4397-9dbb-9b2b20218538