[chromium] Convert WebAnimationCurve subtypes into pure virtual
https://bugs.webkit.org/show_bug.cgi?id=94068

Reviewed by Adrienne Walker.

Source/Platform:

This makes the Web*AnimationCurve interfaces pure virtual to provide better insulation from the implementation
details of the classes.

* chromium/public/WebAnimation.h:
(WebKit::WebAnimation::WebAnimation):
(WebAnimation):
* chromium/public/WebAnimationCurve.h:
* chromium/public/WebFloatAnimationCurve.h:
(WebFloatAnimationCurve):
(WebKit::WebFloatAnimationCurve::~WebFloatAnimationCurve):
* chromium/public/WebTransformAnimationCurve.h:
(WebTransformAnimationCurve):
(WebKit::WebTransformAnimationCurve::~WebTransformAnimationCurve):

Source/WebCore:

Updates users of the Web*AnimationCurve interface for its new pointery goodness.

* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::appendKeyframeWithStandardTimingFunction):
(WebCore::appendKeyframeWithCustomBezierTimingFunction):
(WebCore::WebTransformAnimationCurve):
(WebCore::createWebAnimation):

Source/WebKit/chromium:

Updates the implementations, some callers and tests of Web*AnimationCurve to its new interface.

* WebKit.gyp:
* src/WebAnimation.cpp:
(WebKit::WebAnimation::initialize):
* src/WebFloatAnimationCurveImpl.cpp: Renamed from Source/WebKit/chromium/src/WebFloatAnimationCurve.cpp.
(WebKit):
(WebKit::WebFloatAnimationCurve::create):
(WebKit::WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl):
(WebKit::WebFloatAnimationCurveImpl::~WebFloatAnimationCurveImpl):
(WebKit::WebFloatAnimationCurveImpl::type):
(WebKit::WebFloatAnimationCurveImpl::add):
(WebKit::WebFloatAnimationCurveImpl::getValue):
(WebKit::WebFloatAnimationCurveImpl::cloneToCCAnimationCurve):
* src/WebTransformAnimationCurve.cpp: Removed.
* tests/WebAnimationTest.cpp:
(WebKit::TEST):
* tests/WebFloatAnimationCurveTest.cpp:
(WebKit::TEST):
* tests/WebTransformAnimationCurveTest.cpp:
(WebKit::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Obsolete the in-region scroll codepath prior to BB10's
https://bugs.webkit.org/show_bug.cgi?id=94839
PR #197775

Reviewed by George Staikos.
Patch by Antonio Gomes <agomes@rim.com>

This codepath is not needed anymore, so lets let it RIP.

The only code addition is due to some code I've moved from WebPagePrivate::scrollNodeRecursively
and WebPagePrivate::scrollBy to InRegionScrollerPrivate::setLayerScrollPosition.
Rest is code removal ...

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
* Api/InRegionScroller_p.h:
(InRegionScrollerPrivate):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::scrollBy):
(BlackBerry::WebKit::WebPage::scrollBy):
* Api/WebPage.h:
* Api/WebPage_p.h:
(WebPagePrivate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for old, old versions of Clang.

* wtf/FastMalloc.cpp:
(WTF): Rejigger things so that they parse correctly if __has_warning isn't defined.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Expose mechanism for database to force a connection to close
https://bugs.webkit.org/show_bug.cgi?id=91010

Reviewed by Tony Chang.

Source/WebCore:

In response to user action (e.g. "delete my browsing data") a connection may
need to be forcibly terminated. This allows an event to be sent to a connection
from the back end via IDBDatabaseCallbacks to initiate closing the connection.

Test: [chromium] webkit_unit_test --gtest_filter='IDBDatabaseBackendTest.ForcedClose'

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::forceClose): Abort all transactions and close.
(WebCore):
* Modules/indexeddb/IDBDatabase.h:
(IDBDatabase): Entry point.
* Modules/indexeddb/IDBDatabaseCallbacks.h:
(IDBDatabaseCallbacks): Event plumbing from back end.
* Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
(WebCore::IDBDatabaseCallbacksImpl::onForcedClose): Ditto.
(WebCore):
* Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
(IDBDatabaseCallbacksImpl): Ditto.
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore): Method stub.

Source/WebKit/chromium:

