[CSS Shaders] WebKitCSSMixFunctionValue.h needs forward declaration of MemoryObjectInfo
https://bugs.webkit.org/show_bug.cgi?id=96150

Reviewed by George Staikos.

Otherwise files that include it may fail to compile.

No new tests, because this patch implements no new functionality.

* css/WebKitCSSMixFunctionValue.h:
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Object.prototype.__define{G,S}etter__ with non-callable second parameter should throw TypeError instead of SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=93873

Reviewed by Sam Weinig.

Source/JavaScriptCore: 

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncDefineGetter):
    - throw TypeError instead of SyntaxError
(JSC::objectProtoFuncDefineSetter):
    - throw TypeError instead of SyntaxError

LayoutTests: 

* fast/js/property-getters-and-setters-expected.txt:
    - updated results



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Chromium needs access to canvasHasFallbackContent
https://bugs.webkit.org/show_bug.cgi?id=96124

Reviewed by Chris Fleizach.

Source/WebKit/chromium:

Expose canvasHasFallbackContent on Chromium.

* public/WebAccessibilityObject.h:
(WebAccessibilityObject):
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::canvasHasFallbackContent):
(WebKit):

Tools:

Distinguish between canvas roles with and without fallback
content on Chromium.

* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
(getRole):

LayoutTests:

Update canvas test to distinguish between canvas elements with
fallback content on Chromium.

* platform/chromium/accessibility/canvas-description-and-role-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r127920 and r127926.
http://trac.webkit.org/changeset/127920
http://trac.webkit.org/changeset/127926
https://bugs.webkit.org/show_bug.cgi?id=96152

billions and billions of assertion failures on mac debug
builds (Requested by thorton on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-07

Source/WebCore:

* WebCore.exp.in:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::getFontData):
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::registerCustomFont):
(WebCore):
(WebCore::Document::deleteCustomFonts):
(WebCore::Document::reportMemoryUsage):
* dom/Document.h:
(WebCore):
(Document):
* platform/graphics/FontData.h:
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontFallbackList::releaseFontData):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::setPlatformFont):
* platform/graphics/FontFallbackList.h:
(FontFallbackList):
(WebCore::FontFallbackList::setGlyphPageZero):
(WebCore::FontFallbackList::setGlyphPages):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::pruneFontData):

LayoutTests:

* fast/frames/seamless/seamless-custom-font-pruning-crash-expected.txt: Removed.
* fast/frames/seamless/seamless-custom-font-pruning-crash.html: Removed.
* fast/frames/seamless/seamless-nested-crash-expected.txt: Removed.
* fast/frames/seamless/seamless-nested-crash.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prevent overflows in FractionalLayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=95883

Reviewed by Eric Seidel.

Source/WebCore:

Avoid overflow in snapSizeToPixel by using the fraction of the
location instead of the full value.

Add safe versions of min/max, adjusted by half a pixel to allow
round to allow rounding without overflowing.

Avoid overflow when snapping a FractionalLayoutRect by using the
safe versions of min/max in infiniteRect.

Avoid overflow when converting from a Length to a LayoutUnit by
limiting the value to FractionalLayoutUnit min/max. This matches
the behavior of the non-subpixel code path where the values are
similarly limited.

Test: fast/sub-pixel/large-sizes.html

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLength):
Limit to FractionalLayoutUnit min/max.

* platform/FractionalLayoutUnit.h:
(FractionalLayoutUnit):
(WebCore::FractionalLayoutUnit::nearlyMax):
(WebCore::FractionalLayoutUnit::nearlyMin):
Reduce max/increase min by 1/2 to allow round to operate
without overflowing.

(WebCore::snapSizeToPixel):
* platform/graphics/FractionalLayoutRect.h:
(WebCore::FractionalLayoutRect::infiniteRect):
Use nearlyMin/nearlyMax.

(WebCore::pixelSnappedIntRect):
Change pixelSnappedIntRect to use snapSizeToPixel.

LayoutTests:

Add test for handling of large values.

