Fix caret rect calculations after r180941

Blink r180941 changed FrameSelection to use Caret's invalidation rect
calculation, which was subtly different in that it jumped to the
caret's containing block without adjusting for the possible offsets
involved. This leads to the caret being improperly invalidated in
cases such as an input that scrolls its overflow.

This patch extracts the code from CaretBase::updateCaretRect, which
does do the right adjustment, and reuses it in CaretBase::invalidateLocalCaretRect.

BUG=416534
R=jchaffraix@chromium.org, wangxianzhu@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183010 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Sheriff-o-matic navigation between failure stream and examine pages

This is the first step in using client-side routing for
permalinking/history. You can move back and forward between trees and
"examine" pages, although for any given failure group, the specific test
and bot (if there are multiple) is not remembered or linked to yet.


The magic happens in ct-router, ct-view, and ct-view-handler.

ct-router drew heavily from esprehn's CodeReview tool, before he
removed his custom router. Unlike some other routers, ct-router doesn't
destroy & recreate views when navigating (thus helping us retain page state)
and uses /slash/URLs, not #hashes.

ct-view performs path matching and binds variables to its first child as
attributes.

ct-view-handler, when included in a component, neuters <a href> links in
that component. The links then defer to ct-router instead of navigating
directly.

RUNNING

This is up and running at http://sheriff-o-matic-router.appspot.com.
Please try to break it. The objective, and the problem, with this
approach is that we rely on the URL to indicate which results to show,
instead of just pass the objects to be displayed directly to the components
that use them. So the router approach means the app becomes more fragile.
Kind of.

python -m SimpleHTTPServer won't work here. Use "dev_appserver.py ."


Example URLs (will become stale):
Blink failures: http://sheriff-o-matic-router.appspot.com/blink
Specific failure: http://sheriff-o-matic-router.appspot.com/blink/failure/ash_unittests%3AVirtualKeyboardUsabilityExperimentTest.VirtualKeyboardWindowTest
Trooper failure: http://sheriff-o-matic-router.appspot.com/trooper/failure/cq_latency%3A%3Achromium

BUG=400400
R=ojan@chromium.org
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183012 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove unused WGC3D swap completion callback API

BUG=417945

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183013 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Pass GlyphBounds struct into SimpleShaper

Change SimpleShaper to pass an optional GlypBounds struct instead of
conditionally computing and populating the bounds directly on the
shaper based on the accountForGlyphBounds parameter.

BUG=418570
R=pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183014 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Test of uncontrolled page doing a fetch, which currently hits the sw.

This fails the test, as it should.

BUG=417351

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183015 bbb929c8-8fbe-4397-9dbb-9b2b20218538
ServiceWorker: Add constructor(sequence<sequence<ByteString>>) to Headers

The IDL compiler now supports nested sequence for arguments. Let's use it
instead of Dictionary. We still need a constructor that takes Dictionary
because we don't support OpenEndedDictionary yet.

Tests under http/tests/serviceworker cover this change.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183016 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use CSSValueIDs for CSSParserFunction names

This patch replaces the CSSParserString CSSParserFunction::name with a
CSSValueID id. Currently all the users of the name have to do a string
comparison, which makes the relevant parsing code comparatively messy.
Using CSSValueID here make functions behave the same way as regular
keywords.

As a result, we can now easily move the transform parsing code into the
CSSPropertyParser, which currently resides in BisonCSSParser-in.cpp due
to using the SWITCH/CASE code generation (in fact we can remove this
code generation from BisonCSSParser-in.cpp completely).

BUG=404023

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183017 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove CXX_VARIADIC_TEMPLATES compiler feature flag

This flag is never used and variadic templates are now allowed on all the supported platforms.

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

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