In Chromium, the browsing data deleter has a WebIDBDatabase handle which
it can use to terminate a connection. This handles forcefully closing
the front end connections and the back end, to unblock disk cleanup.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::forceClose): Entry point.
* public/WebIDBDatabaseCallbacks.h:
(WebKit::WebIDBDatabaseCallbacks::onForcedClose): Plumbing back to front.
* src/IDBDatabaseCallbacksProxy.cpp:
(WebKit::IDBDatabaseCallbacksProxy::onForcedClose): Plumbing back to front.
(WebKit):
* src/IDBDatabaseCallbacksProxy.h:
(IDBDatabaseCallbacksProxy): Plumbing.
* src/WebIDBDatabaseCallbacksImpl.cpp:
(WebKit::WebIDBDatabaseCallbacksImpl::onForcedClose): Plumbing back to front.
(WebKit):
* src/WebIDBDatabaseCallbacksImpl.h:
(WebIDBDatabaseCallbacksImpl): Plumbing back to front.
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::close): Tidy up dropping the callback reference.
(WebKit):
(WebKit::WebIDBDatabaseImpl::forceClose): Terminate the connection by notifying
the back end and the front end, while avoid re-entrant badness.
* src/WebIDBDatabaseImpl.h: Header tweak for unit test.
(WebIDBDatabaseImpl):
* tests/IDBDatabaseBackendTest.cpp: Added unit test to exercise connections.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed attempt to fix build failure in Debug.

* bindings/v8/ScriptValue.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove FIXMEs from css3/flexbox/flexitem.html
https://bugs.webkit.org/show_bug.cgi?id=94872

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-08-23
Reviewed by Ojan Vafai.

Remove FIXMEs that were fixed in bug 94604.

* css3/flexbox/flexitem.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EFL build fix attempt after r126494. Try touching the IDL file.

* Modules/battery/BatteryManager.idl:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prep work for: Implement sticky positioning
https://bugs.webkit.org/show_bug.cgi?id=90046

Reviewed by Dave Hyatt.

Do some method renaming in preparation for adding a new kind
of in-flow positioning: sticky positioning.

Rename RenderStyle::isOutOfFlowPositioned() to hasOutOfFlowPosition().
Add RenderStyle::hasInFlowPosition().

Use RenderObject::isInFlowPositioned() in places where it will apply
for both relative and sticky positioning.

Add RenderBoxModelObject::offsetForInFlowPosition(), which currently
applies just to relative positioning, but will also apply to sticky.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getPositionOffsetValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* editing/TextIterator.cpp:
(WebCore::ignoresContainerClip):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::blockSelectionGaps):
(WebCore::positionForPointRespectingEditingBoundaries):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::updateBoxModelInfoFromStyle):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::accumulateInFlowPositionOffsets):
(WebCore::RenderBoxModelObject::relativePositionOffset):
(WebCore::RenderBoxModelObject::offsetForInFlowPosition):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
(WebCore::RenderBoxModelObject::stickyPositionLogicalOffset):
(WebCore::RenderBoxModelObject::requiresLayer):
* rendering/RenderInline.cpp:
(WebCore::inFlowPositionedInlineAncestor): We need to actually return
the ancestor, since we will need to copy its position type once there
is more than one kind of in-flow position.
(WebCore::updateStyleOfAnonymousBlockContinuations):
(WebCore::RenderInline::styleDidChange):
(WebCore::RenderInline::addChildIgnoringContinuation):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::offsetForInFlowPositionedInline):
* rendering/RenderInline.h:
(WebCore::RenderInline::requiresLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::isPositionedContainer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::offsetForInFlowPosition):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
(WebCore::RenderObject::containingBlock):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRelPositioned):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent):
* rendering/style/RenderStyle.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] V8AbstractEventListener re-implements ScopedPersistent by hand
https://bugs.webkit.org/show_bug.cgi?id=94873

Reviewed by Eric Seidel.

Rather than calling New/Dispose manually, this patch changes
V8AbstractEventListener to use ScopedPersistent.

* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::weakEventListenerCallback):
(WebCore::V8AbstractEventListener::~V8AbstractEventListener):
(WebCore::V8AbstractEventListener::setListenerObject):
(WebCore::V8AbstractEventListener::getReceiverObject):
* bindings/v8/V8AbstractEventListener.h:
(WebCore::V8AbstractEventListener::getListenerObject):
(WebCore::V8AbstractEventListener::getExistingListenerObject):
(WebCore::V8AbstractEventListener::existingListenerObjectPersistentHandle):
(WebCore::V8AbstractEventListener::hasExistingListenerObject):
(V8AbstractEventListener):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Versioning.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update Skipped list and TestExpectations in preparation for making
Mountain Lion the default Mac builder.

Rubber-stamped by Jessie Berlin.

* platform/mac-lion/TestExpectations: Added.
Moved/added test expectations from platform/mac/TestExpectations to
here.

* platform/mac/Skipped:
Added some known failures from internal testers.

* platform/mac/TestExpectations:
Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use immutable StylePropertySets for element inline style declarations.
<http://webkit.org/b/94714>

Reviewed by Antti Koivisto.

Construct the inline styles as immutable StylePropertySets initially (until they are
modified through CSSOM APIs), reducing their memory footprint and enabling us to do
sharing optimizations in the future.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseInlineStyleDeclaration):
(WebCore::CSSParser::parseDeclaration):
* css/CSSParser.h:
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126524 268f45cc-cd09-0410-ab3c-d52691b4dbfc