* fast/sub-pixel/large-sizes-expected.txt: Added.
* fast/sub-pixel/large-sizes.html: Added.
* platform/chromium-win/media/video-zoom-controls-expected.txt:
* platform/chromium/fast/css/large-number-round-trip-expected.txt: Added.
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build of GraphicsContext3DOpenGLCommon.cpp with MSVC
https://bugs.webkit.org/show_bug.cgi?id=96120

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-07
Reviewed by Noam Rosenthal.

Variable stack arrays are a GCC extension. Replace their use with OwnArrayPtr, similar to
other functions in the same file.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::getActiveAttrib):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaselines after http://trac.webkit.org/changeset/127915.

* fast/css/percent-top-value-with-relative-position-expected.txt: Renamed from LayoutTests/platform/efl/fast/css/percent-top-value-with-relative-position-expected.txt.
* platform/chromium-mac-snowleopard/fast/css/percent-top-value-with-relative-position-expected.png:
* platform/chromium-mac/fast/css/percent-top-value-with-relative-position-expected.png:
* platform/chromium-win/fast/css/percent-top-value-with-relative-position-expected.png:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/gtk/fast/css/percent-top-value-with-relative-position-expected.txt: Removed.
* platform/mac/TestExpectations:
* platform/mac/fast/css/percent-top-value-with-relative-position-expected.txt:
* platform/qt/TestExpectations:
* platform/qt/fast/css/percent-top-value-with-relative-position-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: WebCore accessibility roles should be cross-platform
https://bugs.webkit.org/show_bug.cgi?id=94870

Reviewed by Chris Fleizach.

Source/WebCore:

Make 5 accessibility roles cross-platform rather than GTK-only.

Instead of mapping the HR tag to SplitterRole (which is an interactive
splitter control on Mac), create a new role HorizontalRuleRole.

Map all of the new roles to AXGroup on Mac, which matches the existing
behavior. Add a new test for these roles on Chromium.

Test: platform/chromium/accessibility/chromium-only-roles.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsARIAAttributes):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(createAccessibilityRoleMap):

Source/WebKit/chromium:

Add a new accessibility role.

* public/WebAccessibilityRole.h:
* src/AssertMatchingEnums.cpp:

Tools:

Add debug strings to Chromium for new accessibility roles.

* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
(roleToString):

LayoutTests:

Adds a test for some new accessibility roles that aren't present on all platforms.

* platform/chromium/accessibility/chromium-only-roles-expected.txt: Added.
* platform/chromium/accessibility/chromium-only-roles.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add OVERRIDE to computeLogical{Width,Height} overrides
https://bugs.webkit.org/show_bug.cgi?id=96153

Reviewed by Ojan Vafai.

I plan on renaming these functions to updateLogical{Width,Height} and
I want to be extra sure that I don't mess up.

No new tests, this is just a refactoring.

* rendering/RenderFlowThread.h: Also mark the functions virtual!
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderMeter.h:
(RenderMeter):
* rendering/RenderTable.h:
(RenderTable):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTextControl.h:
(RenderTextControl):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore: Fix a llint C++ interpreter bugs.
https://bugs.webkit.org/show_bug.cgi?id=96127.

Patch by Mark Lam <mark.lam@apple.com> on 2012-09-07
Reviewed by Filip Pizlo.

* llint/LowLevelInterpreter.cpp:
(JSC):
(JSC::CLoop::execute):
* offlineasm/cloop.rb:

Source/WTF: Fixed ASSERT() and ASSERT_AT() macros so that they can be used in
comma expressions.
https://bugs.webkit.org/show_bug.cgi?id=96127.

Patch by Mark Lam <mark.lam@apple.com> on 2012-09-07
Reviewed by Filip Pizlo.

* wtf/Assertions.h:
(wtfAssert):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactored bytecode generator initialization to support moving captured vars around
https://bugs.webkit.org/show_bug.cgi?id=96159

Reviewed by Gavin Barraclough.

