Add default value for second argument of CSSComputedStyleDeclaration::getPropertyCSSValue()

Add default value for second argument of CSSComputedStyleDeclaration::getPropertyCSSValue()
instead of overloading. This avoids incurring the cost of an extra function call (since the
overload was not inlined) only to provide UpdateLayout as default value for the
EUpdateLayout argument.

R=esprehn@chromium.org, dstockwell@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174394 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Drop useless String::isNull() check in V8CSSStyleDeclaration::namedPropertyGetterCustom()

Drop useless String::isNull() check in V8CSSStyleDeclaration::namedPropertyGetterCustom()
as v8SetReturnValueString() will already take care of returning an empty String if the
input String is null.

R=haraken@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174395 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 174382 "Oilpan: make DocumentFragment a heap allocated ob..."

Suspect this caused assertion failures in inspector/split-view.html,
which may indicate a deeper problem. See Issue 357163.

> Oilpan: make DocumentFragment a heap allocated object.
> 
> R=wibling@chromium.org,zerny@chromium.org,haraken@chromium.org
> BUG=357163
> 
> Review URL: https://codereview.chromium.org/289273002

TBR=sigbjornf@opera.com

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174396 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Re-baseline virtual/threaded/compositing/visibility/visibility-image-layers.html after https://src.chromium.org/viewvc/chrome?revision=271567&view=revision .

BUG=
TBR=reveman@chromium.org,timvolodine@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174397 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove deprecated GrTexture::invalidateCachedState() calls.

Using equivalent textureParamsModified() instead.

R=senorblanco@chromium.org,bsalomon@google.com
TBR=senorblanco@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174398 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Include stderr link for crashing tests

BUG=374167
R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174399 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Comment out reading of platform gypi in the GN build.

This value is currently unused and causes errors in the latest version of GN.

TBR=eseidel

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174400 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Separate repaint and layout requirements of StyleDifference (Step 4)

In this step RenderStyle::visualInvalidationDiff() sets both
needsFullLayout and needsRepaintObject if diffNeedsFullLayoutAndRepaint.
For now, all previous diffNeedsFullLayout cases become
diffNeedsFullLayoutRepaint.

In RenderObject, if both needsFullLayout and needsRepaint[Object] are
set, we set shouldDoFullRepaintAfterLayout(), and removed the condition
that needsSelfLayout always triggering shouldDoFullRepaintAfterLayout.

Previous RenderObject::setNeedsLayoutAndFullRepaint() still triggers
full repaint. Added back setNeedsLayout() to allow scheduling layout
without triggering full repaint.

With this change, we can do the following optimizations in next steps:

1. Repaint on RenderView resize (crbug.com/258219):
 - set FrameView::m_doFullRepaint only when needed;
 - use the flag to trigger full repaint of RenderView;
 - change renderView->setNeedsLayoutAndFullRepaint() in FrameView to
   renderView->setNeedsLayout() if no full repaint of RenderView is
   needed;

2. Repaint on style change needing full layout (e.g. crbug.com/339940):
 - move conditions not always needing repaint from
   RenderStyle::diffNeedsFullLayoutAndRepaint() into
   RenderStyle::diffNeedsFullLayout();
 - for above conditions that still may need repaint in some cases,
   correctly handle repaints of them during renderer layout.

3. Repaint on other RenderObject::setNeedsLayoutAndFullRepaint():
 - examine each caller of RenderObject::setNeedsLayoutAndFullRepaint()
   whether full repaint is actually always needed;
 - if not, change the call to RenderObject::setNeedsLayout() and
   correctly handle repaints during renderer layout if needed.

BUG=358460
TEST=existing layout tests

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174401 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable WebGL rendering into ImageCHROMIUM, backed by a scanout buffer to enable overlay support.

BUG=372449

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174402 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use tighter typing in table rendering code

Use tighter typing in table rendering code:
- Rename RenderTableSection's firstChild() / lastChild() to firstRow() / lastRow()
  and have them return a RenderTableRow* instead of a RenderObject*.
- Rename RenderTableRow's firstChild() / lastChild() to firstCell() / lastCell()
  and have them return a RenderTableCell* instead of a RenderObject*.

Add previousRow() / nextRow() methods to RenderTableRow and previousCell() /
nextCell() to RenderTableCell to make traversal code more readable. Also hide
RenderObject's previousSibling() / nextSibling() in those classes to make sure
the more specialized methods are called.

