trimmed release 18.0.1025.162
trimmed release 19.0.1084.52
trimmed release 20.0.1132.47
trimmed release 20.0.1132.57
trimmed release 21.0.1180.60
trimmed release 23.0.1271.97
trimmed release 24.0.1312.52
trimmed release 24.0.1312.56
trimmed release 25.0.1364.84
trimmed release 25.0.1364.152
trimmed release 26.0.1410.33
trimmed release 26.0.1410.43
trimmed release 27.0.1453.73
trimmed release 27.0.1453.94
trimmed release 27.0.1453.110
trimmed release 28.0.1500.95
Add -bb-rubberbandable CSS property

DRQS 37714496

This property will allow us to control, on a per element basis, whether or not
text within the element participates in rubberbanding.  The property is
inherited, and if any RenderText has it evaluate to "text", then the
RenderText's contents will be considered when rubberbanding.  If it evaluates
to "none", then the RenderText will be ignored during the rubberband process.
Implement rubberbanding

DRQS 37714496

There are two ways to enable rubberbanding:
* automatic mode
* manual mode

In the automatic mode, the client calls 'enableAltDragRubberbanding(true)' and
this enables code in WebView's mouse handler to automatically perform
rubberbanding when the user does Alt+Mousedrag.  The WebViewClient will be
notified with the new rubberband rectangle whenever the mouse moves.  Text will
be copied to the clipboard automatically on Alt+Mouseup.

In the manual mode, the client is responsible for handling the mouse events,
but WebView exposes methods to expand rectangles to enclose text, and to obtain
the text contained within a given rectangle.

The bulk of the rubberbanding implementation is contained in a separate
WebViewImplRubberband.cpp file.  This contains code that walks the render tree
to determine absolute position of text boxes, taking into account
transformations, clipping etc.  Note that we don't walk layers that have
transforms other than scale and translate.

When getting the text contained within a rectangle, we use some basic
heuristics to determine which text boxes are on the same line, then sort them
from left to right, adding an appropriate amount of spaces to fill the gaps
between them.

Also, TestShell has been modified to use the automatic mode.
trimmed release 29.0.1547.76
Rebase 'feature/rubberband' from upstream/26.0.1410.43 onto upstream/28.0.1500.95

Conflicts:
	chromium/src/third_party/WebKit/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
	chromium/src/third_party/WebKit/Source/WebCore/css/CSSParser.cpp
	chromium/src/third_party/WebKit/Source/WebCore/css/CSSPrimitiveValueMappings.h
	chromium/src/third_party/WebKit/Source/WebCore/css/CSSProperty.cpp
	chromium/src/third_party/WebKit/Source/WebCore/css/CSSPropertyNames.in
	chromium/src/third_party/WebKit/Source/WebCore/css/StyleBuilder.cpp
	chromium/src/third_party/WebKit/Source/WebCore/css/StyleResolver.cpp
	chromium/src/third_party/WebKit/Source/WebCore/rendering/style/RenderStyle.cpp
	chromium/src/third_party/WebKit/Source/WebCore/rendering/style/RenderStyle.h
	chromium/src/third_party/WebKit/Source/WebCore/rendering/style/RenderStyleConstants.h
	chromium/src/third_party/WebKit/Source/WebCore/rendering/style/StyleRareInheritedData.cpp
	chromium/src/third_party/WebKit/Source/WebCore/rendering/style/StyleRareInheritedData.h
	chromium/src/third_party/WebKit/Source/WebKit/chromium/public/WebViewClient.h
	chromium/src/third_party/WebKit/Source/WebKit/chromium/src/WebViewImpl.cpp
	chromium/src/webkit/tools/test_shell/test_webview_delegate.h
	chromium/src/webkit/tools/test_shell/test_webview_delegate_win.cc
	chromium/src/webkit/tools/test_shell/webview_host_win.cc
	chromium/src/webkit/tools/test_shell/webwidget_host.h
	chromium/src/webkit/tools/test_shell/webwidget_host_win.cc