Do not lazily allocate SkPaths in Path

Previously we lazily allocated the SkPath in Path.cpp but SkPath
is itself already lazy. This change removes the extreme laziness
that made us slow due to extra null checks.

Primarily this is a straightforward conversion from SkPath* to
SkPath. The additional changes are described below:
1) LinkHighlight.cpp no longer performs a redundant null check.
2) GraphicsContext::{fillPath, clipOut, clipPath, and canvasClip}
   previously copied the const SkPath to make small, temporary
   changes. This change temporarily casts away const to avoid
   these copies.
3) Includes have been "absolutified".

BUG=227397
R=eseidel@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149368 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify `gcc_version' checks.

Follow-up to r196910: now that gcc_version is always defined (to 0 by
default, and a meaningful value when GCC is used in the appropriate
platforms), we can simplify the checks that used to precede it.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149369 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Allow plugins to take Edit Commands

This is the Blink-side change for this Chromium patch:

https://codereview.chromium.org/13973016/

This fixes edit commands on Mac. When a <webview> has focus, all key events go to it. Unhandled key events get plumbed back to the embedder, where it gets an opportunity to give the keys back to the system (Chrome OS search key for example) or convert them to edit commands. Once converted to edit commands, they are issued back to the embedder. The embedder will send the edit commands to the focused plugin if it wishes to process them. The BrowserPlugin consumes the edit commands and plumbs them to the guest.

BUG=230148
R=abarth@chromium.org, dcheng@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149370 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Shorten and simplify wtf/ExportMacros.h

Most of export macros were just empty but it was difficult to see
that due to several other macros never set:
- EXPORT_MACROS
- EXPORT_MACROS_FOR_TESTING
- BUILDING_WTF && STATICALLY_LINKED_WITH_WTF

This change removed several macros, including WTF_EXPORTDATA that
impacted other files, but left some empty macros that were used in
a lot of files to keep this change focused.

R=eseidel@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149372 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove code to support Objective-C bindings

Several bits of core have extra method overloads or even separate methods
that existed only to support WebKit's objc bindings.
There's no need for this code to exist in Blink.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149373 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove [CustomDelteProperty] and [CustomEnumerateProperty] from DOMWindow.idl

It is rediculous to specify [CustomDelteProperty] and [CustomEnumerateProperty]
in DOMWindow.idl, and then disables them in CodeGeneratorV8.pm.

R=abarth,eseidel

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149375 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 149348: Eagerly discard GraphicsContext3D on context loss

This change was causing a browser test
(WebGLInfobarTest.ContextLossInfobarReload) to fail:

TBR=bajones@chromium.org
BUG=235658

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

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