Create a script to import W3C tests
https://bugs.webkit.org/show_bug.cgi?id=111513

Reviewed by Ryosuke Niwa.

This patch attempts to re-land the 'import-w3c-tests'
script and accompanying modules.  The tests and code have
been cleaned up so that we do not log anything to stdout/stderr
while running the tests (thanks to outputcapture) and do not
write into the source tree while running the tests, and much
but not all of the code has been converted over to using the webkitpy

* Scripts/import-w3c-tests: Added.
* Scripts/webkitpy/w3c/__init__.py: Added.
* Scripts/webkitpy/w3c/test_converter.py: Added.
(W3CTestConverter):
(W3CTestConverter.__init__):
(W3CTestConverter.path_from_webkit_root):
(W3CTestConverter.read_webkit_prefixed_css_property_list):
(W3CTestConverter.convert_for_webkit):
(W3CTestConverter.convert_css):
(W3CTestConverter.convert_html):
(W3CTestConverter.convert_testharness_paths):
(W3CTestConverter.convert_prefixed_properties):
(W3CTestConverter.add_webkit_prefix_to_unprefixed_properties):
(W3CTestConverter.replace_tag):
* Scripts/webkitpy/w3c/test_converter_unittest.py: Added.
(W3CTestConverterTest):
(W3CTestConverterTest.fake_dir_path):
(W3CTestConverterTest.test_read_prefixed_property_list):
(W3CTestConverterTest.test_convert_for_webkit_nothing_to_convert):
(test_convert_for_webkit_harness_only):
(test_convert_for_webkit_properties_only):
(test_convert_for_webkit_harness_and_properties):
(test_convert_test_harness_paths):
(test_convert_prefixed_properties):
(verify_conversion_happened):
(verify_no_conversion_happened):
(verify_test_harness_paths):
(verify_prefixed_properties):
(generate_test_content):
* Scripts/webkitpy/w3c/test_importer.py: Added.
(main):
(parse_args):
(validate_import_directory):
(TestImporter):
(TestImporter.__init__):
(TestImporter.path_from_webkit_root):
(TestImporter.do_import):
(TestImporter.load_changeset):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.setup_destination_directory):
(TestImporter.update_test_status):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):
* Scripts/webkitpy/w3c/test_importer_unittest.py: Added.
(TestImporterTest):
(TestImporterTest.test_import_dir_with_no_tests):
* Scripts/webkitpy/w3c/test_parser.py: Added.
(TestParser):
(TestParser.__init__):
(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.reference_links_of_type):
(TestParser.is_jstest):
(TestParser.support_files):
* Scripts/webkitpy/w3c/test_parser_unittest.py: Added.
(TestParserTest):
(TestParserTest.test_analyze_test_reftest_one_match):
(test_analyze_test_reftest_multiple_matches):
(test_analyze_test_reftest_match_and_mismatch):
(test_analyze_test_reftest_with_ref_support_Files):
(test_analyze_jstest):
(test_analyze_pixel_test_all_true):
(test_analyze_pixel_test_all_false):
(test_analyze_non_html_file):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ads on theverge.com cause repaints when hovered, even though content doesn't visibly change.
<http://webkit.org/b/116344>

Reviewed by Darin Adler.

Teach RenderStyle::diff() to ignore differences in the outline value if both styles have non-visible outlines.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/StyleBackgroundData.cpp:
(WebCore::StyleBackgroundData::isEquivalentForPainting):
* rendering/style/StyleBackgroundData.h:
(StyleBackgroundData):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Get BlackBerry port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116287

Reviewed by Rob Buis.

* PlatformBlackBerry.cmake: Removed ClipboardBlackBerry.cpp.

* dom/Clipboard.h: Removed BLACKBERRY from the list of platforms that
use the legacy clipboard.

* editing/blackberry/EditorBlackBerry.cpp:
(WebCore::Editor::newGeneralClipboard): Changed to just create a copy
and paste clipboard.

* page/blackberry/EventHandlerBlackBerry.cpp: Removed a drag-related
function that wasn't doing any good.

* platform/blackberry/ClipboardBlackBerry.cpp: Removed.
* platform/blackberry/ClipboardBlackBerry.h: Removed.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardBlackBerry.cpp.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Force the script debug server to continue when disabling the debugger.

There might be some cases where the debugger will stay in the nested run loop
which cause weird issues.

Speculative fix for: https://webkit.org/b/111438

Reviewed by Joseph Pecoraro.

* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::disable):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSSParser parsing of CSSPropertyFontStretch falls into CSSPropertyGeometry
https://bugs.webkit.org/show_bug.cgi?id=116370

CSSPropertyFontStretch mistakenly fell through the shader parsing logic.

Reviewed by Alexandru Chiculita.

No new test possible, the feature is not implemented nor exposed.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
        https://bugs.webkit.org/show_bug.cgi?id=116359

        The condition was accidentally negated, fixing.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::isAvailable):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't run hg.

* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix for the GTK port after r150305 and r150306.

* GNUmakefile.list.am:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Parallel build fails if gtk-doc is enabled
https://bugs.webkit.org/show_bug.cgi?id=116227

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-18
Reviewed by Martin Robinson.

.:

* GNUmakefile.am:
Define an empty noinst_DATA variable where other automake files
can add additional objects to be built.

Source/WebCore:

* GNUmakefile.am:
Don't overwrite noinst_DATA, modify its existing value instead.

Tools:

* GNUmakefile.am:
Don't use the 'all' target to generate the documentation.
The prerequisites of this target must be files that need to be
built _before_ the actual compilation of WebKit starts. Since the
documentation depends on WebKit being built first, this means in
practice that the code will be built in parallel with the
generation of its dependencies, potentially making the build fail.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] Unreviewed build fix after r150305 and r150306.

* DerivedSources.pri:
* Target.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] REGRESSION(r150227): It made zillion tests crash under PlatformStrategiesQt::getPluginInfo
https://bugs.webkit.org/show_bug.cgi?id=116289

Patch by Tim Horton <timothy_horton@apple.com> on 2013-05-18
Reviewed by Csaba Osztrogonác.

Don't try to static cast something that isn't a ChromeClientQt to ChromeClientQt.
It's actually SVGImage's EmptyChromeClient-derived client (or other such things).

* WebCoreSupport/PlatformStrategiesQt.cpp:
(PlatformStrategiesQt::getPluginInfo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Unreviewed speculative build fix after r150305 and r150306.

* CMakeLists.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mac Lion rebaselines after r149999 and r150260.

* platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
* platform/mac-lion/media/track: Added.
* platform/mac-lion/media/track/track-cue-rendering-vertical-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION: [Mac] fast/js/post-message-numeric-property.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116388

Add a flaky test expectation.

* platform/mac/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
https://bugs.webkit.org/show_bug.cgi?id=116386

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-18
Reviewed by Christophe Dumez.

Refactor the API to handle 'const char*' parameter in right way and
enable the unit test which was disabled in r136230 as there is no assertion now.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::setCustomTextEncodingName):
* UIProcess/API/efl/EwkView.h:
(EwkView::customTextEncodingName):
(EwkView):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_custom_encoding_set):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mac rebaseline after r148944.

* platform/mac/TestExpectations:
* platform/mac/fast/table/giantRowspan-expected.txt:
* platform/mac/fast/table/giantRowspan2-expected.png:
* platform/mac/fast/table/giantRowspan2-expected.txt:
* platform/mac/tables/mozilla/bugs/bug133756-1-expected.txt:
* platform/mac/tables/mozilla/bugs/bug133756-2-expected.png:
* platform/mac/tables/mozilla/bugs/bug133756-2-expected.txt:
* platform/mac/tables/mozilla/bugs/bug220536-expected.png:
* platform/mac/tables/mozilla/bugs/bug220536-expected.txt:
* platform/mac/tables/mozilla/bugs/bug8858-expected.txt:
* platform/mac/tables/mozilla/core/bloomberg-expected.png:
* platform/mac/tables/mozilla/core/bloomberg-expected.txt:
* platform/mac/tables/mozilla/core/row_span-expected.png:
* platform/mac/tables/mozilla/core/row_span-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
* platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug65372-expected.png:
* platform/mac/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Move GTK port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116221

Reviewed by Martin Robinson.

Source/WebCore:

Merge clipboard methods into PasteboardGtk that now wraps a
DataObjectGtk.

