[Qt] Unreviewed gardening, unskip now passing tests.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Use POSIX implementation of SharedBuffer::createWithContentsOfFile()
https://bugs.webkit.org/show_bug.cgi?id=101228

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-05
Reviewed by Kenneth Rohde Christiansen.

Get rid of EFL-specific implementation of SharedBuffer::createWithContentsOfFile()
and reuse the POSIX one since it is pretty much the same.

No new tests, no behavior change.

* PlatformEfl.cmake:
* platform/efl/SharedBufferEfl.cpp: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Exclusions] Polygon edges should span colinear vertices
https://bugs.webkit.org/show_bug.cgi?id=99343

Patch by Hans Muller <hmuller@adobe.com> on 2012-11-05
Reviewed by Dirk Schulze.

Source/WebCore:

ExclusionPolygonEdges now span coincident and collinear vertices. Currently
pairs of vertices are only considered coincident if their coordinates are exactly
equal. Similarly, a vertex is only considered collinear with an edge if the area
of the triangle defined by the three vertices is exactly zero.  In the future it
may be useful to relax the comparison with zero.

Tests: fast/exclusions/shape-inside/shape-inside-coincident-vertices.html
       fast/exclusions/shape-inside/shape-inside-collinear-vertices.html

* rendering/ExclusionPolygon.cpp:
(WebCore::determinant): Used to measure collinearity.
(WebCore):
(WebCore::areCollinearPoints): True if three FloatPoint arguments are collinear per the test outlined above.
(WebCore::areCoincidentPoints): True if the two FloatPoint arguments are equal.
(WebCore::nextVertexIndex): The next vertex index in clockwise or counterclockwise order.
(WebCore::ExclusionPolygon::findNextEdgeVertexIndex): Return the index of the next non-coincident, non-collinear vertex.
(WebCore::ExclusionPolygon::ExclusionPolygon): Skip coincident and collinear vertices when building the list of edges.
* rendering/ExclusionPolygon.h: Added private findNextEdgeVertexIndex() declaration.

LayoutTests:

Verify that exclusion polygonal shape-inside layout is unaffected by coincident
or collinear vertices.

* fast/exclusions/shape-inside/shape-inside-coincident-vertices-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-coincident-vertices.html: Added.
* fast/exclusions/shape-inside/shape-inside-collinear-vertices-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-collinear-vertices.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening, unskip a now passing test.

* platform/qt-5.0-wk1/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Decouple Attr logic from ElementAttributeData.
<http://webkit.org/b/101126>

Reviewed by Antti Koivisto.

Move all logic dealing with Attr DOM nodes from ElementAttributeData to Element.
This makes more sense since an Attr is tied to a single Element, but an ElementAttributeData
can be shared by any number of Elements at a given time.

Also updated naming convention from just "Attr" to "Attr node" in the code I was touching.
"Attr" is way too generic, and has been historically confused with WebCore::Attribute a lot.

* dom/Element.h:
* dom/ElementAttributeData.h:
* dom/Element.cpp:
(WebCore::attrNodeListMap):
(WebCore::attrNodeListForElement):
(WebCore::ensureAttrNodeListForElement):
(WebCore::removeAttrNodeListForElement):
(WebCore::findAttrNodeInList):
(WebCore::Element::~Element):
(WebCore::Element::detachAttribute):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeInternal):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::normalizeAttributes):
(WebCore::Element::attrIfExists):
(WebCore::Element::ensureAttr):
(WebCore::Element::detachAttrNodeFromElementWithValue):
(WebCore::Element::detachAllAttrNodesFromElement):
(WebCore::Element::cloneAttributesFromElement):

    Move everything Attr-related into Element.cpp while simplifying some loops and remove
    conditions that are no longer needed as they used to depend on having an attributeData().

* dom/Node.h:
(WebCore::Node::hasSyntheticAttrChildNodes):
(WebCore::Node::setHasSyntheticAttrChildNodes):

    Renamed the hasAttrList() node flag to hasSyntheticAttrChildNodes().

* dom/Attr.cpp:
(WebCore::Attr::detachFromElementWithValue):

    Remove awkward indirection and let the call site deal with removing the Attr node from
    the Element's list of Attr nodes.

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::clearAttributes):

    Remove now-unused Element* argument.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reduce the verbosity of referring to QNaN in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=101174

Reviewed by Geoffrey Garen.

Introduces a #define QNaN in JSValue.h, and replaces all previous uses of
std::numeric_limits<double>::quiet_NaN() with QNaN.