This patch separates the stages of allocating registers, declaring identifiers
in the symbol table, and initializing registers, so you can change
allocation decisions without breaking the world.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator): Call a set of helper functions
instead of inlining all the code, to help clarity.

(JSC::BytecodeGenerator::allocateCapturedVars):
(JSC::BytecodeGenerator::allocateUncapturedVars):
(JSC::BytecodeGenerator::allocateActivationVar):
(JSC::BytecodeGenerator::allocateArgumentsVars):
(JSC::BytecodeGenerator::allocateCalleeVarUndeclared):
(JSC::BytecodeGenerator::declareParameters):
(JSC::BytecodeGenerator::declareCallee):
(JSC::BytecodeGenerator::initCalleeVar):
(JSC::BytecodeGenerator::initArgumentsVars):
(JSC::BytecodeGenerator::initActivationVar):
(JSC::BytecodeGenerator::initThisParameter):
(JSC::BytecodeGenerator::initFunctionDeclarations):
(JSC::BytecodeGenerator::declareParameter):
(JSC::BytecodeGenerator::createLazyRegisterIfNecessary):
(JSC::BytecodeGenerator::createActivationIfNecessary): Factored these
helper functions out from pre-existing code.

* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createFuncDeclStatement):
(JSC::ASTBuilder::addVar):
* parser/Nodes.h:
(JSC::DeclarationStacks::VarDeclaration::VarDeclaration):
(VarDeclaration):
(JSC::DeclarationStacks::FunctionDeclaration::FunctionDeclaration):
(FunctionDeclaration): Declaration stacks get a little more data now,
to support allocating registers before putting things in the symbol
table. I'm convinced that we should eventually just expand the symbol
table to understand these things.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Multiple commits without invalidation allowed per redraw.
https://bugs.webkit.org/show_bug.cgi?id=95661

Patch by David Reveman <reveman@chromium.org> on 2012-09-07
Reviewed by James Robinson.

Source/WebCore:

Always enter COMMIT_STATE_WAITING_FOR_FIRST_DRAW after commit. This
ensures we draw before beginning a new frame.

Unit tests: CCLayerTreeHostTestContinuousCommit.runMultiThread
            CCLayerTreeHostTestContinuousInvalidate.runMultiThread
            CCLayerTreeHostTestContinuousAnimate.runMultiThread

* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::updateState):

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(CCLayerTreeHostTestContinuousCommit):
(WebKitTests::CCLayerTreeHostTestContinuousCommit::CCLayerTreeHostTestContinuousCommit):
(WebKitTests):
(WebKitTests::TEST_F):
(CCLayerTreeHostTestContinuousInvalidate):
(WebKitTests::CCLayerTreeHostTestContinuousInvalidate::CCLayerTreeHostTestContinuousInvalidate):
(CCLayerTreeHostTestContinuousAnimate):
(WebKitTests::CCLayerTreeHostTestContinuousAnimate::CCLayerTreeHostTestContinuousAnimate):
* tests/CCSchedulerStateMachineTest.cpp:
(WebCore::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r127938.
http://trac.webkit.org/changeset/127938
https://bugs.webkit.org/show_bug.cgi?id=96166

It broke the build (Requested by smfr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-07

Source/JavaScriptCore:

* llint/LowLevelInterpreter.cpp:
(JSC):
(JSC::CLoop::execute):
* offlineasm/cloop.rb:

Source/WTF:

* wtf/Assertions.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] [WK2] Set theme for the inspector view
https://bugs.webkit.org/show_bug.cgi?id=96108

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-09-07
Reviewed by Kenneth Rohde Christiansen.

Set the theme for the inspector view when it is created.

* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
box-shadow causes overlay scrollbars to be in the wrong position when element is composited
https://bugs.webkit.org/show_bug.cgi?id=85647

Reviewed by James Robinson.

Test overlay scrollbars in composited layers.

* ManualTests/scrollbars/scrollbars-in-composited-layers.html: Added.

Source/WebCore:

The code that positioned the GraphicsLayers for scrollbars failed to take
into account any offset between the origin of the compositing layer,
and the renderer. This caused scrollbar layers to be misplaced or hidden
on layers with, for example, box-shadows.

Also moved the code that positions the scrollbar layers into RendderLayerBacking,
since this is where all the rest of the GraphicsLayer-positioning code lives.

Renamed an "offsetFromLayer" param to "offsetFromRoot" which is more accurate.

Manual test, since overlay scrollbars are not enabled in DRT/WTR:
    ManualTests/scrollbars/scrollbars-in-composited-layers.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::positionOverflowControls):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CALLFRAME_OFFSET and EXCEPTION_OFFSET are same in ctiTrampoline on ARM Thumb2
