[SVG] isOutermostSVGSVGElement() should always be true for foreignObject <svg> children.

For <svg> elements we instantiate either a RenderSVGRoot renderer or a
RenderSVGViewportContainer renderer depending on whether
isOutermostSVGSVGElement() is true.

RenderSVGForeignObject inherits from RenderSVGBlock and uses
RenderBlock::layout() to layout its children. But RenderBlock::layout()
doesn't know how to handle non RenderBoxModelObject-derived children,
so for FO <svg> children we must always use RenderSVGRoot renderers.

Currently isOutermostSVGSVGElement() has an explicit rule to enforce
this, but it can be overridden by an earlier shadow tree test. Since
RenderSVGForeignObject simply cannot layout RenderSVGViewportContainer
children, the rule needs to be prioritized.

R=schenney@chromium.org,pdr@chromium.org,inferno@chromium.org
BUG=299993

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

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