* GNUmakefile.list.am: Remove ClipboardGtk.h.
* dom/Clipboard.h: Remove GTK from the list of ports using legacy
clipboard.
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::createDraggingClipboard): Use
Clipboard::createForDragAndDrop().
* platform/Pasteboard.h:
(Pasteboard):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::Editor::newGeneralClipboard): Use
Clipboard::createForCopyAndPaste().
(WebCore::Clipboard::createDragImage):
(WebCore::Clipboard::declareAndWriteDragImage):
* platform/gtk/ClipboardGtk.h: Removed.
* platform/gtk/DragDataGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::create): Create a new Pasteboard for a given
GtkClipboard or DataObjectGtk.
(WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard
for the GDK_SELECTION_CLIPBOARD clipboard.
(WebCore::Pasteboard::createPrivate): Create a Pasteboard without
a GtkClipboard associated.
(WebCore::Pasteboard::createForDragAndDrop): Create a Pasteboard
for drag and drop operations.
(WebCore::selectionClipboard): Return a static Pasteboard for the
GDK_SELECTION_CLIPBOARD clipboard.
(WebCore::primaryClipboard): Return a static Pasteboard for the
GDK_SELECTION_PRIMARY clipboard.
(WebCore::Pasteboard::generalPasteboard): Return
selectionClipboard() or primaryClipboard() depending on whether
primary selection clipboard is the active one or not.
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::dataObject): Return the wrapped DataObjectGtk.
(WebCore::dataObjectTypeFromHTMLClipboardType): Copied from
ClipboardGtk.cpp.
(WebCore::Pasteboard::writeString): Adapted to upate the wrapped
DataObjectGtk and the GtkClipboard if needed.
(WebCore::Pasteboard::writeSelection): Ditto.
(WebCore::Pasteboard::writePlainText): Ditto.
(WebCore::Pasteboard::writeURL): Ditto.
(WebCore::Pasteboard::writeImage): Ditto.
(WebCore::Pasteboard::writePasteboard): Copy the wrapped
DataObjectGtk from the DataObjectGtk of the given Pasteboard and
upsate the GtkClipboard if needed.
(WebCore::Pasteboard::clear): Copied from ClipboardGtk.cpp.
(WebCore::Pasteboard::canSmartReplace): Check if current
GtkClipboard supports smart replace.
(WebCore::Pasteboard::setDragImage):
(WebCore::Pasteboard::documentFragment): Adapted to use the
wrapped DataObjectGtk reading from the current GtkClipboard if
present.
(WebCore::Pasteboard::plainText): Ditto.
(WebCore::Pasteboard::hasData): Copied from ClipboardGtk.cpp.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

Source/WebKit/gtk:

* WebCoreSupport/DragClientGtk.cpp:
(WebKit::DragClient::startDrag): Get the DataObjectGtk from the
Pasteboard associated to the given Clipboard.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
include.
* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
Pasteboard associated to the given Clipboard.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL build fix.

.:

Temporarily disabled INDEXED_DATABASE at compile-time as it breaks
WK2 build after r150305.

* Source/cmake/OptionsEfl.cmake:

Tools:

Temporarily disabled INDEXED_DATABASE at compile-time as it breaks
WK2 build after r150305.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Skip indexeddb test cases as the feature is temporarily disabled due to
r150305.

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
https://bugs.webkit.org/show_bug.cgi?id=114554

Reviewed by Gyuyoung Kim.

Using variables as target names is very uncommon in CMake.
The usual way to specify the name of the resulting binary
is to set the OUTPUT_NAME target property.

.:

* CMakeLists.txt:
* Source/CMakeLists.txt:
* Source/PlatformEfl.cmake:
* Source/PlatformGTK.cmake:
* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitHelpers.cmake:
* Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

* CMakeLists.txt:
* shell/CMakeLists.txt:

Source/WebCore:

* CMakeLists.txt:

Source/WebKit:

* CMakeLists.txt:
* PlatformBlackBerry.cmake:
* PlatformEfl.cmake:

Source/WebKit/efl:

* ewebkit.pc.in:

Source/WebKit2:

* CMakeLists.txt:
* PlatformEfl.cmake:
* efl/ewebkit2.pc.in:

Source/WTF:

* wtf/CMakeLists.txt:

Tools:

* DumpRenderTree/efl/CMakeLists.txt:
* EWebLauncher/CMakeLists.txt:
* ImageDiff/CMakeLists.txt:
* MiniBrowser/efl/CMakeLists.txt:
* TestWebKitAPI/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/PlatformEfl.cmake:
* WinCELauncher/CMakeLists.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use CSSParserSelector::appendTagHistory() from CSS grammar.
<http://webkit.org/b/116382>

Reviewed by Antti Koivisto.

CSSParserSelector already knows how to append another component to itself,
no need to duplicate that logic in the grammar.

* css/CSSGrammar.y.in:


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