https://bugs.webkit.org/show_bug.cgi?id=82013

Reviewed by Geoff Garen.

Neither of these values need to be stored. At all.

* jit/JITStubs.cpp:
(JSC):
(JSC::ctiTrampoline):
(JSC::JITThunks::JITThunks):
    - Nothing to see here. Move along.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Check objects for null when recreating context
https://bugs.webkit.org/show_bug.cgi?id=95926

Patch by John Bauman <jbauman@chromium.org> on 2012-09-07
Reviewed by Dean Jackson.

Upon navigation the FrameViwe and other objects may go null, so detect
that and return rather than try to dereference them.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::maybeRestoreContext):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Use a v8::Object rather than a v8::Context to represent the creationContext
https://bugs.webkit.org/show_bug.cgi?id=96154

Patch by Adam Barth <abarth@chromium.org> on 2012-09-07
Reviewed by Eric Seidel.

This patch is a mechanical search-and-replace. Using a v8::Object
rather than a v8::Context lets us delay the call to CreationContext()
until we actually need to call it. This should not affect behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateNormalAttrGetter):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
(GenerateToV8Converters):
(GenerateFunctionCallString):
(NativeToJSValue):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::Float64ArrayV8Internal::fooCallback):
(WebCore::toV8):
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
(WebCore::V8Float64Array::wrap):
(WebCore):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
(WebCore::V8TestActiveDOMObject::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestCallback.cpp:
(WebCore::V8TestCallback::callbackWithClass1Param):
(WebCore::V8TestCallback::callbackWithClass2Param):
(WebCore::V8TestCallback::callbackWithStringList):
(WebCore::V8TestCallback::callbackRequiresThisToPass):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
(WebCore::V8TestCustomNamedGetter::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
(WebCore::V8TestEventConstructor::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::TestEventTargetV8Internal::itemCallback):
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
(WebCore::V8TestEventTarget::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestException.h:
(V8TestException):
(WebCore::V8TestException::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
(WebCore::V8TestInterface::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
(WebCore::V8TestMediaQueryListListener::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
(WebCore::V8TestNamedConstructor::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.h:
(V8TestNode):
(WebCore::V8TestNode::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
(WebCore::TestObjV8Internal::testObjAttrAttrGetter):
(WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
(WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::mutablePointAttrGetter):
(WebCore::TestObjV8Internal::immutablePointAttrGetter):
(WebCore::TestObjV8Internal::objMethodCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::withScriptStateObjCallback):
(WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):
(WebCore::TestObjV8Internal::mutablePointFunctionCallback):
(WebCore::TestObjV8Internal::immutablePointFunctionCallback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
(WebCore::V8TestObj::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
(WebCore::V8TestSerializedScriptValueInterface::wrap):
(WebCore::toV8):
* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::callFunction):
* bindings/v8/IDBCustomBindings.cpp:
(WebCore::V8IDBCursorWithValue::valueAccessorGetter):
* bindings/v8/SerializedScriptValue.cpp:
* bindings/v8/V8Binding.h:
(WebCore::V8ValueTraits::arrayV8Value):
* bindings/v8/V8Collection.h:
(WebCore::getV8Object):
(WebCore::getNamedPropertyOfCollection):
(WebCore::collectionNamedPropertyGetter):
(WebCore::getIndexedPropertyOfCollection):
(WebCore::collectionIndexedPropertyGetter):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::getter):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
(V8DOMWrapper):
* bindings/v8/V8ThrowException.cpp:
(WebCore):
* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::toV8):
(WebCore::V8Blob::constructorCallback):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSValueCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
(WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::memoryAccessorGetter):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openCallback):
(WebCore::V8DOMWindow::indexedPropertyGetter):
(WebCore::V8DOMWindow::namedPropertyGetter):
(WebCore::toV8):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::V8Document::evaluateCallback):
(WebCore::V8Document::getCSSCanvasContextCallback):
(WebCore::toV8):
(WebCore::V8Document::createTouchListCallback):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::V8Document::locationAccessorGetter):
* bindings/v8/custom/V8EntryCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EntrySyncCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::V8Event::dataTransferAccessorGetter):
(WebCore::V8Event::clipboardDataAccessorGetter):
(WebCore::toV8):
* bindings/v8/custom/V8FileReaderCustom.cpp:
(WebCore::V8FileReader::resultAccessorGetter):
* bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
(WebCore::getNamedItems):
(WebCore::getItem):
(WebCore::V8HTMLAllCollection::namedPropertyGetter):
(WebCore::V8HTMLAllCollection::itemCallback):
(WebCore::V8HTMLAllCollection::namedItemCallback):
(WebCore::V8HTMLAllCollection::callAsFunctionCallback):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::getNamedItems):
(WebCore::V8HTMLCollection::namedPropertyGetter):
(WebCore::V8HTMLCollection::namedItemCallback):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::getNamedProperty):
(WebCore::V8HTMLDocument::allAccessorGetter):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore::toV8):
(WebCore::V8HTMLElement::itemValueAccessorGetter):
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
(WebCore::V8HTMLFormElement::indexedPropertyGetter):
(WebCore::V8HTMLFormElement::namedPropertyGetter):
* bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
(WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorCallback):
* bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
(WebCore::V8HTMLLinkElement::sizesAccessorGetter):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
* bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
(WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::V8HTMLSelectElement::indexedPropertyGetter):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ImageDataCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8MessageChannelConstructor.cpp:
(WebCore::V8MessageChannel::constructorCallback):
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter):
(WebCore::V8MessageEvent::portsAccessorGetter):
* bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::V8NamedNodeMap::indexedPropertyGetter):
(WebCore::V8NamedNodeMap::namedPropertyGetter):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::toV8Slow):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::V8NodeList::namedPropertyGetter):
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::createHTMLNotificationCallback):
(WebCore::V8NotificationCenter::createNotificationCallback):
* bindings/v8/custom/V8PerformanceCustom.cpp:
(WebCore::V8Performance::memoryAccessorGetter):
* bindings/v8/custom/V8PerformanceEntryCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8PopStateEventCustom.cpp:
(WebCore::V8PopStateEvent::stateAccessorGetter):
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
(WebCore::V8SQLTransactionSync::executeSqlCallback):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGElementCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGPathSegCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8StyleSheetListCustom.cpp:
(WebCore::V8StyleSheetList::namedPropertyGetter):
* bindings/v8/custom/V8TrackEventCustom.cpp:
(WebCore::V8TrackEvent::trackAccessorGetter):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
(WebCore::getObjectParameter):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
(WebCore::V8WebGLRenderingContext::getParameterCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::V8WebGLRenderingContext::getUniformCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseAccessorGetter):
* dom/make_names.pl:
(printWrapperFunctions):
(printWrapperFactoryCppFile):
(printWrapperFactoryHeaderFile):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals
https://bugs.webkit.org/show_bug.cgi?id=96151

