Move failure_map to be under the builder's json.

I'm updating the flakiness dashboard to use the failure_map and I'm
having to go through contortions to plumb everything through. It should
just be under the builder subtree like everything else. Eventually,
we should stop keying off the builder name entirely and move everything
up one level in the json tree, but we should do that all at once
instead of piecemeal.

NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151131 bbb929c8-8fbe-4397-9dbb-9b2b20218538
When walking the DOM tree during minor GCs, also walk down shadows

We already walk up - if we start the tree walk inside a shadow, we walk
out of the shadow, but never back in. This patch adds support for
walking back in again.

See crbug.com/243856 for an example of where this happens

BUG=243856
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151132 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Pass the EME -v2 tests.

Both tests pass after fixing the tests.
The syntax test had an outdated expectation.
The events test was using addKey() instead of update() so it would never finish.

(Note: r151111 was incorrectly committed under this same description. The correct description for that commit is in r151117.)

BUG=224791
R=abarth@chromium.org, xhwang@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151133 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactor viewport initialization logic out of WebViewImpl.

(Second commit attempt)

This centralizes and brings some structure to viewport initialization,
expressing it as a cascade of constraints expressed as
ViewportAttributes objects.  When any of the constraints changes, a
dirty bit is set, and the page scale factor and fixed-layout size is
recalculated on the next layout.

This refactor mostly maintains existing behavior, but also includes two bugfixes
(with new tests for them):
1. Page scale is now reset to minimum when the content width increases,
even if it was reset in the past.
2. setIgnoreViewportTagMaximumScale now also ignores the minimum (I'll
need to rename this WebKit API).

NOTRY=true
BUG=176998,161695,165688

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151134 bbb929c8-8fbe-4397-9dbb-9b2b20218538
TestExpectation update take XXVII

