Fix sub-pixel handling of transparency layers

Transparency layers were implemented before composited layers
were made to be fully sub-pixel aware. Blink r164561 was the
sub-pixel fix for composited layers, which caused them to behave
differently than transparency layers leading to off-by-one
errors. This patch teaches transparency layers about sub-pixel.

BUG=347521

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168450 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Extract CSPDirectiveList from ContentSecurityPolicy.

BUG=346642

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168451 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove MediaControls::showVolumeSlider()

This is a remnant from WebKit when there was a volume slider container
that could be shown and hidden. What remains is essentially dead code,
because at most it shows the slider when m_mediaController->hasAudio(),
but MediaControls::reset() already does that.

BUG=341813

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168452 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 168383 "Move popular DOM attributes to prototype chains"

This CL regressed performance of Dromaeo/dom-traverse unacceptably.
https://chromeperf.appspot.com/report?masters=ChromiumPerf&bots=chromium-rel-mac6%2Cchromium-rel-mac8%2Cchromium-rel-win7-dual%2Clinux-release&tests=dromaeo.domcoretraverse%2Fdom&checked=core


> Move popular DOM attributes to prototype chains
> 
> Design document: https://docs.google.com/a/google.com/document/d/1yeHTCHhulVIlrKyx9_gCguAhLfcefVOa9uxxfW2LVG0/edit
> 
> Intent-to-ship-and-implement in blink-dev: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/t0XiZuMey7M/9-5AuhoFyisJ
> 
> This CL moves DOM attributes used in Dromaeo to prototype chains. When I landed the CL two months ago (https://codereview.chromium.org/94403002), it caused 20+% regression in benchmarks. However, now that a V8 side fix is landed, there should be no overhead in moving DOM attributes to prototype chains in theory.
> 
> Dromaeo/dom-attr 1086 runs/sec => 1077 runs/sec (-0.8%)
> Dromaeo/dom-modify 522 runs/sec => 525 runs/sec (+0.5%)
> Dromaeo/dom-query 26150 runs/sec => 26200 runs/sec (+0.2%)
> Dromaeo/dom-traverse 564 runs/sec => 544 runs/sec (-3.6%)
> 
> I don't understand the regression in dom-traverse. The regression is reproducible but I cannot reproduce the regression in a super-micro benchmark that just repeats accessing div.firstChild. Probably the regression might be a noise.
> 
> I'm going to land this CL and see how much regression is observed in perf bots (I'll email to perf-sheriff@). If I find the regression is unacceptable, I'll revert the CL.
> 
> See the design document and the Intent-to-ship email for justification for the regression.
> 
> BUG=43394
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=167680
> 
> R=jochen@chromium.org
> 
> Review URL: https://codereview.chromium.org/158713002

TBR=haraken@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168453 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename ^ and ^^ combinator to /shadow-all/ and /shadow-deep/.

c.f. shadow-styling spec:
/shadow-all/: http://dev.w3.org/csswg/shadow-styling/#shadow-all-combinator
/shadow-deep/: http://dev.w3.org/csswg/shadow-styling/#shadow-deep-combinator

BUG=348891
TEST=Replaced all ^ and ^^ with /shadow-all/ and /shadow-deep/ and rebaselined.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168454 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: customize text baseline and style in flame chard.

R=loislo@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168455 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Change various helper classes to transition types to get CSSValue entirely onto the gc heap.

Specifically MediaQuery, MediaQueryExp, MediaQuerySet, MediaQueryResult, and MediaList. Also added a persistent in  CSSStyleSheet and MediaQueryList. Finally changed FontFace to RefCountedGarbageCollected when oilpan is enabled. FontFace require a bit more separate work to move entirely so leaving that for a separate change.

The reason for the test breakage was that I had overlooked a MediaQueryExp that was a part object in MediaQueryResult.  

Finally fixed an incorrect persistent found by Ian's oilpan plugin, yay:)

R=ager@chromium.org, erik.corry@gmail.com, haraken@chromium.org, tkent@chromium.org, vegorov@chromium.org, zerny@chromium.org
BUG=341815
NOTRY=true

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=167798

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168456 bbb929c8-8fbe-4397-9dbb-9b2b20218538
WebGL: Transfer ownership of WebGraphicsContext3D from WebGLRenderingContext to DrawingBuffer.

Currently, the lifecycle of DrawingBuffer is different from it of
WebGraphicsContext3D, so there is so many checks if the context is valid.
This complexity is not necessary because DrawingBuffer does not own any
objects when the context is lost or impossible to be created.

To be clear the lifecycle, this CL makes DrawingBuffer take ownership of WebGraphicsContext3D.

The DrawingBuffer creation or resize can fail if the memory is not enough. This
logic is preserved.
In detail,
1. If it occurs during WebGLRenderingContext creation, we give up creating
WebGLRenderingContext.
2. If it occurs during restoration of lost context, we will try again.
3. If it occurs during resizing DrawingBuffer, we slightly ignore, because we
can reuse different size FBO in this case.

In addition, this CL fixes two bugs.
1. maybeRestoreContext() pretends to success to restore although creating FBO in
DrawingBuffer fails. As mentioned earlier, we will try again.
2. WebGLRenderingContext calls DrawingBuffer::reset() twice during creation,
because the constructor of DrawingBuffer internally calls reset().

BUG=344393

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168457 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert of Oilpan: Use weak pointers in StyleSheetContents caches. (https://codereview.chromium.org/185403016/)

Reason for revert:
This patch seems to have made a number of layout tests fail on the oilpan bots. Reverting while I investigate.

Original issue's description:
> Oilpan: Use weak pointers in StyleSheetContents caches.
> 
> This fixes use-after-free that could occur when StyleSheetContents
> dies when an allocation happens during insertion of a new
> StyleSheetContents. Using the built-in weak processing this will
> not happen because the iterator used during insertion will keep
> the StyleSheetContents alive.
> 
> R=erik.corry@gmail.com, haraken@chromium.org, vegorov@chromium.org
> NOTRY=true
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168444

TBR=erik.corry@gmail.com,haraken@chromium.org,vegorov@chromium.org,zerny@chromium.org
NOTREECHECKS=true
NOTRY=true

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

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