Reviewed by Adrienne Walker.

Source/Platform:

This adds public input handling interfaces for the compositor.

* chromium/public/WebInputHandler.h:
(WebKit):
(WebInputHandler):
(WebKit::WebInputHandler::~WebInputHandler):
* chromium/public/WebInputHandlerClient.h:
(WebKit):
(WebInputHandlerClient):
(WebKit::WebInputHandlerClient::~WebInputHandlerClient):
* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):
* chromium/public/WebLayerTreeViewClient.h:
(WebKit):
(WebKit::WebLayerTreeViewClient::createInputHandler):
(WebLayerTreeViewClient):

Source/WebCore:

Reworks the CC hookup for input handling to be more similar to the OutputSurface handling. If on compositor
startup we want to initialize threaded input handling, we ask the embedder for a CCInputHandler implementation
via CCLayerTreeHostClient. If the client provides one, we later bind this to a CCInputHandlerClient (actually
CCLayerTreeHostImpl) from the compositor thread.

* platform/graphics/chromium/cc/CCInputHandler.h:
(WebCore):
(CCInputHandler):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::createInputHandler):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostClient.h:
(WebCore):
(CCLayerTreeHostClient):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::start):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

Moves input handler setup code up to the WebKit layer instead of reaching in to CC internals.
WebLayerTreeViewImpl implements createInputHandler() by asking its embedder for a WebInputHandler. If one is
provided, it wraps the WebInputHandler in a CCInputHandler implementation to pass down to CC.

