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