Added unit tests for RenderGeometryMap

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177546 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Implement "Copy image" for canvas (blink side).

Many users want to copy the image of <canvas> to clipboard. (like <img>)
As well as being useful, The feature is already supported in Firefox and IE.

Chromium side:
  https://codereview.chromium.org/275833002/

BUG=369092

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177547 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Directly update composited transforms

This CL introduces a special case for updating composited transforms. Now when an
element with an inline transform is composited, we can skip the bulk of the work
in the compositing update and directly update the transform of its graphics layer.

To make this work, we need to skip the overlap test, which does work proportional
to (the square of) the size of the document. We do this by assuming that later
RenderLayers overlap layers that are composited and have inline transforms. Most
of these layers will squash back down into a single graphics layer, so we won't
cause a layer explosion.

In RenderLayer::styleChanged, we recognize the condition for a direct transform
update and simply mark a single CompositedLayerMapping as needing a local graphics
update. We could save more time by introducing a smaller GraphicsLayerUpdateScope
just for transforms, but that's work for a future CL.

This CL makes the compositing update for the Polymer calculator ~9.1x faster. The
entire time spent below WebViewImpl::layout is ~3.3x faster.

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177495

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177548 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix close-before-handshake-response.html

WebSocket layout test close-before-handshake-response.html failed with
the new WebSocket implementation as it did not expect an error
event. This behaviour is different from the old implementation.

Fixed by ignoring the error event.

The WebSocket API spec used to require that onerror not be fired in the
OPENING state, so the old implementation used to be correct, but the
latest spec simply requires onerror for all unclean closures, making the
new implementation correct.

BUG=339373
TEST=layout tests

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

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

Remove SVGPaint usage, instead use CSSValueList and CSSPrimitiveValue
for the fill/stroke CSS values.
This allows us to remove SVGPaint specific code in CSSValue.

Note that new result for svg/css/svg-attribute-parser-mode.svg matches
FireFox.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177550 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Clean liveLocations stored in Linkifier when target is gone

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177551 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: [CodeMirror] fix indentation after "Enter" in certain cases

This patch fixes an error in BlockIndentController. The root cause of
the issue was the incorrect usage of String.prototype.substr method,
which for the negative values of the first argument returns
substrings starting from the line end.

BUG=391403

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177552 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Add UI dialog to manage framework blackboxing patterns.

BUG=267592
R=vsevik

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177553 bbb929c8-8fbe-4397-9dbb-9b2b20218538
dom: Makes EventTarget inherit from ScriptWrappable.

This CL makes EventTarget inherit from ScriptWrappable and makes Node not directly inherit from ScriptWrappable.

The old class hierarchy
  ScriptWrappable <--+-- Node
  EventTarget <-----/

The new class hierarchy
  ScriptWrappable <-- EventTarget <-- Node

Many other classes follow this manner, too.

This is part of a refactoring of DOM-V8 binding.  The design document is here:
https://docs.google.com/a/chromium.org/document/d/1uubaJGw0DVz0LwEEfHMVYBlrpFfoHzKyW60wBe6x58o/edit

BUG=235436

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177554 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Nuke TracingBasedTimelineFlameChartDataProvider

Build tracing-based timeline flamechart basing on timeline records. As these support filtering and other useful stuff.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177555 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: [timeline] regression: do not collect trace events by default.

Tracing infrastructure enables by default all standard events if no not disabled categories were specified.
So we need to explicitly exclude enabled by default categories.

BUG=361045

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177556 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: NetworkPanel: do not track list of requests.

BUG=

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

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