Implement the MathML Operator Dictionary.
https://bugs.webkit.org/show_bug.cgi?id=99620

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML Operator Dictionary is implemented and the corresponding mo
attributes are parsed. Currently, only the stretchy property is used for
the visual rendering and the fence/separators properties are used by the
accessibility code. Very basic heuristics to determine the form are also
added.

Tests: mathml/presentation/mo-form-fallback.html
       mathml/presentation/mo-form-stretchy.html
       mathml/presentation/mo-invalid-attributes.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isMathFenceOperator):
(WebCore::AccessibilityRenderObject::isMathSeparatorOperator):
* mathml/mathattrs.in:
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):
* rendering/mathml/RenderMathMLFenced.h:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::MathMLOperatorDictionary::ExtractChar):
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::advanceForCharacter):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::shouldAllowStretching):
(WebCore::RenderMathMLOperator::updateStyle):
* rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

* mathml/presentation/mo-form-fallback-expected.html: Added.
* mathml/presentation/mo-form-fallback.html: Added.
* mathml/presentation/mo-form-stretchy-expected.html: Added.
* mathml/presentation/mo-form-stretchy.html: Added.
* mathml/presentation/mo-invalid-attributes-expected.html: Added.
* mathml/presentation/mo-invalid-attributes.html: Added.
* mathml/presentation/mo-stretch.html: add an explicit stretchy attribute on the &DoubleVerticalBar; which is actually not a delimiter.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSSRegions] Add helper method for region clipping flow content
https://bugs.webkit.org/show_bug.cgi?id=129036

Reviewed by Andrei Bucur.

Add helper method to test whether a region should clip the flow thread content
and use it thoughout the code.
Code refactoring, no functionality change, no new tests.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::shouldClipFlowThreadContent):
(WebCore::RenderRegion::rectFlowPortionForBox):
* rendering/RenderRegion.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move to using std::unique_ptr for Document and related classes
https://bugs.webkit.org/show_bug.cgi?id=129063

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in the Document and related classes with std::unique_ptr.

* dom/DOMImplementation.h:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::removedLastRef):
(WebCore::Document::selectorQueryCache):
(WebCore::Document::implementation):
(WebCore::Document::formController):
(WebCore::Document::createStyleResolver):
(WebCore::Document::clearStyleResolver):
(WebCore::Document::clearAXObjectCache):
(WebCore::Document::axObjectCache):
(WebCore::Document::setParsing):
(WebCore::Document::styleResolverChanged):
(WebCore::Document::setTransformSource):
(WebCore::Document::accessSVGExtensions):
(WebCore::Document::sharedObjectPoolClearTimerFired):
(WebCore::Document::didAddTouchEventHandler):
* dom/Document.h:
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::DocumentEventQueue):
* dom/DocumentEventQueue.h:
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addMarker):
* dom/DocumentMarkerController.h:
* dom/DocumentSharedObjectPool.cpp:
* dom/DocumentSharedObjectPool.h:
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):
* dom/DocumentStyleSheetCollection.h:
* dom/DocumentType.h:
* html/FormController.h:
* rendering/TextAutosizer.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move to using std::unique_ptr for EventListenerMap, EventTarget
https://bugs.webkit.org/show_bug.cgi?id=129062

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the EventListenerMap and
EventTarget classes with std::unique_ptr.

* dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::add):
* dom/EventListenerMap.h:
* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* dom/EventTarget.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
https://bugs.webkit.org/show_bug.cgi?id=129061

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
but this will be addressed later.

* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
* dom/KeyboardEvent.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::publicURLManager):
* dom/ScriptExecutionContext.h:
* dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Children Nodes for Canvas objects are not equal to Render Objects.
https://bugs.webkit.org/show_bug.cgi?id=123568

Patch by Artur Moryc <a.moryc@samsung.com> on 2014-02-20
Reviewed by Chris Fleizach.

Source/WebCore:

There is a difference in children nodes taken into account for RenderObject
and for NodeObject types. There is a problem with text nodes that are
focusable for EFL/GTK and therefore are not filtered out in the test like it
happens for the MAC port. Text nodes are eliminated in the
AccessibilityRenderObject::computeAccessibilityIsIgnored() method. The same
approach has been applied to the NodeObject to eliminate text nodes.

Covered by existing tests.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

The canvas-accessibilitynodeobject.html test is not failing anymore.

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/gtk/TestExpectations:

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