2012-11-07 Grzegorz Czajkowski WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled' https://bugs.webkit.org/show_bug.cgi?id=93611 Reviewed by Gyuyoung Kim. WebKitTestRunner enables spelling feature to pass the layout tests from editing/spelling. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): Enables spelling by WebKit2 C API. 2012-11-07 Christophe Dumez Add replaceWithLiteral() method to WTF::String https://bugs.webkit.org/show_bug.cgi?id=101257 Reviewed by Benjamin Poulain. Add API tests for String::replaceWithLiteral() and corresponding StringImpl methods. * TestWebKitAPI/CMakeLists.txt: Add WTFString API tests to CMake. * TestWebKitAPI/Tests/WTF/StringImpl.cpp: (TestWebKitAPI::TEST): (TestWebKitAPI): * TestWebKitAPI/Tests/WTF/WTFString.cpp: (TestWebKitAPI::TEST): 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