* API/JSValueRef.cpp:
(JSValueMakeNumber):
(JSValueToNumber):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitFloatTypedArrayGetByVal):
* runtime/CachedTranscendentalFunction.h:
(JSC::CachedTranscendentalFunction::initialize):
* runtime/DateConstructor.cpp:
(JSC::constructDate):
* runtime/DateInstanceCache.h:
(JSC::DateInstanceData::DateInstanceData):
(JSC::DateInstanceCache::reset):
* runtime/ExceptionHelpers.cpp:
(JSC::InterruptedExecutionError::defaultValue):
(JSC::TerminatedExecutionError::defaultValue):
* runtime/JSCell.h:
(JSC::JSValue::getPrimitiveNumber):
* runtime/JSDateMath.cpp:
(JSC::parseDateFromNullTerminatedCharacters):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::resetDateCache):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::parseInt):
(JSC::jsStrDecimalLiteral):
(JSC::toDouble):
(JSC::jsToNumber):
(JSC::parseFloat):
* runtime/JSValue.cpp:
(JSC::JSValue::toNumberSlowCase):
* runtime/JSValue.h:
(JSC):
* runtime/JSValueInlineMethods.h:
(JSC::jsNaN):
* runtime/MathObject.cpp:
(JSC::mathProtoFuncMax):
(JSC::mathProtoFuncMin):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement SimpleFontData::platformBoundsForGlyph on skia
https://bugs.webkit.org/show_bug.cgi?id=101115

Reviewed by Eric Seidel.

Source/WebCore:

The implementation is similar to SimpleFontData::platformWidthForGlyph on skia.

