Connect previous point when drawing ellipse

In optimized path to add ellipse to path, it forgets to connect to
previous point. The condition to enable this fast path is a bit too
strict, and a later function addArc would handle some more generic cases
(sweepDegrees > 360). So this patch suggests to leave out this fast
path.

BUG=288574

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159994 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fixes various problems with the widows implementation

It blocks the landing of the patch for the issue 302458.

1. Rework the way widows relayout is timed. Currently, the widows relayout
is the last one triggered on the box child after it internally finished the
layout. This can cause problems if the box needs repositioning (e.g. because
of floats) and the widows layout overlaps the positioning layout. This can
trigger a new widows condition which is not taken into account (also leaving
a stale pointer behind). The patch changes the widows implementation to use
the line index instead of the line pointer to mark the break point inside the
block and moves the widows relayout inside the block.

2. Add a new function updateRegionForLine that updates the containing region
for a line and the flag used to determine if it's the first line in that region.
This is necessary because the code in adjustLinePositionForPagination is not
sufficient to determine when an unforced break occurs and the line being
positioned is the first one in the fragmentation container or not.

BUG=302458

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159995 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Handle the case of no underlying node when computing cursor change.

This fixes a regression introduced by r159019.

R=dglazkov
BUG=306919

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159996 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactor classes related to an event path and merge them into a new class, EventPath.

This is a follow-up patch for r159319 and a continued effort to make a calculation of an event path simpler.
EventPath, which was a *typedef* defined in EventContext.h, is now a separated class.
EventPathWalker and old *EventPath* have gone and been merged into a new EventPath class.

To prevent this patch bigger, I've not moved several static functions in EventRetargeter.
A follow-up patch will move those functions to EventPath.

BUG=305924

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159997 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[WebSocket] Add a trivial optimization on permessage-deflate.

A very short message consits of one frame should not be compressed.
Fixed WebSocket Deflater unit tests.

BUG=163882
R=tyoshino

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159998 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix compilation error of public/platform/WebFloatRect.h for MSVC 2013

This patch fixes compilation error of public/platform/WebFloatRect.h for MSVC 2013.

Error message on MSVC 2013:
d:\src\w\cr\src\third_party\webkit\public\platform\webfloatrect.h(111) : error C2039: 'max' : is not a member of 'std'

BUG=n/a
TEST=n/a; no behavior changes.

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

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