Win7 seems to be timing out a lot so adding more Slow for this
platform. Also marked more flaky tests (including one where Slow
didn't help).

TBR=jochen@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151135 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove console.profiles from window.console API

This change removes profiles property from window.console
objec and all related classes.
console.profile/profileEnd can still be used to record
profile but the profiles themselves should be retrieved
only using remote debugging protocol.

BUG=240531
R=loislo@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151136 bbb929c8-8fbe-4397-9dbb-9b2b20218538
WebString::assign should try to make 8 bit strings

In profiling Mobile Gmail, about 5% of the 16 bit Strings are created by
WebString:assign. This CL teaches WebString::assign how to create 8 bit
Strings. I don't have numbers on how much memory this CL saves, but it's
an easy memory win.

R=eseidel
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151137 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Next attempt at correctly traversing DOM trees during the minor GC.

This time, I shamelessly copied to logic of Node::showTreeAndMark()
which is hopefully correct.

BUG=243856
R=haraken@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151138 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Dirty SVGInlineTextBox chains when one is dirtied

This re-applies a previous patch,
https://src.chromium.org/viewvc/blink?view=rev&revision=150456,
thought to be made redundant by
https://src.chromium.org/viewvc/blink?view=rev&revision=150718
while apparently still needed to prevent assertions.
Note this is not really a new patch; rather, it is fixing a mistake.

R=aarya@google.com
BUG=243302

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151139 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make RenderQuote a RenderInline

Currently first-letter destroys the renderer when it splits it into RenderTextFragments.
This is bad because it means the RenderQuote will be destroyed when it gets turned into
the first letter. Instead we should make RenderQuote a RenderInline that contains
RenderTextFragments which have the quote text. Then first-letter can split it without
disturbing the RenderQuote.

BUG=177215
R=inferno@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151140 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Improve GraphicsContext inlining and remove some redundant methods.

Move all of the single line methods to be inlined, and move some
multi-line previously inlined methods to no longer be inlined.
Also rearranged the methods to make much more sense.

And remove the paintingDisabled checks for methods that directly call
other methods that do the check. Furthermore, the only methods
that need paintingDisabled checks are those that try to access the
canvas. All others cannot possible cause problems because there
is no way to set the canvas so a GraphicsContext that is initially
paintingDisabled will always be paintingDisabled, and it doesn't
matter what its state is. This means we can make all the getters
and setters of state do not need the extra if statement.

Finally, a couple of methods are no needed as duplicates existed,
and we don't need to store the int-packed color info because it is
trivial and efficient to get it from the Color.

R=pdr@chromium.org
BUG=239585

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151141 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rebaseline svg/custom/unicode-in-tspan-multi-svg-crash.html

The expected result was missing an end-of-line character.

TBR=schenney@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151142 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mobile Gmail should use 100 kB less memory

Previously, string results from WebSQL were always 16 bit strings even if they
could fit into 8 bit strings. This CL tries to create 8 bit strings from sqlite
results when possible.

This CL halves the total number of 16 bit strings retained by Mobile Gmail. It
doesn't halve the total memory used by 16 bit strings, however, because there
appears to be another source of 16 bit strings that tend to be longer on
average. Even so, this CL appears to be worth about 100 kB of memory.

R=eseidel,michealn@chromium.org
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151143 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove more 16 bit strings

These call sites account for 70.12% of the creators of UChar-based String objects in Mobile Gmail. There's no reason for them to operate in terms of UChars. Instead, we can get 8 bit strings out of these code paths.

R=jamesr
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151145 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove guts of WebCompositorInputHandler / WebInputHandler and clients

These interfaces are all now dead code after chromium r201016. There are a
few straggling references left in chromium, so the interfaces can't be
completely removed yet, but this should suffice to keep the build going
while those are removed.

BUG=236096
R=enne
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151146 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove extra indirections from Platform-dependent WTF implementations

The implementations of the WTF functions currentTime(),
monotonicallyIncreasingTime(), callOnMainThread() and cryptographicallySecureRandomValues()
all depend on the WebKit::Platform implementation provided to Blink. These were
implemented with various contortions pre-Blink such as providing the implementation
of WTF symbols in Source/WebKit/chromium/src/. With Blink, we can remove these
indirections and have the code in WTF call directly to the platform code.

R=abarth
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151147 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use failures_by_type and failure_map in the flakiness dashboard code.

-Get rid of all the code that knows about the short version of the failure type
(e.g. 'T'-->TIMEOUT). This means that the short-version are purely implementation
detail of the results json. I plan to change the short versions to ints soon.
-Use failures_by_type for all the failure counts. fixableCount, allFixableCount
and fixableCounts will soon be removed from the JSON.
-Add getTotalTestCounts to dashboard_base so that it can be reused between
timeline_explorer and aggregate_results. It's a bit unfortunate to dump this here,
but I couldn't think of a better place. Down the road, we should probably
have a class that abstracts away the results json format and this function
should go there.
-Add a showOutliers flag to aggregate_results. We've always had this functionality.
This just lets you toggle it on/off.
-Simplify the rawValues view of aggregate_results to have a single table per builder.
The multiple tables only made sense when we tracked deferred/wontfix tests.
-Get rid of expectationsMap now that we use the failure_map from the json.
-Start using constants for the failure types (e.g. PASS instead of 'PASS').
We should eventually migrate all the code over to these constants.
-Remove slowestNonTimeoutCrashTime. This hasn't been used for a while.
-Allow any valid name string for "result" query parameters. The list of
valid result types is in the JSON. We don't really need to validate this
other than as a saftey agaist potential XSS.

R=jparent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151148 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove JSC-specific CPU profiler tests

Tests under LayoutTests/fast/profiler have always been disabled in
Chromium and no one is going to support them. Also tests like
these would likely be implemented as part of v8 test harness
and there is no need to keep the files in Blink repo.

BUG=226949
R=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151150 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Re-enable link highlight expectations after content_shell fix.

NOTRY=true

TBR=jchaffraix@chromium.org
BUG=243357

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

git-svn-id: svn://svn.chromium.org/blink/trunk@151151 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Weekend gardening. Add some more entries for ContentShell.

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