DevTools: added Text Autosize record type to Timeline

Add InspectorInstrumentation::{will,did}AutosizeText and "Autosize Text"
timeline record.

BUG=302892

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159974 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Update the first letter when the first line is changed by adding a new text at its start.

CSS first-letter property does not work properly when the first letter is changed
by DOM scripting. This patch allows us to update the first letter and remaining text when the
first letter is changed.

The original patch was reverted due to the bad cast regression on ClusterFuzz.
https://codereview.chromium.org/25713009/

BUG=92797
TEST=fast/css/first-letter-block-change.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159975 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make WebPrivateOwnPtr inherited from WebNonCopyable

Make WebPrivateOwnPtr inherited from WebNonCopyable rather than declare private copy constructor and assignment operator inside WebPrivateOwnPtr.
Another rational is that the assignment operator was declared wrongly in WebPrivateOwnPtr.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159976 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix handling of tests that fail two different ways in run-webkit-tests.

This is a follow-on to r159630. It turns out I wasn't covering the
case where a test fails two different ways, and the second failure
is actually an expected failure.

Also clean up the testing logic a bit and make sure print-json-test-results
is updated w/ the correct parsing logic (cloned downstream in
build/android/bb_device_steps.py).

Note that the code was working correctly, but the tests were bad. This change fixes the tests but does not change the code.

R=ojan@chromium.org
BUG=307277

update tests

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159977 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Assume coords of (0,0) for simulated clicks on <input type=image>

Activating an image button with the keyboard or element.click() should
result in selected coords of (0,0). This is consistent with the spec and
IE and Firefox.

The relevant spec is:
"If the user activates the control without explicitly selecting a
coordinate, then the coordinate (0,0) must be assumed."
http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#image-button-state-(type=image)

WebKit also had this behavior until
http://trac.webkit.org/changeset/136280

BUG=306392

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159978 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove setExclusionRectangle() API from InputMethodContext.

At the latest editor's draft of IME API, this method was dropped.
https://dvcs.w3.org/hg/ime-api/diff/10a3d6ec9336/Overview.html

BUG=238585
TEST=don't break any tests

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159979 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reset mouseCapture between tests if a mouse button wasn't released

Many tests call eventSender.mouseDown without then calling the
corresponding mouseUp method. For tests involving plugins we need to
reset the m_mouseCaptureNode between runs or events for the subsequent
test(s) will not be routed to the correct plugin instance.

BUG=305016
TEST=plugins/change-widget-and-click-crash.html plugins/plugin-initiate-popup-window.html
R=jsbell@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159980 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move DateMath weekdayName/monthName arrays to .rodata section

Move WTF::DateMath's weekdayName/monthName arrays from
.data.rel.ro.local section to .rodata section by leveraging the
fact that all the strings held in these arrays have the same size.
We can therefore define the arrays as:
const char weekdayName[7][4] = { ... };
instead of
const char* const weekdayName[7] = { ... };

This gets rid of all pointers and enables placing these arrays in
readonly memory.

This makes sure that they are shared between different library
instances, and should help saving RAM on mobile. This also reduces
the number of relocations in libchromeview_prebuilt.so by 31
according to relinfo.

BUG=249746

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

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