This is based on WebKit r156355 by Antti Koivisto (antti@apple.com):
https://trac.webkit.org/r156355

R=esprehn@chromium.org, pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174403 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Marked svg/custom/masking-clipping-hidpi.svg as flaky.

BUG=366442
TBR=fmalita@chromium.org,timvolodine@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174404 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use a more standard decommit / recommit API on Windows.

BUG=343657

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174405 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rebaseline one followup from r174200

For some reason this test didn't end up being rebaselined properly.  The
correct output for the test is to have a layer tree, like all other
platforms.

NOTRY=true
TBR=ojan@chromium.org
BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174406 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make AX update layout on all frames

When updating layout before exploring the AX tree, do it on
all frames. Relax the assertion in WebAXObject::boundingBoxRect
so that it's okay if the lifecycle is StyleClean and needsLayout() is false.

Also a bit of cleanup - the name "backing store", inherited from WebKit,
doesn't make sense in this context - changed it to be more clear.

BUG=374275

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174407 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Adding more p1 MSE spec compliancy tests.


BUG=
TEST=new tests are passing

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174408 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[Reland] Animated WebP: Alpha-blending support for semi-transparent pixels

When alpha pre-multiplication is on, use Skia for blending.
Most of Blink (including image-rendering in the browser)
uses this mode.

When alpha pre-multiplication is off, use a locally written method.
Only WebGL image conversion uses this mode:
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/platform/graphics/gpu/WebGLImageConversion.cpp&l=1554

Also, disable color profile handling for animated images. This is
an extremely rare use case and at the same time rather involved to
implement. Note: Color profiles in GIF images are ignored as well.

Testing:
Added a unit test to verify that decoded frames in case of alpha
pre-multiply on/off are equivalent.

Difference from earlier patch:
- Unit test corrected: SkPreMultiplyColor() uses 'SkColor', where a
  certain order of R,G,B,A components is assumed, while we need
  configuration specific order. So, we use SkGetPackedB32() etc
  instead.
- No logical changes in the code: using SkPackARGB32NoCheck() and
  some refactoring for clarity.

Reviewers:
Vikas: To review the diff from original patch.
Nico: For OWNER'S LGTM stamp.

BUG=364679

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174413 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[webcrypto] Fix a race in crypto.getRandomValues() when used from WebWorkers.

BUG=368814, 245025

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174414 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Test WordGranularity expansion in VisibleSelection.

BUG=None

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174416 bbb929c8-8fbe-4397-9dbb-9b2b20218538
FrameView resizes should always cause fixed-pos elements to relayout.

FrameView::viewportConstrainedVisibleContentSizeChanged had an early out when
viewportEnabled was off since it assumed changing the FrameView's size otherwise
would cause a relayout. With changes in the virtual-viewport model that's no
longer strictly the case. When a resize comes into Blink, we change the
FrameView's layout size. After layout completes we resize the FrameView's
rect. We do this so we can size the FrameView to be the size of the viewport at
minimum scale (i.e. content size on Android). On desktop, the layout size and
the FrameView rect will typically be one and the same, so when we resized the
rect in refreshPageScaleFactorAfterLayout() the layout size didn't change so we
didn't do a layout.

This was causing a bug in ChromeOS OOBE where the keyboard resizing the WebUI
would cause the fixed-pos shelf to appear in the wrong place and cut off pieces
of the UI.

This patch removes the early out if we're in virtual viewport pinch zoom mode.
In this mode, I also removed the call to
viewportConstrainedVisibleContentSizeChanged from setPageScaleFactor since the
new mode doesn't relayout fixed-pos elements when pinch-zooming.

BUG=361157

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174417 bbb929c8-8fbe-4397-9dbb-9b2b20218538
More refactoring towards more generic treatment of RenderLayers contributiong to a CompositedLayerMapping.

1. Rename adjustBoundsForSubpixelAccumulation to
computeBoundsOfOwningLayer, which is what it really does.

2. Rename delta to snappedOffsetFromCompositedAncestor, which is what it is. Add offsetFromCompositedAncestor.

3. Remove dependence of updateSquashingLayerGeometry on any
member variables of CompositedLayerMapping.


BUG=372837

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

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