DevTools: Update breakpoint in debugger only if it was actually changed

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179207 bbb929c8-8fbe-4397-9dbb-9b2b20218538
HTMLTextFormElement.setSelectionRange should not trigger a synchronous layout. 

HTMLTextFormElement.setSelectionRange creates VisiblePosition from |start| and 
|end| and calls FrameSelection::setSelection to set Selection.
VisiblePosition causes synchronous layout.
However we implement text field as a shadow element including only div and text 
nodes. 
This means we can set Selection without VisiblePosition.

Source/core/editing/FrameSelection.cpp/h:
- Add localCaretRectWithoutUpdateForTesting(), which returns base's same function. 
This looks strange but FrameSelection inherits privately CaretBase.
- If selection is on a textfield, we can avoid layout and visible validation.

Source/core/html/HTMLTextFormControlElement.cpp:
- Introduce positionForIndex and indexForPosition functions converting Position
from/to index.
- Change setSelectionRange to use them.

Source/core/html/HTMLTextFormControlElementTest.cpp:
- Introduce the SetSelectionRangeDoesNotCauseLayout test.


This cl includes the porting from rniwa@apple.com's changes on WebKit: 
https://bugs.webkit.org/show_bug.cgi?id=128478 
https://bugs.webkit.org/show_bug.cgi?id=128806 
BUG=382809,397303
TEST=HTMLTextFormControlElementTest.cpp

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179208 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove the user-defined empty WTF::String destructor

Remove the user-defined empty WTF::String destructor:
- It prevents from generating implicitly-declared move/copy
constructors (when C++11 features are enabled).
- Its removal decreases content_shell binary size by 8096 bytes
(linux release build) and slightly simplifies the WTF::String
class declaration.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179209 bbb929c8-8fbe-4397-9dbb-9b2b20218538
ReadableStream initial implementation

ReadableStream is part of the Streams API:
https://github.com/whatwg/streams

This CL also adds GC instructions to suppress false mock leakage reports.

BUG=393911
R=tyoshino

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

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