Tested by: fast/block/lineboxcontain/*glyphs*, mathml/presentation/*

* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.

LayoutTests:

Some lineboxcontain/etc. tests will need rebaselining.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Rolled DEPS.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] toV8(impl) should return null if impl is 0
https://bugs.webkit.org/show_bug.cgi?id=101206

Reviewed by Adam Barth.

toV8(impl) should return null if impl is 0. However,
V8HTMLCollection::toV8() does not have the null check.
All other toV8()s return null.

No tests. I think there will be no call path that hits the change.

* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::toV8):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Build fix after http://trac.webkit.org/changeset/133488.
Removed a deleted file.  Unreviewed.

* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Pass canPaintLCDText to WebContentLayerClient::paintContents
https://bugs.webkit.org/show_bug.cgi?id=99083

Reviewed by Stephen White.

Use LCD text setting passed to WebContentLayerClient::paintContents instead of turning it off for all composited layers.

Source/Platform:

* chromium/public/WebContentLayerClient.h:
(WebContentLayerClient):
(WebKit::WebContentLayerClient::paintContents):

Source/WebCore:

No new tests needed. This patch does not change anything functionally.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::paint):
* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h:
(OpaqueRectTrackingContentLayerDelegate):

Source/WebKit/chromium:

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::paintContents):
* src/LinkHighlight.h:
(LinkHighlight):
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setOpaque):
(WebKit::NonCompositedContentHost::paintContents):
* src/NonCompositedContentHost.h:
(NonCompositedContentHost):
* tests/OpaqueRectTrackingContentLayerDelegateTest.cpp:
(WebCore::TEST_F):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Mark css3/filters/custom/custom-filter-animation.html
as timing out intermittently.  Unreviewed.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BLACKBERRY] Update touch code to reflect touch refactor
https://bugs.webkit.org/show_bug.cgi?id=101227

Patch by Genevieve Mak <gmak@rim.com> on 2012-11-05
Reviewed by Rob Buis.

PR #2706785
Reviewed Internally by: Mike Lattanzio

Source/WebCore:

* platform/blackberry/PlatformTouchEventBlackBerry.cpp:
(WebCore::touchEventType):
(WebCore::PlatformTouchEvent::PlatformTouchEvent):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::touchEvent):
(BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expose hit test related methods in public chromium port
https://bugs.webkit.org/show_bug.cgi?id=101204

Patch by Bo Liu <boliu@chromium.org> on 2012-11-05
Reviewed by Adam Barth.

The methods are needed in implementating hit test related methods in the
Android WebView API.

The specific methods are:
[Web]HitTestResult::urlElement
[Web]HitTestResult::absoluteImageURL
[Web]HitTestResult::absoluteLinkURL
[Web]HitTestResult::isContentEditable
WebViewImpl::hitTestResultAt

* public/WebHitTestResult.h:
(WebKit):
(WebHitTestResult):
* public/WebView.h:
(WebKit):
(WebView):
* src/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::urlElement):
(WebKit):
(WebKit::WebHitTestResult::absoluteImageURL):
(WebKit::WebHitTestResult::absoluteLinkURL):
(WebKit::WebHitTestResult::isContentEditable):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::hitTestResultAt):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
lint-webkitpy doesn't autoinstall pylint properly.
https://bugs.webkit.org/show_bug.cgi?id=101106

Reviewed by Ojan Vafai.

Re-land r133381 with fix; ironically, lint-webkitpy would've
complained about the problem. Also modify pylintrc and clean up
any other lint errors in the modified files.

* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._set_up_target_dir):
(AutoInstaller):
(AutoInstaller._make_package):
(AutoInstaller._create_scratch_directory):
(AutoInstaller._install):
(AutoInstaller.install):
* Scripts/webkitpy/pylintrc:
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path):
(AutoinstallImportHook):
(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_pylint):
(AutoinstallImportHook._install_coverage):
(AutoinstallImportHook._install_eliza):
(AutoinstallImportHook._install_webpagereplay):
(AutoinstallImportHook._install):
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest.test_import_hook.MockImportHook.__init__):
(ThirdpartyTest.test_import_hook):
(ThirdpartyTest.test_imports):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkit-patch rebaseline is broken
https://bugs.webkit.org/show_bug.cgi?id=101235

Reviewed by Ojan Vafai.

It didn't get updated to handle the change in parsing --suffixes
properly, and the unit test didn't get updated either, masking the
problem.

* Scripts/webkitpy/tool/commands/rebaseline.py:
(Rebaseline._tests_to_update):
(Rebaseline.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaseline.test_rebaseline):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The layout test runner shouldn't wait for data if stdout/stderr have been closed
https://bugs.webkit.org/show_bug.cgi?id=101233

Reviewed by Dirk Pranke.

Trying to read the file descriptor for the stdout or stderr pipes when DumpRenderTree
has crashed during a Chromium Android layout test-run, which uses FIFOs for
communication, causes the File.fileno() method to raise a ValueError. Return early
if either of the pipes has already been closed.

* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_select):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkitpy: clean up options for specifying multiple platforms at once
https://bugs.webkit.org/show_bug.cgi?id=101140

Reviewed by Ojan Vafai.

This patch reworks how we display the help strings for --platform
options and how we filter out platforms matching a glob. This will
be useful as I add patches to ensure that all the webkit-patch
commands are using --platform consistently to filter ports.

There should be no functional changes resulting from this patch.

* Scripts/webkitpy/layout_tests/port/factory.py:
(platform_options):
(PortFactory.all_port_names):
(PortFactory.get_from_builder_name):
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.__init__):
(PrintBaselines.__init__):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(AbstractRebaseliningCommand):
(RebaselineJson.__init__):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineExpectations.setUp):
(TestRebaselineExpectations.test_rebaseline_expectations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkit-patch rebaseline-expectations should take a --platform arg
https://bugs.webkit.org/show_bug.cgi?id=97621

Reviewed by Ojan Vafai.

So that we can limit which platforms we attempt to rebaseline;
this can reduce the noise the command produces if some ports
have errors or warnings in their TestExpectations files and/or
help produce more predictable results.

In testing this patch, I realized that the rebaseline-in-parallel
commands (rebaseline-json, rebaseline-expectations, etc.) can
cause multiple rebaseline-test-internal commands to attempt to
modify the TestExpectations files concurrently, and that we needed
to lock the files to prevent corruption; it would be nice if
we can split the updating-the-expectations-files out separately
from updating the filesystem (much like we do with the scm updates)
to avoid this concurrency.

* Scripts/webkitpy/common/system/file_lock_mock.py: Added.
(MockFileLock):
(MockFileLock.__init__):
(MockFileLock.acquire_lock):
(MockFileLock.release_lock):
* Scripts/webkitpy/common/system/systemhost.py:
(SystemHost.copy_current_environment):
(SystemHost):
(SystemHost.make_file_lock):
* Scripts/webkitpy/common/system/systemhost_mock.py:
(MockSystemHost.copy_current_environment):
(MockSystemHost):
(MockSystemHost.make_file_lock):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest._update_expectations_file):
(RebaselineExpectations.__init__):
(RebaselineExpectations._add_tests_to_rebaseline_for_port):
(RebaselineExpectations.execute):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkit-patch optimize-baselines should take a --platform arg
https://bugs.webkit.org/show_bug.cgi?id=97623

Reviewed by Ojan Vafai.

So that we can optionally limit/control which platforms' results
are affected.

This patch adds --platform to analyze-baselines as well.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(_baseline_search_hypergraph):
(BaselineOptimizer.__init__):
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(TestBaselineOptimizer.__init__):
(BaselineOptimizerTest.test_move_baselines):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(OptimizeBaselines.__init__):
(OptimizeBaselines.execute):
(AnalyzeBaselines.__init__):
(AnalyzeBaselines.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestAnalyzeBaselines.test_default):
(TestAnalyzeBaselines.test_missing_baselines):

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