WebViewImpl implements WebLayerTreeView::createInputHandler() by constructing a WebCompositorInputHandlerImpl
and storing its identifier for the didActivateCompositor call.  From this point on the setup is the same as
before.

WCIHI changes covered by unit tests, overall scrolling behavior manually tested.

* WebKit.gypi:
* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::fromIdentifier):
(WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::~WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::setClient):
(WebKit::WebCompositorInputHandlerImpl::handleInputEvent):
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
(WebKit::WebCompositorInputHandlerImpl::bindToClient):
* src/WebCompositorInputHandlerImpl.h:
(WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::identifier):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::createInputHandler):
(WebKit):
* src/WebLayerTreeViewImpl.h:
(WebLayerTreeViewImpl):
* src/WebToCCInputHandlerAdapter.cpp: Added.
(WebKit):
(WebKit::WebToCCInputHandlerAdapter::create):
(WebKit::WebToCCInputHandlerAdapter::WebToCCInputHandlerAdapter):
(WebKit::WebToCCInputHandlerAdapter::~WebToCCInputHandlerAdapter):
(WebToCCInputHandlerAdapter::ClientAdapter):
(WebKit::WebToCCInputHandlerAdapter::ClientAdapter::ClientAdapter):
(WebKit::WebToCCInputHandlerAdapter::ClientAdapter::~ClientAdapter):
(WebKit::WebToCCInputHandlerAdapter::bindToClient):
(WebKit::WebToCCInputHandlerAdapter::animate):
* src/WebToCCInputHandlerAdapter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostClient.h.
(WebKit):
(WebToCCInputHandlerAdapter):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):
(WebKit::WebViewImpl::createInputHandler):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/CCThreadedTest.cpp:
* tests/FakeCCLayerTreeHostClient.h:
* tests/WebCompositorInputHandlerImplTest.cpp:
(MockWebInputHandlerClient):
(WebKit::MockWebInputHandlerClient::MockWebInputHandlerClient):
(WebKit::MockWebInputHandlerClient::~MockWebInputHandlerClient):
(WebKit::WebCompositorInputHandlerImplTest::WebCompositorInputHandlerImplTest):
(WebCompositorInputHandlerImplTest):
(WebKit::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Seek to end after duration change in HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=95986

Reviewed by Eric Carlson.

This seeks the media element to the end of the media resource if the current playback
position has become greater than the duration after a duration change.
http://dev.w3.org/html5/spec/media-elements.html#durationChange

Source/WebCore:

Test: http/tests/media/media-source/seek-to-end-after-duration-change.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerDurationChanged): After firing the duration change event, checks to see if current time exceeds duration and if so, seeks to duration.

LayoutTests:

* http/tests/media/media-source/seek-to-end-after-duration-change-expected.txt: Added.
* http/tests/media/media-source/seek-to-end-after-duration-change.html: Added.


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