test-webkitpy runs individual tests twice
https://bugs.webkit.org/show_bug.cgi?id=99098

Reviewed by Adam Barth.

If you were to run 'test-webkitpy webkitpy.test.main_unittests.TesterTests.test_no_tests_found',
it would actually run the test twice. This fixes that.

* Scripts/webkitpy/test/main.py:
(Tester._parse_args):
(Tester._test_names):
* Scripts/webkitpy/test/main_unittest.py:
(TesterTest.test_no_tests_found):
(TesterTest):
(TesterTest.test_individual_names_are_not_run_twice):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMAKE] Do not add include dirs twice
https://bugs.webkit.org/show_bug.cgi?id=99099

Reviewed by Yong Li.

Do not add WebCore_INCLUDE_DIRECTORIES to WebCoreTestSupport_INCLUDE_DIRECTORIES, the includes_directory
call does this for us.

* CMakeLists.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Make custom filters use a premultiplied buffer.
https://bugs.webkit.org/show_bug.cgi?id=98396

Patch by Huang Dongsung <luxtella@company100.net> on 2012-10-11
Reviewed by Dean Jackson.

Source/WebCore:

Currently, a GLSL css_Composite function returns a premultiplied color, so
FECustomFilter must make a premultiplied buffer in the case when an author is
using the CSS mix function.

In addition, there are two performance benefits when FECustomFilter uses a premultiplied buffer.
1. FilterEffect::asImageBuffer is faster.
2. In the future when Accelerated Compositing implementations use
FECustomFilter, they do not need to convert an unmultiplied buffer to a
premultiplied buffer.

Test: css3/filters/custom/custom-filter-composite-fractional-source-alpha.html

* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::applyShader):

LayoutTests:

Add test to check that the DOM element texture composites correctly
when source alpha is a fractional value.

* css3/filters/custom/custom-filter-composite-fractional-source-alpha-expected.html: Added.
* css3/filters/custom/custom-filter-composite-fractional-source-alpha.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ElementAttributeData shouldn't be managing Element's callbacks.
<http://webkit.org/b/98987>

Reviewed by Anders Carlsson.

Dispatch the following attribute-related Element callbacks from within Element
instead of ElementAttributeData. Also made them private.

    - willModifyAttribute
    - didModifyAttribute
    - didAddAttribute
    - didRemoveAttribute

No behavior change, just making ElementAttributeData a bit dumber (a good thing.)

* dom/Element.cpp:
(WebCore::Element::detachAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::removeAttributeInternal):
(WebCore::Element::addAttributeInternal):
* dom/Element.h:
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
* dom/ElementAttributeData.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebGL] [Mac] only the mapped symbol for the first element of a uniform/attribute array is stored.
https://bugs.webkit.org/show_bug.cgi?id=98966

Reviewed by Dean Jackson.

We currently do not add name/mappedName symbol pairs for each element of a uniform/attribute array.
This is because we only add a number of symbols equal to how many symbols the shader compiler tells us there are.
The shader compiler treats an array as a single uniform. We need to be adding in symbols to the map for each element of the array ourselves.
The mappedName of each array element is the same between elements except for the "[index]" at the end so this is easy to do.

Tested using Khronos WebGL conformance suite:
conformance/glsl/misc/glsl-long-variable-names.html

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::getSymbolInfo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
unprefix window.performance.webkitNow()
https://bugs.webkit.org/show_bug.cgi?id=88278

Reviewed by Tony Gentilcore.

PerformanceTests:

* resources/runner.js: Bind to proper object to avoid invalid invocation errors.

Source/WebCore:

Test: fast/dom/Window/window-properties-performance.html
      fast/performance/performance-now-timestamps.html

* page/Performance.cpp:
(WebCore::Performance::now):
* page/Performance.h:
(Performance):
* page/Performance.idl:

LayoutTests:

* fast/dom/Window/window-properties-performance-expected.txt:
* fast/performance/performance-now-timestamps-expected.txt:
* fast/performance/script-tests/performance-now-timestamps.js:
* platform/chromium/TestExpectations: Remove skipped expectation.
* platform/efl/TestExpectations:
* platform/efl/fast/dom/Window/window-properties-performance-expected.txt:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
* platform/qt/fast/dom/Window/window-properties-performance-expected.txt:
* resources/magnitude-perf.js:
(Magnitude._runIteration):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: labelForElement is slow when there are a lot of DOM elements
https://bugs.webkit.org/show_bug.cgi?id=97825

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adds a DocumentOrderedMap to TreeScope that allows accessibility to
quickly map from an id to the label for that id. This speeds up
AccessibilityNode::labelForElement, which was a bottleneck in Chromium
when accessibility was on.

Tests: accessibility/title-ui-element-correctness.html
       perf/accessibility-title-ui-element.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::labelForElement):
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesLabelForAttribute):
(WebCore):
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
* dom/DocumentOrderedMap.h:
(DocumentOrderedMap):
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateLabel):
(WebCore):
(WebCore::Element::willModifyAttribute):
* dom/Element.h:
(Element):
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::addLabel):
(WebCore):
(WebCore::TreeScope::removeLabel):
(WebCore::TreeScope::labelElementForId):
* dom/TreeScope.h:
(WebCore):
(TreeScope):
(WebCore::TreeScope::shouldCacheLabelsByForAttribute):

Tools:

Implement titleUIElement in the chromium port of DRT, and
fix getAccessibleElementById so that it ensures the backing store
is up-to-date.

* DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.cpp:
(AccessibilityController::getAccessibleElementById):
* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
(AccessibilityUIElement::titleUIElementCallback):

LayoutTests:

Adds two new tests for titleUIElement that run on both Mac and
Chromium. One tests correctness, the other tests speed.

Fixes one test so that it passes on Chromium.
Enables other tests that now pass on Chromium.

* accessibility/secure-textfield-title-ui.html:
* accessibility/title-ui-element-correctness-expected.txt: Added.
* accessibility/title-ui-element-correctness.html: Added.
* perf/accessibility-title-ui-element-expected.txt: Added.
* perf/accessibility-title-ui-element.html: Added.
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed watch list addition for Inspector.json.

* Scripts/webkitpy/common/config/watchlist:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Improve vertical text rendering of HarfBuzzShaper
https://bugs.webkit.org/show_bug.cgi?id=98979

Reviewed by Tony Chang.

- Specify 'vert' and 'vrt2' features when we render vertical text.
- Set appropriate script so that harfbuzz-ng can use the features.

No new tests. fast/text/international/text-spliced-font.html should cover this change.
This change will affect after switching to harfbuzz-ng.

* platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
(WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
(WebCore::findScriptForVerticalGlyphSubstitution): Added.
(WebCore):
(WebCore::HarfBuzzNGFace::setScriptForVerticalGlyphSubstitution): Added.
* platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
(HarfBuzzNGFace): Added m_scriptForVerticalText.
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::setFontFeatures):
Set 'vert' and 'vrt2' features when orientation() == Vertical.
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
Call setScriptForVerticalGlyphSubstitution() when orientation() == Vertical.


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