Test assignment to indexed window properties

The actual bug here was fixed in V8, but we should have a test at the Blink
layer too.

R=adamk
BUG=257748

Review URL: https://chromiumcodereview.appspot.com/19923006

git-svn-id: svn://svn.chromium.org/blink/trunk@154714 bbb929c8-8fbe-4397-9dbb-9b2b20218538
RenderStyle no longer needs to be friends with  RenderSVGResource

Removing another friend declaration that is no longer needed, all the
remeaning ones are still needed but my currentcolor change shold allow
a couple more to be eliminated.

BUG=237268
R=eseidel@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19720005

git-svn-id: svn://svn.chromium.org/blink/trunk@154715 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Only traverse the ShadowRoots once during recalcStyle

Element::recalcStyle called ElementShadow::childNeedsStyleRecalc and needsStyleRecalc
both of which traversed all the ShadowRoots before it decided to traverse the
list of ShadowRoots again. ElementShadow::recalcStyle also called recalcStyle
on each ShadowRoot even if it didn't need it which meant we'd walk all the children
of every ShadowRoot on an Element as soon a single one needed a style recalc.

We can delete a bunch of code, remove the template from shouldRecalcStyle, and
stop doing all this extra traversing by merging the loop into Element::recalcStyle.

Review URL: https://chromiumcodereview.appspot.com/19962003

git-svn-id: svn://svn.chromium.org/blink/trunk@154717 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make run-webkit-tests resilient to errors from wdiff().

Right now if wdiff fails with an error, it crashes run-webkit-tests,
which is overly harsh :). Change things to log the error and mark
wdiff as not available, so that we can keep going.

BUG=255145
R=ojan@chromium.org, iannucci@chromium.org, eseidel@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19601008

git-svn-id: svn://svn.chromium.org/blink/trunk@154718 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Replace scheduleForcedStyleRecalc with setNeedsStyleRecalc

Document::scheduleForcedStyleRecalc used a separate bool to track if the
next style recalc should Force, instead we should just use the same model
as Elements where a SubtreeStyleChange means to Force recalc all descendants.

The only quirk here is that SVG's <use> element can go through
DocumentStyleSheetCollection::updateActiveStyleSheets and call into
Document::setNeedsStyleRecalc in the middle of a style recalc so we need
a hack in Document::recalcStyle to notice if the style resolver needs an update
and reschedule it.

I also removed the unused Document::childNeedsAndNotInStyleRecalc() method.

R=eseidel@chromium.org,ojan@chromium.org,

Review URL: https://chromiumcodereview.appspot.com/19144002

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