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