AX: Webkit does not expose AXRequired on input type=file
https://bugs.webkit.org/show_bug.cgi?id=123376

Reviewed by Mario Sanchez Prada.

Source/WebCore: 

File upload buttons should expose AXRequired, since they take an input state.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
(WebCore::AccessibilityNodeObject::alternativeText):

LayoutTests: 

Modify existing test case to test for file upload buttons.

* accessibility/html5-required-attribute-expected.txt:
* accessibility/html5-required-attribute.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] enable media-stream in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=123144

Reviewed by Martin Robinson.

Source/WebCore:

* GNUmakefile.list.am: Add new MediaStream files to the GTK port build.

Tools:

* Scripts/webkitperl/FeatureList.pm: Enable media-stream build
for the GTK+ port.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: elements with explicit tabindex should expose AXFocused as writable, since mouse clicks can focus it
https://bugs.webkit.org/show_bug.cgi?id=121335

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Re-order logic that determines if a <span> should appear as an accessible element.
The change is that if an element canSetFocus() it should always be in the AX tree.

Test: accessibility/tabindex-elements-are-accessible.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

LayoutTests:

* accessibility/tabindex-elements-are-accessible-expected.txt: Added.
* accessibility/tabindex-elements-are-accessible.html: Added.
      New test to ensure that if tabindex is on an element, it is in the AX tree.
* platform/mac/accessibility/table-with-row-col-of-headers-expected.txt:
* platform/mac/accessibility/table-with-row-col-of-headers.html:
      Update to reflect that if an ignored <table> has a tabindex, then it should at least be an AXGroup
* platform/mac/accessibility/update-children-when-aria-role-changes.html:
      Update so that the <span> elements being used don't have tabindex, which forces them to be in the AX tree,
      which changes the output of the test (basically we'd need to query the child of those elements instead).


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Multiple runs per line on simple line path
https://bugs.webkit.org/show_bug.cgi?id=123446

Reviewed by Andreas Kling.

By allowing multiple runs per line we can support text flows with consecutive whitespaces in the middle.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
        
    Remove space test.
    The improved test coverage found a few more cases that we need to disallow.

(WebCore::SimpleLineLayout::adjustRunOffsets):
            
    Round the run positions and widths so they match line boxes.
    Adjust for text-align.

(WebCore::SimpleLineLayout::create):
        
    Split lines with consecutive spaces into runs.

* rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Run::Run):
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::hitTestFlow):
(WebCore::SimpleLineLayout::collectFlowOverflow):
(WebCore::SimpleLineLayout::computeTextBoundingBox):
* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Iterator::resolver):
(WebCore::SimpleLineLayout::RunResolver::Iterator::lineIndex):
(WebCore::SimpleLineLayout::RunResolver::Run::Run):
(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::Run::baseline):
(WebCore::SimpleLineLayout::RunResolver::Run::text):
(WebCore::SimpleLineLayout::RunResolver::Run::lineIndex):
(WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
        
    Removed unnecessary operators.

(WebCore::SimpleLineLayout::RunResolver::Iterator::operator==):
(WebCore::SimpleLineLayout::RunResolver::Iterator::operator!=):
(WebCore::SimpleLineLayout::RunResolver::Iterator::operator*):
(WebCore::SimpleLineLayout::RunResolver::Iterator::simpleRun):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):
(WebCore::SimpleLineLayout::RunResolver::begin):
(WebCore::SimpleLineLayout::RunResolver::end):
        
    Resolver -> RunResolver

(WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator==):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator!=):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
(WebCore::SimpleLineLayout::LineResolver::LineResolver):
(WebCore::SimpleLineLayout::LineResolver::begin):
(WebCore::SimpleLineLayout::LineResolver::end):
        
    Add LineResolver around RunResolver. It resolves the line rectangles.

(WebCore::SimpleLineLayout::runResolver):
(WebCore::SimpleLineLayout::lineResolver):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SVG: applyStrokeStyleToContext should take a RenderElement&.
<https://webkit.org/b/123447>

..and a RenderStyle& too, for that matter.

Reviewed by Anders Carlsson.

* rendering/svg/SVGRenderSupport.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):

    Have this take a RenderElement& and RenderStyle& instead of
    raw pointers. Tweaked a silly-looking loop.

* rendering/svg/RenderSVGShape.h:
* rendering/svg/RenderSVGShape.cpp:

    Moved BoundingRectStrokeStyleApplier helper class into the
    cpp file since it wasn't being used anywhere else.

* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
* rendering/svg/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::applyResource):

    Remove ampersands.


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