[DirectWrite] Set minimum anti-aliased font size on a per script basis

Change FontCacheSkiaWin to set the minimum font size for anti aliasing
on a per script basis and assign min sizes for Han, Hiragana, Katakana,
Hangul, and Bengali. The current values where chosen by picking the
minimum value for which Wikipedia in said script was legible and will
likely require further tweaking based on user input.

R=dglazkov@chromium.org
BUG=357864

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170608 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove WebFrame::findChildByExpression.

This was used to find frames by xpath, but it has no remaining callers.

BUG=304341
TEST=no change

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170609 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Begin simplifying CompositedLayerMapping::updateAfterLayout

This CL unpacks the arguments to updateAfterLayout from being a bit field to
being separate Boolean values. As part of that unpacking, I learned that one of
the bits is always set, which let me remove an argument to
updateCompositingDescendantGeometry because it was always the same.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170610 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Check for null selectors when looping in findBestRuleSetAndAdd.

This is necessary because a relation() of SubSelector does not in all cases guarantee that tagHistory() is non-NULL.

This happens in particular for this selector:

af|inputtext:focus::content { ... }

BUG=358475

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170611 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove software path from filters: FEColorMatrix.

BUG=357672

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170612 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove some checks from SharedStyleFinder

Element::supportsStyleSharing() always returns false for elements that
are hovered, focused or active or are the :target so we don't need to
check those in the SharedStyleFinder.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170613 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Allow <use> inside author shadow roots

This patch fixes a bug where <use> elements did not work in author shadow
trees due to a restriction that <use> trees are not expanded inside
shadow trees. This restriction was in place so that we don't nest <use>
shadow trees but instead expand nested <use> elements manually using
the top-level <use> element.

For example:
<defs>
__<use id="a">
____<rect>
__<use id="b" xlink:href="#a">
</defs>
<use id="c" xlink:href="#b">

When creating the "c" shadow tree, "b" is first added:
<use id="c">
__#user-agent-shadow-root
____<use id="b">

And then "b" is "expanded" (see: expandUseElementsInShadowTree):
<use id="c">
__#user-agent-shadow-root
____<g id="b">
______<use id="a">

Finally "a" is "expanded":
<use id="c">
__#user-agent-shadow-root
____<g id="b">
______<g id="a">
________<rect>

The checks preventing <use> tree expansion in shadow trees were
intended to prevent the nested <use> elements (or <symbol>) from
creating nested shadow roots--notice there is only one shadow root
in the above example.

This patch switches the isInShadowTree checks with isInUserAgentShadowTree
which will prevent <use> elements from cloning their targets when nested
inside another <use> shadow tree, but allow <use> elements with author
shadow roots.

BUG=356891

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

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