2012-08-22 Dominik Röttsches Unreviewed, adding myself to committers.py. * Scripts/webkitpy/common/config/committers.py: 2012-08-21 Sudarsana Nagineni [GTK] contextClick and getMenuItemTitle callbacks are leaky in DRT's EventSender https://bugs.webkit.org/show_bug.cgi?id=94669 Reviewed by Carlos Garcia Campos. Fix memory leaks in DRT's EventSender code. * DumpRenderTree/gtk/EventSender.cpp: (getMenuItemTitleCallback): Use JSRetainPtr and don't leak. (contextClickCallback): Use GOwnPtr to manage memory of a newly-allocated list automatically. 2012-08-21 Dirk Pranke Add mountain lion to perf-tests, layout tests https://bugs.webkit.org/show_bug.cgi?id=94553 Reviewed by Adam Barth. This patch adds support for the 'mac-mountainlion' platform and stamps out the last references to 'mac-leopard' as a supported name. This patch does a small amount of refactoring to try and make things a little clearer how we treat the "most recent version" specially for baselines and skipped files, and so you only should have to touch the VERSION_FALLBACK_ORDER constants on the ports, but unfortunately changing this list changes a bunch of the unit tests which are doing exact matches for correctness, so you have to touch more than a couple files :(. There's probably still more refactoring that can be done so that we don't have to do all of this functional testing to feel completely correct. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo._determine_mac_version): * Scripts/webkitpy/common/system/platforminfo_unittest.py: (TestPlatformInfo.test_os_version): * Scripts/webkitpy/layout_tests/port/apple.py: (ApplePort.__init__): (ApplePort): (ApplePort._skipped_file_search_paths): (ApplePort._generate_all_test_configurations): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort): * Scripts/webkitpy/layout_tests/port/factory_unittest.py: (FactoryTest.test_mac): * Scripts/webkitpy/layout_tests/port/mac.py: (MacPort): (MacPort._build_driver_flags): (MacPort.should_retry_crashes): (MacPort.default_baseline_search_path): (MacPort.operating_system): (MacPort.default_child_processes): * Scripts/webkitpy/layout_tests/port/mac_unittest.py: (MacTest): (MacTest.test_skipped_file_search_paths): (test_versions): (test_baseline_search_path): * Scripts/webkitpy/layout_tests/port/win.py: (WinPort): (WinPort.default_baseline_search_path): 2012-08-21 Zan Dobersek [GTK] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html is failing https://bugs.webkit.org/show_bug.cgi?id=94617 Reviewed by Martin Robinson. Set the 'enable-file-access-from-file-uris' setting to true when resetting default values. The other ports do this as well, giving documents with local security origin permission to load other local resources. * DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): 2012-08-21 Kent Tamura [Chromium] DRT produces wrong back-forward list https://bugs.webkit.org/show_bug.cgi?id=94575 Reviewed by Adam Barth. DRT clears its history state before running every tests. However HistoryController in WebCore isn't reset. So, it is possible that 'isNewNavigation' flag is false even though the navigation should be handled as "new" for DRT. This change might fix a problem of fast/forms/select/select-state-restore.html (Bug 90207). * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::updateForCommittedLoad): Treat the first page load (m_pageID == -1) as new navigation except for about:blank. Without this change, a navigation entry for this loading won't be recorded. 2012-08-21 Thiago Marcos P. Santos [EFL] Enable CSS Text Decoration by default https://bugs.webkit.org/show_bug.cgi?id=94483 Reviewed by Kenneth Rohde Christiansen. * Scripts/webkitperl/FeatureList.pm: 2012-08-21 Benjamin Poulain Store CString data in the CStringBuffer to avoid the double indirection https://bugs.webkit.org/show_bug.cgi?id=94562 Reviewed by Darin Adler. Add test coverage for WTF::CString. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/GNUmakefile.am: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/CString.cpp: 2012-08-21 Dirk Pranke Text Autosizing: ::first-letter pseudo-element is incorrectly sized https://bugs.webkit.org/show_bug.cgi?id=94540 Reviewed by Ojan Vafai. Revert the changes in bugs 94517 and 94396 so that we are actually looking for stderr output from ImageDiff and doing image compares on ref tests on the wk2 ports again. Also, do an actual diff_image() call if the hash checks fail on reftests, and only fail the test if we get real diffs (or don't, for mismatches). Lastly, clean up the log messages to be more helpful. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._compare_image): (SingleTestRunner._compare_output_with_reference): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): 2012-08-21 Dirk Pranke _compare_image() swaps actual and expected images by mistake https://bugs.webkit.org/show_bug.cgi?id=94567 Reviewed by Ojan Vafai. Re-work the code so that we consistently pass (expected, actual) across all of the compare/diff routines. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._run_compare_test): (SingleTestRunner._compare_output): (SingleTestRunner._compare_text): (SingleTestRunner._compare_audio): (SingleTestRunner._compare_image): (SingleTestRunner._run_reftest): (SingleTestRunner._compare_output_with_reference): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): 2012-08-21 Adam Barth Unreviewed. Move the commit-queue to building release only. Previously, we built debug too, but for some reason the debug build doesn't work on the bots. We can re-enable debug builds once we fix the underlying problem. * Scripts/webkitpy/tool/commands/queues.py: (CommitQueue.build_style): * Scripts/webkitpy/tool/commands/queues_unittest.py: 2012-08-21 Ryosuke Niwa TestExpectationsParser doesn't warn about test files that don't exist. https://bugs.webkit.org/show_bug.cgi?id=94632 Reviewed by Dirk Pranke. Exit early and warn when the test file doesn't exist as well when a test directory doesn't exist. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectationParser._parse_line): (TestExpectationParser._check_test_exists): * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (test_parse_warning): 2012-08-20 Ryosuke Niwa Move free functions in test_expectations to TestExpectations class https://bugs.webkit.org/show_bug.cgi?id=94557 Reviewed by Dirk Pranke. Moved test_result_was_expected, test_remove_pixel_failures, and test_suffixes_for_expectations into TestExpectations to allow further refactoring. * Scripts/webkitpy/common/net/resultsjsonparser.py: (JSONTestResult.did_run_as_expected): (JSONTestResult._tokenize): * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectations): (TestExpectations.result_was_expected): (TestExpectations.remove_pixel_failures): (TestExpectations.has_pixel_failures): (TestExpectations.suffixes_for_expectations): (TestExpectations.matches_an_expected_result): * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (MockBugManager.create_bug): (test_result_was_expected): (test_remove_pixel_failures): (test_suffixes_for_expectations): * Scripts/webkitpy/tool/commands/rebaseline.py: (RebaselineExpectations._tests_to_rebaseline): 2012-08-21 Simon Hausmann Unreviewed build fix for newer Qt 5: The meaning of private_includes changed to be fully self-contained. The module name is not appended automatically anymore. * qmake/qt_webkit.pri: 2012-08-20 Xianzhu Wang [Chromium-Android] Add stop_when_done parameter to ChromiumAndroidDriver.run_test() https://bugs.webkit.org/show_bug.cgi?id=94558 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidDriver.run_test): 2012-08-20 Ryosuke Niwa Cleanup TestExpectationParser.parse https://bugs.webkit.org/show_bug.cgi?id=94545 Reviewed by Dirk Pranke. Refactor TestExpectations to simplify the code. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectationParser.parse): Merged _tokenize_list. (TestExpectationParser._parse_line): Removed the call to _check_modifiers_against_expectations since the check is now done in _parser_modifiers. (TestExpectationParser._parse_modifiers): Merged _check_modifiers_against_expectations. (TestExpectationParser._tokenize_line): Renamed from _tokenize. (TestExpectationParser._split_space_separated): No longer calls lower() on all modifiers. This is done on a local variable in _parse_modifiers, preserving the original case. (TestExpectations.remove_rebaselined_tests.without_rebaseline_modifier): Check the existence of 'rebaseline' against parsed modifiers. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (TestExpectationParserTests._tokenize): (TestExpectationParserTests.test_tokenize_valid_with_comment): Preserves case. (TestExpectationParserTests.test_tokenize_valid_with_multiple_modifiers): Ditto. (TestExpectationSerializerTests._tokenize): (TestExpectationSerializerTests.assert_list_round_trip): Call parse since _tokenize_list has been merged into parse. * Scripts/webkitpy/tool/commands/queries_unittest.py: (PrintExpectationsTest.test_csv): Preserves the case. 2012-08-20 Gustavo Noronha Silva [jhbuild] EFL now runs jhbuild update for every build https://bugs.webkit.org/show_bug.cgi?id=94267 Reviewed by Martin Robinson. Try to fix WinCE build by returning the empty string instead of env when no jhbuild infrastructure is found. * Scripts/webkitdirs.pm: (jhbuildWrapperPrefixIfNeeded): 2012-08-20 Benjamin Poulain Add a watcher for WTF changes Unreviewed. Add myself as a watcher for changes in WTF. * Scripts/webkitpy/common/config/watchlist: 2012-08-20 Thiago Marcos P. Santos [EFL] Move jhbuild dependencies based on SVN to tarballs https://bugs.webkit.org/show_bug.cgi?id=90374 Reviewed by Kenneth Rohde Christiansen. Moved all the dependencies based on SVN to tarballs taken from a equivalent snapshot from the official git mirror. This will make update-webkitefl not dependent on network connection after the first run. The bots will not fail if EFL SVN server in unreachable. The reason why git mirror is not used directly is to minimize the total size of source code we need to download. * efl/jhbuild.modules: 2012-08-20 Simon Fraser Lots of "error, test and reference image have different properties" in pixel test output https://bugs.webkit.org/show_bug.cgi?id=92578 Reviewed by Dirk Pranke. Improve ImageDiff's error reporting when test result image and expected image differ in their properties. * DumpRenderTree/cg/ImageDiffCG.cpp: 2012-08-20 Nate Chapin Unsafe vsprintf usage in TestNetscapePlugin https://bugs.webkit.org/show_bug.cgi?id=94522 Reviewed by Adam Barth. * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: (pluginLogWithArguments): Using vsnprintf instead of vsprintf to ensure we don't overflow the message buffer. (testDocumentOpen): (testWindowOpen): 2012-08-20 George Staikos [BlackBerry] Enable XHR Response BLOB https://bugs.webkit.org/show_bug.cgi?id=94525 Reviewed by Rob Buis. Turn on the XHR response blob feature for the BlackBerry port. * Scripts/webkitperl/FeatureList.pm: Add the feature and enable it. 2012-08-20 Dirk Pranke Fix change for timeout detection to not crash if we have no output :) https://bugs.webkit.org/show_bug.cgi?id=94505 Unreviewed, build fix. * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.run_test): 2012-08-20 Dirk Pranke temporarily disable ImageDiff on WK2 ports for ref tests https://bugs.webkit.org/show_bug.cgi?id=94517 Reviewed by Brady Eidson. ImageDiff appears to be unable to handle the pngs returned from WebKitTestRunner, so we disable checking images by default for ref tests on wk2 ports (unless pixel tests is explicitly enabled). * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._compare_output_with_reference): 2012-08-20 Dirk Pranke Add missing FIXME: to previous change. https://bugs.webkit.org/show_bug.cgi?id=94505 Reviewed by Ojan Vafai. * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.run_test): 2012-08-20 Dirk Pranke Intermittenly, many WebKit2 tests have results from the wrong test compared to the test just run, giving false failures. https://bugs.webkit.org/show_bug.cgi?id=94505 Reviewed by Ojan Vafai. It looks like if the webprocess times out, WTR may tell NRWT that the test completed, but not properly reset its internal state, and then return stale output for subsequent tests. This patch modifies NRWT temporarily to check for "Timed out waiting for final message from web process" in stdout and treat that as a timeout (and thus kill WTR); this seems to solve the cascade of failures, but of course there's probably still a bug in WTR that needs to be fixed. * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.run_test): 2012-08-20 Dirk Pranke NRWT reports unexpected EOF https://bugs.webkit.org/show_bug.cgi?id=94387 Reviewed by Adam Barth. Stop logging "Unexpected EOF" when we are reading the last few bytes from stdout/stderr after stopping the subprocess. * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess._wait_for_data_and_update_buffers_using_select): (ServerProcess.stop): 2012-08-20 Brady Eidson Temporarily disable the 20+ crash and 500+ failure options on WK2 bots. https://bugs.webkit.org/show_bug.cgi?id=94506 Reviewed by Dirk Pranke. When running WK2 tests, don't add the "abort early" command line options. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (ConfigureBuild.start): (RunWebKitTests): (RunWebKitTests.start): (RunWebKit2Tests.start): 2012-08-19 Stephanie Lewis Add mountain lion to build config. https://bugs.webkit.org/show_bug.cgi?id=94441 Reviewed by Adam Barth. Add Mountain Lion to the build trigger configurations. * Scripts/webkitpy/common/config/build.py: (_should_file_trigger_build): * Scripts/webkitpy/common/config/build_unittest.py: (ShouldBuildTest): (ShouldBuildTest.test_should_build): 2012-08-17 Kiran Muppala Add self to webkit contributors list https://bugs.webkit.org/show_bug.cgi?id=94409 Reviewed by Dirk Pranke. Add name, email and irc handle to webkit contributors list. * Scripts/webkitpy/common/config/committers.py: 2012-08-17 Ryosuke Niwa Perfalizer should differentiate results with and without the patch https://bugs.webkit.org/show_bug.cgi?id=94399 Reviewed by Dirk Pranke. Add "with 12345" and "without 12345" descriptions in results JSON so that graphs in the results page are labled accordingly. Also use _build_without_patch when building without a patch so that we get the right error message. * Scripts/webkitpy/tool/commands/perfalizer.py: (PerfalizerTask.run): (PerfalizerTask._run_perf_test): * Scripts/webkitpy/tool/commands/perfalizer_unittest.py: (PerfalizerTaskTest._create_and_run_perfalizer.run_perf_test): 2012-08-17 Dirk Pranke nrwt: don't fail tests if ImageDiff fails on the wk2 ports https://bugs.webkit.org/show_bug.cgi?id=94396 Reviewed by Ryosuke Niwa. It appears that WTR is generating PNGs that ImageDiff doesn't like, and so we're getting lots of "can not get ImageDiff" errors (see bug 81962). The change in r124581 made this a test failure, and this is causing the WK2 bots to frequently abort with 500+ failures. This change makes ImageDiff errors not be test failures just for WK2 for now until we can better triage what's going on. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._compare_image): 2012-08-17 James Robinson [chromium] Add a style check for #include "cc/..." in chromium files https://bugs.webkit.org/show_bug.cgi?id=94382 Reviewed by Adam Barth. Adds a style check to make sure new chromium code follows the correct convention for including cc files. * Scripts/webkitpy/style/checkers/cpp.py: (check_include_line): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (OrderOfIncludesTest.test_check_cc_includes): 2012-08-17 Ojan Vafai Delete some dead code from the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=94380 Reviewed by Dirk Pranke. This code became dead in one of the refactors of how we handle BuilderGroups. There's no bug here, it's just dead code. * TestResultServer/static-dashboards/builders.js: (requestBuilderList): (loadBuildersList): 2012-08-17 Jochen Eisinger [chromium] Add content shell bots to the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=94369 Reviewed by Ojan Vafai. The bots are named $OS (Content Shell). * TestResultServer/static-dashboards/builders.js: (isChromiumWebkitTipOfTreeTestRunner): * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: 2012-08-17 Shadi Khalek Add AV perf layout tests to webkit flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=94255 Reviewed by Ojan Vafai. Added missing mappings to LEGACY_BUILDER_MASTERS_TO_GROUPS. The isChromiumDepsAVTestRunner() filter does not work on current builder names. It assumes the new names they are getting renamed to (AV Linux, AV Win7). * TestResultServer/static-dashboards/builders.js: (isChromiumTipOfTreeAVTestRunner): (loadBuildersList): 2012-08-17 Milian Wolff [Qt] QtWebKit fails to build with OpenGL support on QNX https://bugs.webkit.org/show_bug.cgi?id=93278 Reviewed by Noam Rosenthal. Change the order in which we define WTF_USE_3D_GRAPHICS and ENABLE_WEBGL. First, we now defined WTF_USE_3D_GRAPHICS=1, but only if QT_CONFIG contains opengl. Furthermore, we disable this feature on win32-* as usual, but now also disable it on QNX. Then, we set ENABLE_WEBGL=1 but only if we previously set WTF_USE_3D_GRAPHICS=1. * qmake/mkspecs/features/features.prf: 2012-08-16 Gustavo Noronha Silva [jhbuild] EFL now runs jhbuild update for every build https://bugs.webkit.org/show_bug.cgi?id=94267 Reviewed by Dirk Pranke. This change makes EFL's approach to jhbuild more in line with the one used by WebKitGTK+. update-webkitefl-libs will only be called by build- webkit if --update-efl is given explicitly. The EWS bot will do that from now on. * Scripts/webkitdirs.pm: (jhbuildWrapperPrefixIfNeeded): return jhbuild wrapper only if the Dependencies directory exists also for EFL (generateBuildSystemFromCMakeProject): no longer run update-webkitefl-libs (buildCMakeProjectOrExit): build update-webkitefl-libs if --update-efl is given * Scripts/webkitpy/common/config/ports.py: (EflPort.build_webkit_command): make EWS bots pass --update-efl to build-webkit * Scripts/webkitpy/common/config/ports_unittest.py: (DeprecatedPortTest.test_efl_port): add unit testing for EFL port 2012-08-16 Kent Tamura Add forms-bugs@chromium.org as a contributor. * Scripts/webkitpy/common/config/committers.py: 2012-08-16 Gustavo Noronha Silva Unreviewed warning fix, sys.argv is a python construct. * Scripts/update-webkitefl-libs: 2012-08-16 Dirk Pranke NRWT cutting off the output from LayoutTest run under Valgrind https://bugs.webkit.org/show_bug.cgi?id=94011 Reviewed by Ojan Vafai. Make NRWT work with valgrind again ... I needed to rework the driver infrastructure so that we could get the stderr written between a test completing and a process being stopped and associate it with the DriverOutput for the test; this meant that run_test() needed to stop the driver at the end of the test directly if/when appropriate. This also entailed reworking run_test() so that we would gather stderr and stdout consistently regardless of whether this was a normal test, or stop_when_done, or a crash or timeout. Also, I had to rework the process_stop_time() (and renamed it to driver_stop_timeout) so that it would be longer if --time-out-ms was long as well (so that valgrind would get enough time to run), and I reworked driver.stop(kill_directly=True) to just driver.stop(timeout=0.0). Lastly, adding the new stop_when_done parameter entailed touching a lot of test mock functions :(. This change appeared to be well-covered by existing tests. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (Worker._run_test): (Worker._run_test_with_timeout): (Worker._run_test_in_another_thread): (Worker._run_test_in_another_thread.SingleTestThread.run): (Worker._run_test_in_this_thread): (Worker._run_single_test): * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (run_single_test): (SingleTestRunner.__init__): (SingleTestRunner._run_compare_test): (SingleTestRunner._run_rebaseline): (SingleTestRunner._run_reftest): * Scripts/webkitpy/layout_tests/port/base.py: (Port.driver_stop_timeout): (Port.variable.default_configuration): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.driver_stop_timeout): (ChromiumAndroidDriver.stop): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.run_test): (Driver.stop): (DriverProxy.run_test): * Scripts/webkitpy/layout_tests/port/driver_unittest.py: (DriverTest.test_check_for_driver_crash.FakeServerProcess.stop): * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess.write): (ServerProcess._wait_for_data_and_update_buffers_using_select): (ServerProcess.stop): (ServerProcess.kill): (ServerProcess): (ServerProcess._kill): * Scripts/webkitpy/layout_tests/port/server_process_unittest.py: (TrivialMockPort.__init__): (MockProc.wait): (TestServerProcess.test_basic): * Scripts/webkitpy/layout_tests/port/test.py: (TestDriver.run_test): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (get_tests_run.RecordingTestDriver.run_test): * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest.run_single): * Scripts/webkitpy/performance_tests/perftest_unittest.py: (TestPageLoadingPerfTest.MockDriver.run_test): (TestReplayPerfTest.ReplayTestPort.__init__.ReplayTestDriver.run_test): (TestReplayPerfTest.test_run_single.run_test): (TestReplayPerfTest.test_run_single_fails_when_output_has_error.run_test): (TestReplayPerfTest.test_prepare.run_test): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (MainTest.TestDriver.run_test): 2012-08-16 Roger Fong Typo in old-run-webkit-tests script from https://bugs.webkit.org/show_bug.cgi?id=93904. https://bugs.webkit.org/show_bug.cgi?id=94228 Reviewed by Tim Horton. I previously made the change but made a typo that causes the script not ignore mismatch ref tests. * Scripts/old-run-webkit-tests: (isUsedInReftest): 2012-08-16 Peter Beverloo [Chromium] Pass the --strip-binary argument to the apk test generator https://bugs.webkit.org/show_bug.cgi?id=94224 Reviewed by Adam Barth. The native test generator currently relies on the $STRIP environment variable to be available, which it shouldn't do. Instead, pass it as an argument to the script. The $STRIP variable is being deprecated. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-08-16 Xiaobo Wang [BlackBerry] Update format of JS console message to keep consistent with other ports. https://bugs.webkit.org/show_bug.cgi?id=94058 Reviewed by Yong Li. Reviewed internally by George Staikos. 1. Remove line number if it's zero. 2. Print only file name for "file://" URL. * DumpRenderTree/blackberry/DumpRenderTree.cpp: (BlackBerry::WebKit::DumpRenderTree::addMessageToConsole): 2012-08-16 Simon Hausmann [Qt] Make DRT results more reliable on X11 Reviewed by Jocelyn Turcotte. Disable desktop setting awareness, to prevent QApplication on X11 from reading palette settings from the running desktop environment. * DumpRenderTree/qt/main.cpp: (main): 2012-08-16 Pierre Rossi [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code https://bugs.webkit.org/show_bug.cgi?id=93960 Reviewed by Simon Hausmann. Following the removal of Qt 4 support from trunk in r124879. * qmake/mkspecs/features/features.prf: 2012-08-16 Taiju Tsuiki Add deleteFileSystem support to DumpRenderTree for chromium https://bugs.webkit.org/show_bug.cgi?id=94071 Reviewed by Kent Tamura. * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::deleteFileSystem): Added * DumpRenderTree/chromium/WebViewHost.h: (WebViewHost): 2012-08-15 Ryosuke Niwa Rename LayoutTestController to TestRunner in WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=93942 Reviewed by Simon Fraser. Renamed the class and relevant files. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/GNUmakefile.am: * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Removed. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Copied from Tools/WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl. * WebKitTestRunner/InjectedBundle/DerivedSources.pri: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessage): (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: (WTR::InjectedBundle::testRunner): (InjectedBundle): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: Removed. * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Removed. * WebKitTestRunner/InjectedBundle/Target.pri: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp. * WebKitTestRunner/InjectedBundle/TestRunner.h: Copied from Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h. (TestRunner): * WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp: Removed. * WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp. (WTR::waitToDumpWatchdogTimerCallback): (WTR::TestRunner::platformInitialize): (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer): (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestRunner::pathToLocalResource): (WTR::TestRunner::platformName): * WebKitTestRunner/InjectedBundle/gtk/LayoutTestControllerGtk.cpp: Removed. * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/gtk/LayoutTestControllerGtk.cpp. (WTR::waitToDumpWatchdogTimerCallback): (WTR::TestRunner::platformInitialize): (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer): (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestRunner::pathToLocalResource): (WTR::TestRunner::platformName): * WebKitTestRunner/InjectedBundle/mac/LayoutTestControllerMac.mm: Removed. * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: Copied from Tools/WebKitTestRunner/InjectedBundle/mac/LayoutTestControllerMac.mm. (WTR::TestRunner::platformInitialize): (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer): (WTR::waitUntilDoneWatchdogTimerFired): (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestRunner::pathToLocalResource): (WTR::TestRunner::platformName): * WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp: Removed. * WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp. (WTR::WatchdogTimerHelper::timerFired): (WTR::TestRunner::platformInitialize): (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer): (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestRunner::pathToLocalResource): (WTR::TestRunner::platformName): * WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp: Removed. * WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp. (WTR::TestRunner::platformInitialize): (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer): (WTR::waitToDumpWatchdogTimerFired): (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestRunner::pathToLocalResource): (WTR::TestRunner::platformName): * WebKitTestRunner/PlatformEfl.cmake: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/win/InjectedBundle.vcproj: 2012-08-15 Xianzhu Wang [Chromium-Android] DumpRenderTree timeouts before NRWT timeouts https://bugs.webkit.org/show_bug.cgi?id=94155 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.create_driver): Force no_timeout=True 2012-08-15 Ryosuke Niwa Add a hyperlink to perf-o-matic from build.webkit.org/root.html https://bugs.webkit.org/show_bug.cgi?id=93749 Reviewed by Csaba Osztrogonác. Added the hyperlink to webkit-perf.appspot.com. Also added hyperlinks to the waterfall display of performance tests. * BuildSlaveSupport/build.webkit.org-config/templates/root.html: 2012-08-15 Bruno de Oliveira Abinader [css3-text] Add CSS3 Text decoration compile flag https://bugs.webkit.org/show_bug.cgi?id=93863 Reviewed by Julien Chaffraix. This patch handles the compile flag implementation, which will come disabled by default, thus not exposing the CSS3 text decoration features to the web, unless when explicitly enabling it with "--css3-text-decoration" build parameter. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-08-15 Beth Dakin https://bugs.webkit.org/show_bug.cgi?id=93693 [WK2] REGRESSION(125091): pixel results don't sow scrollbars anymore Reviewed by Sam Weinig. Use new API WKBundlePageCreateSnapshotWithOptions(). * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::dump): 2012-08-15 Alexey Proskuryakov Add rfong to Bugzilla CC "contributor" list. * Scripts/webkitpy/common/config/committers.py: 2012-08-15 Scott Graham Rename window.internals.fastMallocStatistics to mallocStatistics https://bugs.webkit.org/show_bug.cgi?id=94033 Reviewed by Adam Barth. * GNUmakefile.am: * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (test_run_memory_test): 2012-08-15 Peter Beverloo Fix a warning in TestWebKitAPI's MediaTime test-suite https://bugs.webkit.org/show_bug.cgi?id=94096 Reviewed by Adam Barth. This warning is visible when building the file with certain GCC versions, including the one used by Chromium for Android. The warning is visible in the cr-android build bot output: MediaTime.cpp:152: warning: this decimal constant is unsigned only in ISO C90 * TestWebKitAPI/Tests/WTF/MediaTime.cpp: (TestWebKitAPI::TEST): 2012-08-15 Kevin Funk Fix the 'git log' call in VCSUtils.pm for Windows https://bugs.webkit.org/show_bug.cgi?id=94113 Reviewed by Kenneth Rohde Christiansen. Failed because of invalid enquoting characters. * Scripts/VCSUtils.pm: 2012-08-14 Gustavo Noronha Silva [jhbuild] move md5sum checking to update-webkit-libs-jhbuild https://bugs.webkit.org/show_bug.cgi?id=93208 Reviewed by Martin Robinson. This change makes the md5sum check and saving be done by the script that performs the dependencies update. build-webkit no longer prefixes calls to commands with jhbuild-wrapper if jhbuild has not been bootstrapped by the developer and --update-gtk is not given. * Scripts/update-webkit-libs-jhbuild: (getMD5HashForFile): moved from webkitdirs. (jhbuildConfigurationChanged): ditto. (saveJhbuildMd5): ditto. (cleanJhbuild): ditto, and changed to run jhbuild clean before removing jhbuild. * Scripts/webkitdirs.pm: (runAutogenForAutotoolsProjectIfNecessary): use jhbuildWrapperPrefixIfNeeded. (buildAutotoolsProject): ditto. (jhbuildWrapperPrefixIfNeeded): add a code branch for GTK+. (generateBuildSystemFromCMakeProject): call update-webkitefl-libs unconditionally for EFL. * jhbuild/jhbuild-wrapper: (update_webkit_libs_jhbuild): removed, jhbuild-wrapper no longer runs the update script itself (ensure_jhbuild): remove update call. 2012-08-15 Christophe Dumez [WK2] Add support for Web Intents MessagePorts https://bugs.webkit.org/show_bug.cgi?id=89072 Reviewed by Kenneth Rohde Christiansen. Use WKBundleIntent instead of WebIntentData in WebKitTestRunner. WTR now prints the number of MessagePorts in received Web intents as expected by the following layout tests: webintents/web-intents-invoke-port.html webintents/web-intents-obj-constructor.html * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didReceiveIntentForFrame): * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::deliverWebIntent): 2012-08-14 Ryosuke Niwa Build fix after r125516. Revert the erroneous rename since we need to keep exposing layoutTestController in Chromium port as explained r124785. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::bindJSObjectsToWindow): 2012-08-14 Dan Bernstein fast/events/overflow-scroll-fake-mouse-move.html and fast/events/frame-scroll-fake-mouse-move.html are failing in WebKit1 https://bugs.webkit.org/show_bug.cgi?id=94045 Reviewed by Geoff Garen. * DumpRenderTree/mac/DumpRenderTreeWindow.mm: (-[DumpRenderTreeWindow _hasKeyAppearance]): Added. Returns [self isKeyWindow]. This is needed now that WebView uses -_hasKeyAppearance instead of -isKeyWindow. 2012-08-14 Alexey Proskuryakov [WK2] Fix some typos in MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=94047 Reviewed by Jon Honeycutt. * MiniBrowser/mac/AppDelegate.m: (didReceiveMessageFromInjectedBundle): (-[BrowserAppDelegate init]): * MiniBrowser/mac/WebBundle/WebBundleMain.m: (didReceiveMessage): (WKBundleInitialize): 2012-08-14 Roger Fong old-run-webkit-tests should skip all file extensions for ref tests, not just .html. https://bugs.webkit.org/show_bug.cgi?id=93904 Reviewed by Tim Horton. old-run-webkit-tests ref test only skipped .html test. They need to skip .html, .shtml, .xml, .xhtml, .pl, .htm, .php, .svg, .mht. * Scripts/old-run-webkit-tests: (isUsedInReftest): Skip all extensions for ref tests. 2012-08-14 Lauro Neto Convert signals/slots to Q_* macros. [Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals https://bugs.webkit.org/show_bug.cgi?id=93996 Reviewed by Kenneth Rohde Christiansen. Change usage of keyword-conflicting 'signals' and 'slots' for Q_SIGNALS and Q_SLOTS macro. * DumpRenderTree/qt/DumpRenderTreeQt.h: (NetworkAccessManager): (WebPage): * DumpRenderTree/qt/EventSenderQt.h: (EventSender): * DumpRenderTree/qt/GCControllerQt.h: (GCController): * DumpRenderTree/qt/TestRunnerQt.h: (TestRunner): * DumpRenderTree/qt/TextInputControllerQt.h: (TextInputController): * MiniBrowser/qt/BrowserWindow.h: (BrowserWindow): * MiniBrowser/qt/MiniBrowserApplication.h: (WindowOptions): * MiniBrowser/qt/UrlLoader.h: (UrlLoader): * QtTestBrowser/cookiejar.h: (TestBrowserCookieJar): * QtTestBrowser/fpstimer.h: (FpsTimer): * QtTestBrowser/launcherwindow.h: (LauncherWindow): * QtTestBrowser/locationedit.h: (LocationEdit): * QtTestBrowser/mainwindow.h: (MainWindow): * QtTestBrowser/urlloader.h: (UrlLoader): * QtTestBrowser/webinspector.h: (WebInspector): * QtTestBrowser/webpage.h: (WebPage): * QtTestBrowser/webview.h: (WebViewGraphicsBased): * WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp: (WatchdogTimerHelper): * WebKitTestRunner/qt/PlatformWebViewQt.cpp: (WrapperWindow): * WebKitTestRunner/qt/main.cpp: (Launcher): 2012-08-14 Mikhail Pozdnyakov WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks https://bugs.webkit.org/show_bug.cgi?id=42332 Reviewed by Kenneth Rohde Christiansen. Added Resource Callbacks logging. Several aux dumping functions are added. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::isFileScheme): (WTR): (WTR::pathSuitableForTestResult): (WTR::urlSuitableForTestResult): (WTR::InjectedBundlePage::resetAfterTest): (WTR::dumpRequestDescriptionSuitableForTestResult): (WTR::dumpResponseDescriptionSuitableForTestResult): (WTR::dumpErrorDescriptionSuitableForTestResult): (WTR::InjectedBundlePage::didInitiateLoadForResource): (WTR::InjectedBundlePage::willSendRequestForFrame): (WTR::InjectedBundlePage::didReceiveResponseForResource): (WTR::InjectedBundlePage::didFinishLoadForResource): (WTR::InjectedBundlePage::didFailLoadForResource): * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::LayoutTestController): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (WTR::LayoutTestController::dumpResourceLoadCallbacks): (WTR::LayoutTestController::shouldDumpResourceLoadCallbacks): (LayoutTestController): 2012-08-14 Alexis Menard Update INdT build bot to Mountain Lion. https://bugs.webkit.org/show_bug.cgi?id=93963 Reviewed by Csaba Osztrogonác. We updated the machine as well as the OS as the Qt port is now running on top of Qt5. * BuildSlaveSupport/build.webkit.org-config/config.json: 2012-08-14 Peter Beverloo [Chromium] Remove unneeded build logic for Android https://bugs.webkit.org/show_bug.cgi?id=93962 Reviewed by Dimitri Glazkov. The Android SDK and NDK have been checked in to the Chromium tree, which allows WebKit to leverage those as well. They will already be pulled in through a DEPS change made last week, and by not setting the ANDROID_NDK_ROOT environment variable, the envsetup.sh will set the project files up appropriately for us. * Scripts/webkitdirs.pm: 2012-08-14 Sergio Villar Senin [WK2] [GTK] Plugin tests failing in WK2 bot https://bugs.webkit.org/show_bug.cgi?id=93954 Reviewed by Carlos Garcia Campos. Plugin tests are failing in the WK2 bot because we aren't exporting the Netscape plugin when creating the product archive. * BuildSlaveSupport/built-product-archive: added TestNetscapePlugin to the list of directories to export. (archiveBuiltProduct): 2012-08-14 Peter Beverloo [Chromium] Fix apk generation for the Android platform https://bugs.webkit.org/show_bug.cgi?id=93841 Unreviewed build fix. APK generation was broken as the configuration file assumed compilation would only occur in the Chromium tree. Pass the path to Chromium's source base directory as a property to ant. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-08-14 Sergio Villar Senin [GTK] REGRESSION (r122428) WebKit2APITests/TestWebKitFindController fails "next" test https://bugs.webkit.org/show_bug.cgi?id=91083 Reviewed by Carlos Garcia Campos. Unskipped a couple of API tests that should work fine from now on. * Scripts/run-gtk-tests: (TestRunner): 2012-08-14 Kristóf Kosztyó [NRWT] Compare results between different platforms https://bugs.webkit.org/show_bug.cgi?id=90555 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/base.py: (Port.baseline_search_path): (Port): (Port.compare_baseline): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2012-08-13 Ryosuke Niwa Rename LayoutTestController to TestRunner in DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=93758 Reviewed by Tony Chang. Renamed LayoutTestController to TestRunner. For Chromium port, it's renamed to DRTTestRunner since it already has TestRunner class shared between DumpRenderTree and content_shell. * DumpRenderTree/DumpRenderTree.h: * DumpRenderTree/PixelDumpSupport.cpp: * DumpRenderTree/StorageTrackerDelegate.h: * DumpRenderTree/StorageTrackerDelegate.mm: * DumpRenderTree/TestRunner.cpp: * DumpRenderTree/TestRunner.h: * DumpRenderTree/blackberry/DumpRenderTree.cpp: * DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp: * DumpRenderTree/chromium/DRTTestRunner.cpp: * DumpRenderTree/chromium/DRTTestRunner.h: * DumpRenderTree/chromium/DumpRenderTree.cpp: * DumpRenderTree/chromium/NotificationPresenter.h: * DumpRenderTree/chromium/TestShell.cpp: * DumpRenderTree/chromium/TestShell.h: * DumpRenderTree/chromium/WebPermissions.cpp: * DumpRenderTree/chromium/WebPermissions.h: * DumpRenderTree/chromium/WebViewHost.cpp: * DumpRenderTree/chromium/WebViewHost.h: * DumpRenderTree/efl/DumpRenderTree.cpp: * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: * DumpRenderTree/efl/DumpRenderTreeView.cpp: * DumpRenderTree/efl/EditingCallbacks.cpp: * DumpRenderTree/efl/TestRunnerEfl.cpp: * DumpRenderTree/gtk/DumpRenderTree.cpp: * DumpRenderTree/gtk/EditingCallbacks.cpp: * DumpRenderTree/gtk/TestRunnerGtk.cpp: * DumpRenderTree/mac/DumpRenderTree.mm: * DumpRenderTree/mac/DumpRenderTreeWindow.mm: * DumpRenderTree/mac/EditingDelegate.mm: * DumpRenderTree/mac/FrameLoadDelegate.mm: * DumpRenderTree/mac/HistoryDelegate.mm: * DumpRenderTree/mac/PixelDumpSupportMac.mm: * DumpRenderTree/mac/PolicyDelegate.h: * DumpRenderTree/mac/PolicyDelegate.mm: * DumpRenderTree/mac/ResourceLoadDelegate.mm: * DumpRenderTree/mac/TestRunnerMac.mm: * DumpRenderTree/mac/UIDelegate.mm: * DumpRenderTree/qt/DumpRenderTreeQt.cpp: * DumpRenderTree/qt/DumpRenderTreeQt.h: * DumpRenderTree/qt/TestRunnerQt.cpp: * DumpRenderTree/qt/TestRunnerQt.h: * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp: * DumpRenderTree/win/DumpRenderTree.cpp: * DumpRenderTree/win/EditingDelegate.cpp: * DumpRenderTree/win/FrameLoadDelegate.cpp: * DumpRenderTree/win/HistoryDelegate.cpp: * DumpRenderTree/win/PolicyDelegate.h: * DumpRenderTree/win/ResourceLoadDelegate.cpp: * DumpRenderTree/win/TestRunnerWin.cpp: * DumpRenderTree/win/UIDelegate.cpp: * DumpRenderTree/wx/DumpRenderTreeWx.cpp: * DumpRenderTree/wx/TestRunnerWx.cpp: 2012-08-14 Sudarsana Nagineni [GTK] String returned by g_path_get_dirname() must be freed https://bugs.webkit.org/show_bug.cgi?id=93885 Reviewed by Philippe Normand. Fix a memory leak in GTK's DRT code. * DumpRenderTree/gtk/DumpRenderTree.cpp: (pathFromSoupURI): Free the string returned by g_path_get_dirname(). 2012-08-14 Zan Dobersek Unreviewed GTK build fix after r125508. Do the renaming in GNUmakefile.am as well, LayoutTestController -> TestRunner. * GNUmakefile.am: 2012-08-13 Ryosuke Niwa Rename files that declare and define LayoutTestController in DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=93899 Reviewed by Tony Chang. Renamed files and fixed style errors. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/LayoutTestController.cpp: Removed. * DumpRenderTree/LayoutTestController.h: Removed. * DumpRenderTree/PixelDumpSupport.cpp: * DumpRenderTree/StorageTrackerDelegate.mm: * DumpRenderTree/TestRunner.cpp: Copied from Tools/DumpRenderTree/LayoutTestController.cpp. * DumpRenderTree/TestRunner.h: Copied from Tools/DumpRenderTree/LayoutTestController.h. (LayoutTestController): * DumpRenderTree/blackberry/DumpRenderTree.cpp: * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp: Removed. * DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp: Copied from Tools/DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp. * DumpRenderTree/chromium/DRTTestRunner.cpp: Copied from Tools/DumpRenderTree/chromium/LayoutTestController.cpp. * DumpRenderTree/chromium/DRTTestRunner.h: Copied from Tools/DumpRenderTree/chromium/LayoutTestController.h. * DumpRenderTree/chromium/LayoutTestController.cpp: Removed. * DumpRenderTree/chromium/LayoutTestController.h: Removed. * DumpRenderTree/chromium/TestShell.cpp: * DumpRenderTree/chromium/TestShell.h: * DumpRenderTree/chromium/WebPermissions.cpp: * DumpRenderTree/chromium/WebViewHost.cpp: * DumpRenderTree/efl/CMakeLists.txt: * DumpRenderTree/efl/DumpRenderTree.cpp: * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: * DumpRenderTree/efl/DumpRenderTreeView.cpp: * DumpRenderTree/efl/EditingCallbacks.cpp: * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: Removed. * DumpRenderTree/efl/TestRunnerEfl.cpp: Copied from Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp. * DumpRenderTree/gtk/DumpRenderTree.cpp: * DumpRenderTree/gtk/EditingCallbacks.cpp: * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Removed. * DumpRenderTree/gtk/TestRunnerGtk.cpp: Copied from Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp. * DumpRenderTree/mac/DumpRenderTree.mm: * DumpRenderTree/mac/DumpRenderTreeWindow.mm: * DumpRenderTree/mac/EditingDelegate.mm: * DumpRenderTree/mac/FrameLoadDelegate.mm: * DumpRenderTree/mac/HistoryDelegate.mm: * DumpRenderTree/mac/LayoutTestControllerMac.mm: Removed. * DumpRenderTree/mac/PixelDumpSupportMac.mm: * DumpRenderTree/mac/PolicyDelegate.mm: * DumpRenderTree/mac/ResourceLoadDelegate.mm: * DumpRenderTree/mac/TestRunnerMac.mm: Copied from Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm. * DumpRenderTree/mac/UIDelegate.mm: * DumpRenderTree/qt/DumpRenderTree.pro: * DumpRenderTree/qt/DumpRenderTreeQt.cpp: * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Removed. * DumpRenderTree/qt/LayoutTestControllerQt.h: Removed. * DumpRenderTree/qt/TestRunnerQt.cpp: Copied from Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp. * DumpRenderTree/qt/TestRunnerQt.h: Copied from Tools/DumpRenderTree/qt/LayoutTestControllerQt.h. (WebCore): (LayoutTestController): (LayoutTestController::setCloseRemainingWindowsWhenComplete): (LayoutTestController::dumpSelectionRect): (LayoutTestController::setCallCloseOnWebViews): (LayoutTestController::addDisallowedURL): (LayoutTestController::abortModal): * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp: * DumpRenderTree/win/DumpRenderTree.cpp: * DumpRenderTree/win/DumpRenderTree.vcproj: * DumpRenderTree/win/EditingDelegate.cpp: * DumpRenderTree/win/FrameLoadDelegate.cpp: * DumpRenderTree/win/HistoryDelegate.cpp: * DumpRenderTree/win/LayoutTestControllerWin.cpp: Removed. * DumpRenderTree/win/PolicyDelegate.cpp: * DumpRenderTree/win/ResourceLoadDelegate.cpp: * DumpRenderTree/win/TestRunnerWin.cpp: Copied from Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp. (LayoutTestController::setUserStyleSheetEnabled): (resolveCygwinPath): * DumpRenderTree/win/UIDelegate.cpp: * DumpRenderTree/wscript: * DumpRenderTree/wx/DumpRenderTreeWx.cpp: * DumpRenderTree/wx/LayoutTestControllerWx.cpp: Removed. * DumpRenderTree/wx/TestRunnerWx.cpp: Copied from Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp. 2012-08-13 Alex Christensen Windows 64 bit compliance https://bugs.webkit.org/show_bug.cgi?id=93275 Reviewed by Brent Fulgham. Fixed a few compile and link problems for Win64 * WinLauncher/WinLauncher.cpp: * win/DLLLauncher/DLLLauncherMain.cpp: 2012-08-13 MORITA Hajime Unreviewed update for webcomponents-bugzilla address. * Scripts/webkitpy/common/config/committers.py: 2012-08-11 Raphael Kubo da Costa [CMake] Rewrite FindLibSoup2.cmake. https://bugs.webkit.org/show_bug.cgi?id=93191 Reviewed by Rob Buis. * DumpRenderTree/efl/CMakeLists.txt: Use LIBSOUP_FOO instead of LIBSOUP24_FOO, and do not use LIBSOUP24_LDFLAGS, as it is not needed anymore. * EWebLauncher/CMakeLists.txt: Ditto. * MiniBrowser/efl/CMakeLists.txt: Ditto. * TestWebKitAPI/PlatformEfl.cmake: Ditto. * WebKitTestRunner/CMakeLists.txt: Ditto. * WebKitTestRunner/PlatformEfl.cmake: Ditto. 2012-08-13 Brady Eidson With asynchronous plug-in initialization, WebProcess and PluginProcess can deadlock and https://bugs.webkit.org/show_bug.cgi?id=93894 Reviewed by Alexey Proskuryakov. Add a test that calls out to NPP_Evaluate for some JS inside of NPP_New. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp: Added. (EvaluteJSWithinNPP_New): (EvaluteJSWithinNPP_New::EvaluteJSWithinNPP_New): (EvaluteJSWithinNPP_New::NPP_New): 2012-08-13 Sheriff Bot Unreviewed, rolling out r125422. http://trac.webkit.org/changeset/125422 https://bugs.webkit.org/show_bug.cgi?id=93902 Broke the Android canary build (Requested by fmalita on #webkit). * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-08-13 Raphael Kubo da Costa [CMake] Remove glib-related Find modules and write single new one instead. https://bugs.webkit.org/show_bug.cgi?id=93786 Reviewed by Rob Buis. * DumpRenderTree/efl/CMakeLists.txt: Use GLIB_* instead of Glib_*. * EWebLauncher/CMakeLists.txt: Ditto. * MiniBrowser/efl/CMakeLists.txt: Ditto. * WebKitTestRunner/PlatformEfl.cmake: Ditto. 2012-08-13 Peter Beverloo [Chromium] Fix apk generation for the Android platform https://bugs.webkit.org/show_bug.cgi?id=93841 Reviewed by Dimitri Glazkov. APK generation was broken as the configuration file assumed compilation would only occur in the Chromium tree. Pass the path to Chromium's source base directory as a property to ant. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-08-13 Mikhail Pozdnyakov [WK2] [WTR] InjectedBundlePage::didFailLoadForResource invokes wrong callback https://bugs.webkit.org/show_bug.cgi?id=93825 Reviewed by Antonio Gomes. Corrected from didFinishLoadForResource() invoke to didFailLoadForResource() invoke. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didFailLoadForResource): 2012-08-13 Kwang Yul Seo [Qt] Add gprof.prf to build WebKit with gprof enabled https://bugs.webkit.org/show_bug.cgi?id=90283 Reviewed by Eric Seidel. * qmake/mkspecs/features/functions.prf: gprof does not support profiling a shared library. To profile WebKit, applications must link QtWebKit statically. * qmake/mkspecs/features/gprof.prf: Added. Add -pg option to both QMAKE_CXXFLAGS and QMAKE_LFLAGS. 2012-08-13 KwangYong Choi [TestNetscapePlugin][X11] Additional key up event handler routine is required https://bugs.webkit.org/show_bug.cgi?id=91357 Reviewed by Eric Seidel. Fixed key up event handler routine to pass http/tests/plugins/plugin-document- has-focus.html on X11 architecture. The test can not be done without this patch. All other ports implemented it already. * DumpRenderTree/TestNetscapePlugIn/main.cpp: (handleEventX11): Modified key up event handler for X11 2012-08-13 Christophe Dumez [EFL][WK2] Replace Skipped list by TestExpectations https://bugs.webkit.org/show_bug.cgi?id=93796 Reviewed by Kenneth Rohde Christiansen. Enable cascaded TestExpectations for EFL port so that we can use TestExpectations in WK2-EFL. * Scripts/webkitpy/layout_tests/port/efl.py: (EflPort._search_paths): (EflPort): (EflPort.expectations_files): 2012-08-13 Peter Gal REGRESSION(r125153): It broke the 'Unexpected no expected results' case https://bugs.webkit.org/show_bug.cgi?id=93789 Reviewed by Csaba Osztrogonác. Fix the regex, so the text won't be a capturing group. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunWebKitTests._parseNewRunWebKitTestsOutput): 2012-08-12 MORITA Hajime Unreviewed, added a proxy address to contributors_who_are_not_committers. * Scripts/webkitpy/common/config/committers.py: 2012-08-12 Loïc Yhuel [Qt] Make it possible to build without QtTest/QtPrintSupport https://bugs.webkit.org/show_bug.cgi?id=93492 Reviewed by Tor Arne Vestbø. * DumpRenderTree/qt/DumpRenderTree.pro: Optional printsupport * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore): (WebCore::DumpRenderTree::dryRunPrint): Does nothing if no printsupport * QtTestBrowser/QtTestBrowser.pro: Optional printsupport * QtTestBrowser/launcherwindow.cpp: (LauncherWindow::createChrome): No print menu if no printsupport (LauncherWindow::print): Does nothing if no printsupport * QtTestBrowser/launcherwindow.h: * Tools.pro: Disable DRT/WTR if QtTest not present * qmake/mkspecs/features/default_pre.prf: printsupport no more mandatory * qmake/mkspecs/features/features.prf: Qt module availability tests 2012-08-12 Csaba Osztrogonác master.cfg unittest cleanup: Show DeprecationWarnings with python >= 2.7 too https://bugs.webkit.org/show_bug.cgi?id=90161 Reviewed by Eric Seidel. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: 2012-08-12 Simon Hausmann [Qt] Unreviewed trivial build fix: Newer Qt versions don't implicitly include qwindowsysteminterface.h through the QTestLib headers anymore. * DumpRenderTree/qt/EventSenderQt.cpp: * WebKitTestRunner/Target.pri: * WebKitTestRunner/qt/EventSenderProxyQt.cpp: 2012-08-11 Sam Weinig Remove ability to run MiniBrowser in threaded mode, it hasn't worked for a long time https://bugs.webkit.org/show_bug.cgi?id=93774 Reviewed by Dan Bernstein. Remove support for opening windows using the shared thread WKContextRef. WKContextGetSharedThreadContext() is going away, due to not working for a long time, and the first step is removing all the callers. While here, remove the BrowserStatisticsWindow, which was not providing interesting information. * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: * MiniBrowser/mac/AppDelegate.h: * MiniBrowser/mac/AppDelegate.m: (-[BrowserAppDelegate init]): (-[BrowserAppDelegate newWindow:]): (-[BrowserAppDelegate openPanelDidEnd:returnCode:contextInfo:]): * MiniBrowser/mac/BrowserStatisticsWindow.xib: Removed. * MiniBrowser/mac/BrowserStatisticsWindowController.h: Removed. * MiniBrowser/mac/BrowserStatisticsWindowController.m: Removed. * MiniBrowser/mac/MainMenu.xib: * MiniBrowser/win/BrowserView.cpp: (BrowserView::create): 2012-08-11 Sam Weinig Enable XPC Service based WebProcess with runtime flag https://bugs.webkit.org/show_bug.cgi?id=93773 Reviewed by Dan Bernstein. Convert --use-web-process-xpc-service passed to run-safari (and similar scripts) to setting WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS=YES in the environment and setting up __XPC_DYLD_FRAMEWORK_PATH and __XPC_DYLD_INSERT_LIBRARIES variables. NOTE: using the XPC service is not the default code path. * Scripts/webkitdirs.pm: (shouldUseXPCServiceForWebProcess): (determineShouldUseXPCServiceForWebProcess): Add functions to extract --use-web-process-xpc-service from ARGV and set a global variable. (printHelpAndExitForRunAndDebugWebKitAppIfNeeded): Add help text for --use-web-process-xpc-service. (runMacWebKitApp): Set the WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS environment variable and DYLD if --use-web-process-xpc-service was passed on the command line. (execMacWebKitAppForDebugging): Set the WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS environment variable and DYLD if --use-web-process-xpc-service was passed on the command line. Also, bail if both --use-web-process-xpc-service and --target-web-process are passed on the command line, as we don't currently support using both. 2012-08-11 Gyuyoung Kim [EFL] Bump harfbuzz dependency to v0.9.2 https://bugs.webkit.org/show_bug.cgi?id=93762 Reviewed by Eric Seidel. EFL port has used harfbuzz 0.9.0 ver. However, the 0.9.2 version was released on 10th Aug 2012. In addition, 0.9.0 ver. was disappeared. So, EFL port needs to use 0.9.2 ver. from now on. * efl/jhbuild.modules: 2012-08-10 Ryosuke Niwa run-perf-tests should upload memory statistics to perf-o-matic https://bugs.webkit.org/show_bug.cgi?id=93690 Reviewed by Dirk Pranke. Upload JS Heap and FastMalloc results for a test X/Y as: X/Y:JSHeap and X/Y:FastMalloc. Note "JS Heap" is converted to the CamelCase JSHeap. Also did some refactoring in PerfTest.parse_output and PerfTestRunnerTest and updated some helps in PerfTest.parse_output per arv's comments. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest): (PerfTest.parse_output): Include JSHeap and FastMalloc statistics in results as well as of Time. Also refactored it to avoid hard-coding indices in _result_classes and moved complied regular exressions out of the function to avoid re-compiling them every time the method runs. (PerfTest.output_statistics): Convert ':' to ': ' as well as '/'. (ChromiumStylePerfTest.parse_output): Removed an unused variable. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner._parse_args): Uploaded some helps per arv's feedback. (PerfTestsRunner._output_json_path): Extracted from _generate_and_show_results to be used in PerfTestRunnerTest.create_runner. (PerfTestsRunner._generate_and_show_results): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (create_runner): Extracted runner.load_output_json from various tests. (test_run_memory_test): Added. (PerfTestRunner): Extracted _event_target_wrapper_and_inspector_results from various tests. (test_run_with_json_output): (test_run_with_description): (test_run_generates_json_by_default): (test_run_generates_and_show_results_page): (test_run_with_json_source): (test_run_with_multiple_repositories): 2012-08-10 Benjamin Poulain Add support for String initialization from literal to WTFString https://bugs.webkit.org/show_bug.cgi?id=93426 Reviewed by Anders Carlsson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/StringImpl.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/WTFString.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp. (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-08-10 Xianzhu Wang NRWT crashes when DRT with --encode-binary crashes just before it dumps pixels https://bugs.webkit.org/show_bug.cgi?id=93728 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/driver.py: (ContentBlock.decode_content): Check self.content is not None before calling base64.b64decode(). 2012-08-10 Xianzhu Wang [Chromium-Android][NRWT] Executable might not be pushed correctly when there are multiple builds https://bugs.webkit.org/show_bug.cgi?id=93688 Reviewed by Dirk Pranke. There might be other better methods, but this change is the smallest. I think the chance of equal timestamp can be ignored because we flock to avoid concurrent linkers. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidDriver._push_executable): Changed '<' to '!=' to compare the timestamp. 2012-08-09 Xianzhu Wang [Chromium-Android] Skip layout tests directories that are not applicable https://bugs.webkit.org/show_bug.cgi?id=93670 Reviewed by Dirk Pranke. Added back ChromiumAndroidPort.skipped_layout_tests to skip some whole directories. The method is more convenient to skip whole directories than SKIP in TestExpectations because its higher priority. Will still use TestExpectations to skip individual tests. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.skipped_layout_tests): 2012-08-09 Elliott Sprehn Add myself to the Contributor list. https://bugs.webkit.org/show_bug.cgi?id=93653 Reviewed by Dirk Pranke. Add my email to the contributor list. * Scripts/webkitpy/common/config/committers.py: 2012-08-09 Dirk Pranke nrwt: should log progress like ninja does https://bugs.webkit.org/show_bug.cgi?id=93563 Reviewed by Ojan Vafai. This change modifies the output of nrwt in the non--debug-rwt-logging modes. In non-verbose mode, the output changes from: "Testing (50%): 96 ran as expected, 4 didn't, 100 left" to: "[100/200] foo.html (+4)" or: "[100/200] foo.html failed unexpectedly (text diff)" which indicates the earliest test currently running (optionally plus the count of other currently-executing tests if we're running tests in parallel) or the result of said test. If the test produces unexpected results, that line is flushed rather than erased (so we no longer need the %d didn't running tally). In --verbose mode, the output is similar, but every test gets a line (and tests are logged in order of them being started, not order of them being completed) (and in --details mode, the first line of each test matches --verbose but the other lines are unchanged). The overall result should be easier to read and is simpler to implement as well (apart from managing the number of tests that have started but not completed, which is slightly annoying). This also matches the output style for test-webkitpy, more-or-less. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (LayoutTestRunner.run_tests): (LayoutTestRunner._update_summary_with_result): (LayoutTestRunner._handle_started_test): * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py: (FakePrinter): (FakePrinter.print_started_test): (FakePrinter.print_finished_test): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.__init__): (Printer.print_started_test): (Printer.print_finished_test): (Printer._print_test_trace): (Printer._print_progress): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (test_details): 2012-08-09 Alexey Proskuryakov [WK2] Add a process model constant for multiple processes https://bugs.webkit.org/show_bug.cgi?id=93642 Reviewed by Anders Carlsson. * MiniBrowser/mac/AppDelegate.h: Updated process model enum to match WebKit. 2012-08-09 Ryosuke Niwa Build fix after r125178. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest.parse_output): Don't include non-time results in the JSON output. * Scripts/webkitpy/performance_tests/perftest_unittest.py: Updated the test outputs so to match actual test outputs. (MainTest.test_parse_output): (MainTest.test_parse_output_with_failing_line): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Ditto. 2012-08-09 Zoltan Horvath JSHeap and FastMallocStatistics based memory measurement for performance-tests https://bugs.webkit.org/show_bug.cgi?id=90858 Reviewed by Ryosuke Niwa. Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize object and the window.internals.fastMallocStatistics() function call. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest): (PerfTest.parse_output): (PerfTest.output_statistics): 2012-08-09 Csaba Osztrogonác [Qt][Win] Build system bug revealed by r124835 https://bugs.webkit.org/show_bug.cgi?id=93339 Reviewed by Tor Arne Vestbø. Don't add "LC_ALL=c" on Windows in svnRevisionForDirectory() and in pathRelativeToSVNRepositoryRootForPath(). * Scripts/VCSUtils.pm: (isWindows): Copied from webkitdirs.pm. (svnRevisionForDirectory): (pathRelativeToSVNRepositoryRootForPath): 2012-08-08 Dirk Pranke update bot parsing of new-run-webkit-tests' output https://bugs.webkit.org/show_bug.cgi?id=93537 Reviewed by Ryosuke Niwa. This change updates the way we parse the output from new-run-webkit-tests on the bots so that we can show a summary of the results properly after I re-land the changes that were reverted in r124994 and r124870. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunWebKitTests._parseNewRunWebKitTestsOutput): 2012-08-08 Shane Stephens Compile flag for CSS Hierarchies https://bugs.webkit.org/show_bug.cgi?id=92433 Reviewed by Tony Chang. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-08-08 Benjamin Poulain Use char* instead of LChar* for the public interface of String construction from literals https://bugs.webkit.org/show_bug.cgi?id=93402 Reviewed by Michael Saboff. * TestWebKitAPI/Tests/WTF/StringImpl.cpp: (TestWebKitAPI::TEST): 2012-08-08 Dirk Pranke nrwt: rename finder.py to layout_test_finder.py https://bugs.webkit.org/show_bug.cgi?id=93557 Reviewed by Ryosuke Niwa. One last cleanup per old review feedback from rniwa. * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py: Renamed from Tools/Scripts/webkitpy/layout_tests/controllers/finder.py. (LayoutTestFinder): (LayoutTestFinder.__init__): (LayoutTestFinder.find_tests): (LayoutTestFinder._strip_test_dir_prefixes): (LayoutTestFinder._strip_test_dir_prefix): (LayoutTestFinder._read_test_names_from_file): (LayoutTestFinder._strip_comments): (LayoutTestFinder.skip_tests): (LayoutTestFinder.split_into_chunks): * Scripts/webkitpy/layout_tests/controllers/manager.py: 2012-08-08 Ryosuke Niwa Add Perf EWS IRC bot https://bugs.webkit.org/show_bug.cgi?id=92913 Reviewed by Dirk Pranke. Adds the preliminary implementation of perfalizer, a IRC bot that runs performance tests based on IRC requests. * Scripts/webkitpy/common/checkout/scm/scm_mock.py: (MockSCM.head_svn_revision): The actual implementation returns string, so match that. (MockSCM.svn_revision): Ditto. * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: (Bugzilla.add_attachment_to_bug): Added mimetype. * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: (MockBugzilla.add_attachment_to_bug): Ditto. * Scripts/webkitpy/common/system/filesystem.py: (FileSystem.copytree): Added. * Scripts/webkitpy/common/system/filesystem_mock.py: (MockFileSystem.copytree): Added. * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Rebaselined tests that had assumed revision numbers were integers. (test_run_with_json_output): (test_run_with_description): (test_run_generates_json_by_default): (test_run_generates_and_show_results_page): (test_run_with_json_source): (test_run_with_multiple_repositories): * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: * Scripts/webkitpy/tool/commands/__init__.py: * Scripts/webkitpy/tool/commands/perfalizer.py: Added. (PerfalizerTask): (PerfalizerTask.__init__): (PerfalizerTask._copy_build_product_without_patch): (PerfalizerTask.run): (PerfalizerTask.parent_command): (PerfalizerTask.run_webkit_patch): (PerfalizerTask._json_path): (PerfalizerTask._results_page_path): (PerfalizerTask._run_perf_test): (PerfalizerTask.run_command): (PerfalizerTask.command_passed): (PerfalizerTask.command_failed): (PerfalizerTask.refetch_patch): (PerfalizerTask.expected_failures): (PerfalizerTask.build_style): (PerfTest): IRC command. (PerfTest.execute): (Perfalizer): IRC bot. (Perfalizer.begin_work_queue): (Perfalizer.work_item_log_path): (Perfalizer._is_old_failure): (Perfalizer.next_work_item): (Perfalizer.process_work_item): (Perfalizer.handle_unexpected_error): (Perfalizer.handle_script_error): * Scripts/webkitpy/tool/commands/perfalizer_unittest.py: Added. (PerfalizerTaskTest): (PerfalizerTaskTest._create_and_run_perfalizer): (PerfalizerTaskTest._create_and_run_perfalizer.logger): (PerfalizerTaskTest._create_and_run_perfalizer.run_webkit_patch): (PerfalizerTaskTest._create_and_run_perfalizer.run_perf_test): (PerfalizerTaskTest.test_run): (PerfalizerTaskTest.test_run_with_clean_fails): (PerfalizerTaskTest.test_run_with_update_fails): (PerfalizerTaskTest.test_run_with_build_fails): (PerfalizerTaskTest.test_run_with_perf_test_fails): (PerfalizerTaskTest.test_run_without_results_page): * Scripts/webkitpy/tool/commands/queues_unittest.py: (AbstractPatchQueueTest.test_upload_results_archive_for_patch): Rebaselined. * Scripts/webkitpy/tool/commands/upload_unittest.py: (test_attach_to_bug): Ditto. (test_attach_to_bug_no_description_or_comment): Ditto. 2012-08-08 Dirk Pranke webkit-patch rebaseline-expectations needs to support multiple expectations files https://bugs.webkit.org/show_bug.cgi?id=89051 Reviewed by Adam Barth. fixed the bug described above, added unit test in test_expectations_unittest, and updated the tool tests to not contain all of the "missing skia expectations" warnings. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectations.remove_rebaselined_tests): (TestExpectations.remove_rebaselined_tests.without_rebaseline_modifier): * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (RebaseliningTest.assertRemove): (RebaseliningTest.test_remove): * Scripts/webkitpy/tool/commands/rebaseline.py: (RebaselineExpectations._update_expectations_files): (RebaselineExpectations.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (TestRebaseline.test_rebaseline_updates_expectations_file_noop): (test_rebaseline_expectations): 2012-08-08 Alexey Proskuryakov [WK2] MiniBrowser crashes on quit if any windows were previously closed https://bugs.webkit.org/show_bug.cgi?id=93529 Reviewed by John Sullivan. * MiniBrowser/mac/AppDelegate.h: * MiniBrowser/mac/AppDelegate.m: (-[BrowserAppDelegate init]): (-[BrowserAppDelegate newWindow:]): (-[BrowserAppDelegate browserWindowWillClose:]): (-[BrowserAppDelegate applicationWillTerminate:]): (-[BrowserAppDelegate frontmostBrowserWindowController]): Track browser windows explicitly, not relying on [NSApp windows]. Closed windows are not automatically removed from the list until deallocated, so a refcounting error can result in working on a closed window. * MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController dealloc]): Moved code from -windowWillClose: here. Releasing data members is -dealloc's job. (-[BrowserWindowController windowWillClose:]): Notify BrowserAppDelegate that the window is no longer open. Autorelease self, making sure that WKView and then WebPageProxy get released. (-[BrowserWindowController applicationTerminating]): Don't release _webView.pageRef. WKView is responsible for its lifetime. (closePage): Ditto. 2012-08-08 Xianzhu Wang [Chromium-Android] Apply all Linux layout test expectations https://bugs.webkit.org/show_bug.cgi?id=92653 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.skipped_layout_tests): Removed. Skip these tests in TestExpectations instead. 2012-08-08 Josh Hawn Add MountainLion WebKit Bots. https://bugs.webkit.org/show_bug.cgi?id=93417 Reviewed by Stephanie Lewis. Mountain Lion is now available, so we've added the appropriate Apple bots, mirroring the configuration of the Lion bots. * BuildSlaveSupport/build.webkit.org-config/config.json: Added 10 "apple-mini-###" slaves. Added MountainLion Builders and Schedulers. 2012-08-08 Mikhail Pozdnyakov [WK2] Coding style violation was brought with r125031 https://bugs.webkit.org/show_bug.cgi?id=93503 Reviewed by Alexey Proskuryakov. WKURLResponseCopyMimeType is corrected to WKURLResponseCopyMIMEType. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didReceiveResponseForResource): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (WTR::LayoutTestController::dumpProgressFinishedCallback): Removed trailing whitespace that was brought with the same revision. 2012-08-08 Peter Beverloo Buildmaster changes in preparation of a Chromium Android tester https://bugs.webkit.org/show_bug.cgi?id=92251 Reviewed by Adam Barth. Slightly update the build master's configuration in preparation of adding a Chromium Android tester. The change in built-product-archive is required as the out/ directory for Android has a number of unstripped .so binaries and unaligned APKs, causing the default release.zip file to be 2.7 gigabytes. By excluding these file types, the file is only 59.7 megabytes. We can't disable them for all of Chromium, as Mac and Linux do use their .so files. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (ArchiveBuiltProduct): Pass the full platform name instead of just the generic type, i.e. chromium-android instead of chromium. (ExtractBuiltProduct): Dito, stay consistent for this script. (RunUnitTests): Pass --chromium-android as well as --chromium. Since we now read the full platform name, stay on the safe side with 'win' even though there (as far as I know) is no win-* platform. (RunChromiumWebKitUnitTests): Dito. The platform wasn't being passed at all, but we'll be needing different handling here. (unitTestsSupported): Next to refactoring work required, as we'll be running this test on a device, there is no reason to disable this in the master's configuration. * BuildSlaveSupport/built-product-archive: (main): Determine the generic platform. (archiveBuiltProduct): Use an identical set of ignorePatterns, but extend the list with .so, .pak and -unaligned.apk for Android. 2012-08-08 Adam Barth Unreviewed. Stop running tests on the mac-ews while we wait for more hardware. As requested by lforschler. * Scripts/webkitpy/tool/commands/earlywarningsystem.py: 2012-08-08 Peter Beverloo The cr-android EWS should actually be building Chromium for Android https://bugs.webkit.org/show_bug.cgi?id=93489 Reviewed by Adam Barth. The cr-android EWS bots should be building Chromium for Android, which requires some additional flags to Chromium's default configuration. * Scripts/webkitdirs.pm: (buildChromium): * Scripts/webkitpy/common/config/ports.py: (DeprecatedPort.port): (ChromiumAndroidPort): (ChromiumAndroidPort.update_webkit_command): (ChromiumAndroidPort.build_webkit_command): * Scripts/webkitpy/common/config/ports_unittest.py: (DeprecatedPortTest.test_chromium_android_port): * Scripts/webkitpy/tool/commands/earlywarningsystem.py: (ChromiumAndroidEWS): * Scripts/webkitpy/tool/steps/update_unittest.py: (UpdateTest.test_update_command_non_interactive): (UpdateTest.test_update_command_interactive): 2012-08-08 Alexey Proskuryakov [WK2] MiniBrowser crashes on window.open() https://bugs.webkit.org/show_bug.cgi?id=93413 Reviewed by Dan Bernstein. * MiniBrowser/mac/BrowserWindowController.m: (createNewPage): This is a "create" API, so it needs to return a retained result. * MiniBrowser/mac/WebBundle/WebBundleMain.m: (didClearWindowObjectForFrame): When this function is called, URL appears to be poorly defined. Sometimes, it's the new URL, other times it's the old one. An "old" URL is null in a new page. 2012-08-08 Loïc Yhuel [Qt] Compile errors with OpenGLES2 https://bugs.webkit.org/show_bug.cgi?id=93206 Reviewed by Noam Rosenthal. Fix build with OpenGLES2 on Linux desktop * qmake/mkspecs/features/features.prf: Don't use GLX with OpenGLES2 2012-08-08 Peter Beverloo Introduce cr-android bots in the EWS system https://bugs.webkit.org/show_bug.cgi?id=93472 Reviewed by Adam Barth. This adds the queue to the EWS scripts. Two builders are ready to be attached to the queue. All webkitpy tests pass with this change applied. * QueueStatusServer/model/queues.py: (Queue): * Scripts/webkitpy/tool/commands/earlywarningsystem.py: (ChromiumAndroidEWS): * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: (EarlyWarningSytemTest.test_builder_ewses): 2012-08-08 Carlos Garcia Campos Unreviewed. Fix GTK+ build with GTK2 after r121475. * TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp: Add missing include required when building with GTK2. 2012-08-08 Mikhail Pozdnyakov [WK2] [WTR] Provide Resource Response dumping. https://bugs.webkit.org/show_bug.cgi?id=93454 Reviewed by Kenneth Rohde Christiansen. Added missing dumpResourceResponseMIMETypes() method to testRunner. Provided resource response dumping. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didReceiveResponseForResource): * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::LayoutTestController): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (WTR::LayoutTestController::dumpProgressFinishedCallback): (WTR::LayoutTestController::dumpResourceResponseMIMETypes): (WTR::LayoutTestController::shouldDumpResourceResponseMIMETypes): (LayoutTestController): 2012-08-08 Simon Hausmann [Qt][Win] Fix compilation of DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=93461 Reviewed by Tor Arne Vestbø. DRT includes stdint.h, for which we have wrappers in Source/JavaScriptCore/os-win32. Use these not only for libraries but any building template. * qmake/mkspecs/features/default_post.prf: 2012-08-08 Mikhail Pozdnyakov [WK2] [WTR] Refactoring: LayoutTestController::shouldDumpProgressFinishedCallback() should be const https://bugs.webkit.org/show_bug.cgi?id=93457 Reviewed by Csaba Osztrogonác. * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (WTR::LayoutTestController::shouldDumpProgressFinishedCallback): Added constness. 2012-08-07 Csaba Osztrogonác Unreviewed typo fix after r124988. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectations): 2012-08-07 YoungTaeck Song [WK2][EFL] Implement accelerated compositing on WK2 Efl port https://bugs.webkit.org/show_bug.cgi?id=89840 Reviewed by Noam Rosenthal. Implement accelerated composition with TiledBackingStore on WK2 Efl port. Add OPENGL_LIBRARIES in CMakeList.txt. * MiniBrowser/efl/CMakeLists.txt: * WebKitTestRunner/PlatformEfl.cmake: 2012-08-07 Csaba Osztrogonác [NRWT] REGRESSION(r124967): New tests without expected results handled as failures https://bugs.webkit.org/show_bug.cgi?id=93434 Reviewed by Tony Chang. Change back "missing results" to "no expected result found", because master.cfg's results parser expects it. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectations): 2012-08-07 Csaba Osztrogonác buildbot: Remove the configuration of hfreyther* https://bugs.webkit.org/show_bug.cgi?id=91849 Unreviewed typo fix after r123757. * BuildSlaveSupport/build.webkit.org-config/config.json: 2012-08-07 Dirk Pranke REGRESSION: PrettyPatchTest.test_pretty_diff_encodings has been failing on Chromium Windows https://bugs.webkit.org/show_bug.cgi?id=93192 Unreviewed, build fix. Disabling the test for now as PrettyPatch is just broken on win32. * Scripts/webkitpy/common/prettypatch_unittest.py: (test_pretty_diff_encodings): 2012-08-07 Dirk Pranke [NRWT] Would like an output mode similar to ORWT verbose one https://bugs.webkit.org/show_bug.cgi?id=88702 Reviewed by Ryosuke Niwa. Change the --verbose logging for new-run-webkit-tests so that it matches ORWT more; we just print one line per test. Use --debug-rwt-logging to get the full debug stream (aka old ORWT --verbose). * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectations): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): (parse_args): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_retrying_and_flaky_tests): * Scripts/webkitpy/layout_tests/views/printing.py: (print_options): (Printer._print_result_summary_entry): (Printer._print_one_line_summary): (Printer._print_test_result): (Printer._print_baseline): (Printer._print_unexpected_results): 2012-08-07 Dirk Pranke nrwt: handle errors from image diff better https://bugs.webkit.org/show_bug.cgi?id=92934 Reviewed by Ojan Vafai. Re-land the change in r124801 with a fix ... in the case where the ImageDiff is passed a tolerance and passes the fuzzy check, we were returning the wrong value (missing an empty error string) and crashing; this patch fixes that and adds a test for that case (TestImageDiffer.test_image_diff_passed). * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._compare_image): (SingleTestRunner._compare_output_with_reference): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py: (TestResultWriterTest.test_reftest_diff_image.ImageDiffTestPort.diff_image): (TestResultWriterTest): * Scripts/webkitpy/layout_tests/port/base.py: (Port.diff_image): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort.diff_image): * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py: (ChromiumPortTestCase.test_diff_image_crashed): * Scripts/webkitpy/layout_tests/port/image_diff.py: (ImageDiffer.diff_image): (ImageDiffer._read): * Scripts/webkitpy/layout_tests/port/image_diff_unittest.py: (TestImageDiffer.test_diff_image): * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: (MockDRTPortTest.test_diff_image_crashed): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase.test_diff_image): (PortTestCase.test_diff_image_crashed): (PortTestCase.test_diff_image_crashed.make_proc): * Scripts/webkitpy/layout_tests/port/server_process_mock.py: (MockServerProcess.__init__): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.diff_image): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_tolerance.ImageDiffTestPort.diff_image): 2012-08-07 Dirk Pranke nrwt: --no-build isn't working https://bugs.webkit.org/show_bug.cgi?id=93415 Reviewed by Ryosuke Niwa. Turns out our optimization to avoid calling webkit-build-directory N times for each worker broke --no-build. Fixing, and adding a test. Also, the gtk port wasn't using the default check_build() logic, but I don't know why not. Removing their custom hook and will verify that this is okay in the review ... * Scripts/webkitpy/layout_tests/port/base.py: (Port.__init__): (Port.check_build): (Port._build_path): * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: (MockDRTPortTest.test_check_build): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (test_path_to_apache_config_file): (test_check_build): (test_check_build.build_driver_called): 2012-08-07 Ryosuke Niwa run-perf-tests should support --no-show-results https://bugs.webkit.org/show_bug.cgi?id=93409 Reviewed by Dirk Pranke. Add the support for --no-show-results. Also replace only local paths to jquery and flot instead of embedding them. The results page is still standalone in that it tries to load scripts from both webkit.org and local filesystem. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner._parse_args): (PerfTestsRunner.run): (PerfTestsRunner._generate_and_show_results): (PerfTestsRunner._generate_output_files): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (create_runner_and_setup_results_template): (test_run_generates_and_show_results_page): (test_run_respects_no_show_results): 2012-08-07 Dirk Pranke test-webkitpy hangs in a new checkout on snow leopard https://bugs.webkit.org/show_bug.cgi?id=93301 Reviewed by Ryosuke Niwa. This change works around what appears to be a bug in Python 2.6.1 (the version that ships on Mac Snow Leopard) that causes the multiprocessing module to hang after we use the autoinstaller; I'm guessing it's some sort of python sockets issue. I was unable to reproduce this with 2.6.5 or newer versions of Python. * Scripts/webkitpy/common/system/autoinstall.py: (AutoInstaller.install): * Scripts/webkitpy/test/main.py: (Tester._run_tests): * Scripts/webkitpy/thirdparty/__init__.py: (AutoinstallImportHook._install_mechanize): (AutoinstallImportHook._install_pep8): (AutoinstallImportHook._install_pylint): (AutoinstallImportHook._install_buildbot): (AutoinstallImportHook._install_coverage): (AutoinstallImportHook._install_eliza): (AutoinstallImportHook._install_irc): (AutoinstallImportHook._install_webpagereplay): (AutoinstallImportHook._install): (autoinstall_everything): 2012-08-07 Xianzhu Wang [Chromium-Android][NRWT] Fix 2 FIXMEs in chromium_android.py https://bugs.webkit.org/show_bug.cgi?id=93381 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver._push_executable): Remove temporary lines as the chromium change has been landed: http://src.chromium.org/viewvc/chrome?view=rev&revision=150371 (ChromiumAndroidDriver._setup_performance): Update all scaling governor files. (ChromiumAndroidDriver._teardown_performance): Update all scaling governor files. 2012-08-07 W. James MacLean [chromium] Add support to DumpRenderTree [EventSender] for GestureTapDown events. https://bugs.webkit.org/show_bug.cgi?id=93286 Reviewed by James Robinson. Adds support to generate GestureTapDown events from EventSender, to facilitate link highlighting layout tests. Added a GestureTapEvent to one existing test, more tests to follow when LinkHighlight CLs start to land. * DumpRenderTree/chromium/TestRunner/EventSender.cpp: (EventSender::EventSender): (EventSender::gestureTapDown): (EventSender::gestureEvent): * DumpRenderTree/chromium/TestRunner/EventSender.h: (EventSender): 2012-08-07 Marcelo Lira [Qt] Add support for the Gamepad API https://bugs.webkit.org/show_bug.cgi?id=90637 Reviewed by Alexis Menard. If the libudev library is present, the GAMEPAD flag is turned on by default for the Qt port. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.prf: 2012-08-07 Rob Buis [BlackBerry] Turn on CSS Variables https://bugs.webkit.org/show_bug.cgi?id=93376 Reviewed by Antonio Gomes. Turn on CSS Variables for BlackBerry port. * Scripts/webkitperl/FeatureList.pm: 2012-08-07 No'am Rosenthal [Qt] Make it possible to build without QtQuick Reviewed by Simon Hausmann. * Tools.pro: * qmake/mkspecs/features/features.prf: 2012-08-02 Simon Hausmann [Qt] Remove Qt 4 specific code paths https://bugs.webkit.org/show_bug.cgi?id=88161 Reviewed by Kenneth Rohde Christiansen. * DumpRenderTree/qt/DumpRenderTree.pro: * DumpRenderTree/qt/EventSenderQt.cpp: (EventSender::touchCancel): (EventSender::sendTouchEvent): * DumpRenderTree/qt/EventSenderQt.h: (EventSender): * DumpRenderTree/qt/ImageDiff.pro: * DumpRenderTree/qt/main.cpp: (main): * QtTestBrowser/QtTestBrowser.pro: * QtTestBrowser/cookiejar.cpp: (TestBrowserCookieJar::TestBrowserCookieJar): * QtTestBrowser/launcherwindow.cpp: (LauncherWindow::setDiskCache): * qmake/configure.pri: * qmake/mkspecs/features/default_post.prf: * qmake/mkspecs/features/default_pre.prf: * qmake/mkspecs/features/features.prf: * qmake/mkspecs/features/functions.prf: * qmake/mkspecs/features/qtwebkit.prf: Removed. * qmake/mkspecs/features/unix/default_pre.prf: 2012-08-07 Andras Becsi [Qt][WK2] MiniBrowser should only synthesize multiple touch points if Ctrl is pressed https://bugs.webkit.org/show_bug.cgi?id=93277 Reviewed by Jocelyn Turcotte. MiniBrowser's multi-touch mocking does not check if Ctrl is pressed when registering multiple touch points based on pressed mouse buttons and sends inconsistent touch events to the WebView which triggers an assert in the pinch gesture recognizer. MiniBrowserApplication::updateTouchPoint should only register multiple touch points if the Ctrl button is pressed else it should ignore the update request. * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::updateTouchPoint): 2012-08-07 Csaba Osztrogonác REGRESSION(r124800): It broke NRWT result parsing of build.webkit.org https://bugs.webkit.org/show_bug.cgi?id=93346 Rubber-stamped by Simon Hausmann. Change back "unexpected" to "Unexpected", because master.cfg's results parser expects it. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_retrying_and_flaky_tests): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer._print_unexpected_results): 2012-08-06 Balazs Kelemen [NRWT] runs platform specific tests that it shouldn't with --force https://bugs.webkit.org/show_bug.cgi?id=91089 Reviewed by Dirk Pranke. Ignore other platform's directories from platform/. * Scripts/webkitpy/layout_tests/port/base.py: (Port._expanded_paths): * Scripts/webkitpy/layout_tests/port/test.py: * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_platform_tests_are_found): Updated integration test in accordance to the new behavior. 2012-08-06 Gyuyoung Kim [EFL] Enable link prefetch https://bugs.webkit.org/show_bug.cgi?id=93281 Reviewed by Kentaro Hara. * Scripts/webkitperl/FeatureList.pm: Enable LINK_PREFETCH feature. 2012-08-06 Sheriff Bot Unreviewed, rolling out r124801. http://trac.webkit.org/changeset/124801 https://bugs.webkit.org/show_bug.cgi?id=93338 It broke NRWT (Requested by Ossy on #webkit). * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._compare_image): (SingleTestRunner._compare_output_with_reference): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py: (TestResultWriterTest.test_reftest_diff_image.ImageDiffTestPort.diff_image): (TestResultWriterTest): * Scripts/webkitpy/layout_tests/port/base.py: (Port.diff_image): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort.diff_image): * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py: (ChromiumPortTestCase.test_diff_image): * Scripts/webkitpy/layout_tests/port/image_diff.py: (ImageDiffer.diff_image): (ImageDiffer._read): * Scripts/webkitpy/layout_tests/port/image_diff_unittest.py: (TestImageDiffer.test_diff_image): * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: (MockDRTPortTest.test_diff_image): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase.test_diff_image): * Scripts/webkitpy/layout_tests/port/server_process_mock.py: (MockServerProcess.__init__): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.diff_image): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_tolerance.ImageDiffTestPort.diff_image): 2012-08-06 Wei James [Chromium]duplicated command line options in Android LayoutTest https://bugs.webkit.org/show_bug.cgi?id=93233 Reviewed by Tony Chang. Duplicated options found in Android layout test command line: --encode-binary and --enable-hardware-gpu. If there are multiple ChromiumAndroidPort instances, these two options will be appended for multiple times. * Scripts/webkitpy/layout_tests/port/base.py: (Port.additional_drt_flag): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.__init__): (ChromiumAndroidPort.additional_drt_flag): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidTwoPortsTest): (ChromiumAndroidTwoPortsTest.test_options_with_two_ports): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.cmd_line): 2012-08-03 Brady Eidson Out-of-process plug-ins should support asynchronous initialization and https://bugs.webkit.org/show_bug.cgi?id=92919 Reviewed by Anders Carlsson. Add a plug-in with an NPP_New that takes 550ms (a reasonable trade-off between a solid test and a slow running test) for testing asynchronous plug-in initialization. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp: Copied from Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h. (SlowNPPNew): (SlowNPPNew::SlowNPPNew): (SlowNPPNew::NPP_New): 2012-08-06 Xianzhu Wang [Chromium-Android] Virtual test suites fail https://bugs.webkit.org/show_bug.cgi?id=92515 Reviewed by Dirk Pranke. The failure is because our bypassing of DriverProxy. Repeat the logic of virtual tests in DriverProxy in ChromiumAndroidDriver and restart DRT when the command line changes. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver.cmd_line): Added comments about why we override this and have _drt_cmd_line(). (ChromiumAndroidDriver.run_test): Repeat the logic of virtual tests in DriverProxy. (ChromiumAndroidDriver.start): Restart DRT when the command line changes. (ChromiumAndroidDriver._start_once): 2012-08-06 Xianzhu Wang Remove NRWT --shard-ref-tests https://bugs.webkit.org/show_bug.cgi?id=91539 This is basically a revert of "[Chromium-Android] Run ref tests together to avoid expensive driver restarts" (https://bugs.webkit.org/show_bug.cgi?id=91533, http://trac.webkit.org/changeset/122914), with some conflicts resolved (because of refactory of Manager/LayoutTestRunner/Sharder classes). Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (LayoutTestRunner.run_tests): (Sharder.shard_tests): (Sharder._shard_in_two): (Sharder._shard_by_directory): * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py: (SharderTests): (SharderTests.get_test_input): (SharderTests.get_shards): (SharderTests.test_shard_by_dir): (SharderTests.test_shard_in_two): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._test_input_for_file): (Manager._test_is_slow): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.__init__): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2012-08-06 Luciano Wolf [Qt] Default sizes for input-text and text-area are different when running DRT/WTR https://bugs.webkit.org/show_bug.cgi?id=91990 Reviewed by Kenneth Rohde Christiansen. Initializing TestFonts information into WTR binary. Doing it later leads to wrong font names usage (Dejavu Serif instead of Liberation Serif). * WebKitTestRunner/Target.pri: * WebKitTestRunner/qt/main.cpp: (main): 2012-08-06 Jeff Timanus Add twiz@{chromium|google}.org to the set of non-committer contributors. https://bugs.webkit.org/show_bug.cgi?id=93288 Reviewed by Adam Barth. * Scripts/webkitpy/common/config/committers.py: 2012-08-06 Adam Barth REGRESSION(124789): EWS errors out because --print option is missing https://bugs.webkit.org/show_bug.cgi?id=93299 Unreviewed. The --print option doesn't exist anymore. Let's try --quiet instead. * Scripts/webkitpy/tool/steps/runtests.py: (RunTests.run): * Scripts/webkitpy/tool/steps/runtests_unittest.py: 2012-08-06 Ryosuke Niwa run-webkit-tests should have ability to add description to its JSON output https://bugs.webkit.org/show_bug.cgi?id=93296 Reviewed by Dirk Pranke. Add --description option. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner._parse_args): (PerfTestsRunner._generate_and_show_results): (PerfTestsRunner._generate_results_dict): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (test_run_with_description): 2012-08-06 Dirk Pranke nrwt: handle errors from image diff better https://bugs.webkit.org/show_bug.cgi?id=92934 Reviewed by Ojan Vafai. Currently if ImageDiff crashes, returns a weird exit code, or produces any stderr output, it's basically swallowed. This change ensures that we log errors to stderr, and also appends the error to the stderr for the test (so it'll show up in results.html). Most importantly, it'll cause diff_image() to fail and we'll report ImageHashMismatch ... this may be kinda untrue, but I think it's better than ignoring the error. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._compare_image): (SingleTestRunner._compare_output_with_reference): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py: (TestResultWriterTest.test_reftest_diff_image.ImageDiffTestPort.diff_image): (TestResultWriterTest): * Scripts/webkitpy/layout_tests/port/base.py: (Port.diff_image): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort.diff_image): * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py: (ChromiumPortTestCase.test_diff_image_crashed): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.run_test): * Scripts/webkitpy/layout_tests/port/image_diff.py: (ImageDiffer.diff_image): (ImageDiffer._read): * Scripts/webkitpy/layout_tests/port/image_diff_unittest.py: (TestImageDiffer.test_diff_image): * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: (MockDRTPortTest.test_diff_image_crashed): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase.test_diff_image): (PortTestCase): (PortTestCase.test_diff_image_crashed): (PortTestCase.test_diff_image_crashed.make_proc): * Scripts/webkitpy/layout_tests/port/server_process_mock.py: (MockServerProcess.__init__): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.diff_image): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_tolerance.ImageDiffTestPort.diff_image): 2012-08-06 Dirk Pranke nrwt: clean up printing.py https://bugs.webkit.org/show_bug.cgi?id=93026 Reviewed by Dirk Pranke. This patch cleans up the implementation of printing.py now that we're not using all the original complexity. There should be no changes in functionality and everything should be covered by the existing tests. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (LayoutTestRunner.run_tests): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.__init__): (Printer.__del__): (Printer.print_config): (Printer.print_found): (Printer.print_expected): (Printer.print_workers_and_shards): (Printer): (Printer._print_expected_results_of_type): (Printer.print_results): (Printer._print_timing_statistics): (Printer._print_aggregate_test_statistics): (Printer._print_individual_test_times): (Printer._print_test_list_timing): (Printer._print_directory_timings): (Printer._print_statistics_for_test_timings): (Printer._print_result_summary): (Printer._print_result_summary_entry): (Printer._print_one_line_summary): (Printer.print_finished_test): (Printer._print_test_result): (Printer._print_test_trace): (Printer._print_baseline): (Printer._print_unexpected_test_result): (Printer._print_progress): (Printer._print_unexpected_results): (Printer._print_unexpected_results.add_result): (Printer._print_quiet): (Printer._print_default): (Printer._print_debug): (Printer._print_for_bot): (Printer.write_update): (Printer.writeln): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.get_printer): (Testprinter.test_print_config): (Testprinter.test_print_one_line_summary): (Testprinter.test_print_unexpected_results): (test_details): 2012-08-06 Dirk Pranke change bots to pass --debug-rwt-logging instead of --verbose to new-run-webkit-tests https://bugs.webkit.org/show_bug.cgi?id=93043 Reviewed by Ryosuke Niwa. in preparation for the cleanup of the logging flags in new-run-webkit-tests. * Scripts/run-webkit-tests: 2012-08-06 Dirk Pranke nrwt: clean up logging, part 1 https://bugs.webkit.org/show_bug.cgi?id=93018 Reviewed by Ojan Vafai. remove --print, --help-printing from nrwt, add three new options: --quiet, which just logs warnings,errors, and unexpected results --debug-rwt-logging, a new name for --verbose --details, to get the old --print trace-everything behavior This patch does not implement the new "one line per test" --verbose behavior specified in bug 88702, and there's a bunch of internal cleanup I can do in printing.py that I'll defer to a later patch to make things easier to review. This patch deletes a lot of unit tests that are no longer necessary since there aren't so many logging combinations. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): (main): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (parse_args): (passing_run): (StreamTestingMixin.assertContains): (MainTest.test_child_processes_2): (MainTest.test_child_processes_min): (MainTest.test_full_results_html): (MainTest.test_no_tests_found): (MainTest.test_no_tests_found_2): (MainTest.test_repeat_each_iterations_num_tests): (MainTest.test_additional_platform_directory): (RebaselineTest.assertBaselines): * Scripts/webkitpy/layout_tests/views/printing.py: (print_options): (Printer.__init__): (Printer.enabled): (Printer.print_unexpected_results): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (TestUtilityFunctions.test_print_options): (Testprinter.get_result_summary): (Testprinter.test_configure_and_cleanup): (Testprinter.test_print_config): (Testprinter.test_print_one_line_summary): (Testprinter.test_print_unexpected_results): (test_details): (test_default): (test_quiet): (test_verbose): 2012-08-06 Xianzhu Wang [Chromium-Android] Store test executable, data and fonts in /data/local/tmp https://bugs.webkit.org/show_bug.cgi?id=91910 /data/local/tmp is a directory with permission 0777 by default. Place DumpRenderTree resources here so that both the native test app and the NRWT script can access them even if adb shell isn't running as root. Reviewed by Adam Barth. * DumpRenderTree/chromium/TestShellAndroid.cpp: (createFIFO): Set fifo mode to 0666 to allow unrooted adb shell to access. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.driver_cmd_line): (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver._setup_test): (ChromiumAndroidDriver._push_executable): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidPortTest.make_port): (ChromiumAndroidPortTest.test_expectations_files): (ChromiumAndroidDriverTest.test_drt_cmd_line): 2012-08-06 Abhishek Arya [Chromium] Re-expose layoutTestController as various fuzzers depend on it https://bugs.webkit.org/show_bug.cgi?id=93282 Reviewed by Ryosuke Niwa. Unfortunately, various fuzzers used in the Chromium project still depends on window.layoutTestController. Re-expose the object while they're making the transition. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::bindJSObjectsToWindow): 2012-08-06 Balazs Kelemen WTR should be able to load external resources https://bugs.webkit.org/show_bug.cgi?id=89382 Reviewed by Ryosuke Niwa. Allow to load an external resource as the main frame and allow all subsequent external loads for such a main frame. This behavior is necessary for being able to run performance tests (https://bugs.webkit.org/show_bug.cgi?id=84008). * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::isLocalHost): (WTR): (WTR::isHTTPOrHTTPSScheme): (WTR::InjectedBundlePage::willSendRequestForFrame): 2012-08-06 Balazs Kelemen [WK2] REGRESSION(124596) lot of web process unresponsiveness appears on Apple bots https://bugs.webkit.org/show_bug.cgi?id=93120 Reviewed by Csaba Osztrogonác. Set the short timeout back to 15 seconds and add more time to WebKitTestRunner so it will be able to detect an unresponsive web process. * Scripts/webkitpy/layout_tests/port/base.py: (Port.default_timeout_ms): * WebKitTestRunner/TestController.cpp: (WTR): 2012-08-06 Carlos Garcia Campos Unreviewed. Fix make distcheck. * GNUmakefile.am: Add jhbuildutils.py to EXTRA_DIST. 2012-08-06 Mikhail Pozdnyakov [EFL] EFL's LayoutTestController needs removeAllVisitedLinks implementation https://bugs.webkit.org/show_bug.cgi?id=82724 Reviewed by Csaba Osztrogonác. * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::removeAllVisitedLinks): 2012-08-06 Mario Sanchez Prada [WK2][GTK] Implement a new spell checker API for WebKit2GTK+ https://bugs.webkit.org/show_bug.cgi?id=90268 Reviewed by Martin Robinson. Ignore WebKitTextChecker.* private files for gtk-doc. * gtk/generate-gtkdoc: (get_webkit2_options): 2012-08-06 Gyuyoung Kim Unreviewed. Roll out r124728 because of build bot test fail. * Scripts/webkitpy/common/config/watchlist: 2012-08-05 Gyuyoung Kim Unreviewed. Change my email address for watch list. * Scripts/webkitpy/common/config/watchlist: 2012-08-04 Nico Weber [Chromium Mac] Tests are exiting early due to failures to load missingImage.png https://bugs.webkit.org/show_bug.cgi?id=93186 Reviewed by Ryosuke Niwa. Add missingImage.png to DumpRenderTree.app's Resource folder. Depends on http://crrev.com/150037 rolling into webkit first. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-08-03 Ryosuke Niwa Stop exposing window.layoutTestController in layout tests in favor of window.testRunner https://bugs.webkit.org/show_bug.cgi?id=93173 Reviewed by Adam Barth. Don't expose window.layoutTestController since all layout tests use window.testRunner instead of window.layoutTestController as of r124685. We can safely rename classes and files to use TestRunner once this patch is landed. * DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::makeWindowObject): * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: (notifyTestCompletion): * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: (PluginTest::waitUntilDone): (PluginTest::notifyDone): * DumpRenderTree/TestNetscapePlugIn/Tests/mac/ConvertPoint.cpp: (ConvertPoint::NPP_SetWindow): * DumpRenderTree/TestNetscapePlugIn/main.cpp: (handleEventCarbon): (handleEventCocoa): (handleEventWin): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::bindJSObjectsToWindow): * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::initJSObjects): * Scripts/bencher: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::makeWindowObject): 2012-08-04 Ilya Tikhonovsky Unreviewed: Web Inspector: extend instrumenting methods set in ReportMemoryUsage clang plugin Three methods addString, addVectorPtr and addInstrumentedVectorPtr were added to the list of instrumentation methods. * clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp: (clang::ReportMemoryUsageConsumer::ReportMemoryUsageConsumer): 2012-08-03 Yaron Friedman [Chrome-Android] - Prepare apk tests for switch to checked in SDK. https://bugs.webkit.org/show_bug.cgi?id=92931 Reviewed by Adam Barth. Pass Android-specific gyp variables to the native test generator, avoiding any dependencies on environment variables during build time. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-08-03 Rick Byers Double tap gesture should send dblclick event https://bugs.webkit.org/show_bug.cgi?id=92412 Reviewed by Adam Barth. Enable EventSender to set the tap count on tap gesture events. The delta X/Y parameters were not actually being used anymore (used to be used for radius information). * DumpRenderTree/chromium/TestRunner/EventSender.cpp: (EventSender::gestureEvent): 2012-08-03 Ryosuke Niwa run-perf-tests should generate JSON output and results page by default https://bugs.webkit.org/show_bug.cgi?id=93042 Reviewed by Eric Seidel. Generate results JSON and page named PerfTestResults.json and PerfTestResults.html by default. * Scripts/webkitpy/layout_tests/port/base.py: (Port.perf_results_directory): Added. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner): Added _DEFAULT_JSON_FILENAME. (PerfTestsRunner._parse_args): Added --no-results option in the case a user doens't want to generate results JSON or results page. (PerfTestsRunner.run): (PerfTestsRunner._generate_and_show_results): Extracted from run. Set the default json file path using port's perf_results_directory and call show_results_html_file at the end if the results page is generated. (PerfTestsRunner._generate_results_dict): Renamed from _generate_output to disambiguate it from _generate_and_show_results. (PerfTestsRunner._generate_output_files): Takes results page's path instead of a boolean indicating whether results page should be generated or not. * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (create_runner_and_setup_results_template): (test_run_respects_results_output): Added. (test_run_generates_json_by_default): Added. (test_run_generates_and_show_results_page): Added a check to ensure show_results_html_file is called. 2012-08-03 Sheriff Bot Unreviewed, rolling out r124628. http://trac.webkit.org/changeset/124628 https://bugs.webkit.org/show_bug.cgi?id=93155 Causes random crashes of DRT on Chromium bots (Requested by dimich on #webkit). * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp: (MockWebKitPlatformSupport::createMediaStreamCenter): * DumpRenderTree/chromium/MockWebKitPlatformSupport.h: (MockWebKitPlatformSupport): * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp: * DumpRenderTree/chromium/MockWebMediaStreamCenter.h: * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp: Removed. * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h: Removed. 2012-08-03 Brady Eidson Small part of "Out-of-process plug-ins should support asynchronous initialization." and https://bugs.webkit.org/show_bug.cgi?id=92919 Reviewed by Anders Carlsson. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): Reset all preferences related to asynchronous plugin initialization. 2012-08-02 Jeffrey Pfau Add API for enabling blanket third-party data blocking https://bugs.webkit.org/show_bug.cgi?id=93022 Reviewed by Anders Carlsson. Added test for default setting of new third-party storage blocking API. * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: (TestWebKitAPI::TEST): 2012-08-03 Arvid Nilsson Unreviewed, adding self to committers.py after becoming committer. * Scripts/webkitpy/common/config/committers.py: 2012-08-03 Ádám Kallai Limited the number of queried cached build infos in URLs used by Garden-o-matic. https://bugs.webkit.org/show_bug.cgi?id=92992. Reviewed by Adam Barth. I added a limit to the cached builds that are included in the URL to avoid too long URLs in Garden-o-matic. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js: (.): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: 2012-08-03 Tommy Widenflycht [chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler https://bugs.webkit.org/show_bug.cgi?id=93091 Reviewed by Adam Barth. Add a skeleton MockWebRTCPeerConnectionHandler to DumpRenderTree, to complete the infrastructure for RTCPeerConnection. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp: (MockWebKitPlatformSupport::createRTCPeerConnectionHandler): * DumpRenderTree/chromium/MockWebKitPlatformSupport.h: (MockWebKitPlatformSupport): * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp: * DumpRenderTree/chromium/MockWebMediaStreamCenter.h: * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h. (MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler): (MockWebRTCPeerConnectionHandler::initialize): * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h. (WebKit): (MockWebRTCPeerConnectionHandler): (MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler): 2012-08-03 Hugo Parente Lima [Qt][WK2] There's no way to test the gesture tap on WTR https://bugs.webkit.org/show_bug.cgi?id=92895 Reviewed by Kenneth Rohde Christiansen. WTR doesn't create the QQuickItem from C++, not from QML, so a call to componentComplete() was added to mimic the QML behaviour. * WebKitTestRunner/qt/PlatformWebViewQt.cpp: (WTR::PlatformWebView::PlatformWebView): 2012-08-03 Balazs Kelemen Unreviewed, rolling out r124567. http://trac.webkit.org/changeset/124567 https://bugs.webkit.org/show_bug.cgi?id=89382 Broke some tests with external resources * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::willSendRequestForFrame): 2012-08-03 Philippe Normand Unreviewed, rolling out r124614. http://trac.webkit.org/changeset/124614 https://bugs.webkit.org/show_bug.cgi?id=91727 gstreamer core .po files mess up the build again * Scripts/webkitdirs.pm: (buildAutotoolsProject): * gtk/jhbuild.modules: 2012-08-03 Philippe Normand [GTK][jhbuild] Switch to GStreamer 0.11 build https://bugs.webkit.org/show_bug.cgi?id=91727 Reviewed by Gustavo Noronha Silva. Switch build-webkit --gtk to GStreamer 0.11 support and build the necessary GStreamer git modules from JHBuild. * Scripts/webkitdirs.pm: (buildAutotoolsProject): Build WebKit with GStreamer 0.11 support. * gtk/jhbuild.modules: GStreamer build support. 2012-08-03 Nico Weber [chromium mac] DumpRenderTree compile fails with warning/error in LayoutTestHelper.mm with 10.7sdk https://bugs.webkit.org/show_bug.cgi?id=92820 Reviewed by Jochen Eisinger. When building with the 10.7 SDK, use newer functions to switch color profiles. Note that these newer functions aren't available on 10.6, but we don't intend to ship DRT to users, and no bots that currently build with the 10.7 SDK ship their binaries to 10.6 testers. The new code was copied from Apple's DRT/mac/LayoutTestHelper.m. * DumpRenderTree/chromium/LayoutTestHelper.mm: (installLayoutTestColorProfile): (restoreUserColorProfile): (saveCurrentColorProfile): 2012-08-03 Benjamin Poulain StringImpl created from literal should be BufferInternal https://bugs.webkit.org/show_bug.cgi?id=92940 Reviewed by Anders Carlsson. Add tests for the contruction of strings from literal. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added. (TestWebKitAPI): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/StringImpl.cpp: Added. (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-08-03 Balazs Kelemen [nrwt] fix unit tests after turned pixel testing to be a per test setting https://bugs.webkit.org/show_bug.cgi?id=93112 Reviewed by Csaba Osztrogonác. Change unit tests in accordance of per test switching of pixel testing. * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidDriverTest.test_command_from_driver_input): * Scripts/webkitpy/layout_tests/port/driver_unittest.py: (DriverTest.test_no_timeout): 2012-08-03 Oswald Buddenhagen [Qt] Populate .qmake.cache from the top-level project file This makes it possible to build webkit without using the perl build script. The duplicated logic in build-webkit will be removed when we remove the Qt4 code paths. The build-webkit script will then simply call 'qmake WebKit.pro' from WEBKITOUTPUTDIR. Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/win32/default_pre.prf: 2012-08-03 Oswald Buddenhagen [Qt] Move build config default to build-webkit instead of default_pre Allows the qmake buildsystem have its own default. Reviewed by Tor Arne Vestbø. * Scripts/webkitdirs.pm: (buildQMakeProjects): * qmake/mkspecs/features/default_pre.prf: 2012-08-03 Mario Sanchez Prada Unreviewed build fix for GTK after r124581. * DumpRenderTree/gtk/DumpRenderTree.cpp: (runTest): Fix wrong variable name in ASSERT. 2012-08-03 Oswald Buddenhagen [Qt] Always save CONFIG & DEFINES in default_pre Always doing it is cheaper than checking whether it needs to be done. apart from that, it would break configuration initiated from another project. Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/default_pre.prf: 2012-08-03 Joone Hur [EFL][DRT] fast/loader/stop-provisional-loads.html fails https://bugs.webkit.org/show_bug.cgi?id=92219 Reviewed by Kenneth Rohde Christiansen. This patch adds the ability to tell DRT to call ewk_frame_stop inside of a didStartProvisionalLoadForFrame signal handler. It allows to pass fast/loader/stop-provisional-loads.html. * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::onFrameProvisionalLoad): 2012-08-03 Balazs Kelemen [WTR] process unresponsiveness is reported to the wrong test https://bugs.webkit.org/show_bug.cgi?id=88404 2nd unreviewed buildfix. * WebKitTestRunner/TestInvocation.cpp: 2012-08-03 Balazs Kelemen [WTR] process unresponsiveness is reported to the wrong test https://bugs.webkit.org/show_bug.cgi?id=88404 Unreviewed buildfix. Also made the change on the array size suggested on review because I forgot it when landed. * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke): 2012-08-03 Balazs Kelemen [WTR] process unresponsiveness is reported to the wrong test https://bugs.webkit.org/show_bug.cgi?id=88404 Reviewed by Zoltan Herczeg. Do resetting to consistent state after the finished test, not before the next. This way we can report unresponsiveness to the test that triggered it, and we do a restart before the next test so it will start in a functional state. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitDriver._check_for_driver_crash): Print the error line for unresponsive web process, otherwise it's hard to tell what happened. * WebKitTestRunner/TestController.cpp: (WTR): Decreased the default short timeout so we can detect unresponsiveness before the timer of the test harness times out. It was unnecessarily high anyway, we should get answer from the web process in those cases when the short timeout is used in less than a second. (WTR::TestController::runTest): (WTR::TestController::run): * WebKitTestRunner/TestController.h: (TestController): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke): (WTR::TestInvocation::dump): (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): * WebKitTestRunner/TestInvocation.h: (TestInvocation): Make the dump function static as it doesn't need an object. 2012-08-03 Sudarsana Nagineni [EFL] (REGRESSION 124581) : EFL 64-bit Debug bot is red and build is exiting early after 20 test crashes https://bugs.webkit.org/show_bug.cgi?id=93084 Reviewed by Csaba Osztrogonác. Fix regression introduced in r124581. * DumpRenderTree/efl/DumpRenderTree.cpp: (getFinalTestURL): Convert the path into a full file URL. (runTest): 2012-08-03 Balazs Kelemen All ports should support per test switching of pixel testing https://bugs.webkit.org/show_bug.cgi?id=92398 Reviewed by Dirk Pranke. Teach all test drivers to accept a per test control of whether to dump pixels. Drivers now accept a -p/--pixel-test argument on the standart input that means that running the current test as pixel test is allowed (even if the expected hash is missing). Removed the --pixel-tests command line option since there is no need for it anymore. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/DumpRenderTree.h: (TestCommand::TestCommand): (TestCommand): * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/DumpRenderTreeCommon.cpp: Added. (CommandTokenizer): (CommandTokenizer::CommandTokenizer): (CommandTokenizer::pump): (CommandTokenizer::next): (CommandTokenizer::hasNext): (die): (parseInputLine): Common logic to parse the input line from the standard input (or from the command line in standalone mode). Made it somewhat general so we can easily add more arguments if there is a need. * DumpRenderTree/chromium/DumpRenderTree.cpp: (runTest): (main): * DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityController.cpp. * DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityController.h. * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.cpp. * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.h. Renamed these files with a Chromium suffix because they were clashing with the common ones used by other ports after adding the root DumpRenderTree directory to the include path. * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): (TestShell::runFileTest): (TestShell::dump): * DumpRenderTree/chromium/TestShell.h: (TestParams::TestParams): (TestShell): * DumpRenderTree/efl/CMakeLists.txt: * DumpRenderTree/efl/DumpRenderTree.cpp: (parseCommandLineOptions): (runTest): (shouldDumpPixelsAndCompareWithExpected): (main): * DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeGlobalsFromCommandLineOptions): (dump): (runTest): (main): * DumpRenderTree/mac/DumpRenderTree.mm: (initializeGlobalsFromCommandLineOptions): (dumpRenderTree): (dump): (runTest): * DumpRenderTree/qt/DumpRenderTree.pro: * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::DumpRenderTree): (WebCore::DumpRenderTree::open): (WebCore::DumpRenderTree::processLine): (WebCore::DumpRenderTree::dump): * DumpRenderTree/qt/DumpRenderTreeQt.h: (DumpRenderTree): * DumpRenderTree/qt/main.cpp: (isOption): (printUsage): (main): * DumpRenderTree/win/DumpRenderTree.cpp: (dump): (runTest): (dllLauncherEntryPoint): * DumpRenderTree/win/DumpRenderTree.vcproj: * DumpRenderTree/wscript: * DumpRenderTree/wx/DumpRenderTreeWx.cpp: (dump): (runTest): (MyApp::OnInit): * GNUmakefile.am: * Scripts/old-run-webkit-tests: * Scripts/old-run-webkit-tests: Pass --pixel-test before the hash. * Scripts/webkitpy/layout_tests/port/base.py: (Port.should_run_as_pixel_test): Removed now that all ports supports it. * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.cmd_line): Don't pass --pixel-tests anymore. (Driver._command_from_driver_input): * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.should_run_as_pixel_test): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.should_run_as_pixel_test): * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::initialize): (WTR::TestCommand::TestCommand): (TestCommand): (WTR): (CommandTokenizer): (WTR::CommandTokenizer::CommandTokenizer): (WTR::CommandTokenizer::pump): (WTR::CommandTokenizer::next): (WTR::CommandTokenizer::hasNext): (WTR::die): (WTR::parseInputLine): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: (TestController): Duplicate the logic for parsing the command line because unfortunately there is no way to share code between WebKitTestRunner and DumpRenderTree. 2012-08-03 Ilya Tikhonovsky Web Inspector: clang plugin for checking native memory instrumentation coverage. https://bugs.webkit.org/show_bug.cgi?id=92650 Reviewed by Yury Semikhatsky. This is the clang plugin for checking native memory instrumentation coverage. The idea: InspectorMemoryAgent traverses through instrumented objects and collects pointers and their sizes and types. It is doing that with help of reportMemoryUsage function that needs to be implemented in each, significant from native memory footprint point of view, WebCore class. This plugin checks that the list of class members is matching with the list of members reported in reportMemoryUsage function and makes a warning for the each member that needs to be reported. * clang/ReportMemoryUsagePlugin/CMakeLists.txt: Added. * clang/ReportMemoryUsagePlugin/Makefile: Added. * clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp: Added. (clang): (AddMemberCallVisitor): (clang::AddMemberCallVisitor::VisitCallExpr): (clang::AddMemberCallVisitor::instrumentedMembers): (ReportMemoryUsageVisitor): (clang::ReportMemoryUsageVisitor::ReportMemoryUsageVisitor): (clang::ReportMemoryUsageVisitor::VisitCXXMethodDecl): (clang::ReportMemoryUsageVisitor::emitWarning): (clang::ReportMemoryUsageVisitor::findInstrumentationMethod): (clang::ReportMemoryUsageVisitor::needsToBeInstrumented): (clang::ReportMemoryUsageVisitor::CheckMembersCoverage): (ReportMemoryUsageConsumer): (clang::ReportMemoryUsageConsumer::ReportMemoryUsageConsumer): (clang::ReportMemoryUsageConsumer::HandleTranslationUnit): (ReportMemoryUsageAction): (clang::ReportMemoryUsageAction::CreateASTConsumer): (clang::ReportMemoryUsageAction::ParseArgs): * clang/ReportMemoryUsagePlugin/tests/Source/WebCore/Test.cpp: Added. (aNamespace): (MemoryInstrumentation): (MemoryClassInfo): (aNamespace::MemoryClassInfo::MemoryClassInfo): (aNamespace::MemoryClassInfo::addMember): (aNamespace::MemoryClassInfo::addInstrumentedMember): (OwnPtr): (aNamespace::OwnPtr::OwnPtr): (RefPtr): (aNamespace::RefPtr::RefPtr): (Vector): (String): (NotInstrumentedClass): (InstrumentedClass): (aNamespace::InstrumentedClass::reportMemoryUsage): (InstrumentedChildClass): (aNamespace::InstrumentedChildClass::reportMemoryUsage): (InstrumentedChildChildClass): (InstrumentedChildChildClass::reportMemoryUsage): (main): 2012-08-03 Joone Hur [EFL][DRT] WebKitAnimation API compile-time disabled https://bugs.webkit.org/show_bug.cgi?id=84593 Reviewed by Laszlo Gombos. Enable ENABLE_ANIMATION_API by default on the Efl port. * Scripts/webkitperl/FeatureList.pm: 2012-08-03 Balazs Kelemen WTR should be able to load external resources https://bugs.webkit.org/show_bug.cgi?id=89382 Reviewed by Ryosuke Niwa. Allow to load an external resource as the main frame and allow all subsequent external loads for such a main frame. This behavior is necessary for being able to run performance tests (wkb.ug/84008). * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::isLocalHost): (WTR): (WTR::isHTTPOrHTTPSScheme): (WTR::InjectedBundlePage::willSendRequestForFrame): 2012-08-02 Joone Hur [GTK] Build break when building DumpRenderTree/gtk/EditingCallbacks.cpp https://bugs.webkit.org/show_bug.cgi?id=93061 Unreviewed, Fix build break for WebKitGtk+. Use webkit_dom_element_get_class_name instead of webkit_dom_html_element_get_class_name. * DumpRenderTree/gtk/EditingCallbacks.cpp: (shouldShowDeleteInterfaceForElement): 2012-08-02 Dirk Pranke test-webkitpy can fail on a clean checkout https://bugs.webkit.org/show_bug.cgi?id=93039 Reviewed by Adam Barth. Now that we run tests in parallel that can cause the installer to try and install packages in parallel (even the same package), and that probably won't work. We fix this by autoinstalling everything up front (serially). * Scripts/webkitpy/test/main.py: (Tester._run_tests): * Scripts/webkitpy/thirdparty/__init__.py: (autoinstall_everything): 2012-06-15 David Barton MathML: nested square root symbols have varying descenders https://bugs.webkit.org/show_bug.cgi?id=43819 Reviewed by Eric Seidel. Allow the STIXGeneral font to be used during layout tests, especially for MathML. * DumpRenderTree/mac/DumpRenderTree.mm: (allowedFontFamilySet): * WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm: (WTR::allowedFontFamilySet): 2012-08-02 Dirk Pranke test-webkitpy: some tests need to run by themselves https://bugs.webkit.org/show_bug.cgi?id=92926 Reviewed by Ojan Vafai. Due to timing issues some of the executive tests will collide and fail if they're run concurrently. This patch adds support for writing tests that will be executed one at a time (serially); to get them, add "serial_" to the front of the test method name. * Scripts/webkitpy/common/system/executive_unittest.py: (ExecutiveTest.serial_test_kill_process): (ExecutiveTest.serial_test_kill_all): (ExecutiveTest.serial_test_check_running_pid): (ExecutiveTest.serial_test_running_pids): (ExecutiveTest.serial_test_run_in_parallel): * Scripts/webkitpy/test/main.py: (Tester._run_tests): (Tester._test_names): 2012-08-02 Dirk Pranke test-webkitpy: integrate proper support for integration tests https://bugs.webkit.org/show_bug.cgi?id=92925 Reviewed by Ojan Vafai. This patch merges the custom loader I used for integration tests into the main test-webkitpy code. Integration tests are not run by default yet, but at least they can be run. * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: (MockTestShellTest.test_test_shell_parse_options): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (test_path_to_apache_config_file): * Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py: (WebsocketserverTest): * Scripts/webkitpy/test/main.py: (Tester._parse_args): (Tester._run_tests): (Tester._test_names): (Tester._log_exception): (_Loader): (_Loader.getTestCaseNames): (_Loader.getTestCaseNames.isTestMethod): 2012-08-02 Dirk Pranke test-webkitpy: clean up runner in preparation for running tests serially as necessary https://bugs.webkit.org/show_bug.cgi?id=92922 Reviewed by Ojan Vafai. In order to run some tests by themselves (serially, rather than in parallel with other tests), we will need to be able to run multiple test suites; this causes us to move loading the logic for finding test method names out of the runner and into main. I'm taking advantage of this to simplify some other stuff from the runner as well; it is now very simple and doesn't expose its dependency on unittest.TestResult at all (nor will the Printer use TestResult). Subsequent patches will move the custom loader from port_testcase so that we can properly choose whether to run integration tests and/or serial tests, and then update the appropriate tests to run only serially. * Scripts/webkitpy/test/main.py: (Tester._run_tests): (Tester): (Tester._check_imports): (Tester._test_names): (Tester._all_test_names): * Scripts/webkitpy/test/printer.py: (Printer.__init__): (Printer.write_update): (Printer): (Printer.print_finished_test): (Printer.print_result): * Scripts/webkitpy/test/runner.py: (unit_test_name): (Runner.__init__): (Runner.run): (Runner.handle): (_Worker.handle): * Scripts/webkitpy/test/runner_unittest.py: (FakeLoader.loadTestsFromName): (RunnerTest.test_run): 2012-08-02 Adam Barth Turn on tests for the mac-ews, for realz this time. * Scripts/webkitpy/tool/commands/earlywarningsystem.py: (MacEWS): 2012-08-02 Xianzhu Wang [Chromium-Android] Run layout tests on multiple devices in parallel https://bugs.webkit.org/show_bug.cgi?id=92877 Reviewed by Dirk Pranke. Moved methods that run command on a particular device from ChromiumAndroidPort to ChromiumAndroidDriver. The drivers run adb commands with the '-s serial_number' parameter which specifies the device according to the work_number. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.__init__): (ChromiumAndroidPort.default_child_processes): Default to the number of attached devices. (ChromiumAndroidPort.test_expectations): Removed because it is unused. (ChromiumAndroidPort.setup_test_run): Most contents moved into ChromiumAndroidDriver._setup_test() (ChromiumAndroidPort.clean_up_test_run): Now the http server is stopped here. (ChromiumAndroidPort._get_devices): (ChromiumAndroidPort._get_device_serial): (ChromiumAndroidDriver): (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver.__del__): (ChromiumAndroidDriver._setup_test): Original contents of ChromiumAndroidPort.setup_test_run(). (ChromiumAndroidDriver._push_executable): Moved from ChromiumAndroidPort. (ChromiumAndroidDriver._push_fonts): Moved from ChromiumAndroidPort. (ChromiumAndroidDriver._push_test_resources): Moved from ChromiumAndroidPort. (ChromiumAndroidDriver._synchronize_datetime): Moved from ChromiumAndroidPort. (ChromiumAndroidDriver._run_adb_command): Moved from ChromiumAndroidPort. (ChromiumAndroidDriver._teardown_performance): Moved from ChromiumAndroidPort. (ChromiumAndroidDriver._get_crash_log): Moved from ChromiumAndroidPort. (ChromiumAndroidDriver.cmd_line): (ChromiumAndroidDriver._file_exists_on_device): (ChromiumAndroidDriver._remove_all_pipes): (ChromiumAndroidDriver._start): (ChromiumAndroidDriver._start_once): (ChromiumAndroidDriver.stop): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (MockRunCommand): (MockRunCommand.__init__): (MockRunCommand.mock_run_command_fn): (MockRunCommand.mock_no_device): (MockRunCommand.mock_one_device): (MockRunCommand.mock_two_devices): (MockRunCommand.mock_no_tombstone_dir): (MockRunCommand.mock_no_tombstone_file): (MockRunCommand.mock_ten_tombstones): (MockRunCommand.mock_logcat): (ChromiumAndroidPortTest): (ChromiumAndroidPortTest.make_port): (ChromiumAndroidPortTest.test_driver_cmd_line): (ChromiumAndroidPortTest.test_get_devices_no_device): (ChromiumAndroidPortTest.test_get_devices_one_device): (ChromiumAndroidPortTest.test_get_devices_two_devices): (ChromiumAndroidPortTest.test_get_device_serial_no_device): (ChromiumAndroidPortTest.test_get_device_serial_one_device): (ChromiumAndroidPortTest.test_get_device_serial_two_devices): (ChromiumAndroidDriverTest): (ChromiumAndroidDriverTest.setUp): (ChromiumAndroidDriverTest.test_get_last_stacktrace): (ChromiumAndroidDriverTest.test_get_crash_log): (ChromiumAndroidDriverTest.test_cmd_line): (ChromiumAndroidDriverTwoDriversTest): (ChromiumAndroidDriverTwoDriversTest.test_two_drivers): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.run_test): (Driver._get_crash_log): Added to allow subclasses to override. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): Removed the --adb-args command-line parameter because now we select device automatically. Added --adb-device to specify devices. 2012-08-02 Dinu Jacob WebKitTestRunner needs layoutTestController.setUserStyleSheetEnabled https://bugs.webkit.org/show_bug.cgi?id=42679 Reviewed by Eric Seidel. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added setUserStyleSheetEnabled and setUserStyleSheetLocation. * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::LayoutTestController): Initialize new members added. (WTR::LayoutTestController::setUserStyleSheetEnabled): Added. (WTR::LayoutTestController::setUserStyleSheetLocation): Added. * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Added members userStyleSheetEnabled, and m_userStyleSheetLocation and methods setUserStyleSheetEnabled, and setUserStyleSheetLocation. 2012-08-02 Hans Wennborg Speech JavaScript API: Fire speech start event at the same time as sound start event https://bugs.webkit.org/show_bug.cgi?id=92971 Reviewed by Adam Barth. Update the MockWebSpeechRecognizer to not fire "speech started" events separately. * DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp: (MockWebSpeechRecognizer::start): 2012-08-02 Philippe Normand [GTK] make sometimes using a single core https://bugs.webkit.org/show_bug.cgi?id=92998 Reviewed by Martin Robinson. In the GTK 64-bit Release buildbot some builds use a single core for the make process. I suspect this is because in those cases nproc reports a single core available. The proposed solution is to always rely on all the cores available in the machine. * Scripts/webkitdirs.pm: (determineNumberOfCPUs): 2012-08-02 Adam Barth Re-land http://trac.webkit.org/changeset/94441 now that lforschler is ready. This patch enables testing on the mac-ews bots. * Scripts/webkitpy/tool/commands/earlywarningsystem.py: 2012-08-02 Adam Barth [Chromium] Merge final nits to DumpRenderTree.gyp for Android https://bugs.webkit.org/show_bug.cgi?id=90920 Reviewed by Tony Chang. This patch contains the last few small changes to DumpRenderTree.gyp from the chromium-android branch. After this change, this file will be fully merged. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-08-02 Peter Beverloo [Chromium] Toggle the type of ant compile for webkit_unit_tests and TestWebKitAPI https://bugs.webkit.org/show_bug.cgi?id=92858 Reviewed by Adam Barth. Now that the sdk_build variable is available, we can remove these two differences as well. This goes together with Adam's bug 90920. After this patch, the whole Tools/ directory will be unforked :-). * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-08-02 Zoltan Arvai [Qt] MSVC specific buildfix for DRT. https://bugs.webkit.org/show_bug.cgi?id=92978 Reviewed by Simon Hausmann. DumpRenderTree/qt subdirectory is missing from generated makefile under MSVC build, need to be added to the pro file. * DumpRenderTree/qt/DumpRenderTree.pro: 2012-08-02 Alexander Shalamov [EFL][WK2] WTR is failing when X server is not running https://bugs.webkit.org/show_bug.cgi?id=92719 Reviewed by Hajime Morita. EFL's WebKitTestRunner doesn't execute tests when X server is not running. This patch fixes the problem by checking environment variable before ecore x initialization. * Scripts/webkitpy/layout_tests/port/efl.py: (EflPort.setup_environ_for_server): * WebKitTestRunner/efl/main.cpp: (main): 2012-08-01 Dirk Pranke REGRESSION(r123893): Reftest mismatches are run through ImageDiff with 0.1 tolerance https://bugs.webkit.org/show_bug.cgi?id=92847 Reviewed by Ojan Vafai. I was failing to distinguish between 'None' and 0 :(. Fixed and added tests. * Scripts/webkitpy/layout_tests/port/base.py: (Port.diff_image): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase.test_diff_image.make_proc): (PortTestCase.test_diff_image): 2012-08-01 Dirk Pranke test-webkitpy: clean up handling of tests to skip https://bugs.webkit.org/show_bug.cgi?id=92909 Reviewed by Ryosuke Niwa. This change moves the handling of tests to skip into main.py where it is at least slightly more findable and generic. Also fix a couple of lint nits. * Scripts/webkitpy/test/finder.py: (Finder.__init__): (Finder.skip): (Finder._default_names): * Scripts/webkitpy/test/main.py: (main): (Tester.skip): * Scripts/webkitpy/test/main_unittest.py: (TesterTest.test_no_tests_found): * Scripts/webkitpy/test/runner_unittest.py: 2012-08-01 Dirk Pranke test-webkitpy: remove --skip-integrationtests flag https://bugs.webkit.org/show_bug.cgi?id=92907 Reviewed by Ryosuke Niwa. This flag is no longer used since the tests complete quickly. Also clean up the unused skip_if_parallel arg in finder, and make a couple of lint fixes. * Scripts/webkitpy/test/finder.py: (Finder.find_names): (Finder._default_names): * Scripts/webkitpy/test/finder_unittest.py: (FinderTest.check_names): (FinderTest.test_default_names): * Scripts/webkitpy/test/main.py: (Tester._parse_args): (Tester.run): * Scripts/webkitpy/test/main_unittest.py: (TesterTest.test_no_tests_found): 2012-08-01 Ryosuke Niwa Generalize SheriffIRCBot to prepare for PerfBot https://bugs.webkit.org/show_bug.cgi?id=92912 Reviewed by Adam Barth. Renamed SheriffIRCBot to IRCBot and generalized to support non-sheriffbot IRC bot in the future. This will be useful when I add an experimental perf EWS IRC bot. * Scripts/webkitpy/tool/bot/irc_command.py: (Whois.execute): * Scripts/webkitpy/tool/bot/irc_command_unittest.py: (IRCCommandTest): * Scripts/webkitpy/tool/bot/ircbot.py: Moved from Tools/Scripts/webkitpy/tool/bot/sheriffircbot.py. (Eliza): Moved from irc_command. (Eliza.__init__): (Eliza.execute): (IRCBot): (IRCBot.__init__): (IRCBot.irc_delegate): (IRCBot._parse_command_and_args): (IRCBot.process_message): * Scripts/webkitpy/tool/bot/ircbot_unittest.py: Moved from Tools/Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py. (run): (IRCBotTest): (IRCBotTest.test_eliza): Moved from IRCCommandTest. (IRCBotTest.test_parse_command_and_args): (IRCBotTest.test_exception_during_command): * Scripts/webkitpy/tool/bot/sheriffircbot.py: Removed. * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: Removed. * Scripts/webkitpy/tool/commands/sheriffbot.py: (SheriffBot.begin_work_queue): * Scripts/webkitpy/webkitpy.pyproj: 2012-08-01 Dirk Pranke nrwt: reenable the test for --verbose working in child processes https://bugs.webkit.org/show_bug.cgi?id=92894 Reviewed by Ryosuke Niwa. This change rewrites the test to not use outputcapture, meaning that the MockHost can propagate to Worker properly and things work again :). * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_verbose_in_child_processes): 2012-08-01 Ryosuke Niwa run-perf-tests --build-directory doesn't work https://bugs.webkit.org/show_bug.cgi?id=92051 Reviewed by Dirk Pranke. The bug was caused by not prepending build_directory even when one is defined. Fixed that. * Scripts/webkitpy/layout_tests/port/base.py: (Port._build_path): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_build_path): 2012-08-01 Sheriff Bot Unreviewed, rolling out r123865. http://trac.webkit.org/changeset/123865 https://bugs.webkit.org/show_bug.cgi?id=92891 This patch is causing the style-queue to fall behind (Requested by abarth on #webkit). * Scripts/webkitpy/tool/commands/queues.py: (AbstractReviewQueue.begin_work_queue): (StyleQueue.__init__): * Scripts/webkitpy/tool/commands/queues_unittest.py: (StyleQueueTest.test_style_queue_with_style_exception): (test_style_queue_with_watch_list_exception): 2012-08-01 Ryosuke Niwa run-perf-tests throws an exception when the output json is malformed https://bugs.webkit.org/show_bug.cgi?id=92887 Reviewed by Dirk Pranke. Catch exceptions and gracefully fail. Also split _generate_json into smaller methods. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner): (PerfTestsRunner.run): (PerfTestsRunner._generate_output): Extracted from _generate_json. (PerfTestsRunner._merge_source_json): Ditto; catch all exceptions since they are too many exceptions to consder here. (PerfTestsRunner._merge_outputs): Ditto. (PerfTestsRunner._generate_output_files): Extracted from _generate_json. * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (_test_run_with_json_output): Don't assert logs when we except an non-zero exit code. (create_runner_and_setup_results_template): Extracted from test_run_generates_results_page. (test_run_generates_results_page): (test_run_with_bad_output_json): Added. (test_run_with_bad_json_source): Added. (test_run_with_upload_json): 2012-08-01 Thiago Marcos P. Santos Regression(r124135): nrwt: --verbose logging does not work right on windows https://bugs.webkit.org/show_bug.cgi?id=92845 Reviewed by Dirk Pranke. Disabled the failing test. The Workers spawned by this test are using Host() instead of MockHost() and trying to access the real filesystem instead of the MockFilesytem. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.disabled_test_verbose): 2012-08-01 Arnaud Renevier keyring.get_password may raise an exception. https://bugs.webkit.org/show_bug.cgi?id=92876 Reviewed by Dirk Pranke. keyring.get_password sometimes raises an exception. We wrap this call, and also set_password to avoid breaking webkit-patch in that case. * Scripts/webkitpy/common/net/credentials.py: (Credentials._offer_to_store_credentials_in_keyring): (Credentials.read_credentials): 2012-08-01 Xianzhu Wang Layout Test fast/text/descent-clip-in-scaled-page.html is failing on linux since it was added https://bugs.webkit.org/show_bug.cgi?id=91386 Reviewed by Tony Chang. Added font mapping from SubpixelPositioningAhem to Ahem on Linux and Android (used in layout test fast/text/descent-clip-in-scaled-page.html). Added font mapping from SubpixelPositioning to Times New Roman on Android to match Linux (used in platform/chromium-linux/fast/text/chromium-linux-text-subpixel-positioning.html) * DumpRenderTree/chromium/android_main_fonts.xml: * DumpRenderTree/chromium/fonts.conf: 2012-08-01 Sheriff Bot Unreviewed, rolling out r124325. http://trac.webkit.org/changeset/124325 https://bugs.webkit.org/show_bug.cgi?id=92865 broke android build (Requested by mnaganov on #webkit). * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-08-01 Thiago Marcos P. Santos [EFL] Dump a backtrace in case of a crash on the UIProcess https://bugs.webkit.org/show_bug.cgi?id=92843 Reviewed by Csaba Osztrogonác. We are already dumping the backtraces when automated tests are crashing, but only for the WebProcess. This patch adds the same hooks for the UIProcess. * TestWebKitAPI/efl/main.cpp: (main): * WebKitTestRunner/efl/main.cpp: (main): 2012-08-01 Adam Barth [Chromium] Merge final nits to DumpRenderTree.gyp for Android https://bugs.webkit.org/show_bug.cgi?id=90920 Reviewed by Tony Chang. This patch contains the last few small changes to DumpRenderTree.gyp from the chromium-android branch. After this change, this file will be fully merged. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-08-01 Csaba Osztrogonác [Qt] ImageDiff should use float division instead of integer https://bugs.webkit.org/show_bug.cgi?id=92859 Reviewed by Zoltan Herczeg. * DumpRenderTree/qt/ImageDiff.cpp: (main): 2012-08-01 Sheriff Bot Unreviewed, rolling out r124313. http://trac.webkit.org/changeset/124313 https://bugs.webkit.org/show_bug.cgi?id=92855 Compilation failed on Chromium ports (Requested by yosin on #webkit). * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/DumpRenderTree.h: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/DumpRenderTreeCommon.cpp: Removed. * DumpRenderTree/chromium/DumpRenderTree.cpp: (runTest): (main): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): (TestShell::runFileTest): (TestShell::dump): * DumpRenderTree/chromium/TestShell.h: (TestParams): (TestParams::TestParams): (TestShell): * DumpRenderTree/efl/CMakeLists.txt: * DumpRenderTree/efl/DumpRenderTree.cpp: (parseCommandLineOptions): (getFinalTestURL): (getExpectedPixelHash): (runTest): (shouldDumpPixelsAndCompareWithExpected): (main): * DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeGlobalsFromCommandLineOptions): (dump): (runTest): (main): * DumpRenderTree/mac/DumpRenderTree.mm: (initializeGlobalsFromCommandLineOptions): (dumpRenderTree): (dump): (runTest): * DumpRenderTree/qt/DumpRenderTree.pro: * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::processLine): * DumpRenderTree/win/DumpRenderTree.cpp: (dump): (runTest): (dllLauncherEntryPoint): * DumpRenderTree/win/DumpRenderTree.vcproj: * DumpRenderTree/wscript: * DumpRenderTree/wx/DumpRenderTreeWx.cpp: (dump): (runTest): (MyApp::OnInit): * GNUmakefile.am: * Scripts/old-run-webkit-tests: * Scripts/webkitpy/layout_tests/port/base.py: (Port.supports_switching_pixel_tests_per_test): (Port): (Port._supports_switching_pixel_tests_per_test): (Port.should_run_as_pixel_test): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.cmd_line): (Driver._command_from_driver_input): * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._supports_switching_pixel_tests_per_test): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.supports_switching_pixel_tests_per_test): * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::initialize): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: (TestController): 2012-08-01 Balazs Kelemen All ports should support per test switching of pixel testing https://bugs.webkit.org/show_bug.cgi?id=92398 Reviewed by Dirk Pranke. Teach all test drivers to accept a per test control of whether to dump pixels. Drivers now accept a -p/--pixel-test argument on the standart input that means that running the current test as pixel test is allowed (even if the expected hash is missing). Removed the --pixel-tests command line option since there is no need for it anymore. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/DumpRenderTree.h: (TestCommand::TestCommand): (TestCommand): * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/DumpRenderTreeCommon.cpp: Added. (CommandTokenizer): (CommandTokenizer::CommandTokenizer): (CommandTokenizer::pump): (CommandTokenizer::next): (CommandTokenizer::hasNext): (die): (parseInputLine): Common logic to parse the input line from the standard input (or from the command line in standalone mode). Made it somewhat general so we can easily add more arguments if there is a need. * DumpRenderTree/chromium/DumpRenderTree.cpp: (runTest): (main): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): (TestShell::runFileTest): (TestShell::dump): * DumpRenderTree/chromium/TestShell.h: (TestParams::TestParams): (TestShell): * DumpRenderTree/efl/CMakeLists.txt: * DumpRenderTree/efl/DumpRenderTree.cpp: (parseCommandLineOptions): (runTest): (shouldDumpPixelsAndCompareWithExpected): (main): * DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeGlobalsFromCommandLineOptions): (dump): * DumpRenderTree/mac/DumpRenderTree.mm: (initializeGlobalsFromCommandLineOptions): (dumpRenderTree): * DumpRenderTree/qt/DumpRenderTree.pro: * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::processLine): * DumpRenderTree/win/DumpRenderTree.cpp: (dump): (runTest): (dllLauncherEntryPoint): * DumpRenderTree/win/DumpRenderTree.vcproj: * DumpRenderTree/wscript: * DumpRenderTree/wx/DumpRenderTreeWx.cpp: (dump): (runTest): (MyApp::OnInit): * Scripts/old-run-webkit-tests: Pass --pixel-test before the hash. Changed the separator form ' to : because it don't need to be escaped when passing manually on the comand line. * Scripts/webkitpy/layout_tests/port/base.py: (Port.should_run_as_pixel_test): Removed now that all ports supports it. * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.cmd_line): Don't pass --pixel-tests anymore. (Driver._command_from_driver_input): * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::initialize): (WTR::TestCommand::TestCommand): (TestCommand): (WTR): (CommandTokenizer): (WTR::CommandTokenizer::CommandTokenizer): (WTR::CommandTokenizer::pump): (WTR::CommandTokenizer::next): (WTR::CommandTokenizer::hasNext): (WTR::die): (WTR::parseInputLine): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: (TestController): Duplicate the logic for parsing the command line because unfortunately there is no way to share code between WebKitTestRunner and DumpRenderTree. 2012-08-01 Martin Robinson Add the jhbuild source directory to the __builtin__ object Reviewed by Philippe Normand. It seems that the jhbuild script explicitly looks for the SRCDIR __builtin__ when initializing. This is necessary for loading the jhbuild from the checkout directory. * jhbuild/jhbuildutils.py: (enter_jhbuild_environment_if_available): Set SRCDIR to the source directory. 2012-07-31 Dirk Pranke nrwt: move actual test-running code into layout_test_runner.py https://bugs.webkit.org/show_bug.cgi?id=92806 Reviewed by Ryosuke Niwa. This is the final patch in manager-refactoring series (for now). This moves all of the logic to actually run the tests into layout_test_runner (in a new LayoutTestRunner) class. Now the mechanics of actually executing all of the tests are contained in one file (of course the actual work of talking to DRT/WTR and diff'ing the results is still in single_test_runner). Now manager is left with setting up and tearing down the test environment, finding the tests to run, and processing the results of the tests, which is a pretty managable amount of code (no pun intended). The unit tests for manager were split in two and all of the runner-specific tests moved into layout_test_runner_unittest. They were significantly cleaned up to be easier to read and maintain as a part of this. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (TestRunInterruptedException): (TestRunInterruptedException.__init__): (TestRunInterruptedException.__reduce__): (LayoutTestRunner): (LayoutTestRunner.__init__): (LayoutTestRunner.test_key): (LayoutTestRunner.run_tests): (LayoutTestRunner.run_tests.worker_factory): (LayoutTestRunner.run_tests.instead): (LayoutTestRunner._mark_interrupted_tests_as_skipped): (LayoutTestRunner._interrupt_if_at_failure_limits): (LayoutTestRunner._interrupt_if_at_failure_limits.interrupt_if_at_failure_limit): (LayoutTestRunner._update_summary_with_result): (LayoutTestRunner.start_servers_with_lock): (LayoutTestRunner.stop_servers_with_lock): (LayoutTestRunner.handle): (LayoutTestRunner._handle_started_test): (LayoutTestRunner._handle_finished_test_list): (LayoutTestRunner._handle_finished_test_list.find): (LayoutTestRunner._handle_finished_test): * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py: (FakePrinter): (FakePrinter.print_workers_and_shards): (FakePrinter.print_finished_test): (FakePrinter.write): (FakePrinter.write_update): (FakePrinter.flush): (LockCheckingRunner): (LockCheckingRunner.__init__): (LockCheckingRunner.handle_finished_list): (LayoutTestRunnerTests): (LayoutTestRunnerTests._runner): (LayoutTestRunnerTests._result_summary): (LayoutTestRunnerTests._run_tests): (LayoutTestRunnerTests.test_http_locking): (LayoutTestRunnerTests.test_perf_locking): (LayoutTestRunnerTests.test_interrupt_if_at_failure_limits): (LayoutTestRunnerTests.test_update_summary_with_result): (LayoutTestRunnerTests.test_servers_started): (LayoutTestRunnerTests.test_servers_started.start_http_server): (LayoutTestRunnerTests.test_servers_started.start_websocket_server): (LayoutTestRunnerTests.test_servers_started.stop_http_server): (LayoutTestRunnerTests.test_servers_started.stop_websocket_server): * Scripts/webkitpy/layout_tests/controllers/manager.py: (summarize_results): (Manager.__init__): (Manager._is_http_test): (Manager): (Manager._is_websocket_test): (Manager._websocket_tests): (Manager._prepare_lists): (Manager._is_ref_test): (Manager.run): (Manager._run_tests): (Manager._look_for_new_crash_logs): (Manager._show_results_html_file): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_look_for_new_crash_logs): (ResultSummaryTest.summarized_results): (ResultSummaryTest.test_summarized_results_wontfix): 2012-07-31 Dirk Pranke nrwt: move sharding logic into layout_test_runner.py https://bugs.webkit.org/show_bug.cgi?id=92805 Reviewed by Ryosuke Niwa. The sharding logic is specific to how we actually run the tests, so it belongs in this file instead of manager.py or finder.py. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (Worker._run_single_test): (TestShard): (TestShard.__init__): (TestShard.__repr__): (TestShard.__eq__): (Sharder): (Sharder.__init__): (Sharder.shard_tests): (Sharder.shard_tests.or): (Sharder._shard_in_two): (Sharder._shard_every_file): (Sharder._shard_by_directory): (Sharder._resize_shards): (Sharder._resize_shards.divide_and_round_up): (Sharder._resize_shards.extract_and_flatten): (Sharder._resize_shards.split_at): (Sharder._dir_for_test_input): (Sharder.test_key): (Sharder.natural_sort_key): (Sharder.natural_sort_key.tryint): * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py: Added. (SharderTests): (SharderTests.get_test_input): (SharderTests.get_shards): (SharderTests.get_shards.split): (SharderTests.assert_shards): (SharderTests.test_shard_by_dir): (SharderTests.test_shard_by_dir_sharding_ref_tests): (SharderTests.test_shard_every_file): (SharderTests.test_shard_in_two): (SharderTests.test_shard_in_two_sharding_ref_tests): (SharderTests.test_shard_in_two_has_no_locked_shards): (SharderTests.test_shard_in_two_has_no_unlocked_shards): (SharderTests.test_multiple_locked_shards): (NaturalCompareTest): (NaturalCompareTest.assert_cmp): (NaturalCompareTest.test_natural_compare): (KeyCompareTest): (KeyCompareTest.setUp): (KeyCompareTest.setUp.split): (KeyCompareTest.assert_cmp): (KeyCompareTest.test_test_key): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.__init__): (Manager._prepare_lists): (Manager._is_ref_test): (Manager._run_tests): (Manager._handle_finished_test): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.get_options): (ManagerTest.test_interrupt_if_at_failure_limits): (ManagerTest.test_update_summary_with_result): (ManagerTest.test_needs_servers.get_manager_with_tests): (ManagerTest.integration_test_needs_servers.get_manager_with_tests): (ManagerTest.test_look_for_new_crash_logs.get_manager_with_tests): (ManagerTest.test_servers_started): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2012-07-31 Dirk Pranke nrwt: rename worker.py to layout_test_runner.py https://bugs.webkit.org/show_bug.cgi?id=92804 Reviewed by Ojan Vafai. Home stretch of this round of manager refactoring ... I will be moving all of the actual test-running code (which includes the code that shards the tests for the workers) into a different module, and it makes sense for that module to contain the actual worker code, so I'm renaming worker.py to layout_test_runner.py. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: Renamed from Tools/Scripts/webkitpy/layout_tests/controllers/worker.py. (Worker): (Worker.__init__): (Worker.__del__): (Worker.start): (Worker.handle): (Worker._update_test_input): (Worker._run_test): (Worker.stop): (Worker._timeout): (Worker._kill_driver): (Worker._run_test_with_timeout): (Worker._clean_up_after_test): (Worker._run_test_in_another_thread): (Worker._run_test_in_another_thread.SingleTestThread): (Worker._run_test_in_another_thread.SingleTestThread.__init__): (Worker._run_test_in_another_thread.SingleTestThread.run): (Worker._run_test_in_this_thread): (Worker._run_single_test): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._run_tests.worker_factory): 2012-07-31 Dirk Pranke nrwt: clean up names in sharding code https://bugs.webkit.org/show_bug.cgi?id=92785 Reviewed by Ryosuke Niwa. More refactoring ... this makes the methods use TestInputs consistently (and updates the names accordingly) and improves encapsulation a bit. The sharding code is now pretty self-contained. This change adds no new functionality and is covered by the existing (updated) tests. * Scripts/webkitpy/layout_tests/controllers/manager.py: (TestShard.visible.__init__): (TestShard.visible.__repr__): (Manager._dir_for_test_input): (Manager._shard_tests): (Manager._shard_in_two): (Manager._shard_every_file): (Manager._shard_by_directory): (Manager._run_tests): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerWrapper._test_input_for_file): (ShardingTests.get_shards): * Scripts/webkitpy/layout_tests/models/test_input.py: (TestInput.__init__): (TestInput.__repr__): 2012-07-31 Dirk Pranke nrwt: clean up TestInputs in preparation for cleaning up sharding https://bugs.webkit.org/show_bug.cgi?id=92784 Reviewed by Ryosuke Niwa. Currently, in order to shard the tests you need to refer to state in the manager as well as the state in the TestInputs; this change embeds the necessary state into the TestInputs so sharding them can be a standalone operation. The actual clean up of the sharding will follow in a subsequent patch. Covered by existing tests; no new functionality. However, I did rework the sharding tests to be less dependent on the test scaffolding and easier to follow. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._test_input_for_file): (Manager._shard_in_two): (Manager._shard_every_file): (Manager._shard_by_directory): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerWrapper._test_input_for_file): (ShardingTests.assert_shards): (ShardingTests.test_shard_by_dir): (ShardingTests.test_shard_by_dir_sharding_ref_tests): (ShardingTests.test_shard_every_file): (ShardingTests.test_shard_in_two): (ShardingTests.test_shard_in_two_sharding_ref_tests): (ShardingTests.test_shard_in_two_has_no_unlocked_shards): (ShardingTests.test_multiple_locked_shards): * Scripts/webkitpy/layout_tests/models/test_input.py: (TestInput.__init__): (TestInput.__repr__): 2012-07-31 Thiago Marcos P. Santos [EFL] Dump a backtrace in case of a crash https://bugs.webkit.org/show_bug.cgi?id=92489 Reviewed by Csaba Osztrogonác. Dump a stack trace in case of a unexpected signal. This should provide a better report at the build bots when WTR crashes. * DumpRenderTree/efl/DumpRenderTree.cpp: (main): * TestWebKitAPI/efl/InjectedBundleController.cpp: (TestWebKitAPI::InjectedBundleController::platformInitialize): * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: (WTR::InjectedBundle::platformInitialize): 2012-07-31 Joshua Netterfield [BlackBerry] Enable CSS Filter Effects https://bugs.webkit.org/show_bug.cgi?id=92685 Reviewed by Rob Buis. Enable CSS filter effects, with the exception of custom effects (CSS shaders) and reference effects (SVG effects) Internally reviewed by Arvid Nilsson and Antonio Gomes . * Scripts/webkitperl/FeatureList.pm: Acknowledge CSS filter effects. 2012-07-31 Dirk Pranke nrwt: clean up prepare_lists_and_print_output, run, set_up_run a bit https://bugs.webkit.org/show_bug.cgi?id=92781 Reviewed by Ryosuke Niwa. More refactoring ... rename prepare_lists_and_print_output to just prepare_lists so that it only has a single purpose, and clean up the surrounding code a bit as well. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._collect_tests): (Manager._prepare_lists): (Manager._set_up_run): (Manager.run): 2012-07-31 Dirk Pranke nrwt: clean up self._test_files_list vs. self._test_files, other nits https://bugs.webkit.org/show_bug.cgi?id=92702 Reviewed by Ojan Vafai. Get rid of self._test_files, rename self._test_files_list to self._test_names (removing the confusion between the two fields). Also inline the one call to _parse_expectations, remove the one use of more_tests_to_skip, and fix a couple of minor nits. * Scripts/webkitpy/layout_tests/controllers/finder.py: (LayoutTestFinder.split_into_chunks): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.__init__): (Manager._collect_tests): (Manager._http_tests): (Manager._websocket_tests): (Manager._is_perf_test): (Manager.prepare_lists_and_print_output): (Manager.needs_servers): (Manager.run): (Manager._mark_interrupted_tests_as_skipped): (Manager._update_summary_with_result): (Manager._upload_json_files): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_interrupt_if_at_failure_limits): (ManagerTest.test_needs_servers.get_manager_with_tests): (ManagerTest.test_servers_started): 2012-07-31 Dirk Pranke nrwt: --verbose logging does not work right on windows https://bugs.webkit.org/show_bug.cgi?id=92673 Reviewed by Ojan Vafai. Add a test for r124090. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_verbose): 2012-07-31 Dirk Pranke REGRESSION(124116): Number of skipped tests isn't printed anymore https://bugs.webkit.org/show_bug.cgi?id=92736 Reviewed by Tony Chang. Add the skipped number back in; it was useful ... also clean up the formatting a little bit. * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_found): 2012-07-31 Hans Wennborg Speech JavaScript API: Throw exception for start() when already started https://bugs.webkit.org/show_bug.cgi?id=92756 Reviewed by Adam Barth. Fix the task queue in MockWebSpeechRecognizer. It's important that we remove the task from the queue before we run it, as running the task could alter the queue's state. * DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp: (MockWebSpeechRecognizer::abort): (MockWebSpeechRecognizer::setError): (MockWebSpeechRecognizer::clearTaskQueue): (MockWebSpeechRecognizer::StepTask::runIfValid): * DumpRenderTree/chromium/MockWebSpeechRecognizer.h: (MockWebSpeechRecognizer): 2012-07-31 Dirk Pranke nrwt: move handling the initial list of tests to skip to finder https://bugs.webkit.org/show_bug.cgi?id=92701 Reviewed by Ryosuke Niwa. More refactoring of manager ... * Scripts/webkitpy/layout_tests/controllers/finder.py: (LayoutTestFinder.skip_tests): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._collect_tests): (Manager.prepare_lists_and_print_output): 2012-07-31 Alexey Proskuryakov [WK2] Kill the concept of secondary shared process https://bugs.webkit.org/show_bug.cgi?id=92676 Reviewed by Sam Weinig. * MiniBrowser/win/BrowserView.cpp: (BrowserView::create): Update Windows build fix. Don't create a new context for every view. 2012-07-31 Peter Beverloo [Chromium] Don't use ninja for building Chromium for Android https://bugs.webkit.org/show_bug.cgi?id=92764 Reviewed by Adam Barth. When Ninja projects files are generated (which will be done for Android), make sure that the Android builder doesn't unintentionally switch to using Ninja. We should make that switch at a predetermined time. * Scripts/webkitdirs.pm: (buildChromium): 2012-07-31 Thiago Marcos P. Santos Add a mechanism to dump the stack trace in case of a crash https://bugs.webkit.org/show_bug.cgi?id=92666 Reviewed by Csaba Osztrogonác. Move crash signal handlers to WTFInstallReportBacktraceOnCrashHook() and eliminate some duplicated code. * DumpRenderTree/qt/main.cpp: (main): * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp: (WTR::InjectedBundle::platformInitialize): 2012-07-31 Jochen Eisinger [chromium] move EventSender into TestRunner.a https://bugs.webkit.org/show_bug.cgi?id=92277 Reviewed by Adam Barth. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * DumpRenderTree/chromium/TestRunner/EventSender.cpp: Renamed from Tools/DumpRenderTree/chromium/EventSender.cpp. * DumpRenderTree/chromium/TestRunner/EventSender.h: Renamed from Tools/DumpRenderTree/chromium/EventSender.h. * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: (TestInterfaces::Internal::eventSender): (TestInterfaces::Internal): (TestInterfaces::Internal::Internal): (TestInterfaces::Internal::~Internal): (TestInterfaces::Internal::setWebView): (TestInterfaces::Internal::setDelegate): (TestInterfaces::Internal::bindTo): (TestInterfaces::Internal::resetAll): (TestInterfaces::eventSender): * DumpRenderTree/chromium/TestRunner/TestInterfaces.h: (TestInterfaces): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::createMainWindow): (TestShell::~TestShell): (TestShell::resetTestController): (TestShell::bindJSObjectsToWindow): * DumpRenderTree/chromium/TestShell.h: (TestShell::eventSender): (TestShell): * DumpRenderTree/chromium/WebViewHost.cpp: 2012-07-31 Jochen Eisinger Unreviewed. Update watchlist * Scripts/webkitpy/common/config/watchlist: Turned out to be less useful than I had hoped 2012-07-31 Kent Tamura Unreviewed, update watchlist * Scripts/webkitpy/common/config/watchlist: - Improve "Forms" filename pattern. - tkent stops watching Chromium DRT. It was not so helpful. 2012-07-31 Martin Robinson [jhbuild] Also try to load jhbuild Python module from the source checkout Reviewed by Philippe Normand. JHBuild also seems to have an installation mode where it prefers to load its Python modules from the source checkout. This seems to be used particularly on the GTK+ 64-bit release bot. We should fall back to this mode. * jhbuild/jhbuildutils.py: (enter_jhbuild_environment_if_available): Use the source checkout if there is no installation path. 2012-07-30 Ryosuke Niwa Revert r124153 and land the "right" build fix per ap's comment on the bug 92676. * MiniBrowser/win/BrowserView.cpp: (BrowserView::create): 2012-07-30 Sam Weinig Rename WebKit2.h to WebKit2_C.h https://bugs.webkit.org/show_bug.cgi?id=92704 Reviewed by Dan Bernstein. * MiniBrowser/mac/MiniBrowser_Prefix.pch: * MiniBrowser/win/BrowserView.h: * TestWebKitAPI/config.h: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: * WebKitTestRunner/WebKitTestRunnerPrefix.h: * WebKitTestRunner/config.h: Update for changed header file name. 2012-07-30 Dirk Pranke chromium win compile broken after removing webkit.py https://bugs.webkit.org/show_bug.cgi?id=92549 Reviewed by Ryosuke Niwa. Remove the stub file for webkit.py now that it's no longer necessary. * Scripts/webkitpy/layout_tests/port/webkit.py: Removed. 2012-07-30 Ryosuke Niwa Windows build fix attempt after r124092. * MiniBrowser/win/BrowserView.cpp: (BrowserView::create): 2012-07-30 Ryosuke Niwa Remove erroneously committed debugging print call from a test. * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (test_run_generates_results_page): 2012-07-30 Arnaud Renevier webkit-patch: system keyring is not used to read my password https://bugs.webkit.org/show_bug.cgi?id=92532 Reviewed by Dirk Pranke. In case no username can be fetched from environment, git or keychain, prompt for username, and try to get password from keyring associated with that username. * Scripts/webkitpy/common/net/credentials.py: (Credentials.read_credentials): * Scripts/webkitpy/common/net/credentials_unittest.py: (test_keyring_without_git_repo_nor_keychain): (test_keyring_without_git_repo_nor_keychain.MockKeyring): (test_keyring_without_git_repo_nor_keychain.MockKeyring.get_password): (test_keyring_without_git_repo_nor_keychain.FakeCredentials): (test_keyring_without_git_repo_nor_keychain.FakeCredentials._credentials_from_keychain): (test_keyring_without_git_repo_nor_keychain.FakeCredentials._credentials_from_environment): (test_keyring_without_git_repo_nor_keychain.FakeUser): (test_keyring_without_git_repo_nor_keychain.FakeUser.prompt): (test_keyring_without_git_repo_nor_keychain.FakeUser.prompt_password): 2012-07-30 Dirk Pranke nrwt: move the code that identifies the chunk of tests to run into finder https://bugs.webkit.org/show_bug.cgi?id=92694 Reviewed by Ryosuke Niwa. Another patch to make manager.py smaller and clearer; this patch moves the handling of breaking the list of tests into chunks (--run-part, --run-chunk) from manager.py to finder.py. There are no functional changes and this is covered by existing tests. * Scripts/webkitpy/layout_tests/controllers/finder.py: (Finder.__init__): (Finder._read_test_files): (Finder): (Finder.split_into_chunks_if_necessary): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.__init__): (Manager._collect_tests): (Manager._parse_expectations): (Manager.prepare_lists_and_print_output): 2012-07-30 Dirk Pranke nrwt: split test-finding code out from manager.py https://bugs.webkit.org/show_bug.cgi?id=92693 Reviewed by Ryosuke Niwa. In the interest of making manager.py smaller, this patch moves the code that actually takes the command line arguments and --test-file lists of tests to run and expands them into an actual list of tests out into a separate module. * Scripts/webkitpy/layout_tests/controllers/finder.py: Added. (LayoutTestFinder): (LayoutTestFinder.__init__): (LayoutTestFinder.find_tests): (LayoutTestFinder._strip_test_dir_prefixes): (LayoutTestFinder._strip_test_dir_prefix): (LayoutTestFinder._read_test_names_from_file): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._collect_tests): (Manager._handle_finished_test): * Scripts/webkitpy/layout_tests/models/test_expectations.py: (strip_comments): 2012-07-30 Adam Barth commit-queue is corrupting ChangeLogs https://bugs.webkit.org/show_bug.cgi?id=92681 Reviewed by Tony Chang. Some commits made with the commit-queue are ending up with duplicate ChangeLog entries. I've hot-patched the servers to not use a special merge driver for ChangeLogs, which should fix this issue. This patch removes the merge driver from our cold-boot.sh script so that we won't use it on new commit-queue instances. * EWSTools/cold-boot.sh: 2012-07-28 Sam Weinig Add ability to load from a string to the ObjC WK API https://bugs.webkit.org/show_bug.cgi?id=92590 Reviewed by Dan Bernstein. Add tests for [WKBrowsingContextController loadHTMLString:baseURL:]. We will be able to greatly improve these tests (to test more than just not crashing) when methods to access page content are added (soon!). Adds: Test: WKBrowsingContextLoadDelegateTest_SimpleLoadOfHTMLString Test: WKBrowsingContextLoadDelegateTest_SimpleLoadOfHTMLString_NilBaseURL Test: WKBrowsingContextLoadDelegateTest_SimpleLoadOfHTMLString_NilHTMLStringAndBaseURL * TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm: Adds tests and refactors delegates to not use global state. 2012-07-30 Thiago Marcos P. Santos [CMake] TestWebKitAPI bundle should link with WTF https://bugs.webkit.org/show_bug.cgi?id=92616 Reviewed by Antonio Gomes. Fixes build when shared core is disabled. * TestWebKitAPI/CMakeLists.txt: 2012-07-30 Dirk Pranke nrwt: clean up handling of 'expected' stats https://bugs.webkit.org/show_bug.cgi?id=92527 Reviewed by Tony Chang. This patch alters the way we compute and log the "expected" results and how we treat skipped tests; we will now log the number of skipped tests separately from the categories, e.g.: Found 31607 tests; running 24464. Expect: 23496 passes (23496 now, 0 wontfix) Expect: 548 failures ( 543 now, 5 wontfix) Expect: 420 flaky ( 245 now, 175 wontfix) (so that the "expect" totals add up to the "running" totals); in addition, the totals in the one-line-progress reflect the number of tests we will actually run. If --iterations or --repeat-each are specified, the number of tests we run are multiplied as appropriate, but the "expect" numbers are unchanged, since we don't count multiple invocations of the same test multiple times. In addition, if we are using --run-part or --run-chunk, the tests we don't run are treated as skipped for consistency. We will also log the values for --iterations and --repeat each as part of the found/running line. Previously the code had parsed and re-parsed the TestExpectations files several times in an attempt to come up with some sane statistics, but this was expensive and lead to confusing layer; treating files as skipped in the way described above is more consistent and cleaner. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._split_into_chunks_if_necessary): (Manager.prepare_lists_and_print_output): (Manager.run): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_interrupt_if_at_failure_limits): (ManagerTest.test_update_summary_with_result): (ManagerTest.test_look_for_new_crash_logs): (ResultSummaryTest.get_result_summary): * Scripts/webkitpy/layout_tests/models/result_summary.py: (ResultSummary.__init__): * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectationParser.expectation_for_skipped_test): (TestExpectations.__init__): (TestExpectations.add_skipped_tests): Here we make add_skipped_tests() public, so that we can update the expectations for tests that we are skipping due to --run-part or --run-chunk; we use the wontfix flag so that the tests that are intentionally skipped aren't considered "fixable". * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (SkippedTests.check): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_found): (Printer): (Printer.print_expected): (Printer._print_result_summary): (Printer._print_result_summary_entry): Here we split out printing the number of tests found and run from the expected results, to be clearer and so that we don't have to reparse the expectations to update the stats. * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.get_result_summary): 2012-07-30 Sadrul Habib Chowdhury Propagate gesture events to plugins. https://bugs.webkit.org/show_bug.cgi?id=92281 Reviewed by Adam Barth. Update TestWebPlugin to receive events, and output logs for the events. * DumpRenderTree/chromium/TestWebPlugin.cpp: (TestWebPlugin::handleInputEvent): * DumpRenderTree/chromium/TestWebPlugin.h: (TestWebPlugin::acceptsInputEvents): (TestWebPlugin): 2012-07-30 Raphael Kubo da Costa [jhbuild] gnutls 2.12.14 does not build with glibc 2.16.0 https://bugs.webkit.org/show_bug.cgi?id=90643 Reviewed by Gustavo Noronha Silva. The 2.x series of gnutls has a version of Gnulib that is incompatible with glibc 2.16.0, which now does not define gets() by default. After talking to kov, mrobinson and philn, it looks like it makes sense to simply remove gnutls from jhbuild.modules and rely on the version installed on the system being recent enough. This means at least version 2.12.8 for PKCS11 support, or at the very least 2.11.0 (these are the minimum versions enforced by glib-networking's configure.ac). * efl/jhbuild.modules: Do not build gnutls anymore, make glib-networking depend on glib instead, and move the libgcrypt dependency to eet, which is what currently needs it. * gtk/jhbuild.modules: Do not build gnutls anymore. 2012-07-30 Dirk Pranke nrwt: --verbose logging does not work right on windows https://bugs.webkit.org/show_bug.cgi?id=92673 Unreviewed, build fix. The --verbose log level is not being propagated to the worker processes on windows properly; this has been broken ever since I refactored logging into the message pool directly :(. Also, fixing this revealed that outputcapture wasn't saving and restoring log levels correctly, so I had to fix that as well. * Scripts/webkitpy/common/message_pool.py: (_MessagePool._start_workers): (_MessagePool._worker_log_level): (_Worker.__init__): (_Worker._set_up_logging): (_WorkerLogHandler.__init__): * Scripts/webkitpy/common/system/outputcapture.py: (OutputCapture.capture_output): (OutputCapture.restore_output): 2012-07-30 Dirk Pranke After r123895, new-run-webkit-tests can fail with TypeError when a test crashes https://bugs.webkit.org/show_bug.cgi?id=92664 Reviewed by Michael Saboff. Updated to handle crash_logs being returned as a tuple of (stderr, crash_log). * Scripts/webkitpy/layout_tests/port/mac.py: (MacPort.look_for_new_crash_logs): 2012-07-30 Stephen White Added a SkiaGraphics definition to the watchlist file; cc'ed myself to that group. Unreviewed. * Scripts/webkitpy/common/config/watchlist: 2012-07-30 Sheriff Bot Unreviewed, rolling out r123966 and r123967. http://trac.webkit.org/changeset/123966 http://trac.webkit.org/changeset/123967 https://bugs.webkit.org/show_bug.cgi?id=92656 This patch is causing assertion failures on the debug bot (also rolling out a dependent patch) (Requested by mrobinson on #webkit). * gtk/generate-gtkdoc: (get_webkit2_options): 2012-07-30 Martin Robinson [GTK] Add a non-subprocess jhbuild environment and use it for run-gtk-tests https://bugs.webkit.org/show_bug.cgi?id=92626 Reviewed by Gustavo Noronha Silva. Instead of always shelling out to enter a jhbuild environment, add a Python hook for entering a jhbuild environment directly. This avoids requiring a script to be wrapped in jhbuild. * GNUmakefile.am: Remove gtk/run-api-tests from the distribution list. * Scripts/run-gtk-tests: Move most of the logic from run-api-tests here with additional code for entering a jhbuild environment directly. * gtk/run-api-tests: Removed. * jhbuild/jhbuild-wrapper: Use the new helper methods defined in jhbuildutils.py. * jhbuild/jhbuildutils.py: Add some new helper methods here including a method which can transform the current environment into a jhbuild-ified one. 2012-07-30 Alexander Pavlov Unreviewed, upgrade apavlov to reviewer. http://lists.webkit.org/mailman/private/webkit-committers/2012-July/000184.html * Scripts/webkitpy/common/config/committers.py: 2012-07-30 Robin Cao [BlackBerry] Adapt to changes in the SharedArray platform API https://bugs.webkit.org/show_bug.cgi?id=92631 Reviewed by Rob Buis. Adapt to changes in the SharedArray platform API. No behavioural change. * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp: (LayoutTestController::webHistoryItemCount): 2012-07-30 Balazs Kelemen [Qt][NRWT] REGRESSION(123729): Forcing pixel tests with -p doesn't work https://bugs.webkit.org/show_bug.cgi?id=92627 Reviewed by Noam Rosenthal. Remove the default behavior I added in r123729 so that we run all tests as pixel test with -p. It was intentional but it seems like we don't have consensus on that we want it. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._supports_switching_pixel_tests_per_test): 2012-07-30 Mikhail Pozdnyakov [EFL][WTR] Enforce SHIFT modifier to upper case keys in event sender. https://bugs.webkit.org/show_bug.cgi?id=92366 Reviewed by Antonio Gomes. Add SHIFT modifier for capital letters as VK_ codes do not distinguish between lows and caps and also to be consistent with other ports which send caps as lowercase letters with the shift key down. * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: (WTR::EventSenderProxy::keyDown): 2012-07-29 Raphael Kubo da Costa [EFL][jhbuild] Make run-with-jhbuild become the jhbuild process itself. https://bugs.webkit.org/show_bug.cgi?id=92592 Reviewed by Eric Seidel. Adapt to the changes made to GTK+'s run-with-jhbuild in r123979 and make EFL's run-with-jhbuild call os.execve() instead of launching a subprocess as well. This should make it possible to interrupt execution of jhbuild cleanly. * efl/run-with-jhbuild: 2012-07-28 Ryosuke Niwa run-perf-tests should generate a results page https://bugs.webkit.org/show_bug.cgi?id=92575 Reviewed by Eric Seidel. Added the ability to generate a results page that summarizes performance test results from multiple runs of run-perf-tests when --output-json-path is specified and --test-results-server is not specified. We cannot generate a results page when --test-results-server is specified because perf-o-matic cannot parse the new JSON format. The new JSON format is simply an array of the old JSON output. This JSON is then merged into results-template.html along with jQuery and copied as a HTML file of the same filename as the output JSON file with a .html extension. We merge all scripts and the JSON output into the results page as opposed to including them with the src content attribute to make it standalone so that we may post it on Bugzilla or e-mail it to someone else without breaking it. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner.run): (PerfTestsRunner._generate_json): Merge "contents" with the existing JSON file when generating a results page, and generate the results page from results-template.html merged with jQuery and the generated JSON output. * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: (_test_run_with_json_output): Extracted from test_run_with_upload_json to be shared with several test cases. (_test_run_with_json_output.mock_upload_json): Ditto. (test_run_with_json_output): Refactored to use _test_run_with_json_output. (test_run_generates_results_page): Added. Tests the new feature. (test_run_with_json_source): Refactored to use _test_run_with_json_output. (test_run_with_multiple_repositories): Ditto. (test_run_with_upload_json): Ditto. 2012-07-29 Rik Cabanier Add ENABLE_CSS_COMPOSITING flag https://bugs.webkit.org/show_bug.cgi?id=92553 Reviewed by Dirk Schulze. Adds compiler flag CSS_COMPOSITING to build systems to enable CSS blending and compositing. See spec https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html * Scripts/webkitperl/FeatureList.pm: 2012-07-29 Gustavo Noronha Silva Reviewed by Martin Robinson. Make the jhbuild wrapper scripts become the jhbuild process instead of starting it as a child. This should make it possible to interrupt execution of jhbuild cleanly. * gtk/run-with-jhbuild: * jhbuild/jhbuild-wrapper: 2012-07-29 Mike West Extend `application/x-webkit-test-netscape` plugins to better support multiple frames. https://bugs.webkit.org/show_bug.cgi?id=92478 Reviewed by Adam Barth. DumpRenderTree currently understands ``. It would be useful if it understood `logifloaded`, which could give more context regarding test expectations, and can be written in such as way as to support plugins loaded into multiple iframes in a single test. * DumpRenderTree/TestNetscapePlugIn/main.cpp: (NPP_New): Adding support for `logifloaded`. 2012-07-28 Peter Kasting Fix Chromium/Win compile. https://bugs.webkit.org/show_bug.cgi?id=88787 Unreviewed, build fix. Chromium/Win needs _USE_MATH_DEFINES but doesn't define PLATFORM(WIN). The other files in WebKit that define this macro (both in WebCore/platform/graphics/cg) do it by unconditionally #defining it to 1 above the #include of "config.h", so copy that pattern here. * TestWebKitAPI/Tests/WTF/MediaTime.cpp: 2012-07-28 Mario Sanchez Prada [WK2][GTK] Implement a new spell checker API for WebKit2GTK+ https://bugs.webkit.org/show_bug.cgi?id=90268 Reviewed by Martin Robinson. Ignore WebKitTextChecker.* private files for gtk-doc. * gtk/generate-gtkdoc: (get_webkit2_options): 2012-07-28 Philippe Normand [GTK] Transparent Media controls timeline and panel https://bugs.webkit.org/show_bug.cgi?id=85279 Reviewed by Martin Robinson. * gtk/jhbuild.modules: Provide gnome-themes-standard build support, this is necessary so the media controls panel colors are properly initialized from the GTK+ theme. 2012-07-27 Kihong Kwon [EFL] Support for HTML media capture https://bugs.webkit.org/show_bug.cgi?id=91842 Reviewed by Ryosuke Niwa. Add HTML media capture feature to the feature list. In addition, enable that on the Efl port. * Scripts/webkitperl/FeatureList.pm: 2012-07-27 Dirk Pranke "webkit-patch rebaseline " fails with exit_code 1 https://bugs.webkit.org/show_bug.cgi?id=91560 Reviewed by Adam Barth. webkit-patch rebaseline-json crashes in an svn checkout if it tries to add files and there are no files to add; arguably svn.add() should be robust against this, but rebaseline-json shouldn't be calling it, either. This patch fixes the latter and adds better debugging info to garden-o-matic so we can see what caused the crash. * Scripts/webkitpy/tool/commands/rebaseline.py: (AbstractParallelRebaselineCommand._rebaseline): * Scripts/webkitpy/tool/servers/gardeningserver.py: (GardeningHTTPRequestHandler.rebaselineall): (GardeningHTTPRequestHandler.rebaselineall.error_handler): (GardeningHTTPRequestHandler): 2012-07-27 Brady Eidson Plugins should not be allowed to override standard properties/attributes in non-standard worlds and https://bugs.webkit.org/show_bug.cgi?id=92519 Reviewed by Anders Carlsson. Add a test plugin which overrides all properties it is asked about: * DumpRenderTree/TestNetscapePlugIn/Tests/PluginScriptableObjectOverridesAllProperties.cpp: Added. (PluginScriptableObjectOverridesAllProperties): (PluginScriptableObjectOverridesAllProperties::PluginScriptableObjectOverridesAllProperties): (PluginObject): (PluginScriptableObjectOverridesAllProperties::PluginObject::PluginObject): (PluginScriptableObjectOverridesAllProperties::PluginObject::~PluginObject): (PluginScriptableObjectOverridesAllProperties::PluginObject::hasProperty): (PluginScriptableObjectOverridesAllProperties::PluginObject::getProperty): (PluginScriptableObjectOverridesAllProperties::NPP_GetValue): Expose NPN_MemAlloc to the test plugin: * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: (PluginTest::NPN_MemAlloc): * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: (PluginTest): * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: 2012-07-27 Rafael Brandao "webkit-patch upload" should strip colors from patch if necessary https://bugs.webkit.org/show_bug.cgi?id=92306 Reviewed by Adam Barth. * Scripts/webkitpy/common/checkout/scm/git.py: Explicity remove colors from diff. 2012-07-27 Eric Seidel clean-pending-commit throws exception when encountering Ossy https://bugs.webkit.org/show_bug.cgi?id=92534 Reviewed by Adam Barth. Mark a couple strings as unicode so that reviewers with unicode names do not cause clean-pending-commit to barf. * Scripts/webkitpy/tool/commands/upload.py: (CleanPendingCommit._flags_to_clear_on_patch): (CleanPendingCommit.execute): (AssignToCommitter._assign_bug_to_last_patch_attacher): 2012-07-27 Dirk Pranke chromium win compile broken after removing webkit.py https://bugs.webkit.org/show_bug.cgi?id=92549 Unreviewed, build fix. It turns out that this file is listed in the chromium downstream 'browser_tests.isolate' file, and so deleting it broke gyp. Adding a stub file back in until we can remove the entry from the file. * Scripts/webkitpy/layout_tests/port/webkit.py: Added. 2012-07-27 Dirk Pranke nrwt: remove 'webkit.py' and the 'WebKitPort' https://bugs.webkit.org/show_bug.cgi?id=92450 Reviewed by Ryosuke Niwa. This patch finishes the work of merging WebKitPort into Port. Now Port is way too big :). This is all cutting and pasting; no new functionality and no changes in the tests. * Scripts/webkitpy/layout_tests/port/apple.py: (ApplePort): (ApplePort.__init__): * Scripts/webkitpy/layout_tests/port/base.py: (Port.skipped_layout_tests): (Port): (Port._port_flag_for_scripts): (Port._arguments_for_configuration): (Port._run_script): (Port._build_driver): (Port._build_driver_flags): (Port._tests_for_other_platforms): (Port._runtime_feature_list): (Port.nm_command): (Port._modules_to_search_for_symbols): (Port._symbols_string): (Port._missing_feature_to_skipped_tests): (Port._missing_symbol_to_skipped_tests): (Port._has_test_in_directories): (Port._skipped_tests_for_unsupported_features): (Port._wk2_port_name): (Port._skipped_file_search_paths): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort): * Scripts/webkitpy/layout_tests/port/chromium_android.py: * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py: (ChromiumPortTestCase.test_check_build): * Scripts/webkitpy/layout_tests/port/driver_unittest.py: * Scripts/webkitpy/layout_tests/port/efl.py: (EflPort): (EflPort.__init__): * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkPort): (GtkPort.setup_environ_for_server): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (TestWebKitPort): (TestWebKitPort.__init__): (TestWebKitPort.all_test_configurations): (TestWebKitPort._symbols_string): (TestWebKitPort._tests_for_other_platforms): (TestWebKitPort._tests_for_disabled_features): (PortTestCase): (PortTestCase.test_diff_image): (PortTestCase.test_path_to_test_expectations_file): (PortTestCase.test_skipped_directories_for_symbols): (test_skipped_directories_for_features): (test_skipped_directories_for_features_no_matching_tests_in_test_list): (test_skipped_tests_for_unsupported_features_empty_test_list): (test_skipped_layout_tests): (test_skipped_file_search_paths): (test_root_option): (test_test_expectations): (test_build_driver): (_assert_config_file_for_platform): (test_linux_distro_detection): (test_apache_config_file_name_for_platform): (test_path_to_apache_config_file): * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort): (QtPort.__init__): (QtPort.setup_environ_for_server): * Scripts/webkitpy/layout_tests/port/webkit.py: Removed. * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Removed. * Scripts/webkitpy/tool/servers/rebaselineserver.py: (get_test_baselines.AllPlatformsPort): (get_test_baselines.AllPlatformsPort.__init__): * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py: (get_test_config.TestMacPort): 2012-07-27 Christophe Dumez [WK2][WTR] LayoutTestController.deliverWebIntent() needs to be implemented https://bugs.webkit.org/show_bug.cgi?id=92228 Reviewed by Anders Carlsson. Implement LayoutTestController.deliverWebIntent() to allow test cases to deliver a Web intent and test this functionality. This functionality is needed by: - webintents/web-intents-delivery.html * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::deliverWebIntent): (WTR): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (LayoutTestController): 2012-07-27 Jer Noble Unreviewed build fix. Wrap MSVC-specific fixes is a COMPILER() check, not a PLATFORM() check. * TestWebKitAPI/Tests/WTF/MediaTime.cpp: 2012-07-27 Xianzhu Wang [Chromium-Android] NRWT better handling of DRT deadlocks and crashes https://bugs.webkit.org/show_bug.cgi?id=92299 Reviewed by Dirk Pranke. 1. Changed the deadlock detector thread target from a method of driver to a function to avoid its reference to the current driver (see the bug for the problem of the reference. 2. Let the deadlock detector thread exit early when the normal_startup_event is set to avoid it from blocking the main thread when the main thread is exiting. 3. Extracted common loop until timeout logic into ChromiumAndroidDriver._loop_with_timeout(). 4. Use the "for i in range(n)" style suggested by dpranke in https://bugs.webkit.org/show_bug.cgi?id=89124 in several functions. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.__init__): (ChromiumAndroidPort._run_adb_command): Reduced the verbose output. (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver._loop_with_timeout): Extracted common loop until timeout logic here. (ChromiumAndroidDriver._all_pipes_created): (ChromiumAndroidDriver._remove_all_pipes): (ChromiumAndroidDriver._start): Changed the retry loop style. (ChromiumAndroidDriver._start_once): Changed the loop style and code related to deadlock detector. (ChromiumAndroidDriver._start_once.deadlock_detector): Moved the original ChromiumAndroidDriver._deadlock_detector() here. (ChromiumAndroidDriver.stop): Changed the loop style. 2012-07-27 Dirk Pranke nrwt: move collect_tests(), parse_expectations() into manager https://bugs.webkit.org/show_bug.cgi?id=92423 Reviewed by Ojan Vafai. This is the first in a series of patches refactoring run_webkit_tests.py and manager.py to make them more maintainable; all this patch does is move a couple of functions into manager.run_tests() so manager's public interface is simple. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._collect_tests): (Manager._parse_expectations): (Manager._split_into_chunks_if_necessary): (Manager.run): (read_test_files): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_http_locking): (ManagerTest.test_perf_locking): (ManagerTest.integration_test_needs_servers.get_manager_with_tests): (ManagerTest.test_look_for_new_crash_logs.get_manager_with_tests): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): 2012-07-27 Dirk Pranke nrwt: print filtered stderr after a crash correctly https://bugs.webkit.org/show_bug.cgi?id=92428 Reviewed by Adam Barth. Some ports will run the stderr output from DRT/WTR through a filter after a crash in order to print a more useful stack trace; while that gets written to the crash log correctly, we don't log it to the debug output properly. This change fixes that and makes it clearer that we're logging stderr, not the crash log. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._handle_error): * Scripts/webkitpy/layout_tests/port/base.py: (Port._get_crash_log): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort._get_crash_log): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidPortTest.test_get_crash_log): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.run_test): * Scripts/webkitpy/layout_tests/port/gtk.py: * Scripts/webkitpy/layout_tests/port/gtk_unittest.py: * Scripts/webkitpy/layout_tests/port/mac.py: (MacPort._get_crash_log): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase.test_get_crash_log): 2012-07-27 Dirk Pranke nrwt: move image diffing code to a separate module https://bugs.webkit.org/show_bug.cgi?id=92447 Reviewed by Ryosuke Niwa. This patch moves the code to talk to ImageDiff into its own module, and adds more tests for it. In addition, the patch modifies diff_image() so that we don't automatically stop ImageDiff after a single invocation, and thus subsequent diffs may be slightly faster. (Note that the chromium ports don't use any of this code; that is not changed by this patch). The main motivation for this change is to move more "generic" code out of the port/* classes, and in particular to move more code out of webkit.py so that we can eventually eliminate it by merging it into base.py. This patch also splits MockServerProcess out from driver_unittest.py so that it can be re-used. * Scripts/webkitpy/layout_tests/port/base.py: (Port.__init__): (Port.diff_image): (Port.clean_up_test_run): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.__init__): (Driver._start): * Scripts/webkitpy/layout_tests/port/driver_unittest.py: (DriverTest.test_stop_cleans_up_properly): (DriverTest.test_two_starts_cleans_up_properly): (DriverTest.test_start_actually_starts): * Scripts/webkitpy/layout_tests/port/efl.py: (EflPort.clean_up_test_run): * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkPort.clean_up_test_run): * Scripts/webkitpy/layout_tests/port/image_diff.py: Added. (ImageDiffer): (ImageDiffer.__init__): (ImageDiffer.diff_image): (ImageDiffer._start): (ImageDiffer._read): (ImageDiffer.stop): * Scripts/webkitpy/layout_tests/port/image_diff_unittest.py: Added. (for): (FakePort): (FakePort.__init__): (FakePort._path_to_image_diff): (FakePort.setup_environ_for_server): (TestImageDiffer): (TestImageDiffer.test_diff_image): * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: (MockDRTPortTest.test_diff_image): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase.test_diff_image__missing_both): (PortTestCase.test_diff_image): (PortTestCase.test_diff_image.make_proc): * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess._start): * Scripts/webkitpy/layout_tests/port/server_process_mock.py: Added. (MockServerProcess): (MockServerProcess.__init__): (MockServerProcess.write): (MockServerProcess.has_crashed): (MockServerProcess.read_stdout_line): (MockServerProcess.read_stdout): (MockServerProcess.pop_all_buffered_stderr): (MockServerProcess.read_either_stdout_or_stderr_line): (MockServerProcess.start): (MockServerProcess.stop): (MockServerProcess.kill): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort._build_driver_flags): (WebKitPort._symbols_string): 2012-07-27 Tom Hudson Activate committer bit granted April 6th so I can garden. https://bugs.webkit.org/show_bug.cgi?id=92500 Reviewed by Jochen Eisinger. * Scripts/webkitpy/common/config/committers.py: 2012-07-27 Jer Noble Support a rational time class for use by media elements. https://bugs.webkit.org/show_bug.cgi?id=88787 Add unit tests for the WTF::MediaTime class. Reviewed by Eric Carlson. * TestWebKitAPI/GNUmakefile.am: * TestWebKitAPI/TestWebKitAPI.gypi: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/MediaTime.cpp: Added. * TestWebKitAPI/win/TestWebKitAPI.vcproj: (WTF::operator<<): (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-07-27 Balazs Kelemen [NRWT] should have a way to restrict pixel tests for individual directories https://bugs.webkit.org/show_bug.cgi?id=91754 Unreviewed attempt to fix the chaos I introduced. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::processLine): 2012-07-27 YoungTaeck Song [WK2][EFL] Add an ACCELERATED_COMPOSITING implementation for Efl WebKit2 https://bugs.webkit.org/show_bug.cgi?id=91581 Reviewed by Noam Rosenthal. Add a MiniBrowser's option for selecting evas engine. * MiniBrowser/efl/main.c: (browserCreate): (main): 2012-07-27 Sheriff Bot Unreviewed, rolling out r123869. http://trac.webkit.org/changeset/123869 https://bugs.webkit.org/show_bug.cgi?id=92501 "it did not fix anything but made things even worst" (Requested by kbalazs on #webkit). * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::DumpRenderTree): (WebCore::DumpRenderTree::open): (WebCore::DumpRenderTree::processLine): (WebCore::DumpRenderTree::setDumpPixelsForAllTests): (WebCore::DumpRenderTree::dump): * DumpRenderTree/qt/DumpRenderTreeQt.h: (DumpRenderTree): * DumpRenderTree/qt/main.cpp: (main): * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._should_fetch_expected_checksum): (SingleTestRunner._overwrite_baselines): (SingleTestRunner._compare_output): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker._update_test_input): * Scripts/webkitpy/layout_tests/port/base.py: (Port.supports_switching_pixel_tests_per_test): (Port): (Port._supports_switching_pixel_tests_per_test): (Port.should_run_as_pixel_test): (Port._should_run_as_pixel_test): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.cmd_line): (Driver._command_from_driver_input): * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.check_sys_deps): (QtPort): (QtPort._supports_switching_pixel_tests_per_test): (QtPort._should_run_as_pixel_test): (QtPort._default_pixel_test_directories): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.supports_switching_pixel_tests_per_test): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): (parse_args): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_run_singly_actually_runs_tests): (MainTest.test_pixel_test_directories): * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::initialize): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: (TestController): 2012-07-27 Balazs Kelemen [NRWT] should have a way to restrict pixel tests for individual directories https://bugs.webkit.org/show_bug.cgi?id=91754 Reviewed by Zoltan Herczeg. Rollout r123729 because it made Qt debug bots crasy. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::DumpRenderTree): (WebCore::DumpRenderTree::open): (WebCore::DumpRenderTree::processLine): (WebCore::DumpRenderTree::setDumpPixels): (WebCore::DumpRenderTree::dump): * DumpRenderTree/qt/DumpRenderTreeQt.h: (DumpRenderTree): * DumpRenderTree/qt/main.cpp: (main): * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._should_fetch_expected_checksum): (SingleTestRunner._overwrite_baselines): (SingleTestRunner._compare_output): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker._update_test_input): * Scripts/webkitpy/layout_tests/port/base.py: (Port.lookup_virtual_test_args): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.cmd_line): (Driver._command_from_driver_input): * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.check_sys_deps): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.virtual_test_suites): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): (parse_args): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_run_singly_actually_runs_tests): (MainTest.test_missing_and_unexpected_results): * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::initialize): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: (TestController): 2012-07-27 Adam Barth webkit.review.bot should run clean-review-queue and clean-pending-commit periodically https://bugs.webkit.org/show_bug.cgi?id=92472 Reviewed by Eric Seidel. We need to run these command periodically to keep cruft from accumulating in bugs.webkit.org. Rather than running them manually, we should just have a bot run them. This patch has the style-queue run the commands, which admittedly is a bit odd but it doesn't seem worthwhile to create another bot specifically for this purposes. * Scripts/webkitpy/tool/commands/queues.py: (AbstractReviewQueue): (StyleQueue.begin_work_queue): (StyleQueue): (StyleQueue.clean_bugzilla): * Scripts/webkitpy/tool/commands/queues_unittest.py: (StyleQueueTest.test_style_queue_with_style_exception): (test_style_queue_with_watch_list_exception): 2012-07-27 Dominik Röttsches [Cairo] Add complex font drawing using HarfbuzzNG https://bugs.webkit.org/show_bug.cgi?id=91864 Reviewed by Simon Hausmann and Martin Robinson. Bringing Harfbuzz support to EFL with this patch, so we need HarfBuzz in the pulled in jhbuild dependencies. * WebKitTestRunner/CMakeLists.txt: Adding additional header include directories. * efl/jhbuild.modules: Adding source for HarfBuzz release version 0.9.0. 2012-07-27 KwangYong Choi [WK2][EFL][WTR] TestNetscapePlugin is required. https://bugs.webkit.org/show_bug.cgi?id=88756 Reviewed by Simon Hausmann. libTestNetscapePlugin.so should be required for DRT/WTR/EFL. * CMakeLists.txt: * DumpRenderTree/TestNetscapePlugin/CMakeList.txt: 2012-07-27 Sudarsana Nagineni [EFL] Memory leaks in EFL DRT https://bugs.webkit.org/show_bug.cgi?id=92347 Reviewed by Simon Hausmann. Fix a memory leak in EFL's DRT code by adopting an allocation of JSString created with JSStringCreateWithUTF8CString. * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::onWindowObjectCleared): 2012-07-27 Adam Barth Simplify ExpectedFailures https://bugs.webkit.org/show_bug.cgi?id=92216 Reviewed by Eric Seidel. This patch simplifies the ExpectedFailures class we use to remember which tests are currently failing on the bots. When we wrote this code originally, we weren't entirely sure how it would work. Now that we understand it more clearly, we can write the code more clearly. * Scripts/webkitpy/tool/bot/expectedfailures.py: (_has_failures): (_is_trustworthy): (ExpectedFailures.__init__): (ExpectedFailures.failures_were_expected): (ExpectedFailures.unexpected_failures_observed): (ExpectedFailures.update): * Scripts/webkitpy/tool/bot/expectedfailures_unittest.py: (ExpectedFailuresTest._assert_can_trust): (ExpectedFailuresTest.test_failures_were_expected): (ExpectedFailuresTest.test_unexpected_failures_observed): (ExpectedFailuresTest.test_unexpected_failures_observed_when_tree_is_hosed): * Scripts/webkitpy/tool/bot/patchanalysistask.py: (PatchAnalysisTask._test): (PatchAnalysisTask._build_and_test_without_patch): (PatchAnalysisTask._test_patch): 2012-07-27 Csaba Osztrogonác [Qt][WK2] REGRESSION(r119127): resetting window.internals settings between tests doesn't work properly https://bugs.webkit.org/show_bug.cgi?id=88064 Reviewed by Zoltan Herczeg. Use resetInternalsObject() instead of injectInternalsObject(). * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::resetAfterTest): 2012-07-26 Ryuan Choi [EFL] Remove forwarding headers from MiniBrowser/Efl. https://bugs.webkit.org/show_bug.cgi?id=91627 Reviewed by Kentaro Hara. * MiniBrowser/efl/CMakeLists.txt: Remove unnecessary forwarding headers. 2012-07-26 Yoshifumi Inoue [Forms] Introduce runtime feature flags for input type datetime, datetimelocal, month, time, week https://bugs.webkit.org/show_bug.cgi?id=92339 Reviewed by Kent Tamura. This patch enables runtime features for input type datetime, datetime-local, month, time and week for Chromium DRT. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): Call enableInputType{DateTime,DateTimeLocal,Month,Time,Week}. 2012-07-26 Jeffrey Pfau Reloading substitute-data/alternate html string for unreachableURL will add an item to the back-forward-history for each reload https://bugs.webkit.org/show_bug.cgi?id=84041 Reviewed by Brady Eidson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/BackForwardList.mm: Added. (-[BackForwardListTest webView:didFinishLoadForFrame:]): (-[BackForwardListTest webView:didFailProvisionalLoadWithError:forFrame:]): (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-07-26 Sheriff Bot Unreviewed, rolling out r123799. http://trac.webkit.org/changeset/123799 https://bugs.webkit.org/show_bug.cgi?id=92431 broke the Apple Mac build (Requested by bweinstein on #webkit). * DumpRenderTree/chromium/TestWebPlugin.cpp: * DumpRenderTree/chromium/TestWebPlugin.h: (TestWebPlugin::acceptsInputEvents): (TestWebPlugin::handleInputEvent): 2012-07-26 Dirk Pranke nrwt: pass --verbose twice on the bots to ensure getting the debug output for now https://bugs.webkit.org/show_bug.cgi?id=92172 Reviewed by Tony Chang. Right now new-run-webkit-tests --verbose prints out too much information (it's like --verbose + debugging). I plan to fix this in bug 88702, and also clean up and simplify all of the --print options, but in preparation for these changes I need to pass --verbose twice to get the same level of output temporarily (for compatibility). * Scripts/run-webkit-tests: 2012-07-26 Sadrul Habib Chowdhury Propagate gesture events to plugins. https://bugs.webkit.org/show_bug.cgi?id=92281 Reviewed by Adam Barth. Update TestWebPlugin to receive events, and output logs for the events. * DumpRenderTree/chromium/TestWebPlugin.cpp: (TestWebPlugin::handleInputEvent): * DumpRenderTree/chromium/TestWebPlugin.h: (TestWebPlugin::acceptsInputEvents): (TestWebPlugin): 2012-07-26 Balazs Kelemen [nrwt] get rid of --skip-pixel-test-if-no-baseline https://bugs.webkit.org/show_bug.cgi?id=92377 Reviewed by Adam Barth. Remove the option and all code paths that handled it. * Scripts/webkitpy/layout_tests/port/base.py: (Port.should_run_as_pixel_test): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): (parse_args): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_repeat_each): 2012-07-26 Olivier Blin Add FastMalloc statistics in window.internals https://bugs.webkit.org/show_bug.cgi?id=91274 Reviewed by Ryosuke Niwa. * GNUmakefile.am: 2012-07-26 Olivier Blin Add FastMalloc statistics in window.internals https://bugs.webkit.org/show_bug.cgi?id=91274 Reviewed by Ryosuke Niwa. * GNUmakefile.am: 2012-07-20 Holger Hans Peter Freyther buildbot: Remove the configuration of hfreyther* https://bugs.webkit.org/show_bug.cgi?id=91849 Reviewed by Adam Roben. The machine running these configs was decommissioned and there is no replacement at this point. Remove them from the configuration. * BuildSlaveSupport/build.webkit.org-config/config.json: Remove hfreyther* from the config. The Qt Linux SH4 and Qt Linux MIPS schedulers are orphaned, remove them too. 2012-07-26 Balazs Kelemen Unreviewed speculative Mac buildfix after r123729 - 2nd attempt. * WebKitTestRunner/TestController.cpp: (WTR::TestController::runTest): 2012-07-26 Balazs Kelemen Unreviewed speculative buildfix after r123729. * WebKitTestRunner/TestController.cpp: (WTR::TestController::runTest): Fix sign errors. 2012-07-26 Zoltan Nyul [EFL] EFL port should use XDG paths https://bugs.webkit.org/show_bug.cgi?id=91719 Reviewed by Kenneth Rohde Christiansen. The appcache/localstorage/webdatabase path should be set in the ewk_main.cpp instead of the DumpRenderTree, and the XDG_DATA_HOME and XDG_CACHE_HOME should be set to different directory for each processes for the layout-tests. * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::initialize): * Scripts/webkitpy/layout_tests/port/efl.py: (EflPort.setup_environ_for_server): * efl/jhbuild.modules: 2012-07-26 Balazs Kelemen [NRWT] should have a way to restrict pixel tests for individual directories https://bugs.webkit.org/show_bug.cgi?id=91754 Reviewed by Dirk Pranke. Added --pixel-test-directories option to nrwt. It implies --pixel-tests. If the platform supports this option only tests from these directories will be executed as pixel tests. Furthermore, platforms can have a default set of pixel test directories. To support the feature the test harness have to be able to inform the driver whether to dump pixels for each tests. For this purpose I changed WTR and the Qt DRT to handle a --pixel-test argument from the standard output and made NRWT use this argument with these drivers. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::DumpRenderTree): (WebCore::DumpRenderTree::open): (WebCore::DumpRenderTree::processLine): (WebCore::DumpRenderTree::setDumpPixelsForAllTests): (WebCore::DumpRenderTree::dump): * DumpRenderTree/qt/DumpRenderTreeQt.h: (DumpRenderTree): * DumpRenderTree/qt/main.cpp: (main): Handle the --pixel-test argument. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._should_fetch_expected_checksum): (SingleTestRunner._overwrite_baselines): (SingleTestRunner._compare_output): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker._update_test_input): * Scripts/webkitpy/layout_tests/port/base.py: (Port.supports_switching_pixel_tests_per_test): Ports can override this to inform the harness that --pixel-test argument is supported. True for WTR, otherwise calls private version that can be overridden by the actual platform. Only true with WTR and Qt DRT currently. This supposed to exist only temporary until there are ports that doesn't support the feature in their DRT's. (Port): (Port._supports_switching_pixel_tests_per_test): (Port.should_run_as_pixel_test): (Port._should_run_as_pixel_test): Ports can override this to define their default set of pixel tests directories. * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.cmd_line): Don't pass --pixel-tests if the platform supports per test --pixel-test. (Driver._command_from_driver_input): Pass --pixel-test if it is supported and pixel tests are enabled. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.check_sys_deps): (QtPort): (QtPort._supports_switching_pixel_tests_per_test): (QtPort._should_run_as_pixel_test): (QtPort._default_pixel_test_directories): Only compositing will be our default pixel test directory for the time being. * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.supports_switching_pixel_tests_per_test): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): (parse_args): Handle the --pixel-test-directory option. It expect a directory below LayoutTests and can be specified multiple times. Added fixme's that we should improve how we handle these arguments. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_run_singly_actually_runs_tests): (MainTest.test_pixel_test_directories): Added an integration test for the feature. * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::initialize): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: (TestController): Handle the --pixel-test argument. 2012-07-26 Christophe Dumez [EFL] Regression(r123604): webintents/web-intents-obj-constructor.html is crashing https://bugs.webkit.org/show_bug.cgi?id=92349 Reviewed by Kentaro Hara. Fix crash occurring after r123604, which replaced strdup() usage with eina_stringshare_add(). Unfortunately, the DRT was not updated accordingly to use eina_stringshare_del() instead of free() on the values returned by Ewk_Intent getters and it was causing webintents/web-intents-obj-constructor.html to crash. * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::onFrameIntentNew): 2012-07-26 Adam Barth Unreviewed attempt to fix the chromium-win build. * DumpRenderTree/chromium/TestRunner/TestRunner.cpp: 2012-07-26 Kaustubh Atrawalkar [DRT] LTC:: pageNumberForElementById() could be moved to Internals https://bugs.webkit.org/show_bug.cgi?id=92091 Reviewed by Adam Barth. Move the pageNumberForElementById from LayoutTestCotroller to Internals and remove the old platform specific implementations as it exclusively tests WebCore functionality. * DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::staticFunctions): * DumpRenderTree/LayoutTestController.h: (LayoutTestController): * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp: * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::setPrinting): * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController): * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: * DumpRenderTree/mac/LayoutTestControllerMac.mm: * DumpRenderTree/qt/LayoutTestControllerQt.cpp: * DumpRenderTree/qt/LayoutTestControllerQt.h: (LayoutTestController): * DumpRenderTree/win/LayoutTestControllerWin.cpp: * DumpRenderTree/wx/LayoutTestControllerWx.cpp: * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (LayoutTestController): 2012-07-25 Adam Barth TestRunner.a should contain a TestRunner object https://bugs.webkit.org/show_bug.cgi?id=92313 Reviewed by Kent Tamura. This patch adds a stub implementation of TestRunner, which is the new home for our implementation of window.testRunner. A future patch will migrate functions from LayoutTestController to TestRunner. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/LayoutTestController.h: * DumpRenderTree/chromium/TestRunner/TestRunner.cpp: Added. * DumpRenderTree/chromium/TestRunner/TestRunner.h: Added. 2012-07-25 Wei James [Chromium] Fix infinite loop issue for chromium android layout test https://bugs.webkit.org/show_bug.cgi?id=92197 Reviewed by Adam Barth. The change brought in by r123530 will cause infinite loop when running Chromium Android Layout Test. Revert the change for this line only. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort._build_path): 2012-07-25 Adam Barth Jochen is our a newest reviewer! * Scripts/webkitpy/common/config/committers.py: 2012-07-25 Jochen Eisinger [chromium] don't use webkit_support methods directly from test runners but through the test delegate https://bugs.webkit.org/show_bug.cgi?id=92256 Reviewed by Adam Barth. This will allow for the content_shell to provide its own implementation for setting the Gamepad data instead. * DumpRenderTree/chromium/TestRunner/GamepadController.cpp: (GamepadController::setDelegate): (GamepadController::reset): (GamepadController::connect): (GamepadController::disconnect): (GamepadController::setId): (GamepadController::setButtonCount): (GamepadController::setButtonData): (GamepadController::setAxisCount): (GamepadController::setAxisData): * DumpRenderTree/chromium/TestRunner/GamepadController.h: (GamepadController): * DumpRenderTree/chromium/TestRunner/TestDelegate.h: (WebKit): (TestDelegate): * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: (TestInterfaces::Internal): (TestInterfaces::Internal::~Internal): (TestInterfaces::Internal::setDelegate): (TestInterfaces::setDelegate): * DumpRenderTree/chromium/TestRunner/TestInterfaces.h: (TestInterfaces): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::createMainWindow): (TestShell::~TestShell): * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::setGamepadData): * DumpRenderTree/chromium/WebViewHost.h: (WebViewHost): 2012-07-25 Christophe Dumez [WK2][WTR] LayoutTestController.sendWebIntentResponse() needs to be implemented https://bugs.webkit.org/show_bug.cgi?id=92227 Reviewed by Kenneth Rohde Christiansen. Implement LayoutTestController.sendWebIntentResponse() so that a test case can reply to a Web intent request and test this functionality. In order to support this functionality, we need to keep a pointer to the current intent request in InjectedBundlePage::didReceiveIntentForFrame() so that we can reuse it later in LayoutTestController::sendWebIntentResponse(). The following tests need this functionality: - webintents/web-intents-failure.html - webintents/web-intents-reply.html * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didReceiveIntentForFrame): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: (InjectedBundlePage): (WTR::InjectedBundlePage::currentIntentRequest): * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::sendWebIntentResponse): (WTR): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (LayoutTestController): 2012-07-25 Mikhail Pozdnyakov [EFL][WK2][WTR] Alt, Shift and Ctrl keys are not handled by EventSenderProxy. https://bugs.webkit.org/show_bug.cgi?id=92241 Reviewed by Kenneth Rohde Christiansen. Alt, Shift and Ctrl keys were not handled by EventSenderProxy. It caused failure of fast/events/keydown-leftright-keys.html test. * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Added handling of Alt, Shift and Ctrl keys. (WTR::keyName): 2012-07-25 Christophe Dumez [EFL][WK2] Fix timeout issues when debugging WebProcess. https://bugs.webkit.org/show_bug.cgi?id=92245 Reviewed by Dirk Pranke. Fix timeout issues when debugging the WebProcess under valgrind or gdb. * Scripts/webkitpy/layout_tests/port/efl.py: (EflPort.default_timeout_ms): * WebKitTestRunner/efl/TestControllerEfl.cpp: (WTR::TestController::platformInitialize): 2012-07-25 Xianzhu Wang [Chromium-Android] NRWT driver should not restart between reftests https://bugs.webkit.org/show_bug.cgi?id=92267 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidDriver.start): Resets self._pixel_tests when the pixel_tests parameter changes. 2012-07-25 Tommy Widenflycht MediaStream API: Update MediaStreamTrack to match the specification https://bugs.webkit.org/show_bug.cgi?id=90180 Reviewed by Adam Barth. Adding a Mock WebMediaStreamCenter to enable better LayoutTests. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp: (MockWebKitPlatformSupport::createMediaStreamCenter): * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp: Added. (WebKit): (WebKit::MockWebMediaStreamCenter::MockWebMediaStreamCenter): (WebKit::MockWebMediaStreamCenter::queryMediaStreamSources): (WebKit::MockWebMediaStreamCenter::didEnableMediaStreamTrack): (WebKit::MockWebMediaStreamCenter::didDisableMediaStreamTrack): (WebKit::MockWebMediaStreamCenter::didStopLocalMediaStream): (WebKit::MockWebMediaStreamCenter::didCreateMediaStream): (WebKit::MockWebMediaStreamCenter::constructSDP): * DumpRenderTree/chromium/MockWebMediaStreamCenter.h: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp. (WebKit): (MockWebMediaStreamCenter): (WebKit::MockWebMediaStreamCenter::MockWebMediaStreamCenter): 2012-07-25 Kristóf Kosztyó [NRWT] Rename baseline_search_path() to default_baseline_search_path() https://bugs.webkit.org/show_bug.cgi?id=92122 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/base.py: (Port.baseline_version_dir): (Port.baseline_search_path): (Port): (Port.default_baseline_search_path): (Port.expected_baselines): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_additional_platform_directory): * Scripts/webkitpy/layout_tests/port/mac.py: (MacPort.default_baseline_search_path): * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.default_baseline_search_path): * Scripts/webkitpy/layout_tests/port/win.py: (WinPort.default_baseline_search_path): 2012-07-25 Gyuyoung Kim [EFL] Use eina_stringshare_add instead of strdup. https://bugs.webkit.org/show_bug.cgi?id=92072 Reviewed by Kentaro Hara. Eina of EFL libraries supports a string functionality that replaces strdup. So, EFL port needs to replace strdup with eina_stringshare_add function. DumpRenderTree also needs to be modified according to ewk APIs's parameter change. * DumpRenderTree/efl/DumpRenderTree.cpp: (dumpFramesAsText): * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::onFrameIntentNew): * DumpRenderTree/efl/DumpRenderTreeView.cpp: (onJavaScriptPrompt): 2012-07-25 Alexander Shalamov [WTR][EFL] Wheel events are not emitted https://bugs.webkit.org/show_bug.cgi?id=92094 Reviewed by Csaba Osztrogonác. Wheel events are not emitted, therefore, layout tests that use mouseScrollBy method are failing. * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: (WTR::dispatchMouseScrollByEvent): (WTR::EventSenderProxy::mouseScrollBy): * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: (WTR::PlatformWebView::PlatformWebView): (WTR::PlatformWebView::focus): 2012-07-25 Mikhail Pozdnyakov [EFL][WK2] Add ewk_main.{cpp,h} to EFL WK2 https://bugs.webkit.org/show_bug.cgi?id=92101 Reviewed by Kenneth Rohde Christiansen. Added a centralized place for general initialization in UI process for EFL WK2. * MiniBrowser/efl/main.c: Added using of newly added ewk_init() and ewk_shutdown() functions. (main): * WebKitTestRunner/efl/main.cpp: Ditto. (main): 2012-07-24 Benjamin Poulain && Joseph Pecoraro QualifiedName's HashSet should be big enough to hold at least all the static names https://bugs.webkit.org/show_bug.cgi?id=91891 Reviewed by Darin Adler. Add a test for WTF::hashTableCapacityForSize. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/HashSet.cpp: Added. (InitialCapacityTestHashTraits): (TestWebKitAPI::testInitialCapacity): (TestWebKitAPI::generateTestCapacityUpToSize): (TestWebKitAPI::TEST): 2012-07-24 Adam Barth The EWS bots get flaky when we hit the failure limit https://bugs.webkit.org/show_bug.cgi?id=92212 Reviewed by Eric Seidel. Previously we were missing some failure types, which means we didn't notice that the bots were hitting the failure limit. * Scripts/webkitpy/common/net/layouttestresults.py: (LayoutTestResults.failing_test_results): * Scripts/webkitpy/common/net/layouttestresults_unittest.py: (LayoutTestResultsTest.test_results_from_string): (LayoutTestResultsTest.test_tests_matching_failure_types): 2012-07-24 Raphael Kubo da Costa [EFL] Unreviewed build fix. * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Include unistd.h for usleep(3). 2012-07-24 Dirk Pranke make test-webkitpy at least kinda work in parallel on win32 https://bugs.webkit.org/show_bug.cgi?id=91700 Reviewed by Adam Barth. This change makes the hoop-jumping we have to do to make running new-run-webkit-tests in parallel on win32 generic so that we can re-use it for test-webkitpy as well. * Scripts/new-run-webkit-tests: * Scripts/test-webkitpy: * Scripts/webkitpy/common/multiprocessing_bootstrap.py: Copied from Tools/Scripts/new-run-webkit-tests. (run): * Scripts/webkitpy/test/main.py: (main): (Tester._log_exception): 2012-07-24 Sheriff Bot Unreviewed, rolling out r123499. http://trac.webkit.org/changeset/123499 https://bugs.webkit.org/show_bug.cgi?id=92161 Android fails to compile (Requested by zhenyao on #webkit). * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp: (MockWebKitPlatformSupport::createMediaStreamCenter): * DumpRenderTree/chromium/MockWebKitPlatformSupport.h: (MockWebKitPlatformSupport): * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp: Removed. * DumpRenderTree/chromium/MockWebMediaStreamCenter.h: Removed. 2012-07-24 Dirk Pranke nrwt: never finds binaries in the 'out' dir on chromium win https://bugs.webkit.org/show_bug.cgi?id=91890 Reviewed by Tony Chang. Attempt to fix this bug yet again; it turns out that --root and --build-directory don't have the same meaning (--root should include the configuration, --build-directory should not). * Scripts/webkitpy/layout_tests/port/base.py: (Port._build_path): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort._static_build_path): (ChromiumPort.default_results_directory): (ChromiumPort._build_path): (ChromiumPort): (ChromiumPort._build_path_with_configuration): (ChromiumPort._build_path_with_configuration.does): (ChromiumPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort._build_path): (ChromiumAndroidPort): (ChromiumAndroidPort._build_path_with_configuration): (ChromiumAndroidPort._path_to_driver): (ChromiumAndroidPort._path_to_forwarder): (ChromiumAndroidPort._push_executable): (ChromiumAndroidPort._push_fonts): * Scripts/webkitpy/layout_tests/port/chromium_linux.py: (ChromiumLinuxPort._determine_driver_path_statically): (ChromiumLinuxPort._modules_to_search_for_symbols): (ChromiumLinuxPort._path_to_driver): * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py: (ChromiumLinuxPortTest.test_build_path): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort._modules_to_search_for_symbols): (ChromiumMacPort._path_to_driver): (ChromiumMacPort._path_to_helper): * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest.test_build_path): * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort._path_to_driver): (ChromiumWinPort._path_to_helper): (ChromiumWinPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: (ChromiumWinTest.test_build_path): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2012-07-24 Peter Beverloo Android-chromium layout tests failing with GPU related crash https://bugs.webkit.org/show_bug.cgi?id=92126 Reviewed by Adam Barth. Remove support for the "--enable-hardware-gpu" flag from run_webkit_tests, as it's not being used by any port anymore, and neither is being passed on to the test runner. Instead, append the flag directly to DRT for the Chromium Android port, which does rely on this functionality. The ChromiumAndroidUnitTest tests didn't catch this as the property was set to True, but it's unable to detect whether they'll actually be used. No occurrances of "--enable-hardware-gpu" exist in either Tools/Scripts/ or Tools/BuildSlaveSupport/, so nothing upstream seems to rely on the flag. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.__init__): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidPortTest.test_attributes): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2012-07-24 Alexander Shalamov [WTR][EFL] Multiple mouse clicks are not emitted in EventSenderProxyEfl https://bugs.webkit.org/show_bug.cgi?id=92107 Reviewed by Kenneth Rohde Christiansen. Fixes mouse click events in EventSenderProxyEfl. * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: (WTR::dispatchMouseDownEvent): (WTR::EventSenderProxy::dispatchEvent): 2012-07-24 Tommy Widenflycht MediaStream API: Update MediaStreamTrack to match the specification https://bugs.webkit.org/show_bug.cgi?id=90180 Reviewed by Adam Barth. Adding a Mock WebMediaStreamCenter to enable better LayoutTests. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp: (MockWebKitPlatformSupport::createMediaStreamCenter): * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp: Added. (WebKit): (WebKit::MockWebMediaStreamCenter::MockWebMediaStreamCenter): (WebKit::MockWebMediaStreamCenter::queryMediaStreamSources): (WebKit::MockWebMediaStreamCenter::didEnableMediaStreamTrack): (WebKit::MockWebMediaStreamCenter::didDisableMediaStreamTrack): (WebKit::MockWebMediaStreamCenter::didStopLocalMediaStream): (WebKit::MockWebMediaStreamCenter::didCreateMediaStream): (WebKit::MockWebMediaStreamCenter::constructSDP): * DumpRenderTree/chromium/MockWebMediaStreamCenter.h: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp. (WebKit): (MockWebMediaStreamCenter): (WebKit::MockWebMediaStreamCenter::MockWebMediaStreamCenter): 2012-07-23 Ryosuke Niwa Fix regressions in replay performance tests https://bugs.webkit.org/show_bug.cgi?id=92052 Reviewed by Dirk Pranke. Fix regression that accumulated over time to make replay tests work again. * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::willSendRequest): Use the main document URL in the request since the main frame's URL hadn't been updated yet When requesting a new URL on the main frame. * Scripts/webkitpy/performance_tests/perftest.py: (ReplayServer.wait_until_ready): Waiting for 6 seconds (3 tries) seems enough. (ReplayPerfTest.prepare): Pass self._archive_path to run_signle as that is the current contract. (ReplayPerfTest.run_single): Use the archive path to generate -expected.png path. * Scripts/webkitpy/performance_tests/perftest_unittest.py: (TestReplayPerfTest.test_run_single): (TestReplayPerfTest.test_prepare): (TestReplayPerfTest.test_prepare_calls_run_single.run_single): (TestReplayPerfTest): 2012-07-24 Simon Hausmann [Qt] MSVC: unresolved external symbol __DllMainCRTStartup@12 https://bugs.webkit.org/show_bug.cgi?id=91229 Reviewed by Jocelyn Turcotte. In order to successfully link a DLL on Windows we need to have at least one object file (or compilation unit). The forward export header files were supposed to be that, but unfortunately the rule in win32/default_post.prf for creating the header files had some bugs, among others that it did an exists() check on the depending static library. At the time qmake is ran those libraries do not exist yet and therefore the corresponding extra compiler rules were never created, resulting in empty OBJECTS/SOURCES. Even without such an exists() check, qmake extra compilers require the files referred to in the .input variable to exist at qmake time. In this case the input files were the static libraries, which do not exist yet. This patch solves this by using a qmake extra target instead of extra compiler, which does not have this limitation. The target is referenced through the extension of GENERATED_SOURCES. The patch also adds a d/_debug suffix for debug builds, do allow for separate symbol exports if necessary. * Scripts/generate-win32-export-forwards: Support multiple input files, i.e. consider the last argument to be the output file and everything else input. * qmake/mkspecs/features/win32/default_post.prf: 2012-07-24 Balazs Kelemen [Qt] Add quirks for running the web process in a profiler shell, like valgrind https://bugs.webkit.org/show_bug.cgi?id=87672 Reviewed by Jocelyn Turcotte. Add --no-timeout-at-all command line switch to not time out no matter how long the web process does it's job. --no-timeout is not enough for profiling purposes because it only affects the timeout when we are waiting for the end of the test. We use another timeout to control how much we wait for the web process to initialize before and reset after the test and it could also easily expire when running under valgrind. We should keep the behavior of --no-timeout to not disable this timout check because --no-timeout is used by performace tests and those should not wait for the web process to initialize and reset more than normal tests. * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::initialize): (WTR::TestController::runUntil): * WebKitTestRunner/TestController.h: 2012-07-24 Peter Beverloo [Chromium] Fix a class/struct mismatch error in TestDelegate.h (showing up on clang) https://bugs.webkit.org/show_bug.cgi?id=92097 Unreviewed build fix. WebContextMenuData is declared as a struct in Source/WebKit/chromium/public/WebContextMenuData.h, but TestDelegate.h forward declares it as a class. * DumpRenderTree/chromium/TestRunner/TestDelegate.h: (WebKit): 2012-07-23 Oswald Buddenhagen [Qt] Fix compilation against namespaced Qt Reviewed by Simon Hausmann. * QtTestBrowser/launcherwindow.h: * WebKitTestRunner/PlatformWebView.h: 2012-07-24 Peter Beverloo Update a few Chromium Android contributors in committers.py https://bugs.webkit.org/show_bug.cgi?id=92090 Reviewed by Kent Tamura. Add Sami Kyostila, who has been doing significant work on Chromium's compositor. Add IRC nicknames for John Mellor and Tien-Ren Chen, and remove John Grabowski who changed projects, and add my webkit.org alias. * Scripts/webkitpy/common/config/committers.py: 2012-07-24 Pierre Rossi [Qt] Enable touch slider when touch events are enabled https://bugs.webkit.org/show_bug.cgi?id=91013 Reviewed by Kenneth Rohde Christiansen. TOUCH_SLIDER guards are used in WebCore, so we should really be setting the corresponding ENABLE define in features.prf. * qmake/mkspecs/features/features.prf: 2012-07-24 Ryuan Choi [EFL] EWebLauncher should not require config.h in the style check https://bugs.webkit.org/show_bug.cgi?id=92070 Reviewed by Kentaro Hara. * Scripts/webkitpy/style/checker.py: Remove the include rules from the style-check for EWebLauncher because EWebLauncher is simple EFL application. 2012-07-24 Jochen Eisinger [Chromium] EventSender shouldn't know about TestShell https://bugs.webkit.org/show_bug.cgi?id=91449 Reviewed by Adam Barth. Original patch by Adam Barth. This patch removes the dependency from EventSender to TestShell. Most of EventSender works directly with a WebView, but there are a handful of references to WebViewHost. We don't want to re-use WebViewHost in ContentShell because we want to use the multi-process embedding environment for WebViews. To avoid the dependency on WebViewHost, this patch introduces TestDelegate, which is an abstract base class for WebViewHost. In ContentShell, we'll need another object to implement these functions. * DumpRenderTree/chromium/EventSender.cpp: (EventSender::EventSender): (EventSender::keyDown): (makeMenuItemStringsFor): (EventSender::contextClick): * DumpRenderTree/chromium/EventSender.h: (EventSender): (EventSender::setDelegate): (EventSender::setWebView): (EventSender::webview): * DumpRenderTree/chromium/TestRunner/TestDelegate.h: Added. (WebKit): (TestDelegate): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::createMainWindow): (TestShell::~TestShell): * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::fillSpellingSuggestionList): * DumpRenderTree/chromium/WebViewHost.h: (WebViewHost): 2012-07-24 Thiago Marcos P. Santos Make WebIntents and WebIntentsTag a build option for the build-webkit script https://bugs.webkit.org/show_bug.cgi?id=91841 Reviewed by Philippe Normand. And it will also be disabled when building with --minimal. * Scripts/webkitperl/FeatureList.pm: 2012-07-23 Dirk Pranke Unreviewed, rolling out r123360. http://trac.webkit.org/changeset/123360 https://bugs.webkit.org/show_bug.cgi?id=91890 broke the chromium bots * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort._static_build_path): (ChromiumPort.default_results_directory): (ChromiumPort._build_path): (ChromiumPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort._build_path): (ChromiumAndroidPort._path_to_driver): (ChromiumAndroidPort._path_to_forwarder): (ChromiumAndroidPort._push_executable): (ChromiumAndroidPort._push_fonts): * Scripts/webkitpy/layout_tests/port/chromium_linux.py: (ChromiumLinuxPort._determine_driver_path_statically): (ChromiumLinuxPort._modules_to_search_for_symbols): (ChromiumLinuxPort._path_to_driver): * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py: (ChromiumLinuxPortTest.test_build_path): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort._modules_to_search_for_symbols): (ChromiumMacPort._path_to_driver): (ChromiumMacPort._path_to_helper): * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest.test_build_path): * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort._path_to_driver): (ChromiumWinPort._path_to_helper): (ChromiumWinPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: (ChromiumWinTest.test_build_path): 2012-07-23 Adam Barth [Chromium] TestInterfaces should be responsible for owning and binding AccessibilityController and TextInputController https://bugs.webkit.org/show_bug.cgi?id=91459 Reviewed by Ryosuke Niwa. Rather than having TestShell own and bind each of these JavaScript APIs individually, TestShell should delegate that work to TestInterfaces. This patch moves AccessibilityController and TextInputController to be the responsibility of TestInterfaces. * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: (TestInterfaces::TestInterfaces): (TestInterfaces::~TestInterfaces): (TestInterfaces::setWebView): (TestInterfaces::bindTo): (TestInterfaces::resetAll): * DumpRenderTree/chromium/TestRunner/TestInterfaces.h: (WebKit): (TestInterfaces): (TestInterfaces::accessibilityController): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::createMainWindow): (TestShell::~TestShell): (TestShell::resetTestController): (TestShell::bindJSObjectsToWindow): * DumpRenderTree/chromium/TestShell.h: (TestShell::accessibilityController): (TestShell): 2012-07-23 Balazs Kelemen nrwt swallows early exceptions https://bugs.webkit.org/show_bug.cgi?id=91884 Reviewed by Dirk Pranke. Put everything in a try block so we won't miss any error. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): (main): 2012-07-23 Christophe Dumez [WK2] WebKitTestRunner needs to print information about Web intents https://bugs.webkit.org/show_bug.cgi?id=90873 Reviewed by Anders Carlsson. Print out information about new intents requests and intent services registrations in WebKitTestRunner. This is expected by tests under webintents/*. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::InjectedBundlePage): (WTR::InjectedBundlePage::didReceiveIntentForFrame): (WTR): (WTR::InjectedBundlePage::registerIntentServiceForFrame): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: (InjectedBundlePage): 2012-07-23 Dirk Pranke nrwt: never finds binaries in the 'out' dir on chromium win https://bugs.webkit.org/show_bug.cgi?id=91890 Reviewed by Tony Chang. We were figuring out which directory look in for binaries by testing for the base directory (the directory above Debug/Release). In chromium-win's case, we look in src/build, which always exists because there are checked-in files in it, which means we'd always pick that directory over src/out. All of the other ports' build_path() implementation was including Debug/Release. If we matched that, we wouldn't have a problem, so this change fixes that and updates all of the callers of the chromium ports' implementation to not pass configuration as part of the path to look up; we still need to pass configuration in some cases (to test if the build is out of date between debug and release) so the implementation gets slightly more complicated. * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort._static_build_path): (ChromiumPort.default_results_directory): (ChromiumPort._build_path): (ChromiumPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort._build_path): (ChromiumAndroidPort._path_to_driver): (ChromiumAndroidPort._path_to_forwarder): (ChromiumAndroidPort._push_executable): (ChromiumAndroidPort._push_fonts): * Scripts/webkitpy/layout_tests/port/chromium_linux.py: (ChromiumLinuxPort._determine_driver_path_statically): (ChromiumLinuxPort._modules_to_search_for_symbols): (ChromiumLinuxPort._path_to_driver): * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py: (ChromiumLinuxPortTest.test_build_path): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort._modules_to_search_for_symbols): (ChromiumMacPort._path_to_driver): (ChromiumMacPort._path_to_helper): * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest.test_build_path): * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort._path_to_driver): (ChromiumWinPort._path_to_helper): (ChromiumWinPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: (ChromiumWinTest.test_build_path): 2012-07-23 Sheriff Bot Unreviewed, rolling out r123339. http://trac.webkit.org/changeset/123339 https://bugs.webkit.org/show_bug.cgi?id=92006 massive media tests failure (Requested by philn on #webkit). * Scripts/webkitdirs.pm: (buildAutotoolsProject): * gtk/jhbuild.modules: 2012-07-23 Tommy Widenflycht [chromium] MediaStream API: Clean up the MockWebKitPlatformSupport object at shutdown https://bugs.webkit.org/show_bug.cgi?id=91857 Reviewed by Adam Barth. Made a few changes so that the destructor could be called at shutdown. * DumpRenderTree/chromium/DumpRenderTree.cpp: (WebKitSupportTestEnvironment::WebKitSupportTestEnvironment): (WebKitSupportTestEnvironment): * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp: (MockWebKitPlatformSupport::create): * DumpRenderTree/chromium/MockWebKitPlatformSupport.h: (MockWebKitPlatformSupport): (MockWebKitPlatformSupport::~MockWebKitPlatformSupport): 2012-07-23 Philippe Normand [GTK][jhbuild] Switch to GStreamer 0.11 build https://bugs.webkit.org/show_bug.cgi?id=91727 Reviewed by Gustavo Noronha Silva. Switch build-webkit --gtk to GStreamer 0.11 support and build the necessary GStreamer git modules from JHBuild. * Scripts/webkitdirs.pm: (buildAutotoolsProject): Build WebKit with GStreamer 0.11 support. * gtk/jhbuild.modules: GStreamer build support. 2012-07-23 Christophe Dumez WebKit2 needs layoutTestController.setAlwaysAcceptCookies https://bugs.webkit.org/show_bug.cgi?id=42778 Reviewed by Kenneth Rohde Christiansen. Add support for layoutTestController.setAlwaysAcceptCookies() since it is required by some tests. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::setAlwaysAcceptCookies): (WTR): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (LayoutTestController): 2012-07-23 Kent Tamura Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively https://bugs.webkit.org/show_bug.cgi?id=91941 Reviewed by Kentaro Hara. A flag name for an elmement should be ENABLE_*_ELEMENT. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-07-22 Kent Tamura Rename ENABLE_DETAILS to ENABLE_DETAILS_ELEMENT https://bugs.webkit.org/show_bug.cgi?id=91928 Reviewed by Kentaro Hara. A flag name for an elmement should be ENABLE_*_ELEMENT. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-07-20 Kent Tamura Rename ENABLE_DATALIST to ENABLE_DATALIST_ELEMENT https://bugs.webkit.org/show_bug.cgi?id=91846 Reviewed by Kentaro Hara. A flag name for an elmement should be ENABLE_*_ELEMENT. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-07-20 Xianzhu Wang [Chromium-Android] Store test pipes in /data/local/tmp https://bugs.webkit.org/show_bug.cgi?id=91909 In the previous change (bug 91873, r123258) we placed the pipes in /sdcard/native_tests. However after tests we found some devices don't allow the app to create pipes there. So /data/local/tmp is a better place for the pipes. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/chromium_android.py: 2012-07-20 Xianzhu Wang [Chomium-Android] Place DRT input/output pipes where both app and unrooted shell can read/write https://bugs.webkit.org/show_bug.cgi?id=91873 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/chromium_android.py: 2012-07-20 Han Shen [Chromium] Compilation fails under gcc 4.7 https://bugs.webkit.org/show_bug.cgi?id=90227 Reviewed by Tony Chang. Disable warnings about c++0x compatibility in gcc newer than 4.6. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-07-20 Dirk Pranke REGRESSION: run-perf-tests --pause-before-testing is broken https://bugs.webkit.org/show_bug.cgi?id=91789 Reviewed by Ryosuke Niwa. Turns out start() wasn't actually starting things :(. Fixed, and added tests. * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidDriverTest.test_read_prompt): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver.__init__): (Driver._start): * Scripts/webkitpy/layout_tests/port/driver_unittest.py: (DriverTest.test_read_block): (DriverTest.test_read_binary_block): (DriverTest.test_read_base64_block): (DriverTest.test_stop_cleans_up_properly): (DriverTest.test_two_starts_cleans_up_properly): (DriverTest.test_start_actually_starts): (MockServerProcess.__init__): (MockServerProcess.start): 2012-07-20 Jochen Eisinger [chromium] Don't include WebCore headers in TestInterfaces so it's safe to include from outside of WebCore https://bugs.webkit.org/show_bug.cgi?id=91847 Reviewed by Adam Barth. This allows for including the TestIntefaces.h from content shell without introducing a dependency to WebCore/wtf * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: (TestInterfaces::Internal): (TestInterfaces::Internal::Internal): (TestInterfaces::Internal::~Internal): (TestInterfaces::Internal::bindTo): (TestInterfaces::Internal::resetAll): (TestInterfaces::TestInterfaces): (TestInterfaces::~TestInterfaces): (TestInterfaces::bindTo): (TestInterfaces::resetAll): * DumpRenderTree/chromium/TestRunner/TestInterfaces.h: (TestInterfaces): 2012-07-20 Caio Marcelo de Oliveira Filho [Qt] Make WTR use the same color palette as DRT https://bugs.webkit.org/show_bug.cgi?id=91870 Reviewed by Noam Rosenthal. Make sure that WebKitTestRunner and DumpRenderTree use the same palette: the standard from QWindowsStyle. * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: (WTR::activateFonts): Moved code to platformInitialize since setting style is not exactly font related. * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp: (WTR::InjectedBundle::platformInitialize): Force the usage of the style's palette. Because at this point QApplication was already instantiated, the default palette was already initialized to be the system one, so we need to explicitly set the palette to be the standard from style. This is not needed in DRT because there we set the style before instantiating QApplication. 2012-07-20 Tony Chang Baseline align text in the flakiness dashboard toolbar https://bugs.webkit.org/show_bug.cgi?id=91784 Reviewed by Ojan Vafai. Baseline align the flex items. * TestResultServer/static-dashboards/flakiness_dashboard.css: (.forms): Add box-align: baseline (.forms > *): Use block display to force flex items rather than box. (#tests-form): Add box-align: baseline (#tests-form > *): Use block display to force flex items rather than box. 2012-07-20 Sheriff Bot Unreviewed, rolling out r123220. http://trac.webkit.org/changeset/123220 https://bugs.webkit.org/show_bug.cgi?id=91880 broke Debug build (Requested by philn on #webkit). * Scripts/webkitdirs.pm: (buildAutotoolsProject): * gtk/jhbuild.modules: 2012-07-20 Philippe Normand [GTK][jhbuild] Switch to GStreamer 0.11 build https://bugs.webkit.org/show_bug.cgi?id=91727 Reviewed by Gustavo Noronha Silva. Switch build-webkit --gtk to GStreamer 0.11 support and build the necessary GStreamer git modules from JHBuild. * Scripts/webkitdirs.pm: (buildAutotoolsProject): Build WebKit with GStreamer 0.11 support. * gtk/jhbuild.modules: GStreamer build support. 2012-07-20 Christophe Dumez [EFL] Proxy configuration should honor the no_proxy environment variable https://bugs.webkit.org/show_bug.cgi?id=91747 Reviewed by Kenneth Rohde Christiansen. Add ProxyResolverSoup to the list of classes that contain GObjects in style checker script so that it does not complain about naming convention issues that are mandated by GObject. * Scripts/webkitpy/style/checker.py: 2012-07-20 Zeno Albisser [Qt][WK2] Add configure tests for Xrender and GLX. https://bugs.webkit.org/show_bug.cgi?id=91845 GraphicsSurface on linux requires Xcomposite, Xrender and GLX. If any of these requirements is not met, we should disable GraphicsSurface. Reviewed by Kenneth Rohde Christiansen. * qmake/config.tests/glx/glx.cpp: Added. (main): * qmake/config.tests/glx/glx.pro: Added. * qmake/config.tests/libXrender/libXrender.cpp: Added. (main): * qmake/config.tests/libXrender/libXrender.pro: Added. * qmake/configure.pri: * qmake/mkspecs/features/features.prf: 2012-07-20 Kangil Han [EFL][WK2][WTR] Implement EventSenderProxy https://bugs.webkit.org/show_bug.cgi?id=91731 Reviewed by Kentaro Hara. This is an initial EFL port implementation of EventSenderProxy. * WebKitTestRunner/EventSenderProxy.h: (WTR): (EventSenderProxy): * WebKitTestRunner/InjectedBundle/EventSendingController.h: * WebKitTestRunner/PlatformEfl.cmake: * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Added. (WTR): (WTREvent): (WTR::WTREvent::WTREvent): (WTR::KeyEventInfo::KeyEventInfo): (KeyEventInfo): (WTR::evasMouseButton): (WTR::setEvasModifiers): (WTR::dispatchMouseDownEvent): (WTR::dispatchMouseUpEvent): (WTR::dispatchMouseMoveEvent): (WTR::dispatchMouseScrollByEvent): (WTR::keyPadName): (WTR::keyName): (WTR::EventSenderProxy::EventSenderProxy): (WTR::EventSenderProxy::updateClickCountForButton): (WTR::EventSenderProxy::dispatchEvent): (WTR::EventSenderProxy::replaySavedEvents): (WTR::EventSenderProxy::sendOrQueueEvent): (WTR::EventSenderProxy::mouseDown): (WTR::EventSenderProxy::mouseUp): (WTR::EventSenderProxy::mouseMoveTo): (WTR::EventSenderProxy::mouseScrollBy): (WTR::EventSenderProxy::leapForward): (WTR::EventSenderProxy::keyDown): (WTR::EventSenderProxy::addTouchPoint): (WTR::EventSenderProxy::updateTouchPoint): (WTR::EventSenderProxy::setTouchModifier): (WTR::EventSenderProxy::touchStart): (WTR::EventSenderProxy::touchMove): (WTR::EventSenderProxy::touchEnd): (WTR::EventSenderProxy::touchCancel): (WTR::EventSenderProxy::clearTouchPoints): (WTR::EventSenderProxy::releaseTouchPoint): (WTR::EventSenderProxy::cancelTouchPoint): (WTR::EventSenderProxy::setTouchPointRadius): 2012-07-20 Gyuyoung Kim Unreviewed, rolling out r123085. http://trac.webkit.org/changeset/123085 https://bugs.webkit.org/show_bug.cgi?id=91719 r123085 causes crashes on EFL layout test bot. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp: (WTR::LayoutTestController::platformInitialize): 2012-07-20 Gyuyoung Kim [WTR] Add *explicit* keyword to constructor which has a parameter https://bugs.webkit.org/show_bug.cgi?id=91745 Reviewed by Adam Barth. Add *explicit* keyword to contructor which has a parameter in order to avoid implicit type conversion. * WebKitTestRunner/EventSenderProxy.h: (EventSenderProxy): * WebKitTestRunner/TestInvocation.h: (TestInvocation): 2012-07-19 Sudarsana Nagineni [EFL] [WK2] Add methods to get/set a custom text encoding https://bugs.webkit.org/show_bug.cgi?id=90604 Reviewed by Kenneth Rohde Christiansen. Added support for setting custom character encoding in MiniBrowser. Use 'F3' to set the custom character encoding. * MiniBrowser/efl/main.c: (on_key_down): 2012-07-19 Dirk Pranke webkitpy: executive_unittest still failing when run in parallel https://bugs.webkit.org/show_bug.cgi?id=91795 Reviewed by Adam Barth. It turns out that test_kill_process and test_kill_all are both launching the same process, and so if they're run at the same time, test_kill_all interferes w/ test_kill_process. Merging the two tests solves the issue :). * Scripts/webkitpy/common/system/executive_unittest.py: (ExecutiveTest.test_kill_process): (ExecutiveTest._assert_windows_image_name): (ExecutiveTest): (ExecutiveTest.test_windows_image_name): 2012-07-19 Sudarsana Nagineni [EFL] [WK2] Add a callback to handle delete request in MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=91483 Reviewed by Dirk Pranke. Add a callback to handle delete request and quit the main loop when window is asked to be deleted so that all the resources allocated for the window will be freed properly. * MiniBrowser/efl/main.c: (closeWindow): (browserCreate): 2012-07-19 No'am Rosenthal [Qt] Enable CSS shaders in Qt (software mode) https://bugs.webkit.org/show_bug.cgi?id=85140 Reviewed by Simon Hausmann. Enable CSS_SHADERS when WEBGL and CSS_FILTERS are enabled. * qmake/mkspecs/features/features.prf: 2012-07-19 No'am Rosenthal [Qt] Enable CSS shaders in Qt (software mode) https://bugs.webkit.org/show_bug.cgi?id=85140 Reviewed by Simon Hausmann. Enable CSS_SHADERS when WEBGL and CSS_FILTERS are enabled. * qmake/mkspecs/features/features.prf: 2012-07-19 Dirk Pranke test-webkitpy: fix executive_unittest nits, including a missing 'errno' import https://bugs.webkit.org/show_bug.cgi?id=91770 Reviewed by Adam Barth. The missing errno import is causing a flaky failure when run in parallel on the bots. * Scripts/webkitpy/common/system/executive_unittest.py: (ExecutiveTest.assert_interpreter_for_content): 2012-07-19 Oliver Hunt Make style bot handle underscores in names more reasonably https://bugs.webkit.org/show_bug.cgi?id=91777 Reviewed by Gavin Barraclough. This patch adds a naming/readability/underscores category for style errors. That allows us to use underscores in those portions of JSC (and potentially gtk?) without turning off all naming checks for the effected directories. We also filter out the DFG_OPERATION warning, and a few other minor changes to make the style bot less noisy when running over JSC at least. * Scripts/webkitpy/style/checker.py: * Scripts/webkitpy/style/checkers/cpp.py: (check_identifier_name_in_declaration): (CppChecker): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_names): 2012-07-19 Dirk Pranke config_standalone.py is crashing on apple win's cygwin port https://bugs.webkit.org/show_bug.cgi?id=91682 Reviewed by Adam Roben. Work around a weird interaction of ctypes and cygwin that is causing unit tests to crash for me locally. * Scripts/webkitpy/common/system/executive.py: (Executive._win32_check_running_pid): 2012-07-19 Xabier Rodriguez Calvar [GTK] WebKit test runner ignores all system environment variables https://bugs.webkit.org/show_bug.cgi?id=90284 Reviewed by Dirk Pranke. Added support in unit test framework to pass a custom environment variable to the tests by using the --additional-env-var parameter. * Scripts/webkitpy/layout_tests/port/base.py: (Port.to.setup_environ_for_server): Adding environment variables that come through the additional_env_var option. * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_additional_env_var): Added unit test for the additional_env_var option * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): Added the --additional-env-var parameter. 2012-07-19 Joshua Bell Roll out r121610 and r122487 which may have been causing flaky crashes https://bugs.webkit.org/show_bug.cgi?id=91637 Reviewed by Kentaro Hara. Flaky crashes started in random tests following r121610. It's not clear that r121610 is to blame, but we'd like to prove or disprove it. If this doesn't resolve the crashes, this patch should be rolled out. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: (PluginTest): * DumpRenderTree/TestNetscapePlugIn/Tests/LeakWindowScriptableObject.cpp: Removed. 2012-07-19 Pierre Rossi [Qt][WK2] Map the elementRect exposed in QML to the view for popup menu https://bugs.webkit.org/show_bug.cgi?id=91645 Reviewed by Simon Hausmann. Also improved the logic slightly for edge cases. * MiniBrowser/qt/qml/ItemSelector.qml: 2012-07-19 Christophe Dumez [EFL] Bump libsoup dependency to v2.39.4.1 to fix cookie issues https://bugs.webkit.org/show_bug.cgi?id=91741 Reviewed by Kenneth Rohde Christiansen. Bump libsoup dependency in jhbuild to v2.39.4.1 to fix issues with cookies in non-suffixed/private domains [GNOME #679230]. * efl/jhbuild.modules: 2012-07-19 Simon Hausmann [Qt] Remove support for Qt versions before 4.8.0 https://bugs.webkit.org/show_bug.cgi?id=91730 Reviewed by Kenneth Rohde Christiansen. Remove Qt version check #ifdefs for Qt versions before 4.8.0. * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::reset): (LayoutTestController::setAlwaysBlockCookies): * DumpRenderTree/qt/LayoutTestControllerQt.h: (LayoutTestController): 2012-07-19 Mario Sanchez Prada [GTK] Enable MHTML support by default at build time https://bugs.webkit.org/show_bug.cgi?id=89987 Reviewed by Carlos Garcia Campos. Enable MHTML support by default for GTK in build-webkit. * Scripts/webkitperl/FeatureList.pm: 2012-07-19 Zoltan Nyul [EFL][WK2] Using different cache directory for each WTR process https://bugs.webkit.org/show_bug.cgi?id=91719 Reviewed by Kenneth Rohde Christiansen. The testrunner script may be running multiple processes in parallel, and it makes appcache tests fail if they are using the same directory. I modified the EFL's LayoutTestController to use the DUMPRENDERTREE_TEMP for application cache directory because it's different for each process. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp: (WTR::LayoutTestController::platformInitialize): 2012-07-19 Mario Sanchez Prada [WK2][GTK] Complete implementation of AccessibilityController in WKTR for GTK https://bugs.webkit.org/show_bug.cgi?id=89224 Reviewed by Chris Fleizach. Implement logAccessibilityEvents() and resetToConsistentState(), so we can ask WKTR from the layout tests for logging all the accessibility related events into the result. * WebKitTestRunner/GNUmakefile.am: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AccessibilityController::AccessibilityController): (WTR): (WTR::AccessibilityController::logAccessibilityEvents): (WTR::AccessibilityController::resetToConsistentState): * WebKitTestRunner/InjectedBundle/AccessibilityController.h: (AccessibilityController): * WebKitTestRunner/InjectedBundle/gtk/AccessibilityControllerGtk.cpp: Added. (WTR): (WTR::printAccessibilityEvent): (WTR::axObjectEventListener): (WTR::AccessibilityController::logAccessibilityEvents): (WTR::AccessibilityController::resetToConsistentState): Ensure we reset the accessibility controller to a consistent whenever a test has finished running. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::done): 2012-07-19 Dominik Röttsches [EFL][Wk2] Add a bot that runs WTR / WebKit2 tests https://bugs.webkit.org/show_bug.cgi?id=90788 Reviewed by Kentaro Hara. Adding EFL 64bit WK2 BuildAndTest bot. At this point, we cannot transfer the build product from one bot to the other due to link path issues with jhbuild, so we do a full build and test cycle for WebKit2 on this bot. * BuildSlaveSupport/build.webkit.org-config/config.json: Adding the new slave. * BuildSlaveSupport/build.webkit.org-config/master.cfg: Adding a new factory for building and testing WebKit2. (BuildAndTestWebKit2Factory): 2012-07-18 Mihnea Ovidenie Unreviewed. Adding Andrei Bucur, Mihai Balan and Raul Hudea to the contributors list. They are Adobe contributors working on CSSRegions. * Scripts/webkitpy/common/config/committers.py: 2012-07-18 Christophe Dumez [CMake][EFL] Should try to find the same libsoup version pulled by jhbuild https://bugs.webkit.org/show_bug.cgi?id=91626 Reviewed by Kenneth Rohde Christiansen. Update jhbuild to pull libsoup 2.39.3 tarball from Gnome FTP instead of fetching a tag from Gnome GIT. We need to do this to map the version of libsoup that is required by our CMake config. * efl/jhbuild.modules: 2012-07-18 MORITA Hajime Add window resize benchmark https://bugs.webkit.org/show_bug.cgi?id=91070 Reviewed by Ryosuke Niwa. Added some more output filters to take care of html5.html output. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest): 2012-07-18 Dirk Pranke nrwt: merge WebKitDriver into Driver https://bugs.webkit.org/show_bug.cgi?id=91696 Reviewed by Adam Barth. As part of merging WebKitPort into Port, we also should merge WebKitDriver into Driver, since all of the non-test Drivers now inherit from WebKitDriver. There are no functional changes in this patch, and all the changes should be covered by the existing tests. * Scripts/webkitpy/layout_tests/port/base.py: (Port._driver_class): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort._check_file_exists): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidDriver): (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver._drt_cmd_line): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidDriverTest.test_read_prompt): * Scripts/webkitpy/layout_tests/port/driver.py: (Driver): (Driver.__init__): (Driver.__del__): (Driver.run_test): (Driver.has_crashed): (Driver.start): (Driver._start): (Driver.stop): (Driver.cmd_line): (Driver._check_for_driver_crash): (Driver._command_from_driver_input): (Driver._read_first_block): (Driver._read_optional_image_block): (Driver._read_header): (Driver._process_stdout_line): (Driver._strip_eof): (Driver._read_block): (ContentBlock): (ContentBlock.__init__): (ContentBlock.decode_content): * Scripts/webkitpy/layout_tests/port/driver_unittest.py: (DriverTest.make_port): (DriverTest._assert_wrapper): (DriverTest.test_read_block): (DriverTest): (DriverTest.test_read_binary_block): (DriverTest.test_read_base64_block): (DriverTest.test_no_timeout): (DriverTest.test_check_for_driver_crash): (DriverTest.test_check_for_driver_crash.FakeServerProcess): (DriverTest.test_check_for_driver_crash.FakeServerProcess.__init__): (DriverTest.test_check_for_driver_crash.FakeServerProcess.pid): (DriverTest.test_check_for_driver_crash.FakeServerProcess.name): (DriverTest.test_check_for_driver_crash.FakeServerProcess.has_crashed): (DriverTest.test_check_for_driver_crash.FakeServerProcess.stop): (DriverTest.test_check_for_driver_crash.assert_crash): (DriverTest.test_creating_a_port_does_not_write_to_the_filesystem): (DriverTest.test_stop_cleans_up_properly): (DriverTest.test_two_starts_cleans_up_properly): (MockServerProcess): (MockServerProcess.__init__): (MockServerProcess.has_crashed): (MockServerProcess.read_stdout_line): (MockServerProcess.read_stdout): (MockServerProcess.read_either_stdout_or_stderr_line): (MockServerProcess.start): (MockServerProcess.stop): (MockServerProcess.kill): * Scripts/webkitpy/layout_tests/port/gtk.py: * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort._read_image_diff): (WebKitPort.skipped_layout_tests): * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: (test_path_to_apache_config_file): * Scripts/webkitpy/layout_tests/port/xvfbdriver.py: (XvfbDriver): (XvfbDriver.stop): 2012-07-18 Dirk Pranke webkitpy.common.system.executive_unittest.ExecutiveTest.test_kill_process is flaky https://bugs.webkit.org/show_bug.cgi?id=91698 Unreviewed, build fix. This is a workaround for the test failing (apparently mostly?) when run in parallel with other tests. The underlying bug still needs to be diagnosed as we shouldn't be getting ECHILD from process.wait(). * Scripts/webkitpy/common/system/executive_unittest.py: (ExecutiveTest.test_kill_process): 2012-07-18 Dirk Pranke Disable running python unit tests in parallel on win32 for now. https://bugs.webkit.org/show_bug.cgi?id=91697 Unreviewed, build fix. * Scripts/webkitpy/test/main.py: (Tester._parse_args): 2012-07-18 Dave Tu [chromium] Add gl_tests to flakiness dashboard. https://bugs.webkit.org/show_bug.cgi?id=91680 Reviewed by Dirk Pranke. * TestResultServer/static-dashboards/builders.js: (loadBuildersList): * TestResultServer/static-dashboards/dashboard_base.js: (currentBuilderGroupCategory): 2012-07-18 Dirk Pranke fix python unit tests failing under cygwin https://bugs.webkit.org/show_bug.cgi?id=91678 Reviewed by Adam Barth. Fix a case where executive.kill_process was failing under cygwin (apple win port) in an unexpected way. * Scripts/webkitpy/common/system/executive.py: (Executive.kill_process): 2012-07-18 Dirk Pranke test-webkitpy: run tests in parallel by default https://bugs.webkit.org/show_bug.cgi?id=91422 Reviewed by Adam Barth. We use multiprocessing.cpu_count() for the default number of jobs to run; memory overhead should be very low, so this should be fine. * Scripts/webkitpy/test/main.py: (Tester._parse_args): 2012-07-18 Ryosuke Niwa Add Pravin D to the list of contributors. * Scripts/webkitpy/common/config/committers.py: 2012-07-18 Balazs Kelemen [Qt] feature detection in orwt/nrwt does not work with force_static_libs_as_shared https://bugs.webkit.org/show_bug.cgi?id=91514 Reviewed by Dirk Pranke. Analyzing libQtWebKit.so is not enough in the case of force_static_libs_as_shared. We need to analyze all the shared library or at least the WebCore one. * Scripts/webkitdirs.pm: (builtDylibPathForName): In orwt it is hard coded to search for symbols in the WebCore library. While in theory it is possible that symbols for a given feature are not located in that, it doesn't happen in practice, so returning the path of the WebCore library for a force_static_libs_as_shared build is enough to fix the bug and it doesn't require a bigger refactoring. For a default build we still return the path of the QtWebKit lib. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._modules_to_search_for_symbols): Enumerate all dynamic libraries, not just the QtWebKit one. 2012-07-18 Tony Chang [chromium] Unreviewed, more compile fixes on Chromium Win. * DumpRenderTree/chromium/TestShellWin.cpp: (TestShell::waitTestFinished): * DumpRenderTree/chromium/WebThemeControlDRTWin.cpp: 2012-07-18 Christophe Dumez [EFL] Add central error management to EFL port https://bugs.webkit.org/show_bug.cgi?id=91598 Reviewed by Kenneth Rohde Christiansen. Map WebKitNetworkError to NSURLErrorDomain when printing in DumpRenderTree so that the output matches the expected one. * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (descriptionSuitableForTestResult): 2012-07-18 Dirk Pranke nrwt: start merging port/webkit.py into port/base.py https://bugs.webkit.org/show_bug.cgi?id=91559 Reviewed by Ojan Vafai. Since all the non-test port implementations now derive from WebKitPort, there's no real point in keeping WebKitPort distinct from Port. This patch starts merging the two by moving nearly all of the webkit implementations of routines with no default behavior into base.py. The few that didn't move rely on additional infrastructure that should be refactored differently (like the image diffing, which should probably be its own class) and deserve their own patches. This patch should just be moving code around, and require no additional tests; in fact, we can delete the tests that were asserting virtual methods in the base class. * Scripts/webkitpy/layout_tests/port/base.py: (Port.baseline_search_path): (Port.check_build): (Port): (Port._check_driver): (Port._check_port_build): (Port.check_image_diff): (Port.driver_name): (Port.default_results_directory): (Port.to.setup_environ_for_server): (Port._path_to_apache): (Port._is_redhat_based): (Port._is_debian_based): (Port._apache_config_file_name_for_platform): (Port._path_to_apache_config_file): (Port._build_path): (Port._path_to_driver): (Port._path_to_webcore_library): (Port._path_to_helper): (Port._path_to_image_diff): (Port._path_to_wdiff): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_httpd_returns_error_code): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort): (WebKitPort._build_driver_flags): (WebKitPort._read_image_diff): (WebKitPort.skipped_layout_tests): 2012-07-18 Tommy Widenflycht [chromium] MediaStream API: Moving the mock create* WebRTC calls into a shadow Platform class https://bugs.webkit.org/show_bug.cgi?id=86215 Reviewed by Adam Barth. Adding a shadow Platform object that is used to override some WebKit::Platform funtions to instead create mock objects. No actual mock objects created yet. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/DumpRenderTree.cpp: (WebKitSupportTestEnvironment::WebKitSupportTestEnvironment): * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp: Copied from Tools/DumpRenderTree/chromium/config.h. (MockWebKitPlatformSupport::create): (MockWebKitPlatformSupport::MockWebKitPlatformSupport): (MockWebKitPlatformSupport::cryptographicallyRandomValues): (MockWebKitPlatformSupport::createMediaStreamCenter): * DumpRenderTree/chromium/MockWebKitPlatformSupport.h: Copied from Tools/DumpRenderTree/chromium/config.h. (MockWebKitPlatformSupport): * DumpRenderTree/chromium/config.h: 2012-07-18 Thiago Marcos P. Santos [CMake][EFL] Build and run TestWebKitAPI unit tests https://bugs.webkit.org/show_bug.cgi?id=90671 Reviewed by Daniel Bates. This patch enables almost for free a significant amount of test for the WebKit C API, WTF and KURL. It makes easy for CMake based ports to enable TestWebKitAPI since the missing bits to implement are relatively simple. * CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: Added. * TestWebKitAPI/PlatformEfl.cmake: Added. * TestWebKitAPI/PlatformWebView.h: * TestWebKitAPI/config.h: * TestWebKitAPI/efl/InjectedBundleController.cpp: Added. (TestWebKitAPI): (TestWebKitAPI::InjectedBundleController::platformInitialize): * TestWebKitAPI/efl/PlatformUtilities.cpp: Added. (TestWebKitAPI): (Util): (TestWebKitAPI::Util::run): (TestWebKitAPI::Util::sleep): (TestWebKitAPI::Util::createURLForResource): (TestWebKitAPI::Util::createInjectedBundlePath): (TestWebKitAPI::Util::URLForNonExistentResource): * TestWebKitAPI/efl/PlatformWebView.cpp: Added. (TestWebKitAPI): (TestWebKitAPI::initEcoreEvas): (TestWebKitAPI::PlatformWebView::PlatformWebView): (TestWebKitAPI::PlatformWebView::~PlatformWebView): (TestWebKitAPI::PlatformWebView::page): * TestWebKitAPI/efl/main.cpp: Added. (checkForUseX11WindowArgument): (main): 2012-07-18 Thiago Marcos P. Santos [CMake][EFL] Building jsc causes reconfiguration https://bugs.webkit.org/show_bug.cgi?id=91387 Reviewed by Daniel Bates. We should remove CMakeCache only when running build-webkit script, otherwise it will cause a reconfiguration every time someone calls generateBuildSystemFromCMakeProject(). We were re-building "jsc" and not running WebKit2 unit tests on the bots because the project was reconfigured with default values by the scripts that run these tests. * Scripts/build-webkit: * Scripts/webkitdirs.pm: (removeCMakeCache): (generateBuildSystemFromCMakeProject): 2012-07-18 Seokju Kwon [EFL][DRT] Add support for Web Inspector in WebKit-EFL DRT https://bugs.webkit.org/show_bug.cgi?id=87935 Reviewed by Andreas Kling. Web Inspector will be shown when path or url contains "inspector/". Dumprendertree should wait util web inspector resources are loaded totally and handle the signals for creating or removing a view of web inspector. ("inspector,view,create" and "inspector,view,close") * DumpRenderTree/efl/DumpRenderTree.cpp: (shouldOpenWebInspector): (createLayoutTestController): * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::createView): (DumpRenderTreeChrome::createWebInspectorView): (DumpRenderTreeChrome::removeWebInspectorView): (DumpRenderTreeChrome::waitInspectorLoadFinished): (DumpRenderTreeChrome::onInspectorViewCreate): (DumpRenderTreeChrome::onInspectorViewClose): (DumpRenderTreeChrome::onInspectorFrameLoadFinished): * DumpRenderTree/efl/DumpRenderTreeChrome.h: (DumpRenderTreeChrome): * DumpRenderTree/efl/DumpRenderTreeView.cpp: (onConsoleMessage): * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::showWebInspector): (LayoutTestController::closeWebInspector): (LayoutTestController::evaluateInWebInspector): 2012-07-18 Simon Hausmann [ANGLE] On QT, use Bison and Flex during ANGLE build https://bugs.webkit.org/show_bug.cgi?id=91108 Reviewed by Kenneth Rohde Christiansen. * qmake/mkspecs/features/default_post.prf: Add support for variable_out to our generators, to allow generating not only for SOURCES but also ANGLE_SOURCES (in this bug) 2012-07-18 Balazs Kelemen [Qt] plugin tests should not be disabled for WebKit1 https://bugs.webkit.org/show_bug.cgi?id=91604 Reviewed by Simon Hausmann. Instead of not building TestNetscapePlugIn, we could programatically disable actually loading it from WTR until https://bugs.webkit.org/show_bug.cgi?id=86620 has been solved, so we can still test plugins on WebKit1. * Tools.pro: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): * WebKitTestRunner/qt/TestControllerQt.cpp: (WTR::TestController::initializeTestPluginDirectory): 2012-07-18 Mario Sanchez Prada [WK2][GTK] Implement AccessibilityUIElement in WKTR for GTK https://bugs.webkit.org/show_bug.cgi?id=89223 Reviewed by Chris Fleizach. Implemented AccessibilityUIElement in WKTR for GTK, based in the implementation present in DumpRenderTree. Added new files in gtk/ and updated the cross-platform ones. * WebKitTestRunner/GNUmakefile.am: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: (WTR): * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: (AccessibilityUIElement): * WebKitTestRunner/InjectedBundle/gtk/AccessibilityUIElementGtk.cpp: Added. (WTR): (WTR::attributeSetToString): (WTR::checkElementState): (WTR::indexRangeInTable): (WTR::alterCurrentValue): (WTR::AccessibilityUIElement::AccessibilityUIElement): (WTR::AccessibilityUIElement::~AccessibilityUIElement): (WTR::AccessibilityUIElement::isEqual): (WTR::AccessibilityUIElement::getChildren): (WTR::AccessibilityUIElement::getChildrenWithRange): (WTR::AccessibilityUIElement::childrenCount): (WTR::AccessibilityUIElement::elementAtPoint): (WTR::AccessibilityUIElement::indexOfChild): (WTR::AccessibilityUIElement::childAtIndex): (WTR::AccessibilityUIElement::linkedUIElementAtIndex): (WTR::AccessibilityUIElement::ariaOwnsElementAtIndex): (WTR::AccessibilityUIElement::ariaFlowToElementAtIndex): (WTR::AccessibilityUIElement::disclosedRowAtIndex): (WTR::AccessibilityUIElement::rowAtIndex): (WTR::AccessibilityUIElement::selectedChildAtIndex): (WTR::AccessibilityUIElement::selectedChildrenCount): (WTR::AccessibilityUIElement::selectedRowAtIndex): (WTR::AccessibilityUIElement::titleUIElement): (WTR::AccessibilityUIElement::parentElement): (WTR::AccessibilityUIElement::disclosedByRow): (WTR::AccessibilityUIElement::attributesOfLinkedUIElements): (WTR::AccessibilityUIElement::attributesOfDocumentLinks): (WTR::AccessibilityUIElement::attributesOfChildren): (WTR::AccessibilityUIElement::allAttributes): (WTR::AccessibilityUIElement::stringAttributeValue): (WTR::AccessibilityUIElement::numberAttributeValue): (WTR::AccessibilityUIElement::uiElementAttributeValue): (WTR::AccessibilityUIElement::boolAttributeValue): (WTR::AccessibilityUIElement::isAttributeSettable): (WTR::AccessibilityUIElement::isAttributeSupported): (WTR::AccessibilityUIElement::parameterizedAttributeNames): (WTR::AccessibilityUIElement::role): (WTR::AccessibilityUIElement::subrole): (WTR::AccessibilityUIElement::roleDescription): (WTR::AccessibilityUIElement::title): (WTR::AccessibilityUIElement::description): (WTR::AccessibilityUIElement::orientation): (WTR::AccessibilityUIElement::stringValue): (WTR::AccessibilityUIElement::language): (WTR::AccessibilityUIElement::helpText): (WTR::AccessibilityUIElement::x): (WTR::AccessibilityUIElement::y): (WTR::AccessibilityUIElement::width): (WTR::AccessibilityUIElement::height): (WTR::AccessibilityUIElement::clickPointX): (WTR::AccessibilityUIElement::clickPointY): (WTR::AccessibilityUIElement::intValue): (WTR::AccessibilityUIElement::minValue): (WTR::AccessibilityUIElement::maxValue): (WTR::AccessibilityUIElement::valueDescription): (WTR::AccessibilityUIElement::insertionPointLineNumber): (WTR::AccessibilityUIElement::isActionSupported): (WTR::AccessibilityUIElement::isEnabled): (WTR::AccessibilityUIElement::isRequired): (WTR::AccessibilityUIElement::isFocused): (WTR::AccessibilityUIElement::isSelected): (WTR::AccessibilityUIElement::isExpanded): (WTR::AccessibilityUIElement::isChecked): (WTR::AccessibilityUIElement::hierarchicalLevel): (WTR::AccessibilityUIElement::speak): (WTR::AccessibilityUIElement::ariaIsGrabbed): (WTR::AccessibilityUIElement::ariaDropEffects): (WTR::AccessibilityUIElement::lineForIndex): (WTR::AccessibilityUIElement::rangeForLine): (WTR::AccessibilityUIElement::rangeForPosition): (WTR::AccessibilityUIElement::boundsForRange): (WTR::AccessibilityUIElement::stringForRange): (WTR::AccessibilityUIElement::attributedStringForRange): (WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled): (WTR::AccessibilityUIElement::uiElementForSearchPredicate): (WTR::AccessibilityUIElement::attributesOfColumnHeaders): (WTR::AccessibilityUIElement::attributesOfRowHeaders): (WTR::AccessibilityUIElement::attributesOfColumns): (WTR::AccessibilityUIElement::attributesOfRows): (WTR::AccessibilityUIElement::attributesOfVisibleCells): (WTR::AccessibilityUIElement::attributesOfHeader): (WTR::AccessibilityUIElement::rowCount): (WTR::AccessibilityUIElement::columnCount): (WTR::AccessibilityUIElement::indexInTable): (WTR::AccessibilityUIElement::rowIndexRange): (WTR::AccessibilityUIElement::columnIndexRange): (WTR::AccessibilityUIElement::cellForColumnAndRow): (WTR::AccessibilityUIElement::horizontalScrollbar): (WTR::AccessibilityUIElement::verticalScrollbar): (WTR::AccessibilityUIElement::selectedTextRange): (WTR::AccessibilityUIElement::setSelectedTextRange): (WTR::AccessibilityUIElement::increment): (WTR::AccessibilityUIElement::decrement): (WTR::AccessibilityUIElement::showMenu): (WTR::AccessibilityUIElement::press): (WTR::AccessibilityUIElement::setSelectedChild): (WTR::AccessibilityUIElement::accessibilityValue): (WTR::AccessibilityUIElement::documentEncoding): (WTR::AccessibilityUIElement::documentURI): (WTR::AccessibilityUIElement::url): (WTR::AccessibilityUIElement::addNotificationListener): (WTR::AccessibilityUIElement::removeNotificationListener): (WTR::AccessibilityUIElement::isFocusable): (WTR::AccessibilityUIElement::isSelectable): (WTR::AccessibilityUIElement::isMultiSelectable): (WTR::AccessibilityUIElement::isVisible): (WTR::AccessibilityUIElement::isOffScreen): (WTR::AccessibilityUIElement::isCollapsed): (WTR::AccessibilityUIElement::isIgnored): (WTR::AccessibilityUIElement::hasPopup): (WTR::AccessibilityUIElement::takeFocus): (WTR::AccessibilityUIElement::takeSelection): (WTR::AccessibilityUIElement::addSelection): (WTR::AccessibilityUIElement::removeSelection): (WTR::AccessibilityUIElement::textMarkerRangeForElement): (WTR::AccessibilityUIElement::textMarkerRangeLength): (WTR::AccessibilityUIElement::previousTextMarker): (WTR::AccessibilityUIElement::nextTextMarker): (WTR::AccessibilityUIElement::stringForTextMarkerRange): (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): (WTR::AccessibilityUIElement::textMarkerForPoint): (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): (WTR::AccessibilityUIElement::indexForTextMarker): (WTR::AccessibilityUIElement::isTextMarkerValid): (WTR::AccessibilityUIElement::textMarkerForIndex): Add documentEncoding and documentURI to AccessibilityUIElement.idl. * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: 2012-07-18 Alexis Menard [EFL] Build fix in WebKitTestRunner. https://bugs.webkit.org/show_bug.cgi?id=91567 Reviewed by Kentaro Hara. sleep() is defined in unistd.h, we need to include it. * WebKitTestRunner/efl/TestControllerEfl.cpp: 2012-07-18 Kristóf Kosztyó [NRWT] Unreviewed gardening after r122913 https://bugs.webkit.org/show_bug.cgi?id=91601 * Scripts/webkitpy/layout_tests/port/server_process_unittest.py: (TrivialMockPort.process_kill_time): 2012-07-17 Xianzhu Wang [Chromium-Android] Run ref tests together to avoid expensive driver restarts https://bugs.webkit.org/show_bug.cgi?id=91533 Reviewed by Dirk Pranke. Though DriverProxy maintains two drivers to support pixel tests and non-pixel tests, chromium-android uses another way because it can't support multiple drivers. It restarts the driver when pixel-test mode changes (e.g. when running a ref test after a normal test in --no-pixel-tests mode). However restarting driver is expensive on Android (several seconds each time). To reduce the cost, a command line option '--shard-ref-tests' is added to group ref tests in dedicated shards. The option is by default enabled on Android. Will remove the option once DRT supports switching pixel test mode during one run. (https://bugs.webkit.org/show_bug.cgi?id=91538, https://bugs.webkit.org/show_bug.cgi?id=91539) * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._shard_tests): (Manager._shard_in_two): (Manager._shard_by_directory): (Manager._run_tests): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker._update_test_input): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.__init__): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2012-07-17 Don Olmstead NRWT The time before server_process kills DRT should be variable https://bugs.webkit.org/show_bug.cgi?id=91542 Reviewed by Dirk Pranke. Added the ability to configure the amount of time server_process waits before killing the DRT process during the call to stop. * Scripts/webkitpy/layout_tests/port/base.py: (Port.variable.process_kill_time): * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess.stop): 2012-07-17 Alexis Menard webkitdirs.pm should fallback to uname -m if arch is not present. https://bugs.webkit.org/show_bug.cgi?id=91543 Reviewed by Martin Robinson. It seems that coreutils is moving away from the 'arch' command. Archlinux for example doesn't ship it anymore (coreutils 8.17). We can then fallback to 'uname -m' to find out the architecture. * Scripts/webkitdirs.pm: (determineArchitecture): 2012-07-17 Dirk Pranke nrwt: rename printer.print_update to printer.write_update to match metered_stream https://bugs.webkit.org/show_bug.cgi?id=91557 Reviewed by Ojan Vafai. Now that all of the printing logic is in printer.py, I want the public interface to printer to follow the meteredstream interface where possible. renaming write_update() gets us close. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._run_tests): (Manager._set_up_run): (Manager.start_servers_with_lock): (Manager.stop_servers_with_lock): (Manager._clobber_old_results): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.write_update): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_write_update): 2012-07-17 Tony Chang Fix a bug where optimize-baselines would incorrectly fail to optimize https://bugs.webkit.org/show_bug.cgi?id=91551 Reviewed by Adam Barth. In some cases, optimize-baseline would correctly optimize the results, but because we weren't filtering the virtual ports out of _results_by_port_name, we thought that we had failed to optimize. * Scripts/webkitpy/common/checkout/baselineoptimizer.py: (BaselineOptimizer._find_optimal_result_placement): No virtual filtering here. (BaselineOptimizer._filtered_results_by_port_name): New function that filters out virtual directories. (BaselineOptimizer.optimize): Filter out virtual ports. * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: (TestBaselineOptimizer._move_baselines): Add a stub so we don't actual move results. (BaselineOptimizerTest._assertOptimization): Call optimize and verify that the right files were moved. (BaselineOptimizerTest._assertOptimizationFailed): Add a method for when optimization should fail. (BaselineOptimizerTest.test_common_directory_includes_root): Update since this test should fail. (BaselineOptimizerTest.test_virtual_ports_filtered): New test case that demonstrates the bug. 2012-07-17 Xianzhu Wang [Chromium] Add --encode-binary command line option for DRT https://bugs.webkit.org/show_bug.cgi?id=91532 Reviewed by Adam Barth. When the option presents, DRT will encode binary output data in base64. ChromiumAndroidPort will pass the option because 'adb shell' doesn't support binary data output. This change is a refactoring to replace the original hard-coded code for Android. * DumpRenderTree/chromium/DumpRenderTree.cpp: (main): * DumpRenderTree/chromium/TestEventPrinter.cpp: (TestEventPrinter::TestEventPrinter): (TestEventPrinter::handleAudio): New function replacing the original handleAudioHeader (TestEventPrinter::handleImage): (TestEventPrinter::handleBinary): Extracted common function for handleAudio and handleImage * DumpRenderTree/chromium/TestEventPrinter.h: (TestEventPrinter): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): (TestShell::initialize): (TestShell::dump): * DumpRenderTree/chromium/TestShell.h: (TestShell): (TestShell::setEncodeBinary): * Scripts/webkitpy/layout_tests/port/chromium_android.py: Add --encode-binary to additional_drt_flags (ChromiumAndroidPort.__init__): 2012-07-17 Dirk Pranke nrwt: move per-test result output into printing.py https://bugs.webkit.org/show_bug.cgi?id=91465 Reviewed by Ojan Vafai. This moves the last substantive logging/printing code from the manager into printing.py. Subsequent patches in this thread can largely focus on cleaning up printing.py and will leave the rest of the code alone. This patch also removes manager.update() and manager.update_summary(), two routines that were no longer being used or needed (they have been dead for a long time but I didn't notice them until now). * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.results_directory): (Manager._look_for_new_crash_logs): (Manager._update_summary_with_result): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_finished_test): 2012-07-17 Dirk Pranke nrwt: move config-specific logging to printing.py https://bugs.webkit.org/show_bug.cgi?id=91450 Reviewed by Ojan Vafai. More refactoring ... this moves the 'config' output to printing.py. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._resize_shards): (Manager._run_tests): (Manager._upload_json_files): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.get_options): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_config): (Printer.print_workers_and_shards): (Printer._print_config): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_fallback_path_in_config): (Testprinter.test_print_config): 2012-07-17 Dirk Pranke nrwt: clean up logging when we're only running one chunk of the tests https://bugs.webkit.org/show_bug.cgi?id=91447 Reviewed by Ojan Vafai. Apparently we were creating a 'tests_run.txt' in the results directory if we were only running one chunk of the tests; after 3+ years of hacking on this code, that was news to me, so I'm guessing no one uses this. I'm removing this, and changing the _print_expected calls to debug messages to simplify the layering. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._split_into_chunks_if_necessary): 2012-07-17 Dirk Pranke Fix regression in style checker introduced in r122868. https://bugs.webkit.org/show_bug.cgi?id=91470 Unreviewed, build fix. * Scripts/webkitpy/style/checkers/cpp.py: (_FileState.__init__): 2012-07-17 Dirk Pranke nrwt: move the bulk of the "expected" output to printing.py https://bugs.webkit.org/show_bug.cgi?id=91442 Reviewed by Ojan Vafai. More printing-related refactoring. This moves all of the code that prints the results we expect to get, but doesn't move a few dangling printfs (those'll get hit in a later patch). No functional changes; covered by existing tests. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._split_into_chunks_if_necessary): (Manager.prepare_lists_and_print_output): (Manager.print_config): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_expected): (Printer): (Printer._print_expected_results_of_type): (Printer._num_digits): (Printer._print_expected): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_print_expected): 2012-07-17 Christophe Dumez [EFL] Replace 0 by NULL in public headers documentation https://bugs.webkit.org/show_bug.cgi?id=91470 Reviewed by Dirk Pranke. Fix style checking to properly detect C headers as C files. Without this change, the style script would complain if we use NULL (instead of 0 / null) in C headers. * Scripts/webkitpy/style/checkers/cpp.py: (_FileState.__init__): (_FileState.is_c): (_FileState.is_c_or_objective_c): 2012-07-17 Xianzhu Wang [chromium] remove --test-shell support from DRT https://bugs.webkit.org/show_bug.cgi?id=86927 Reviewed by Adam Barth. Now no one use --test-shell. All of us use the standard DRT mode. * DumpRenderTree/chromium/DumpRenderTree.cpp: Removed support of --test-shell and --pixel-tests=filename options. (--pixel-tests without '=' is kept for DRT mode.) (runTest): (main): * DumpRenderTree/chromium/TestEventPrinter.cpp: (TestEventPrinter::TestEventPrinter): (TestEventPrinter::~TestEventPrinter): (TestEventPrinter::handleTestHeader): (TestEventPrinter::handleTimedOut): (TestEventPrinter::handleTextHeader): (TestEventPrinter::handleTextFooter): (TestEventPrinter::handleAudioHeader): (TestEventPrinter::handleAudioFooter): (TestEventPrinter::handleImage): Removed the unused filename parameter. (TestEventPrinter::handleTestFooter): * DumpRenderTree/chromium/TestEventPrinter.h: (TestEventPrinter): Made it a concrete class because we have only one implementation. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): (TestShell::initialize): (TestShell::dumpImage): * DumpRenderTree/chromium/TestShell.h: (TestParams): Removed pixelFileName field. (TestShell): 2012-07-17 Xianzhu Wang remove ChromiumDriver from NRWT https://bugs.webkit.org/show_bug.cgi?id=88478 Now WebKitDriver has replaced ChromiumDriver since test_shell mode is deperecated. Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/chromium.py: Removed ChromiumDriver code. (ChromiumPort._driver_class): Removed. WebKitPort._driver_class() will be used. * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: 2012-07-17 No'am Rosenthal Unreviewed. Add QtGraphics, TextureMapper and OpenGL to watchlist. * Scripts/webkitpy/common/config/watchlist: 2012-07-17 Sheriff Bot Unreviewed, rolling out r122828. http://trac.webkit.org/changeset/122828 https://bugs.webkit.org/show_bug.cgi?id=91516 DumpRenderTree crashes after printing test results. (Requested by vsevik on #webkit). * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: (TestInterfaces::TestInterfaces): (TestInterfaces::~TestInterfaces): (TestInterfaces::bindTo): (TestInterfaces::resetAll): * DumpRenderTree/chromium/TestRunner/TestInterfaces.h: (TestInterfaces): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::createMainWindow): (TestShell::~TestShell): (TestShell::resetTestController): (TestShell::bindJSObjectsToWindow): * DumpRenderTree/chromium/TestShell.h: (TestShell::accessibilityController): (TestShell): 2012-07-17 Gabor Ballabas [Qt][V8] Remove the V8 related codepaths and configuration https://bugs.webkit.org/show_bug.cgi?id=90863 Reviewed by Simon Hausmann. * Scripts/build-webkit: Remove --v8 option. 2012-07-17 Sheriff Bot Unreviewed, rolling out r122834. http://trac.webkit.org/changeset/122834 https://bugs.webkit.org/show_bug.cgi?id=91492 it broke the chromium (Requested by kkristof on #webkit). * Scripts/build-webkit: 2012-07-17 Gabor Ballabas [Qt][V8] Remove the V8 related codepaths and configuration https://bugs.webkit.org/show_bug.cgi?id=90863 Reviewed by Simon Hausmann. * Scripts/build-webkit: Remove --v8 option. 2012-07-17 Balazs Kelemen [Qt] Add --use-test-fonts option to Minibrowser https://bugs.webkit.org/show_bug.cgi?id=91402 Reviewed by Tor Arne Vestbø. Same stuff that already exists for QtTestBrowser. * MiniBrowser/qt/MiniBrowser.pro: * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::handleUserOptions): 2012-07-17 Adam Barth [Chromium] TestInterfaces should be responsible for owning and binding AccessibilityController and TextInputController https://bugs.webkit.org/show_bug.cgi?id=91459 Reviewed by Ryosuke Niwa. Rather than having TestShell own and bind each of these JavaScript APIs individually, TestShell should delegate that work to TestInterfaces. This patch moves AccessibilityController and TextInputController to be the responsibility of TestInterfaces. * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: (TestInterfaces::TestInterfaces): (TestInterfaces::~TestInterfaces): (TestInterfaces::setWebView): (TestInterfaces::bindTo): (TestInterfaces::resetAll): * DumpRenderTree/chromium/TestRunner/TestInterfaces.h: (WebKit): (TestInterfaces): (TestInterfaces::accessibilityController): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::createMainWindow): (TestShell::~TestShell): (TestShell::resetTestController): (TestShell::bindJSObjectsToWindow): * DumpRenderTree/chromium/TestShell.h: (TestShell::accessibilityController): (TestShell): 2012-07-17 Adam Barth [Chromium] Move TextInputController into TestRunner.a https://bugs.webkit.org/show_bug.cgi?id=91457 Reviewed by Ryosuke Niwa. This patch is purely moving code. TextInputController is one of the objects exposed to JavaScript and so should be in the TestRunner library. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/TestRunner/TextInputController.cpp: Renamed from Tools/DumpRenderTree/chromium/TextInputController.cpp. * DumpRenderTree/chromium/TestRunner/TextInputController.h: Renamed from Tools/DumpRenderTree/chromium/TextInputController.h. 2012-07-17 Adam Barth [Chromium] TextInputController shouldn't know about TestShell https://bugs.webkit.org/show_bug.cgi?id=91455 Reviewed by Kent Tamura. This patch uses the same pattern we used for the AccessibilityController to remove the dependency on TestShell. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::createMainWindow): (TestShell::~TestShell): * DumpRenderTree/chromium/TextInputController.cpp: (TextInputController::TextInputController): (TextInputController::insertText): (TextInputController::doCommand): (TextInputController::setMarkedText): (TextInputController::unmarkText): (TextInputController::hasMarkedText): (TextInputController::markedRange): (TextInputController::selectedRange): (TextInputController::firstRectForCharacterRange): (TextInputController::validAttributesForMarkedText): (TextInputController::setComposition): * DumpRenderTree/chromium/TextInputController.h: (WebKit): (TextInputController): (TextInputController::setWebView): 2012-07-17 David Barr Introduce ENABLE_CSS_IMAGE_ORIENTATION compile flag https://bugs.webkit.org/show_bug.cgi?id=89055 Reviewed by Kent Tamura. The css3-images module is at candidate recommendation. http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation Add a configuration option for CSS image-orientation support, disabling it by default. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-07-16 Adam Barth [Chromium] Move Task.(cpp|h) into TestRunner.a https://bugs.webkit.org/show_bug.cgi?id=91446 Reviewed by Ryosuke Niwa. Task is a dependency of EventSender, which needs to move into TestRunner.a. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/TestRunner/Task.cpp: Renamed from Tools/DumpRenderTree/chromium/Task.cpp. * DumpRenderTree/chromium/TestRunner/Task.h: Renamed from Tools/DumpRenderTree/chromium/Task.h. 2012-07-16 Adam Barth [Chromium] Move AccessibilityController and AccessibilityUIElement into TestRunner.a https://bugs.webkit.org/show_bug.cgi?id=91443 Reviewed by Tony Chang. Purely a file move (and a sorting of #includes). * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/TestRunner/AccessibilityController.cpp: Renamed from Tools/DumpRenderTree/chromium/AccessibilityController.cpp. * DumpRenderTree/chromium/TestRunner/AccessibilityController.h: Renamed from Tools/DumpRenderTree/chromium/AccessibilityController.h. * DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.cpp: Renamed from Tools/DumpRenderTree/chromium/AccessibilityUIElement.cpp. * DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.h: Renamed from Tools/DumpRenderTree/chromium/AccessibilityUIElement.h. 2012-07-16 Adam Barth [Chromium] AccessibilityController shouldn't know anything about TestShell https://bugs.webkit.org/show_bug.cgi?id=91441 Reviewed by Tony Chang. This patch is a precursor to moving AccessibilityController.cpp into TestRunner.a. * DumpRenderTree/chromium/AccessibilityController.cpp: (AccessibilityController::AccessibilityController): (AccessibilityController::getFocusedElement): (AccessibilityController::getRootElement): * DumpRenderTree/chromium/AccessibilityController.h: (WebKit): (AccessibilityController): (AccessibilityController::setWebView): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::createMainWindow): (TestShell::~TestShell): 2012-07-16 Adam Barth [Chromium] Introduce TestInterfaces to hold all the JavaScript interfaces needed for LayoutTests https://bugs.webkit.org/show_bug.cgi?id=91312 Reviewed by Ryosuke Niwa. Looking forward to moving more objects into TestRunner.a, we're going to need an object to own all the interfaces and to put them through their lifecycle. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/TestShell.cpp: (TestShell::initialize): (TestShell::resetTestController): (TestShell::bindJSObjectsToWindow): * DumpRenderTree/chromium/TestShell.h: (TestShell): * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp: Added. * DumpRenderTree/chromium/TestRunner/TestInterfaces.h: Added. 2012-07-16 Ryuan Choi [EFL][WK2] Add APIs to support theme. https://bugs.webkit.org/show_bug.cgi?id=90107 Reviewed by Hajime Morita. Override default theme path for MiniBrowser and WebKitTestRunner. * MiniBrowser/efl/CMakeLists.txt: * MiniBrowser/efl/main.c: (browserCreate): * WebKitTestRunner/PlatformEfl.cmake: * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: (WTR::PlatformWebView::PlatformWebView): 2012-07-16 Ryuan Choi [EFL][DRT] Implement dumpFrameScrollPosition https://bugs.webkit.org/show_bug.cgi?id=87638 Reviewed by Hajime Morita. * DumpRenderTree/efl/DumpRenderTree.cpp: (dumpFrameScrollPosition): Implemented. (shouldDumpFrameScrollPosition): Fixed wrong condition like other ports. 2012-07-16 Don Olmstead NRWRT Should provide a VS project to work on https://bugs.webkit.org/show_bug.cgi?id=91436 Reviewed by Dirk Pranke. Adding VS2010 project for modifying webkitpy. Uses pytools which integrates python into Visual Studio. * Scripts/webkitpy/webkitpy.pyproj: Added. * Scripts/webkitpy/webkitpy.sln: Added. 2012-07-16 Adam Barth [Chromium] Move GamepadController into TestRunner.a https://bugs.webkit.org/show_bug.cgi?id=91311 Reviewed by Tony Chang. GamepadController looks like a simple class to move into TestRunner.a because it has almost zero dependence on TestShell. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/TestRunner/CppBoundClass.cpp: Renamed from Tools/DumpRenderTree/chromium/CppBoundClass.cpp. * DumpRenderTree/chromium/TestRunner/CppBoundClass.h: Renamed from Tools/DumpRenderTree/chromium/CppBoundClass.h. * DumpRenderTree/chromium/TestRunner/CppVariant.cpp: Renamed from Tools/DumpRenderTree/chromium/CppVariant.cpp. * DumpRenderTree/chromium/TestRunner/CppVariant.h: Renamed from Tools/DumpRenderTree/chromium/CppVariant.h. - GamepadController depends on these bindings helpers. * DumpRenderTree/chromium/TestRunner/GamepadController.cpp: Renamed from Tools/DumpRenderTree/chromium/GamepadController.cpp. * DumpRenderTree/chromium/TestRunner/GamepadController.h: Renamed from Tools/DumpRenderTree/chromium/GamepadController.h. - Just moved these files and removed the unused TestShell references. * DumpRenderTree/chromium/TestRunner/Stub.cpp: Removed. - No longer needed. * DumpRenderTree/chromium/TestShell.cpp: - Update call to constructor to avoid passing in this. 2012-07-16 Xianzhu Wang [Chromium-android] Don't use test_shell mode of DRT https://bugs.webkit.org/show_bug.cgi?id=88542 Reviewed by Dirk Pranke. Test shell mode is about to be removed. Switch to use DRT mode for chromium-android. Summary of changes: 1. ChromiumAndroidDriver now inherits from WebKitDriver instead of ChromiumDriver (to be deprecated). 2. Conforms to the DRT mode protocol for input/output of DumpRenderTree. 3. Added support for Android 'adb shell' input/output (base64, newline mode, etc.) * DumpRenderTree/chromium/TestEventPrinter.cpp: (DRTPrinter::handleImage): Outputs base64 on Android. * DumpRenderTree/chromium/TestShellAndroid.cpp: (platformInit): Changed err_file to err_fifo, required by python ServerProcess. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.__init__): (ChromiumAndroidPort.create_driver): Override to create driver without DriverProxy to ensure 1 Driver per run. (ChromiumAndroidDriver): (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver.cmd_line): (ChromiumAndroidDriver._deadlock_detector): (ChromiumAndroidDriver._drt_cmd_line): (ChromiumAndroidDriver.start): (ChromiumAndroidDriver._start): (ChromiumAndroidDriver._start_once): (ChromiumAndroidDriver.run_test): (ChromiumAndroidDriver.stop): (ChromiumAndroidDriver._command_from_driver_input): (ChromiumAndroidDriver._read_prompt): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidPortTest.test_driver_cmd_line): (ChromiumAndroidDriverTest.test_cmd_line): (ChromiumAndroidDriverTest): (ChromiumAndroidDriverTest.test_drt_cmd_line): (ChromiumAndroidDriverTest.test_read_prompt): (ChromiumAndroidDriverTest.test_command_from_driver_input): (ChromiumAndroidDriverTest.test_write_command_and_read_line): * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess.__init__): Added universal_newlines to handle Android 'adb shell' line ends. (ServerProcess._start): (ServerProcess._wait_for_data_and_update_buffers_using_select): Handles unexpected EOF which indicates crash on Android. (ServerProcess.stop): Added kill_directly parameter to kill the process without waiting it (which always timeouts for Android). (ServerProcess.replace_outputs): Added to combine different input/output pipes into one ServerProcess. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitDriver._command_from_driver_input): (WebKitDriver.run_test): Changed timeout origin so that slow start() on Android won't cause timeout of layout test case. * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: (MockServerProcess.read_stdout): (MockServerProcess.start): (MockServerProcess): (MockServerProcess.stop): (MockServerProcess.kill): (WebKitDriverTest.test_read_block): (WebKitDriverTest.test_read_binary_block): (WebKitDriverTest.test_read_base64_block): 2012-07-16 Dirk Pranke nrwt: move a bunch of printing code from manager.py to printing.py https://bugs.webkit.org/show_bug.cgi?id=91439 Reviewed by Ojan Vafai. All of the logic that handles what gets logged should eventually live in printing.py; this patch moves a large chunk of code that prints all of the stuff after the run completes. There are no functional changes, this is just moving code around. Covered by existing tests (updated as necessary). This code is all pretty messy and most of it should be deleted (or extracted after the fact from results.json), but I'm saving that for further patches. My goal is just to manager.py to a more manageable state. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.prepare_lists_and_print_output): (Manager.run): (Manager._mark_interrupted_tests_as_skipped): (Manager._update_summary_with_result): (Manager._num_digits): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_interrupt_if_at_failure_limits): (ResultSummaryTest.summarized_results): * Scripts/webkitpy/layout_tests/models/result_summary.py: (ResultSummary.__init__): (ResultSummary.add): Here we had to add a list of the slow tests to the result summary so that we didn't need to call back into the manager and the test expectations object to figure out if a test is SLOW. * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_results): (Printer): (Printer._print_timing_statistics): (Printer._print_aggregate_test_statistics): (Printer._print_individual_test_times): (Printer._print_test_list_timing): (Printer._print_directory_timings): (Printer._print_statistics_for_test_timings): (Printer._print_result_summary): (Printer._print_result_summary_entry): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_print_unexpected_results.get_unexpected_results): (Testprinter): 2012-07-16 Adam Barth [Chromium] Create a stub TestRunner.a target https://bugs.webkit.org/show_bug.cgi?id=91309 Reviewed by Ryosuke Niwa. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/TestRunner/Stub.cpp: Added. 2012-07-16 Dirk Pranke test-webkitpy: clean up logging to make it ninja-esque https://bugs.webkit.org/show_bug.cgi?id=91297 Reviewed by Adam Barth. This patch changes the output of test-webkitpy to be closer to what ninja produces. Namely: If you are running with stderr writing to a tty (and not -v), we will no longer print '...' as tests complete. Instead, we use a metered stream and print entries of the form: '[X/Y] test_name passed/failed/erred' where X is the current test # and Y is the total number of tests. If you are running with stderr piped to a file or other non-tty object (or with -v), you get the same output, one per line for every test. In addition, if tests fail or err out, you get the stack trace immediately; you don't have to wait until the end of the run. Lastly, this change cleans up the unit tests for test-webkitpy itself to not confuse the logger and to work cleanly w/ multiple processes. It looks like between this and all the clean up in MessagePool that happened as it landed, we can now run multiprocessing tests in parallel. * Scripts/webkitpy/test/finder.py: (Finder._default_names): * Scripts/webkitpy/test/finder_unittest.py: (FinderTest.setUp): (FinderTest.tearDown): * Scripts/webkitpy/test/printer.py: (Printer.__init__): (Printer.configure): (Printer.print_started_test): (Printer.print_finished_test): (Printer._test_line): (Printer.print_result): * Scripts/webkitpy/test/runner.py: (Runner.run): * Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.setUp): (RunnerTest): (RunnerTest.tearDown): (RunnerTest.assert_run): (RunnerTest.test_regular): (RunnerTest.test_verbose): (RunnerTest.test_timing): 2012-07-16 Dirk Pranke test-webkitpy: handle failures properly when running in parallel https://bugs.webkit.org/show_bug.cgi?id=91416 Reviewed by Adam Barth. It turns out that unittest.TestResults contain a handle to the test method itself, which isn't picklable; it's sufficient to just store the test name instead of the actual method. By doing so we can move the test_name() method from the printer to the runner where it belongs (so the printer is less dependent on the unittest framework's data structures). This change should really have a test but I don't know how to write one that properly captures the behavior and won't cause test-webkitpy itself to fail. I've verified the fix by hand, at least, in the meantime. * Scripts/webkitpy/test/printer.py: (Printer.__init__): (Printer.print_result): * Scripts/webkitpy/test/runner.py: (_test_name): (Runner.all_test_names): (_Worker.handle): 2012-07-16 Dirk Pranke test-webkitpy: handle failures properly when running in parallel https://bugs.webkit.org/show_bug.cgi?id=91416 Reviewed by Tony Chang. It turns out that unittest.TestResults contain a handle to the test method itself, which isn't picklable; it's sufficient to just store the test name instead of the actual method. By doing so we can move the test_name() method from the printer to the runner where it belongs (so the printer is less dependent on the unittest framework's data structures). This change should really have a test but I don't know how to write one that properly captures the behavior and won't cause test-webkitpy itself to fail. I've verified the fix by hand, at least, in the meantime. * Scripts/webkitpy/test/printer.py: (Printer.__init__): (Printer.print_result): * Scripts/webkitpy/test/runner.py: (_test_name): (Runner.all_test_names): (_Worker.handle): 2012-07-16 Dirk Pranke test-webkitpy: run tests in parallel https://bugs.webkit.org/show_bug.cgi?id=91294 Reviewed by Ojan Vafai. This change adds support for running tests in parallel. This is not yet on by default, since the logging isn't very pretty w/ parallel tests. Also, there are some (multiprocessing-related) tests that can't be run in parallel and so we skip them in that situation; I need to come up with a mechanism for dealing with this, since you apparently can't use multiprocessing as both a parent and a child process. * Scripts/webkitpy/test/finder.py: (Finder.find_names): (Finder._default_names): * Scripts/webkitpy/test/main.py: (Tester._parse_args): (Tester.run): * Scripts/webkitpy/test/main_unittest.py: (TesterTest.test_no_tests_found): * Scripts/webkitpy/test/runner.py: (Runner.run): * Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.test_regular): (RunnerTest.test_verbose): (RunnerTest.test_timing): 2012-07-16 Dirk Pranke test-webkitpy: use message pools https://bugs.webkit.org/show_bug.cgi?id=91292 Reviewed by Ojan Vafai. Restructure the test-running code to be message-driven and use a MessagePool; note that this does not yet actually run the tests in parallel. Also clean up the unit tests so that the fake loader is passed to the _Worker properly, and reduce a lot of the cut&pasted code in the tests. No functional changes; covered by existing tests. * Scripts/webkitpy/test/printer.py: (Printer.print_started_test): (Printer.print_finished_test): * Scripts/webkitpy/test/runner.py: (Runner.__init__): (Runner.run): (Runner.handle): (_Worker): (_Worker.__init__): (_Worker.handle): * Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.assert_run): (RunnerTest.test_regular): (RunnerTest.test_verbose): (RunnerTest.test_timing): 2012-07-16 Simon Hausmann [Qt] Fix Qt5 module dependencies https://bugs.webkit.org/show_bug.cgi?id=91388 Reviewed by Laszlo Gombos. Removed ancient qtscript and qtxmlpatterns module dependencies. * qmake/qt_webkit.pri: 2012-07-16 Thiago Marcos P. Santos run-webkit-test returns 254 at exit even when it succeeds https://bugs.webkit.org/show_bug.cgi?id=91370 Reviewed by Simon Hausmann. sys.exit() is implemented by raising SystemExit which inherits from BaseException. Since we are catching BaseException, run_webkit_tests.py was always returning an error code. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: 2012-07-15 Carlos Garcia Campos Unreviewed. Fix make distcheck. * GNUmakefile.am: Add missing file to compilation. 2012-07-15 Gyuyoung Kim Unreviewed. Add EFLWebKit2PublicAPI, EFLWebKit2PlatformSpecific to watch list. * Scripts/webkitpy/common/config/watchlist: 2012-07-15 Gyuyoung Kim Unreviewed. Add gyuyoung.kim@samsung.com to watch list. * Scripts/webkitpy/common/config/watchlist: 2012-07-15 Joseph Pecoraro Windowless WebView not firing JavaScript load event if there is a media element https://bugs.webkit.org/show_bug.cgi?id=91331 Reviewed by Eric Carlson. Test a windowless WebView loading a page with a media element. The load event should happen on the next spin of the run loop, but we spin check the page, with a timeout of 250ms. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.html: Added. * TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.mm: Added. (-[WindowlessWebViewWithMediaFrameLoadDelegate webView:didFinishLoadForFrame:]): (TestWebKitAPI::spinLoop): Spin check with timeout. Runs a block each spin to early bail. (TestWebKitAPI::TEST): 2012-07-14 Benjamin Poulain [Mac] Do not try to update the cache model for every WebPreferences change https://bugs.webkit.org/show_bug.cgi?id=91302 Reviewed by Joseph Pecoraro. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm: Added. (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-07-14 Sheriff Bot Unreviewed, rolling out r122665. http://trac.webkit.org/changeset/122665 https://bugs.webkit.org/show_bug.cgi?id=91321 Broke Mac builds (Requested by rniwa on #webkit). * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm: Removed. 2012-07-13 Benjamin Poulain [Mac] Do not try to update the cache model for every WebPreferences change https://bugs.webkit.org/show_bug.cgi?id=91302 Reviewed by Joseph Pecoraro. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm: Added. (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-07-13 Dirk Pranke run-webkit-test outputs the wrong number of tests executed when some are skipped. https://bugs.webkit.org/show_bug.cgi?id=89894 Reviewed by Ojan Vafai. Fix the logging of the actual number of tests run so that tests that are skipped aren't included. Also revamp the 'expected' output so we distinguish the number of tests found from the number of tests run (to account for --repeat-each and --iterations). Covered by existing tests. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.prepare_lists_and_print_output): (Manager._log_num_workers): (Manager.run): (Manager._print_result_summary): * Scripts/webkitpy/layout_tests/models/result_summary.py: (ResultSummary.__init__): (ResultSummary.add): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_one_line_summary): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_print_one_line_summary): 2012-07-13 Dirk Pranke nrwt: actually print the exception name and message for otherwise unhandled exceptions https://bugs.webkit.org/show_bug.cgi?id=91305 Reviewed by Adam Barth. Two more places where I was printing the stack trace but not the exception itself :(. These two spots can't easily be unit-tested, but I tested them by hand. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): (main): 2012-07-13 Josh Hawn Fix for WebContext::getWebCoreStatistics() causes crash if no m_process https://bugs.webkit.org/show_bug.cgi?id=91116 Reviewed by Simon Fraser. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new test file. * TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Added. (TestWebKitAPI::wkContextGetStatisticsCallback): Tests that callback function receives an error. (TestWebKitAPI::TEST): Creates a dummy web context object (no web process). Calls WKContextGetStatistics with the web context and test callback. The test callback should get an expected error. 2012-07-13 Dirk Pranke test-webkitpy: move printing-related code out of the runner https://bugs.webkit.org/show_bug.cgi?id=91289 Reviewed by Ryosuke Niwa. More refactoring ... this moves all printing-related stuff out of runner.py and into printer.py. No functional changes; covered by existing tests. * Scripts/webkitpy/test/main.py: (Tester._run_tests): * Scripts/webkitpy/test/printer.py: (Printer.__init__): (Printer): (Printer.test_name): (Printer.print_started_test): (Printer.print_finished_test): (Printer.print_result): * Scripts/webkitpy/test/runner.py: (Runner.__init__): (Runner.all_test_names): (Runner.run): * Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.test_regular): (RunnerTest.test_verbose): (RunnerTest.test_timing): 2012-07-13 Dirk Pranke webkitpy: split printing/logging code for test-webkitpy out into a new class https://bugs.webkit.org/show_bug.cgi?id=91282 Reviewed by Ojan Vafai. This patch is the first step at splitting all of the printing/logging code out separately from the actual test-running code. This is just moving stuff around; no new functionality and no new tests needed. * Scripts/webkitpy/test/finder_unittest.py: (FinderTest.setUp): * Scripts/webkitpy/test/main.py: (Tester.__init__): (Tester._parse_args): (Tester.run): (Tester._run_tests): (Tester._log_exception): * Scripts/webkitpy/test/main_unittest.py: (TesterTest.test_no_tests_found): * Scripts/webkitpy/test/printer.py: Added. (Printer): (Printer.__init__): (Printer.configure): (Printer.configure.filter): (_CaptureAndPassThroughStream): (_CaptureAndPassThroughStream.__init__): (_CaptureAndPassThroughStream.write): (_CaptureAndPassThroughStream._message_is_from_pdb): (_CaptureAndPassThroughStream.flush): (_CaptureAndPassThroughStream.getvalue): 2012-07-13 James Simonsen [Navigation Timing] Imported W3C tests contain duplicates and are DOS formatted https://bugs.webkit.org/show_bug.cgi?id=91184 Reviewed by Adam Barth. The upstream 'html5' tests are just duplicates of the 'html' tests. * Scripts/import-w3c-performance-wg-tests: 2012-07-13 Dirk Pranke webkitpy: hide yield_to_caller from callers in MessagePool :) https://bugs.webkit.org/show_bug.cgi?id=91269 Reviewed by Adam Barth. yield_to_caller() was an optimization/hack to allow us to run both manager and worker in a single process/loop without starving the manager while the worker is running tests. The worker was required to call yield_to_caller() periodically. It turns out that I can get equivalent responsiveness by yielding inside the MessagePool every time the worker posts a message, and this allows me to no longer need the worker to call the routine. Thus I rename yield_to_caller() to _yield_to_manager() to be a little clearer about its purpose. Tested by existing tests. * Scripts/webkitpy/common/message_pool.py: (_Worker.run): (_Worker.post): (_Worker._yield_to_manager): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.handle): 2012-07-13 Adam Barth EWSTools should be able to build a commit-queue instance from scratch https://bugs.webkit.org/show_bug.cgi?id=91264 Reviewed by Eric Seidel. I've been using this script to build commit-queue instances on Google Compute Engine and it seems to work. * EWSTools/GoogleComputeEngine/build-commit-queue.sh: Added. 2012-07-13 Dirk Pranke webkitpy: make worker.start() and worker.stop() optional in the messagepool https://bugs.webkit.org/show_bug.cgi?id=91170 Reviewed by Ojan Vafai. test-webkitpy will use messagepool workers that don't actually have any per-worker state, so they don't need start() and stop() methods. Now we will only call the methods if they exist; this means that workers only need to expose a handle() method. * Scripts/webkitpy/common/message_pool.py: (_Worker.terminate): (_Worker.run): 2012-07-13 Dirk Pranke NRWT doesn't print exceptions https://bugs.webkit.org/show_bug.cgi?id=91129 Reviewed by Ojan Vafai. Although we printed exceptions in most cases, if an unexpected exception (like a runtime error) was raised when creating a port, we wouldn't. This patch fixes that, and also cleans up how we were logging exceptions from the workers to be less verbose. Because of the corner cases where these errors are occurring, it's difficult to write automated unit tests for them. I've tested it quite a bit by hand, though. * Scripts/webkitpy/common/message_pool.py: (_MessagePool._close): (_MessagePool._handle_worker_exception): (_Worker.run): (_Worker._raise): * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._run_tests): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (main): 2012-07-13 Wei James enable TestWebKitAPI/webkit_unit_tests apk on x86 android platform by adding abi support https://bugs.webkit.org/show_bug.cgi?id=91194 Reviewed by Adam Barth. * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-07-13 Simon Pena [GTK] Gardening: update API tests skipped list https://bugs.webkit.org/show_bug.cgi?id=91224 Unreviewed gardening. Skip "next" and "previous" tests of FindController until bug #91083 is fixed. * gtk/run-api-tests: (TestRunner): 2012-07-13 Zeno Albisser [Qt][WK2] Implement GraphicsSurface for Linux/GLX. https://bugs.webkit.org/show_bug.cgi?id=90881 Enable GraphicsSurface for Linux based platforms whenever the Xcomposite extension is available. Reviewed by Noam Rosenthal. * qmake/config.tests/libXcomposite/libXcomposite.cpp: Added. (main): * qmake/config.tests/libXcomposite/libXcomposite.pro: Added. Add a configure test to detect Xcomposite extension and activate GraphicsSurface on linux in case the extension is available. * qmake/configure.pri: * qmake/mkspecs/features/features.prf: 2012-07-13 David Grogan nrwt: don't choke when printing invalid utf-8 to stderr https://bugs.webkit.org/show_bug.cgi?id=91181 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (TestResultWriter.write_stderr): 2012-07-13 Dirk Pranke test-webkitpy: more class renaming cleanup https://bugs.webkit.org/show_bug.cgi?id=91182 Reviewed by Adam Barth. More removing of the unnecessary "Test" prefix. * Scripts/webkitpy/test/finder.py: (_DirectoryTree): (Finder.add_tree): * Scripts/webkitpy/test/main.py: (Tester._run_tests): * Scripts/webkitpy/test/runner.py: (Runner): * Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.test_regular): (RunnerTest.test_verbose): (RunnerTest.test_timing): 2012-07-12 Christophe Dumez [WK2][EFL] Facilitate debugging of the Web Process https://bugs.webkit.org/show_bug.cgi?id=90768 Reviewed by Kenneth Rohde Christiansen. Add a new --webprocess-cmd-prefix argument to run-webkit-tests script for EFL port. If provided, the prefix will be prepended to the command used to spawn the Web process. This can be used for debugging purposes with prefixes such as: "xterm -title renderer -e gdb --args". * Scripts/webkitpy/layout_tests/port/efl.py: (EflPort.__init__): (EflPort.setup_environ_for_server): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): * WebKitTestRunner/efl/TestControllerEfl.cpp: (WTR::TestController::platformRunUntil): Implement support for m_noTimeout timeout value. 2012-07-12 Adam Barth Fix crash in the commit-queue. We need to initialize self.port during __init__. * Scripts/webkitpy/tool/commands/queues.py: (CommitQueue.__init__): (CommitQueue.begin_work_queue): 2012-07-12 Dirk Pranke test-webkitpy: rename test_finder to finder https://bugs.webkit.org/show_bug.cgi?id=91175 Reviewed by Adam Barth. Rename test_finder -> finder, TestFinder -> Finder to remove some of the stutter in the names. * Scripts/webkitpy/test/finder.py: Renamed from Tools/Scripts/webkitpy/test/test_finder.py. * Scripts/webkitpy/test/finder_unittest.py: Renamed from Tools/Scripts/webkitpy/test/test_finder_unittest.py. * Scripts/webkitpy/test/main.py: (Tester.__init__): 2012-07-12 Adam Barth CommitQueue is confused about what port it is using https://bugs.webkit.org/show_bug.cgi?id=91040 Reviewed by Dirk Pranke. On EC2, we explicitly pass --port to the commit-queue, but that requires editing the start-queue.sh script locally on each bot. In moving to Google Compute Engine, we're try to avoid any local edits to the EWSTools. Rather than passing --port to the commit-queue, this patch teaches the CommitQueue which port its running, which is the approach we use for the EWS bots. Mutating tool._deprecated_port is a bit ugly, but it's what we're doing currently for the EWS bots. * Scripts/webkitpy/tool/commands/queues.py: (CommitQueue): (CommitQueue.begin_work_queue): (CommitQueue.run_command): * Scripts/webkitpy/tool/commands/queues_unittest.py: (CommitQueueTest.test_commit_queue): (mock_run_webkit_patch): (test_rollout): (test_rollout_lands): (test_manual_reject_during_processing): 2012-07-12 James Simonsen [Navigation Timing] Import the W3C Navigation Timing test suite https://bugs.webkit.org/show_bug.cgi?id=84887 Reviewed by Tony Gentilcore. * Scripts/import-w3c-performance-wg-tests: Added. 2012-07-12 Adam Barth Unreviewed. Nit: git config files use tabs, not spaces. * EWSTools/cold-boot.sh: 2012-07-12 Kwang Yul Seo Unreviewed. Add Dongsung Huang to the list of contributors. He has submitted over 30 patches on texture mapper, canvas and image decoders. * Scripts/webkitpy/common/config/committers.py: 2012-07-12 Kwang Yul Seo Unreviewed. Change my irc nickname to kseo. * Scripts/webkitpy/common/config/committers.py: 2012-07-12 Dirk Pranke webkitpy: clean up logging handlers, lint common.message_pool https://bugs.webkit.org/show_bug.cgi?id=91152 Reviewed by Ojan Vafai. The unix implementation of multiprocessing clones any logging handlers from the parent process into the child; we currently don't want this behavior in our code, so I was hand-removing the installed handlers in the child process I knew about. After thinking about it further, I think it was simpler and safe enough to just remove all handlers in the child, since the message pool propagates any message from the child back into the parent. We can always change this in the future if it turns out to be an issue. I'm also fixing a couple of other lint warnings while I'm at it. * Scripts/webkitpy/common/message_pool.py: (_MessagePool.__exit__): (_MessagePool._handle_worker_exception): (_Worker._set_up_logging): 2012-07-12 Dirk Pranke webkitpy: rename manager_worker_broker to message_pool https://bugs.webkit.org/show_bug.cgi?id=91145 Reviewed by Ojan Vafai. Since the MessagePool interface is more generic (and simpler) now and will be reused by test-webkitpy, I'm renaming it and moving it to webkitpy.common. * Scripts/webkitpy/common/message_pool.py: Renamed from Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py. * Scripts/webkitpy/layout_tests/controllers/manager.py: (TestRunInterruptedException.__reduce__): (Manager._run_tests.worker_factory): (Manager._run_tests): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: 2012-07-12 Dirk Pranke nrwt crashes saving the output for a platform-specific expected test reference https://bugs.webkit.org/show_bug.cgi?id=90872 Reviewed by Ojan Vafai. The expected output for a test is copied alongside the test itself in the layout-test-results directory; in other words, for foo/bar-expected.txt sits alongside foo/bar.html even if we're actually using platform/mac/foo/bar-expected.txt. Unless the test is a reftest, in which case we would copy the output to platform/mac/foo/bar-expected.html and set a 'ref_file' parameter in results.json to indicate the path. This can be useful in the cases where we have multiple references for a single test or when multiple tests share the same reference. We found a bug where we weren't creating platform/mac/foo under the results directory, and so this wasn't actually working. However, treating reftests differently seems like a bad thing, so we should probably be consistent. This change puts the -expected.html next to the test, and reworks test_result_writer so that we create directories uniformly and consistently. Note that we weren't catching this problem in unit tests because the MockFileSystem creates a directory automatically if it doesn't exist; this was done intentionally for convenience, but is really a bug and should be fixed; see https://bugs.webkit.org/show_bug.cgi?id=91028. I have not added additional tests here since fixing that bug should be sufficient. * Scripts/webkitpy/layout_tests/controllers/manager.py: (interpret_test_failures): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ResultSummaryTest.test_interpret_test_failures): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): (TestResultWriter._write_binary_file): (TestResultWriter): (TestResultWriter._write_text_file): (TestResultWriter.write_output_files): (TestResultWriter.write_stderr): (TestResultWriter.write_crash_log): (TestResultWriter.create_text_diff_and_write_result): (TestResultWriter.write_image_diff_files): (write_reftest): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (EndToEndTest.test_reftest_with_two_notrefs): 2012-07-12 Dirk Pranke nrwt: reimplement manager_worker_broker in a much simpler form https://bugs.webkit.org/show_bug.cgi?id=90513 Reviewed by Ojan Vafai. This is a wholesale replacement of the MessagePool() implementation and the other classes in manager_worker_broker.py. All of the BrokerConnection*, Broker*, etc. classes are gone, and there are now just a MessagePool class and a _Worker class. Happiness ensues. I'm removing manager_worker_broker_unittest.py as well; we get nearly complete coverage from the integration tests, and will get more coverage when test-webkitpy moves to use this as well, so having unit tests seems like unnecessary overhead. (running coverage numbers with test-webkitpy shows that pretty much the only uncovered lines are lines that are only run in the child processes, which coverage doesn't handle at the moment). * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (_MessagePool.__init__): (_MessagePool.run): (_MessagePool._start_workers): (_MessagePool): (_MessagePool.wait): (_MessagePool._close): (_MessagePool._handle_done): (_MessagePool._can_pickle): (_MessagePool._loop): (WorkerException): (_Message.__init__): (_Message.__repr__): (_Worker): (_Worker.__init__): (_Worker.terminate): (_Worker._close): (_Worker.run): (_Worker.post): (_Worker.yield_to_caller): (_Worker._post): (_Worker._raise): (_Worker._set_up_logging): (_WorkerLogHandler.__init__): (_WorkerLogHandler.emit): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py: Removed. 2012-07-12 Tony Chang [chromium] Remove drag and drop API methods that are no longer used https://bugs.webkit.org/show_bug.cgi?id=90996 Reviewed by Adam Barth. Migrate DRT to use the methods that take modifier keys. * DumpRenderTree/chromium/EventSender.cpp: (EventSender::doDragDrop): (EventSender::doMouseUp): (EventSender::doMouseMove): (EventSender::beginDragWithFiles): 2012-07-12 Ojan Vafai Allow putting ranges in user.py list prompts https://bugs.webkit.org/show_bug.cgi?id=91115 Reviewed by Adam Barth. Ranges are inclusive and denoted by a dash. This is useful for rebaselining a whole port since the items are listed with each port's builders being contiguous. * Scripts/webkitpy/common/system/user.py: (User._wait_on_list_response): * Scripts/webkitpy/common/system/user_unittest.py: (UserTest.test_prompt_with_multiple_lists.run_prompt_test): (UserTest.test_prompt_with_multiple_lists): 2012-07-12 Arnaud Renevier [GTK] Implement disableImageLoading in DRT https://bugs.webkit.org/show_bug.cgi?id=87973 Reviewed by Martin Robinson. * DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::disableImageLoading): 2012-07-12 Simon Hausmann [Qt] Internal symbols are exported on Linux https://bugs.webkit.org/show_bug.cgi?id=90981 Reviewed by Jocelyn Turcotte. I should've re-enabled ELF symbol visibility when removing the symbol map in r106650. * qmake/mkspecs/features/default_post.prf: 2012-07-11 Mark Rowe Build against the latest SDK when targeting older OS X versions. Reviewed by Dan Bernstein. The deployment target is already set to the version that we're targeting, and it's that setting which determines which functionality from the SDK is available to us. * DumpRenderTree/mac/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: 2012-07-11 Mark Rowe Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used. Part of Remove BUILDING_ON / TARGETING macros in favor of system availability macros. Reviewed by Anders Carlsson. * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Remove the macros completely from here since they're completely unused in TestNetscapePlugIn. * DumpRenderTree/config.h: 2012-07-11 Mark Rowe Remove BUILDING_ON / TARGETING macros in favor of system availability macros This removal was handled by a script that translates the relevant macros in to the equivalent checks using the system availability macros. Reviewed by Filip Pizlo. * DumpRenderTree/cf/WebArchiveDumpSupport.cpp: * DumpRenderTree/mac/CheckedMalloc.cpp: * DumpRenderTree/mac/DumpRenderTree.mm: * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm: * DumpRenderTree/mac/LayoutTestControllerMac.mm: * DumpRenderTree/mac/TextInputController.m: * TestWebKitAPI/mac/InjectedBundleControllerMac.mm: * WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm: * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: 2012-07-11 Robert Kroeger Suppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas is true https://bugs.webkit.org/show_bug.cgi?id=89580 WebKit GTK and Chromium Linux force vertical wheel events to scroll horizontally when over horizontal scroll bars. This is undesirable for touchpad scrolling with hasPreciseScrollingDeltas() == true. Modified DumpRenderTree to let a layout test specify this attribute so that the change's impact on scrolling can be tested in a layout test. Reviewed by Adam Barth. * DumpRenderTree/chromium/EventSender.cpp: (EventSender::handleMouseWheel): 2012-07-11 Simon Fraser Fix the build by declaring -isPaginated before use. * MiniBrowser/mac/BrowserWindowController.m: 2012-07-11 Sheriff Bot Unreviewed, rolling out r122358. http://trac.webkit.org/changeset/122358 https://bugs.webkit.org/show_bug.cgi?id=91037 Build break on WebKit Win (Requested by hayato on #webkit). * DumpRenderTree/chromium/EventSender.cpp: (EventSender::doDragDrop): (EventSender::doMouseUp): (EventSender::doMouseMove): (EventSender::beginDragWithFiles): 2012-07-03 Dirk Pranke nrwt: add a MessagePool abstraction that the manager will call to replace the broker https://bugs.webkit.org/show_bug.cgi?id=90511 Reviewed by Ojan Vafai. This change introduces the new MessagePool abstraction that will replace the classes in manager_worker_broker. It is a minimal interface that tries to follow the conventions in multiprocessing.Pool and concurrency.futures ... it provides a context manager and a run() method that sends N messages to M workers processes (starting workers as necessary) and waits for them all to complete, handling cleanup as necessary. The caller is responsible for providing a handle() method to handle messages received from the workers. This interface basically hides all of the multiprocessing logic from the manager class. The initial implementation of MessagePool is a simple shim around the existing broker classes; a subsequent change will replace all the other classes with a much simpler implementation. No additional tests are provided for now; existing tests should provide adequate coverage, and I will add new unit tests for the MessagePool class when I replace the existing implementation. * Scripts/webkitpy/layout_tests/controllers/manager.py: (TestRunInterruptedException.__reduce__): (Manager.__init__): (Manager._run_tests): (Manager._run_tests.instead): (Manager.handle): (Manager._handle_started_test): (Manager._handle_finished_test_list): (Manager._handle_finished_test): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (get): (_MessagePool): (_MessagePool.__init__): (_MessagePool.__enter__): (_MessagePool.__exit__): (_MessagePool.run): (_MessagePool.wait): (_MessagePool.is_done): (_MessagePool._worker_is_done): (_MessagePool._close): (_MessagePool.handle_done): (_MessagePool.handle_started_test): (_MessagePool.handle_finished_test): (_MessagePool.handle_finished_test_list): (_MessagePool.handle_exception): (_MessagePool._log_messages): (_MessagePool._handle_worker_exception): (_WorkerState): (_WorkerState.for): (_WorkerState.__init__): (_WorkerState.__repr__): (_get_broker): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py: (make_broker): 2012-07-11 Simon Fraser Add an option to enter paginated mode in MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=91035 Reviewed by Dan Bernstein. Add an item to the Debug menu for MiniBrowser that puts the web view into paginated mode. For now, we only do left-to-right pagination, with a fixed column width. * MiniBrowser/mac/BrowserWindowController.h: * MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController validateMenuItem:]): Update the checked state of the menu item. (-[BrowserWindowController isPaginated]): Return YES if paginated. (-[BrowserWindowController togglePaginationMode:]): Toggle in and out of pagination mode. * MiniBrowser/mac/MainMenu.xib: Add the debug menu item. 2012-07-11 Adam Barth commit-queue instances on Compute Engine are missing git-svn https://bugs.webkit.org/show_bug.cgi?id=91034 Reviewed by Eric Seidel. git-svn is needed to actually commit to SVN from a git working copy. * EWSTools/cold-boot.sh: 2012-07-11 Dirk Pranke webkitpy: lint code in webkitpy.layout_tests.models https://bugs.webkit.org/show_bug.cgi?id=90416 Reviewed by Ojan Vafai. Cleaning up errors reported from lint-webkitpy. Also, suppress the warnings about wildcard imports in pylintrc; we have nothing particularly against them. * Scripts/webkitpy/layout_tests/models/test_configuration.py: (TestConfigurationConverter.combinations): * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: (TestConfigurationTest.test_hash.query_unknown_key): (TestConfigurationTest.test_eq): * Scripts/webkitpy/layout_tests/models/test_expectations.py: (ParseError.__init__): (TestExpectationLine.__init__): (TestExpectationsModel.get_expectations_string): (TestExpectationsModel): (TestExpectationsModel.expectation_to_string): (TestExpectationsModel.add_expectation_line): (TestExpectationsModel._clear_expectations_for_test): (TestExpectationsModel._remove_from_sets): (TestExpectations.get_expectations_string): (TestExpectations.expectation_to_string): (TestExpectations._report_warnings): * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (Base.__init__): (parse_exp): (SkippedTests.check): (TestExpectationParserTests.test_parse_empty_string): * Scripts/webkitpy/layout_tests/models/test_failures.py: (FailureTimeout.__init__): (FailureCrash.__init__): (FailureImageHashMismatch.__init__): (FailureReftestMismatch.__init__): (FailureReftestMismatchDidNotOccur.__init__): (FailureReftestNoImagesGenerated.__init__): * Scripts/webkitpy/layout_tests/models/test_failures_unittest.py: (TestFailuresTest.test_unknown_failure_type.UnknownFailure.message): (TestFailuresTest.test_unknown_failure_type): (TestFailuresTest): (TestFailuresTest.test_message_is_virtual): * Scripts/webkitpy/layout_tests/models/test_results.py: (TestResult.loads): (TestResult.has_failure_matching_types): * Scripts/webkitpy/pylintrc: 2012-07-11 Dirk Pranke nrwt: clean up names in worker.py https://bugs.webkit.org/show_bug.cgi?id=90510 Reviewed by Ojan Vafai. This is the last patch in the series of refactoring worker.py; all this does is change some names of methods, instance variables, and method parameters to be clearer (it also changes some code in manager.py and manager_worker.py to be consistent). There are no functional changes in this patch and the existing tests should cover everything. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.__init__): (Manager.prepare_lists_and_print_output): (Manager._run_tests.worker_factory): (Manager._run_tests): (Manager._show_results_html_file): (Manager.handle_finished_test_list): (_WorkerState.__init__): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (_Broker.post_message): (_Broker._dispatch_message): (AbstractWorker.__init__): (AbstractWorker.run): (AbstractWorker.yield_to_caller): (AbstractWorker.post): (_WorkerConnection.__init__): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py: (_TestWorker.__init__): (_TestWorker.start): (_TestWorker.handle): (_TestWorker.stop): (_TestsMixin): (_TestsMixin.test_name): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.__init__): (Worker.__del__): (Worker.start): (Worker.handle): (Worker._run_test): (Worker.stop): (Worker._timeout): (Worker._kill_driver): (Worker._run_test_with_timeout): (Worker._clean_up_after_test): (Worker._run_test_in_another_thread.SingleTestThread.run): (Worker._run_test_in_this_thread): (Worker._run_single_test): 2012-07-11 Adam Barth The commit-queue needs some extra git config to be able to commit https://bugs.webkit.org/show_bug.cgi?id=91025 Reviewed by Eric Seidel. In order for the commit-queue to actually commit, it needs to know the location of the SVN server. * EWSTools/cold-boot.sh: 2012-07-11 Adam Barth Teach EWSTools how to configure SVN auth credentials https://bugs.webkit.org/show_bug.cgi?id=91021 Reviewed by Eric Seidel. To move the commit-queue over to Google Compute Engine, we need a way to configure the commit-queue's credentials during the machine build process. There doesn't seem to be a nice command line way of configuring SVN auth credentials. I tried doing a bogus commit and supplying the credentials that way, but that's super hacky. The approach in this patch is to write the config file directly. The format of these configurations files is documented in the SVN book, so this approach doesn't see too sketchy. * EWSTools/configure-svn-auth.sh: Added. 2012-07-11 Ojan Vafai Dedupe suffixes passed to webkit-patch rebaseline https://bugs.webkit.org/show_bug.cgi?id=91017 Reviewed by Dirk Pranke. * Scripts/webkitpy/tool/commands/rebaseline.py: (Rebaseline._suffixes_to_update): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline_multiple_builders_and_tests_command_line): 2012-07-11 Kevin Ollivier [wx] Unreviewed build fix. Add new directories and a new LayoutTestController method. * DumpRenderTree/wx/LayoutTestControllerWx.cpp: (LayoutTestController::setStorageDatabaseIdleInterval): * waf/build/settings.py: 2012-07-11 Tony Chang [chromium] Remove drag and drop API methods that are no longer used https://bugs.webkit.org/show_bug.cgi?id=90996 Reviewed by Adam Barth. Migrate DRT to use the methods that take modifier keys. * DumpRenderTree/chromium/EventSender.cpp: (EventSender::doDragDrop): (EventSender::doMouseUp): (EventSender::doMouseMove): (EventSender::beginDragWithFiles): 2012-07-11 Mark Rowe Add a Mountain Lion version of libWebKitSystemInterface.a. Reviewed by John Sullivan. * Scripts/copy-webkitlibraries-to-product-directory: Include libWebKitSystemInterfaceMountainLion.a in the list of libraries to copy. 2012-07-09 Mark Rowe Teach bisect-builds to work with a Safari.app that has entitlements. Reviewed by Dan Bernstein. * Scripts/bisect-builds: Use safariPathFromSafariBundle to determine which binary within the application should be invoked. 2012-07-11 Zan Dobersek [Gtk] fast/events/keydown-function-keys.html is failing https://bugs.webkit.org/show_bug.cgi?id=90891 Reviewed by Martin Robinson. Work around the context menu being shown on F10 key being pressed by unbiding the key when running tests in DumpRenderTree. The problem appears when using a recent version of the xkeyboard-config package. * DumpRenderTree/gtk/DumpRenderTree.cpp: (setDefaultsToConsistentStateValuesForTesting): 2012-07-11 No'am Rosenthal [Qt] QRawWebView should notify when rendering is done, so that pixel results can be grabbed at the appropriate moment. https://bugs.webkit.org/show_bug.cgi?id=90641 Reviewed by Jocelyn Turcotte. * MiniBrowser/qt/raw/View.h: Comment used old class name (WKView). (View): 2012-07-11 Min Qin [Android] sending an extra to the DRT apk so that DRT can be run in a seperate thread https://bugs.webkit.org/show_bug.cgi?id=90831 Reviewed by Adam Barth. On android, DRT needs to run in a background thread to avoid ANR. However, the java tests are running on UI thread by default. We need to send an intent extra to the apk so that it can run on a sub thread. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidDriver._start_once): 2012-07-11 Csaba Osztrogonác [Qt] REGRESSION(r107171): Fix --timeout option of Qt's DRT https://bugs.webkit.org/show_bug.cgi?id=90966 Reviewed by Ryosuke Niwa. * DumpRenderTree/qt/main.cpp: (main): Don't remove the argument, because takeOptionValue() did it before. 2012-07-11 Allan Sandfeld Jensen First commit; moving myself to commiters. Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2012-07-11 Balazs Ankes webkit-patch land should automatically add svn:mime-type for .png files https://bugs.webkit.org/show_bug.cgi?id=75825 Reviewed by Dirk Pranke. Refactor the png.py to avoid code duplication. * Scripts/webkitpy/common/checksvnconfigfile.py: Added. (check): (config_file_path): (errorstr_autoprop): (errorstr_png): * Scripts/webkitpy/style/checkers/png.py: (PNGChecker.check): * Scripts/webkitpy/tool/commands/download.py: (Land): * Scripts/webkitpy/tool/steps/__init__.py: * Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py: Added. (AddSvnMimetypeForPng): (AddSvnMimetypeForPng.__init__): (AddSvnMimetypeForPng.run): (AddSvnMimetypeForPng._check_pngs): * Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py: Added. (MockSCMDetector): (MockSCMDetector.__init__): (MockSCMDetector.display_name): (AddSvnMimetypeForPngTest): (AddSvnMimetypeForPngTest.test_run): 2012-07-11 Hayato Ito Unreviewed gardening. One more fix for r122292. * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-07-11 Sheriff Bot Unreviewed, rolling out r122301. http://trac.webkit.org/changeset/122301 https://bugs.webkit.org/show_bug.cgi?id=90947 Android builder started to fail (Requested by hayato on #webkit). * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-07-10 Adam Barth [Chromium] Merge final nits to DumpRenderTree.gyp for Android https://bugs.webkit.org/show_bug.cgi?id=90920 Reviewed by Tony Chang. This patch contains the last few small changes to DumpRenderTree.gyp from the chromium-android branch. After this change, this file will be fully merged. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-07-10 Adam Barth [Chromium-Android] Add apk test targets for webkit_unit_tests and TestWebKitAPI https://bugs.webkit.org/show_bug.cgi?id=90918 Reviewed by Tony Chang. The rules are similar to what we have added for DumpRenderTree apk. All references to gtest_target_type can be removed once we enable APK tests on the all bots. * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: 2012-07-10 Kenneth Russell Add --no-build option to perf test runner https://bugs.webkit.org/show_bug.cgi?id=90916 Reviewed by Ryosuke Niwa. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner._parse_args): Support --no-build option to perf tests, as in layout tests. 2012-07-10 Adam Barth EWSTools should be able to build a chromium-ews bot from scratch https://bugs.webkit.org/show_bug.cgi?id=90912 Reviewed by Eric Seidel. I've been using this script to kick off the build process for the chromium-ews bots on Google Compute Engine. * EWSTools/GoogleComputeEngine: Added. * EWSTools/GoogleComputeEngine/build-chromium-ews.sh: Added. 2012-07-10 Alec Flett Add alecflett to the list of committers https://bugs.webkit.org/show_bug.cgi?id=90903 Reviewed by Ojan Vafai. * Scripts/webkitpy/common/config/committers.py: 2012-07-10 Xianzhu Wang Unreviewed fix of webkitpy unittest break about chromium_android.py caused by r122251. * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidDriverTest.test_cmd_line): 2012-07-10 Ojan Vafai webkit-patch rebaseline doesn't work for audio/pixel tests https://bugs.webkit.org/show_bug.cgi?id=90905 Reviewed by Adam Barth. We just need to pass the correct suffix list to rebaseline-test-internal and optimize-baselines. By default, pass all suffixes. * Scripts/webkitpy/tool/commands/rebaseline.py: (Rebaseline): (Rebaseline.__init__): (Rebaseline._suffixes_to_update): (Rebaseline.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline_multiple_builders_and_tests_command_line): 2012-07-10 Adam Barth Remove LayoutTestController and WebKitTestRunner support for Hixie76 WebSockets https://bugs.webkit.org/show_bug.cgi?id=90853 Reviewed by Eric Seidel. WebKit no longer implements the Hixie76 version of the WebSocket protocol. We don't need to support it in our test framework. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::overridePreference): * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: (WebPreferences): * DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::overridePreference): * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::resetSettings): * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::overridePreference): * DumpRenderTree/win/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): 2012-07-10 Xianzhu Wang [Chromium-Android] Fix typos in chromium_android.py in r151492 https://bugs.webkit.org/show_bug.cgi?id=90904 Reviewed by Ojan Vafai. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.setup_test_run): 2012-07-10 Xianzhu Wang [Chromium-Android] Use setup_test_runner() instead of start_helper() to setup test environment https://bugs.webkit.org/show_bug.cgi?id=90894 Reviewed by Adam Barth. start_helper() is actually start_pixel_test_helper() since r115601 (bug 81729). Should use setup_test_runner() to setup test environment for chromium-android. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.setup_test_run): Renamed from start_helper(). Added cache cleanup code. (ChromiumAndroidPort.clean_up_test_run): Renamed from stop_helper(). (ChromiumAndroidPort._path_to_helper): Returns None as we don't have a helper now. (ChromiumAndroidPort): (ChromiumAndroidPort._path_to_forwarder): Original _path_to_helper(). (ChromiumAndroidPort._push_executable): (ChromiumAndroidDriver.__init__): (ChromiumAndroidDriver.cmd_line): 2012-07-09 Ojan Vafai Improve webkit-patch rebaseline to work for more cases https://bugs.webkit.org/show_bug.cgi?id=90504 Reviewed by Adam Barth. -Makes it work for the build.chromium.org bots. -Lets you rebaseline all builders instead of just one. -Lets you pass in the builders or tests to rebaseline. * Scripts/webkitpy/common/host.py: (Host.buildbot_for_builder_name): * Scripts/webkitpy/common/net/buildbot/buildbot.py: (Builder.__init__): (Builder.latest_layout_test_results): Provide a way to get to the LayoutTestResults of the latest build. Most of the time we only need to get the latest one and the Chromium bots only expose the full_results.json file for the latest build. (Builder): (Builder._fetch_file_from_results): (Builder.fetch_layout_test_results): Move these functions into Builder so that Builder and Build can both fetch layout test results. (Build.results_zip_url): (Build.layout_test_results): * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: (BuilderTest.test_latest_layout_test_results): (BuildTest.test_layout_test_results): * Scripts/webkitpy/common/system/user.py: (User.prompt_with_multiple_lists): Prompt with multiple sublists, but still have a global numbering. This lets the build.chromium.org bots be clearly separated from the build.webkit.org bots, which helps understand the builder names. (User): (User._wait_on_list_response): (User.prompt_with_list): * Scripts/webkitpy/common/system/user_unittest.py: (UserTest.test_prompt_with_multiple_lists): (UserTest.test_prompt_with_multiple_lists.run_prompt_test): (UserTest.test_prompt_with_multiple_lists.run_prompt_test.mock_raw_input): * Scripts/webkitpy/layout_tests/port/base.py: (Port.is_chromium): Provide a way to tell if a port is a Chromium port that doesn't involve string manipulation on the port name or builder name. * Scripts/webkitpy/layout_tests/port/builders.py: (builder_path_from_name): (all_builder_names): Memoizing here is incorrect because the test override _exact_matches, so these can return different values. In either case, I'm pretty sure these are not remotely hot codepaths. I manually inspected all call sites and they're all in high-level calls (e.g. execute calls for webkit-patch commands) and not called in a loop. * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort.is_chromium): * Scripts/webkitpy/tool/commands/rebaseline.py: (RebaselineTest._results_url): (AbstractParallelRebaselineCommand.__init__): (Rebaseline.__init__): (Rebaseline): (Rebaseline._builders_to_pull_from): (Rebaseline._tests_to_update): (Rebaseline.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline.mock_builders_to_pull_from): (test_rebaseline): (test_rebaseline_command_line_flags): (test_rebaseline_multiple_builders): (test_rebaseline_multiple_builders.mock_builders_to_pull_from): (test_rebaseline_multiple_builders.mock_tests_to_update): (test_rebaseline_multiple_builders_and_tests_command_line): * Scripts/webkitpy/tool/mocktool.py: (MockTool.irc): (MockTool): (MockTool.buildbot_for_builder_name): 2012-07-10 Alice Cheng Editing: Reproducible crasher when pasting a 0x0 image into Mail https://bugs.webkit.org/show_bug.cgi?id=90640 Reviewed by Brady Eidson. Test cases for the patch. 0x0 images don't get a resource representation in the WebArchive, so we need a null check. * TestWebKitAPI/Tests/mac/0.png: Added. * TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm: Added. (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-07-10 Leandro Gracia Gil WebSurroundingText layout tests should use the same code path as the rest of the feature. https://bugs.webkit.org/show_bug.cgi?id=90807 Reviewed by Adam Barth. Make the textSurroundingNode method take a pair of point coordinates instead of a node offset. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::textSurroundingNode): * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController): 2012-07-10 Csaba Osztrogonác [Qt] REGRESSION(r122175): It broke the Windows build https://bugs.webkit.org/show_bug.cgi?id=90850 Reviewed by Noam Rosenthal. * qmake/mkspecs/features/features.prf: Disable USE(3D_GRAPHICS) on Windows temporarily until proper fix. 2012-07-10 János Badics [Qt][NRWT] Enable cascaded TestExpectations https://bugs.webkit.org/show_bug.cgi?id=89108 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.expectations_files): * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest._assert_expectations_files): (QtPortTest.test_expectations_files): 2012-07-10 Christophe Dumez [EFL] WebKit DRT and WTR fail to build due to undefined reference to WTF::MD5::* https://bugs.webkit.org/show_bug.cgi?id=90868 Unreviewed EFL build fix. Correct CMake configuration to have EFL's DRT and WebKitTestRunner link WTF library. This is needed to resolve undefined reference to WTF::MD5::*. * DumpRenderTree/efl/CMakeLists.txt: * WebKitTestRunner/PlatformEfl.cmake: 2012-07-10 Adam Barth LayoutTestController.dumpConfigurationForViewport should move to Internals https://bugs.webkit.org/show_bug.cgi?id=45652 Reviewed by Eric Seidel. Remove dumpConfigurationForViewport from LayoutTestController. This API has been replaced by an API on Internals that does the same thing in a port-agnostic way. * DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::staticFunctions): * DumpRenderTree/LayoutTestController.h: (LayoutTestController): * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp: * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: * DumpRenderTree/mac/LayoutTestControllerMac.mm: * DumpRenderTree/qt/LayoutTestControllerQt.cpp: * DumpRenderTree/qt/LayoutTestControllerQt.h: (LayoutTestController): * DumpRenderTree/win/LayoutTestControllerWin.cpp: * DumpRenderTree/wx/LayoutTestControllerWx.cpp: 2012-07-09 Matt Falkenhagen Add ENABLE_DIALOG_ELEMENT and skeleton files https://bugs.webkit.org/show_bug.cgi?id=90521 Reviewed by Kent Tamura. * Scripts/webkitperl/FeatureList.pm: 2012-07-09 Kent Tamura Improve the boilerplate generated by prepare-ChangeLog https://bugs.webkit.org/show_bug.cgi?id=89560 Reviewed by Ryosuke Niwa. Produce the following boilerplate: > 2012-06-20 Kent Tamura > > Need a short description (Oops!). > Need the bug URL (Oops!). > > Reviewed by NOBODY (Oops!). > > Additional information of the change such as approach, rationale. Please add per-function descriptions below. (Oops!). > > No new tests (Oops!). * Scripts/prepare-ChangeLog: (generateNewChangeLogs): Generate the updated template. * Scripts/webkitpy/common/checkout/changelog.py: (ChangeLog.update_with_unreviewed_message): Update the pattern for the beginning of the boilerplate. (ChangeLog.set_short_description_and_bug_url): - Use self._changelog_indent - Update the pattern for the description line - Skip the bug boilerplate. We substitute the specified bug URL to the description boilerplate because we need to add it even if the bug URL boilerplate is missing. * Scripts/webkitpy/common/checkout/changelog_unittest.py: Update the boilerplate data. (test_set_short_description_and_bug_url): - Update the description boilerplate. - Add a test for a case with both of the description boilerplace and the bug URL boilerplate. * Scripts/webkitpy/tool/steps/preparechangelog_unittest.py: (PrepareChangeLogTest.test_ensure_bug_url): Update the expected boilerplate. 2012-07-09 No'am Rosenthal Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE() https://bugs.webkit.org/show_bug.cgi?id=90506 Reviewed by Martin Robinson. Always enable the WTF_USE_3D_GRAPHICS flag in features.prf if we're compiling with Qt5 or if the OpenGL module is enabled. * qmake/mkspecs/features/features.prf: 2012-07-09 Yongjun Zhang Consider closing unused localStorage database after a timeout. https://bugs.webkit.org/show_bug.cgi?id=90713 For a localStorage, if there is no active document referencing to it for certain amount of time (300 seconds), we can close the underlying sqlite database. Reviewed by Brady Eidson. * DumpRenderTree/LayoutTestController.cpp: add a JS method setStorageDatabaseIdleInterval to testRunner to set a different timeout value for closing localStorage database. (setStorageDatabaseIdleIntervalCallback): (LayoutTestController::staticFunctions): * DumpRenderTree/LayoutTestController.h: (LayoutTestController): * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::setStorageDatabaseIdleInterval): add empty method. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setStorageDatabaseIdleInterval): ditto. * DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setStorageDatabaseIdleInterval): ditto. * DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setStorageDatabaseIdleInterval): ditto. 2012-07-09 Adam Klein Rename WebCore::WebKitMutationObserver to WebCore::MutationObserver https://bugs.webkit.org/show_bug.cgi?id=90810 Reviewed by Ojan Vafai. * DumpRenderTree/gtk/EventSender.cpp: 2012-07-09 Mihai Parparita Handle missing results in TestResultsServer better https://bugs.webkit.org/show_bug.cgi?id=90816 Reviewed by Ojan Vafai. If we can't load the results JSON, don't try to wrap it with the JSONP callback invocation. * TestResultServer/handlers/testfilehandler.py: (GetFile.get): 2012-07-09 Sheriff Bot Unreviewed, rolling out r122124. http://trac.webkit.org/changeset/122124 https://bugs.webkit.org/show_bug.cgi?id=90815 It broke NRWT on Qt (Requested by Ossy_HOME on #webkit). * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._skipped_file_search_paths): * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest._assert_skipped_path): (QtPortTest.test_skipped_file_search_path): 2012-07-09 Zan Dobersek [Gtk] Implement dumpFrameScrollPosition in DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=89356 Reviewed by Martin Robinson. Implement dumpFrameScrollPosition, acquiring the scroll position through WebKitDOMDOMWindow of the WebKitDOMDocument loaded in the frame whose scroll position is being dumped. * DumpRenderTree/gtk/DumpRenderTree.cpp: (dumpFrameScrollPosition): 2012-07-09 János Badics [Qt][NRWT] Enable cascaded TestExpectations https://bugs.webkit.org/show_bug.cgi?id=89108 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.expectations_files): * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest._assert_expectations_files): (QtPortTest.test_expectations_files): 2012-07-09 Dan Bernstein Fixed clean builds of the All target in the DumpRenderTree project. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Let Xcode know that the DumpRenderTree Perl Support target depends on the DumpRenderTree target. 2012-07-09 Zan Dobersek [Gtk] Unskip the CSS Regions layout tests https://bugs.webkit.org/show_bug.cgi?id=90771 Reviewed by Martin Robinson. Use the DumpRenderTreeSupportGtk method for enabling the CSS Regions, calling it when resetting the defaults in DumpRenderTree or when the settings value is overriden through the testRunner. * DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::overridePreference): 2012-07-09 Sheriff Bot Unreviewed, rolling out r122107. http://trac.webkit.org/changeset/122107 https://bugs.webkit.org/show_bug.cgi?id=90794 Build failure on Mac debug bots (Requested by falken_ on #webkit). * Scripts/webkitperl/FeatureList.pm: 2012-07-09 Matt Falkenhagen Add ENABLE_DIALOG_ELEMENT and skeleton files https://bugs.webkit.org/show_bug.cgi?id=90521 Reviewed by Kent Tamura. * Scripts/webkitperl/FeatureList.pm: 2012-07-08 Kent Tamura Unreviewed, rolling out r122076. http://trac.webkit.org/changeset/122076 https://bugs.webkit.org/show_bug.cgi?id=89560 Broke sheriffbot rollout * Scripts/prepare-ChangeLog: (generateNewChangeLogs): 2012-07-08 Leandro Gracia Gil Update the description of LayoutTestController::textSurroundingElement https://bugs.webkit.org/show_bug.cgi?id=90620 Reviewed by Adam Barth. Rename and fix the description of the method as its behaviour changed during the review of https://bugs.webkit.org/show_bug.cgi?id=82461 * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::textSurroundingNode): * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController): 2012-07-08 Kent Tamura Improve the template generated by prepare-ChangeLog https://bugs.webkit.org/show_bug.cgi?id=89560 Reviewed by Ryosuke Niwa. Produce the following template: > 2012-06-20 Kent Tamura > > Need a short description (Oops!). > Need the bug URL (Oops!). > > Reviewed by Ryosuke Niwa. > > Additional information of the change such as approach, rationale. Please add per-function descriptions below. (Oops!). > > No new tests (Oops!). * Scripts/prepare-ChangeLog: (generateNewChangeLogs): 2012-07-08 Gyuyoung Kim [wx] Unreviewed. Fix notificaitons directory path after notifications move. * waf/build/settings.py: 2012-07-07 Nuno Lopes Fix build with recent clang. https://bugs.webkit.org/show_bug.cgi?id=90712 Reviewed by Alexey Proskuryakov. * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp: (DOMWindowExtensionBasic): * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp: (DOMWindowExtensionNoCache): * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp: (TestWebKitAPI::DocumentStartUserScriptAlertCrashTest::initialize): 2012-07-06 Zan Dobersek [Gtk] Add a configuration option for disabling unstable features in releases https://bugs.webkit.org/show_bug.cgi?id=87995 Reviewed by Martin Robinson. Pass the --enable-unstable-features flag when building the Gtk port through build-webkit. * Scripts/webkitdirs.pm: (buildAutotoolsProject): 2012-07-06 Jessie Berlin WKContext should ask for its initialization data when it needs it so the client doesn't have to keep it up to date. https://bugs.webkit.org/show_bug.cgi?id=90627 Reviewed by Anders Carlsson. Add tests and update other WKContextInjectedBundleClients. * MiniBrowser/mac/AppDelegate.m: (-[BrowserAppDelegate init]): Updated for the change to WKContextInjectedBundleClient. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Ditto. * TestWebKitAPI/PlatformUtilities.cpp: (TestWebKitAPI::Util::createInitializationDictionaryForInjectedBundleTest): Moved the logic to create the initialization dictionary here ... (TestWebKitAPI::Util::createContextForInjectedBundleTest): ... from here so that it can be used without automatically using WKContextSetInitializationUserDataForInjectedBundle. * TestWebKitAPI/PlatformUtilities.h: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add the new test files. * TestWebKitAPI/GNUmakefile.am: Ditto. * TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp: Added. (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Check that the message received from the injected bundle matches the user data it was initialized with. (TestWebKitAPI::getInjectedBundleInitializationUserData): Return the user data that the injected bundle should be initialized with. (TestWebKitAPI::TEST): Set up WKContextInjectedBundleClient and load a page. * TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp: Added. (TestWebKitAPI::GetInjectedBundleInitializationUserDataCallbackTest::initialize): Send the initialization user data back up to the UI Process. * TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp: Added. (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Check that the message received from the injected bundle matches the user data it was initialized with in the callback. (TestWebKitAPI::getInjectedBundleInitializationUserData): Return the user data that the injected bundle should be initialized with. (TestWebKitAPI::TEST): Set up the context and use WKContextSetInitializationUserDataForInjectedBundle to set the initialization user data (which should be overridden by the user data returned in getInjectedBundleInitializationUserData). * TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp: Added. (TestWebKitAPI::InjectedBundleInitializationUserDataCallbackWinsTest::initialize): Send the initialization user data back up to the UI Process. 2012-07-06 Dongwoo Im [EFL][GTK] jhbuild : Disable pixman demos build depending on GTK+ https://bugs.webkit.org/show_bug.cgi?id=90593 Reviewed by Philippe Normand. * efl/jhbuild.modules: Give '--enable-gtk=no' option to pixman. * gtk/jhbuild.modules: Give '--enable-gtk=no' option to pixman. 2012-07-06 Luciano Wolf [Qt] DumpRenderTree does not use 'monospace' font when directed https://bugs.webkit.org/show_bug.cgi?id=85203 The test fonts used for Qt tests were moved to the Liberation font family. Due to this change we are skipping tons of tests. They will be gradually unskipped in batches, ASAP. Also, the now unneeded special font configuration for Qt5 WK1 was removed. Reviewed by Tor Arne Vestbø. * DumpRenderTree/qt/QtInitializeTestFonts.cpp: (WebKit::initializeTestFonts): 2012-07-06 Csaba Osztrogonác [Qt] Buildfix for newer Qt5 https://bugs.webkit.org/show_bug.cgi?id=90519 Reviewed by Tor Arne Vestbø. * MiniBrowser/qt/MiniBrowser.pro: We also need to depend on gui-private in the MiniBrowser to get access to these headers. * MiniBrowser/qt/MiniBrowserApplication.h: Include qpa/qwindowsysteminterface.h instead of deprecated qwindowsysteminterface_qpa.h * WebKitTestRunner/qt/PlatformWebViewQt.cpp: Include qpa/qwindowsysteminterface.h instead of deprecated qwindowsysteminterface_qpa.h 2012-07-06 Oswald Buddenhagen [Qt] Make use of Qt5 qmake's changed makefile recursion behavior When not using the -r option, qmake now interleaves qmake and make calls, so we don't need custom logic for this. There's also an option to supress the effect of the -r option, which we use to make WebKit.pro the only project file parsed in a recursive qmake-run. https://bugs.webkit.org/show_bug.cgi?id=90461 Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/default_post.prf: * qmake/mkspecs/features/functions.prf: 2012-07-06 Oswald Buddenhagen [Qt] Remove custom qmake logic for module creation Qmake now has the necessary hooks to cleanly override the build locations. https://bugs.webkit.org/show_bug.cgi?id=90461 Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/default_pre.prf: 2012-07-06 Oswald Buddenhagen [Qt] Add top-level .qmake.conf With Qt5, this makes setting $QMAKEPATH externally unnecessary. The magic in the perl scripts to set QMAKEPATH is still there, as it doesn't hurt, and is still required for Qt4. https://bugs.webkit.org/show_bug.cgi?id=90461 Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/default_pre.prf: 2012-07-06 Oswald Buddenhagen [Qt] Unify qtFeatureDefaults code paths There's no reason to run qmake on features.prf directly anymore, as we can selectivly run configure tests in the project file now. https://bugs.webkit.org/show_bug.cgi?id=90461 Reviewed by Tor Arne Vestbø. * Scripts/webkitdirs.pm: (qtFeatureDefaults): * qmake/configure.pri: * qmake/mkspecs/features/features.prf: 2012-07-06 Oswald Buddenhagen [Qt] Don't let qt_webkit.pri proclaim its own location This won't work any more with recent Qt5 versions, as the forwarding pri is created by qt_module_config, which needs MODULE_PRI to be set up already. We also need to load build_config, not qt_module. https://bugs.webkit.org/show_bug.cgi?id=90461 Reviewed by Tor Arne Vestbø. * qmake/qt_webkit.pri: 2012-07-06 Oswald Buddenhagen [Qt] Remove redundant CONFIG+=module qt_module_config takes care of that. In api.pri we are actually testing the flag ourselves, so now we need to test a related flag qt_module_config sets instead. Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/default_post.prf: 2012-07-06 Oswald Buddenhagen [Qt] Switch to new-style Qt 5 configure tests Use explicit project file action instead of syncqt magic. https://bugs.webkit.org/show_bug.cgi?id=90461 Reviewed by Tor Arne Vestbø. * Scripts/webkitdirs.pm: (buildQMakeProjects): * qmake/configure.pri: Copied from Tools/qmake/configure.pro. * qmake/configure.pro: * qmake/mkspecs/features/default_pre.prf: * qmake/mkspecs/features/features.prf: * qmake/sync.profile: Removed. 2012-07-05 Jason Liu Add Jason Liu to committers.py. https://bugs.webkit.org/show_bug.cgi?id=90654 Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2012-07-05 Benjamin Poulain Double release of resources if the load is canceled in a callback of ResourceLoader::didFinishLoading https://bugs.webkit.org/show_bug.cgi?id=90431 Reviewed by Anders Carlsson. Add a Mac API test. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/CancelLoadFromResourceLoadDelegate.html: Added. * TestWebKitAPI/Tests/mac/CancelLoadFromResourceLoadDelegate.mm: Added. (-[CancelLoadFromResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]): (-[CancelLoadFromResourceLoadDelegateFrameLoadDelegate webView:didFinishLoadForFrame:]): (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-07-05 Dave Tharp Adding myself as committer to committers.py Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2012-07-05 Alexey Proskuryakov [Mac][WK2] Enable HTTPS tests https://bugs.webkit.org/show_bug.cgi?id=90600 Reviewed by Brady Eidson. * DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree): Removed a misleading comment. It explained why we were doing this here instead of a frame load delegate, but that's just history, not an explanation of why we need this code. * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize): Ignore certificate errors for localhost and 127.0.0.1. Since this is only needed for tests, it seems appropriate to have platform specific solutions in every WTR, and not add a WebKit2 API. 2012-07-05 Tor Arne Vestbø [Qt] Remove rpath-hacks in qt_webkit.pri Having it in qt_webkit.pri meant that all client apps would inherit the rpath, even if they were not using QtWebKit. This is a regression for people who build client apps against a non-installed QtWebKit, as the client app will be missing a rpath to the standalone WebKit build dir. This can be solved by LD_LIBRARY_PATH or custom QMAKE_RPATHDIR logic, until the real issue is fixed in Qt. Reviewed by Csaba Osztrogonác. * qmake/mkspecs/features/rpath.prf: * qmake/qt_webkit.pri: 2012-07-05 Dongwoo Im [EFL] Enable the CUSTOM_SCHEME_HANDLER feature as default. https://bugs.webkit.org/show_bug.cgi?id=88608 Reviewed by Hajime Morita. * Scripts/webkitperl/FeatureList.pm: Enable the CUSTOM_SCHEME_HANDLER feature as default. 2012-07-05 Ryuan Choi [Wk2][EFL] EFL needs a WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=87659 Reviewed by Kenneth Rohde Christiansen. Add an implementation of WebKitTestRunner for Efl port. * CMakeLists.txt: Includes WebKitTestRunner build script. * Scripts/build-webkittestrunner: Added knowledge of WebKitTestRunner/Efl. * Scripts/webkitpy/layout_tests/port/efl.py: Ditto. (EflPort.setup_environ_for_server): * WebKitTestRunner/CMakeLists.txt: Added. * WebKitTestRunner/InjectedBundle/LayoutTestController.h: * WebKitTestRunner/InjectedBundle/efl/ActivateFontsEfl.cpp: Added. * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: Added. * WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp: Added. * WebKitTestRunner/PlatformEfl.cmake: Added. * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/config.h: Added knowledge of WebKitTestRunner/Efl. * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Added. * WebKitTestRunner/efl/TestControllerEfl.cpp: Added. * WebKitTestRunner/efl/main.cpp: Added. (main): 2012-07-05 Christophe Dumez [WK2][EFL] Ewk_View needs API to load HTML data https://bugs.webkit.org/show_bug.cgi?id=90540 Reviewed by Kenneth Rohde Christiansen. Update EFL MiniBrowser to catch the "load,error" signal on the view and display an error page. * MiniBrowser/efl/main.c: (on_error): (browserCreate): 2012-07-05 Sergio Villar Senin Hidden dirs are not copied when creating the built product archive https://bugs.webkit.org/show_bug.cgi?id=90559 Reviewed by Carlos Garcia Campos. Hidden dirs are not copied inside the built product archive because the recursive copy command was ignoring them. We need those hidden directories for the GTK WebKit2 testing bot to work fine. * BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): replaced "*" by "." to include hidden dirs/files. 2012-07-04 Yoshifumi Inoue Unreviewed Chromium gardening, Disable always failed python tests on Windows. https://bugs.webkit.org/show_bug.cgi?id=90587 PortTest.qt_linux and mac_lion are always failed on Chromium Windows at creating child process. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (PortTest.disabled_test_qt_linux): (PortTest.disabled_test_mac_lion): 2012-07-04 Yoshifumi Inoue [Tools] webkit_unittest.py got assertion https://bugs.webkit.org/show_bug.cgi?id=90579 Reviewed by Hajime Morita. This patch updates expectation of assertion in test_skipped_directories_for_symbols(). r121874 added new (exclude) directory (inspector/styles/variables), however it didn't update one of two assertions. * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: 2012-07-04 Balazs Ankes webkit-patch should add reviewer if "Reviewed by NOBODY ..." is missing https://bugs.webkit.org/show_bug.cgi?id=67935 Reviewed by Ryosuke Niwa. * Scripts/webkitpy/common/checkout/changelog.py: (ChangeLog.set_reviewer): * Scripts/webkitpy/common/checkout/changelog_unittest.py: (test_set_reviewer): (test_set_short_description_and_bug_url): 2012-07-04 Sheriff Bot Unreviewed, rolling out r121862. http://trac.webkit.org/changeset/121862 https://bugs.webkit.org/show_bug.cgi?id=90569 It broke built-product-archive for GTK, Qt and EFL (Requested by svillar on #webkit). * BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): 2012-07-04 Sergio Villar Senin Hidden dirs are not copied when creating the built product archive https://bugs.webkit.org/show_bug.cgi?id=90559 Reviewed by Carlos Garcia Campos. Hidden dirs are not copied inside the built product archive because the recursive copy command was ignoring them. We need those hidden directories for the GTK WebKit2 testing bot to work fine. * BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): removed the trailing "*" from the copy command. 2012-07-04 John Mellor Text Autosizing: Add compile flag and runtime setting https://bugs.webkit.org/show_bug.cgi?id=87394 This patch renames Font Boosting to Text Autosizing. Reviewed by Adam Barth. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-07-04 Tor Arne Vestbø [Qt] Replace deprecated IN_PWD with PWD Reviewed by Csaba Osztrogonác. * qmake/mkspecs/features/default_pre.prf: 2012-07-04 Tor Arne Vestbø [Qt] Don't try to build WTR twice Reviewed by Csaba Osztrogonác. * Tools.pro: 2012-07-04 Sheriff Bot Unreviewed, rolling out r121821. http://trac.webkit.org/changeset/121821 https://bugs.webkit.org/show_bug.cgi?id=90551 This patch did not receive a high-quality review and has a number of errors (Requested by abarth on #webkit). * Scripts/webkitpy/common/net/buildbot/buildbot.py: (Build.results_url): * Scripts/webkitpy/common/net/buildbot/chromiumbuildbot.py: (ChromiumBuilder.accumulated_results_url): * Scripts/webkitpy/layout_tests/port/builders.py: * Scripts/webkitpy/tool/commands/rebaseline.py: (AbstractParallelRebaselineCommand.__init__): (Rebaseline): (Rebaseline._builder_to_pull_from): (Rebaseline._tests_to_update): (Rebaseline.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline.mock_builder_to_pull_from): (test_rebaseline): 2012-07-04 Tor Arne Vestbø [Qt] Get rid of un-needed QT += declarative for Qt 5 The declarative module has been renamed to quick1 in Qt 5, and the engine-only module for Qt 5 is named 'qml'. For many of the instances we could just remove 'declarative', since the project file was only used for Qt5/WebKit2 builds. In the other cases the module was wrapped in a haveQt(4) scope. Reviewed by Csaba Osztrogonác. * MiniBrowser/qt/MiniBrowser.pro: * WebKitTestRunner/InjectedBundle/Target.pri: * WebKitTestRunner/Target.pri: 2012-07-04 Tor Arne Vestbø [Qt] Remove a few un-needed load(features) after r121777 The features are computed by configure.pro and cached in .qmake.cache. Reviewed by Jocelyn Turcotte.. * MiniBrowser/qt/raw/Target.pri: 2012-07-04 Tor Arne Vestbø [Qt] Use haveQtModule() in project files instead of manual checks Reviewed by Jocelyn Turcotte. * qmake/mkspecs/features/default_pre.prf: * qmake/mkspecs/features/features.prf: 2012-07-04 Tor Arne Vestbø [Qt] Fix haveQtModule() check Without {} brackets we were pulling out the value of the module.name variable. Reviewed by Jocelyn Turcotte. * qmake/mkspecs/features/functions.prf: 2012-07-04 Sergio Villar Senin [WK2] [GTK] WK2 testing bot unable to find the InjectedBundle library https://bugs.webkit.org/show_bug.cgi?id=90541 Reviewed by Carlos Garcia Campos. We must add the contents of WebKitBuild/*/Libraries/ directory to the file to be uploaded to b.w.o to successfully run WebKit2 tests in the WebKit2 testing bot. * BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): appended Libraries to the list of neededDirectories. 2012-07-04 Sergio Villar Senin [GTK] WebKit2 testing bot unable to find the build directory https://bugs.webkit.org/show_bug.cgi?id=90523 Reviewed by Carlos Garcia Campos. The presence of GNUmakefile was used to determine whether a given directory was a valid build directory or not. That's not correct for testing bots as we export only the minimum required stuff to run the tests. * gtk/common.py: (get_build_path.is_valid_build_directory): added an extra check.: 2012-07-04 Joe Thomas Adding myself to committers list. Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2012-07-03 Christophe Dumez [WK2][EFL] Ewk_View should report the load progress https://bugs.webkit.org/show_bug.cgi?id=90457 Reviewed by Kenneth Rohde Christiansen. Update EFL MiniBrowser so that it listens for the "load,progress" on the Ewk_View and updates its window title accordingly. * MiniBrowser/efl/main.c: (title_set): (on_title_changed): (on_progress): (browserCreate): 2012-07-03 Dirk Pranke disable failing mock-chromium-mac python unit tests Unreviewed, build fix. Disable these tests until I can figure out why they're failing on the bots. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (PortTest.disabled_test_chromium_mac_lion): (PortTest.disabled_test_chromium_mac_lion_in_test_shell_mode): 2012-07-03 Ian Vollick Add vollick to the list of committers https://bugs.webkit.org/show_bug.cgi?id=90512 Reviewed by Adrienne Walker. * Scripts/webkitpy/common/config/committers.py: 2012-07-03 Ojan Vafai Improve webkit-patch rebaseline to work for more cases https://bugs.webkit.org/show_bug.cgi?id=90504 Reviewed by Dirk Pranke. -Makes it work for the build.chromium.org bots. -Lets you rebaseline all builders instead of just one. -Lets you pass in the builder or test to rebaseline. * Scripts/webkitpy/common/net/buildbot/buildbot.py: (Build.results_url): Make this work for build.chromium.org builders as well. * Scripts/webkitpy/common/net/buildbot/chromiumbuildbot.py: (ChromiumBuilder): (ChromiumBuilder.latest_cached_build): ChromiumBuilder doesn't support large parts of the Builder interface. This provides the bare minimum for this patch to work. Eventually, we should create a single interface that can be supported for both sets of buildbots. * Scripts/webkitpy/layout_tests/port/builders.py: (builder_path_from_name): (all_builder_names): memoizing here is incorrect because the test override _exact_matches, so these can return different values. In either case, I'm pretty sure these are not remotely hot codepaths. * Scripts/webkitpy/tool/commands/rebaseline.py: (AbstractParallelRebaselineCommand.__init__): (Rebaseline): (Rebaseline.__init__): (Rebaseline._builders_to_pull_from): (Rebaseline._builder_with_name): (Rebaseline._tests_to_update): (Rebaseline.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline.mock_builders_to_pull_from): (test_rebaseline): (test_rebaseline_command_line_flags): (test_rebaseline_multiple_builders): (test_rebaseline_multiple_builders.mock_builders_to_pull_from): (test_rebaseline_multiple_builders.mock_tests_to_update): 2012-07-03 Christophe Dumez [EFL] Enable CSS variables support at compile time https://bugs.webkit.org/show_bug.cgi?id=90448 Reviewed by Kenneth Rohde Christiansen. Turn on CSS_VARIABLES flag by default on EFL port. * Scripts/webkitperl/FeatureList.pm: 2012-07-03 Dirk Pranke nrwt: clean up exception handling and make sure we log some more failures https://bugs.webkit.org/show_bug.cgi?id=90503 Reviewed by Ojan Vafai. There were several places where exceptions weren't getting logged, most notably if you passed a bad value to --platform. This change tests that and cleans things up a bit; more cleanup will be possible when we rework the manager_worker_broker code. * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (_BrokerConnection.raise_exception): (_InlineWorkerConnection.raise_exception): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.run): (Worker.kill_driver): * Scripts/webkitpy/layout_tests/port/factory.py: (PortFactory.get): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): (main): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_unsupported_platfrom): 2012-07-03 Dirk Pranke nrwt: fix mock port https://bugs.webkit.org/show_bug.cgi?id=90500 Reviewed by Ojan Vafai. The MockDRT code was never updated when we switched the chromium ports to using "drt mode" by default. This change updates that code, fixes a typo in the chromium port that went undetected (default_test_timeout_ms -> default_timeout_ms), and adds tests that actually exercise some of the mock ports. These tests are useful in that they will exercise the port-specific code in an end-to-end-manner, but they are a bit slow for some reason (>1s each) that I need to look into. * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumDriver.stop): * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.default_timeout_ms): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (TestChromiumAndroidPort.test_default_timeout_ms): * Scripts/webkitpy/layout_tests/port/mock_drt.py: (main): (parse_options): (MockTestShell): (MockTestShell.output_for_test): * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: (MockDRTTest.assertTest): (MockTestShellTest): (MockTestShellTest.make_drt): (MockTestShellTest.test_test_shell_parse_options): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (PortTest): (PortTest.assert_mock_port_works): (PortTest.test_chromium_mac_lion): (PortTest.test_chromium_mac_lion_in_test_shell_mode): (PortTest.test_qt_linux): (PortTest.test_mac_lion): 2012-07-03 Dirk Pranke nrwt: make the worker class stand alone with a cleaner interface https://bugs.webkit.org/show_bug.cgi?id=90409 Reviewed by Ojan Vafai. Currently the Worker class derives from AbstractWorker, which is kind of crufty and awkward; it would be better if we did not rely on shared state. This change changes that so that Worker derives from object, and exposes the following interface: __init__() - called in the manager process safe_init() - called in the worker process to initialize unpicklable state handle() - a single routine to handle all messages cleanup() - called so the worker can clean up Also, all of the "administrative" messages that are handled by the worker (notification of start/stop/etc.) move into manager_worker_broker - this reduces worker.py to just handling the mechanics of actually running each test. For the moment, we do this by creating Yet Another wrapper/proxy class in manager_worker_broker, but this will get simpler shortly when the rest of m_w_b is cleaned up. With this change worker is now in its new form but there will be a follow-on change that cleans up some names and other minor things. This change is again mostly just moving things around and should be covered by the (updated) existing tests. * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (get): (AbstractWorker.__init__): (AbstractWorker.run): (AbstractWorker): (AbstractWorker.handle_stop): (AbstractWorker.handle_test_list): (AbstractWorker.yield_to_broker): (AbstractWorker.post_message): (_WorkerConnection.__init__): (_Process.run): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py: (_TestWorker): (_TestWorker.__init__): (_TestWorker.name): (_TestWorker.cleanup): (_TestWorker.handle): (_TestWorker.safe_init): (_TestWorker.stop): (_TestsMixin.handle_finished_test): (_TestsMixin.setUp): (_TestsMixin.test_cancel): (_TestsMixin.test_done): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker): (Worker.__init__): (Worker.safe_init): (Worker.handle): 2012-07-03 Dirk Pranke nrwt: moving child process logging code into manager_worker_broker https://bugs.webkit.org/show_bug.cgi?id=90408 Reviewed by Ojan Vafai. Users of manager_worker_broker should not have to be aware of whether they're in the same process or different processes and configure logging themselves; mwb should hide this complexity. We can't quite do this completely/correctly yet, since the manager expects to get a list of messages to log, but this change fixes the worker side of it, at least. This is just moving code around, there is no new functionality and this should be covered by existing tests. * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (AbstractWorker.__init__): (_WorkerConnection.__init__): (_WorkerConnection.post_message): (_WorkerConnection): (_WorkerConnection.set_up_logging): (_WorkerConnection.clean_up_logging): (_InlineWorkerConnection.run): (_MultiProcessWorkerConnection.run): (_WorkerLogHandler): (_WorkerLogHandler.__init__): (_WorkerLogHandler.emit): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py: (_TestWorker.run): (_TestsMixin.handle_done): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.__init__): (Worker.run): (Worker._run_test): (Worker.cleanup): (Worker.run_single_test): 2012-07-03 Tony Chang [chromium] Don't archive build files generated by VS2010 https://bugs.webkit.org/show_bug.cgi?id=90493 Reviewed by Ojan Vafai. In particular, the pch (pre compiled header) files are gigantic, making release.zip almost a 1gb in size. * BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): 2012-07-03 Tony Chang [chromium] Unreviewed, update .gitignore to handle VS2010 files. * .gitignore: * DumpRenderTree/DumpRenderTree.gyp/.gitignore: * TestWebKitAPI/TestWebKitAPI.gyp/.gitignore: 2012-07-03 Ojan Vafai Have webkit-patch rebaseline use rebaseline-test-internal https://bugs.webkit.org/show_bug.cgi?id=90491 Reviewed by Dirk Pranke. This lets it handle new files, reduces duplicate code and lays the groundwork for making rebaseline have a richer interface. * Scripts/webkitpy/common/net/buildbot/buildbot_mock.py: (MockBuild): (MockBuild.__init__): (MockBuilder.build): * Scripts/webkitpy/tool/commands/rebaseline.py: (AbstractParallelRebaselineCommand._files_to_add): (Rebaseline): (Rebaseline._builder_to_pull_from): (Rebaseline._tests_to_update): (Rebaseline.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_overrides_are_included_correctly): (test_rebaseline): (test_rebaseline.mock_builder_to_pull_from): (test_rebaseline.mock_tests_to_update): 2012-07-03 Ojan Vafai Rename rebaseline-test to rebaseline-test-internal https://bugs.webkit.org/show_bug.cgi?id=90485 Reviewed by Adam Barth. It's now only used by other rebaseline commands. It's still useful to leave it as it's own command to aid in debugging when something goes wrong. In a followup patch, I'll make webkit-patch rebaseline cover any use-cases that rebaseline-test might have covered. We no longer need the --print-scm-changes option since the only caller always passes that option in. Also, make all the arguments command-line flags instead. Simplifies the code a bit in my opinion. * Scripts/webkitpy/tool/commands/rebaseline.py: (RebaselineTest): (RebaselineTest.__init__): (RebaselineTest.execute): (AbstractParallelRebaselineCommand._rebaseline_commands): (RebaselineExpectations.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline_all): 2012-07-03 Balazs Kelemen [Qt][WTR] Get rid of using DumpRenderTreeSupportQt https://bugs.webkit.org/show_bug.cgi?id=90262 Unreviewed build fix. Reverting r121550 manually because it caused build break on ARM and Mac. It turned out that the Qt build system is too broken for this change now, first we have to address two issues: * symbol hiding was forbidden accidentally on x86 Linux * Qt lacks a separate library for test support * Tools.pro: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::resetAfterTest): (WTR::InjectedBundlePage::didClearWindowForFrame): * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: 2012-07-03 Tony Chang [chromium] Handle trailing backslash on %VSINSTALLDIR% https://bugs.webkit.org/show_bug.cgi?id=90410 Reviewed by Ojan Vafai. * Scripts/webkitdirs.pm: (buildChromiumVisualStudioProject): Handle VSINSTALLDIR ending in a backslash, the backslash escapes the closing double quote. 2012-07-02 Ojan Vafai Make the skia_test_expectations.txt file optional. https://bugs.webkit.org/show_bug.cgi?id=90400 Reviewed by Dirk Pranke. It used to be optional. This regressed at some point. It's important that it be optional so that webkit-patch commands work in a pure-webkit checkout for chromium bots. Specifically, this was breaking webkit-patch rebaseline-test when it would go to update TestExpectations. * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort.expectations_files): * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: (ChromiumDriverTest.test_expectations_dict): 2012-07-03 Raphael Kubo da Costa [jhbuild][EFL] Bump libffi dependency. https://bugs.webkit.org/show_bug.cgi?id=85373 Reviewed by Gustavo Noronha Silva. Update libffi to 3.0.11, which fixes the build on some platforms where 3.0.10 had problems. * efl/jhbuild.modules: 2012-07-03 George Staikos [BlackBerry] Enable microdata support for BlackBerry. https://bugs.webkit.org/show_bug.cgi?id=90429 Reviewed by Rob Buis. * Scripts/webkitperl/FeatureList.pm: 2012-07-03 Tor Arne Vestbø [Qt] Make use of .qmake.cache for caching features Instead of loading() features from the files that need them (and re-running a bunch of checks), we now run feature detection as part of configure.pro, and have build-webkit write the computed feature-defines and CONFIG to .qmake.cache, which is then loaded by qmake _before_ even defaults_pre when building WebKit.pro. At some point we'll be able to selectivly prevent running of config tests in configure.pro, which means we don't need a separate code-path for the build-webkit --help case. We should also move the code in build-webkit that now uses .webkit.config to detect clean builds, to use .qmake.cache, since we now store the same thing there. Original patch by Oswald Buddenhagen Reviewed by Tor Arne Vestbø. * DumpRenderTree/qt/DumpRenderTree.pro: * QtTestBrowser/QtTestBrowser.pro: * Scripts/webkitdirs.pm: (qtFeatureDefaults): (buildQMakeProjects): * Tools.pro: * WebKitTestRunner/InjectedBundle/DerivedSources.pri: * WebKitTestRunner/InjectedBundle/Target.pri: * WebKitTestRunner/Target.pri: * qmake/.qmake.conf: Added. * qmake/configure.pro: * qmake/mkspecs/features/default_post.prf: * qmake/mkspecs/features/default_pre.prf: * qmake/mkspecs/features/features.prf: 2012-07-03 Nico Weber -Wunused-private-field cleanup, linux edition https://bugs.webkit.org/show_bug.cgi?id=90463 Reviewed by Stephen White. * DumpRenderTree/chromium/DRTDevToolsAgent.h: * DumpRenderTree/chromium/GamepadController.h: (GamepadController): * DumpRenderTree/chromium/NotificationPresenter.h: (NotificationPresenter::NotificationPresenter): (NotificationPresenter): 2012-07-03 Sheriff Bot Unreviewed, rolling out r121766. http://trac.webkit.org/changeset/121766 https://bugs.webkit.org/show_bug.cgi?id=90465 It caused flakey build errors on the bots (Requested by Ossy on #webkit). * DumpRenderTree/qt/DumpRenderTree.pro: * QtTestBrowser/QtTestBrowser.pro: * Scripts/webkitdirs.pm: (qtFeatureDefaults): (buildQMakeProjects): * Tools.pro: * WebKitTestRunner/InjectedBundle/DerivedSources.pri: * WebKitTestRunner/InjectedBundle/Target.pri: * WebKitTestRunner/Target.pri: * qmake/.qmake.conf: Removed. * qmake/configure.pro: * qmake/mkspecs/features/default_post.prf: * qmake/mkspecs/features/default_pre.prf: * qmake/mkspecs/features/features.prf: 2012-07-03 George Staikos [BlackBerry] Enable Custom Scheme Handlers for BlackBerry. https://bugs.webkit.org/show_bug.cgi?id=90422 Reviewed by Rob Buis. * Scripts/webkitperl/FeatureList.pm: 2012-07-03 George Staikos [BlackBerry] Enable RegisterProtocolHandler for BlackBerry. https://bugs.webkit.org/show_bug.cgi?id=90422 Reviewed by Rob Buis. * Scripts/webkitperl/FeatureList.pm: 2012-07-03 Thiago Marcos P. Santos [EFL] Add run API tests as a step on the build bots https://bugs.webkit.org/show_bug.cgi?id=87252 Reviewed by Daniel Bates. Run EFL API test suite on the build bots. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunEflAPITests): (TestFactory.__init__): (BuildAndTestFactory.__init__): * Scripts/run-efl-tests: Added. 2012-07-03 Tor Arne Vestbø [Qt] Make use of .qmake.cache for caching features Instead of loading() features from the files that need them (and re-running a bunch of checks), we now run feature detection as part of configure.pro, and have build-webkit write the computed feature-defines and CONFIG to .qmake.cache, which is then loaded by qmake _before_ even defaults_pre when building WebKit.pro. At some point we'll be able to selectivly prevent running of config tests in configure.pro, which means we don't need a separate code-path for the build-webkit --help case. We should also move the code in build-webkit that now uses .webkit.config to detect clean builds, to use .qmake.cache, since we now store the same thing there. Original patch by Oswald Buddenhagen Reviewed by Tor Arne Vestbø. * DumpRenderTree/qt/DumpRenderTree.pro: * QtTestBrowser/QtTestBrowser.pro: * Scripts/webkitdirs.pm: (qtFeatureDefaults): (buildQMakeProjects): * Tools.pro: * WebKitTestRunner/InjectedBundle/DerivedSources.pri: * WebKitTestRunner/InjectedBundle/Target.pri: * WebKitTestRunner/Target.pri: * qmake/.qmake.conf: Added. * qmake/configure.pro: * qmake/mkspecs/features/default_post.prf: * qmake/mkspecs/features/default_pre.prf: * qmake/mkspecs/features/features.prf: 2012-07-03 Jocelyn Turcotte Joel Dillon [Qt][Win] Fix broken QtWebKit5.lib linking https://bugs.webkit.org/show_bug.cgi?id=88321 Reviewed by Kenneth Rohde Christiansen. On windows the import/export definition is part of the symbol's signature. Define STATICALLY_LINKED_WITH_$$library for each dependend module that is being linked statically to make sure that they can be linked together later on. Also do not compile Assertions.cpp in DumpRenderTree anymore since all the used symbols are exported and it would cause a duplicate symbols error. * DumpRenderTree/qt/DumpRenderTree.pro: * qmake/mkspecs/features/default_post.prf: 2012-07-03 Szilard Ledan master.cfg cleanup, pass BuildStep instances instead of BuildStep subclasses https://bugs.webkit.org/show_bug.cgi?id=89001 Reviewed by Csaba Osztrogonác. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (UploadBuiltProduct.__init__): (UploadTestResults.__init__): (ExtractTestResults.__init__): (Factory.__init__): (BuildFactory.__init__): (TestFactory.__init__): (BuildAndTestFactory.__init__): (BuildAndPerfTestFactory.__init__): (BuildAndPerfTestWebKit2Factory.__init__): (DownloadAndPerfTestFactory.__init__): 2012-07-03 Ádám Kallai Update unit test after r121724. https://bugs.webkit.org/show_bug.cgi?id=90444 Reviewed by Csaba Osztrogonác. * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: (GardeningServerTest.test_rebaseline_new_port): 2012-07-03 Sheriff Bot Unreviewed, rolling out r121749. http://trac.webkit.org/changeset/121749 https://bugs.webkit.org/show_bug.cgi?id=90441 Tests crash on the paralel NRWT Qt bot (Requested by Ossy on #webkit). * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._build_driver): * Scripts/webkitpy/layout_tests/port/xvfbdriver.py: (XvfbDriver._start): (XvfbDriver._start.x_filter): (XvfbDriver.stop): 2012-07-03 Kristóf Kosztyó [NRWT] XvfbDriver should choose the next free display https://bugs.webkit.org/show_bug.cgi?id=88414 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._driver_class): * Scripts/webkitpy/layout_tests/port/xvfbdriver.py: (XvfbDriver.__init__): (XvfbDriver._start): (XvfbDriver._start.next_free_id): (XvfbDriver.stop): 2012-07-03 Christophe Dumez [EFL] Enable MICRODATA support https://bugs.webkit.org/show_bug.cgi?id=90377 Reviewed by Kenneth Rohde Christiansen. Turn on MICRODATA flag for EFL port by default. * Scripts/webkitperl/FeatureList.pm: 2012-07-02 George Staikos [BlackBerry] Enable scoped style for BlackBerry. https://bugs.webkit.org/show_bug.cgi?id=90418 Reviewed by Rob Buis. * Scripts/webkitperl/FeatureList.pm: 2012-07-02 Xiaobo Wang [BlackBerry] Use PUBLIC_BUILD to enable/disable DRT https://bugs.webkit.org/show_bug.cgi?id=90271 Reviewed by George Staikos. RIM PR #154707 Currently DRT code will be compiled only if ENABLE_DRT is set, and it's not defined by default. We should enable DRT by default unless PUBLIC_BUILD is set. In this way we don't need to rebuild webkit before running DRT. * Scripts/webkitdirs.pm: (blackberryCMakeArguments): 2012-07-02 Ojan Vafai webkit-patch rebaseline-expectations should share code with rebaseline-all https://bugs.webkit.org/show_bug.cgi?id=90413 Reviewed by Dirk Pranke. Make them share code. In addition to reducing code duplication this makes rebaseline-expectations considerably faster by rebaselining in parallel. * Scripts/webkitpy/tool/commands/rebaseline.py: (AbstractParallelRebaselineCommand): (AbstractParallelRebaselineCommand._run_webkit_patch): (AbstractParallelRebaselineCommand._rebaseline): (RebaselineJson): (RebaselineJson.execute): (RebaselineExpectations): (RebaselineExpectations._update_expectations_file): (RebaselineExpectations._tests_to_rebaseline): (RebaselineExpectations._add_tests_to_rebaseline_for_port): (RebaselineExpectations.execute): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline_all): (test_rebaseline_expectations.run_in_parallel): (test_rebaseline_expectations): 2012-07-02 Xiaobo Wang [BlackBerry] Update DumpRenderTree to have it work interactively in parallel https://bugs.webkit.org/show_bug.cgi?id=88326 Reviewed by Rob Buis. 1. Test name is sent to torch-launcher via PPS message(from host machine). So we get test list by monitoring and receiving PPS message instead of reading file index.drt. 2. Torch-launcher create a .done file when it finished a test. 3. We don't need to search for Ref-tests in DumpRenderTree.cpp any more. NRWT will get them for us. * DumpRenderTree/blackberry/DumpRenderTree.cpp: (BlackBerry::WebKit::DumpRenderTree::DumpRenderTree): (BlackBerry::WebKit::DumpRenderTree::doneDrt): (BlackBerry::WebKit::DumpRenderTree::runRemainingTests): (BlackBerry::WebKit::DumpRenderTree::ensurePPS): (WebKit): (BlackBerry::WebKit::DumpRenderTree::handlePPSData): (BlackBerry::WebKit::DumpRenderTree::waitForTest): (BlackBerry::WebKit::DumpRenderTree::runTests): (BlackBerry::WebKit::DumpRenderTree::dump): * DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h: (DumpRenderTree): 2012-07-02 Adam Barth Remove flashplugin-installer from the EWS image because it causes some tests to crash https://bugs.webkit.org/show_bug.cgi?id=90403 Reviewed by Tony Chang. * EWSTools/cold-boot.sh: 2012-07-02 Leandro Gracia Gil [Chromium] Implement a Layout Test for editing/SurroundingText https://bugs.webkit.org/show_bug.cgi?id=82461 Reviewed by Ryosuke Niwa. Add a new method to the layout test controller in order to retrieve the text surrounding a provided element. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::textSurroundingElement): * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController): 2012-07-02 Ojan Vafai Delete unused rebaseline method in gardeningserver.py https://bugs.webkit.org/show_bug.cgi?id=90396 Reviewed by Eric Seidel. As best I can tell, the only usage was in this unittest. * Scripts/webkitpy/tool/servers/gardeningserver.py: (GardeningHTTPRequestHandler.updateexpectations): * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: (GardeningServerTest.test_rebaseline_new_port): 2012-07-02 Csaba Osztrogonác REGRESSION(r121497): It switched off and broke many unittests https://bugs.webkit.org/show_bug.cgi?id=90371 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest): Use snowleopard as os_version instead of leopard, because it isn't supported anymore. * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py: (ChromiumPortTestCase.test_all_test_configurations): Remove leopard testcases, because it isn't supported anymore. * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase): Inherit class PortTestCase from unittest.TestCase instead of object. 2012-07-02 Ojan Vafai Move rebaseline-all command from the gardening-server down into webkit-patch https://bugs.webkit.org/show_bug.cgi?id=90395 Reviewed by Adam Barth. This is just moving code. It it in preparation for making rebaseline-expectations use the same code in order to get the parallelism benefits and reduces the amount of code we have for doing rebaselines. * Scripts/webkitpy/common/checkout/checkout_unittest.py: (CheckoutTest.test_apply_patch): Updated due to the change to executive_mock. * Scripts/webkitpy/common/system/executive_mock.py: (MockExecutive.run_command): Update to print out the input passed to stdin. * Scripts/webkitpy/tool/commands/download_unittest.py: Updated due to executive_mock change. * Scripts/webkitpy/tool/commands/rebaseline.py: (RebaselineAll): (RebaselineAll._run_webkit_patch): (RebaselineAll._builders_to_fetch_from): (RebaselineAll._rebaseline_commands): (RebaselineAll._files_to_add): (RebaselineAll._optimize_baselines): (RebaselineAll._rebaseline): (RebaselineAll.execute): All this code is just copy-pasted except for mechanical changes (e.g. self.server.tool --> self._tool) and the reading in of the JSON from stdin instead of the post body. * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline_all): Copied the test-case out of gardeningserver_unittest.py. * Scripts/webkitpy/tool/servers/gardeningserver.py: (GardeningHTTPRequestHandler): (GardeningHTTPRequestHandler.rebaseline): (GardeningHTTPRequestHandler.rebaselineall): * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: (GardeningServerTest.test_rebaselineall): (GardeningServerTest.test_rebaselineall.run_command): 2012-07-02 Ojan Vafai Remove Leopard support from the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=90390 Reviewed by Adam Barth. * TestResultServer/static-dashboards/flakiness_dashboard.js: (nonChromiumPlatform): (chromiumPlatform): * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: (test): * TestResultServer/static-dashboards/run-embedded-unittests.html: * TestResultServer/static-dashboards/run-unittests.html: 2012-07-02 Ojan Vafai Fix posting from garden-o-matic. This broke in moving away from jquery's ajax method in http://trac.webkit.org/changeset/121617. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/net.js: 2012-07-02 Carlos Garcia Campos [GTK] Read fonts path when running layout tests from alternative fonts dir when main dir doesn't exist https://bugs.webkit.org/show_bug.cgi?id=89437 Reviewed by Martin Robinson. If main fonts directory doesn't exist, try with an alternative fonts directory at build directory. * DumpRenderTree/gtk/DumpRenderTree.cpp: (getOutputDir): (getFontsPath): (initializeFonts): * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::getOutputDir): (WTR): (WTR::getFontsPath): (WTR::inititializeFontConfigSetting): 2012-07-02 Carlos Garcia Campos [GTK] Don't run the tests with jhbuild wrapper if it's already running under jhbuild https://bugs.webkit.org/show_bug.cgi?id=89435 Reviewed by Martin Robinson. * Scripts/new-run-webkit-tests: Don't run the tests with the jhbuild wrapper if there isn't a Dependencies directory inside the build directory. 2012-06-29 Oswald Buddenhagen [Qt] Simplify detection of non-installed module file Has the additional advantage that we do not rely on additional information. Reviewed by Tor Arne Vestbø. * qmake/qt_webkit.pri: 2012-07-01 Christophe Dumez [EFL] Add Gamepad support https://bugs.webkit.org/show_bug.cgi?id=90170 Reviewed by Kenneth Rohde Christiansen. * Scripts/webkitperl/FeatureList.pm: Turn on GAMEPAD flag by default for EFL port. * efl/jhbuild.modules: Bump dependency versions of EFL libs since the latest Eeze is required for gamepad support. 2012-07-01 Adam Barth Unreviewed. Using the default start cylinder for fdisk causes a warning about the partition not starting on physical sector boundary. The Ubuntu forums recommend using a number that's divisible by 8, which is what we do in this patch. * EWSTools/cold-boot.sh: 2012-07-01 Adam Barth Unreviewed. It turns out we need to use Ubuntu 10.04 to get the right image results for chromium-linux. This patch updates our scripts to be compatible with Ubuntu 10.04. * EWSTools/cold-boot.sh: - fdisk doesn't have p and 1 as default commands in 10.04. * EWSTools/start-queue.sh: - git doesn't understanding the -B argument in 10.04. We've been using this change locally on the EC2 bots for a while. 2012-07-01 Adam Barth Unreviewed. * EWSTools/boot.sh: - We need to start the screen in detached mode so that we can run it remotely via ssh. 2012-07-01 Adam Barth Unreviewed. * EWSTools/cold-boot.sh: - Turns out we need to sudo this command in order for it to actually dimiss the EULA screen. :) 2012-06-29 Adam Barth Turns out we need zip too. * EWSTools/cold-boot.sh: 2012-06-29 Adam Barth Add a cold-boot.sh script for the EWS https://bugs.webkit.org/show_bug.cgi?id=90330 Unreviewed. * EWSTools/cold-boot.sh: Added. - This script can take us from a cold GCE instance to a running EWS bot in one fell swoop. * EWSTools/start-queue.sh: - The if-block at the top of this script was causing trouble. I removed it from the bots a while ago. Now that we're using SVN to cold-boot the EWS bots, we need to make this change in the repo. 2012-06-29 Luiz Agostini [Qt][WK2] Private non-QtQuick API https://bugs.webkit.org/show_bug.cgi?id=84532 MiniBrowserRaw is an usage example for the QRawWebView API. It is only an example and is not fully implemented. Reviewed by Noam Rosenthal. * MiniBrowser/qt/raw/DerivedSources.pri: Added. * MiniBrowser/qt/raw/MiniBrowserRaw.pro: Added. * MiniBrowser/qt/raw/Target.pri: Added. * MiniBrowser/qt/raw/View.cpp: Added. * MiniBrowser/qt/raw/View.h: Added. * Scripts/webkitpy/style/checker.py: * Tools.pro: 2012-06-29 Ojan Vafai Remove leopard bots from garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=90328 Reviewed by Adam Barth. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js: 2012-06-29 Ojan Vafai garden-o-matic broken: TypeError: 'undefined' is not an object (evaluating 'buildLocations[currentIndex].url') https://bugs.webkit.org/show_bug.cgi?id=90243 Reviewed by Dirk Pranke. jQuery was trying to be too smart and parsing the jsonp as json because of it's content-type. Excise jQuery and just use XHR directly since it's easier to maintain something where we control it all. Not really sure how to unittest this. I tested it all manually of course. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/net.js: Made net.ajax a drop-in replacement for the features of $.ajax that we were using. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js: Not related to this patch, but figured I'd update the failing test while I was at it. 2012-06-29 Yaron Friedman Fix layout test runner for Android after https://bugs.webkit.org/show_bug.cgi?id=88134 https://bugs.webkit.org/show_bug.cgi?id=90309 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.start_http_server): 2012-06-29 James Weatherall NPObjectWrapper may not address all window script object lifetime issues https://bugs.webkit.org/show_bug.cgi?id=85679 TestNetscapePlugin now has a leak-window-scriptable-object test which takes a reference to the window script object, and a second reference to it via the "self" property, and does not release those references. This is used to simulate a leaky plugin in layout tests of the NPAPI scripting interface glue code. Reviewed by Nate Chapin. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: (PluginTest::NPN_GetProperty): * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: (PluginTest): * DumpRenderTree/TestNetscapePlugIn/Tests/LeakWindowScriptableObject.cpp: Added. (LeakWindowScriptableObject): (LeakWindowScriptableObject::LeakWindowScriptableObject): (LeakWindowScriptableObject::NPP_New): 2012-06-29 Dirk Pranke webkitpy: add comment about how determine_full_port_name() works for apple ports, fix -wk2 bug https://bugs.webkit.org/show_bug.cgi?id=90314 Reviewed by Ojan Vafai. Add comments and fix a bug in how we would handle the mac-wk2 and win-wk2 port names after confusion around in bug 90312 :). * Scripts/webkitpy/layout_tests/port/apple.py: (ApplePort.determine_full_port_name): 2012-06-29 Dirk Pranke webkitpy: remove support for mac leopard from chromium configurations https://bugs.webkit.org/show_bug.cgi?id=90313 Reviewed by Tony Chang. Google has shipped the last version of Chrome that will support Mac OS 10.5 (Leopard), and we no longer have bots that run this configuration, so we're removing support for it. A subsequent change will remove the baselines in platform/chromium-mac-leopard. * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: (BaselineOptimizerTest.test_complex_shadowing): * Scripts/webkitpy/layout_tests/port/builders.py: * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort): * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest.test_versions): * Scripts/webkitpy/layout_tests/port/factory_unittest.py: (FactoryTest.test_mac): (FactoryTest.test_chromium_mac): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (test_rebaseline_and_copy_test_with_lion_result): 2012-06-29 Ojan Vafai Fix optimize-baselines to not move baselines from win to win-7sp0 https://bugs.webkit.org/show_bug.cgi?id=90312 Reviewed by Dirk Pranke. It used to consider win-7sp0 as the common directory for all the Apple windows ports and incorrectly move results out of win. * Scripts/webkitpy/common/checkout/baselineoptimizer.py: * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: (BaselineOptimizerTest.test_win_does_not_drop_to_win_7sp0): (BaselineOptimizerTest.test_common_directory_includes_root): 2012-06-28 Ojan Vafai Fix rebaselining for Qt and Apple ports https://bugs.webkit.org/show_bug.cgi?id=90204 Reviewed by Dirk Pranke. -Apporpriately put wk2 results in the -wk2 directories. -Since Qt and Apple-Win don't have bots that correspond to the platform/qt and platform/win directories, we need to fudge it and always put the results in those directories for those ports. * Scripts/webkitpy/layout_tests/port/builders.py: (rebaseline_override_dir): * Scripts/webkitpy/layout_tests/port/factory.py: (_builder_options): Identify webkit2 builders by the WK2 in the builder name. * Scripts/webkitpy/tool/commands/rebaseline.py: (RebaselineTest._baseline_directory): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (TestRebaseline.test_baseline_directory): 2012-06-29 Zoltan Horvath Add support for --force parameter to run-performance-tests https://bugs.webkit.org/show_bug.cgi?id=90279 Reviewed by Dirk Pranke. It's helpful to be able to run tests from the Skipped list of the performance tests. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner._parse_args): (PerfTestsRunner._collect_tests): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Add test. (test_collect_tests_with_skipped_list): 2012-06-29 Tony Chang [GTK] Enable CSS grid layout LayoutTests on GTK+ https://bugs.webkit.org/show_bug.cgi?id=90226 Reviewed by Martin Robinson. This feature is disabled via Settings by default, but for testing, we enable it using layoutTestController.overridePreferences. Add the necessary plumbing for DRT. WTR already works because support was added for Apple Mac earlier. * DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): Feature is off by default. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::overridePreference): Add handling of WebKitCSSGridLayoutEnabled. 2012-06-29 Ádám Kallai [Qt] Added Qt port for garden-o-matic. https://bugs.webkit.org/show_bug.cgi?id=82719 Reviewed by Adam Barth. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: (.): 2012-06-29 Balazs Kelemen [Qt][WTR] Get rid of using DumpRenderTreeSupportQt https://bugs.webkit.org/show_bug.cgi?id=90262 Reviewed by Alexey Proskuryakov. Now that we decided to not support v8 in WebKit2 we can get rid of using DumpRenderTreeSupportQt in WebKitTestRunner. * Tools.pro: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::resetAfterTest): (WTR::InjectedBundlePage::didClearWindowForFrame): * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: 2012-06-29 Tor Arne Vestbø Revert r121540, it broke most Qt builds * qmake/mkspecs/features/default_post.prf: * qmake/mkspecs/features/functions.prf: 2012-06-29 Oswald Buddenhagen [Qt] Make build-webkit reject uknown configurations, eg. --profile The qmake-based buildsystem doesn't support it. Reviewed by Tor Arne Vestbø. * Scripts/webkitdirs.pm: (buildQMakeProjects): 2012-06-29 Oswald Buddenhagen [Qt] Don't add Qt module dependencies in features.prf The required dependencies are already added in WebCore.pri. Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/features.prf: 2012-06-27 Oswald Buddenhagen [Qt] Use LIBS_PRIVATE instead of putting dependencies into LIBS Reviewed by Tor Arne Vestbø.. * qmake/mkspecs/features/default_post.prf: * qmake/mkspecs/features/functions.prf: 2012-06-28 Ryosuke Niwa DOMHTMLCollection::item may return a wrong element after namedItem is called https://bugs.webkit.org/show_bug.cgi?id=90240 Reviewed by Antti Koivisto. Add a WebKit API test since namedItem is not used in the JS/V8 binding code. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.html: Copied from Tools/TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.html. * TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.mm: Copied from Tools/TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm. (TestWebKitAPI::TEST): 2012-06-28 Dirk Pranke nrwt: remove the 'google-chrome' port code https://bugs.webkit.org/show_bug.cgi?id=88824 Reviewed by Ojan Vafai. NRWT now supports passing additional baseline directories and expectations files on the command line, so there's no need to support the concept of a 'google-chrome' port directly. * Scripts/webkitpy/layout_tests/port/base.py: (Port.path_to_test_expectations_file): * Scripts/webkitpy/layout_tests/port/builders.py: * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort.__init__): * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort.__init__): * Scripts/webkitpy/layout_tests/port/factory.py: (PortFactory): * Scripts/webkitpy/layout_tests/port/factory_unittest.py: (FactoryTest.test_win): * Scripts/webkitpy/layout_tests/port/google_chrome.py: Removed. * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py: Removed. 2012-06-28 Dirk Pranke nrwt: clean up how arguments are passed to workers https://bugs.webkit.org/show_bug.cgi?id=90126 Reviewed by Ojan Vafai. The way arguments are passed to workers has been crufty. It turns out it can be a lot cleaner via two things: 1) using a factory method instead of instantiating objects directly in manager_worker_broker removes the need for passing 'worker arguments' to the broker. 2) it turns out that since mock hosts and test ports are purely in-memory constructions, they can be pickled and passed to child workers, meaning that the worker no longer needs hacky code to pass the port in a special case or to guess what to do if we don't have a host - all of the test-specific logic can move to the test file, where we can stub out the mock host's port_factory to return the same already-created port when it needs to be shared. This change also moves WorkerException to manager_worker_broker.py where it belongs, and removes several useless tests that were just a maintenance burden (and would've needed rewriting when we change the rest of the broker implementation). * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._run_tests.worker_factory): (Manager._run_tests): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (get): (WorkerException): (AbstractWorker.__init__): (_ManagerConnection.__init__): (_ManagerConnection.start_worker): (_InlineManager.__init__): (_InlineManager.start_worker): (_MultiProcessManager._can_pickle_host): (_MultiProcessManager): (_MultiProcessManager.start_worker): (_WorkerConnection.__init__): (_InlineWorkerConnection.__init__): (_InlineWorkerConnection.join): (_InlineWorkerConnection.run): (_Process.run): (_MultiProcessWorkerConnection.__init__): (_MultiProcessWorkerConnection.start): (_MultiProcessWorkerConnection): (_MultiProcessWorkerConnection.run): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py: (_TestWorker.__init__): (_TestWorker.run): (_TestsMixin.test_name): (_TestsMixin.test_cancel): (_TestsMixin.test_done): (_TestsMixin.test_unknown_message): (InlineBrokerTests.setUp): (MultiProcessBrokerTests.setUp): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.__init__): (Worker.run): * Scripts/webkitpy/layout_tests/controllers/worker_unittest.py: Removed. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (passing_run): (logging_run): (run_and_capture): (MainTest.test_child_processes_2): (MainTest.test_child_processes_min): (MainTest.test_exception_raised): (MainTest.test_keyboard_interrupt): (MainTest.test_retrying_and_flaky_tests): (MainTest.test_run_order__inline): 2012-06-28 Dirk Pranke nrwt: don't try to catch worker exceptions in run_webkit_tests.__main__ https://bugs.webkit.org/show_bug.cgi?id=90125 Reviewed by Ojan Vafai. It turns out run_webkit_tests.py wasn't really using WorkerException and the catch we had for it was pointless. I've removed the symbol import and moved it to the integration tests where it is needed. Eventually the definition of the exception moves to the broker module, and so minimizing the number of users of it is a good thing. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_exception_raised): 2012-06-28 Dirk Pranke nrwt: clean up passing of log messages between processes https://bugs.webkit.org/show_bug.cgi?id=90123 Reviewed by Ojan Vafai. It turns out log messages are perfectly picklable by themselves and contain the process id of the process that generated the message, so if we just pass the record from the worker to the manager and call logger.handle() in the manager, everything just works :). The change is covered by existing tests. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._log_messages): * Scripts/webkitpy/layout_tests/controllers/worker.py: (_WorkerLogHandler.emit): * Scripts/webkitpy/layout_tests/views/metered_stream.py: (MeteredStream.__init__): (_LogHandler.emit): 2012-06-28 Dirk Pranke add a pylint wrapper for linting python code https://bugs.webkit.org/show_bug.cgi?id=90232 Reviewed by Adam Barth. Currently we use 'pep8' to check python code in check-webkit-style. pep8 is fast but simple; pylint is slower but has much more robust linting capabilities and will catch variable typos and all sorts of other things. Eventually we should switch check-webkit-style to use this, but our code is far from linting now so it needs to be cleaned up first. This change adds the infrastructure and a wrapper so we can start doing that. * Scripts/lint-webkitpy: Added. * Scripts/webkitpy/pylintrc: Added. * Scripts/webkitpy/thirdparty/__init__.py: (AutoinstallImportHook.find_module): (AutoinstallImportHook._install_pylint): 2012-06-28 Tony Chang [GTK] Use WEBKITOUTPUTDIR to find fonts in DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=90215 Reviewed by Martin Robinson. * DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeFonts): Check for WEBKITOUTPUTDIR first. * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkPort.setup_environ_for_server): Copy the environment variable to the child process. * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::inititializeFontConfigSetting): Check for WEBKITOUTPUTDIR first. 2012-06-28 Dirk Pranke derive ChromiumPort from WebKitPort in NRWT in order to support skipping tests if symbols are missing https://bugs.webkit.org/show_bug.cgi?id=89706 Reviewed by Ojan Vafai. Try again to land the change first landed in r121363. This patch adds a bunch more tests and reworks the handling of port-specific default values for --pixel-tests and --time-out-ms to be more consistent (adding a default_pixel_tests() method, pushing the webkit default_timeout_ms() value up into base.py, and overriding it properly in the chromium and apple mac ports. Also change the logic in run_webkit_tests._setup_derived_options() to not second-guess what the port wants the timeout value to be for debug builds; computing this in two different places led to several bugs. This change also changes the Chromium unittest ports to derive from ChromiumPortTestCase instead of PortTestCase, so that we ensure that we're running the same tests on all port variants more easily. There's more cleanup that can be done here, but this is good enough for now * Scripts/webkitpy/layout_tests/port/base.py: (Port.default_pixel_tests): (Port): (Port.default_timeout_ms): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort): (ChromiumPort.__init__): (ChromiumPort.default_pixel_tests): (ChromiumPort.default_timeout_ms): (ChromiumPort.driver_name): (ChromiumPort._driver_class): (ChromiumPort._missing_symbol_to_skipped_tests): (ChromiumPort.skipped_layout_tests): (ChromiumPort.setup_test_run): (ChromiumPort._path_to_image_diff): (ChromiumPort._convert_path): * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py: (ChromiumAndroidPortTest): (ChromiumAndroidPortTest.test_expectations_files): * Scripts/webkitpy/layout_tests/port/chromium_linux.py: (ChromiumLinuxPort._modules_to_search_for_symbols): * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py: (ChromiumLinuxPortTest): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort._modules_to_search_for_symbols): * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest): * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py: split off from chromium_unittest. * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort._modules_to_search_for_symbols): * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: (ChromiumWinTest): * Scripts/webkitpy/layout_tests/port/mac.py: (MacPort.default_timeout_ms): * Scripts/webkitpy/layout_tests/port/mac_unittest.py: (MacTest.test_default_timeout_ms): * Scripts/webkitpy/layout_tests/port/mock_drt.py: (MockDRTPort.start_http_server): * Scripts/webkitpy/layout_tests/port/port_testcase.py: (PortTestCase.test_default_timeout_ms): (PortTestCase): (PortTestCase.test_default_pixel_tests): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.default_pixel_tests): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort._modules_to_search_for_symbols): (WebKitPort): (WebKitPort._symbols_string): (WebKitPort._skipped_tests_for_unsupported_features): * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: (TestWebKitPort._symbols_string): (TestWebKitPort._tests_for_disabled_features): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): 2012-06-28 Joshua Bell run-bindings-tests should return non-zero exit code on test failure https://bugs.webkit.org/show_bug.cgi?id=90205 Reviewed by Adam Barth. * Scripts/run-bindings-tests: (main): 2012-06-28 Terry Anderson [chromium] Reset the device scale factor to 1 before each test is run https://bugs.webkit.org/show_bug.cgi?id=90212 Reviewed by Adam Barth. Some tests change the device scale factor, so this needs to be reset to 1.0 at the start of each test to avoid test flakiness. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::reset): 2012-06-28 Ryosuke Niwa Cleanup HTMLFormCollection https://bugs.webkit.org/show_bug.cgi?id=90111 Reviewed by Andreas Kling. Add a WebKit API test using copy-paste design pattern per kling's request. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.html: Added. * TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm: Added. (-[HTMLFormCollectionNamedItemTest webView:didFinishLoadForFrame:]): (TestWebKitAPI): (TestWebKitAPI::TEST): 2012-06-28 Tim Horton [mac] WKTR windows still don't stay off screen sometimes https://bugs.webkit.org/show_bug.cgi?id=90214 Reviewed by Simon Fraser. In some cases, the system itself will consult [WebKitTestRunnerWindow frame], so we should refrain from overriding it and instead provide a different method to use when we want the web-facing "fake" window origin (for PlatformWebView::windowFrame()). * WebKitTestRunner/mac/PlatformWebViewMac.mm: (-[WebKitTestRunnerWindow frameRespectingFakeOrigin]): (WTR::PlatformWebView::windowFrame): 2012-06-28 Martin Robinson [GTK] Add unit tests for GtkInputMethodFilter https://bugs.webkit.org/show_bug.cgi?id=88698 Reviewed by Carlos Garcia Campos. Add unit tests for GtkInputMethodFilter in the WebCore platform layer. This change adds the TestGtk test suite which will be used for all non-API layer GTK unit tests. * TestWebKitAPI/GNUmakefile.am: Update the build to include the new tests. * TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp: Added. (TestWebKitAPI::PlatformWebView::PlatformWebView): Remove the call to gtk_init here as it's now in main.cpp. * TestWebKitAPI/gtk/main.cpp: Change the g_type_init call to gtk_init, because now a majority of all unit tests depend on GTK+ being initialized. 2012-06-28 Christophe Dumez [EFL] Enable support for HTML5 datalist https://bugs.webkit.org/show_bug.cgi?id=90157 Reviewed by Martin Robinson. Turn on DATALIST flag by default on EFL port to support HTML5 datalist tag. * Scripts/webkitperl/FeatureList.pm: 2012-06-28 Tony Chang Enable CSS grid layout LayoutTests on platform Mac https://bugs.webkit.org/show_bug.cgi?id=90113 Reviewed by Ojan Vafai. * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): Reset the value to NO between tests. 2012-06-28 Mike Fenton [BlackBerry] Add watchlist options for Blackberry and editing. https://bugs.webkit.org/show_bug.cgi?id=90193 Unreviewed. Add BlackBerry and Editing watchlist and monitor them. * Scripts/webkitpy/common/config/watchlist: 2012-06-28 Tim Horton Unreviewed, upgrade myself to a reviewer! http://www.webkit.org/blog/2082/tim-horton-is-now-a-webkit-reviewer/ * Scripts/webkitpy/common/config/committers.py: 2012-06-28 Terry Anderson [Chromium] Chromium's LayoutTestController is missing setBackingScaleFactor https://bugs.webkit.org/show_bug.cgi?id=83635 Reviewed by Adam Barth. Added InvokeCallbackTask, a new derived class of MethodTask. When setBackingScaleFactor is called, a call to setDeviceScaleFactor in WebView is made and then postTask is used to invoke the callback function specified in testRunner.setBackingScaleFactor. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (InvokeCallbackTask): (InvokeCallbackTask::InvokeCallbackTask): (InvokeCallbackTask::runIfValid): (LayoutTestController::setBackingScaleFactor): * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController): 2012-06-28 Ojan Vafai Make rebaseline-test and rebaseline-expectations work for non-Chromium ports https://bugs.webkit.org/show_bug.cgi?id=90186 Reviewed by Adam Barth. This makes rebaselining work for all ports that have a TestExpectations file in the tree. I didn't test other ports. This doesn't address 100% of the problem. The rebaseline code puts the expectations in the most specific directory and relies on optimize-baselines to merge baselines appropriately. This only works if every platform directory has an equivalent bot that runs the tests, which is not true for most ports. * Scripts/webkitpy/common/net/buildbot/buildbot.py: (Builder._revision_and_build_for_filename): Some bots have filenames that aren't revision/build number pairs e.g. they are random junk like aQhxvx. Handle this gracefully. (Builder._fetch_revision_to_build_map): (Builder._file_info_list_to_revision_to_build_list): * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: (BuilderTest.test_build_and_revision_for_filename): (BuilderTest.test_file_info_list_to_revision_to_build_list): * Scripts/webkitpy/layout_tests/port/builders.py: Update the list of builders. This list needs to be kept up to date for the rebaseline tool to work. * Scripts/webkitpy/tool/commands/rebaseline.py: (RebaselineTest._results_url): (RebaselineExpectations._run_webkit_patch): (RebaselineExpectations._rebaseline_port): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Qt port uses qmake to determine the right version. Systems without qmake correctly fallback to a specific version. 2012-06-28 Csaba Osztrogonác [Qt][NRWT] Fix baseline and skipped file search path. https://bugs.webkit.org/show_bug.cgi?id=89882 Unreviewed trivial typo fix after r121430. * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest._assert_search_path): (QtPortTest._assert_skipped_path): 2012-06-28 János Badics [Qt][NRWT] Fix baseline and skipped file search path. https://bugs.webkit.org/show_bug.cgi?id=89882 Reviewed by Csaba Osztrogonác. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._search_paths): (QtPort): (QtPort.baseline_search_path): (QtPort._skipped_file_search_paths): * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest): (QtPortTest._assert_skipped_path): (QtPortTest.test_baseline_search_path): (QtPortTest.test_skipped_file_search_path): 2012-06-28 Alexander Pavlov [Qt] inspector/styles/inject-stylesheet.html makes 4 tests flakey (TEXT PASS) https://bugs.webkit.org/show_bug.cgi?id=90167 Reviewed by Csaba Osztrogonác. DRT should remove user stylesheets from the page group when resetting before running another test. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): 2012-06-28 Csaba Osztrogonác [Qt][DRT] Reset AcceleratedCompositingEnabled between tests https://bugs.webkit.org/show_bug.cgi?id=90164 Reviewed by Simon Hausmann. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::resetSettings): 2012-06-28 Csaba Osztrogonác [Qt] Restore original value of mock scrollbars between tests https://bugs.webkit.org/show_bug.cgi?id=90155 Reviewed by Simon Hausmann. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::resetSettings): * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::setMockScrollbarsEnabled): * DumpRenderTree/qt/LayoutTestControllerQt.h: (LayoutTestController): 2012-06-27 Mark Rowe Building within Xcode sometimes does a full rebuild after building via build-webkit We need to ensure that build-webkit uses the same setting for SHARED_PRECOMPS_DIR as what Xcode itself will use when building, otherwise switching between the two can result in the precompiled headers being rebuilt and thus the entire world rebuilding. Reviewed by Dan Bernstein. * Scripts/webkitdirs.pm: (determineBaseProductDir): 2012-06-27 Sheriff Bot Unreviewed, rolling out r121363, r121367, r121384, and r121390. http://trac.webkit.org/changeset/121363 http://trac.webkit.org/changeset/121367 http://trac.webkit.org/changeset/121384 http://trac.webkit.org/changeset/121390 https://bugs.webkit.org/show_bug.cgi?id=90134 It broke debug NRWT on GTK and on Qt (Requested by Ossy_NIGHT on #webkit). * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort): (ChromiumPort.__init__): (ChromiumPort._check_file_exists): (ChromiumPort.default_results_directory): (ChromiumPort._driver_class): (ChromiumPort._build_path): (ChromiumPort._path_to_image_diff): * Scripts/webkitpy/layout_tests/port/chromium_linux.py: (ChromiumLinuxPort.baseline_search_path): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort.baseline_search_path): * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: (ChromiumPortTest): * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort.baseline_search_path): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort.__init__): (WebKitPort._webcore_symbols_string): (WebKitPort._skipped_tests_for_unsupported_features): * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: (TestWebKitPort._webcore_symbols_string): (WebKitPortUnitTests.test_default_options): 2012-06-27 Dirk Pranke Fix typo in r121384 :( Unreviewed, build fix. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort.default_test_timeout_ms): 2012-06-27 Dirk Pranke nrwt: default timeout for debug bots broke in r121363 https://bugs.webkit.org/show_bug.cgi?id=90112 Unreviewed, build fix. I forgot to account for release and debug having different default values :(. * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort.default_test_timeout_ms): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort): (WebKitPort.default_test_timeout_ms): * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: (WebKitPortUnitTests.test_default_options): 2012-06-27 Dirk Pranke webkitpy: fix a couple of issues running under cygwin https://bugs.webkit.org/show_bug.cgi?id=90035 Reviewed by Eric Seidel. These were causing unit tests to fail on cygwin (apple win bot). * Scripts/webkitpy/layout_tests/port/chromium.py: * Scripts/webkitpy/performance_tests/perftest.py: 2012-06-27 Adam Barth [Chromium] DumpRenderTree on Android should call SkUseTestFontConfigFile once available https://bugs.webkit.org/show_bug.cgi?id=89801 Reviewed by Nate Chapin. Let's call SkUseTestFontConfigFile now that it exists. * DumpRenderTree/chromium/TestShellAndroid.cpp: (platformInit): 2012-06-27 Dirk Pranke Fix typo introduced in r121363. Unreviewed, build fix. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort._symbols_string): 2012-06-27 Mark Hahnenberg Moving from committers to reviewers :-) Rubber stamped by Filip Pizlo. * Scripts/webkitpy/common/config/committers.py: 2012-06-27 Dirk Pranke Derive ChromiumPort from WebKitPort to add support for missing symbols to skip tests https://bugs.webkit.org/show_bug.cgi?id=89706 Reviewed by Adam Barth. Based on the original patch by Raymond Toy. This patch changes ChromiumPort to derive from webkit.WebKitPort instead of base.Port. This is a long-awaited change and a precursor to merging base.Port and webkit.WebKitPort, but is driven by the desire to dynamically detect whether the MP3 and AAC codecs are compiled into DRT on Chromium, for which we wanted to re-use the existing logic in WebKit port for determine what to skip at compile time. Most of the changes are shuffling things around so that we don't change any other logic and so we override the necessary methods in WebKitPort (and try to follow the same method definition order where possible). Also, on the Chromium port the mp3 and aac codecs are actually defined in a separate library, so scanning webcore isn't sufficient. This patch generalizes the symbol lookup to handle multiple libraries, and uses different libraries as appropriate for Chromium. The only functional/visible changes should be in the value returned for skipped_layout_tests(). * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort): (ChromiumPort.__init__): (ChromiumPort.driver_name): (ChromiumPort._driver_class): (ChromiumPort._missing_symbol_to_skipped_tests): (ChromiumPort.skipped_layout_tests): (ChromiumPort.setup_test_run): (ChromiumPort._path_to_image_diff): (ChromiumPort._convert_path): * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: (ChromiumPortTest.test_missing_symbol_to_skipped_tests): * Scripts/webkitpy/layout_tests/port/chromium_linux.py: (ChromiumLinuxPort._modules_to_search_for_symbols): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumLinuxPort._modules_to_search_for_symbols): * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumLinuxPort._modules_to_search_for_symbols): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort): (WebKitPort.__init__): (WebKitPort._symbols_string): (WebKitPort._modules_to_search_for_symbols): 2012-06-27 Csaba Osztrogonác [Qt] REGRESSION(r121339): It broke the build on the Qt Windows bots https://bugs.webkit.org/show_bug.cgi?id=90081 Buildfix for Qt 4.8 Windows. Use the former path for Qt 4.8, and the newer one for Qt 5. Reviewed by Noam Rosenthal. * qmake/mkspecs/features/features.prf: 2012-06-27 Sergio Villar Senin [WK2] [GTK] WebKit2 testing bot fails to run tests due to missing files https://bugs.webkit.org/show_bug.cgi?id=90061 Reviewed by Gustavo Noronha Silva. Add "-no-install -no-fast-install" to the LDFLAGS in bots. With this flag libtool tells the linker to set the rpath for the output file to the full path of the .libs directory, instead of using a wrapper script to set up the LD_LIBRARY_PATH. This will allow us to directly reuse builds in the pure testing bots. * BuildSlaveSupport/gtk/daemontools-buildbot.conf: 2012-06-27 Tor Arne Vestbø [Qt] No need to save and restore TEMPLATE in a function This was a leftover from when the logic was not in its own function scope. QMAKE_FRAMEWORK_BUNDLE_NAME on the other hand is exported in qtLibraryTarget, which will surprisingly affect the global scope as well, so we have to save and restore it. Original patch by Oswald Buddenhagen on 2012-06-27 Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/functions.prf: 2012-06-27 Oswald Buddenhagen [Qt] Fix lookup location for sqlite sources Don't look in the install dir - we are unlikely to find anything there unless we are doing a developer build. Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/features.prf: 2012-06-27 Zan Dobersek [Gtk] Add support for the Gamepad API https://bugs.webkit.org/show_bug.cgi?id=87503 Reviewed by Carlos Garcia Campos. Enable the gamepad support for the GTK port. * Scripts/webkitperl/FeatureList.pm: 2012-06-27 Ryosuke Niwa Fix gcc build after r121302 https://bugs.webkit.org/show_bug.cgi?id=90055 Reviewed by Mark Rowe. Assume RTTI is always disabled so that gtest builds on XCode 3.2.6. It appears that gcc doesn't like window.get().* inside a template so replace that by [window.get() *] instead. * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm: (TestWebKitAPI::AcceptsFirstMouse::runTest): 2012-06-27 Csaba Osztrogonác Add master.cfg unittest to help migration - pass BuildStep instances instead of BuildStep subclasses https://bugs.webkit.org/show_bug.cgi?id=89564 Reviewed by Tony Chang. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: (BuildStepsConstructorTest): (BuildStepsConstructorTest.generateTests): (BuildStepsConstructorTest.createTest): (BuildStepsConstructorTest.createTest.doTest): 2012-06-26 Mark Hahnenberg Add support for preciseTime() to WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=90027 Reviewed by Darin Adler. It would be nice to be able to use preciseTime() in WebKitTestRunner like we can in DumpRenderTree. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::preciseTime): (WTR): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (LayoutTestController): 2012-06-26 Lucas Forschler Teach the Apple port how to build the test tools in build-webkit https://bugs.webkit.org/show_bug.cgi?id=89540 Reviewed by Jon Lee & Simon Fraser. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunWebKitTests.start): pass --no-build since tools should now be in the downloaded archive (RunUnitTests.start): ditto * Scripts/build-webkit: add tools to the projects build list 2012-06-26 Ojan Vafai Only show the platform-appropriate builders for non-layout test failures in garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=90025 Reviewed by Simon Fraser. Move the chromium-specific filtering code into config.js and replace it with a method on each platform config. Also, let the webkit test step name be webkit_tests (build.chromium.org) or layout-test (build.webkit.org). * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: 2012-06-26 Ojan Vafai Fix failing garden-o-matic unittests https://bugs.webkit.org/show_bug.cgi?id=90021 Reviewed by Adam Barth. These had all just fallen out of date. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js: 2012-06-26 Ojan Vafai Fix platform picker change handler in garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=90010 Reviewed by Simon Fraser. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js: The old code never worked. This is hard to test because change handlers require a user-initiated action and the code is changing the window's location, which would navigate the test page. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css: Fix the CSS so it doesn't cause the tabstrip to be disconnected from the tabs on Linux due to the large margin-bottom. 2012-06-26 Thiago Marcos P. Santos webkitpy: Make webkit-patch patches-to-review useful https://bugs.webkit.org/show_bug.cgi?id=89470 Reviewed by Eric Seidel. webkit-patch patches-to-review will now output the list of bugs with patches pending for review that has the user on CC, excluding patches with cq-, sorted by the age of the patch. * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: (BugzillaQueries.fetch_bugs_from_review_queue): * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: (MockBugzillaQueries.fetch_bugs_from_review_queue): (MockBugzilla.__init__): (MockBugzilla.authenticate): * Scripts/webkitpy/tool/commands/queries.py: (PatchesToReview): (PatchesToReview.__init__): (PatchesToReview._print_report): (PatchesToReview._generate_report): (PatchesToReview.execute): * Scripts/webkitpy/tool/commands/queries_unittest.py: (QueryCommandsTest.test_patches_to_review): 2012-06-26 Dirk Pranke nrwt: broken for chromium on vista https://bugs.webkit.org/show_bug.cgi?id=89988 Reviewed by Tony Chang. r121194 removed support for 'chromium-win-vista' as a separate port, but this actually prevented the code from running on vista at all, which is unduly harsh and broke the websocket tests on the (non-webkit) chromium bots that are still running on vista. It's probably good enough to pretend that vista is win7 instead; some layout tests will still fail but at least things'll run. * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort.determine_full_port_name): * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: (ChromiumWinTest.test_versions): 2012-06-26 Csaba Osztrogonác master.cfg cleanup: Pass CheckOutSource instance instead of class to BuildStep.addStep https://bugs.webkit.org/show_bug.cgi?id=89215 We need it because it is deprecated and will be dropped in buildbot 0.8.7 Reviewed by Tony Chang. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (CheckOutSource.__init__): (Factory.__init__): 2012-06-26 Simon Hausmann [Qt][Win] Symbols are not exported in QtWebKit5.dll https://bugs.webkit.org/show_bug.cgi?id=88873 Reviewed by Tor Arne Vestbø. When linking the target dll make sure to re-export the symbols from the static libraries marked as export, with the help of a little python script and a qmake extra compiler. * Scripts/generate-win32-export-forwards: Added. * qmake/mkspecs/features/win32/default_post.prf: 2012-06-25 Jocelyn Turcotte Add a note about hostname completion not working well with --cc completion Reviewed by Simon Hausmann. Hostname completion tries to resolve anything after an @ sign which is present in the completed list of contributor emails to CC. * Scripts/webkit-tools-completion.sh: 2012-06-26 Sheriff Bot Unreviewed, rolling out r121244. http://trac.webkit.org/changeset/121244 https://bugs.webkit.org/show_bug.cgi?id=89966 skip list path is incorrect now. (Requested by Ossy on #webkit). * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.baseline_search_path): (QtPort._skipped_file_search_paths): * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest.test_baseline_search_path): 2012-06-26 János Badics [Qt][NRWT] Fix baseline and skipped file search path. https://bugs.webkit.org/show_bug.cgi?id=89882 Reviewed by Csaba Osztrogonác. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.baseline_search_path): * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest.test_baseline_search_path): 2012-06-26 Tony Chang [Qt] Enable grid layout LayoutTests https://bugs.webkit.org/show_bug.cgi?id=89909 Reviewed by Csaba Osztrogonác. These tests pass, we just need to hook up the overridePreference. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::resetSettings): Reset grid layout and regions between tests. * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::overridePreference): Add WebKitCSSGridLayoutEnabled. 2012-06-26 Sheriff Bot Unreviewed, rolling out r121236. http://trac.webkit.org/changeset/121236 https://bugs.webkit.org/show_bug.cgi?id=89956 It's broke the nrwt on qt and gtk platform (Requested by kkristof on #webkit). * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._build_driver): * Scripts/webkitpy/layout_tests/port/xvfbdriver.py: (XvfbDriver._start): (XvfbDriver._start.x_filter): (XvfbDriver.stop): 2012-06-26 Kristóf Kosztyó [NRWT] XvfbDriver should choose the next free display https://bugs.webkit.org/show_bug.cgi?id=88414 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._driver_class): * Scripts/webkitpy/layout_tests/port/xvfbdriver.py: (XvfbDriver.__init__): (XvfbDriver._start): (XvfbDriver._start.next_free_id): (XvfbDriver.stop): 2012-06-25 Simon Hausmann [Qt] Make it possible to build WebKit without QtWidgets https://bugs.webkit.org/show_bug.cgi?id=78109 Reviewed by Tor Arne Vestbø. * Tools.pro: Disable various tools that depend on WK1. * qmake/mkspecs/features/default_post.prf: Add WK1 as supported static lib in WEBKIT * qmake/mkspecs/features/default_pre.prf: Disable WK1 if QtWidgets is not built. * qmake/mkspecs/modules/webkit1.prf: Added. 2012-06-25 Dirk Pranke put vista back for chromium (non-webkit) bots ... https://bugs.webkit.org/show_bug.cgi?id=89929 Unreviewed, build fix. Turns out we've only gotten rid of vista on the webkit tests so far. Put vista back for the other chromium bots ... * TestResultServer/static-dashboards/flakiness_dashboard.js: (chromiumPlatform): * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: (test): 2012-06-25 Dirk Pranke update flakiness dashboard after removing chromium-vista bots https://bugs.webkit.org/show_bug.cgi?id=89925 Unreviewed, build fix. More changes missed in r121194 :(. * TestResultServer/static-dashboards/flakiness_dashboard.js: (chromiumPlatform): * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: (test): 2012-06-25 Dirk Pranke remove support for chromium vista from tools https://bugs.webkit.org/show_bug.cgi?id=89915 Reviewed by Tony Chang. This change is all deleting code and updating tests to handle the configuration being gone. All tests now pass except for a few unittests for the flakiness dashboard which were failing before this patch. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js: * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: (BaselineOptimizerTest.test_complex_shadowing): * Scripts/webkitpy/layout_tests/port/builders.py: * Scripts/webkitpy/layout_tests/port/chromium.py: * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: * Scripts/webkitpy/layout_tests/port/chromium_win.py: (ChromiumWinPort): * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: (ChromiumWinTest.test_versions): (ChromiumWinTest.test_baseline_path): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: (BuildCoverageExtrapolatorTest.test_extrapolate): 2012-06-25 Scott Graham [Chromium] add empty impl of WebThemeEngine::getSize() for DRT https://bugs.webkit.org/show_bug.cgi?id=89907 Not reviewed. Fix build in Chromium. * DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp: (WebThemeEngineDRTWin::getSize): * DumpRenderTree/chromium/WebThemeEngineDRTWin.h: (WebThemeEngineDRTWin): 2012-06-25 Gyuyoung Kim [EFL] Implement Network Information API https://bugs.webkit.org/show_bug.cgi?id=87067 Reviewed by Kenneth Rohde Christiansen. * efl/jhbuild.modules: Add eeze library dependency. 2012-06-25 Simon Hausmann [Qt] Fix Win32 debug build Reviewed by Tor Arne Vestbø. Consolidate use_all_in_one_files into mac/unix/win32 default_pre.prf. * qmake/mkspecs/features/unix/default_pre.prf: * qmake/mkspecs/features/win32/default_pre.prf: Added. 2012-06-24 Thiago Marcos P. Santos [Qt] Enable support by default https://bugs.webkit.org/show_bug.cgi?id=89653 Reviewed by Kenneth Rohde Christiansen. This feature is complete for Qt WebKit2. Enabling by default will help to mature the implementation. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-06-24 Dan Bernstein Made debug-{minibrowser,safari,test-runner} work with LLDB. Reviewed by Sam Weinig. * Scripts/debug-minibrowser: Pass INCLUDE_OPTIONS_FOR_DEBUGGING to printHelpAndExitForRunAndDebugWebKitAppIfNeeded(). * Scripts/debug-safari: Ditto. * Scripts/debug-test-runner: Ditto. * Scripts/webkitdirs.pm: (debugger): Added. Calls determineDebugger() if needed and returns the chosen debugger. (determineDebugger): Added. Sets the debugger to "lldb" if the --use-lldb switch is present, and to "gdb" otherwise. (printHelpAndExitForRunAndDebugWebKitAppIfNeeded): Changed to print help for the --target-web-process and --use-lldb switches if passed INCLUDE_OPTIONS_FOR_DEBUGGING. (execMacWebKitAppForDebugging): Changed to use the chosen debugger. 2012-06-24 Adam Barth [Chromium] Release media resources after each LayoutTest on Android https://bugs.webkit.org/show_bug.cgi?id=89720 Reviewed by Eric Carlson. The LayoutTests can hang when run on Android because we sometimes run out of media resources. This patch causes us to release our media resources after each test in order to avoid running out of this resource. In production, there are other mechanisms that manage this resource. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::resetTestController): 2012-06-23 Zan Dobersek [Gtk] REGRESSION(r120918): Causes flaky DND tests https://bugs.webkit.org/show_bug.cgi?id=89770 Reviewed by Martin Robinson. Connect to the run-file-chooser signal of the WebKitWebView and return TRUE so no file chooser dialog is run. This prevents certain test failures. * DumpRenderTree/gtk/DumpRenderTree.cpp: (webViewRunFileChooser): (createWebView): 2012-06-23 Dan Bernstein debug-{minibrowser,safari,test-runner} fail when gdb is not installed in /usr/bin. Reviewed by Sam Weinig. * Scripts/webkitdirs.pm: (execMacWebKitAppForDebugging): Use xcrun to locate gdb. 2012-06-23 Carlos Garcia Campos Unreviewed. Skip GTK+ unit test /webkit2/WebKitFindController/hide. It fails always when running it in Xvfb. * gtk/run-api-tests: (TestRunner): 2012-06-23 Wajahat Siddiqui [GTK][WK2]Mis-spelt defaultWindowTitle https://bugs.webkit.org/show_bug.cgi?id=89808 Reviewed by Carlos Garcia Campos. * MiniBrowser/gtk/BrowserWindow.c: 2012-06-23 Sergio Villar Senin [GTK] Add a new webkit2 tests slave bot https://bugs.webkit.org/show_bug.cgi?id=89336 Reviewed by Csaba Osztrogonác. Slave configuration for a new GTK 64 bit release bot that will run WebKit2 tests. Also BuildAndTest now accepts the "triggers" parametter, this means that apart from building and testing it can trigger some other build/test sequences in other slaves. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/master.cfg: (BuildAndTestFactory.__init__): 2012-06-23 Kwang Yul Seo Unreviewed. Update my email. * Scripts/webkitpy/common/config/committers.py: 2012-06-22 Adam Barth [Chromium] DumpRenderTree on Android needs to configure fonts for testing https://bugs.webkit.org/show_bug.cgi?id=89721 Reviewed by Nate Chapin. This patch teaches DumpRenderTree to configure Skia to use the fallback fonts that the LayoutTests assume. This patch reduces the number result differences between chromium-android and chromium-linux. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: * DumpRenderTree/chromium/TestShellAndroid.cpp: (platformInit): * DumpRenderTree/chromium/android_fallback_fonts.xml: Added. * DumpRenderTree/chromium/android_main_fonts.xml: Added. * Scripts/webkitpy/layout_tests/port/chromium_android.py: 2012-06-22 Alexandru Chiculita [CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac https://bugs.webkit.org/show_bug.cgi?id=89781 Reviewed by Dean Jackson. Added CSS Shaders as enabled by default on Safari for Mac. * Scripts/webkitperl/FeatureList.pm: 2012-06-22 Adam Barth Add support for test_expectations_android.txt for overriding test expecations on the chromium-android branch https://bugs.webkit.org/show_bug.cgi?id=89791 Reviewed by Dirk Pranke. Downstream, the chromium-android port maintains a test expectations file to keep track of which tests pass or fail. That causes them to keep a patch in chromium_android.py in their branch. This patch teaches chromium_android.py to use test_expectations_android.txt. We don't intend to use this file upstream, but having this code patch upstream lets us unfork webkitpy. * Scripts/webkitpy/layout_tests/port/chromium_android.py: (ChromiumAndroidPort.expectations_files): 2012-06-22 Dirk Pranke run_webkit_tests.py failed with AttributeError(''NoneType' object has no attribute 'pid'') https://bugs.webkit.org/show_bug.cgi?id=89734 Reviewed by Ryosuke Niwa. Fix a crash in ServerProcess if you called .pid() after it crashed during a write(). We had a test for this case but the test wasn't calling pid(), just has_crashed(). Fixed the problem and the test. * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess.__init__): (ServerProcess.pid): (ServerProcess._start): (ServerProcess.stop): * Scripts/webkitpy/layout_tests/port/server_process_unittest.py: (FakeServerProcess._start): (TestServerProcess.test_broken_pipe): 2012-06-22 Peter Beverloo [Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android https://bugs.webkit.org/show_bug.cgi?id=88853 Reviewed by Steve Block. The Android exclusions were necessary to fix a gyp generation error, as the gcc_version variable wasn't being defined for Android. Remove these exceptions when Chromium is able to define the gcc_version variable. * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: 2012-06-22 Mario Sanchez Prada Unreviewed gardening. Unskipping test passing after fixing bug 88419. * gtk/run-api-tests: (TestRunner): Unskip WTF.HashMap. 2012-06-22 Zoltan Horvath [Qt] Allow DumpRenderTree to dump about:blank https://bugs.webkit.org/show_bug.cgi?id=89685 Reviewed by Ryosuke Niwa. We need to allow DumpRenderTree to dump about:blank page, then it will be consistent with other ports, additionaly this behavior is required for running WTR performance tests. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::processLine): 2012-06-21 Adam Barth [Chromium] Reset mediaPlaybackRequiresUserGesture WebSettings after each test https://bugs.webkit.org/show_bug.cgi?id=89718 Reviewed by Kent Tamura. We should reset this WebSetting to its default value so that it behaves consistently across tests. * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: (WebPreferences): 2012-06-21 Zoltan Horvath DRT/WTR python interface handles about:blank incorrectly https://bugs.webkit.org/show_bug.cgi?id=89563 Reviewed by Dirk Pranke. Currently DRT/WTR python interface's _command_from_driver_input function puts the test directory path before about:blank. Remove this incorrect behavior. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitDriver._command_from_driver_input): 2012-06-21 Dirk Pranke reenable perf tests on win https://bugs.webkit.org/show_bug.cgi?id=89690 Reviewed by Ryosuke Niwa. Only the replay tests don't work, and those are disabled by default. This change also fixes the undefined _log reference that was causing a crash. * Scripts/run-perf-tests: 2012-06-21 Sheriff Bot Unreviewed, rolling out r120937. http://trac.webkit.org/changeset/120937 https://bugs.webkit.org/show_bug.cgi?id=89679 This patch brought buildbot master down (Requested by svillar on #webkit). * BuildSlaveSupport/build.webkit.org-config/config.json: 2012-06-21 Martin Robinson [GTK] Combine WebKit API tests into fewer binaries https://bugs.webkit.org/show_bug.cgi?id=88458 Reviewed by Carlos Garcia Campos. Instead of creating one binary per-test file, create binaries for each category of tests. Right now this includes WTF and the WebKit2 C API, but later tests can be added for the GTK+ platform layer and the WebKit1 and WebKit2 API layers. * TestWebKitAPI/GNUmakefile.am: Compile only two test binaries, one for the WebKit2 C API and one for WTF. Refresh the source list to ensure that new test are active. * gtk/run-api-tests: Change the way that tests are skipped by splitting out the concept of skipping a test and skipping a suite (program) of tests. Test cases are skipped because of legitimate failures, but entire programs are skipped because of problems in the harness. As of right now a test program is only skipped if the accessibility bus cannot be started. (SkippedTest.__init__): Make the test case a required argument and have one skipped test case per SkippedTest instance. (SkippedTest.__str__): Ditto. (TestRunner): Update the directory list. We only have two gtest binaries now and they are in one directory. Reformat the test list to make it slightly easier to read. (TestRunner.__init__): Add the _skipped_test_program member, which handles entire test programs that are skipped. (TestRunner._setup_testing_environment): Use the new member. (TestRunner._test_cases_to_skip): Collect all skipped test cases now instead of just the first SkippedTest that matches. (TestRunner._should_run_test_program): Take a look at the new member to make this decision. (TestRunner._run_test_command): Use the name test_program instead of test to disambiguate between test cases and test suites. (TestRunner._run_test_glib): ditto. (TestRunner._run_test_google): Ditto. (TestRunner._run_test): Ditto. (TestRunner.run_tests): Ditto. 2012-06-21 Yong Li Unreviewed. Moving myself from committer to reviewer. * Scripts/webkitpy/common/config/committers.py: 2012-06-21 Sergio Villar Senin [GTK] Add a new webkit2 tests slave bot https://bugs.webkit.org/show_bug.cgi?id=89336 Reviewed by Philippe Normand. Slave configuration for a new GTK bot that will run WebKit2 tests. * BuildSlaveSupport/build.webkit.org-config/config.json: 2012-06-21 Thiago Marcos P. Santos [Qt] Add a custom Color Chooser widget to MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=87988 Reviewed by Alexis Menard. Added custom color chooser example for the MiniBrowser. * MiniBrowser/qt/MiniBrowser.qrc: * MiniBrowser/qt/qml/BrowserWindow.qml: * MiniBrowser/qt/qml/ColorChooser.qml: Added. 2012-06-21 Vivek Galatage Remove the warning "File not found" in MiniBrowser post-build event https://bugs.webkit.org/show_bug.cgi?id=89601 Reviewed by Adam Roben. * MiniBrowser/MiniBrowserPostBuild.cmd: 2012-06-21 Balazs Kelemen [Qt] DRT in standalone mode hangs after the first test https://bugs.webkit.org/show_bug.cgi?id=89613 Reviewed by Csaba Osztrogonác. Break an inline signal slot chain that ends up in setting LayoutTestController::m_hasDumped too early. In LayoutTestController::maybeDump() we emit done() which starts the chain that finishes in DumpRenderTree::open(). The next line in maybeDump sets m_hasDumped to true. We could simply reorder these two lines but it seems to be wrong in general to start the next load from this call chain. The server mode (when DRT is runned by the test harness) also uses a queued connection to read the next test from stdin. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::processArgsLine): 2012-06-20 Hans Wennborg Speech JavaScript API: SpeechRecognition should hook up with ActiveDOMObject more https://bugs.webkit.org/show_bug.cgi?id=89217 Reviewed by Adam Barth. Add a method for checking whether the mock speech recognition was aborted. Also redo the way the mock posts tasks. Instead of posting them all at once, maintain an internal queue of task objects, and call postTask() for them once at the time. This means that for example when the page is navigated away and abort() is called, that call doesn't end up after a bunch of previously posted events on the event loop. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::wasMockSpeechRecognitionAborted): * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController): * DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp: (WebKit::ClientCallTask::ClientCallTask): (WebKit::ResultTask::ResultTask): (WebKit::NoMatchTask::NoMatchTask): (WebKit::ErrorTask::ErrorTask): (MockWebSpeechRecognizer::start): (MockWebSpeechRecognizer::abort): (MockWebSpeechRecognizer::setError): (MockWebSpeechRecognizer::MockWebSpeechRecognizer): (MockWebSpeechRecognizer::startTaskQueue): (MockWebSpeechRecognizer::StepTask::runIfValid): * DumpRenderTree/chromium/MockWebSpeechRecognizer.h: (MockWebSpeechRecognizer::hasBeenAborted): (MockWebSpeechRecognizer): (MockWebSpeechRecognizer::taskList): (Task): (MockWebSpeechRecognizer::Task::Task): (MockWebSpeechRecognizer::Task::~Task): (StepTask): (MockWebSpeechRecognizer::StepTask::StepTask): 2012-06-21 Mario Sanchez Prada [GTK] Add support for window.showModalDialog in WebKit2GTK+ https://bugs.webkit.org/show_bug.cgi?id=79500 Reviewed by Carlos Garcia Campos. Add support for modal dialogs in GTK's MiniBrowser. * MiniBrowser/gtk/BrowserWindow.c: (webViewRunAsModal): (webViewCreate): (webViewDecidePolicy): (browser_window_new): * MiniBrowser/gtk/BrowserWindow.h: * MiniBrowser/gtk/main.c: (createBrowserWindow): 2012-06-20 Brent Fulgham [WinCairo] Unreviewed build fix. The wrapper script that launched new- and old-run-webkit-tests was discarding the --wincairo argument needed to get the proper test infrastructure to build under WinCairo. * Scripts/run-webkit-tests: Emulate the Qt, Wx, Chromium, etc., behavior to chain the --wincairo flag through to the new build and test scripts. 2012-06-20 Mark Rowe Teach run-safari and debug-safari to work with a Safari.app that has entitlements Reviewed by Dan Bernstein. * Scripts/webkitdirs.pm: (executableHasEntitlements): (safariPathFromSafariBundle): 2012-06-20 Sheriff Bot Unreviewed, rolling out r120821. http://trac.webkit.org/changeset/120821 https://bugs.webkit.org/show_bug.cgi?id=89605 It made duplicated reviewer entries (Requested by Ossy on #webkit). * Scripts/webkitpy/common/checkout/changelog.py: (ChangeLog.set_reviewer): * Scripts/webkitpy/common/checkout/changelog_unittest.py: (test_set_reviewer): (test_set_short_description_and_bug_url): 2012-06-20 Dirk Pranke nrwt outputs empty files for wdiff output if wdiff is not installed https://bugs.webkit.org/show_bug.cgi?id=88709 Reviewed by Tony Chang. Reviewed by Tony Chang. Don't write -wdiff or -pretty.html files if wdiff or prettypatch aren't available, and clean up the handling for them in the port code. * Scripts/webkitpy/run_webkit_tests_integrationtest.py: (MainTest.test_output_diffs): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (TestResultWriter.create_text_diff_and_write_result): * Scripts/webkitpy/layout_tests/port/base.py: (Port.check_pretty_patch): (Port.check_wdiff): (Port._wdiff_missing_message): * Scripts/webkitpy/layout_tests/port/chromium_linux.py: (ChromiumLinuxPort.check_build): (ChromiumLinuxPort._wdiff_missing_message): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort.check_build): (ChromiumMacPort): (ChromiumMacPort._wdiff_missing_message): * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest): 2012-06-20 Dirk Pranke nrwt: fix unit tests for ensuring svn revision is correct https://bugs.webkit.org/show_bug.cgi?id=89498 Reviewed by Eric Seidel. Reviewed by Eric Seidel. Fix the unit tests for testing that we are embedding the SVN revision in the results json for NRWT properly; this was broken in r120646 but because the MockHost worked differently than the real one (by always initializing the MockSCM object) we didn't notice. Unfortunately, just changing the default breaks all sorts of unit tests ... * Scripts/webkitpy/common/host_mock.py: (MockHost.__init__): (MockHost._initialize_scm): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ResultSummaryTest.test_no_svn_revision): (ResultSummaryTest.test_svn_revision): 2012-06-20 Dirk Pranke new-run-webkit-tests appends "/Debug" or "/Release" to $WEBKITOUTPUTDIR https://bugs.webkit.org/show_bug.cgi?id=69360 Reviewed by Eric Seidel. Reviewed by Eric Seidel. Propagate the 'port_implementation' part of the platform (i.e., gtk,qt,chromium) to webkit-build-directory so that we can pick up the gtk-specific handling of WEBKITOUTPUTDIR ... I didn't write any additional tests for this; testing it properly is an integration test between the python code and the perl code, which I verified by hand. * Scripts/webkitpy/layout_tests/port/base.py: (Port.__init__): * Scripts/webkitpy/layout_tests/port/config.py: (Config.__init__): (Config.build_directory): * Scripts/webkitpy/layout_tests/port/config_mock.py: (MockConfig.__init__): * Scripts/webkitpy/layout_tests/port/config_unittest.py: (ConfigTest.test_build_directory_passes_port_implementation): 2012-06-20 Dirk Pranke Fix import sorting missed in r120846 Reviewed by Tony Chang. * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py: 2012-06-20 Dirk Pranke Fix chromium win http servers after breakage introduced in r120846. Unreviewed, build fix. * Scripts/webkitpy/layout_tests/port/base.py: (Port.to.start_http_server): * Scripts/webkitpy/layout_tests/servers/http_server.py: (Lighttpd.__init__): 2012-06-20 Dirk Pranke tweak output of webkit-patch print-{baselines,expectations} https://bugs.webkit.org/show_bug.cgi?id=89588 Reviewed by Tony Chang. Minor tweaks to the output to make it more readable, including turning off csv by default for print-baselines with multiple ports. * Scripts/webkitpy/layout_tests/port/test.py: (TestPort): * Scripts/webkitpy/tool/commands/queries.py: (PrintExpectations.execute): (PrintBaselines.execute): * Scripts/webkitpy/tool/commands/queries_unittest.py: (PrintExpectationsTest.run_test): (PrintExpectationsTest.test_multiple): (PrintBaselinesTest.setUp): (PrintBaselinesTest.test_multiple): 2012-06-18 Dirk Pranke new-run-webkit-tests should spin-up enough httpd processes to avoid timeouts https://bugs.webkit.org/show_bug.cgi?id=88134 Reviewed by Tony Chang. Change NRWT to spin up 2*min(child_processes, locked_shards) http servers by default so that we are less likely to get a bunch of http timeouts at the beginning of a test run. Note that I had to tweak executive_mock to support mocked stderr because the apache_http_server code reads stderr when starting a process to ensure it started okay. * Scripts/webkitpy/common/system/executive_mock.py: (MockProcess.__init__): * Scripts/webkitpy/common/system/outputcapture.py: * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._run_tests): (Manager.start_servers_with_lock): * Scripts/webkitpy/layout_tests/port/base.py: (Port.to.start_http_server): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.start_http_server): (TestPort._path_to_apache): (TestPort): (TestPort._path_to_apache_config_file): * Scripts/webkitpy/layout_tests/servers/apache_http_server.py: (LayoutTestApacheHttpd.__init__): * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py: Added (LayoutTestApacheHttpd.__init__): * Scripts/webkitpy/layout_tests/servers/http_server.py: (Lighttpd.__init__): * Scripts/webkitpy/layout_tests/servers/http_server_base.py: (HttpServerBase.__init__): 2012-06-20 Tom Zakrajsek Unreviewed: Back out accidentally checked in debug print which broke a test * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest.parse_output): 2012-06-20 Tom Zakrajsek Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests https://bugs.webkit.org/show_bug.cgi?id=78789 Reviewed by Ryosuke Niwa. Updated parser to include fps as a valid unit. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest): (PerfTest.parse_output): 2012-06-20 Balazs Ankes webkit-patch should add reviewer if "Reviewed by NOBODY ..." is missing https://bugs.webkit.org/show_bug.cgi?id=67935 Reviewed by Ryosuke Niwa. * Scripts/webkitpy/common/checkout/changelog.py: (ChangeLog.set_reviewer): * Scripts/webkitpy/common/checkout/changelog_unittest.py: (test_set_reviewer): (test_set_short_description_and_bug_url): 2012-06-20 Simon Hausmann Unreviewed trivial permissions fix. * qmake/mkspecs/features/features.prf: Don't mark this file as executable. 2012-06-19 Ryuan Choi [EFL][Regression] Build break after r120786 https://bugs.webkit.org/show_bug.cgi?id=89549 Unreviewed build fix for Efl port. * DumpRenderTree/efl/CMakeLists.txt: Added disassembler in includes. 2012-06-19 Dirk Pranke NRWT spins up and down the WebSocket server when running a single HTTP test from the command line https://bugs.webkit.org/show_bug.cgi?id=64489 Reviewed by Tony Chang. This change changes NRWT so that we don't start the websocket server if we aren't running websocket tests and don't start the HTTP server if we aren't running http tests. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._websocket_tests): (Manager.start_servers_with_lock): (Manager.stop_servers_with_lock): * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_servers_started): 2012-06-19 Dirk Pranke test-webkitpy: add a -p flag to pass through captured output to enable debugging https://bugs.webkit.org/show_bug.cgi?id=89158 Reviewed by Eric Seidel. Normally when outputcapture runs it intercepts stdout/stderr, which makes running under the debugger difficult and mostly pointless (since you can't see any output). This change adds a flag to test-webkitpy (-p) that will cause outputcapture to pass through the output as well as capture it. * Scripts/webkitpy/common/system/outputcapture.py: (OutputCapture.stream_wrapper): (OutputCapture._capture_output_with_name): * Scripts/webkitpy/common/system/outputcapture_unittest.py: (OutputCaptureTest.setUp): * Scripts/webkitpy/test/main.py: (Tester._parse_args): (Tester._run_tests): (Tester._log_exception): (_CaptureAndPassThroughStream): (_CaptureAndPassThroughStream.__init__): (_CaptureAndPassThroughStream.write): (_CaptureAndPassThroughStream._message_is_from_pdb): (_CaptureAndPassThroughStream.flush): (_CaptureAndPassThroughStream.getvalue): 2012-06-19 Adam Barth garden-o-matic fails to rebaseline tests with MISSING results https://bugs.webkit.org/show_bug.cgi?id=89521 Reviewed by Kenneth Russell. If the bots report "MISSING", we should try to find PNG and TXT results on the server. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js: 2012-06-19 Adam Barth svn.delete_list fails to delete empty parent directories https://bugs.webkit.org/show_bug.cgi?id=89520 Reviewed by Dirk Pranke. These functions were calling scm.delete and scm.add, which already delete the parent directory. We'd get an exception when we tried to delete the parent directory again. * Scripts/webkitpy/common/checkout/scm/svn.py: (SVN._add_parent_directories): (SVN._delete_parent_directories): 2012-06-19 Thiago Marcos P. Santos webkitpy: Simplify fetch_bugs_matching_search() https://bugs.webkit.org/show_bug.cgi?id=89497 Reviewed by Adam Barth. Removed parameter with default value. It's not being used and the handling of the parameter was wrong. Saves a check. * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: (BugzillaQueries.fetch_bugs_matching_search): * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: (MockBugzillaQueries.fetch_bugs_matching_search): 2012-06-19 Dirk Pranke webkitpy: remove unneeded imports in layout_tests/port/chromium.py https://bugs.webkit.org/show_bug.cgi?id=89522 Reviewed by Eric Seidel. They were no longer being used. No tests necessary. * Scripts/webkitpy/layout_tests/port/chromium.py: 2012-06-19 Adam Barth Missing results aren't shown in garden-o-matic Reviewed by Kenneth Russell. Previously we didn't know to look for text and image results when the bot told us that results were missing. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js: 2012-06-19 Dirk Pranke Fix regression introduced in r120646 where the svn revision isn't saved in results.json Unreviewed, build fix. It turns out that we store the svn revision two different ways in the JSON, and I only caught one of them :(. This should fix the other. Also, this part of the code is poorly tested. I will investigate adding at least a basic test for this in a separate fix. * Scripts/webkitpy/layout_tests/controllers/manager.py: (summarize_results): 2012-06-19 Dirk Pranke REGRESSION (NRWT): Results for new non-text-only tests are always put in the most-specific platform directory https://bugs.webkit.org/show_bug.cgi?id=78127 Reviewed by Ryosuke Niwa. Add the --add-platform-exceptions flag from ORWT, and ensure that --new-baseline is equivalent to --reset-results --add-platform-exceptions. Also fix the default logic for where to put PNGs and render tree dumps if --new-test-results is true: if --add-platform-exceptions is False, baselines should go in the least-specific platform directory (e.g., platform/mac) rather than the most-specific (platform/mac-snowleopard). * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner): (SingleTestRunner.run): (SingleTestRunner._run_rebaseline): (SingleTestRunner._add_missing_baselines): (SingleTestRunner._location_for_new_baseline): (SingleTestRunner._overwrite_baselines): (SingleTestRunner._save_baseline_data): * Scripts/webkitpy/layout_tests/port/base.py: (Port.baseline_path): (Port): (Port.baseline_platform_dir): (Port.baseline_version_dir): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): (parse_args): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (RebaselineTest.assertBaselines): (RebaselineTest.test_reset_results): (RebaselineTest.test_missing_results): (RebaselineTest.test_new_baseline): 2012-06-19 Dirk Pranke NRWT should not take memory used as disk cache into account when deciding how many processes to launch https://bugs.webkit.org/show_bug.cgi?id=81379 Reviewed by Eric Seidel. The 'free memory' calculation we were running on the mac seemed to underestimate how many children we can run in parallel, and it was complex. This patch replaces that calculation with a simpler one that reserves 2GB for overhead and assumes 256MB per DRT/WTR, so if we had 4GB of RAM we can run up to 8 DRTs. Also, there was a bug where we were truncating the memory installed on the machine to 4GB by casting to an int instead of a long; this was probably the source of some of the earlier problems when using total memory. This patch also removes the no-longer-needed restrictions on the number of workers on beefy Lion boxes for both Apple Mac and Chromium Mac; we should now use all of the cores by default. The memory calculations have only been implemented on the mac; having the calculation in base.default_child_processes() was IMO misleading, and so this patch also moves the computation into the MacPort. I have not heard of the # of workers being an issue on any other ports, so this should be fine. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.total_bytes_memory): * Scripts/webkitpy/common/system/platforminfo_mock.py: (PlatformInfo.total_bytes_memory): (PlatformInfo.total_bytes_memory): (PlatformInfo._win_version_tuple_from_cmd): * Scripts/webkitpy/common/system/platforminfo_unittest.py: (TestPlatformInfo.test_total_bytes_memory): * Scripts/webkitpy/layout_tests/port/base.py: (Port.default_child_processes): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_default_child_processes): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort.operating_system): * Scripts/webkitpy/layout_tests/port/mac.py: (MacPort.default_child_processes): * Scripts/webkitpy/layout_tests/port/mac_unittest.py: (TestMacPort.test_default_child_processes): 2012-06-19 Dirk Pranke new-run-webkit-tests reports unexpected pass of pixel tests when pixel testing is disabled https://bugs.webkit.org/show_bug.cgi?id=85446 Reviewed by Simon Fraser. Embed whether pixel testing was enabled into the results.json. * Scripts/webkitpy/layout_tests/controllers/manager.py: (summarize_results): 2012-06-19 Zoltan Horvath [Qt] Modify HTTPS port to 8443 for performance tests https://bugs.webkit.org/show_bug.cgi?id=89442 Reviewed by Ryosuke Niwa. We should be consistent with the default HTTPS port and with the changelog of r119188. * Scripts/webkitpy/performance_tests/perftest.py: (ReplayServer.__init__): 2012-06-19 Mike West Introduce ENABLE_CSP_NEXT configuration flag. https://bugs.webkit.org/show_bug.cgi?id=89300 Reviewed by Adam Barth. The 1.0 draft of the Content Security Policy spec is just about to move to Last Call. We'll hide work on the upcoming 1.1 spec behind this ENABLE flag, disabled by default. Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: 2012-06-19 Christophe Dumez [EFL] EFL's LayoutTestController does not support setTextDirection https://bugs.webkit.org/show_bug.cgi?id=87481 Reviewed by Hajime Morita. Implement setTextDirection in EFL's LayoutTestController and properly reset its value between test cases to avoid flakiness. * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::resetDefaultsToConsistentValues): * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::setTextDirection): 2012-06-19 Kristóf Kosztyó [Qt] Temporarily disable xvfb driver in nrwt https://bugs.webkit.org/show_bug.cgi?id=88414 Reviewed by Csaba Osztrogonác. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort._build_driver): 2012-06-18 Joone Hur [EFL] Fontconfig can't be linked properly https://bugs.webkit.org/show_bug.cgi?id=89418 Unreviewed build fix. Make Fontconfig be linked correctly. * MiniBrowser/efl/CMakeLists.txt: add FONTCONFIG_LIBRARIES to MiniBrowser_LIBRARIES. 2012-06-18 Joone Hur Unreviewed. Updating email for committers.py script. * Scripts/webkitpy/common/config/committers.py: 2012-06-18 Simon Fraser Fix a typo that caused TestFailures to have a syntax error. Sadly TestFailures is broken for another reason now too: https://bugs.webkit.org/show_bug.cgi?id=89419 * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ViewController.js: (ViewController.prototype._domForBuildName): 2012-06-18 Simon Fraser Provide bug links for suspicious commits https://bugs.webkit.org/show_bug.cgi?id=89408 Reviewed by Adam Barth. Add links to bugs for the suspicious commits if we have bug data. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Bugzilla.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/notifications.css: (ol.notifications>li ul.causes>li>div.description>span>span.bugID::before): (ol.notifications>li ul.causes>li>div.description>span>span.bugID>a): 2012-06-18 Amy Ousterhout [Chromium] DeviceOrientation Cleanup https://bugs.webkit.org/show_bug.cgi?id=89354 Reviewed by Kent Tamura. * DumpRenderTree/chromium/WebViewHost.h: added OVERRIDE specifier for virtual function (WebViewHost): 2012-06-18 James Robinson [chromium] Stop passing deprecated 'direct' parameter to webkit_support::CreateGraphicsContext3D https://bugs.webkit.org/show_bug.cgi?id=89254 Reviewed by Adrienne Walker. This parameter doesn't mean anything since this codepath is only used for onscreen contexts and is deprecated upstream. * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::createGraphicsContext3D): 2012-06-18 Simon Fraser Minor fix suggested by Adam Barth. Use $(this._what).empty(); rather than removing children one at a time. For some reason removeAllChildren() is undefined on this node. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: 2012-06-18 Simon Fraser Show TOT revision in garden-o-matic, and make the revisions into links https://bugs.webkit.org/show_bug.cgi?id=89396 Reviewed by Adam Barth. The "latest revision" notification now reads "Latest revision processed by every bot: NN (trunk is at NN)" where the revisions are links to trac. To avoid setting innerHTML, I made base.createLinkNode() and used it in a bunch of places, which had the knock-on effect of flipping the target and href attributes for anchors in some test output. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ViewController.js: (ViewController.prototype._displayTesters.updateList.list): (ViewController.prototype._displayTesters.updateList): (ViewController.prototype._domForRegressionRange.trac.commitDataForRevisionRange): (ViewController.prototype._domForRegressionRange): (ViewController.prototype._domForAuxiliaryUIElements): (ViewController.prototype._domForBuildName): (ViewController.prototype): (ViewController.prototype.): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js: 2012-06-18 Csaba Osztrogonác REGRESSION(r100558): NRWT should work without SVN or GIT https://bugs.webkit.org/show_bug.cgi?id=76630 Reviewed by Dirk Pranke. NRWT is not supposed to have a requirement that we have an actual SVN or Git checkout, and we were unnecessarily initializing the checkout. This patch removes that line :). * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (main): 2012-06-18 Zan Dobersek [garden-o-matic] Add support for the GTK builders https://bugs.webkit.org/show_bug.cgi?id=89360 Reviewed by Adam Barth. Add the 'gtk' platform, essentially a copy of the 'apple' platform since both get their data from build.webkit.org. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: (.): 2012-06-18 Nico Weber [chromium/mac] Unbreak smooth scrolling. https://bugs.webkit.org/show_bug.cgi?id=89327 Reviewed by Dimitri Glazkov. Broken by Sam in r115589 / r115591. * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): * TestWebKitAPI/mac/InjectedBundleControllerMac.mm: (TestWebKitAPI::InjectedBundleController::platformInitialize): * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize): 2012-06-18 Sheriff Bot Unreviewed, rolling out r120541, r120547, and r120548. http://trac.webkit.org/changeset/120541 http://trac.webkit.org/changeset/120547 http://trac.webkit.org/changeset/120548 https://bugs.webkit.org/show_bug.cgi?id=89383 This approach doesn't work for WebKit2 (Requested by abarth on #webkit). * DumpRenderTree/LayoutTestController.cpp: (setBackingScaleFactorCallback): (LayoutTestController::staticFunctions): * DumpRenderTree/LayoutTestController.h: (LayoutTestController): * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp: (LayoutTestController::setBackingScaleFactor): * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::setBackingScaleFactor): * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setBackingScaleFactor): * DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setBackingScaleFactor): * DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setBackingScaleFactor): * DumpRenderTree/wx/LayoutTestControllerWx.cpp: (LayoutTestController::setBackingScaleFactor): * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessage): (WTR::InjectedBundle::postSetBackingScaleFactor): (WTR): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: (InjectedBundle): * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::setBackingScaleFactor): (WTR): (WTR::LayoutTestController::callSetBackingScaleFactorCallback): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (LayoutTestController): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): 2012-06-18 Zan Dobersek REGRESSION(r120546): It made 3 webkitpy tests fail https://bugs.webkit.org/show_bug.cgi?id=89332 Reviewed by Adam Barth. Update the BaselineOptimizer unittest after r120546. * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: (BaselineOptimizerTest.test_no_add_mac_future): (BaselineOptimizerTest.test_mac_future): (BaselineOptimizerTest.test_complex_shadowing): 2012-06-18 Dirk Pranke new-run-webkit-tests output gets confused when logging https://bugs.webkit.org/show_bug.cgi?id=63793 Reviewed by Adam Barth. Ship all of the log messages generated in the worker back to the manager; this allows the messages to be properly serialized to stderr and for the meter to flush its output correctly. Note however that this will likely result in messages to be logged out of order between workers; I'm not sure that there's an easy way to fix this short of buffering a potentially unbounded amount of data. It might be better to just log through stderr unless we're in 'metering' mode, but it's also worth noting that we already get messages out of order through stderr on Windows. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.handle_done): (Manager.handle_finished_test): (Manager._log_messages): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.__init__): (Worker._set_up_logging): (Worker.run): (Worker._run_test): (Worker.cleanup): (Worker.run_single_test): (_WorkerLogHandler): (_WorkerLogHandler.__init__): (_WorkerLogHandler.emit): * Scripts/webkitpy/layout_tests/views/metered_stream.py: (MeteredStream.write): (MeteredStream.writeln): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.writeln): 2012-06-18 Zan Dobersek [garden-o-matic] Builder names without underscores cause incorrect BuildSelector behavior https://bugs.webkit.org/show_bug.cgi?id=89362 Reviewed by Simon Fraser. Replace white spaces, braces and dots in the builder name with underscores. This way the JQuery tabs will be properly matched with the according container. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js: 2012-06-18 Dirk Pranke nrwt: metered output doesn't handle ^C cleanly https://bugs.webkit.org/show_bug.cgi?id=89249 Reviewed by Tony Chang. If you ctrl-c a running nrwt (w/o --verbose), then all but two characters of the last update are erased, and then we print "interrupted, exiting" as an update, which itself then gets erased. Fix this so that we flush the meter (making the last update persistent, so that we print the ^C for a visual clue), print the interrupt message, and move on ... * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._run_tests): * Scripts/webkitpy/layout_tests/views/metered_stream.py: (MeteredStream.flush): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer._write): (Printer): (Printer.flush): 2012-06-18 Xianzhu Wang [Chromium] Change back "linuxish" to "linux" and include WebFontRendering.cpp on Android https://bugs.webkit.org/show_bug.cgi?id=89228 Reviewed by Tony Chang. * DumpRenderTree/chromium/LayoutTestController.cpp: * DumpRenderTree/chromium/TestShellAndroid.cpp: 2012-06-18 Mario Sanchez Prada [GTK] Get rid of DumpRenderTreeSupportGtk::{in|de}crementAccessibilityValue https://bugs.webkit.org/show_bug.cgi?id=89226 Reviewed by Martin Robinson. Implement increment() and decrement() functions in term of the AtkValue interface, instead of using DumpRenderTreeSupportGtk helper class. * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: (AccessibilityUIElement::intValue): (AccessibilityUIElement::minValue): (AccessibilityUIElement::maxValue): (alterCurrentValue): (AccessibilityUIElement::increment): (AccessibilityUIElement::decrement): 2012-06-17 Simon Fraser garden-o-matic 'Results' panel is broken for the Apple platform https://bugs.webkit.org/show_bug.cgi?id=89310 Reviewed by Adam Barth. For platforms that don't use accumulated build directories on the server, carry along buildLocation data with buildInfo, so that we know where to look for the test results files for a given test. Renamed historicalResultsSummaryURLs to historicalResultsLocations because it now returns an array of objects with buildNumber, revision and url info. Fixed results.fetchResultsURLs() to use this data to find results. Fixed the results display to not scroll when you click on a test to see the results. Made the h3s look less ugly Don't try to show the flakiness dashboard for the Apple platform. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css: (.results-view .top-panel): (.results-view h3): 2012-06-16 Simon Fraser Make garden-o-matic work for the Apple Mac port https://bugs.webkit.org/show_bug.cgi?id=84642 Reviewed by Adam Barth. Make garden-o-matic work for the Apple, webkit.org-hosted builders and testers. This involved educating the scripts in various ways: * Wrap up platform-related differences in config.kPlatforms[] * Add a