DevTools: properly clear layers when doing a partial replay of SkPicture

We used to clear only current (top) layer, so one could occasionaly see
things painted before the start of replay window as the saved layer was
popped. Now we just clear an old layer before it's saved if it happens
before replay window start.

Drive-by: remove one case where logging canvas could potentially count
operations differently than other canvases.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179417 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable the WebIDL [Exposed] annotation on an interface's members.

Blink only supports [Exposed] as an interface-level annotation right now,
but it also makes sense as a member-level annotation in case certain members
should only be available in a subset of the interface's exposure set.

The first user for this will be the Web Notifications API, which now
defines requestPermission() to only be exposed on Document, whereas the rest
of the API will be available in both windows and workers.

BUG=398446

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179418 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert of Revert of Remove prefixed Pointer Lock API. (https://codereview.chromium.org/424213007/)

Reason for revert:
Downstream tests have been updated to use unprefixed pointer lock in
https://codereview.chromium.org/438693003/

Original issue's description:
> Revert of Remove prefixed Pointer Lock API. (https://codereview.chromium.org/424093006/)
> 
> Reason for revert:
> The change broke several Chromium OS interactive_ui_tests:
> 
> ExtensionPointerLockAccessFail
> ExtensionPointerLockAccessPass
> EscapingMouseLock
> MouseLockSilentAfterTargetUnlock
> TestTabDoesntExitMouseLockOnSubFrameNavigation
> TestTabExitsMouseLockOnGoBack
> TestTabExitsMouseLockOnNavigation
> PointerLock_PointerLockLostWithFocus
> 
> that were using the prefixed API (""Uncaught TypeError: undefined is not a function").
> 
> See
> http://build.chromium.org/p/chromium.webkit/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/735/steps/interactive_ui_tests/logs/stdio
> 
> Original issue's description:
> > Remove prefixed Pointer Lock API.
> > 
> > The Pointer Lock API http://www.w3.org/TR/pointerlock has already been
> > implemented without prefix, this change removes the 'webkit' prefixed
> > API endpoints.
> > 
> > Intent to Deprecate and Remove:
> > https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/tN8fWRtG0MI
> > 
> > BUG=398457
> > 
> > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=179172
> 
> TBR=abarth@chromium.org,scheib@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=398457
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=179186

TBR=abarth@chromium.org,jchaffraix@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=398457

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179419 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Build fix after r179402

r179402 tried to fix the assertion about sizeof(CSSValue) in oilpan-enabled MSVC,
but it didn't fix it. At the moment, this CL updates the size expectation to fix the compile error.

TBR=yukishiino@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179420 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move attributes-related API from UniqueElementData to AttributeCollection

Move attributes-related API from UniqueElementData to AttributeCollection
for consistency with the "read-only" attributes API. A new
MutableAttributeCollection class is added to provide attribute addition /
removal API. The rest of the API is moved to a AttributeCollectionGeneric
base class so that it can be shared between AttributeCollection and
MutableAttributeCollection without any code duplication.

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

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

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