From 81bc750723a18f21cd17d1b173cd2a4dda9cea6e Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Tue, 24 May 2011 11:24:40 +0100 Subject: Merge WebKit at r80534: Intial merge by Git Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61 --- .../build.webkit.org-config/config.json | 7 +- .../build.webkit.org-config/master.cfg | 23 +- Tools/BuildSlaveSupport/chromium/remove-crash-logs | 41 + Tools/BuildSlaveSupport/win/kill-old-processes | 3 +- Tools/ChangeLog | 33321 +------------------ Tools/ChangeLog-2011-02-16 | 32779 ++++++++++++++++++ Tools/DumpRenderTree/DumpRenderTree.gypi | 3 +- .../DumpRenderTree.xcodeproj/project.pbxproj | 4 + Tools/DumpRenderTree/LayoutTestController.cpp | 65 +- Tools/DumpRenderTree/LayoutTestController.h | 11 +- .../TestNetscapePlugIn/PluginTest.cpp | 10 + .../DumpRenderTree/TestNetscapePlugIn/PluginTest.h | 3 + .../GetURLWithJavaScriptURLDestroyingPlugin.cpp | 48 + .../Tests/win/WindowlessPaintRectCoordinates.cpp | 83 + Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp | 3 + .../win/TestNetscapePlugin.vcproj | 8 + .../chromium/AccessibilityController.cpp | 3 +- Tools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp | 16 +- Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h | 11 +- .../chromium/DRTDevToolsCallArgs.cpp | 36 - .../DumpRenderTree/chromium/DRTDevToolsCallArgs.h | 65 - .../DumpRenderTree/chromium/DRTDevToolsClient.cpp | 18 +- Tools/DumpRenderTree/chromium/DRTDevToolsClient.h | 12 +- Tools/DumpRenderTree/chromium/DumpRenderTree.cpp | 21 +- Tools/DumpRenderTree/chromium/EventSender.cpp | 3 + .../chromium/LayoutTestController.cpp | 9 + .../DumpRenderTree/chromium/LayoutTestController.h | 4 + Tools/DumpRenderTree/chromium/Task.cpp | 3 +- Tools/DumpRenderTree/chromium/Task.h | 8 +- Tools/DumpRenderTree/chromium/TestShell.cpp | 15 +- Tools/DumpRenderTree/chromium/WebPreferences.cpp | 7 +- Tools/DumpRenderTree/chromium/WebViewHost.cpp | 28 +- Tools/DumpRenderTree/chromium/WebViewHost.h | 21 + Tools/DumpRenderTree/config.h | 4 +- Tools/DumpRenderTree/gtk/DumpRenderTree.cpp | 34 +- Tools/DumpRenderTree/gtk/EventSender.cpp | 26 + .../DumpRenderTree/gtk/LayoutTestControllerGtk.cpp | 18 +- .../mac/AccessibilityControllerMac.mm | 7 +- Tools/DumpRenderTree/mac/CheckedMalloc.cpp | 27 +- Tools/DumpRenderTree/mac/DumpRenderTree.mm | 13 + .../DumpRenderTree/mac/LayoutTestControllerMac.mm | 17 +- Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm | 11 + Tools/DumpRenderTree/mac/UIDelegate.mm | 2 +- Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp | 20 +- Tools/DumpRenderTree/qt/EventSenderQt.cpp | 3 + Tools/DumpRenderTree/qt/ImageDiff.cpp | 2 + Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp | 18 +- Tools/DumpRenderTree/qt/LayoutTestControllerQt.h | 4 +- .../qt/TestNetscapePlugin/TestNetscapePlugin.pro | 1 + Tools/DumpRenderTree/win/DumpRenderTree.cpp | 67 +- Tools/DumpRenderTree/win/DumpRenderTreeWin.h | 2 + Tools/DumpRenderTree/win/EditingDelegate.cpp | 4 +- Tools/DumpRenderTree/win/EventSender.cpp | 2 + Tools/DumpRenderTree/win/FrameLoadDelegate.cpp | 30 +- .../DumpRenderTree/win/LayoutTestControllerWin.cpp | 28 +- Tools/DumpRenderTree/win/UIDelegate.cpp | 2 +- Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp | 12 +- Tools/EWebLauncher/main.c | 28 +- Tools/GNUmakefile.am | 1 + Tools/MiniBrowser/mac/BrowserWindowController.m | 8 +- Tools/MiniBrowser/qt/BrowserWindow.cpp | 2 + Tools/MiniBrowser/qt/MiniBrowser.pro | 2 +- Tools/MiniBrowser/qt/MiniBrowserApplication.cpp | 6 +- Tools/MiniBrowser/qt/MiniBrowserApplication.h | 2 +- Tools/MiniBrowser/win/BrowserView.cpp | 2 + Tools/QtTestBrowser/launcherwindow.cpp | 14 - Tools/QtTestBrowser/launcherwindow.h | 3 - Tools/QtTestBrowser/useragentlist.txt | 1 + Tools/QtTestBrowser/webpage.cpp | 27 +- Tools/QtTestBrowser/webpage.h | 47 - Tools/Scripts/VCSUtils.pm | 14 + Tools/Scripts/bisect-builds | 11 +- Tools/Scripts/build-webkit | 23 +- Tools/Scripts/check-for-global-initializers | 6 + .../check-for-inappropriate-files-in-framework | 4 +- Tools/Scripts/find-mismatched-layout-test-results | 96 + Tools/Scripts/make-gypi | 72 + Tools/Scripts/new-run-webkit-tests | 27 +- Tools/Scripts/old-run-webkit-tests | 77 +- Tools/Scripts/prepare-ChangeLog | 7 +- Tools/Scripts/run-api-tests | 3 +- Tools/Scripts/run-launcher | 6 +- Tools/Scripts/run-qtwebkit-tests | 2 + Tools/Scripts/run-sunspider | 6 +- Tools/Scripts/update-webkit | 8 +- Tools/Scripts/webkitdirs.pm | 30 +- Tools/Scripts/webkitperl/httpd.pm | 2 + .../Scripts/webkitpy/common/checkout/changelog.py | 6 +- .../webkitpy/common/checkout/changelog_unittest.py | 9 + Tools/Scripts/webkitpy/common/checkout/scm.py | 16 +- .../webkitpy/common/checkout/scm_unittest.py | 10 + Tools/Scripts/webkitpy/common/config/build.py | 6 +- .../webkitpy/common/config/build_unittest.py | 4 + Tools/Scripts/webkitpy/common/config/committers.py | 10 +- Tools/Scripts/webkitpy/common/net/bugzilla/bug.py | 1 + .../webkitpy/common/net/buildbot/buildbot.py | 3 +- .../common/net/buildbot/buildbot_unittest.py | 7 +- Tools/Scripts/webkitpy/common/net/testoutput.py | 4 +- .../webkitpy/common/net/testoutput_unittest.py | 11 + .../webkitpy/common/net/testoutputset_unittest.py | 7 + .../webkitpy/common/prettypatch_unittest.py | 13 + .../webkitpy/common/system/executive_mock.py | 8 +- .../webkitpy/common/system/executive_unittest.py | 13 +- .../webkitpy/layout_tests/deduplicate_tests.py | 28 +- .../layout_tests/deduplicate_tests_unittest.py | 10 +- .../layout_package/dump_render_tree_thread.py | 59 +- .../json_layout_results_generator.py | 8 +- .../layout_package/json_results_generator.py | 58 +- .../json_results_generator_unittest.py | 4 + .../layout_package/manager_worker_broker.py | 91 +- .../manager_worker_broker_unittest.py | 128 +- .../layout_package/printing_unittest.py | 3 +- .../layout_tests/layout_package/result_summary.py | 2 +- .../layout_package/single_test_runner.py | 244 +- .../layout_package/test_expectations.py | 8 +- .../layout_package/test_result_writer.py | 195 + .../layout_tests/layout_package/test_results.py | 9 +- .../layout_package/test_results_unittest.py | 6 +- .../layout_tests/layout_package/test_runner.py | 142 +- .../layout_tests/layout_package/test_runner2.py | 175 +- .../webkitpy/layout_tests/layout_package/worker.py | 58 +- .../layout_tests/layout_package/worker_mixin.py | 208 + .../layout_tests/port/apache_http_server.py | 3 + Tools/Scripts/webkitpy/layout_tests/port/base.py | 33 +- .../Scripts/webkitpy/layout_tests/port/chromium.py | 18 +- .../webkitpy/layout_tests/port/chromium_gpu.py | 56 +- .../layout_tests/port/chromium_gpu_unittest.py | 29 +- .../webkitpy/layout_tests/port/chromium_linux.py | 68 +- .../layout_tests/port/chromium_linux_unittest.py | 104 + .../webkitpy/layout_tests/port/chromium_mac.py | 76 +- .../layout_tests/port/chromium_mac_unittest.py | 54 +- .../layout_tests/port/chromium_unittest.py | 22 +- .../webkitpy/layout_tests/port/chromium_win.py | 89 +- .../layout_tests/port/chromium_win_unittest.py | 92 +- .../webkitpy/layout_tests/port/config_unittest.py | 5 +- .../Scripts/webkitpy/layout_tests/port/factory.py | 28 +- .../webkitpy/layout_tests/port/factory_unittest.py | 18 - .../webkitpy/layout_tests/port/google_chrome.py | 14 +- .../webkitpy/layout_tests/port/http_server.py | 10 +- Tools/Scripts/webkitpy/layout_tests/port/mac.py | 75 +- .../webkitpy/layout_tests/port/mac_unittest.py | 59 +- .../layout_tests/port/mock_drt_unittest.py | 8 + .../webkitpy/layout_tests/port/port_testcase.py | 41 +- Tools/Scripts/webkitpy/layout_tests/port/qt.py | 2 +- Tools/Scripts/webkitpy/layout_tests/port/test.py | 6 +- .../rebaseline_chromium_webkit_tests.py | 43 +- .../rebaseline_chromium_webkit_tests_unittest.py | 3 +- .../webkitpy/layout_tests/run_webkit_tests.py | 15 +- .../layout_tests/run_webkit_tests_unittest.py | 41 +- .../webkitpy/layout_tests/test_types/__init__.py | 0 .../webkitpy/layout_tests/test_types/image_diff.py | 117 - .../layout_tests/test_types/test_type_base.py | 171 - .../test_types/test_type_base_unittest.py | 47 - .../webkitpy/layout_tests/test_types/text_diff.py | 79 - .../layout_tests/update_webgl_conformance_tests.py | 4 +- Tools/Scripts/webkitpy/style/checker.py | 29 +- Tools/Scripts/webkitpy/style/checkers/cpp.py | 38 +- .../webkitpy/style/checkers/cpp_unittest.py | 81 +- .../style/checkers/test_expectations_unittest.py | 2 +- Tools/Scripts/webkitpy/test/main.py | 17 + .../Scripts/webkitpy/tool/bot/flakytestreporter.py | 12 +- Tools/Scripts/webkitpy/tool/bot/irc_command.py | 19 +- .../webkitpy/tool/bot/irc_command_unittest.py | 13 + .../webkitpy/tool/bot/sheriffircbot_unittest.py | 2 +- .../webkitpy/tool/commands/rebaselineserver.py | 8 +- .../webkitpy/tool/steps/preparechangelog.py | 1 + .../Configurations/TestWebKitAPIDebug.vsprops | 8 + .../Configurations/TestWebKitAPIDebugAll.vsprops | 8 + .../TestWebKitAPIDebugCairoCFLite.vsprops | 8 + .../TestWebKitAPIInjectedBundleCommon.vsprops | 11 + .../Configurations/TestWebKitAPIRelease.vsprops | 8 + .../TestWebKitAPIReleaseCairoCFLite.vsprops | 8 + Tools/TestWebKitAPI/InjectedBundleController.h | 2 + Tools/TestWebKitAPI/JavaScriptTest.cpp | 20 +- Tools/TestWebKitAPI/PlatformUtilities.h | 3 +- Tools/TestWebKitAPI/PlatformWebView.h | 2 + .../TestWebKitAPI.xcodeproj/project.pbxproj | 26 +- .../Tests/WebKit2/EvaluateJavaScript.cpp | 6 +- Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp | 69 + .../Tests/WebKit2/HitTestResultNodeHandle.cpp | 88 + .../WebKit2/HitTestResultNodeHandle_Bundle.cpp | 64 + .../TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp | 4 +- ...PageLoadDidChangeLocationWithinPageForFrame.cpp | 2 +- .../Tests/WebKit2/PreventEmptyUserAgent.cpp | 17 +- .../WebKit2/ResponsivenessTimerDoesntFireEarly.cpp | 98 + .../ResponsivenessTimerDoesntFireEarly_Bundle.cpp | 58 + .../WebKit2/simple-accelerated-compositing.html | 5 + Tools/TestWebKitAPI/mac/PlatformUtilitiesMac.mm | 5 + Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm | 29 + Tools/TestWebKitAPI/win/PlatformUtilitiesWin.cpp | 11 +- Tools/TestWebKitAPI/win/PlatformWebViewWin.cpp | 8 + Tools/TestWebKitAPI/win/TestWebKitAPI.sln | 22 +- Tools/TestWebKitAPI/win/TestWebKitAPI.vcproj | 36 +- .../win/TestWebKitAPIInjectedBundle.vcproj | 447 + Tools/TestWebKitAPI/win/copy-resources.cmd | 1 + Tools/TestWebKitAPI/win/main.cpp | 5 + Tools/WebKitAPITest/main.cpp | 5 + .../WebKitLauncherWinCommon.vsprops | 1 + .../InjectedBundle/InjectedBundle.cpp | 14 +- .../InjectedBundle/InjectedBundle.h | 3 +- .../InjectedBundle/InjectedBundleMain.cpp | 2 +- .../InjectedBundle/InjectedBundlePage.cpp | 12 + .../InjectedBundle/LayoutTestController.cpp | 7 + .../InjectedBundle/LayoutTestController.h | 4 +- .../InjectedBundle/mac/InjectedBundleMac.mm | 43 + .../InjectedBundle/qt/InjectedBundle.pro | 17 +- .../InjectedBundle/qt/InjectedBundleQt.cpp | 34 + .../InjectedBundle/win/InjectedBundleWin.cpp | 57 + Tools/WebKitTestRunner/TestController.cpp | 38 +- Tools/WebKitTestRunner/TestController.h | 5 +- Tools/WebKitTestRunner/TestInvocation.cpp | 52 +- Tools/WebKitTestRunner/TestInvocation.h | 14 +- .../WebKitTestRunner.xcodeproj/project.pbxproj | 8 + Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm | 2 +- Tools/WebKitTestRunner/mac/TestInvocationMac.mm | 156 + Tools/WebKitTestRunner/qt/TestInvocationQt.cpp | 34 + Tools/WebKitTestRunner/qt/WebKitTestRunner.pro | 9 +- Tools/WebKitTestRunner/win/InjectedBundle.vcproj | 4 + Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp | 1 + Tools/WebKitTestRunner/win/TestControllerWin.cpp | 66 +- Tools/WebKitTestRunner/win/TestInvocationWin.cpp | 34 + Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj | 4 + Tools/gdb/webkit.py | 17 + Tools/wx/packaging/build-mac-installer.py | 9 +- 224 files changed, 39285 insertions(+), 33245 deletions(-) create mode 100755 Tools/BuildSlaveSupport/chromium/remove-crash-logs create mode 100644 Tools/ChangeLog-2011-02-16 create mode 100644 Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp create mode 100644 Tools/DumpRenderTree/TestNetscapePlugIn/Tests/win/WindowlessPaintRectCoordinates.cpp delete mode 100644 Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.cpp delete mode 100644 Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h create mode 100755 Tools/Scripts/find-mismatched-layout-test-results create mode 100755 Tools/Scripts/make-gypi create mode 100644 Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py create mode 100644 Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py create mode 100644 Tools/Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py delete mode 100644 Tools/Scripts/webkitpy/layout_tests/test_types/__init__.py delete mode 100644 Tools/Scripts/webkitpy/layout_tests/test_types/image_diff.py delete mode 100644 Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base.py delete mode 100644 Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py delete mode 100644 Tools/Scripts/webkitpy/layout_tests/test_types/text_diff.py create mode 100644 Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebug.vsprops create mode 100644 Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugAll.vsprops create mode 100644 Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugCairoCFLite.vsprops create mode 100644 Tools/TestWebKitAPI/Configurations/TestWebKitAPIInjectedBundleCommon.vsprops create mode 100644 Tools/TestWebKitAPI/Configurations/TestWebKitAPIRelease.vsprops create mode 100644 Tools/TestWebKitAPI/Configurations/TestWebKitAPIReleaseCairoCFLite.vsprops create mode 100644 Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp create mode 100644 Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp create mode 100644 Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp create mode 100644 Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp create mode 100644 Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp create mode 100644 Tools/TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html create mode 100644 Tools/TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj create mode 100644 Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm create mode 100644 Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp create mode 100644 Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp create mode 100644 Tools/WebKitTestRunner/mac/TestInvocationMac.mm create mode 100644 Tools/WebKitTestRunner/qt/TestInvocationQt.cpp create mode 100644 Tools/WebKitTestRunner/win/TestInvocationWin.cpp (limited to 'Tools') diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/config.json b/Tools/BuildSlaveSupport/build.webkit.org-config/config.json index 07edacc..09953ab 100644 --- a/Tools/BuildSlaveSupport/build.webkit.org-config/config.json +++ b/Tools/BuildSlaveSupport/build.webkit.org-config/config.json @@ -152,11 +152,6 @@ "slavenames": ["szeged-linux-2"] }, { - "name": "Qt Linux ARMv5 Release", "type": "Build", "builddir": "qt-linux-armv5-release", - "platform": "qt", "configuration": "release", "architectures": ["armv5"], - "slavenames": ["szeged-linux-3"] - }, - { "name": "Qt Linux ARMv7 Release", "type": "Build", "builddir": "qt-linux-armv7-release", "platform": "qt", "configuration": "release", "architectures": ["armv7"], "slavenames": ["szeged-linux-4"] @@ -227,7 +222,7 @@ "builderNames": ["Leopard Intel Release (Build)", "Leopard Intel Debug (Build)", "SnowLeopard Intel Release (Build)", "SnowLeopard Intel Leaks", "GTK Linux 32-bit Release", "GTK Linux 32-bit Debug", "GTK Linux 64-bit Debug", - "Qt Linux Release", "Qt Linux Release minimal", "Qt Linux ARMv5 Release", "Qt Linux ARMv7 Release", + "Qt Linux Release", "Qt Linux Release minimal", "Qt Linux ARMv7 Release", "Qt Windows 32-bit Release", "Qt Windows 32-bit Debug", "Chromium Win Release", "Chromium Mac Release", "Chromium Linux Release", "Chromium Win Release (Tests)", "Chromium Mac Release (Tests)", "Chromium Linux Release (Tests)", diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg b/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg index 4ee277c..7913095 100644 --- a/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg +++ b/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg @@ -72,11 +72,11 @@ class InstallChromiumDependencies(shell.ShellCommand): command = ["perl", "./Tools/Scripts/update-webkit-chromium", "--force"] haltOnFailure = True -class CleanupChromiumLinuxCrashLogs(shell.ShellCommand): +class CleanupChromiumCrashLogs(shell.ShellCommand): name = "cleanup crash logs" description = ["removing crash logs"] descriptionDone = ["removed crash logs"] - command = ["sh", "-c", "rm -rf /tmp/.org.chromium.*"] + command = ["python", "./Tools/BuildSlaveSupport/chromium/remove-crash-logs"] haltOnFailure = False @@ -420,8 +420,9 @@ class Factory(factory.BuildFactory): factory.BuildFactory.__init__(self) self.addStep(ConfigureBuild, platform=platform, configuration=configuration, architecture=" ".join(architectures), buildOnly=buildOnly) self.addStep(CheckOutSource) - if platform == "win": + if platform in ("win", "chromium-win"): self.addStep(KillOldProcesses) + if platform == "win": self.addStep(InstallWin32Dependencies) if platform.startswith("chromium"): self.addStep(InstallChromiumDependencies) @@ -445,10 +446,9 @@ class TestFactory(Factory): self.addStep(self.TestClass, skipBuild=(platform == 'win')) # Tiger's Python 2.3 is too old. WebKit Python requires 2.5+. # Sadly we have no way to detect the version on the slave from here. - if platform != "mac-tiger" and platform != "chromium-win": + if platform != "mac-tiger": self.addStep(RunPythonTests) - if platform != "chromium-win": - self.addStep(RunPerlTests) + self.addStep(RunPerlTests) self.addStep(ArchiveTestResults) self.addStep(UploadTestResults) self.addStep(ExtractTestResults) @@ -457,8 +457,8 @@ class BuildAndTestFactory(Factory): TestClass = RunWebKitTests def __init__(self, platform, configuration, architectures): Factory.__init__(self, platform, configuration, architectures, False) - if platform == "chromium-linux": - self.addStep(CleanupChromiumLinuxCrashLogs) + if platform.startswith("chromium"): + self.addStep(CleanupChromiumCrashLogs) self.addStep(CompileWebKit) if not platform.startswith("chromium"): self.addStep(RunJavaScriptCoreTests) @@ -467,9 +467,14 @@ class BuildAndTestFactory(Factory): self.addStep(self.TestClass) # Tiger's Python 2.3 is too old. WebKit Python requires 2.5+. # Sadly we have no way to detect the version on the slave from here. + # Chromium Win runs in non-Cygwin environment, which is not yet fit + # for running tests. This can be removed once bug 48166 is fixed. if platform != "mac-tiger": self.addStep(RunPythonTests) - self.addStep(RunPerlTests) + # Chromium Win runs in non-Cygwin environment, which is not yet fit + # for running tests. This can be removed once bug 48166 is fixed. + if platform != "chromium-win": + self.addStep(RunPerlTests) self.addStep(ArchiveTestResults) self.addStep(UploadTestResults) self.addStep(ExtractTestResults) diff --git a/Tools/BuildSlaveSupport/chromium/remove-crash-logs b/Tools/BuildSlaveSupport/chromium/remove-crash-logs new file mode 100755 index 0000000..4f999c4 --- /dev/null +++ b/Tools/BuildSlaveSupport/chromium/remove-crash-logs @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# Copyright (c) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import os +import sys + +if __name__ == '__main__': + if sys.platform == 'linux2': + os.system('rm -rf /tmp/.org.chromium.*') + elif sys.platform == 'darwin': + import Foundation + os.system('rm -rf %s' % os.path.join(Foundation.NSTemporaryDirectory(), + '.org.chromium.*')) + elif 'win' in sys.platform: + os.system('for /d %d in (%TEMP%\scoped_dir*) do rd /s /q "%d"') diff --git a/Tools/BuildSlaveSupport/win/kill-old-processes b/Tools/BuildSlaveSupport/win/kill-old-processes index 6760e08..885d6fa 100755 --- a/Tools/BuildSlaveSupport/win/kill-old-processes +++ b/Tools/BuildSlaveSupport/win/kill-old-processes @@ -29,7 +29,8 @@ def main(): tasksToKill = ["DumpRenderTree.exe", "DumpRenderTree_debug.exe", "testapi.exe", "testapi_debug.exe", "svn.exe", "httpd.exe", "cl.exe", "link.exe", "midl.exe", "devenv.exe", "perl.exe", "imagediff.exe", "imagediff_debug.exe", "jsc.exe", "jsc_debug.exe", "WebKit2WebProcess.exe", - "WebKit2WebProcess_debug.exe", "WebKitTestRunner.exe", "WebKitTestRunner_debug.exe"] + "WebKit2WebProcess_debug.exe", "WebKitTestRunner.exe", "WebKitTestRunner_debug.exe", + "wdiff.exe"] for task in tasksToKill: os.system("taskkill /f /im " + task) diff --git a/Tools/ChangeLog b/Tools/ChangeLog index 4e59dae..caccb04 100644 --- a/Tools/ChangeLog +++ b/Tools/ChangeLog @@ -1,32462 +1,2517 @@ -2011-02-12 Chang Shu +2011-03-03 Hayato Ito - Unreviewed. - - Update my own email addresses and IRC nickname. - - * Scripts/webkitpy/common/config/committers.py: + Reviewed by Mihai Parparita. -2011-02-11 Dirk Pranke + [NRWT] Clear output image file used by DumpRenderTree to make sure the + previous image should not be used in the ChromiumDriver. - Reviewed by Tony Chang. + Also make sure that output image from the ChromiumDriver should be '' + (empty string) if a test crashes for consistency with the WebKitDriver + implementation. - This patch adds to NRWT most of the support needed to run the new - message-based workers in separate threads or processes. The code - isn't fully complete yet because we don't support cancel() or - is_alive(). + https://bugs.webkit.org/show_bug.cgi?id=55746 - https://bugs.webkit.org/show_bug.cgi?id=54070 + * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/mock_drt.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: +2011-03-07 Zan Dobersek -2011-02-11 Sailesh Agrawal + Reviewed by Martin Robinson. - Reviewed by Kenneth Russell. + [Gtk] fast/js/navigator-language.html fails locally + https://bugs.webkit.org/show_bug.cgi?id=55880 - plugins/invalidate_rect.html fails on chromium-mac - https://bugs.webkit.org/show_bug.cgi?id=54051 + Add LANG variable to the clean environment when running + old-run-webkit-tests script. - This change fixes the invalidate_rect.html test failure on Windows. + * Scripts/old-run-webkit-tests: - There were two problems. First, the test specified that the plugin was window less by doing . The windowedPlugin parameter was never being read by the plugin. Fix was to simply set the NPPVpluginWindowBool variable based on the parameter. +2011-03-07 Tony Chang - The second problem was that the plugin never handled paint events on Windows. Fix was to simply copy the Mac code to handle paint events. + Reviewed by Mihai Parparita. - This change also updates the build path in chromium_win.py to use the new Source directory. + [Chromium] Find .checksum files without .pngs and vice-versa + https://bugs.webkit.org/show_bug.cgi?id=55236 - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - (invalidateRect): - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - (handleEventWin): - (NPP_HandleEvent): - * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/find-mismatched-layout-test-results: Added. A script for finding + mismatched results. -2011-02-11 Csaba Osztrogonác +2011-03-07 Chris Fleizach - Reviewed by Andreas Kling. + Reviewed by Beth Dakin. - [Qt] Increase the timeout of Qt API tests to 120 seconds. + AX: WK1 needs to use the ScrollView attachment for AXScrollArea, WK2 should not use this element. + https://bugs.webkit.org/show_bug.cgi?id=55706 - * BuildSlaveSupport/build.webkit.org-config/master.cfg: + The rootElement in DRT should point to the scroll view. In WK1, that will be the parent of the rootObject. -2011-02-10 Zhenyao Mo + * DumpRenderTree/mac/AccessibilityControllerMac.mm: + (AccessibilityController::focusedElement): + Remove FIXME comment about caching the focusedElement. In fact, we shouldn't cache this + because it could change at any time. + (AccessibilityController::rootElement): - Unreviewed, build fix. +2011-03-07 Sam Weinig - * DumpRenderTree/DumpRenderTree.gypi: + Reviewed by Anders Carlsson. -2011-02-10 Dirk Pranke + Add unableToImplementPolicy callback for WebKit2 policy client + + https://bugs.webkit.org/show_bug.cgi?id=55884 - Reviewed by Tony Chang. + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + Update policy client initialization struct for new member. - This patch adds the bulk of the remaining functionality for - the NRWT message-passing implementation. The patch adds a new - Worker class that will eventually replace the TestShellThread - class in dump_render_tree_thread.py, and implements enough of - TestRunner2 and the inline version of the manager_worker_broker - to actually be able to send a full set of messages back and - forth. The Worker stubs do not actually run tests, and there's - lots of error handling and stats needed, but this is the core - logic. +2011-03-07 Sam Weinig - https://bugs.webkit.org/show_bug.cgi?id=54068 + Reviewed by Anders Carlsson. - * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: - * Scripts/webkitpy/layout_tests/layout_package/worker.py: Added. - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse + https://bugs.webkit.org/show_bug.cgi?id=55827 -2011-02-10 Zhenyao Mo + * MiniBrowser/mac/BrowserWindowController.m: + (decidePolicyForResponse): + (-[BrowserWindowController awakeFromNib]): + * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: + (TestWebKitAPI::decidePolicyForResponse): + (TestWebKitAPI::TEST): + Update tools for new name. - Unreviewed, build fix. +2011-03-06 Daniel Bates - * DumpRenderTree/DumpRenderTree.gypi: + Reviewed by Eric Seidel and David Kilzer. -2011-02-10 Zhenyao Mo + Fix misspelled word in build-webkit's checkForJavaSDK() and sort forward declarations + https://bugs.webkit.org/show_bug.cgi?id=55503 - Unreviewed, build fix. + Fix misspelled word "Dowloads" [sic] in the message printed to standard output + in checkForJavaSDK(). - * DumpRenderTree/DumpRenderTree.gypi: + Also, remove extraneous space in function prototype for unlinkZeroFiles. -2011-02-10 Zhenyao Mo + * Scripts/build-webkit: - Unreviewed, attempt to fix crashing plugin tests. +2011-03-05 Brian Weinstein - * DumpRenderTree/DumpRenderTree.gypi: + Reviewed by Sam Weinig. -2011-02-10 Zhenyao Mo + Fix Web Process crashes caused by https://bugs.webkit.org/show_bug.cgi?id=53919. - Unreviewed, build fix. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::willSendRequestForFrame): Retain the WKURLRequestRef returned + by willSendRequestForFrame. The API expects a retained reference to the URL request. - * DumpRenderTree/DumpRenderTree.gypi: +2011-03-05 Ilya Sherman -2011-02-10 Sam Weinig + Reviewed by Darin Adler. - Try and fix some crashing tests on the chromium build bot. + HTMLInputElement::setValue() should schedule change event when the element is focused + In service of https://code.google.com/p/chromium/issues/detail?id=42716 + https://bugs.webkit.org/show_bug.cgi?id=53160 - * DumpRenderTree/DumpRenderTree.gypi: + * DumpRenderTree/LayoutTestController.cpp: + (setValueForUserCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setValueForUser): Stubbed out; need real implementation. + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setValueForUser): Expose HTMLInputElement::setValueForUser() to tests + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setValueForUser): Stubbed out; need real implementation. + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setValueForUser): Stubbed out; need real implementation. + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setValueForUser): Stubbed out; need real implementation. -2011-02-10 Anders Carlsson +2011-03-04 Mark Rowe - Reviewed by Sam Weinig. + Reviewed by Alexey Proskuryakov. - Log an error if a plug-in test can't be found - https://bugs.webkit.org/show_bug.cgi?id=54252 + DumpRenderTree is crashing with GuardMalloc - * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: - (PluginTest::create): - Return null if the test wasn't found. + GuardMalloc does not expect the memory containing its malloc_zone_t to ever be read-only. + + * DumpRenderTree/mac/CheckedMalloc.cpp: + (protectionOfRegion): Retrieve the protection flags for the VM region containing the given address. + (makeLargeMallocFailSilently): Save the initial protection flags, temporarily make the region writeable, + and then restore the initial protection flags when we're done. - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - Report an error if PluginTest::create returns null. +2011-03-04 Evan Martin -2011-02-10 Robert Hogan + Reviewed by Tony Chang. - Reviewed by Laszlo Gombos. + [gdb] pretty-print KURL in gdb + https://bugs.webkit.org/show_bug.cgi?id=55788 - [Qt] Return menu items from eventSender.contextMenu() - https://bugs.webkit.org/show_bug.cgi?id=53039 + * gdb/webkit.py: extend the pretty-printers to print WTF::CString + and KURLGooglePrivate. As always, "p/r" can be used to sidestep + pretty-printing. - * DumpRenderTree/qt/EventSenderQt.cpp: - (EventSender::contextClick): - * DumpRenderTree/qt/EventSenderQt.h: +2011-03-03 Timothy Hatcher -2011-02-10 Adam Roben + Update the tests that use WKPageRunJavaScriptInMainFrame use the WKSerializedScriptValueRef. - Test showing and hiding the find indicator on Windows + Reviewed by Darin Adler. - Test for REGRESSION (r78198): Crash in - FindIndicator::contentImage when scrolling page + * TestWebKitAPI/JavaScriptTest.cpp: + (TestWebKitAPI::javaScriptCallback): + * TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp: + (TestWebKitAPI::didRunJavaScript): + * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: + (TestWebKitAPI::nullJavaScriptCallback): + * TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp: + (TestWebKitAPI::didRunJavaScript): - Reviewed by Steve Falkenburg. +2011-03-03 Timothy Hatcher - * TestWebKitAPI/Tests/WebKit2/win/HideFindIndicator.cpp: Added. - (TestWebKitAPI::didFinishLoadForFrame): Record that the load finished. - (TestWebKitAPI::findIndicatorCallback): Record that the callback was called, and save the - bitmap. - (TestWebKitAPI::initialize): Hook up our callbacks. - (TestWebKitAPI::TEST): Test showing then hiding the find indicator to see if we crash. + Make run-api-tests show failed if a test fails. - * TestWebKitAPI/PlatformWebView.h: - * TestWebKitAPI/mac/PlatformWebViewMac.mm: - (TestWebKitAPI::PlatformWebView::page): - * TestWebKitAPI/win/PlatformWebViewWin.cpp: - (TestWebKitAPI::PlatformWebView::page): - Made page a const member function. + https://webkit.org/b/55725 - * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added the new test. + Reviewed by Sam Weinig. -2011-02-10 Mario Sanchez Prada + * Scripts/run-api-tests: + (runTest): Remove "my" from the nested $result assignment so the + check outside the condition sees the real result. - Reviewed by Martin Robinson. +2011-03-02 MORITA Hajime - [GTK] Log signals from AtkDocument interface also in AccessibilityController - https://bugs.webkit.org/show_bug.cgi?id=54198 + Reviewed by Kent Tamura. - Trace AtkDocument's signals emission through AccessibilityController. + [Chromium][DRT] WebTask should use webkit_support::TaskAdaptor + https://bugs.webkit.org/show_bug.cgi?id=55434 - Also, taken the code related to adding and removing global - listeners for ATK signals out to a separate file, for the sake of - clarity and to ease future additions. + Changed WebTask to be a subclass of webkit_support::TaskAdaptor + and passed the object webkit_support::PostDelayedTask directly. - * DumpRenderTree/gtk/AccessibilityCallbacks.h: Added. - * DumpRenderTree/gtk/AccessibilityCallbacks.cpp: Added - (printAccessibilityEvent): Print information about an event. - (axObjectEventListener): Global listener for AtkObject's signals. - (axDocumentEventListener): Global listener for AtkDocument's signals. - (connectAccessibilityCallbacks): Connect all global listeners. - (disconnectAccessibilityCallbacks): Disconnect all global listeners. + Note that the change keeps postTask() as is because it has a + semantics taht webkit_support::PostDelayedTask() has; It jumps to + the main thread. - * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: - (AccessibilityController::setLogAccessibilityEvents): Call to - connectAccessibilityCallbacks and disconnectAccessibilityCallbacks. + * DumpRenderTree/chromium/Task.cpp: + (postDelayedTask): + * DumpRenderTree/chromium/Task.h: + (WebTask::Run): - * GNUmakefile.am: Added new files. +2011-03-03 Mahesh Kulkarni -2011-02-09 Martin Robinson + Reviewed by Kenneth Rohde Christiansen. - Reviewed by Gustavo Noronha Silva. + [QT] Implement mock client-based geolocation for layout testing + https://bugs.webkit.org/show_bug.cgi?id=54334 - [GTK] Default error page is interfering with tests which require failed loads - https://bugs.webkit.org/show_bug.cgi?id=54157 + Implement testing for Client-Based geolocation for QtWebkit. - Disable the default error page during DRT runs. This prevents unexpected loads - from interfering with tests that have planned failed loads. + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::DumpRenderTree): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::setGeolocationPermission): + (LayoutTestController::setMockGeolocationError): + (LayoutTestController::setMockGeolocationPosition): - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (webViewLoadError): Added, disable default handler. - (createWebView): Connect the new load-error handler. +2011-03-03 Sheriff Bot -2011-02-10 Zoltan Horvath + Unreviewed, rolling out r80237. + http://trac.webkit.org/changeset/80237 + https://bugs.webkit.org/show_bug.cgi?id=55714 - Reviewed by Andreas Kling. + Windows bots aren't ready to be core (Requested by aroben on + #webkit). - [Qt] Add UrlLoader and command line argument handling to MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=54192 - - Copy and modify files from QtTestBrowser's implementation. + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::newWindow): - * MiniBrowser/qt/BrowserWindow.h: - * MiniBrowser/qt/MiniBrowser.pro: - * MiniBrowser/qt/MiniBrowserApplication.cpp: Copied from QtTestBrowser/launcherwindow.cpp - (MiniBrowserApplication::MiniBrowserApplication): - (MiniBrowserApplication::handleUserOptions): - * MiniBrowser/qt/MiniBrowserApplication.h: Copied from QtTestBrowser/launcherwindow.h - (WindowOptions::WindowOptions): - (MiniBrowserApplication::urls): - (MiniBrowserApplication::isRobotized): - (MiniBrowserApplication::robotTimeout): - (MiniBrowserApplication::robotExtraTime): - * MiniBrowser/qt/UrlLoader.cpp: Copied from QtTestBrowser/urlloader.cpp - (UrlLoader::UrlLoader): - (UrlLoader::loadNext): - (UrlLoader::checkIfFinished): - (UrlLoader::frameLoadStarted): - (UrlLoader::frameLoadFinished): - (UrlLoader::loadUrlList): - (UrlLoader::getUrl): - * MiniBrowser/qt/UrlLoader.h: Copied from QtTestBrowser/urlloader.h - * MiniBrowser/qt/main.cpp: - (main): - * MiniBrowser/qt/utils.cpp: Copied from QtTestBrowser/utils.cpp - (takeOptionValue): - (formatKeys): - (enumToKeys): - (appQuit): - (urlFromUserInput): - * MiniBrowser/qt/utils.h: Copied from QtTestBrowser/utils.h +2011-03-03 Mihai Parparita -2011-02-10 Zoltan Horvath + Reviewed by Tony Chang. - Reviewed by Andreas Kling. + NRWT: AttributeError: TestRunner2 instance has no attribute '_cancel_workers' + https://bugs.webkit.org/show_bug.cgi?id=55694 + + Fixes for interruptions in NRWT: + - Make TestRunInterruptedException be pickleable correctly (the base + Exception class defines a __reduce__ that does not include the reason) + - Fix ordering of returned arguments from TestRunner2._run_tests + (interrupted and keyboard_interrupted were reversed) + - Fix cancel_workers callsites (was using old name). + - In handle_exception re-raise actual exception instance that was thrown - check-webkit-style: Add -build/include exemption for Tools/MiniBrowser/qt - https://bugs.webkit.org/show_bug.cgi?id=54200 + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + * Scripts/webkitpy/layout_tests/layout_package/worker.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - * Scripts/webkitpy/style/checker.py: - * Scripts/webkitpy/style/checker_unittest.py: +2011-03-03 Qi Zhang -2011-02-10 Peter Varga + Unreviewed. - Reviewed by Csaba Osztrogonác. + Adding myself as a committer. - Remove PCRE source from trunk - https://bugs.webkit.org/show_bug.cgi?id=54188 + * Scripts/webkitpy/common/config/committers.py: - * wx/build/settings.py: +2011-03-03 Tony Gentilcore -2011-02-10 David Levin + Reviewed by Mihai Parparita. - Reviewed by Shinichiro Hamaji. + Teach sheriffbot to answer whois commands + https://bugs.webkit.org/show_bug.cgi?id=55687 - check-webkit-style should be able to figure out function modifiers and return type. - https://bugs.webkit.org/show_bug.cgi?id=54124 + * Scripts/webkitpy/tool/bot/irc_command.py: + * Scripts/webkitpy/tool/bot/irc_command_unittest.py: + * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: - * Scripts/webkitpy/style/checkers/cpp.py: - (_rfind_in_lines): A way to search backwards in lines. - (_FunctionState.modifiers_and_return_type): - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests for the new functionality. +2011-03-03 Victoria Kirst -2011-02-09 Adam Roben + Reviewed by Eric Carlson. - Test that WM_PRINT doesn't trigger an assertion + Enable media tests in chromium-gpu/test_expectations + https://bugs.webkit.org/show_bug.cgi?id=53608 - Test for WM_PRINT doesn't work with new - drawing area (assertion failure in DrawingAreaProxyImpl in Debug builds) + Add media folder to the list of GPU test paths. - Reviewed by Darin Adler. + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: - * TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp: Added. - (TestWebKitAPI::TEST): Send a WM_PRINT message to a WKView. +2011-03-03 Adam Roben -2011-02-09 Adam Roben + Work around a bug in KURL's parsing of Windows-style absolute file: URLs - Test that having a WKView paint after being resized while hidden doesn't cause a crash + Fixes Many tests fail in WebKit2 mode on Windows due to + incorrect parsing of absolute Windows-style file: URLs - Test for Crash in - DrawingAreaProxyImpl::paint when WKView paints after being resized while hidden + Reviewed by Tim Hatcher. - Reviewed by Darin Adler. + * WebKitTestRunner/TestInvocation.cpp: + (WTR::createWKURL): Add a "localhost" host to file: URLs we create to work around + . - * TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp: - (TestWebKitAPI::TEST): Force the WKView to paint after resizing it while hidden. +2011-03-03 Tony Chang -2011-02-09 Adam Roben + Reviewed by Dimitri Glazkov. - Add a test that resizes a WKView while it's hidden + [chromium] Run kill-old-processes on the chromium-win bot too + https://bugs.webkit.org/show_bug.cgi?id=55630 - Test for WKView draws at wrong size, - performs badly if is resized while hidden (assertion fails in - BackingStore::incorporateUpdate in Debug builds) + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + * BuildSlaveSupport/win/kill-old-processes: Add wdiff.exe to the kill list. - Reviewed by Darin Adler. +2011-03-03 Carlos Garcia Campos - * TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp: Added. - (TestWebKitAPI::didFinishLoadForFrame): Record that the load finished. - (TestWebKitAPI::setPageLoaderClient): Hook up our didFinishLoadForFrame callback. - (TestWebKitAPI::flushMessages): Load a URL and wait for the load to complete. This ensures - that all pending messages have been handled by the UI and web process. - (TestWebKitAPI::timerCallback): Kill the timer and record that it fired. - (TestWebKitAPI::runForDuration): Set a timer and run the run loop until it fires. - (TestWebKitAPI::waitForBackingStoreUpdate): Wait for half a second to give the web process a - chance to display, then flush all pending messages. - (TestWebKitAPI::TEST): Resize the WKView while it's hidden, then show it again and wait for - the backing store to update. This triggers the assertion from bug 54141. + Reviewed by Martin Robinson. - * TestWebKitAPI/win/PlatformWebViewWin.cpp: - (TestWebKitAPI::PlatformWebView::resizeTo): Implemented. + [GTK] DRT needs implementation of EventSender.scheduleAsynchronousClick + https://bugs.webkit.org/show_bug.cgi?id=53960 - * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added new test. + * DumpRenderTree/gtk/EventSender.cpp: + (sendClick): + (scheduleAsynchronousClickCallback): -2011-02-10 Philippe Normand +2011-03-03 Adam Roben - Unreviewed, GTK build fix after roll out of r78157... + Look for Windows-style paths when checking whether a test is an Inspector test - * GNUmakefile.am: + WTR part of All inspector tests time + out or crash on Windows 7 Release (WebKit2 Tests) -2011-02-10 Eric Seidel + Reviewed by Darin Adler. - Unreviewed, rolling out r78157. - http://trac.webkit.org/changeset/78157 - https://bugs.webkit.org/show_bug.cgi?id=54150 + * WebKitTestRunner/TestInvocation.cpp: + (WTR::shouldOpenWebInspector): Also look for backslashes, since that's what we'll get on + Windows. - Fails on a bunch of bots +2011-03-03 Adam Roben - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSDestroyingPluginFromDestroyStream.cpp: Removed. - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + Make Windows 7 Release (Tests) a core builder -2011-02-10 Mario Sanchez Prada + We can probably make Windows XP Debug (Tests) a core builder, too, but we should probably + give it a few more days of greenness first. - Reviewed by Xan Lopez. + Fixes Windows 7 Release (Tests) should be a core builder - [GTK] Reset GTK' DRT's AccessibilityController to consistent value before every test - https://bugs.webkit.org/show_bug.cgi?id=54185 + Reviewed by Andreas Kling. - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + (BuildBot): Added a regexp to match Windows 7 Release (Tests). -2011-02-10 Philippe Normand + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + (BuildBotTest): Updated the list of builders to match the current list on build.webkit.org. + Updated the core regexps to match the buildbot module. Updated the expected results to match + the current set of core builders. - Unreviewed GTK build fix. +2011-03-03 Benjamin Poulain - Adding - Tools/DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSDestroyingPluginFromDestroyStream.cpp - in the build, fixing the - plugins/npruntime/evaluate-js-destroying-plugin-from-destroy-stream.html - test. + Reviewed by Andreas Kling. - * GNUmakefile.am: + Adding myself as a reviewer. -2011-02-10 Mario Sanchez Prada + * Scripts/webkitpy/common/config/committers.py: - Reviewed by Chris Fleizach. +2011-03-03 Lukasz Slachciak - [GTK] Add support in DRT to log "accessibility events" - https://bugs.webkit.org/show_bug.cgi?id=54116 + Reviewed by Xan Lopez. - Added a way to log accessibility related events, in a - platform-dependant way. + [GTK] Extended application cache database API and added unit tests file. + https://bugs.webkit.org/show_bug.cgi?id=55335 - Add new function to AccessibilityController. + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: removed external declaration + of webkit_application_cache_set_maximum_size due to API exposal. - * DumpRenderTree/AccessibilityController.h: - * DumpRenderTree/AccessibilityController.cpp: - (logAccessibilityEventsCallback): New callback. - (AccessibilityController::getJSClass): Added new function. - (AccessibilityController::resetToConsistentState): Initialized - calling setLogAccessibilityEvents(false). +2011-03-02 Ojan Vafai - Provided implementation for the GTK port. + Reviewed by Adam Barth. - * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: - (accessibility_event_listener): Common listener for logging - information about all the signals emitted by any AtkObject. - (AccessibilityController::setLogAccessibilityEvents): Add or - remove listeners for signals, as specified by the parameter. + make webkit-patch upload work for security bugs + https://bugs.webkit.org/show_bug.cgi?id=55655 - Provide dummy implementations for mac and win ports. + The problem is that we shell out to prepare-ChangeLog, + which does not authenticate with bugzilla. All it needs from + bugzilla is the bug title though. We just pass it through from + webkit-patch instead. - * DumpRenderTree/mac/AccessibilityControllerMac.mm: - (AccessibilityController::setLogAccessibilityEvents): - * DumpRenderTree/win/AccessibilityControllerWin.cpp: - (AccessibilityController::setLogAccessibilityEvents): + * Scripts/prepare-ChangeLog: + * Scripts/webkitpy/common/net/bugzilla/bug.py: + * Scripts/webkitpy/tool/steps/preparechangelog.py: -2011-02-09 Hayato Ito +2011-03-01 Ojan Vafai Reviewed by Tony Chang. - [NRWT] Remove encoding parameters where we can assume data can be - written in binary mode. + [test-dashboard] make gtest JSON match layout-tests JSON + https://bugs.webkit.org/show_bug.cgi?id=55556 - https://bugs.webkit.org/show_bug.cgi?id=54066 + http://trac.webkit.org/changeset/80090 stopped converting time_ms to t. + Make this code match. - * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: - * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: -2011-02-09 Dirk Pranke +2011-03-02 Dirk Pranke Reviewed by Tony Chang. - nrwt multiprocessing: minor cleanup prior to implementing the new worker + NRWT - implement Linux Hardy 64-bit port support. This involves + adding support for non-'x86' architectures and updating the + "deduplicate_tests" script to correctly understand that + port.name() is not always equal to basename(port.baseline_path()). - This patch renames AbstractManager to ManagerConnection and - changes some argument names to be more consistent between - manager_worker_broker and message_broker. It also fixes a couple - of typos in message_broker. These changes will be tested by code - introduced in the next patch. - - https://bugs.webkit.org/show_bug.cgi?id=54067 + This change introduces two new port names: 'chromium-linux-x86' + and 'chromium-linux-x86_64'. Using the prior 'chromium-linux' + flag will cause the code to determine which one to use at + runtime, just like we currently do with 'chromium-win'. - * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker2.py: + https://bugs.webkit.org/show_bug.cgi?id=55535 -2011-02-09 Anders Carlsson + * Scripts/webkitpy/common/system/executive_mock.py: + Handle 'return_stderr' keyword arg to run_command() + * Scripts/webkitpy/layout_tests/deduplicate_tests.py: + * Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py: + * Scripts/webkitpy/layout_tests/port/factory.py: + * Scripts/webkitpy/layout_tests/port/google_chrome.py: - Reviewed by Sam Weinig. +2011-03-02 Kevin Ollivier - Repro crash with Sony Google TV ad at Gizmodo - https://bugs.webkit.org/show_bug.cgi?id=54150 - + [wx] Build fix, make sure we put the wxWebKit dylib in the right directory and + update symlinks accordingly. - Add a new plug-in test that runs JavaScript that destroys the plug-in from within its NPN_DestroyStream callback. + * wx/packaging/build-mac-installer.py: - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSDestroyingPluginFromDestroyStream.cpp: Added. - (EvaluateJSDestroyingPluginFromDestroyStream::EvaluateJSDestroyingPluginFromDestroyStream): - (EvaluateJSDestroyingPluginFromDestroyStream::NPP_Destroy): - (EvaluateJSDestroyingPluginFromDestroyStream::NPP_DestroyStream): - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: +2011-03-02 Sheriff Bot -2011-02-09 David Levin + Unreviewed, rolling out r80139. + http://trac.webkit.org/changeset/80139 + https://bugs.webkit.org/show_bug.cgi?id=55620 - Reviewed by Eric Seidel. + failing and crashing tests on Snow Leopard bot (Requested by + mihaip1 on #webkit). - check-webkit-style: The error message about NULL should be more clear for comments. - https://bugs.webkit.org/show_bug.cgi?id=53786 + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + * DumpRenderTree/mac/UIDelegate.h: + * DumpRenderTree/mac/UIDelegate.mm: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - * Scripts/webkitpy/style/checkers/cpp.py: Clarified the error message. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Fixed the corresponding test. +2011-03-02 Adam Roben -2011-02-09 Nebojsa Ciric + Wait for force a paint in WebKitTestRunner until we're actually ready to dump the output - Reviewed by Darin Fisher. + This matches DumpRenderTree on Windows. - Implements Locale object of JavaScript internationalization API proposal, as an - v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h}) - and in this patch we just provide flags, tests and build rules for chromium port. - https://bugs.webkit.org/show_bug.cgi?id=49414 + Fixes REGRESSION (r79863): Lots of + dom/html/level2/html/HTMLFrameElement*.html tests crashing in FrameView::paintOverhangAreas + in WebKit2 - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): + Reviewed by Beth Dakin. -2011-02-09 Laszlo Gombos + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::dump): Moved code to force a paint here... + (WTR::InjectedBundlePage::didFinishLoadForFrame): ...from here. - Reviewed by Kenneth Rohde Christiansen. +2011-03-02 Daniel Cheng - [Qt] Remove UiTools dependency from MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=54096 + Reviewed by David Levin. - * MiniBrowser/qt/MiniBrowser.pro: + Add feature define for data transfer items + https://bugs.webkit.org/show_bug.cgi?id=55510 -2011-02-08 Hayato Ito + * Scripts/build-webkit: - Reviewed by Tony Chang. +2011-03-02 Adam Roben - [NRWT] Pull up rebaseline code from compare_output() function defined - in text_diff.py and image_diff.py into a SingleTestRunner. + Look in the new-to-SnowLeopard location for crash logs on SnowLeopard and newer - This patch is a first step for eliminating test_type/* classes. + ReportCrash saves logs to ~/Library/Logs/CrashReporter on Leopard, but to + ~/Library/Logs/DiagnosticReports on SnowLeopard. old-run-webkit-tests was only looking in + the former location, but was getting lucky on some SnowLeopard machines because symlinks + were being created there pointing into DiagnosticReports. For machines without these + symlinks, crash logs were not getting captured. - https://bugs.webkit.org/show_bug.cgi?id=53071 + Fixes old-run-webkit-tests doesn't capture crash logs on some + SnowLeopard machines - * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + Reviewed by Eric Seidel. -2011-02-07 Ojan Vafai + * Scripts/old-run-webkit-tests: + (captureSavedCrashLog): Look in ~/Library/Logs/DiagnosticReports on SnowLeopard and newer. - Reviewed by Mihai Parparita. +2011-03-02 Adam Roben - stop generating results.json files - https://bugs.webkit.org/show_bug.cgi?id=53977 + Don't try to capture crash logs on platforms that haven't implemented that feature - We've only used incremental_results.json for a while now - and there are plans to start generating a results.json file that matches - the format of unexpected_results.json. + Fixes Use of uninitialized value in numeric lt (<) at + Tools/Scripts/old-run-webkit-tests line 1778 seen on Qt bots after a crash - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + Reviewed by Joseph Pecoraro. -2011-02-08 Sailesh Agrawal + * Scripts/old-run-webkit-tests: + (captureSavedCrashLog): Bail if we don't have a crash log glob. + (findNewestFileMatchingGlob): Fix a buggy test for when no paths match the glob. This isn't + strictly required to fix bug 55504, but seems worthwhile. + +2011-01-26 John Knottenbelt - Reviewed by Kenneth Russell. + Reviewed by Dmitry Titov. - Invalidate rect doesn't work for windowless plugins on Chromium - https://bugs.webkit.org/show_bug.cgi?id=53117 + Detach Geolocation from Frame when Page destroyed. + https://bugs.webkit.org/show_bug.cgi?id=52877 - Added two new utility methods. - - layoutTestController.displayInvalidatedRegion() does a paint of any area that has been invalidated. This is different from layoutTestController.display() which explicitly invalidates the entire page then paints. - - plugin.invalidateRect(left, top, right, bottom) - invalidates the given rect - This is used to test that invalidating a rect correctly causes a repaint of the plugin. + Extend the layout test controller to expose the number of pending + geolocation requests, so that we can test that the requests have + been cancelled on page close. * DumpRenderTree/LayoutTestController.cpp: - (displayInvalidatedRegionCallback): + (numberOfPendingGeolocationPermissionRequestsCallback): (LayoutTestController::staticFunctions): * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - (invalidateRect): - (pluginInvoke): * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): - (LayoutTestController::displayInvalidatedRegion): + (LayoutTestController::numberOfPendingGeolocationPermissionRequests): * DumpRenderTree/chromium/LayoutTestController.h: - * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::numberOfPendingGeolocationPermissionRequests): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::numberOfPendingGeolocationPermissionRequests): + * DumpRenderTree/mac/UIDelegate.h: + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate numberOfPendingGeolocationPermissionRequests]): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::numberOfPendingGeolocationPermissionRequests): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::numberOfPendingGeolocationPermissionRequests): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::numberOfPendingGeolocationPermissionRequests): -2011-02-08 Dirk Pranke - Reviewed by Tony Chang. +2011-03-01 Kent Tamura - new-run-webkit-tests: move the logic that starts and stops the - servers from dump_render_tree_thread into single_test_runner - so that we can reuse it in the new multiprocessing worker class - as well. + Reviewed by Dimitri Glazkov. - https://bugs.webkit.org/show_bug.cgi?id=53840 + Assertion fails when a form validation bubble appears + https://bugs.webkit.org/show_bug.cgi?id=55550 - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: - -2011-02-08 Dirk Pranke + Test: fast/forms/interactive-validation-attach-assertion.html - Reviewed by Mihai Parparita. + * DumpRenderTree/chromium/WebPreferences.cpp: + (WebPreferences::applyTo): Enable the interactive validation feature by + default. This matches to Chromium browser. - new-run-webkit-tests: split out thread stack logging code into a sharable module +2011-03-01 Gyuyoung Kim - This patch splits out the code used to find and log thread - stacks from NRWT-specific packages to something generic and - shareable by other python modules. It will be shared in the near - future by the manager_worker_broker module, for example. + Reviewed by Kent Tamura. - https://bugs.webkit.org/show_bug.cgi?id=53656 + Remove efl port style exception of Webcore/JavaScriptCore + https://bugs.webkit.org/show_bug.cgi?id=55549 - * Scripts/webkitpy/common/system/stack_utils.py: Added. - * Scripts/webkitpy/common/system/stack_utils_unittest.py: Added. - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + WebCore and JavaScriptCore need to adhere WebKit coding style. -2011-02-08 Dirk Pranke + * Scripts/webkitpy/style/checker.py: - Reviewed by Tony Chang. +2011-03-01 Tony Chang - new-run-webkit-tests: move a bunch of testing logic out of - dump_render_tree_thread and into single_test_runner so that we - will be able to reuse it in the new multiprocessing worker class as well. + Reviewed by Ojan Vafai. - https://bugs.webkit.org/show_bug.cgi?id=53838 + [chromium] clean up temp files on chromium-mac builder too + https://bugs.webkit.org/show_bug.cgi?id=55525 - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + * BuildSlaveSupport/chromium/remove-crash-logs: - -2011-02-08 Dirk Pranke +2011-02-28 Ojan Vafai - Reviewed by Ojan Vafai. + Reviewed by Tony Chang. - new-run-webkit-tests: remove no longer needed WatchableThread - class. + wrap json in a function call to afford cross-domain loading + https://bugs.webkit.org/show_bug.cgi?id=55353 - https://bugs.webkit.org/show_bug.cgi?id=53839 + Also delete the code that compacts the JSON. It turns out this + breaks the rebaseline tool and is probably a premature optimization anyways. - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/tool/commands/rebaselineserver.py: -2011-02-08 Dirk Pranke +2011-03-01 Sheriff Bot - Reviewed by Tony Chang. + Unreviewed, rolling out r80079. + http://trac.webkit.org/changeset/80079 + https://bugs.webkit.org/show_bug.cgi?id=55547 - new-run-webkit-tests: add stubs for the Manager objects that - will abstract the concurrency implementation (inline / threads / - processes). These classes do nothing yet and are not wired up to - anything. + "Broke the Win debug build?" (Requested by dcheng on #webkit). - https://bugs.webkit.org/show_bug.cgi?id=53477 + * Scripts/build-webkit: - * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: Added. - * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: Added. +2011-03-01 Mark Rowe -2011-02-08 Dirk Pranke + Reviewed by Sam Weinig. - Reviewed by Tony Chang. + Update verification scripts to handle WebKit2. - new-run-webkit-tests: add simplified message broker for new-style - messaging. This change adds a very simple message broker that - will be used to shuttle messages between the TestRunner2 manager - thread and the Worker threads. For now the class is not used by - anything, but the eventual usage can be seen in the patches - attached to bug 49566. + * Scripts/check-for-global-initializers: Skip object files that use RefCountedLeakChecker. + * Scripts/check-for-inappropriate-files-in-framework: Add some inappropriate file types for + WebKit2. - https://bugs.webkit.org/show_bug.cgi?id=53158 +2011-03-01 Daniel Cheng - * Scripts/webkitpy/layout_tests/layout_package/message_broker2.py: Added. - * Scripts/webkitpy/layout_tests/layout_package/message_broker2_unittest.py: Added. + Reviewed by David Levin. -2011-02-08 Adam Barth + Add feature define for data transfer items + https://bugs.webkit.org/show_bug.cgi?id=55510 - Reviewed by Dimitri Glazkov. + * Scripts/build-webkit: - chromium-win builder shouldn't run python or perl tests - https://bugs.webkit.org/show_bug.cgi?id=54032 +2011-02-23 Joseph Pecoraro - These tests don't pass on this builder because the builder isn't - running in cygwin. There isn't really any point in running them and - making the bot red forever. + Reviewed by Timothy Hatcher. - * BuildSlaveSupport/build.webkit.org-config/master.cfg: + All Console Messages should be passed to ChromeClients. + https://bugs.webkit.org/show_bug.cgi?id=54926 -2011-02-08 Brady Eidson + Update DumpRenderTree's UIDelegate to use the new console message delegate. - Reviewed by Darin Adler. + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate webView:addMessageToConsole:withSource:]): - and https://bugs.webkit.org/show_bug.cgi?id=54036 - didChangeBackForwardList should include some context about what changed +2011-03-01 Dirk Pranke - * MiniBrowser/mac/BrowserWindowController.m: - (didChangeBackForwardList): + Reviewed by Adam Barth. -2011-02-08 Sam Weinig + Tragically, we stopped running the python unit tests + on Chromium Win just as I was getting them to be green. + This patch turns them back on. - Reviewed by Anders Carlsson. + https://bugs.webkit.org/show_bug.cgi?id=55521 - WK2: Add ability to pass context to policy delegate methods - https://bugs.webkit.org/show_bug.cgi?id=54031 + * BuildSlaveSupport/build.webkit.org-config/master.cfg: - * MiniBrowser/mac/BrowserWindowController.m: - (decidePolicyForNavigationAction): - (decidePolicyForNewWindowAction): - (decidePolicyForMIMEType): - * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: - (TestWebKitAPI::decidePolicyForNavigationAction): - (TestWebKitAPI::decidePolicyForNewWindowAction): - (TestWebKitAPI::decidePolicyForMIMEType): - Update policy client for new API. +2011-03-01 Dirk Pranke -2011-02-08 Martin Robinson + Reviewed by Adam Roben. - Reviewed by Xan Lopez. + Disable + webkitpy.common.system.executive_unittest.ExecutiveTest.\ + test_kill_all fails on win until it can be properly triaged. - [GTK] DRT needs an implementation of LayoutTestController.setIconDatabaseEnabled - https://bugs.webkit.org/show_bug.cgi?id=54033 + https://bugs.webkit.org/show_bug.cgi?id=54790 - Add an implementation of LayoutTestController.setIconDatabaseEnabled that just - call DumpRenderTreeSupportGtk. Turn off the icon database between tests. + * Scripts/webkitpy/common/system/executive_unittest.py: - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): Turn off the icon database. - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setIconDatabaseEnabled): Call the appropriate DumpRenderTreeSupportGtk - method. + 2011-03-01 Helder Correia -2011-02-08 Kundu Suchismita + Unreviewed. Add myself to committers.py. - Reviewed by Laszlo Gombos. + * Scripts/webkitpy/common/config/committers.py: - Local Storage settings can be enable/disable from "Develop" menu - https://bugs.webkit.org/show_bug.cgi?id=52296 +2011-03-01 Adam Roben - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - (LauncherWindow::toggleLocalStorage): - (LauncherWindow::toggleOfflineStorageDatabase): - (LauncherWindow::toggleOfflineWebApplicationCache): - (LauncherWindow::setOfflineStorageDefaultQuota): - * QtTestBrowser/launcherwindow.h: - (WindowOptions::WindowOptions): - * QtTestBrowser/main.cpp: - (LauncherApplication::handleUserOptions): + Give up if a crash log for the web process is taking too long to be saved on Windows -2011-02-08 Martin Robinson + This should keep the bots from getting stuck while waiting for a crash log, if writing a + crash log ever hangs or the UI process for some reason doesn't notice it's finished. - Reviewed by Eric Seidel. + Fixes WebKitTestRunner can hang forever waiting for a crash log + to be saved for the web process - [GTK] EventSender.keyDown does not support non-array modifier arguments - https://bugs.webkit.org/show_bug.cgi?id=53962 + Reviewed by Steve Falkenburg. - Support handling either an array or a string for the modifier argument - to EventSender.keyDown. + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::runRunLoopUntil): Moved code to run the run loop here here from platformRunUntil. + Generalized the code slightly to handle the optional object to wait on. + (WTR::TestController::platformRunUntil): Use the new runRunLoopUntil function, and also use + it (with a timeout) when waiting for a crash log for the web process to be saved. This will + prevent us from waiting forever. - * DumpRenderTree/gtk/EventSender.cpp: - (gdkModifierFromJSValue): Added this helper which factors out the - string comparison bits. - (gdkModifersFromJSValue): Test up front whether the value is a string, - to handle it specially. +2011-03-01 Adam Roben -2011-02-08 Benjamin Poulain + Give WebKitLauncherWin's PDB file a name different from WebKit's - Reviewed by Csaba Osztrogonác. + WebKitLauncherWin (which builds WebKit.exe) and WebKit (which builds WebKit.dll) were + fighting over the same PDB file, meaning that one of them was going to lose and not have + symbols. WebKitLauncherWin's PDB file is now named WebKitLauncherWin.pdb. - openDatabaseSync() stop responding after too many call - https://bugs.webkit.org/show_bug.cgi?id=53945 + Fixes Crashes in WebKit.dll have bad backtraces for some test + runs (due to missing symbols) - Reset the database quota to a known state between each test. + Reviewed by David Kilzer. - Define a quota for the known origins at each test run and delete - all the databases. - This way, the database related test do not depend on previous - allocations. + * WebKitLauncherWin/WebKitLauncherWinCommon.vsprops: Use the project name, + "WebKitLauncherWin", instead of the target name, "WebKit", when naming the PDB file. - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): - (WebCore::DumpRenderTree::dumpDatabaseQuota): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): +2011-03-01 Adam Roben -2011-02-08 Carlos Garcia Campos + Count web process crashes toward the --exit-after-n-crashes-or-timeouts limit - Reviewed by Martin Robinson. + Fixes Web process crashes aren't counted toward the + --exit-after-n-crashes-or-timeouts limit - [GTK] DRT's TextInputController is unimplemented on GTK - https://bugs.webkit.org/show_bug.cgi?id=52997 + Reviewed by David Kilzer. - Initial implementation of TextInputController for GTK port. + * Scripts/old-run-webkit-tests: + (stopRunningTestsEarlyIfNeeded): Include web process crashes in the computation, and print + the number of tests that caused the web process to crash when exiting early. - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (webViewWindowObjectCleared): - * DumpRenderTree/gtk/TextInputController.cpp: Added. - (setMarkedTextCallback): - (insertTextCallback): - (unmarkTextCallback): - (firstRectForCharacterRangeCallback): - (selectedRangeCallback): - (getClass): - (makeTextInputController): - * DumpRenderTree/gtk/TextInputController.h: Added. - * GNUmakefile.am: +2011-03-01 Adam Roben -2011-02-07 Tony Chang + Save a crash log when the web process crashes - Reviewed by Adam Barth. + On Windows, WebKitTestRunner now detects when the web process is crashing and waits to exit + until it has finished crashing, which guarantees that the crash log will have had time to be + saved, too. On Mac, we always wait until ReportCrash has exited before capturing the crash + log, so all we have to do is choose the right crash log out of the CrashReporter directory. - clean up python imports - https://bugs.webkit.org/show_bug.cgi?id=53966 + Fixes When the web process crashes and + a crash log is being saved, WebKitTestRunner thinks the web process has become unresponsive - Convert "import A.B.C.D as D" to "from A.B.C import D" and - make some imports absolute as required by PEP-8 + Reviewed by Sam Weinig. - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/net/irc/ircbot.py: - * Scripts/webkitpy/common/system/logutils.py: - * Scripts/webkitpy/common/system/logutils_unittest.py: - * Scripts/webkitpy/layout_tests/deduplicate_tests.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/mac.py: Remove some unused imports - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/update_webgl_conformance_tests.py: - * Scripts/webkitpy/tool/bot/irc_command.py: - * Scripts/webkitpy/tool/bot/sheriffircbot.py: - * Scripts/webkitpy/tool/commands/download.py: - * Scripts/webkitpy/tool/commands/prettydiff.py: - * Scripts/webkitpy/tool/commands/queries.py: - * Scripts/webkitpy/tool/commands/roll.py: - * Scripts/webkitpy/tool/commands/stepsequence.py: - * Scripts/webkitpy/tool/commands/upload.py: - * Scripts/webkitpy/tool/main.py: + * Scripts/old-run-webkit-tests: + (testCrashedOrTimedOut): Don't kill WebKitTestRunner when the web process crashes. It will + kill itself. On Windows, this will cause us to wait until the crash log has been saved. On + Mac, it should have no effect. Capture saved crash logs for web process crashes, too. + (captureSavedCrashLog): Added $webProcessCrashed argument. On Mac, look for + WebProces_*.crash files when the web process crashes. -2011-02-07 James Robinson + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::initialize): Added an initializationUserData argument. Updated for + initializePlatformDefaults -> platformInitialize rename. Pass the initializationUserData + along to platformInitialize. - Reviewed by Adam Barth. + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: See above. - Teach do-webcore-rename about the WebKit move to Source/ - https://bugs.webkit.org/show_bug.cgi?id=53967 + * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: + (WKBundleInitialize): Pass along the initializationUserData to the InjectedBundle. - * Scripts/do-webcore-rename: + * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: + (WTR::InjectedBundle::platformInitialize): + * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp: + (WTR::InjectedBundle::platformInitialize): + Updated function signature. -2011-02-07 Maciej Stachowiak + * WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: + (WTR::exceptionFilter): Added. Tells the UI process we're crashing by signaling the + webProcessCrashingEvent, then lets the crash continue as normal. - Reviewed by Dan Bernstein. + (WTR::InjectedBundle::platformInitialize): Hook up exceptionFilter. Retrieve the name of the + event we should use to tell the UI process we're crashing from the initializationUserData, + and get a handle to that event. - Add resource load client for injected bundle and move willSendRequest there - https://bugs.webkit.org/show_bug.cgi?id=53972 + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::TestController): Initialize new members. + (WTR::TestController::processDidCrash): Removed unnecessary WKPageRef argument. Changed to + only print the "#CRASHED - WebProcess" message once, since this can be called more than once + when a crash log is being saved on Windows. Exit right away if specified. (This is the + default.) - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (didCreatePage): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::didInitiateLoadForResource): - (WTR::InjectedBundlePage::didReceiveResponseForResource): - (WTR::InjectedBundlePage::didReceiveContentLengthForResource): - (WTR::InjectedBundlePage::didFinishLoadForResource): - (WTR::InjectedBundlePage::didFailLoadForResource): - (WTR::InjectedBundlePage::willSendRequestForFrame): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + * WebKitTestRunner/TestController.h: Added new members. -2011-02-07 Adam Barth + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::platformInitialize): Set up the event the web process will use to tell + us it's crashing. + (WTR::TestController::platformRunUntil): Pass MWMO_INPUTAVAILABLE to + ::MsgWaitForMultipleObjectsEx so we'll process messages that have already been seen by + ::PeekMessage. (This is unrelated to the bug fix.) Notice when the webProcessCrashingEvent + has been signaled. When this happens, print the "#CRASHED - WebProcess" message right away + so the test harness will know the web process has crashed and not try to kill us, then wait + for the web process to finish crashing so a crash log will have time to be saved. + (WTR::toWK): Simple hepler function. + (WTR::TestController::platformInitializeContext): Pass along the name of the event the web + process should use to tell us it is crashing in the context's initialization user data. - Add Leopard Debug back to the core builders. +2011-03-01 Dimitri Glazkov - * Scripts/webkitpy/common/net/buildbot/buildbot.py: - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + Reviewed by Tony Gentilcore. -2011-02-07 Adam Klein + Move the checks to exclude Python/Perl tests for Chromium Win build to the right place. + https://bugs.webkit.org/show_bug.cgi?id=55476 - Reviewed by Jian Li. + Chromium Win uses BuildAndTestFactory, not TestFactory. - [chromium] Remove deprecated method WebNotification::dir - https://bugs.webkit.org/show_bug.cgi?id=53735 + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved to the right place. - * DumpRenderTree/chromium/NotificationPresenter.cpp: - (NotificationPresenter::show): +2011-03-01 Adam Roben -2011-02-07 Adam Barth + Test that the WebKit2 responsiveness timer doesn't fire too early - Reviewed by Eric Seidel. + Test for RunLoop::Timer fires 1000x too + early on Windows - Remove Leopard Debug as a core builder - https://bugs.webkit.org/show_bug.cgi?id=53971 + Reviewed by Anders Carlsson. - The Leopard Debug builder has been failing to compile for several days. - My understanding is that folks are working on fixing the build, but for - the time being we should probably remove it from the list of core - builders so that the core waterfall can be green. We can certainly add - it back once the build is fixed. + * TestWebKitAPI/PlatformUtilities.h: Added sleep(). - Also, I've removed the Tiger builders because those no longer appear to - be attached to the buildbot master. + * TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp: Added. + (TestWebKitAPI::didReceiveMessageFromInjectedBundle): + (TestWebKitAPI::didFinishLoadForFrame): + (TestWebKitAPI::processDidBecomeUnresponsive): + (TestWebKitAPI::setInjectedBundleClient): + (TestWebKitAPI::setPageLoaderClient): + Simple helper functions. + + (TestWebKitAPI::TEST): Load an HTML file to make sure the web process is initialized. Then + tell the web process to pause and press the spacebar key. The spacebar keypress should cause + the responsiveness timer to start, but the web process should unpause before it has a chance + to fire. Run until the web process has unpaused, and assert that the timer didn't fire. + + * TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp: Added. + (TestWebKitAPI::ResponsivenessTimerDoesntFireEarlyTest::ResponsivenessTimerDoesntFireEarlyTest): + Call up to the base class. + (TestWebKitAPI::ResponsivenessTimerDoesntFireEarlyTest::didReceiveMessage): When asked to + pause, sleep for 0.5 seconds, then send back a message saying we paused. - * Scripts/webkitpy/common/net/buildbot/buildbot.py: - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + * TestWebKitAPI/mac/PlatformUtilitiesMac.mm: + (TestWebKitAPI::Util::sleep): Added. Calls through to usleep. + * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: + (TestWebKitAPI::Util::sleep): Added. Calls through to ::Sleep. -2011-02-01 Ojan Vafai + * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj: + Added new files. - Reviewed by Adam Roben. +2011-03-01 Andras Becsi - include svn revisions in git diffs for the code review tool to use - https://bugs.webkit.org/show_bug.cgi?id=53569 + Reviewed by Csaba Osztrogonác. - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: + [Qt] Clean up the project files and move common options to WebKit.pri. -2011-02-03 MORITA Hajime + * WebKitTestRunner/qt/WebKitTestRunner.pro: Deduplicate. - Reviewed by Darin Fisher. - [Chromium] Should implement EditorClientImpl::requestCheckingOfString() - https://bugs.webkit.org/show_bug.cgi?id=51013 +2011-03-01 Adam Roben - Gave DRT implementation for requestTextCheck(). + Skip another multiprocessing test on Windows - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::setAsynchronousSpellCheckingEnabled): Implemented. - * DumpRenderTree/chromium/WebViewHost.cpp: - (invokeFinishLastTextCheck): Added. - (WebViewHost::requestTextCheck): Added. - (WebViewHost::finishLastTextCheck): Added. - * DumpRenderTree/chromium/WebViewHost.h: + It is sometimes failing (and may be leaving child Python processes around). + tracks the failure. -2011-02-07 Joone Hur + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: + (FuncitonTests.test_get__processes): Skip this test on Windows. - Reviewed by Martin Robinson. +2011-03-01 Ilya Tikhonovsky - [Gtk] Implement layoutTestController.findString - https://bugs.webkit.org/show_bug.cgi?id=50237 + Reviewed by Pavel Feldman. - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::findString): + Web Inspector: reduce inspector tests flakiness. + https://bugs.webkit.org/show_bug.cgi?id=55401 -2011-02-07 Chang Shu + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::runFileTest): + * DumpRenderTree/chromium/WebPreferences.cpp: + (WebPreferences::reset): - Reviewed by Darin Adler. +2011-02-28 Mihai Parparita - We should disable spatial navigation explicitly during the initialization - of DumpRenderTree. - https://bugs.webkit.org/show_bug.cgi?id=53928 + Reviewed by James Robinson. - * DumpRenderTree/mac/DumpRenderTree.mm: - (resetDefaultsToConsistentValues): + NRWT should still upload results when it exits early due to too many failures + https://bugs.webkit.org/show_bug.cgi?id=55432 + + Only keyboard interrupts should prevent results from being uploaded. -2011-02-07 Maciej Stachowiak + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - Not reviewed. +2011-02-28 Alice Liu - Fix WebKitTestRunner build on the SL bot. + Reviewed by Adam Roben and Gavin Barraclough. - * WebKitTestRunner/Configurations/Base.xcconfig: Look for the JSC copy - of ICU headers. + Test for https://bugs.webkit.org/show_bug.cgi?id=54898 + InjectedBundleNodeHandle dies too early in WKBundleHitTestResultGetNodeHandle. -2011-02-07 Csaba Osztrogonác + * TestWebKitAPI/InjectedBundleController.h: + (TestWebKitAPI::InjectedBundleController::bundle): + * TestWebKitAPI/PlatformWebView.h: + * TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp: Added. + (TestWebKitAPI::didFinishLoadForFrame): + (TestWebKitAPI::didReceiveMessageFromInjectedBundle): + (TestWebKitAPI::setPageLoaderClient): + (TestWebKitAPI::TEST): + * TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp: Added. + (TestWebKitAPI::HitTestResultNodeHandleTest::HitTestResultNodeHandleTest): + (TestWebKitAPI::HitTestResultNodeHandleTest::getContextMenuFromDefaultMenu): + (TestWebKitAPI::HitTestResultNodeHandleTest::didCreatePage): + * TestWebKitAPI/mac/PlatformWebViewMac.mm: + (TestWebKitAPI::PlatformWebView::simulateRightClick): + * TestWebKitAPI/win/PlatformWebViewWin.cpp: + (TestWebKitAPI::PlatformWebView::simulateRightClick): + + Added files to: + * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj: - Unreviewed. +2011-02-28 Adam Roben - [Qt][WK2] Buildfix after r77794. + Start running InjectedBundle API tests on Windows - WebKitTestRunner does not block remote resources or complain about them - https://bugs.webkit.org/show_bug.cgi?id=42139 - + A new project, TestWebKitAPIInjectedBundle, builds the injected bundle DLL. - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: Add missing includepaths. + Fixes run-api-tests doesn't run injected bundle tests on Windows -2011-02-07 Maciej Stachowiak + Reviewed by Darin Adler. - Not reviewed. + * TestWebKitAPI/Configurations/TestWebKitAPIDebug.vsprops: Added. + * TestWebKitAPI/Configurations/TestWebKitAPIDebugAll.vsprops: Added. + * TestWebKitAPI/Configurations/TestWebKitAPIDebugCairoCFLite.vsprops: Added. + * TestWebKitAPI/Configurations/TestWebKitAPIRelease.vsprops: Added. + * TestWebKitAPI/Configurations/TestWebKitAPIReleaseCairoCFLite.vsprops: Added. + These are just extracted from TestWebKitAPI.vcproj. - More bot appeasement. + * TestWebKitAPI/Configurations/TestWebKitAPIInjectedBundleCommon.vsprops: Added. Just sets + up the DLL's filename. - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: Fixed DLL name. + (TestWebKitAPI::Util::createInjectedBundlePath): Changed to use kCFAllocatorNull instead of + 0 (== kCFAllocatorDefault) so that CF won't try to deallocate our C string. -2011-02-07 Maciej Stachowiak + * TestWebKitAPI/win/TestWebKitAPI.sln: Added TestWebKitAPIInjectedBundle. Removed the bogus + "all" configuration. - Not reviewed. + * TestWebKitAPI/win/TestWebKitAPI.vcproj: Changed to use the new .vsprops files. Added + injected bundle tests. Let VS resort things. - Remove accidental references to directories on my laptop. + * TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj: Copied from Tools/TestWebKitAPI/win/TestWebKitAPI.vcproj. - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: +2011-02-28 Adam Roben -2011-02-07 Maciej Stachowiak + Add a test for the paint rect passed via WM_PAINT to windowless plugins - Reviewed by Antti Koivisto. + Test for REGRESSION (r79040): WebKit2: + Large portions of pages with plugins paint black - WebKitTestRunner does not block remote resources or complain about them - https://bugs.webkit.org/show_bug.cgi?id=42139 - + Reviewed by Anders Carlsson. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::willSendRequestForFrame): Implement the required - checks (using KURL, to avoid need to invent a whole URL API). - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Link WebCore - directly to get at KURL symbols. + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: + (PluginTest::NPP_HandleEvent): + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: + Added NPP_HandleEvent. Just returns 0 at this level. -2011-02-06 Maciej Stachowiak + * DumpRenderTree/TestNetscapePlugIn/Tests/win/WindowlessPaintRectCoordinates.cpp: Added. + (WindowlessPaintRectCoordinates::WindowlessPaintRectCoordinates): Call up to the base class. + (WindowlessPaintRectCoordinates::NPP_New): Mark ourselves as windowless. + (WindowlessPaintRectCoordinates::NPP_HandleEvent): Check that the paint rect passed via + WM_PAINT has the expected coordinates. - Reviewed by Daniel Bates. + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_HandleEvent): Give the PluginTest a chance to handle the event before doing anything + else. - Add WebKit2 bot to list of expected builders in Python regression test results. - https://bugs.webkit.org/show_bug.cgi?id=53905 + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: Added new file, let VS + resort things. - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didFinishLoadForFrame): Added a call to WKBundlePageForceRepaint. + This is roughly equivalent to the call to -[WebView displayIfNeeded] in -[FrameLoadDelegate + webView:didFinishLoadForFrame:] in DumpRenderTree. -2011-02-06 Maciej Stachowiak + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::PlatformWebView::PlatformWebView): Tell the WKView it's in a window so that plugins + can start running. - Reviewed by Ryosuke Niwa. +2011-02-28 Adam Roben - Update test expectations for new core builder - https://bugs.webkit.org/show_bug.cgi?id=53904 + Tell MiniBrowser's WKViews that they're in a window - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + Fixes Plugins don't work in MiniBrowser on Windows -2011-02-06 Maciej Stachowiak + Reviewed by Anders Carlsson. - Reviewed by David Levin. + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): Call WKViewSetIsInWindow after creating the view. - Add WebKit2 test bot to core builders - https://bugs.webkit.org/show_bug.cgi?id=53901 +2011-02-28 Alexis Menard - * Scripts/webkitpy/common/net/buildbot/buildbot.py: + Reviewed by Csaba Osztrogonác. -2011-02-06 Ryosuke Niwa + The new QML tests require QML_IMPORT_PATH variable to be set in order to + load the proper plugin. - Another unreviewed Chromium build fix. + * Scripts/run-qtwebkit-tests: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::pathToLocalResource): +2011-02-28 Joone Hur -2011-02-06 Ryosuke Niwa + Unreviewed, fix spelling mistake. - Unreviewed Chromium build fix. + hardware-accelated => hardware-accelerated. - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::pathToLocalResource): + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: -2011-02-06 Ryosuke Niwa +2011-02-28 Kristian Amlie - Reviewed by Darin Adler. + Reviewed by Andreas Kling. - OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h - https://bugs.webkit.org/show_bug.cgi?id=52867 + Made sure that the build-webkit --qmake argument is always respected. - * DumpRenderTree/chromium/ImageDiff.cpp: - (Image::craeteFromStdin): Call adoptArrayPtr. + Previously, it would be respected during the build, but not during + the early feature detection. The build would also fail if qmake was + not in your path, even if you specified --qmake with a valid qmake + binary. -2011-02-06 James Kozianski + [Qt] WebKit patches required to work with a modularized version of Qt + https://bugs.webkit.org/show_bug.cgi?id=53916 - Reviewed by Ojan Vafai. + * Scripts/build-webkit: + * Scripts/webkitdirs.pm: - Add classes for representing test outputs. - https://bugs.webkit.org/show_bug.cgi?id=52136 +2011-02-27 Ojan Vafai - These classes will make it easier to write scripts that deal with test - outputs such as rebaselining and deduping scripts. The intent is that - eventually we will be have buildbot return TestOutputs for a - particular build which can be compared with TestOutputs derived from a - local LayoutTests directory. + Fix failing tests from http://trac.webkit.org/changeset/79837. - * Scripts/webkitpy/common/net/testoutput.py: Added. - * Scripts/webkitpy/common/net/testoutput_unittest.py: Added. - * Scripts/webkitpy/common/net/testoutputset.py: Added. - * Scripts/webkitpy/common/net/testoutputset_unittest.py: Added. - * Scripts/webkitpy/common/system/zip_mock.py: Added. + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + This was just a mistake that would break if someone tried printing with this configuration. + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + Method signature changed. Didn't notice that this method was being calling in a unittest. -2011-02-06 Robert Hogan +2011-02-24 Hayato Ito - Reviewed by Andreas Kling. + Reviewed by Eric Seidel. - [Qt] Clear page's groupName even when not in DRT - https://bugs.webkit.org/show_bug.cgi?id=53874 + [NRWT] Remove test_types/* classes. - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::windowCloseRequested): + This is the last patch in the series of efforts which tried to remove test_types classes. + A single_test_runner module will take over responsibilities of test_type classes. -2011-02-06 Patrick Gansterer + From this patch, we won't display statistics per test_type even if a '--verbose' option is given. - Reviewed by Andreas Kling. + https://bugs.webkit.org/show_bug.cgi?id=55123 - [CMake] Add dependencies for Visual Studio projects - https://bugs.webkit.org/show_bug.cgi?id=53773 + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + * Scripts/webkitpy/layout_tests/layout_package/test_results.py: + * Scripts/webkitpy/layout_tests/layout_package/test_results_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py: + * Scripts/webkitpy/layout_tests/test_types/__init__.py: Removed. + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: Removed. + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: Removed. + * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: Removed. + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: Removed. - Add a WebKit dependecy to WinCELauncher, so CMake can - generate the correct build order for the solution. +2011-02-25 Ojan Vafai - * CMakeListsWinCE.txt: + Reviewed by Tony Chang. -2011-02-06 Andreas Kling + Change results.json format to the one used by unexpected_results.json + https://bugs.webkit.org/show_bug.cgi?id=52267 - Reviewed by Antonio Gomes. + Also add runtimes in milliseconds to the JSON and make the output format more compact. + Named the file full_results.json to avoid conflicting with the results.json + file the test-results server currently serves up. - [Qt] MiniBrowser: Clean up handling of titleChanged() signal - https://bugs.webkit.org/show_bug.cgi?id=53869 + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/result_summary.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * MiniBrowser/qt/BrowserView.cpp: - (BrowserView::BrowserView): Remove unnecessary titleChanged() handling. - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): Connect titleChanged() directly to setWindowTitle(). - * MiniBrowser/qt/BrowserWindow.h: +2011-02-27 Adam Roben -2011-02-06 Maciej Stachowiak + Followup fix to r79827 - Reviewed by Dan Bernstein. + * DumpRenderTree/win/UIDelegate.cpp: + (UIDelegate::webViewAddMessageToConsole): Replaced call to urlSuitableForTestResult with + lastPathComponent. This matches what we did here before r79827, and matches Mac. - WebKitTestRunner needs layoutTestController.setWillSendRequestReturnsNull - https://bugs.webkit.org/show_bug.cgi?id=42690 - +2011-02-27 Dan Bernstein - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::willSendRequestForFrame): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::willSendRequestReturnsNull): - (WTR::LayoutTestController::setWillSendRequestReturnsNull): + Reviewed by Adam Roben. -2011-02-05 Sheriff Bot + Make bisect-builds print a trac link for the regression range + https://bugs.webkit.org/show_bug.cgi?id=55331 - Unreviewed, rolling out r77720. - http://trac.webkit.org/changeset/77720 - https://bugs.webkit.org/show_bug.cgi?id=53854 + * Scripts/bisect-builds: - "Broke nrwt on Chromium win." (Requested by dglazkov|away on - #webkit). +2011-02-27 Adam Roben - * Scripts/webkitpy/common/system/executive.py: + Use iswalpha instead of isalpha when dealing with wchar_ts in EditingDelegate -2011-02-05 Sheriff Bot + Fixes Crash beneath + EditingDelegate::checkSpellingOfString when running fast/forms/input-text-maxlength.html or + fast/forms/input-text-paste-maxlength.html on Windows with full page heap enabled - Unreviewed, rolling out r77725. - http://trac.webkit.org/changeset/77725 - https://bugs.webkit.org/show_bug.cgi?id=53844 + Reviewed by Anders Carlsson. - It broke Qt minimal build (Requested by Ossy_ on #webkit). + * DumpRenderTree/win/EditingDelegate.cpp: + (indexOfFirstWordCharacter): + (wordLength): + Use iswalpha instead of isalpha, since TCHAR is really just wchar_t. - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - * QtTestBrowser/launcherwindow.h: - (WindowOptions::WindowOptions): - * QtTestBrowser/main.cpp: - (LauncherApplication::handleUserOptions): +2011-02-27 Adam Roben -2011-02-04 Martin Robinson + Make ResourceLoadDelegate print URLs relative to the main resource on Windows - Reviewed by Adam Barth. + This matches Mac. (In fact, the code was ported from Mac!) - [GTK] plugins/plugin-document-back-forward.html fails - https://bugs.webkit.org/show_bug.cgi?id=53833 + Fixes URLs printed by ResourceLoadDelegate on Windows don't + match Mac - Add the new "alert on load" functionality for the Unix version of the - test plugin. This functionality was originally introduced in r77706. + Reviewed by Anders Carlsson. - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_new_instance): Add new plugin fuctionality. + * DumpRenderTree/win/DumpRenderTree.cpp: + (substringFromIndex): Added. Emulates -[NSString substringFromIndex:]. + (urlSuitableForTestResult): Ported code from -[NSURL(DRTExtras) + _drt_descriptionSuitableForTestResult]. + (cfStringRefToWString): Moved here from LayoutTestControllerWin.cpp. -2011-02-04 Kundu Suchismita + * DumpRenderTree/win/DumpRenderTreeWin.h: Added declaration of cfStringRefToWString. - Reviewed by Andreas Kling. + * DumpRenderTree/win/LayoutTestControllerWin.cpp: Moved cfStringRefToWString to + DumpRenderTree.cpp. - Local Storage settings can be enable/disable from "Develop" menu - https://bugs.webkit.org/show_bug.cgi?id=52296 +2011-02-27 Adam Roben - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - (LauncherWindow::toggleLocalStorage): - (LauncherWindow::toggleOfflineStorageDatabase): - (LauncherWindow::toggleOfflineWebApplicationCache): - (LauncherWindow::setOfflineStorageDefaultQuota): - * QtTestBrowser/launcherwindow.h: - (WindowOptions::WindowOptions): - * QtTestBrowser/main.cpp: - (LauncherApplication::handleUserOptions): + Change the order of Chang Shu's email addresses so the first one is their Bugzilla username -2011-02-04 Tony Chang + This makes Bugzilla autocompletion work correctly. - Reviewed by Eric Seidel. + * Scripts/webkitpy/common/config/committers.py: - get test-webkitpy running on win32 python - https://bugs.webkit.org/show_bug.cgi?id=53822 +2011-02-27 Patrick Gansterer + + Reviewed by Andreas Kling. - The test harness crashes with a WindowsError because it can't find - 'svn' when using subprocess.Popen. This gets us past the error - so we can see the failing tests on the Chromium Win Release Tests - bot. + [Qt] fast/loader/user-stylesheet-fast-path.html fails + https://bugs.webkit.org/show_bug.cgi?id=50911 - * Scripts/webkitpy/common/system/executive.py: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setUserStyleSheetLocation): + Use QUrl::fromEncoded since the passed string is already encoded. -2011-02-04 Martin Robinson +2011-02-27 Adam Roben - Reviewed by Gustavo Noronha Silva. + Ensure $testResultsDirectory is an absolute path before setting up Windows crash log saving - [GTK] fast/events/pagehide-timeout.html fails - https://bugs.webkit.org/show_bug.cgi?id=53771 + Windows 7 (and maybe Vista?) launches the post-mortem debugger with a working directory that + is different from old-run-webkit-test's. Because of this, the path to the crash log file + (which is relative to $testResultsDirectory) must be an absolute path. See the bug for more + details. - Add knowledge of the document browser cache model the DRT. When resetting - WebKit settings to consistent values between tests, default to the document - browser cache model. + Fixes Crash logs aren't saved on Windows 7 when a relative + --results-directory path is used (like on the test slaves) - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): Reset the cache model to the document browser - cache model between tests. - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setCacheModel): An int value of 2 here corresponds to the - document browser cache model. + Reviewed by Dan Bernstein. -2011-02-04 Adam Barth + * Scripts/old-run-webkit-tests: Moved the call to setUpWindowsCrashLogSaving after we've + made $testResultsDirectory an absolute path. - Reviewed by Eric Seidel. +2011-02-26 Dominic Mazzoni - PluginDocuments don't create widgets for plugins on back/forward - https://bugs.webkit.org/show_bug.cgi?id=53474 + Reviewed by Adam Barth. - Teach the test plugin how to call alert on load. + m_dumpAccessibilityNotifications should be initialized. + https://bugs.webkit.org/show_bug.cgi?id=54874 - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): + * DumpRenderTree/chromium/AccessibilityController.cpp: + (AccessibilityController::AccessibilityController): -2011-02-04 Adam Roben +2011-02-26 Vsevolod Vlasov - Add a test case for encode/decode of FormData/FormDataElement + Reviewed by Pavel Feldman. - If the fix made in r77401 is broken, this new test will crash. + DumpRenderTree should reset frame opener between tests. + https://bugs.webkit.org/show_bug.cgi?id=54874 - Fixes . + Added clearOpener() calls between tests. + Some tests are using window.open() to change current window location. + This changes window.opener property whose nullity is checked before + showing xml viewer. - Reviewed by Sam Weinig. + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetTestController): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetWebViewToConsistentStateBeforeTesting): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + * DumpRenderTree/win/DumpRenderTree.cpp: + (resetWebViewToConsistentStateBeforeTesting): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::reset): - * TestWebKitAPI/Test.h: Moved the bulk of TEST_ASSERT into a new _TEST_ASSERT_HELPER macro. - Added a new TEST_ASSERT_RETURN macro that can be used in functions with a return value. +2011-02-26 Yael Aharon - * TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp: Added. - (TestWebKitAPI::didFinishLoadForFrame): Record that the load is finished. - (TestWebKitAPI::setPageLoaderClient): Hook up the loader client. - (TestWebKitAPI::createSessionStateContainingFormData): Load simple-form.html, submit the - form, an return the session state data. - (TestWebKitAPI::TEST): Create some session state that contains form data from one WKPage, - and restore it into another WKPage. + Reviewed by Andreas Kling. - * TestWebKitAPI/Tests/WebKit2/simple-form.html: Added. + [Qt] Fix the focus in MiniBrowser. + https://bugs.webkit.org/show_bug.cgi?id=55288 - * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - * TestWebKitAPI/win/copy-resources.cmd: - Added new files. + Give focus to the web view when a load starts. -2011-02-04 Adam Roben + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::urlChanged): - Move code to run JavaScript tests into its own files +2011-02-26 Gyuyoung Kim - This will allow other tests to use this mechanism. + Reviewed by Adam Barth. - Fixes SpacebarScrolling should share its JavaScript-fu with the - world + [EFL] Add coding style exceptions for EFL port + https://bugs.webkit.org/show_bug.cgi?id=54733 - Reviewed by Sam Weinig. + The EFL APIs use EFL naming style, which includes both lower-cased and camel-cased, + underscore-sparated values. But, style checking rule have found parameter_name errors + in efl directories so far. - * TestWebKitAPI/JavaScriptTest.cpp: Added. - * TestWebKitAPI/JavaScriptTest.h: Added. - Moved code here... + * Scripts/webkitpy/style/checker.py: Add prameter_name rule's exception and efl directories. - * TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: ...from here. +2011-02-26 David Levin - * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - Added the new files. + Reviewed by Darin Adler. -2011-02-04 Dirk Pranke + check-webkit-style should check for spaces after periods in comments + https://bugs.webkit.org/show_bug.cgi?id=55253 - Reviewed by Mihai Parparita. + * Scripts/webkitpy/style/checkers/cpp.py: Added the check. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests + and fixed the name of one related test. - merge test expectations for chromium, chromium-gpu. The - chromium-gpu port will no longer maintain its own - test expectations file. +2011-02-26 Kenneth Rohde Christiansen - Also add in a graphics_type() call on the port object to - determine what graphics type to use in the test configuration, - and log the configuration as a config setting. + Reviewed by Andreas Kling. - https://bugs.webkit.org/show_bug.cgi?id=53562 + Make it possible to test the targetdensity-dpi support + https://bugs.webkit.org/show_bug.cgi?id=55142 - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + Test the viewport meta tag feature targetdensity-dpi by + adding extra arguments to dumpConfigurationForViewport -2011-02-04 Mikhail Naganov + Add the new arguments to the shared header and all + implementation. - Reviewed by Pavel Feldman. + * DumpRenderTree/LayoutTestController.cpp: + (dumpConfigurationForViewportCallback): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::dumpConfigurationForViewport): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::dumpConfigurationForViewport): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::dumpConfigurationForViewport): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::dumpConfigurationForViewport): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::dumpConfigurationForViewport): + * DumpRenderTree/qt/LayoutTestControllerQt.h: - Web Inspector: fix processing Unicode literals from .js sources in check-inspector-strings. - https://bugs.webkit.org/show_bug.cgi?id=53781 +2011-02-26 Sheriff Bot - * Scripts/check-inspector-strings: + Unreviewed, rolling out r79764. + http://trac.webkit.org/changeset/79764 + https://bugs.webkit.org/show_bug.cgi?id=55295 -2011-02-04 Adam Roben + "broke Chromium builds" (Requested by rniwa on #webkit). - Include the crashing function in the link to a crash log on Mac + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetTestController): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetWebViewToConsistentStateBeforeTesting): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + * DumpRenderTree/win/DumpRenderTree.cpp: + (resetWebViewToConsistentStateBeforeTesting): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::reset): - Fixes Crash log links in results.html should include the - function that crashed on Mac +2011-02-26 Yongjun Zhang Reviewed by David Kilzer. - * Scripts/old-run-webkit-tests: - (crashLocation): Moved all the Windows code inside an if instead of using an early return, - but didn't otherwise change it. Added an if for Mac that parses the crashing function out of - the crash log. - -2011-02-04 Adam Roben + https://bugs.webkit.org/show_bug.cgi?id=48781 - Link to Mac crash logs from results.html + Add a resource load delegate method to query if WebCore should paint the default broken image for failed images. - Fixes run-webkit-tests should link to Mac crash logs in - results.html + Add a new resource load client method (shouldPaintBrokenImage). WebKit client can decide if WebCore + should paint the default broken image when an image fails to load or decode. - Reviewed by David Kilzer. + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (setShouldPaintBrokenImageCallback): + (LayoutTestController::staticFunctions): + (LayoutTestController::setShouldPaintBrokenImage): + * DumpRenderTree/LayoutTestController.h: + (LayoutTestController::shouldPaintBrokenImage): + * DumpRenderTree/mac/ResourceLoadDelegate.mm: + (-[ResourceLoadDelegate webView:shouldPaintBrokenImageForURL:]): - * Scripts/old-run-webkit-tests: - (captureSavedCrashLog): Added a case for Apple's Mac port. We get the crash log out of - ~/Library/Logs/CrashReporter, and wait for ReportCrash to exit before trying to get the log. +2011-02-26 Vsevolod Vlasov -2011-02-03 Maciej Stachowiak + Reviewed by Pavel Feldman. - Reviewed by Dan Bernstein. + DumpRenderTree should reset frame opener between tests. + https://bugs.webkit.org/show_bug.cgi?id=54874 - WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle - https://bugs.webkit.org/show_bug.cgi?id=52897 - + Added clearOpener() calls between tests. + Some tests are using window.open() to change current window location. + This changes window.opener property whose nullity is checked before + showing xml viewer. + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetTestController): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetWebViewToConsistentStateBeforeTesting): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + * DumpRenderTree/win/DumpRenderTree.cpp: + (resetWebViewToConsistentStateBeforeTesting): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::willSendRequestForFrame): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + (WTR::InjectedBundlePage::reset): -2011-02-03 Ivan Krstić +2011-02-25 Lukasz Slachciak - Unreviewed. + Reviewed by Kenneth Rohde Christiansen. - Adding myself to committers.py. + [EFL] Added EWebLauncher command line option to turn on/off frame flattening + https://bugs.webkit.org/show_bug.cgi?id=54809 - * Scripts/webkitpy/common/config/committers.py: + * EWebLauncher/main.c: Handling -f option added. + (on_key_down): + (browserCreate): + (main): -2011-02-03 James Kozianski +2011-02-25 Sheriff Bot - Reviewed by Dimitri Glazkov. + Unreviewed, rolling out r79324. + http://trac.webkit.org/changeset/79324 + https://bugs.webkit.org/show_bug.cgi?id=55260 - Add navigator.registerProtocolHandler behind a flag. - https://bugs.webkit.org/show_bug.cgi?id=52609 + Leopard Debug is once again running out of address space while + linking (Requested by aroben on #webkit). - * Scripts/build-webkit: + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: -2011-02-03 Hayato Ito +2011-02-25 Tony Chang - Reviewed by Eric Seidel. + Reviewed by James Robinson. - [NRWT] Remove TestArgs class, which is wrongly used. + Clean up temp files left by crashing DRTs on chromium-win + https://bugs.webkit.org/show_bug.cgi?id=55182 - https://bugs.webkit.org/show_bug.cgi?id=53063 + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + * BuildSlaveSupport/chromium/remove-crash-logs: Added. - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: +2011-02-25 Adam Roben -2011-02-03 Andrew Wason + Double-check that modifying the registry worked - Reviewed by Kenneth Russell. + On Windows Vista/7 with UAC enabled, regtool will fail to modify the registry, but it will + still return a successful exit code. So we double-check here that the value we tried to + write to the registry was really written. - Change ENABLE_3D_CANVAS to ENABLE_WEBGL - https://bugs.webkit.org/show_bug.cgi?id=53714 + Fixes old-run-webkit-tests falsely claims to be saving crash + logs on Windows Vista/7 - * Scripts/build-webkit: change --3d-canvas build option - to set ENABLE_WEBGL + Reviewed by Darin Adler. -2011-02-03 Hayato Ito + * Scripts/old-run-webkit-tests: + (writeRegistryString): After trying to write the string value, check that it was really + written. - Reviewed by Tony Chang. +2011-02-25 Adam Roben - [NRWT] Introduces Input/Output class used by base.Driver into port/base.py and - move _run_single_test() and _process_output() functions from - dump_render_tree_thread.py to a single_test_runner.py as an individual module. + Set the 32-bit post-mortem debugger on 64-bit OSes - This is clean up and acts as a preparation for elimination of test_types/* - classes. These classes will move to the single_test_runner module introduced - in this patch. + The post-mortem debugger is controlled by some registry values in + HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug. On 64-bit OSes, you can either + set the values in that key, which will be used for 64-bit apps, or in the equivalent key + under Wow6432Node, which will be used for 32-bit apps. Since DumpRenderTree and + WebKitTestRunner are 32-bit, we want to use the latter location. - https://bugs.webkit.org/show_bug.cgi?id=53004 + Fixes old-run-webkit-tests sets the post-mortem debugger for + 64-bit apps, but should set it for 32-bit apps instead - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: Added. - * Scripts/webkitpy/layout_tests/layout_package/test_input.py: - * Scripts/webkitpy/layout_tests/layout_package/test_output.py: Removed. - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/dryrun.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + Reviewed by Darin Adler. -2011-02-03 Dirk Pranke + * Scripts/old-run-webkit-tests: + (readRegistryString): + (writeRegistryString): + Pass --wow32 to regtool so it will get/set values beneath Wow6432Node, which is where + Windows looks for the post-mortem debugger values when a 32-bit app crashes on a 64-bit OS. + Passing --wow32 on a 32-bit OS will not have any effect. - Unreviewed, build fix. +2011-02-25 Adam Roben - Delete a line that was accidentally missed in r77586; without it - there is still a race between the two threads. + Clean up code to set up crash log saving on Windows - https://bugs.webkit.org/show_bug.cgi?id=51572 + Fixes old-run-webkit-test's Windows registry code is ugly - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + Reviewed by David Kilzer. -2011-02-03 Dirk Pranke + * Scripts/old-run-webkit-tests: + (readRegistryString): + (writeRegistryString): + Moved code to read strings from and write strings to the registry here... - Reviewed by Tony Chang. + (setUpWindowsCrashLogSaving): ...from here. - nrwt: handle "broken pipe" notifications from DRT more cleanly. +2011-02-25 Adam Roben - https://bugs.webkit.org/show_bug.cgi?id=52927 + Work around Cygwin's crash-suppression behavior - * Scripts/webkitpy/layout_tests/port/server_process.py: - * Scripts/webkitpy/layout_tests/port/server_process_unittest.py: + Cygwin calls ::SetErrorMode(SEM_FAILCRITICALERRORS), which any processes it launches will + inherit. This is bad for testing/debugging, as it causes the post-mortem debugger not to be + invoked. (Cygwin does this because it makes crashes more UNIX-y.) We reset the error mode + when our test apps launch to work around Cygwin's behavior. -2011-02-03 Dirk Pranke + Fixes Test apps crash silently (without invoking post-mortem + debugger) when launched from Cygwin 1.7 - Reviewed by Kenneth Russell. + Reviewed by Darin Adler. - Update, resubmit change to bug 51572. I think the race that was - fixed in r76703 caused the hang that caused us to roll this - patch out before, so I'd like to try again. + * DumpRenderTree/win/DumpRenderTree.cpp: + (main): + * TestWebKitAPI/win/main.cpp: + (main): + * WebKitAPITest/main.cpp: + (main): + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::platformInitialize): + Call ::SetErrorMode(0) to undo Cygwin's folly. - https://bugs.webkit.org/show_bug.cgi?id=51572 +2011-02-24 Jocelyn Turcotte - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - -2011-02-03 Daniel Cheng + Reviewed by Andreas Kling. - Unreviewed. + [Qt] Revert the support for QNAM affined to a different thread. + https://bugs.webkit.org/show_bug.cgi?id=55149 - Adding myself to committers.py. + Qt 4.8 will have QNAM use its own thread internally by default, + no need to keep this complexity in WebKit. - * Scripts/webkitpy/common/config/committers.py: + This mainly reverts: + http://trac.webkit.org/changeset/73710 + http://trac.webkit.org/changeset/73712 -2011-02-03 Adam Roben + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::~LauncherWindow): + (LauncherWindow::initializeView): + (LauncherWindow::createChrome): + * QtTestBrowser/launcherwindow.h: + (WindowOptions::WindowOptions): + * QtTestBrowser/webpage.cpp: + (WebPage::WebPage): + * QtTestBrowser/webpage.h: - Include the crashing function in the link to a crash log +2011-02-24 Adam Barth - Fixes Crash log links in results.html should include the - function that crashed + Reviewed by Eric Seidel. - Reviewed by David Kilzer. + Add a script for creating gypi files + https://bugs.webkit.org/show_bug.cgi?id=55113 - * Scripts/old-run-webkit-tests: - (crashLocation): Added. Returns the location of the crash. - (linksForErrorTest): Include the crash location in the link text for the crash log, if one - could be determined. + This is a trivial script to create gypi files from the source code in + the current directory. -2011-02-03 Dirk Pranke + * Scripts/make-gypi: Added. - Unreviewed, build fix. +2011-02-24 Sheriff Bot - Actually make the changes suggested by Mihai in his review - of bug 53720 :( + Unreviewed, rolling out r79628. + http://trac.webkit.org/changeset/79628 + https://bugs.webkit.org/show_bug.cgi?id=55195 - https://bugs.webkit.org/show_bug.cgi?id=53720 + "broke chromium win tests" (Requested by dpranke on #webkit). - * Scripts/webkitpy/layout_tests/port/test_files.py: - * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: -2011-02-03 Dirk Pranke +2011-02-24 Dirk Pranke Reviewed by Mihai Parparita. - new-run-webkit-tests: Fix bug introduced in r77434 that was - causing us to run the canvas GPU tests on the Mac GPU port. This - bug revealed that we were not setting the port.name() field - properly in many cases, so I've cleaned up all of that code, and - removed a few comments about "version-specific" GPU ports that - don't exist and just confused things. - - Testing also revealed that port.abspath_for_test() wasn't - normalizing paths on Windows properly, so I fixed that as well. - - https://bugs.webkit.org/show_bug.cgi?id=53719 + rebaseline-chromium-webkit-tests can't handle GPU variants + https://bugs.webkit.org/show_bug.cgi?id=55002 - * Scripts/webkitpy/layout_tests/port/base.py: * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: -2011-02-03 Dirk Pranke +2011-02-24 Dirk Pranke Reviewed by Mihai Parparita. - new-run-webkit-tests: fix normalization of paths on windows when gathering files - - r77434 introduced a bug that was causing the test expectations - for the GPU ports to not be treated properly. It turns out that - when we gathered the list of test files on Windows, we would - return paths of the form "c:\LayoutTests/fast/canvas", and the - mixture of backslashes and forward slashes was confusing things. - - This patch normalizes all of the filenames returned from - test_files.find(), and adds better tests for this (fixing a - couple of other bugs found in the meantime). - - https://bugs.webkit.org/show_bug.cgi?id=53720 - - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/port/test_files.py: - * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: - -2011-02-03 Adam Roben - - Add links to Windows crash logs in results.html - - Fixes run-webkit-tests should link to Windows crash logs in - results.html - - Reviewed by David Kilzer. - - * Scripts/old-run-webkit-tests: - (top level): Added $crashLogTag and $windowsCrashLogFilePrefix (which came from - createDebuggerCommandFile). - (testCrashedOrTimedOut): If the test crashed, capture any saved crash log after the dump - tool has exited. - (captureSavedCrashLog): Added. Finds the crash log for the test that just crashed and moves - it into the test results directory tree. Only implemented for Cygwin currently. - (findNewestFileMatchingGlob): Added. Does what it says. - (htmlForResultsSection): Only link to files that exist. - (linksForErrorTest): Add a link to the crash log. - (deleteExpectedAndActualResults): Delete any old crash log for this test. - (createDebuggerCommandFile): Use the new $windowsCrashLogFilePrefix constant instead of - hardcoding it here. - -2011-02-03 Adam Roben - - Tell the debugger the path to the WebKit source tree when saving a crash log - - This allows the debugger to include the crashing line of code in the log. - - Fixes Crash logs from buildslaves don't show the crashing line - of code - - Reviewed by Sam Weinig. - - * Scripts/old-run-webkit-tests: - (createDebuggerCommandFile): Added. Saves commands that we'd like the debugger to run to a - file and returns the path to that file. The commands we pass came from - setUpWindowsCrashLogSaving, but I've added a .srcpath command to tell the debugger where the - WebKit source code lives. - (setUpWindowsCrashLogSaving): Instead of specifying the commands directly on the command - line using -c, save them to a file and specify the path to that file using -cf. This works - around what is presumably a bug in Windows's command line parsing, where having multiple - quoted paths in the debugger commands causes the post-mortem debugger not to be invoked at - all. Also pulled the options we pass to the debugger out into a list that is then join()ed - together to make them easier to modify in the future. - -2011-02-02 Sam Weinig - - Reviewed by Anders Carlsson. - - Add notification of the end of a rubber band. - - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::createOtherPage): - (WTR::TestController::initialize): - Stub out the new WKUIClient function. + nrwt: log command used to start web server to --verbose -2011-02-03 Gabor Rapcsanyi + https://bugs.webkit.org/show_bug.cgi?id=55188 - Unreviewed. - - Adding myself to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2011-02-03 Balazs Kelemen - - Reviewed by Csaba Osztrogonác. - - [Qt][WK2] MiniBrowser's window size should be 800x600 - https://bugs.webkit.org/show_bug.cgi?id=53670 - - Make layout test failure debugging easier. - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - -2011-02-02 Andy Estes - - Reviewed by Mark Rowe. - - 'update-webkit' should handle OpenSource and Internal using different - VCSs. - - * Scripts/update-webkit: Re-check the VCS type when updating Apple's - Internal directory. + * Scripts/webkitpy/layout_tests/port/apache_http_server.py: + * Scripts/webkitpy/layout_tests/port/http_server.py: -2011-02-02 Dirk Pranke +2011-02-24 Victoria Kirst Reviewed by Mihai Parparita. - new-run-webkit-tests: hardcode the directories to scan for tests - for GPU bots instead of SKIPping them. See bug 53562 for some - context, but we will now hard-code the list of directories to - use by default instead of skipping over directories in the - expectations file. We do this so that we will be able to merge - the expectations files without getting conflicting SKIP - directives. Note that this change will reduce the # of tests - being run on the Mac GPU bots, because we're accidentally - including some today. - - https://bugs.webkit.org/show_bug.cgi?id=53631 + [chromium] Move media-file.js and video-test.js back to media/ for UILayoutTests + https://bugs.webkit.org/show_bug.cgi?id=55089 - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: - -2011-02-02 Sam Weinig - - Reviewed by Beth Dakin. - - Add ChromeClient function to paint custom overhang areas. - https://bugs.webkit.org/show_bug.cgi?id=53639 - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - Stub out new callback. - -2011-02-02 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: support chromium code paths in mock_drt - - https://bugs.webkit.org/show_bug.cgi?id=53471 - - * Scripts/webkitpy/layout_tests/port/mock_drt.py: - * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: - -2011-02-02 Adam Klein - - Reviewed by Tony Chang. - - Update new-run-webkit-tests --chromium to put output under Source/... - https://bugs.webkit.org/show_bug.cgi?id=53612 - - * BuildSlaveSupport/test-result-archive: - * Scripts/webkitpy/layout_tests/port/chromium.py: - -2011-01-28 Tony Chang - - Reviewed by Eric Seidel. - - [chromium] remove --use-test-shell from NRWT - https://bugs.webkit.org/show_bug.cgi?id=53346 - - I've already started removing some of the bindings like eventSender so - this already doesn't work isn't useful. Also updated some comments to - refer to DRT instead of test_shell. - - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium_win.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2011-02-02 Steve Lacey - - Reviewed by Eric Carlson. - - Implement basic media statistics on media elements. - https://bugs.webkit.org/show_bug.cgi?id=53322 - - * Scripts/build-webkit: + This adds an alias into the media/ directory so that http/tests/media + tests can access the media resources when running in an httpd process. -2011-02-02 Kevin Ollivier - - [wx] Build fixes for wxWebKit. - - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::setSerializeHTTPLoads): - * wx/browser/wscript: - * wx/build/build_utils.py: - * wx/build/settings.py: + * Scripts/webkitperl/httpd.pm: + * Scripts/webkitpy/layout_tests/port/apache_http_server.py: + * Scripts/webkitpy/layout_tests/port/http_server.py: -2011-02-01 Dirk Pranke +2011-02-24 Dirk Pranke Reviewed by Mihai Parparita. - new-run-webkit-tests: stop skipping so many tests - - r77163 introduced a regression where we weren't resetting test - expectations properly and were skipping too many tests as a - result. This patch fixes that and adds a test for it. - - https://bugs.webkit.org/show_bug.cgi?id=53551 + nrwt: enable multiple processes by default on Chromium Win. - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + https://bugs.webkit.org/show_bug.cgi?id=55163 -2011-02-01 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: add first stub of test_runner2. This - will add support for the 'inline', 'threads', and 'processes' - flags to --worker-model, but for now the implementatios just - fall back on the old ones. - - https://bugs.webkit.org/show_bug.cgi?id=53157 - - * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2011-02-01 Mihai Parparita - - Reviewed by James Robinson. - - [Chromium] run-chromium-webkit-unit-tests looks for binaries in the wrong place - https://bugs.webkit.org/show_bug.cgi?id=53522 - - * Scripts/run-chromium-webkit-unit-tests: - -2011-02-01 Adam Barth - - Reviewed by Mihai Parparita. + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: - Using Control-C to cancel webkit-patch or other python tools causes - unpleasant traceback console spew - https://bugs.webkit.org/show_bug.cgi?id=53462 +2011-02-24 Sam Weinig - Catch the exception and don't print the stack trace. + Attempt to fix Qt. - * Scripts/webkit-patch: + * WebKitTestRunner/TestInvocation.cpp: -2011-02-01 Scott Cameron +2011-02-24 James Robinson - Reviewed by Daniel Bates. + Unreviewed, rolling out r79598. + http://trac.webkit.org/changeset/79598 + https://bugs.webkit.org/show_bug.cgi?id=55089 - Use Windows format for MinGW HTTPD path. - https://bugs.webkit.org/show_bug.cgi?id=53503 + Appears to be causing trouble with httpd on windows * Scripts/webkitperl/httpd.pm: - - Use single-quotes around MySys value for $httpdPath in getHTTPDPath() - so that we don't have to escape the space characters in the path. Also, - changed path to Windows-style path and removed FIXME comment. - -2011-02-01 Balazs Kelemen - - Reviewed by Andreas Kling. - - [Qt][WK2] Add a way to use shared process model in MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=53090 - - * MiniBrowser/qt/BrowserView.cpp: - (BrowserView::BrowserView): Removed the m_context member. - From now the context is guaranteed to be non-null and we - don't need to store that in the object. - * MiniBrowser/qt/BrowserView.h: - * MiniBrowser/qt/BrowserWindow.cpp: - Added static bool to determine that new windows need to be - created with their own context or not. Use the same context - and web process by default to be inilne with the other ports. - (BrowserWindow::BrowserWindow): - (BrowserWindow::newWindow): - * MiniBrowser/qt/BrowserWindow.h: - * MiniBrowser/qt/main.cpp: - (main): Added command line switch to be able to use the - non-shared process model. Simplify the handling of the command line - switches a little bit. - -2011-02-01 Zoltan Horvath - - Reviewed by Andreas Kling. - - [Qt] Add Window menu and Toggle FullScreen action to MiniBrowser. - https://bugs.webkit.org/show_bug.cgi?id=53491 - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::toggleFullScreenMode): - * MiniBrowser/qt/BrowserWindow.h: - -2011-02-01 Zoltan Horvath - - Reviewed by Andreas Kling. - - [Qt] Add Toggle Frame Flattening, Auto Load Images and Disable JavaScript actions to MiniBrowser. - https://bugs.webkit.org/show_bug.cgi?id=53489 - - Add Toggle Frame Flattening action to Develop menu. Add Auto Load Images and Disable JavaScript actions - to Settings menu. - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::toggleFrameFlattening): - (BrowserWindow::toggleDisableJavaScript): - (BrowserWindow::toggleAutoLoadImages): - * MiniBrowser/qt/BrowserWindow.h: - -2011-01-31 Mihai Parparita - - Reviewed by Tony Chang. - - [Chromium] Switch chromium-mac to use ChromiumDriver - https://bugs.webkit.org/show_bug.cgi?id=53461 - - For the sake of consistency with the other Chromium platforms (and so - that chromium-mac picks up special flags like --enable-hardware-gpu), - switch chromium-mac from the WebKitDriver to ChromiumDriver. - - * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/apache_http_server.py: + * Scripts/webkitpy/layout_tests/port/http_server.py: -2011-01-31 Dirk Pranke +2011-02-24 Sam Weinig - Reviewed by Mihai Parparita. + Reviewed by Darin Adler. - The current modifier parsing code in test_expectations is - fragile and hard-coded, so it's not easy to understand the logic - or easily add new types of modifiers (like GPU vs. CPU testing - for graphics tests, or 32-bit vs. 64-bit differences). + Add basic pixel testing support to WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=55161 - This is the first of two patches that will add in more generic - support and then eliminate the GPU-specific test expectations - files for Chromium. + * Scripts/old-run-webkit-tests: + Don't print color space information when using WebKitTestRunner since + we don't need to change the screen. - This patch adds two standalone objects for handling modifiers. The - rules for interpreting modifiers, precedence, and conflicts are - given in the docstring to the ModifierMatcher class, which - returns ModifierMatchResult objects. + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::initialize): + Add call to initializePlatformDefaults. - This patch also adds routines to the Port interface and a - default set of values in the base object, in order to obtain the - values needed on a given test run. These values are then passed - to the expectation parser. This also allows us to clean up the - logic used to lint all of the different configurations in a - single test_expectations.txt file. + (WTR::InjectedBundle::done): + Return a dictionary on completion with both the text output and pixel dump override. - The next patch will merge in the separate GPU expectations file. + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + Add declaration for initializePlatformDefaults. - https://bugs.webkit.org/show_bug.cgi?id=51222 + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): + (WTR::LayoutTestController::dumpAsText): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::shouldDumpPixels): + Make setting dumpAsText override the dump pixels preference. - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/base_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/port_testcase.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Tools/Scripts/webkitpy/style/checkers/test_expectations.py: - * Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py: + * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: Added. + (WTR::InjectedBundle::initializePlatformDefaults): + Set platform defaults matching DumpRenderTree. -2011-01-31 Scott Cameron + * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp: Added. + (WTR::InjectedBundle::initializePlatformDefaults): + * WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Added. + (WTR::InjectedBundle::initializePlatformDefaults): + Add stubs for initializePlatformDefaults. - Reviewed by Daniel Bates. + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::runTest): + (WTR::TestController::runTestingServerLoop): + (WTR::TestController::run): + Parse expected pixel results out of stdin and setup the invocation with it. - update run-webkit-httpd to be able to launch Apache2.2 in a MSYS environment - https://bugs.webkit.org/show_bug.cgi?id=50036 + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::TestInvocation): + Initialize new members. - This will add an Apache2.2 configuration file and modifies scripts to allow - running an httpd server in an MSYS environment. + (WTR::TestInvocation::~TestInvocation): + (WTR::TestInvocation::setIsPixelTest): + (WTR::sizeWebViewForCurrentTest): + (WTR::TestInvocation::invoke): + (WTR::TestInvocation::dump): + (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): + * WebKitTestRunner/TestInvocation.h: + Dump pixels in addition to text by calling dumpPixelsAndCompareWithExpected. - The default Apache2.2 installation path has been preserved and PHP5 modules disabled - in order to allow for simple installation/execution. Simply install the latest - Apache2.2 version with OpenSSL from http://httpd.apache.org/download.cgi#apache22 to - be able to execute run-webkit-httpd. - + * WebKitTestRunner/mac/PlatformWebViewMac.mm: + (WTR::PlatformWebView::PlatformWebView): + Use -[NSColorSpace genericRGBColorSpace] instead of the main screen color space. - * Scripts/run-webkit-httpd: - * Scripts/webkitperl/httpd.pm: + * WebKitTestRunner/mac/TestInvocationMac.mm: Added. + (WTR::createCGContextFromPlatformView): + (WTR::computeMD5HashStringForContext): + (WTR::dumpBitmap): + (WTR::forceRepaintFunction): + (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): + Add mac specific pixel dumping support. Right now, we always pull pixels + from the window server. -2011-01-31 Tony Chang + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: + * WebKitTestRunner/win/InjectedBundle.vcproj: + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + Add new files. - Reviewed by Eric Seidel. +2011-02-24 Chang Shu - mac DRT should report RTL scroll offset relative to top right corner - https://bugs.webkit.org/show_bug.cgi?id=53324 + Reviewed by Kenneth Rohde Christiansen. - * DumpRenderTree/mac/DumpRenderTree.mm: - (dumpFrameScrollPosition): + [Qt] Launch MiniBrowser if the test run is WebKit2. + https://bugs.webkit.org/show_bug.cgi?id=55145 -2011-01-31 Zoltan Horvath + * Scripts/old-run-webkit-tests: + * Scripts/run-launcher: + * Scripts/webkitdirs.pm: - Reviewed by Andreas Kling. +2011-02-24 Victoria Kirst - [Qt] Add Take Screen Shot action to MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=53422 + Reviewed by Mihai Parparita. - Add Take Screen Shot action to MiniBrowser's view menu. + [chromium] Move media-file.js and video-test.js back to media/ for UILayoutTests + https://bugs.webkit.org/show_bug.cgi?id=55089 - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::screenshot): - * MiniBrowser/qt/BrowserWindow.h: + This adds an alias into the media/ directory so that http/tests/media + tests can access the media resources when running in an httpd process. -2011-01-31 Gustavo Noronha Silva + * Scripts/webkitperl/httpd.pm: + * Scripts/webkitpy/layout_tests/port/apache_http_server.py: + * Scripts/webkitpy/layout_tests/port/http_server.py: - Reviewed by Xan Lopez. +2011-02-24 Andrew Wilson - [GTK] REGRESSION: http/tests/media/video-{cookie,referer}.html failing - https://bugs.webkit.org/show_bug.cgi?id=53379 + Unreviewed, rolling out r79570. + http://trac.webkit.org/changeset/79570 + https://bugs.webkit.org/show_bug.cgi?id=54874 - Remove left over #ifdef's. I thought all of the conditional code - had been freed from the condition, but I forgot to check DRT. + Breaks chromium build because glue/mocks/mock_web_frame.h/cc + was not updated + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetTestController): * DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setAlwaysAcceptCookies): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetWebViewToConsistentStateBeforeTesting): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + * DumpRenderTree/win/DumpRenderTree.cpp: + (resetWebViewToConsistentStateBeforeTesting): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::reset): -2011-01-30 Dirk Pranke +2011-02-24 Mahesh Kulkarni - Unreviewed, build fix. + Reviewed by Laszlo Gombos. - Fix regression introduced in r77093 - path.rsplit() doesn't - take keyword arguments. + [Qt] add android 2.2 user agent to QtTestBrowser + https://bugs.webkit.org/show_bug.cgi?id=55085 - https://bugs.webkit.org/show_bug.cgi?id=53326 + Credit to Forrest Hodgkins to find right user-agent which works for youtube. + * QtTestBrowser/useragentlist.txt: - * Scripts/webkitpy/common/system/filesystem_mock.py: +2011-02-24 Adam Roben -2011-01-30 Dirk Pranke + Change FrameLoadDelegate to support any number of delegates with delayed work to process - Reviewed by Mihai Parparita. + This makes our behavior match Mac more closely, and allows us to remove an incorrect + assertion that was firing during some tests. (The assertion was claiming that there was + never more than one delegate with delayed work to process, but that was not the case.) - Add more unit tests for rebaseline-chromium-webkit-tests. This - change involves restructuring a bunch of r-c-w-t code to make it - more testable as well. We also add wrapper classes for handling - testing zip files and fetching URLs. + Fixes Assertion failure in FrameLoadDelegate::locationChangeDone + when running http/tests/navigation/back-twice-without-commit.html - https://bugs.webkit.org/show_bug.cgi?id=53040 + Reviewed by Eric Carlson. - * Scripts/webkitpy/common/system/urlfetcher.py: - * Scripts/webkitpy/common/system/urlfetcher_mock.py: - * Scripts/webkitpy/common/system/zipfileset_mock.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: + * DumpRenderTree/win/FrameLoadDelegate.cpp: + (delegatesWithDelayedWork): Added. Returns all FrameLoadDelegates that have delayed work to + process. A single delegate may appear in this Vector more than once (just as, on Mac, a + single delegate may have multiple performSelector requests). + (processWorkTimer): Pass the HWND to ::KillTimer, for pedantic brownie points. Added an + assertion that the timer firing is the shared process work timer. Instead of using the + single, global "delegate waiting for timer" delegate, give all delegates that have delayed + work to process a chance to process their work. + (FrameLoadDelegate::locationChangeDone): If we don't already have an active timer for + processing delayed work, create one. Then add ourselves to the delegatesWithDelayedWork + Vector so our processWork function will be called when the timer fires. -2011-01-30 Dirk Pranke +2011-02-24 Vsevolod Vlasov - Reviewed by Eric Seidel. + Reviewed by Alexey Proskuryakov. - Clean up of the filesystem-related modules used in webkitpy. - I've added relpath() to the filesystem interface, modified - ospath.relpath() so that it could work with the filesystem - interface, and modified the fileset* routines to use the - filesystem interface consistently. + DumpRenderTree should reset frame opener between tests. + https://bugs.webkit.org/show_bug.cgi?id=54874 - This patch also adds a close() routine to the fileset routines - to indicate that the caller is done with the fileset. This - allows zipfileset to clean up after itself when it creates - tempfiles to store downloads. + Added clearOpener() calls between tests. + Some tests are using window.open() to change current window location. + This changes window.opener property whose nullity is checked before + showing xml viewer. - https://bugs.webkit.org/show_bug.cgi?id=53326 + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetTestController): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetWebViewToConsistentStateBeforeTesting): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + * DumpRenderTree/win/DumpRenderTree.cpp: + (resetWebViewToConsistentStateBeforeTesting): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::reset): - * Scripts/webkitpy/common/system/directoryfileset.py: - * Scripts/webkitpy/common/system/fileset.py: - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/common/system/filesystem_unittest.py: - * Scripts/webkitpy/common/system/ospath.py: - * Scripts/webkitpy/common/system/zipfileset.py: - * Scripts/webkitpy/common/system/zipfileset_unittest.py: +2011-02-24 Adam Roben -2011-01-30 Balazs Kelemen + Don't trigger Windows builds for changes to WebCore.exp.in or the top-level GNUmakefile.am - Reviewed by Csaba Osztrogonác. + Fixes Windows builders should not have built r79343 or r79440, + but did - [Qt][WK2]REGRESSION (r76991): Fix build errors - https://bugs.webkit.org/show_bug.cgi?id=53400 + Reviewed by Anders Carlsson. - Revert the temporary build fix (http://trac.webkit.org/changeset/77088) - and remove WebKit2Prefix.h from the build. - * MiniBrowser/qt/MiniBrowser.pro: + * Scripts/webkitpy/common/config/build.py: + (_should_file_trigger_build): Loosened the pattern for GNUmakefile.am to include the + top-level GNUmakefile.am, and loosened the pattern for .exp files to include WebCore.exp.in. -2011-01-30 Csaba Osztrogonác + * Scripts/webkitpy/common/config/build_unittest.py: + (ShouldBuildTest): Added some more tests. - Unreviewed. +2011-02-24 Andras Becsi - [Qt][WK2] Buildfix. + Reviewed by Laszlo Gombos. - * MiniBrowser/qt/MiniBrowser.pro: + [Qt] MinGW build fails to link + https://bugs.webkit.org/show_bug.cgi?id=55050 -2011-01-28 Simon Fraser + Prepend the libraries of subcomponents instead of appending them + to fix the library order according to the dependency of the libraries - Reviewed by Adam Roben. - - define NOMINMAX when building ImageDiff, as we do elsewhere. + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: - Add various clampToInt() methods to MathExtras.h - https://bugs.webkit.org/show_bug.cgi?id=52910 +2011-02-24 Gabor Loki - * DumpRenderTree/win/ImageDiffCommon.vsprops: + Reviewed by Csaba Osztrogonác. -2011-01-28 Maciej Stachowiak + [Qt] Remove ARMv5 Release buildbot. - Reviewed by Darin Adler. + Remove ARMv5 Release buildbot, because there is very little difference + between ARMv5 and ARMv7 Release bots, and there is also very little + interest in ARMv5 build slave (compared to ARMv7). - WebKitTestRunner needs layoutTestController.setPOSIXLocale - https://bugs.webkit.org/show_bug.cgi?id=42682 + * BuildSlaveSupport/build.webkit.org-config/config.json: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::resetLocalSettings): - (WTR::InjectedBundle::didReceiveMessage): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::setPOSIXLocale): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: +2011-02-22 Ojan Vafai -2011-01-28 Dirk Pranke - - Reviewed by Mihai Parparita. - - test-webkitpy: fix webkitpy.layout_tests.port.mac_unittest.MacTest.test_skipped_file_paths - - This patch re-enables this test and changes it to - handle all of the mac platform versions, not just the one - it is running on. - - https://bugs.webkit.org/show_bug.cgi?id=53356 - - * Scripts/webkitpy/layout_tests/port/mac_unittest.py: - -2011-01-28 Dirk Pranke + Reviewed by Tony Chang. - Unreviewed, build fix. + fix revision number finding when creating git patches + https://bugs.webkit.org/show_bug.cgi?id=55024 - Take two. The fix in 77023 didn't work, because we were - still calling path.abspath_to_uri, which calls _cygpath under - the covers, and it appears the cygpath on the bots does - something different than it does on my machine. This patch - removes the calls to path.abspath_to_uri, so it should be safe. - If it doesn't work, I'll roll it out along with r76982 and 77023. + HEAD~n does not walk merge commits correctly. git log however does. - https://bugs.webkit.org/show_bug.cgi?id=53126 + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: - * Scripts/webkitpy/layout_tests/port/test.py: +2011-02-23 Kenneth Russell -2011-01-28 David Kilzer + Unreviewed, rolling out r79387. + https://bugs.webkit.org/show_bug.cgi?id=54885 - build-webkit gives a bogus warning with newer versions of Xcode - + Reapply the code changes from r79038 since they weren't the root + cause of the test timeouts. - Reviewed by Mark Rowe. + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::reset): - * Scripts/webkitdirs.pm: - (checkRequiredSystemConfig): Check the Xcode marketing version - in addition to the DevCoreTools build version before complaining - about an old version of Xcode. Also make the Mac OS X version - check use Perl's built-in version string comparitor. - -2011-01-28 Dirk Pranke - - Unreviewed, build fix. - - Work around breakage on Win 7 Release bot caused by r76982 - and the fact that windows ports use "file:////" instead of - "file:///". Ideally the test code should be isolated from - this, but it isn't yet. Will fix properly in a bit. - - * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: - -2011-01-28 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: change worker model values to - "old-inline", "old-threads" in preparation for test_runner2 / - multiprocessing changes. - - https://bugs.webkit.org/show_bug.cgi?id=53156 - - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - * Scripts/webkitpy/layout_tests/port/mac.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2011-01-28 Dirk Pranke - - Reviewed by Tony Chang. - - committers.py - add an IRC nickname for dpranke - https://bugs.webkit.org/show_bug.cgi?id=53335 - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-28 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: add a "mock DRT" port implementation - and a separate class that emulates what we expect the - DumpRenderTree behavior to be. - - This will eventually replace port/dryrun.py and allow us to get - better test coverage of the new-run-webkit-tests code as well as - a reference for what new-run-webkit-tests expects from DRT. - - This is the first attempt at this, and it is pretty bare-boned. It - really only has been tested on the 'mac' port (and a little on - the 'chromium-mac' port. - - https://bugs.webkit.org/show_bug.cgi?id=53126 - - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/layout_tests/port/dryrun.py: - * Scripts/webkitpy/layout_tests/port/factory.py: - * Scripts/webkitpy/layout_tests/port/mock_drt.py: Added. - * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: Added. - * Scripts/webkitpy/layout_tests/port/test.py: - -2011-01-28 Pratik Solanki - - Unreviewed. Removing .swp file checked in by mistake. - - * Scripts/.webkitdirs.pm.swp: Removed. - -2011-01-28 Pratik Solanki - - Reviewed by David Kilzer. - - Space not necessary for undefined feature - https://bugs.webkit.org/show_bug.cgi?id=53317 - - * Scripts/build-webkit: - -2011-01-28 Chang Shu - - Reviewed by Andreas Kling. - - Reset NetworkAccessManager to clean up credentials from previous tests. - This change causes no performance overhead either. - https://bugs.webkit.org/show_bug.cgi?id=36688 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): - (WebCore::DumpRenderTree::open): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - -2011-01-28 Zoltan Horvath - - Reviewed by Andreas Kling. - - [Qt] Add Zoom Text Only action to MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=53297 - - Add Zoom Text Only action to MiniBrowser's view menu, change zoom levels to avoid unnecessary divides. - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::zoomIn): - (BrowserWindow::zoomOut): - (BrowserWindow::resetZoom): - (BrowserWindow::toggleZoomTextOnly): - (BrowserWindow::applyZoom): - * MiniBrowser/qt/BrowserWindow.h: - -2011-01-28 Adam Barth - - Reviewed by Eric Seidel. - - Add webkit-patch roll-chromium-deps - https://bugs.webkit.org/show_bug.cgi?id=53288 - - This command updates the Source/WebKit/chromium/DEPS file with the - last-known good revision of Chromium (or a revision specified on the - command line). I'd eventually like to turn this into a SheriffBot - command, but this is the first step. - - This patch somewhat sprawled because I needed to move a bunch of code - out of ChangeLog that should never have been there in the first place. - Also, I had to fix a bug in MockUser in order to test the new command. - - * Scripts/webkitpy/common/checkout/api.py: - * Scripts/webkitpy/common/checkout/changelog.py: - * Scripts/webkitpy/common/checkout/changelog_unittest.py: - * Scripts/webkitpy/common/checkout/deps.py: Added. - * Scripts/webkitpy/common/config/urls.py: - * Scripts/webkitpy/tool/commands/__init__.py: - * Scripts/webkitpy/tool/commands/download_unittest.py: - * Scripts/webkitpy/tool/commands/roll.py: Added. - * Scripts/webkitpy/tool/commands/roll_unittest.py: Added. - * Scripts/webkitpy/tool/commands/upload_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/__init__.py: - * Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py: Added. - * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py: - * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py: Added. - * Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py: - * Scripts/webkitpy/tool/steps/updatechromiumdeps.py: Added. - * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py: - -2011-01-27 Greg Coletta - - Reviewed by Laszlo Gombos. - - Get rid of prefix header dependency for WebKit2 build system - https://bugs.webkit.org/show_bug.cgi?id=50174 - - Change the style checker so that it enforces config.h include for - WebKit2. - - * Scripts/webkitpy/style/checker.py: - -2011-01-27 Maciej Stachowiak - - Reviewed by Darin Adler. - - execCommand("Paste") doesn't work in WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=52785 - - Enable both of the settings needed to allow paste. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::resetStateToConsistentValues): - -2011-01-27 Jacob Dinu - - Reviewed by Andreas Kling. - - [Qt] QtTestBrowser: User input lost when toggling use of QGraphicsView - https://bugs.webkit.org/show_bug.cgi?id=48440 - - Preserve user input when toggling use of QGraphicsView - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::initializeView): - (LauncherWindow::loadFinished): - * QtTestBrowser/launcherwindow.h: - * QtTestBrowser/mainwindow.cpp: - (MainWindow::addressUrl): - * QtTestBrowser/mainwindow.h: - -2011-01-27 Dirk Pranke - - Reviewed by Mihai Parparita. - - new-run-webkit-tests: turn off pixel tests correctly by default - for webkit-based ports. r70013 (bug 47510) used - port.set_option_default() to attempt to set default values, but - that didn't work correctly. I have removed set_option_default - for now since it was only being used in two places and in three - useless unit tests. There is a separate bug open to fix the - option parsing (48095), so this workaround is fine for now. - - https://bugs.webkit.org/show_bug.cgi?id=53217 - - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/base_unittest.py: - -2011-01-27 Balazs Kelemen - - Rubber-stamped by Ariya Hidayat. - - Trivial crash fix in WTR. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): Increase the size - of the vector by one to be able to store the null character. - -2011-01-27 Balazs Kelemen - - Reviewed by Csaba Osztrogonác. - - [Qt][WK2] WTR should be initialized in the same way as DRT - https://bugs.webkit.org/show_bug.cgi?id=53240 - - * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: - (WTR::activateFonts): Added missing initialization steps. - -2011-01-27 Joone Hur - - Unreviewed. - - Adding myself to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-27 Laszlo Gombos - - Reviewed by Csaba Osztrogonác. - - [Qt] [Symbian] Move project files into Source - https://bugs.webkit.org/show_bug.cgi?id=52891 - - Fix the Symbian build after the project files - are moved to Source directory. On Symbian qmake - needs to run in the same directory where the main - pro files (WebKit.pro, Tools.pro) are located. - - * Scripts/webkitdirs.pm: Change to the directory where the pro file - is located before running qmake for Symbian. Qmake on Symbian - does not properly honor the "-o" option, work it around by setting - the name of the Makefile to bld.inf. - -2011-01-27 Zoltan Horvath - - Reviewed by Andreas Kling. - - [Qt] Add simple zooming features to MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=53231 - - Add View menu and Zoom In, Zoom Out, Zoom Reset actions to MiniBrowser. - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::zoomIn): - (BrowserWindow::zoomOut): - (BrowserWindow::resetZoom): - (BrowserWindow::updateUserAgentList): - (BrowserWindow::applyZoom): - * MiniBrowser/qt/BrowserWindow.h: - -2011-01-26 Maciej Stachowiak - - Reviewed by Dan Bernstein. - - WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector - https://bugs.webkit.org/show_bug.cgi?id=42319 - - Add evaluateInWebInspector and other APIs needed for inspector tests to run. - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::showWebInspector): - (WTR::LayoutTestController::closeWebInspector): - (WTR::LayoutTestController::evaluateInWebInspector): - (WTR::LayoutTestController::setTimelineProfilingEnabled): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - * WebKitTestRunner/TestInvocation.cpp: - (WTR::shouldOpenWebInspector): - (WTR::TestInvocation::invoke): - * WebKitTestRunner/WebKitTestRunnerPrefix.h: - -2011-01-26 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] Pixel dumps do not include scrollbars in output images - https://bugs.webkit.org/show_bug.cgi?id=53216 - - Show scrollbars in pixel dumps. This will fix pixel dumps for tests - that have scrollbars. - - * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: - (createBitmapContextFromWebView): Take the snapshot of the containing GtkScrolledWindow - instead of the web view itself. - -2011-01-26 Dirk Pranke - - Reviewed by Mihai Parparita. - - Fix regression introduced in r76322 ... new-run-webkit-tests - was attempting to save the image diff output as a UTF-8-encoded - file. - - https://bugs.webkit.org/show_bug.cgi?id=53210 - - * Scripts/webkitpy/layout_tests/port/webkit.py: - -2011-01-26 Sheriff Bot - - Unreviewed, rolling out r76709. - http://trac.webkit.org/changeset/76709 - https://bugs.webkit.org/show_bug.cgi?id=53194 - - "broke python tests on non-snowleopard platforms" (Requested - by dpranke on #webkit). - - * Scripts/webkitpy/layout_tests/port/factory.py: - * Scripts/webkitpy/layout_tests/port/mock_drt.py: Removed. - * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: Removed. - -2011-01-26 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: add a "mock DRT" port implementation - and a separate class that emulates what we expect the - DumpRenderTree behavior to be. - - This will eventually replace port/dryrun.py and allow us to get - better test coverage of the new-run-webkit-tests code as well as - a reference for what new-run-webkit-tests expects from DRT. - - This is the first attempt at this, and it is pretty bare-boned. It - really only has been tested on the 'mac' port (and a little on - the 'chromium-mac' port. - - https://bugs.webkit.org/show_bug.cgi?id=53126 - - * Scripts/webkitpy/layout_tests/port/mock_drt.py: Added. - * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: Added. - * Scripts/webkitpy/layout_tests/port/factory.py: - -2011-01-26 Xianzhu Wang - - Reviewed by Tony Chang. - - Add '--no-timeout' option to Chromium DRT to ease debugging. - https://bugs.webkit.org/show_bug.cgi?id=52873 - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (main): - -2011-01-26 Csaba Osztrogonác - - Reviewed by Andreas Kling. - - [Qt] Fix qt_minimal build - https://bugs.webkit.org/show_bug.cgi?id=53172 - - * QtTestBrowser/locationedit.h: - -2011-01-26 Mansi Mithal - - Reviewed by Antonio Gomes. - - QtTestBrowser should have a UI Setting to disable plugins - https://bugs.webkit.org/show_bug.cgi?id=52408 - - Added a new action item named "Disable Plugins" - under the "Settings" menu. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - (LauncherWindow::togglePlugins): - * QtTestBrowser/launcherwindow.h: - -2011-01-25 Patrick Gansterer - - Reviewed by Adam Barth. - - Move main CMakeLists.txt into Source directory - https://bugs.webkit.org/show_bug.cgi?id=52888 - - * Scripts/webkitdirs.pm: - -2011-01-25 Patrick Gansterer - - Reviewed by Eric Seidel. - - Improve label text in submit-to-ews - https://bugs.webkit.org/show_bug.cgi?id=53130 - - * QueueStatusServer/templates/submittoews.html: - -2011-01-25 Mansi Mithal - - Reviewed by Antonio Gomes. - - QtTestBrowser should have a UI Settings to prevent loading images - https://bugs.webkit.org/show_bug.cgi?id=52409 - - Added a new action item named "DisableAutoLoadImages" - under the "Settings" menu - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - (LauncherWindow::toggleAutoLoadImages): - * QtTestBrowser/launcherwindow.h: - -2011-01-25 Dirk Pranke - - Reviewed by Tony Chang. - - Minor bug fixes and cleanup for filesystem wrappers, port/* test - classes, test_expectations.py. This change adds "test-win" and - "test-mac" variants to the test port so that we can better test - rebaselining, and adds a MockUser() object for reuse in testing. - - https://bugs.webkit.org/show_bug.cgi?id=53036 - - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/port/factory.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - -2011-01-25 Tony Chang - - Reviewed by Dimitri Glazkov. - - [chromium] remove unused layoutTestController callback - https://bugs.webkit.org/show_bug.cgi?id=53103 - - This method is used by a test_shell_test, but not needed by DRT. - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - * DumpRenderTree/chromium/LayoutTestController.h: - -2011-01-25 Gustavo Noronha Silva - - Reviewed by Andreas Kling. - - [GTK] Remove 64 bits release bot from the buildbot master - https://bugs.webkit.org/show_bug.cgi?id=52899 - - Removes the 64 bits release slave from the buildbot configuration, - so that we can use it as an EWS. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2011-01-24 Maciej Stachowiak - - Reviewed by Dan Bernstein. - - Implement database quota callback to fix storage tests on WebKit2 bot - https://bugs.webkit.org/show_bug.cgi?id=53064 - - * WebKitTestRunner/TestController.cpp: - (WTR::exceededDatabaseQuota): - (WTR::TestController::createOtherPage): - (WTR::TestController::initialize): - -2011-01-24 Maciej Stachowiak - - Reviewed by Anders Carlsson. - - Use designated temp directory for the database for WebKit2 - https://bugs.webkit.org/show_bug.cgi?id=53052 - - Adopt the new WK2 API for this. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::libraryPathForTesting): - (WTR::TestController::initialize): - * WebKitTestRunner/TestController.h: - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::platformLibraryPathForTesting): - * WebKitTestRunner/qt/TestControllerQt.cpp: - (WTR::TestController::platformLibraryPathForTesting): - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::platformLibraryPathForTesting): - -2011-01-24 Lucas Forschler - - Reviewed by Stephanie Lewis. - - Add a new Leopard test bot. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2011-01-24 Gyuyoung Kim - - Reviewed by Adam Barth. - - Add EFL Builder to core waterfall - https://bugs.webkit.org/show_bug.cgi?id=52704 - - Add EFL Builder to the core waterfall again. - - * Scripts/webkitpy/common/net/buildbot/buildbot.py: - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - -2011-01-24 Xianzhu Wang - - Reviewed by Tony Chang. - - new-run-webkit-tests fails to start HTTP server if there are proxy settings - https://bugs.webkit.org/show_bug.cgi?id=52872 - - Force disabling proxy to resolve the problem. - - * Scripts/webkitpy/layout_tests/port/http_server_base.py: - * Scripts/webkitpy/layout_tests/port/websocket_server.py: - -2011-01-24 Andreas Kling - - Reviewed by Darin Adler. - - check-webkit-style: Update exemptions following Source/ move. - https://bugs.webkit.org/show_bug.cgi?id=53017 - - * Scripts/webkitpy/style/checker.py: - * Scripts/webkitpy/style/checker_unittest.py: - -2011-01-24 Andras Becsi - - Rubber-stamped by Csaba Osztrogonác. - - [Qt] Move project files into Source - https://bugs.webkit.org/show_bug.cgi?id=52891 - - * DumpRenderTree/qt/ImageDiff.pro: Add missing "Source" to WebKit.pri path - -2011-01-24 Mikhail Naganov - - Reviewed by Yury Semikhatsky. - - Web Inspector: Find duplicate strings in localizedStrings.js - - https://bugs.webkit.org/show_bug.cgi?id=53005 - - * Scripts/check-inspector-strings: - -2011-01-24 Zoltan Horvath - - Reviewed by Andreas Kling. - - [Qt] Regroup MiniBrowser's menubar and add open file action - https://bugs.webkit.org/show_bug.cgi?id=53000 - - Add File and Develop menu to MiniBrowser's menubar and add open file action to File menu. - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::openFile): - (BrowserWindow::~BrowserWindow): - * MiniBrowser/qt/BrowserWindow.h: - -2011-01-24 Csaba Osztrogonác - - Unreviewed fix after r76496 - - [Qt] Move project files into Source - https://bugs.webkit.org/show_bug.cgi?id=52891 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Remove unnecessary "Source" from the path. - * BuildSlaveSupport/built-product-archive: Remove unnecessary "Source" from the path. - * Scripts/webkitdirs.pm: Add the accidentally removed slash to the path. - -2011-01-24 Andras Becsi - - Reviewed by Csaba Osztrogonác. - - [Qt] Move project files into Source - https://bugs.webkit.org/show_bug.cgi?id=52891 - - * DerivedSources.pro: Renamed from DerivedSources.pro. - * DumpRenderTree/qt/DumpRenderTree.pro: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - * MiniBrowser/DerivedSources.pro: - * MiniBrowser/qt/MiniBrowser.pro: - * QtTestBrowser/QtTestBrowser.pro: - * Scripts/webkitdirs.pm: - * Tools.pro: Added. - * WebKitTestRunner/DerivedSources.pro: - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * WebKitTestRunner/qt/WebKitTestRunner.pro: - -2011-01-22 Geoffrey Garen - - Reviewed by Dan Bernstein. - - Beefed up --threaded mode to catch even more kinds of errors. - https://bugs.webkit.org/show_bug.cgi?id=52971 - - * DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp: Use a shared - context group to force JSC to mark multiple threads. (This used to be - the default, but it changed in SnowLeopard.) - (runJavaScriptThread): Do more locking and unlocking, and more allocation, - to give threading mistakes more chances to show themselves. - (startJavaScriptThreads): - (stopJavaScriptThreads): - -2011-01-22 Robert Hogan - - Reviewed by Andreas Kling. - - [Qt] Support layoutTestController.addURLToRedirect() - https://bugs.webkit.org/show_bug.cgi?id=52956 - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::addURLToRedirect): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2011-01-22 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] REGRESSION (r72360): http/tests/security/aboutBlank/xss-DENIED-* tests fail - https://bugs.webkit.org/show_bug.cgi?id=49802 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): - (WebCore::DumpRenderTree::open): - -2011-01-21 Adam Barth - - Reviewed by Maciej Stachowiak. - - Disable mac_unittest.py that fails on some of the Mac bots - https://bugs.webkit.org/show_bug.cgi?id=52947 - - As noted in the comment, this test does not appear to be correct - because the function this test is testing returns different results - depending on which flavor of Mac the test is run on. This patch - disable the test. Hopefully we can re-enable the test once we've - probably insulated the test from its environment. - - * Scripts/webkitpy/layout_tests/port/mac_unittest.py: - -2011-01-21 Dirk Pranke - - Reviewed by Mihai Parparita. - - Fix bug introduced in r76322 that caused NRWT to not actually - read the Skipped files properly. - - https://bugs.webkit.org/show_bug.cgi?id=52771 - - * Scripts/webkitpy/layout_tests/port/mac_unittest.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: - -2011-01-21 Sam Weinig - - Reviewed by Geoffrey Sean Garen and Mark Rowe. - - WebKitTestRunner needs the HOME environment variable to be set. - - - * Scripts/old-run-webkit-tests: Set the HOME environment variable if - it exists. - -2011-01-21 Dirk Pranke - - Reviewed by Eric Seidel. - - Suppress a few remaining integration tests so that none of the - layout_test unit tests ever read from the filesystem or launch - subprocesses that aren't part of the unit tests. - - Also fix a minor bug in the printing unit tests that was - incorrectly relying on sys.argv. - - https://bugs.webkit.org/show_bug.cgi?id=52863 - - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/port/port_testcase.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2011-01-21 Darin Adler - - Fix Mac build. - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): Pass 0 for runModal function. - -2011-01-20 Darin Adler - - Reviewed by Dan Bernstein. - - WebKit2: Implement showModalDialog - https://bugs.webkit.org/show_bug.cgi?id=52855 - - This fixes WebKitTestRunner to compile, but more work is probably - needed to get it to pass the tests. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::runModal): Added. Calls through to the - platform-specific version of runModal. - (WTR::TestController::createOtherPage): Changed to be a private - static member function so it can refer to runModal, which is - a private static member function. - (WTR::TestController::initialize): Pass 0 for the runModal - function since we don't need to run the main window modal. - I suspect this is wrong and will need to change. - * WebKitTestRunner/TestController.h: Added declarations for - the functions added above. - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::runModal): Added. Untested implementation. - * WebKitTestRunner/qt/TestControllerQt.cpp: - (WTR::TestController::runModal): Added. - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::runModal): Added. - -2011-01-21 Eric Seidel - - Reviewed by Adam Barth. - - Split Host object off from WebKitPatch for easier re-use - https://bugs.webkit.org/show_bug.cgi?id=52284 - - new-run-webkit-tests and other tools are eventually going to want one of these. - Basically you need to inherit from this class if you want to pretend to be a - self.tool object for Steps/Commands. - - * Scripts/webkitpy/common/host.py: Added. - * Scripts/webkitpy/tool/main.py: - -2011-01-20 Dirk Pranke - - Reviewed by Adam Barth. - - Disable the tests that start and stop the http server and web - server, so that we don't have to worry about port collisions on - the bots. - - https://bugs.webkit.org/show_bug.cgi?id=52861 - - * Scripts/webkitpy/layout_tests/port/port_testcase.py: - -2011-01-20 Dirk Pranke - - Reviewed by Eric Seidel. - - nrwt: rewrite google_chrome_unittest to use mock filesystem. - - https://bugs.webkit.org/show_bug.cgi?id=52772 - - * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py: - -2011-01-20 Dirk Pranke - - Reviewed by Eric Siedel. - - nrwt: clean up almost all remaining port references, remove - unnecessary import clauses. The only remaining references are - in places where a mock filesystem makes no sense or can't be - used, and in one routine in port/google_chrome_unittest that - I'll rewrite in a separate patch. - - https://bugs.webkit.org/show_bug.cgi?id=52771 - - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium_win.py: - * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: - * Scripts/webkitpy/layout_tests/port/google_chrome.py: - * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py: - * Scripts/webkitpy/layout_tests/port/gtk.py: - * Scripts/webkitpy/layout_tests/port/mac.py: - * Scripts/webkitpy/layout_tests/port/port_testcase.py: - * Scripts/webkitpy/layout_tests/port/qt.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/port/win.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - -2011-01-20 Dirk Pranke - - Reviewed by Mihai Parparita. - - remove fs refs from run_webkit_tests, rebaseline_chromium_webkit_tests - - https://bugs.webkit.org/show_bug.cgi?id=52762 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2011-01-20 Tony Chang - - Reviewed by Ojan Vafai. - - [chromium] fix the paths used for the rebaseline tool - https://bugs.webkit.org/show_bug.cgi?id=52857 - - Some of the bots were renamed so the path to grab the results zip - file has changed. - - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - -2011-01-20 Dirk Pranke - - Reviewed by Tony Chang. - - Fix bug introduced in r72688 / bug 52768 that broke the - generation of the output filename links in the results.html - output. Apparently none of the unit tests actually checked to - make sure the generated links were correct :( - - https://bugs.webkit.org/show_bug.cgi?id=52854 - - * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: - * Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py: - -2011-01-20 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=52849 - Make window.print work with WebKit2 - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - (WTR::TestController::initialize): - Added zeroes to WKPageUIClient structures to avoid build failures. - -2011-01-20 Dirk Pranke - - Reviewed by Eric Seidel. - - nrwt: remove fs refs from printing, test_failures, test_expectations, text_diff - - https://bugs.webkit.org/show_bug.cgi?id=52756 - - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2011-01-20 Mansi Mithal - - Reviewed by Antonio Gomes. - - QtTestBrowser should have a seperate menu for Settings - https://bugs.webkit.org/show_bug.cgi?id=52817 - - Added a new menu item named "Settings" - and moved the "Enable interrupting js scripts" and "Enable js pop up windows" under the "Settings" menu - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - -2011-01-20 Sam Weinig - - Reviewed by John Sullivan. - - Update update-webkit-localizable-strings with new path to WebKit. - - * Scripts/update-webkit-localizable-strings: - -2011-01-20 James Robinson - - Reviewed by Darin Fisher. - - Implement mozilla's requestAnimationFrame API - https://bugs.webkit.org/show_bug.cgi?id=51218 - - Chromium DumpRenderTree support for window.webkitRequestAnimationFrame. - - * DumpRenderTree/chromium/WebViewHost.cpp: - (invokeScheduleComposite): - (WebViewHost::scheduleAnimation): - (WebViewHost::paintInvalidatedRegion): - * DumpRenderTree/chromium/WebViewHost.h: - -2011-01-20 Maciej Stachowiak - - Reviewed by Adam Roben. - - WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld - https://bugs.webkit.org/show_bug.cgi?id=42327 - - * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Add support - for methods that take their normal arguments but also a JSContextRef. - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: IDL definition - for evaluateScriptInIsolatedWorld. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::didClearWindowForFrame): Set a magic variable only if - this call is for an isolated world. - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::worldMap): Helper to create a world map. - (WTR::LayoutTestController::worldIDForWorld): Map from an ID to a world. - (WTR::LayoutTestController::evaluateScriptInIsolatedWorld): The newly - added LayoutTestController API. - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - -2011-01-19 Adam Roben - - Convert paths in environment variables back to msys-style inside commit-log-editor - - When this script gets run from inside git commit, msys-style paths in the environment will - have been turned into Windows-style paths with forward slashes. This screws up functions - like File::Spec->rel2abs, which seem to rely on $PWD having an msys-style path. We convert - the paths back to msys-style before doing anything else. - - Fixes commit-log-editor uses full paths for section headers when - using msysgit's Perl and multiple ChangeLogs have been edited - - Reviewed by David Kilzer. - - * Scripts/commit-log-editor: Call fixEnvironment before doing anything else. - (fixEnvironment): Added. When run in msys in conjunction with git (i.e., when invoked from - inside git commit), convert Windows-style paths in the environment back to msys-style paths. - -2011-01-20 Zoltan Horvath - - [Win] Unreviewed build fix after r76248. - - * DumpRenderTree/ForwardingHeaders/wtf/FastAllocBase.h: Added. - -2011-01-20 Zoltan Horvath - - Reviewed by Csaba Osztrogonác. - - Refactoring of the custom allocation framework - https://bugs.webkit.org/show_bug.cgi?id=49897 - - Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). - The modification replaces Noncopyable and FastAllocBase classes and these inherits with their - equivalent macro implementation at the necessary places. -2011-01-20 Yi Shen - - Unreviewed. - - Adding myself to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-20 Adam Barth - - Reviewed by Tony Chang. - - Chromium builders don't delete unversioned directories when DEPS change - https://bugs.webkit.org/show_bug.cgi?id=52745 - - If we pass this option to gclient sync, gclient will delete directories - that are no longer part of DEPS instead of leaving them around to - confuse us later. Apparently, the downstream buildbots use this option - already. - - * Scripts/update-webkit-chromium: - -2011-01-19 Dirk Pranke - - Unreviewed, build fix - I pulled this patch in to fix an issue - revealed by r76195 running on some new bots). Also fix a couple - of other issues revealed in testing. - - nrwt: remove fs refs from layout_package/json* - - https://bugs.webkit.org/show_bug.cgi?id=52754 - - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/port/base.py: - -2011-01-19 Dirk Pranke - - Unreviewed, build fix. - - Fix a couple of minor bugs discovered while bringing up new bots - for testing. - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2011-01-19 James Robinson - - Unreviewed, rolling out r76194. - http://trac.webkit.org/changeset/76194 - https://bugs.webkit.org/show_bug.cgi?id=51218 - - Caused mysterious compile failure on the chromium win - build.webkit.org bots - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::paintInvalidatedRegion): - * DumpRenderTree/chromium/WebViewHost.h: - -2011-01-19 Dirk Pranke - - Reviewed by Mihai Parparita. - - remove fs refs from test_runner, dump_render_tree_thread - - https://bugs.webkit.org/show_bug.cgi?id=52753 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner_unittest.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2011-01-19 James Robinson - - Reviewed by Darin Fisher. - - Implement mozilla's requestAnimationFrame API - https://bugs.webkit.org/show_bug.cgi?id=51218 - - Chromium DumpRenderTree support for window.webkitRequestAnimationFrame. - - * DumpRenderTree/chromium/WebViewHost.cpp: - (invokeScheduleComposite): - (WebViewHost::scheduleAnimation): - (WebViewHost::paintInvalidatedRegion): - * DumpRenderTree/chromium/WebViewHost.h: - -2011-01-19 Dirk Pranke - - Unreviewed, build fix. - - Fix a few incorrect "self._filesystem" references introduced in - r76184. - - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - -2011-01-19 Dirk Pranke - - Reviewed by Mihai Parparita. - - add a .sep property, abspath(), isabs(), mtime(), and - open_text_file_for_writing() to filesystem modules. Some of - these properties are not needed in this patch but will be needed - in subsequent patches (I'm doing this to avoid having to track - multiple versions of a single file). - - Also, change most of the port/* modules to use the filesystem - objects instead of referencing the filesystem directly. - - https://bugs.webkit.org/show_bug.cgi?id=52748 - - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/layout_tests/port/__init__.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/base_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: - * Scripts/webkitpy/layout_tests/port/config.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: - -2011-01-19 Maciej Stachowiak - - Reviewed by Anders Carlsson. - - If resetting between tests times out, treat it as a WebProcess crash - https://bugs.webkit.org/show_bug.cgi?id=52757 - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::runTest): - -2011-01-19 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=52739 - Make it possible for a WebKit2 client to print headers and footers - - Added dummy implementations for new printing UIClient calls. - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - (WTR::TestController::initialize): - -2011-01-19 Dirk Pranke - - Reviewed by Ojan Vafai. - - Change webkitpy/layout_tests/port/test.py to use the - in-memory filesystem for cleaner unit testing. This - change allows us to kill a lot of code that was - specific to the test port, at the cost of being a - little less clear about how things would work if - you didn't have a filesystem. - - https://bugs.webkit.org/show_bug.cgi?id=52605 - - * Scripts/webkitpy/layout_tests/port/test.py: - -2011-01-19 Dirk Pranke - - Unreviewed, build fix. - - Fix test failure caused by committing attachment 79368 instead - of attachment 79461 on bug 52604. - - * Scripts/webkitpy/common/system/filesystem_mock.py: - -2011-01-19 Dirk Pranke - - Reviewed by Mihai Parparita. - - new-run-webkit-tests: remove use of os.walk, use mock filesystem for better - unit testing. os.walk() is too much of a hassle to implement on - top of the in-memory mock filesystem and adding the necessary - interface to files_under() gives clients a cleaner API anyway - (for this particular usage model). - - https://bugs.webkit.org/show_bug.cgi?id=52691 - - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/layout_tests/port/test_files.py: - * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: - -2011-01-19 Dirk Pranke - - Reviewed by Tony Chang. - - Change more modules in the layout-tests code to use the - filesystem wrapper for cleaner unit testing. - - This patch also adds the glob() wrapper to the filesystem - abstraction. - - https://bugs.webkit.org/show_bug.cgi?id=52604 - - * Scripts/webkitpy/layout_tests/port/test_files.py: - * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - -2011-01-19 Levi Weintraub - - Unreviewed. - - Updating my email addresses and irc nick. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-19 Tony Chang - - Reviewed by Mihai Parparita. - - [chromium] [linux] if check-sys-deps fails, output the failure reason - https://bugs.webkit.org/show_bug.cgi?id=52671 - - * Scripts/webkitpy/common/system/executive_mock.py: Add support for - error handler functions. - * Scripts/webkitpy/layout_tests/port/chromium.py: - output the error text from --check-sys-deps - * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: - -2011-01-19 Aparna Nandyal - - Reviewed by Andreas Kling. - - [Qt] QtTestBrowser crashes when closing if Facebook is opened - https://bugs.webkit.org/show_bug.cgi?id=52554 - - QtNetworkAccessManager is created in a thread and set as - member variable in QWebPage. When the thread is destroyed - the object is still used. So fix will set the object to - NULL once the thread is destroyed. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::~LauncherWindow): - -2011-01-18 Maciej Stachowiak - - Rubber stamped by Csaba Osztrogonac - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Removed unncessary inculde of WKStringCF.h - -2011-01-18 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: add a --build-directory command line argument - - Official Google Chrome builds use a non-standard build directory - location. This patch adds a --build-directory argument that - allows that location to be specified on the command line. Only - Chromium-based builds will use this flag for now, but anyone can - in the future. - - There are no unit tests for this since it's difficult to test - until mock filesystems are fully supported in the code. This was - tested by hand for now. - - https://bugs.webkit.org/show_bug.cgi?id=52694 - - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - * Scripts/webkitpy/layout_tests/port/chromium_win.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2011-01-18 Maciej Stachowiak - - Not reviewed. Bot fix. - - Remove an inadvertently committed debugging print. - - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::notifyDone): - -2011-01-18 Maciej Stachowiak - - Reviewed by Sam Weinig. - - WebKitTestRunner should track loading more like DumpRenderTree - https://bugs.webkit.org/show_bug.cgi?id=52692 - - Change load tracking to track the current top loading frame, in the manner of DumpRenderTree. - This makes some tests that call notifyDone multiple times pass. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::InjectedBundle): - (WTR::InjectedBundle::done): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - (WTR::InjectedBundle::topLoadingFrame): - (WTR::InjectedBundle::setTopLoadingFrame): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::stopLoading): - (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): - (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): - (WTR::InjectedBundlePage::didFinishLoadForFrame): - (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::notifyDone): - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::didReceiveMessageFromInjectedBundle): - -2011-01-18 Mihai Parparita - - Reviewed by Kent Tamura. - - [Chromium] NRWT looking for DRT binary in the wrong path on Mac - https://bugs.webkit.org/show_bug.cgi?id=52678 - - Update path now that WebKit is inside Source. - - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - -2011-01-18 Robert Hogan - - Reviewed by Simon Hausmann. - - [Qt] http/tests/incremental/slow-utf8-text.pl fails - https://bugs.webkit.org/show_bug.cgi?id=44282 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::dump): - -2011-01-18 Dirk Pranke - - Reviewed by Mihai Parparita. - - Fix a small race condition that could cause the unit tests for - new-run-webkit-tests to fail in a multithreaded environment. - There was a small window in the code where one thread would - check to see if a thread had raised an exception, do something, - and then check to see if the thread was alive. If the other - thread raised an exception and exited in between these two - steps, the exception would be lost. Flipping the order of the - two checks fixes the race, since we will now always check for an - exception on the thread before exiting. - - https://bugs.webkit.org/show_bug.cgi?id=51579 - - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - -2011-01-18 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue dies when test archiving fails - https://bugs.webkit.org/show_bug.cgi?id=52617 - - I looked at the machine and it had 10 archives already - thus find_unused_name was returning None. I've upped - the limit to 100 (per bug) and tested the case where - find_unused_name returns None (making archive return None). - - * Scripts/webkitpy/common/system/workspace.py: - * Scripts/webkitpy/common/system/workspace_unittest.py: - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - -2011-01-18 Dirk Pranke - - Reviewed by Ojan Vafai. - - Update rebaseline-chromium-webkit-tests unit tests to use a mock - filesystem. Also fix a couple of "with" statements missed by - r76050. - - https://bugs.webkit.org/show_bug.cgi?id=52487 - - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: - -2011-01-18 Sergio Villar Senin - - Reviewed by Martin Robinson. - - [Gtk] Build fixes for gtk3 build - https://bugs.webkit.org/show_bug.cgi?id=52648 - - * DumpRenderTree/gtk/EventSender.cpp: - (beginDragWithFilesCallback): - -2011-01-18 Dirk Pranke - - Reviewed by Mihai Parparita. - - Update rebaseline-chromium-webkit-tests to use filesystem objects - instead of direct references to os.path, shutil, tempfile, etc. - - This patch doesn't change anything, but will allow subsequent - patches to change the unit tests to no longer use the real - filesystem. - - This patch adds a bunch more methods to the filesystem object as - well. - - https://bugs.webkit.org/show_bug.cgi?id=52482 - - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: - -2011-01-18 Dirk Pranke - - Reviewed by Mihai Parparita. - - new-run-webkit-tests shouldn't crash when you try to run a - directory containing only skipped files. - - https://bugs.webkit.org/show_bug.cgi?id=52478 - - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2011-01-18 Adam Bergkvist and Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] The GTK+ EventSender needs support for beginDragWithFiles - https://bugs.webkit.org/show_bug.cgi?id=40833 - - * DumpRenderTree/gtk/EventSender.cpp: Add a beginDragWithFiles implementation for the - GTK+ event sender. - (dragWithFilesDragDataGetCallback): Added. - (dragWithFilesDragEndCallback): Added. - (beginDragWithFilesCallback): Added. - -2011-01-18 Gyuyoung Kim - - Reviewed by Adam Barth. - - ews: Add additional watcher to efl ews - https://bugs.webkit.org/show_bug.cgi?id=52613 - - Add gyuyoung.kim@samsung.com to watcher list of efl-ews. - - * Scripts/webkitpy/tool/commands/earlywarningsystem.py: - -2011-01-17 Tony Gentilcore - - Reviewed by Alexey Proskuryakov. - - Fix some headers with missing or misspelled #ifndef guards - https://bugs.webkit.org/show_bug.cgi?id=52545 - - * DumpRenderTree/chromium/TestEventPrinter.h: - * DumpRenderTree/chromium/WebPreferences.h: - -2011-01-17 Jessie Berlin - - Reviewed by Anders Carlsson. - - REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when - navigating back to an unreachable URL - https://bugs.webkit.org/show_bug.cgi?id=52388 - - Add a third parameter (unreachableURL) to queueLoadHTMLString. - - * DumpRenderTree/LayoutTestController.cpp: - (queueLoadHTMLStringCallback): - (LayoutTestController::queueLoadHTMLString): - (LayoutTestController::queueLoadAlternateHTMLString): - * DumpRenderTree/LayoutTestController.h: - - * DumpRenderTree/WorkQueueItem.h: - (LoadHTMLStringItem::LoadHTMLStringItem): - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (WorkItemLoadHTMLString::WorkItemLoadHTMLString): - (WorkItemLoadHTMLString::run): - (LayoutTestController::queueLoadHTMLString): - - * DumpRenderTree/gtk/WorkQueueItemGtk.cpp: - (LoadHTMLStringItem::invoke): - * DumpRenderTree/mac/WorkQueueItemMac.mm: - (LoadHTMLStringItem::invoke): - * DumpRenderTree/win/WorkQueueItemWin.cpp: - (LoadHTMLStringItem::invoke): - -2011-01-17 Dan Bernstein - - Rubber-stamped by Mark Rowe. - - Update xcodeproj svn:ignore to include xcuserdata. - - * DumpRenderTree/DumpRenderTree.xcodeproj: Modified property svn:ignore. - * MiniBrowser/MiniBrowser.xcodeproj: Modified property svn:ignore. - * TestWebKitAPI/TestWebKitAPI.xcodeproj: Modified property svn:ignore. - * WebKitLauncher/WebKitLauncher.xcodeproj: Modified property svn:ignore. - * WebKitTestRunner/WebKitTestRunner.xcodeproj: Modified property svn:ignore. - -2011-01-17 Csaba Osztrogonác - - Unreviewed fix after r75908. - - Move WebKit into Source - https://bugs.webkit.org/show_bug.cgi?id=52530 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Add Source to the path for Qt API tests. - -2011-01-17 Csaba Osztrogonác - - Unreviewed. - - Remove accidentally committed debug printing after r75908. - - * Scripts/webkitdirs.pm: - -2011-01-17 John Knottenbelt - - Unreviewed. - - Add myself to committers list - https://bugs.webkit.org/show_bug.cgi?id=52566 - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-17 John Knottenbelt - - Reviewed by Jeremy Orlow. - - GeolocationController should call stopUpdating on destruction - https://bugs.webkit.org/show_bug.cgi?id=52216 - - fast/dom/Geolocation/window-close-crash.html requires that a - Geolocation watch be started in a secondary window. Consequently, - we need to allow geolocation permission and provide a mock - geolocation position for the secondary window's - GeolocationClientMock. - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::setGeolocationPermission): - (LayoutTestController::setMockGeolocationPosition): - (LayoutTestController::setMockGeolocationError): - * DumpRenderTree/chromium/TestShell.h: - (TestShell::windowList): - -2011-01-16 Adam Barth - - Update more include paths to reflect WebKit move. - - * DumpRenderTree/chromium/EventSender.cpp: - (EventSender::keyDown): - (EventSender::needsShiftModifier): - * DumpRenderTree/chromium/WebThemeEngineDRTMac.h: - * DumpRenderTree/chromium/WebThemeEngineDRTMac.mm: - -2011-01-16 Kent Tamura - - Unreviewed, Chromium build fix. - - * Scripts/update-webkit-chromium: Webkit/chromium -> Source/WebKit/chromium - -2011-01-16 Martin Robinson - - Build fix for GTK+ after source directory movement. - - * GNUmakefile.am: Correct include paths. - -2011-01-16 Adam Barth - - Teach svn-apply about WebKit move. - - * Scripts/VCSUtils.pm: - -2011-01-16 Adam Barth - - Rubber-stamped by Eric Seidel. - - Move WebKit into Source - https://bugs.webkit.org/show_bug.cgi?id=52530 - - * DumpRenderTree/mac/InternalHeaders/WebKit/WebTypesInternal.h: - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - * DumpRenderTree/qt/DumpRenderTreeQt.h: - * DumpRenderTree/qt/GCControllerQt.cpp: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - * DumpRenderTree/qt/PlainTextControllerQt.cpp: - * DumpRenderTree/qt/TextInputControllerQt.cpp: - * DumpRenderTree/wscript: - * QtTestBrowser/launcherwindow.h: - * Scripts/build-webkit: - * Scripts/webkitdirs.pm: - -2011-01-15 Adam Barth - - Teach svn-apply about WebKit2 move. - - * Scripts/VCSUtils.pm: - -2011-01-15 Adam Barth - - Rubber-stamped by Eric Seidel. - - Move WebKit2 into Source - https://bugs.webkit.org/show_bug.cgi?id=52438 - - * MiniBrowser/qt/MiniBrowser.pro: - * Scripts/build-webkit: - * Scripts/do-file-rename: - * Scripts/do-webcore-rename: - * Scripts/test-webkitpy: - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/style/checker.py: - * WebKitTestRunner/DerivedSources.pro: - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * WebKitTestRunner/qt/WebKitTestRunner.pro: - -2011-01-15 Jochen Eisinger - - Reviewed by David Levin. - - [chromium] remove obsolete createView method - https://bugs.webkit.org/show_bug.cgi?id=52437 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::createView): - * DumpRenderTree/chromium/WebViewHost.h: - -2011-01-14 Brian Weinstein - - Reviewed by Geoff Garen. - - ShouldLoadResourceForFrame should use strings, not URLs. - https://bugs.webkit.org/show_bug.cgi?id=52476 - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::shouldLoadResourceForFrame): Update to use a WKStringRef. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2011-01-14 Tony Gentilcore - - Reviewed by David Levin. - - Add Tony Gentilcore as a reviewer - https://bugs.webkit.org/show_bug.cgi?id=52480 - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-14 David Levin - - Reviewed by Eric Seidel. - - check-webkit-style: _FunctionState should keep track of where the function name starts. - https://bugs.webkit.org/show_bug.cgi?id=52454 - - * Scripts/webkitpy/style/checkers/cpp.py: Added function_name_start_position to - _FunctionState and logic for setting it correctly. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests. - -2011-01-14 Vincent Scheib - - Reviewed by David Levin. - - Add support to DumpRenderTree to use the GPU rather than software renderer - https://bugs.webkit.org/show_bug.cgi?id=52333 - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (main): - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2011-01-14 Tony Chang - - Reviewed by Kent Tamura. - - [chromium] update fonts.conf to fix 6 linux tests in drt - https://bugs.webkit.org/show_bug.cgi?id=52411 - - * DumpRenderTree/chromium/fonts.conf: Update to match the copy in - chromium's src/webkit/tools/test_shell/resources/fonts.conf - -2011-01-14 Eric Seidel - - Original patch from Peter Gal - - Reviewed by Adam Barth. - - Fix when running Tools/Scripts/check-webkit-style without arguments. - https://bugs.webkit.org/show_bug.cgi?id=52261#c16 - - * Scripts/webkitpy/common/checkout/scm.py: Handle None for changed_files argument better in Git.create_patch method. - * Scripts/webkitpy/common/checkout/scm_unittest.py: - -2011-01-04 Jochen Eisinger - - Reviewed by David Levin. - - Store the tempdir object in a variable so it doesn't get deleted too early. - https://bugs.webkit.org/show_bug.cgi?id=51875 - - * Scripts/update-webkit-auxiliary-libs: - * Scripts/update-webkit-support-libs: - -2011-01-14 Eric Seidel - - Unreviewed. Make it work in python 2.5. - - webkit-patch suggest-reviewers dies when ChangeLogs are missing - https://bugs.webkit.org/show_bug.cgi?id=49158 - - * Scripts/webkitpy/common/checkout/api_unittest.py: - -2011-01-14 Sheriff Bot - - Unreviewed, rolling out r75774. - http://trac.webkit.org/changeset/75774 - https://bugs.webkit.org/show_bug.cgi?id=52431 - - gtk builds were broken (Requested by loislo2 on #webkit). - - * Scripts/webkitpy/common/checkout/scm.py: - -2011-01-14 David Levin - - Reviewed by Shinichiro Hamaji. - - check-webkit-style: _FunctionState should detect pure functions. - https://bugs.webkit.org/show_bug.cgi?id=52428 - - * Scripts/webkitpy/style/checkers/cpp.py: Added detection for if a function declaration - is a pure virtual function. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests for verifying that pure - virtual functions are correctly detected. - -2011-01-13 Ilya Tikhonovsky - - Reviewed by Yury Semikhatsky. - - Just small fix for problem with check-webkit-style. - It just didn't work for this patch. - Old code can't concatenate a list of strings with None. - - * Scripts/webkitpy/common/checkout/scm.py: - -2011-01-13 David Levin - - Reviewed by Shinichiro Hamaji. - - check-webkit-style: _FunctionState should use Position to know where items are. - https://bugs.webkit.org/show_bug.cgi?id=52424 - - * Scripts/webkitpy/style/checkers/cpp.py: - (_FunctionState.*): Changed _FunctionState to use Position instead of line numbers. - (detect_functions): Changed to pass Position's to _FunctionState.begin and - did some minor clean-up. - (*): Other changes are simply about converting to use the Position's in_FunctionState - instead of line numbers. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Changed the test code - to verify the positions stored in _FunctionState. - -2011-01-13 Eric Seidel - - Reviewed by David Levin. - - webkit-patch suggest-reviewers dies when ChangeLogs are missing - https://bugs.webkit.org/show_bug.cgi?id=49158 - - This is not the most elegant, but it is a very safe fix to this bug. - One advantage of catching ScriptError like this instead of adding a - new added_or_modified_files or fixing all changed_files callers - to use a more specific change_files variant, is that we catch - all kinds of ScriptErrors which might cause our (non-essential) - suggest-reviewers code to fail out. This should make passing - --suggest-reviewers to webkit-patch upload much more robust - and may even make it possible for us to make it default. - - The root of the problem here is that SCM.changed_files includes - deleted ChangeLog paths (from moves, etc) which then when we ask - SVN/Git for the contents of the file at that revision, the command - errors out and Executive.run_command raises a ScriptError. - - In the future we might fix this differently by making all current - callers of chagned_files use a more specific method for requesting - what types of changes they're interested in (adds, modifies, deletes, etc.) - - * Scripts/webkitpy/common/checkout/api.py: - * Scripts/webkitpy/common/checkout/api_unittest.py: - -2011-01-13 Dan Bernstein - - Reviewed by Alexey Proskuryakov. - - REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL - https://bugs.webkit.org/show_bug.cgi?id=52419 - - Allow to further control the behavior of the willSendRequest delegate callback by making it - set a different URL in the new request. - - * DumpRenderTree/LayoutTestController.cpp: - (addURLToRedirectCallback): Added. - (LayoutTestController::staticFunctions): Added addURLToRedirect. - (LayoutTestController::addURLToRedirect): Added. Adds the redirection to the map. - (LayoutTestController::redirectionDestinationForURL): Added this getter. - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/mac/ResourceLoadDelegate.mm: - (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): Check - if there is a redirection for the request’s URL, established by addURLToRedirect(), and if so, - change the URL in the new request to the redirect destination. - -2011-01-13 Eric Seidel - - Reviewed by Mihai Parparita. - - webkit-patch suggest-reviewers fails due to invalid utf8 in ChangeLog files - https://bugs.webkit.org/show_bug.cgi?id=52416 - - Example: webkit-patch suggest-reviewers -g ca3890fe74d94d85d6bfa48f9ea497b094d8e717 - UnicodeDecodeError: 'utf8' codec can't decode bytes in position 536-538: invalid data - - I also added FIXMEs about the changed_files returning deleted files problem - which is causing the other most common exception for suggest-reviewers - (and is probably breaking sheriff-bots blame detection). - - * Scripts/webkitpy/common/checkout/api.py: - * Scripts/webkitpy/common/checkout/api_unittest.py: - * Scripts/webkitpy/common/checkout/scm.py: - -2011-01-13 Eric Seidel - - Reviewed by Adam Barth. - - results archives from commit-queue are too large to upload - https://bugs.webkit.org/show_bug.cgi?id=52405 - - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/tool/commands/queues.py: - -2011-01-13 Alejandro G. Castro - - Reviewed by Martin Robinson. - - [gtk] Zero-sized font does not yet work - https://bugs.webkit.org/show_bug.cgi?id=49793 - - Set minimum-font-size to 0 for the DRT. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): - -2011-01-13 Csaba Osztrogonác - - Reviewed by Darin Adler. - - Make old-run-webkit-tests more robust on buildbots - https://bugs.webkit.org/show_bug.cgi?id=52364 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Pass --exit-after-n-failures 500 to old-run-webkit-tests script. - -2011-01-13 Csaba Osztrogonác - - Reviewed by Darin Adler. - - Make old-run-webkit-tests more robust on buildbots - https://bugs.webkit.org/show_bug.cgi?id=52364 - - * Scripts/old-run-webkit-tests: Ensure that testResultsDirectory is empty. - -2011-01-13 Tony Chang - - Reviewed by Kent Tamura. - - [chromium] fix plugins/plugin-javascript-access.html on Linux and Mac - https://bugs.webkit.org/show_bug.cgi?id=52332 - - Forked Info.plist is not longer needed. - - * DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist: Removed. - -2011-01-13 Mikhail Naganov - - Reviewed by Timothy Hatcher. - - Web Inspector: Cleanup after r75613 -- make all UI-facing strings - to be passed directly to WebInspector.UIString - - https://bugs.webkit.org/show_bug.cgi?id=52365 - - * Scripts/check-inspector-strings: - -2011-01-13 Sheriff Bot - - Unreviewed, rolling out r74881. - http://trac.webkit.org/changeset/74881 - https://bugs.webkit.org/show_bug.cgi?id=52357 - - The EFL builder has been red for days (Requested by abarth on - #webkit). - - * Scripts/webkitpy/common/net/buildbot/buildbot.py: - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - -2011-01-12 Maciej Stachowiak - - Reviewed by David Levin. - - Add beforeunload support to WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=52353 - - This makes a number of currently failing tests pass. - - * WebKitTestRunner/TestController.cpp: - (WTR::runBeforeUnloadConfirmPanel): - (WTR::createOtherPage): - (WTR::TestController::initialize): - -2011-01-12 Maciej Stachowiak - - Reviewed by Sam Weinig. - - Detect, identify and recover from WebProcess crashes in run-webkit-tests - https://bugs.webkit.org/show_bug.cgi?id=52330 - - * Scripts/old-run-webkit-tests: Detect when the regression test tool reports - a web process crash. - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): Set up a processDidCrash - callback. - (WTR::TestController::processDidCrash): Report that the Web process - crashed. - * WebKitTestRunner/TestController.h: - -2011-01-12 David Levin - - Reviewed by Shinichiro Hamaji. - - check-webkit-style -- close_expression function doesn't work correctly. - https://bugs.webkit.org/show_bug.cgi?id=52272 - - * Scripts/webkitpy/style/checkers/cpp.py: - (Position.__str__): Added a way to convert it to a string which is useful in tests. - (Position.__cmp__): Added a way to compare Position which is useful in tests and - generally useful (for upcoming code changes). - (close_expression): Changed to use Position for input and output. - Also, fixed many bugs such as only working correctly for parenthesis, - not working correctly if given an offset in a line and not finding - the real closing element if there were multiple closing elements in - the same line. - (detect_functions): Adjusted due to the change in arguments for - close_expression. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - (CppStyleTestBase.assert_positions_equal): Added a way to verify that - two positions are the same. - (CppStyleTest.test_position): Added tests for the __str_ and __cmp__ methods. - (CppStyleTest.test_close_expression): Added tests to catch the issues - that were fixed. - -2011-01-12 Sheriff Bot - - Unreviewed, rolling out r75576. - http://trac.webkit.org/changeset/75576 - https://bugs.webkit.org/show_bug.cgi?id=52304 - - broke rebaseline-chromium-webkit-test (Requested by thakis on - #webkit). - - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/port_testcase.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/style/checkers/test_expectations.py: - * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: - -2011-01-12 Maciej Stachowiak - - Reviewed by Darin Adler. - - Add a no-build option to run-webkit-tests, to avoid building DRT/WKTR - https://bugs.webkit.org/show_bug.cgi?id=52307 - - * Scripts/old-run-webkit-tests: - -2011-01-12 Koan-Sin Tan - - Reviewed by Martin Robinson. - - [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6 - https://bugs.webkit.org/show_bug.cgi?id=50867 - - Fixed library extention for Mac in webkitdirs.pm and type conflict in - TestNetscapePlugin.cpp - - * GNUmakefile.am: Don't use AppKit when compiling TestNetscapePlugin for GTK+ - * Scripts/webkitdirs.pm: - -2011-01-12 Mikhail Naganov - - Reviewed by Pavel Feldman. - - Add check-inspector-strings script. - - https://bugs.webkit.org/show_bug.cgi?id=52295 - - * Scripts/check-inspector-strings: Added. - -2011-01-12 Adam Roben - - Advertise the .testnetscape file extension on Windows - - Fixes - plugins/no-mime-with-valid-extension.html fails on Windows - - Reviewed by Dan Bernstein. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Added a - FileExtents field to map the .testnetscape file extension to the - application/x-webkit-test-netscape MIME type, just as we do on Mac. - -2011-01-12 Adam Barth - - Reviewed by Eric Seidel. - - Make webkit-patch support subdirectories for SVN checkouts - https://bugs.webkit.org/show_bug.cgi?id=52261 - - os.relpath does not exist on Python 2.5, so we need to call our version - of the API. - - * Scripts/webkitpy/common/checkout/scm.py: - -2011-01-11 Maciej Stachowiak - - Reviewed by Eric Seidel. - - Close additional pages opened during a test once the test completes. - https://bugs.webkit.org/show_bug.cgi?id=52276 - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::done): - -2011-01-11 David Levin - - Reviewed by Eric Seidel. - - Errors should be separated from the command line in bot messages. - https://bugs.webkit.org/show_bug.cgi?id=52275 - - * Scripts/webkitpy/common/system/executive.py: - (ScriptError.message_with_output): Added a newline to separate the command - line from the errors. - * Scripts/webkitpy/common/system/executive_unittest.py: - (ScriptErrorTest.test_message_with_output): Added tests for the various code - paths in message_with_output. - -2011-01-11 Eric Seidel - - Unreviewed. - - commit-queue should know how to upload archived results (for test flakes or general failures) - https://bugs.webkit.org/show_bug.cgi?id=52048 - - The zips are mostly empty due to forgetting -r. - Expected diffs were not being pulled from the archive due - to the archive having longer paths than I realized. - - * Scripts/webkitpy/common/system/workspace.py: - * Scripts/webkitpy/common/system/workspace_unittest.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - -2011-01-11 Dirk Pranke - - Reviewed by Ojan Vafai. - - The current modifier parsing code in test_expectations is - fragile and hard-coded, so it's not easy to understand the logic - or easily add new types of modifiers (like GPU vs. CPU testing - for graphics tests, or 32-bit vs. 64-bit differences). - - This is the first of two patches that will add in more generic - support and then eliminate the GPU-specific test expectations - files for Chromium. - - This patch adds two standalone objects for handling modifiers. The - rules for interpreting modifiers, precedence, and conflicts are - given in the docstring to the ModifierMatcher class, which - returns ModifierMatchResult objects. - - This patch also adds routines to the Port interface and a - default set of values in the base object, in order to obtain the - values needed on a given test run. These values are then passed - to the expectation parser. This also allows us to clean up the - logic used to lint all of the different configurations in a - single test_expectations.txt file. - - The next patch will merge in the separate GPU expectations file. - - https://bugs.webkit.org/show_bug.cgi?id=51222 - - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/base_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/port_testcase.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2011-01-11 Maciej Stachowiak - - Reviewed by Adam Barth. - - Make webkit-patch support subdirectories for SVN checkouts - https://bugs.webkit.org/show_bug.cgi?id=52261 - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/style_references.py: - * Scripts/webkitpy/tool/main.py: - * Scripts/webkitpy/tool/steps/preparechangelog.py: - -2011-01-11 Eric Seidel - - Unreviewed. - - commit-queue should know how to upload archived results (for test flakes or general failures) - https://bugs.webkit.org/show_bug.cgi?id=52048 - - I changed the API for archive_last_layout_test_results w/o updating the implementation. Oops. - This fixes an exception seen on the commit-queue when attempting to report flaky tests. - - * Scripts/webkitpy/common/system/workspace.py: - * Scripts/webkitpy/common/system/workspace_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - -2011-01-11 Sam Weinig - - Roll r75474 back in. - -2011-01-11 Jocelyn Turcotte - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Remove uses of QFuture since it isn't supported on all platforms. - https://bugs.webkit.org/show_bug.cgi?id=51204 - - * QtTestBrowser/webpage.h: - (QtNAMThread::QtNAMThread): - (QtNAMThread::networkAccessManager): - (QtNAMThread::run): - -2011-01-11 Peter Varga - - Unreviewed. - - Add myself to committers' list. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-11 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue should know how to upload archived results (for test flakes or general failures) - https://bugs.webkit.org/show_bug.cgi?id=52048 - - Now the queue will always upload results. Either the entire zip, or just - the diffs.txt in the case of text failures. - - This should make understanding flakes much easier, and paves the way - for having the EWS run layout tests (and upload failures). - - In order to upload .zip files I had to teach bugzilla.py to autodetect - mime types from the filename. Since mimetypes.py doesn't include a mapping - for .patch files, I have it add one before calling guess_type. - - We may find that always uploading the whole zip instead of just the -diffs.txt - file is preferable, but for now I'm keeping the old behavior because it makes - quickly understanding text failures easy. - - * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: - * Scripts/webkitpy/common/system/workspace.py: Added. - * Scripts/webkitpy/common/system/workspace_unittest.py: Added. - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2011-01-10 Sheriff Bot - - Unreviewed, rolling out r75464. - http://trac.webkit.org/changeset/75464 - https://bugs.webkit.org/show_bug.cgi?id=52193 - - Followup rollout for 75474 (Requested by Ossy on #webkit). - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - (WTR::TestController::initialize): - -2011-01-10 Laszlo Gombos - - Reviewed by Csaba Osztrogonác. - - [Qt] Baseline qt_minimal configuration - https://bugs.webkit.org/show_bug.cgi?id=51313 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): Add - QT_NO_UNDOSTACK guard. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): Add QT_NO_SHORTCUT and QT_NO_PRINTER - guards. - (LauncherWindow::applyZoom): Add QT_NO_ANIMATION guard. - (LauncherWindow::screenshot): Add QT_NO_FILEDIALOG guard. - (LauncherWindow::selectElements): Add QT_NO_INPUTDIALOG guard. - (LauncherWindow::showUserAgentDialog): Add QT_NO_COMBOBOX guard. - - * QtTestBrowser/launcherwindow.h: - * QtTestBrowser/locationedit.cpp: Add QT_NO_INPUTDIALOG guard. - * QtTestBrowser/locationedit.h: Ditto. - - * QtTestBrowser/mainwindow.cpp: - (MainWindow::buildUI): Add QT_NO_INPUTDIALOG, QT_NO_SHORTCUT and - QT_NO_UNDOSTACK guards. - (MainWindow::setAddressUrl): Add QT_NO_INPUTDIALOG guard. - (MainWindow::changeLocation): Ditto. - (MainWindow::openFile): Add QT_NO_FILEDIALOG guard. - (MainWindow::openLocation): Add QT_NO_INPUTDIALOG guard. - - * QtTestBrowser/webpage.cpp: - (WebPage::openUrlInDefaultBrowser): Add QT_NO_DESKTOPSERVICES guard. - (WebPage::authenticationRequired): Add QT_NO_LINEEDIT guard. - - * QtTestBrowser/webview.cpp: - (WebViewGraphicsBased::animatedFlip): Add QT_NO_ANIMATION guard. - (WebViewGraphicsBased::animatedYFlip): Ditto. - -2011-01-10 Sam Weinig - - Fix build. - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - (WTR::TestController::initialize): - -2011-01-10 Eric Seidel - - Reviewed by Ojan Vafai. - - style-queue messages are way too long for big patches - https://bugs.webkit.org/show_bug.cgi?id=52161 - - We definitely could build much fancier list-to-string-with-limit functions - but this should be sufficient for our needs at the moment. - - * Scripts/webkitpy/common/system/executive.py: - * Scripts/webkitpy/common/system/executive_unittest.py: - -2011-01-10 Tony Chang - - Unreviewed, rolling out r75398. - http://trac.webkit.org/changeset/75398 - https://bugs.webkit.org/show_bug.cgi?id=52008 - - Some layout tests are crashing on Chromium Win. - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::updatePaintRect): - * DumpRenderTree/chromium/WebViewHost.h: - -2011-01-10 Adam Roben - - Roll out r75392 - - It isn't needed now that r75289 has been rolled out. - - * Scripts/run-javascriptcore-tests: - -2011-01-10 Maciej Stachowiak - - Reviewed by Anders Carlsson. - - WebKitTestRunner uses crazy amounts of CPU, making layout tests slow and flaky - https://bugs.webkit.org/show_bug.cgi?id=52160 - - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::platformRunUntil): Instead of busy-looping, wait for the timeout. - Anything that can make runUntil() conditions turn true will happen on a run loop cycle - anyway. - -2011-01-10 Tony Chang - - Reviewed by Mihai Parparita. - - [chromium] fix for animated gif layout tests - https://bugs.webkit.org/show_bug.cgi?id=52008 - - * DumpRenderTree/chromium/WebViewHost.cpp: Schedule a paint when we update the paint rect - to trigger gif animations. - (WebViewHostPaintTask::WebViewHostPaintTask): - (WebViewHostPaintTask::runIfValid): - (WebViewHost::updatePaintRect): - * DumpRenderTree/chromium/WebViewHost.h: - (WebViewHost::taskList): - -2011-01-10 Alejandro G. Castro - - Reviewed by Xan Lopez. - - [GTK] Fix gtk2 compilation for master - https://bugs.webkit.org/show_bug.cgi?id=51885 - - * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: - (createBitmapContextFromWebView): Replaced the old - gdk_drawable_get_size with gdk_pixmap_get_size. - -2011-01-10 Patrick Gansterer - - Reviewed by Laszlo Gombos. - - [WINCE] Reenable NPAPI after r75203 - https://bugs.webkit.org/show_bug.cgi?id=52109 - - Remove the !isWinCE() check for ENABLE_NETSCAPE_PLUGIN_API and replace - it with !isEfl(), because EFL port does not support NPAPI (yet). - - * Scripts/build-webkit: - -2011-01-10 Adam Roben - - Skip some asserting JS tests - - See . - - * Scripts/run-javascriptcore-tests: - -2011-01-10 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] build-webkit disable Blob support via arguments passed to automake - https://bugs.webkit.org/show_bug.cgi?id=52097 - - * Scripts/build-webkit: Enable Blob support when building WebKitGTK+ via - build-webkit. - -2011-01-10 Adam Roben - - Use the same name and description for TestNetscapePlugin on Windows and - Mac - - Fixes - fast/frames/iframe-reparenting-plugins.html fails on Windows - - Reviewed by Steve Falkenburg. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Copied - the name and description from Mac's Info.plist. - -2011-01-10 Siddharth Mathur - - Reviewed by Laszlo Gombos. - - [Qt][WK2] Guard gcc-specific syntax - - Non-gcc based compliers choke on the "-include" - syntax for preinclude, place guard around it. - - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * WebKitTestRunner/qt/WebKitTestRunner.pro: - -2011-01-10 Andreas Kling - - Reviewed by Simon Hausmann. - - [Qt] [WK2] MiniBrowser does not load pages opened in new windows - https://bugs.webkit.org/show_bug.cgi?id=52111 - - When getting a createNewPage() callback from QWKPage, create the - new page with the same QWKContext as the page that is passed to - the callback. - - * MiniBrowser/qt/BrowserView.h: - * MiniBrowser/qt/BrowserWindow.cpp: - (newPageFunction): - (BrowserWindow::BrowserWindow): - * MiniBrowser/qt/BrowserWindow.h: - -2011-01-10 Andreas Kling - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] MiniBrowser: Remove superfluous createNewPage() callback - - BrowserView set its own useless createNewPage() callback on QWKPage. - This was immediately overridden by BrowserWindow anyway, so remove - the BrowserView one. - - * MiniBrowser/qt/BrowserView.cpp: - (BrowserView::BrowserView): - -2011-01-10 John Knottenbelt - - Reviewed by Jeremy Orlow. - - [Chromium] Remove non-client-based Geolocation code - https://bugs.webkit.org/show_bug.cgi?id=50921 - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::setGeolocationPermission): - (LayoutTestController::setMockGeolocationPosition): - (LayoutTestController::setMockGeolocationError): - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::geolocationClientMock): - (WebViewHost::reset): - * DumpRenderTree/chromium/WebViewHost.h: - -2011-01-10 Eric Seidel - - Reviewed by Adam Barth. - - Commit bot tried to land r? cq+ patch - https://bugs.webkit.org/show_bug.cgi?id=36638 - - It should now be possible to post a patch with r? and cq+ and the - commit-queue will correctly wait for the r+ before attempting to land the patch. - (This was a feature requested by several users.) - - One caveat: We don't actually reject r-, cq+ patches from the queue - (we just ignore them), but I think that's OK for now. - - I also noticed that setting r- once a commit-queue node had grabbed - a patch would not properly cancel the landing. That's fixed and - tested in this patch. - - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: - * Scripts/webkitpy/tool/bot/feeders.py: - * Scripts/webkitpy/tool/bot/feeders_unittest.py: - -2011-01-08 Benjamin Poulain - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] QtWebKit crashes when using XMLHttpRequest from the unload event - https://bugs.webkit.org/show_bug.cgi?id=51934 - - When accessing the network from the destructor of QWebPage, the network access manager - was already deleted because the object WebPage was already destructed. - - This solve the problem by linking the lifetime of the network access manager to WebPage's QObject. - The object is now destructed in the destructor of QObject. - - * QtTestBrowser/webpage.cpp: - (WebPage::WebPage): - (WebPage::setQnamThreaded): - * QtTestBrowser/webpage.h: - (QtNAMThread::QtNAMThread): - -2011-01-08 Eric Seidel - - Reviewed by Ojan Vafai. - - test_failures.py should not mention TestShell (long live DumpRenderTree!) - https://bugs.webkit.org/show_bug.cgi?id=52067 - - I ran test-webkitpy, but didn't bother adding a unit test for this string change. - https://bugs.webkit.org/show_bug.cgi?id=51138#c3 is an example of why this is needed. - - * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: - -2011-01-08 Eric Seidel - - Reviewed by Mihai Parparita. - - commit-queue hangs when the ChangeLog diff is bad - https://bugs.webkit.org/show_bug.cgi?id=52072 - - * Scripts/webkitpy/tool/steps/validatechangelogs.py: - * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py: - -2011-01-08 Adam Barth - - Teach svn-apply how to re-write WebCore to Source/WebCore. - - * Scripts/VCSUtils.pm: - -2011-01-07 Adam Barth - - Rubber-stamped by Eric Seidel. - - Move WebCore to Source - https://bugs.webkit.org/show_bug.cgi?id=52050 - - Update the tools to understand WebCore's new location. - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - * DumpRenderTree/wscript: - * GNUmakefile.am: - * Scripts/build-webkit: - * Scripts/do-file-rename: - * Scripts/do-webcore-rename: - * Scripts/generate-qt-inspector-resource: - * Scripts/prepare-ChangeLog: - * Scripts/run-bindings-tests: - * Scripts/update-iexploder-cssproperties: - * Scripts/update-sources-list.py: - * Scripts/update-webkit-localizable-strings: - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/common/config/build.py: - * Scripts/webkitpy/common/config/build_unittest.py: - * Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py: - * Scripts/webkitpy/style/checker.py: - * Scripts/webkitpy/style/checker_unittest.py: - * WebKitTestRunner/DerivedSources.pro: - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh: - * wx/browser/wscript: - * wx/build/settings.py: - -2011-01-07 Maciej Stachowiak - - Reviewed by Sam Weinig. - - Make WebKitTestRunner rest between loads more robust to avoid test crashes - https://bugs.webkit.org/show_bug.cgi?id=52086 - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::didReceiveMessage): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::notifyDone): - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::resetStateToConsistentValues): - (WTR::TestController::run): - -2011-01-07 James Robinson - - Revert "Implement mozilla's animationTime property" - https://bugs.webkit.org/show_bug.cgi?id=51952 - - This approach isn't quite right. - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::paintInvalidatedRegion): - -2011-01-07 Adam Roben - - Build master fix - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - (RunWebKitTests.start): Don't try to concatenate a list and a string. - -2011-01-07 Jedrzej Nowacki - - Reviewed by Csaba Osztrogonác. - - run-qtwebkit-tests should be able to kill a testsuite. - - Add new option in the script that can setup a timeout for a test. - If the test execution takes more then specified time then the test - would be terminated. - - [Qt] run-qtwebkit-tests needs timeout - https://bugs.webkit.org/show_bug.cgi?id=51894 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - * Scripts/run-qtwebkit-tests: - -2011-01-07 Csaba Osztrogonác - - Unreviewed fix after r75233. - - Based on idea from Eric Seidel. - - Add remote zip file handling to webkitpy. - https://bugs.webkit.org/show_bug.cgi?id=50901 - - * Scripts/webkitpy/common/system/fileset.py: Make python 2.5 happy. - -2011-01-07 Shane Stephens - - Reviewed by Eric Seidel. - - svn-apply: should support git binary delta diffs - https://bugs.webkit.org/show_bug.cgi?id=38864 - - * Scripts/VCSUtils.pm: - * Scripts/svn-apply: - -2011-01-06 Julie Parent - - Reviewed by Eric Seidel. - - Test Result Server not removing old results. - https://bugs.webkit.org/show_bug.cgi?id=52012 - - * TestResultServer/model/jsonresults.py: - Fix off-by-one: Truncate if >= num_runs, not just >. - * TestResultServer/model/jsonresults_unittest.py: - Add unit test to test that merging in a new result with the same value - as the last result causes previous result to fall off. - -2011-01-06 James Kozianski - - Reviewed by Mihai Parparita. - - Add classes to provide a consistent interface to a set of files. - https://bugs.webkit.org/show_bug.cgi?id=50901 - - These classes allow us to write code that is agnostic to whether a - particular set of files resides in a local directory or in a zip file - on a remote machine. - - * Scripts/webkitpy/common/system/directoryfileset.py: Added. - * Scripts/webkitpy/common/system/directoryfileset_unittest.py: Added. - * Scripts/webkitpy/common/system/fileset.py: Added. - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/common/system/zipfileset.py: Added. - * Scripts/webkitpy/common/system/zipfileset_unittest.py: Added. - -2011-01-06 Eric Seidel - - Reviewed by Adam Barth. - - NetworkTransaction should log the url it is retrying - https://bugs.webkit.org/show_bug.cgi?id=52043 - - * Scripts/webkitpy/common/net/networktransaction.py: - * Scripts/webkitpy/common/net/networktransaction_unittest.py: - -2011-01-06 Steve Falkenburg - - Windows build fix. - Import os before using it. - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - -2011-01-06 Eric Seidel - - Reviewed by Adam Barth. - - StyleQueue fails to report errors when patches have many files - https://bugs.webkit.org/show_bug.cgi?id=52042 - - This is one of at least two errors preventing style error reporting at the moment. - When we moved to passing the list of files to check explicitly, - we started to exceed the 500 character TEXT field limit for our AppEngine model object. - We could change the type of the QueueStatus.message type, or we could - just teach statusserver.py how to clamp values (and warn when it does). - I chose the latter path. - - * Scripts/webkitpy/common/net/statusserver.py: - -2011-01-06 Steve Falkenburg - - Reviewed by Stephanie Lewis. - - Fix syntax error in script. - - Windows bots need to archive/unarchive builds to/from configuration-specific directories - https://bugs.webkit.org/show_bug.cgi?id=51996 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - -2011-01-06 Laszlo Gombos - - Unreviewed, fixing WinCE build after r75196. - - WinCE port does not (yet) support NPAPI. - - * Scripts/build-webkit: - -2011-01-06 Xan Lopez - - Reviewed by Darin Adler. - - File::Spec->rel2abs in sunspider-compare-results mangles parameters - https://bugs.webkit.org/show_bug.cgi?id=52015 - - * Scripts/sunspider-compare-results: call rel2abs on our arguments - after the platform has been detected, otherwise the script will - mangle things like '--gtk' into '/a/path/--gtk', breaking the - detection. - -2011-01-06 Laszlo Gombos - - Reviewed by Eric Seidel. - - Add ENABLE_NETSCAPE_PLUGIN_API, ENABLE_ORIENTATION_EVENTS and ENABLE_TOUCH_EVENTS flags to build-webkit - https://bugs.webkit.org/show_bug.cgi?id=51346 - - * Scripts/build-webkit: - -2011-01-06 Steve Falkenburg - - Reviewed by Adam Roben. - - Windows bots need to archive/unarchive builds to/from configuration-specific directories - https://bugs.webkit.org/show_bug.cgi?id=51996 - - After the configuration directory change, we were archiving the incorrect directory for - build product, so we were running tests on the wrong binaries. - - This change archives the correct directory, and also unarchives it into a configuration- - specific directory. - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Use a configuration-specific directory on Windows. - * BuildSlaveSupport/built-product-archive: Unarchive/archive to/from proper directory. - -2011-01-06 Eric Seidel - - Reviewed by Mihai Parparita. - - commit-queue mentions "Text diff mismatch" 4 times instead of once per failure - https://bugs.webkit.org/show_bug.cgi?id=52002 - - See an example of this here: - https://bugs.webkit.org/show_bug.cgi?id=51314#c2 - - It's due to the fact that we pass around TestFailure() instance - objects and yet expect them to all compare to be the same. - - This is bad. We should either have shared instances of these values - or we should just pass around the class names. There are already hacks - in place to make TestFailure objects pass equality tests, I just added - a __hash__ implementation so they can be used in sets as expected. - - * Scripts/webkitpy/common/net/layouttestresults_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: - -2011-01-06 Evan Martin - - Reviewed by Tony Chang. - - [gdb] handle inaccessible memory and UChar* - https://bugs.webkit.org/show_bug.cgi?id=52003 - - To pretty-print a UChar*, we just grope around in the memory - looking for a terminating NUL. We need to handle the exception - that can occur when we poke into an invalid location. - - Additionally, the logic for choosing which pretty-printer would - early return before hitting the point where we'd use the UChar* - printer. (Did this ever work? How did it regress?) - - * gdb/webkit.py: - -2011-01-05 Brian Weinstein - - Reviewed by Ada Chan. - - WebKit2: Should be able to call into injected bundle to ask if we should allow resource loads - https://bugs.webkit.org/show_bug.cgi?id=51969 - - Add shouldLoadResourceForFrame to WTR::InjectedBundlePage. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::shouldLoadResourceForFrame): Stub implementation. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2011-01-06 James Robinson - - Reviewed by Simon Fraser. - - Implement mozilla's animationTime property - https://bugs.webkit.org/show_bug.cgi?id=51952 - - Chromium DRT support for webkitAnimationTime. - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::paintInvalidatedRegion): - -2011-01-06 Julie Parent - - Reviewed by Tony Chang. - - Test Result Server always truncates number of results to JSON_RESULTS_MAX_BUILDS - https://bugs.webkit.org/show_bug.cgi?id=51217 - - * TestResultServer/model/jsonresults.py: - Pass num_runs through to _remove_items_over_max_number_of_builds, and use the value. - Adds missing documentation. - * TestResultServer/model/jsonresults_unittest.py: - Add unit test to test that truncation happens at smaller value than JSON_RESULTS_MAX_BUILDS. - Update test_merge to take a number of builds to truncate at. - -2011-01-06 Adam Barth - - Reviewed by Eric Seidel. - - The EWS should log outside of the working directory - https://bugs.webkit.org/show_bug.cgi?id=51986 - - This patch prepare us for using git clean -x -d -f in the EWS wrapper - script, which will actually clean the working copy back to a pristine - state instead of leaving untracked directories and ignored files. - - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2011-01-05 Steve Falkenburg - - Windows build fix. - Back out attempted change to built-product-archive. - - * BuildSlaveSupport/built-product-archive: - -2011-01-05 Steve Falkenburg - - Windows build fix. - Include configuration name when unpacking a build archive. - - Needed, since we split Windows build results into configuration-specific directories - under WebKitOutputDir. - - * BuildSlaveSupport/built-product-archive: - -2011-01-05 Steve Falkenburg - - Reviewed by Darin Adler. - - Debug and Release builds on Windows clobber each other - https://bugs.webkit.org/show_bug.cgi?id=49185 - - Changes the structure of WebKitBuild build products directory so we - completely separate each build configuration into independent directories. - - Although we previously had per-configuration directories for obj, this change adds - per-configuration directories for bin, lib, obj, and include. Each configuration's - build products are stored within a directory inside of WebKitBuild. - - Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir), - defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName). - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops: - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPostBuild.cmd: - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPreBuild.cmd: - * DumpRenderTree/win/DumpRenderTreeCommon.vsprops: - * DumpRenderTree/win/DumpRenderTreePostBuild.cmd: - * DumpRenderTree/win/DumpRenderTreePreBuild.cmd: - * DumpRenderTree/win/ImageDiffCommon.vsprops: - * DumpRenderTree/win/ImageDiffPostBuild.cmd: - * DumpRenderTree/win/ImageDiffPreBuild.cmd: - * FindSafari/FindSafari.vcproj: - * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: - * MiniBrowser/MiniBrowserPostBuild.cmd: - * MiniBrowser/MiniBrowserPreBuild.cmd: - * Scripts/webkitdirs.pm: - * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops: - * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops: - * TestWebKitAPI/win/TestWebKitAPIPostBuild.cmd: - * TestWebKitAPI/win/TestWebKitAPIPreBuild.cmd: - * TestWebKitAPI/win/copy-resources.cmd: - * WebKitAPITest/WebKitAPITestCommon.vsprops: - * WebKitAPITest/WebKitAPITestPostBuild.cmd: - * WebKitAPITest/WebKitAPITestPreBuild.cmd: - * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: - * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops: - * WebKitTestRunner/win/InjectedBundle.vcproj: - * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops: - * WebKitTestRunner/win/InjectedBundlePostBuild.cmd: - * WebKitTestRunner/win/InjectedBundlePreBuild.cmd: - * WebKitTestRunner/win/WebKitTestRunnerPostBuild.cmd: - * WebKitTestRunner/win/WebKitTestRunnerPreBuild.cmd: - * WinLauncher/WinLauncherCommon.vsprops: - * WinLauncher/WinLauncherPostBuild.cmd: - * WinLauncher/WinLauncherPreBuild.cmd: - -2011-01-05 Jan Erik Hanssen - - Reviewed by Ariya Hidayat. - - [Qt] TestNetscapePlugin doesn't link on OS X - https://bugs.webkit.org/show_bug.cgi?id=51948 - - Only add a dependency on libX11 on X11 systems - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - -2011-01-05 Jeff Miller - - Reviewed by Adam Roben. - - check-webkit-style should allow unnecessary parameter names in WebKit2 APIs because we're matching CF's header style - https://bugs.webkit.org/show_bug.cgi?id=51970 - - * Scripts/webkitpy/style/checker.py: - Add -readability/naming for WebKit2 C API directories. - -2011-01-05 Eric Seidel - - Unreviewed, just fixing one more log error from my previous python patch. - - Move LayoutTestResults over to new-run-webkit-tests TestResult architecture - https://bugs.webkit.org/show_bug.cgi?id=51802 - - webkit-patch failure-reason was logging about parsing errors - due to my misunderstanding of how BeautifulSoup.findAll worked. - - Fixed, and added a unit test. - - * Scripts/webkitpy/common/net/layouttestresults.py: - * Scripts/webkitpy/common/net/layouttestresults_unittest.py: - -2011-01-05 Benjamin Poulain - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] [WK2] Add the possibility to open window from the WebProcess in Minibrowser - https://bugs.webkit.org/show_bug.cgi?id=51951 - - Set a function to QWKPage::setCreateNewPageFunction() in Minibrowser so there is a way - to create new window from WebKit. - - * MiniBrowser/qt/BrowserWindow.cpp: - (newPageFunction): - (BrowserWindow::BrowserWindow): - (BrowserWindow::page): Added to avoid the indirect access to QWKPage spread in the class - (BrowserWindow::newWindow): - (BrowserWindow::updateUserAgentList): - (BrowserWindow::showUserAgentDialog): - * MiniBrowser/qt/BrowserWindow.h: Add the global variable backingStoreTypeForNewWindow to - define the type of the backing store used for new windows. - * MiniBrowser/qt/main.cpp: - (main): - -2011-01-05 Eric Seidel - - Reviewed by Ojan Vafai. - - commit-queue should report failure type when reporting flaky tests - https://bugs.webkit.org/show_bug.cgi?id=51900 - - This patch was a ridiculous amount of plumbing. In the end I like - the NRWT-style TestResult class even less. But now we're passing - a list of TestResult objects from the queue to the FlakyTestReporter. - Thus the FlakyTestReporter can more easily report what type of failure - occurred. - - In the process, I found that I was not alone in finding TestResult - cumbersome to use. A bunch of code was trying to create a TestResult - object with default values. However since the constructor didn't make - this easy, some places were getting it wrong (including the TestResult unit test)! - I've fixed the TestResult constructor to have default values for non-essential - arguments. - - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - * Scripts/webkitpy/common/net/layouttestresults.py: - * Scripts/webkitpy/common/net/layouttestresults_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_results.py: - * Scripts/webkitpy/layout_tests/layout_package/test_results_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2011-01-05 Eric Seidel - - Unreviewed. - - Move LayoutTestResults over to new-run-webkit-tests TestResult architecture - https://bugs.webkit.org/show_bug.cgi?id=51802 - - Add another unit test to cover a previously missing import. - - * Scripts/webkitpy/common/net/layouttestresults.py: - * Scripts/webkitpy/common/net/layouttestresults_unittest.py: - -2011-01-05 Mihai Parparita - - Reviewed by David Levin. - - Add mihaip@chromium.org as a reviewer - https://bugs.webkit.org/show_bug.cgi?id=51966 - - Add myself as a reviewer. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-05 James Simonsen - - Unreviewed. Adding myself to the list of committers. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-05 Eric Seidel - - Unreviewed. - - Move LayoutTestResults over to new-run-webkit-tests TestResult architecture - https://bugs.webkit.org/show_bug.cgi?id=51802 - - Fix two exceptions seen on the bots after my original commit. - - * Scripts/webkitpy/common/net/layouttestresults.py: - * Scripts/webkitpy/common/net/layouttestresults_unittest.py: - -2011-01-05 Kundu Suchismita - - Reviewed by Andreas Kling. - - [Qt]Add local storage settings to QtTestBrowser command line arguments - https://bugs.webkit.org/show_bug.cgi?id=51750 - - * QtTestBrowser/main.cpp: - (LauncherApplication::handleUserOptions): - Local storage settings can be enable form command line arguments for - QtTestBrowser. - -2011-01-05 Chris Fleizach - - Reviewed by Martin Robinson. - - GTK: AX: DRT needs to use correct root object method. - https://bugs.webkit.org/show_bug.cgi?id=51911 - - * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: - (AccessibilityController::rootElement): - -2011-01-05 Gabor Rapcsanyi - - Rubber-stamped by Csaba Osztrogonác. - - Based on idea from Péter Gál. - - * Scripts/webkitpy/tool/bot/sheriff.py: Remove unnecessary apostrophes around revision numbers. - -2011-01-05 Gabor Rapcsanyi - - Reviewed by Adam Barth. - - sheriff-bot should be able to do multi-revision rollouts - https://bugs.webkit.org/show_bug.cgi?id=51176 - - * Scripts/webkitpy/tool/bot/irc_command.py: - * Scripts/webkitpy/tool/bot/sheriff.py: - * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: - -2011-01-05 Eric Seidel - - Reviewed by Adam Barth. - - queues.webkit.org should have per-bot status pages - https://bugs.webkit.org/show_bug.cgi?id=51906 - - Just adds a /queue-status/QUEUE_NAME/bots/BOT_ID page to show - statuses from a single queue. Now that we have many bots servicing - some queues (commit-queue, win-ews, etc.) its easy to have the messages - you care about scroll off the end of the 15-message limit on the main page. - - Eventually we should probably rename /queue-status to /queue or /queues, - but that's fodder for another patch. - - * QueueStatusServer/handlers/queuestatus.py: - * QueueStatusServer/index.yaml: - * QueueStatusServer/main.py: - * QueueStatusServer/templates/includes/singlequeuestatus.html: - - This probably should use a custom filter instead of hard-coding - the URL scheme here, but I couldn't figure out how to easily - create such a filter. Most filters work with "strings" so we can't - pass the status object. We could add a method to the status - object and call that, but that seemed a bit strange too. - * QueueStatusServer/templates/queuestatus.html: - -2011-01-05 Carlos Garcia Campos - - Unreviewed. Adding myself to the list of committers. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-04 Koan-Sin Tan - - Reviewed by David Levin. - - check-webkit-style treated some macros with parentheses after #elif as function calls - https://bugs.webkit.org/show_bug.cgi?id=51695 - - Ingore function call space checking in any preprocessor directives - (things starting with #). Change search() to match() because - preprocessor directives are supposed to be in the beginning of lines. - - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: make sure there is no false positives for #elif cases - -2011-01-04 Søren Gjesse - - Reviewed by Tony Chang. - - Change the --multi-load test option to --stress-opt - https://bugs.webkit.org/show_bug.cgi?id=50751 - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (runTest): - (main): - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): - * DumpRenderTree/chromium/TestShell.h: - (TestShell::stressOpt): - (TestShell::setStressOpt): - (TestShell::stressDeopt): - (TestShell::setStressDeopt): - (TestShell::javaScriptFlags): - (TestShell::setJavaScriptFlags): - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2011-01-04 Chris Fleizach - - Reviewed by Sam Weinig. - - WK2: Support Accessibility - https://bugs.webkit.org/show_bug.cgi?id=51859 - - Use rootObject() method to get top of accessibility tree. - - * DumpRenderTree/mac/AccessibilityControllerMac.mm: - (AccessibilityController::focusedElement): - (AccessibilityController::rootElement): - -2011-01-03 Martin Robinson - - Reviewed by Darin Adler. - - Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr - https://bugs.webkit.org/show_bug.cgi?id=51846 - - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: Change usage of PlatformRefPtr - back to GRefPtr. - -2011-01-04 Zhe Su - - Reviewed by Kenneth Russell. - - Fix insertText, setMarkedText and unmarkText methods of - TextInputController to call corresponding methods of WebKit::WebView - rather than WebKit::WebFrame. This change matches the behavior of - chromium browser. - insertText corresponds to WebView::confirmComposition(text) - setMarkedText corresponds to WebView::setComposition(...) - unmarkText corresponds to WebView::confirmComposition() - https://bugs.webkit.org/show_bug.cgi?id=51693 - - * DumpRenderTree/chromium/TextInputController.cpp: - (TextInputController::insertText): - (TextInputController::setMarkedText): - (TextInputController::unmarkText): - -2011-01-04 Dihan Wickremasuriya - - Reviewed by Laszlo Gombos. - - [Qt] [Symbian] Do not remove 0 byte sized files from productDir - - On Symbian productDir points to the source directory. Removing all the - empty files from the productDir directory corrupts the svn repository. - - * Scripts/build-webkit: - -2011-01-03 Yi Shen - - Reviewed by Adam Barth. - - [Qt] Add SelectAll option to the context menu for the editor - https://bugs.webkit.org/show_bug.cgi?id=50049 - - Set shortcut for the SelectAll action. - - * QtTestBrowser/mainwindow.cpp: - (MainWindow::buildUI): - -2011-01-03 David Levin - - Reviewed by Eric Seidel. - - check-webkit-style shouldn't consider "value" automatically to be a meaningless name. - https://bugs.webkit.org/show_bug.cgi?id=51842 - - * Scripts/webkitpy/style/checkers/cpp.py: Remove the check for value. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Remove the test for value. - -2011-01-03 Patrick Gansterer - - Reviewed by David Kilzer. - - [WINCE] Adds a build slave. - https://bugs.webkit.org/show_bug.cgi?id=50523 - - * BuildSlaveSupport/build.webkit.org-config/config.json: Add an - entry for a release build of the WinCE port. - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Add platform - flag to build the WinCE port. - -2011-01-03 Patrick Gansterer - - Reviewed by David Kilzer. - - Add WinCE support to build-webkit - https://bugs.webkit.org/show_bug.cgi?id=51642 - - * Scripts/build-webkit: - * Scripts/webkitdirs.pm: - -2011-01-03 Eric Seidel - - Reviewed by Adam Barth. - - Move LayoutTestResults over to new-run-webkit-tests TestResult architecture - https://bugs.webkit.org/show_bug.cgi?id=51802 - - I'm not the biggest fan of the test_failures or test_results classes, - but it's better to have one shared set of classes, than separate ones - for new vs. old run-webkit-test result handling. - - This moves the ORWT results class "LayoutTestResults" over to using - TestResult and TestFailure classes, making it easy for us to - make all our sheriff-bot and other webkitpy code NRWT ready. - - This also makes it a trivial patch to generate results.json information - from ORWT results.html files (for flaky test analysis, etc.) as well - as making it a one-liner to report test failure types when the - commit-queue sees flaky tests. - - This patch tried not to add new functionality, but only to replace - the guts of LayoutTestResults, while adding unit tests and hoping - not to break anything. - - I also moved callers which assumed User.prompt* were static/class methods - to using them as instance methods (since we'll eventually want to make them such). - - In the process of re-writing things, I broke the rebaseline command, so I wrote - a unit test to catch my breakage were I do do so again in the future. - - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - * Scripts/webkitpy/common/net/layouttestresults.py: - * Scripts/webkitpy/common/net/layouttestresults_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: - * Scripts/webkitpy/layout_tests/layout_package/test_results.py: - * Scripts/webkitpy/tool/commands/queries.py: - * Scripts/webkitpy/tool/commands/rebaseline.py: - * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - -2011-01-03 Adam Barth - - Reviewed by Simon Fraser. - - webkit-patch shouldn't waste time cleaning a working directory that's already clean - https://bugs.webkit.org/show_bug.cgi?id=51840 - - * Scripts/webkitpy/common/checkout/scm.py: - -2011-01-03 Adam Barth - - Reviewed by Simon Fraser. - - webkit-patch should only hide update output if --quiet - https://bugs.webkit.org/show_bug.cgi?id=51838 - - As requested by smfr. - - * Scripts/webkitpy/tool/steps/update.py: - -2011-01-03 Adam Barth - - Reviewed by David Levin. - - commit-queue shouldn't reject patches twice if two bots process the same patch - https://bugs.webkit.org/show_bug.cgi?id=51805 - - Before raising an error, we first check whether the patch is still in - the commit-queue. This check is still racy, of course, but the time - window is much smaller. - - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - -2011-01-03 Sam Weinig - - Reviewed by Anders Carlsson. - - Make run-api-tests less chatty. - https://bugs.webkit.org/show_bug.cgi?id=51831 - - - Make script quiet by default and add --verbose option (replacing --quiet). - - When not verbose, pipe stdout and stderr to devnull. - - * Scripts/run-api-tests: - -2011-01-03 Pratik Solanki - - Unreviewed. Adding myself to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2011-01-03 Koan-Sin Tan - - Reviewed by Xan Lopez. - - "Tool/Scripts/run-launcher --gtk" stopped working after 74855 - https://bugs.webkit.org/show_bug.cgi?id=51806 - - Originally, the $libraryName is 'JavaScriptCore'. When building release - one, the $libraryDir was 'WebKitBuild/Release/JavaScriptCore/../.libs/' - which doesn't exist anymore ('WebKitBuild/Release/JavaScriptCore' - is 'WebKitBuild/Release/Source/JavaScriptCore' now), and - 'WebKitBuild/Release/Source/JavaScriptCore/../../.libs' looks weird, - so make it 'WebKitBuild/Release/.libs' - - * Scripts/webkitdirs.pm: - -2011-01-02 Patrick Gansterer - - Reviewed by Adam Barth. - - Make EFL a core builder - https://bugs.webkit.org/show_bug.cgi?id=51804 - - * Scripts/webkitpy/common/net/buildbot/buildbot.py: - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - -2011-01-02 Csaba Osztrogonác - - [Qt] Unreviewed fix after r74855 and r74875. - - * BuildSlaveSupport/built-product-archive: - - Create directories explicitly. - - Pass shell=True to subprocess.call(). - -2011-01-02 Csaba Osztrogonác - - [Qt] Unreviewed fix after r74855. - - Move JavaScriptCore to Source - https://bugs.webkit.org/show_bug.cgi?id=51604 - - * BuildSlaveSupport/built-product-archive: JavaScriptCore -> Source/JavaScriptCore - -2011-01-02 Csaba Osztrogonác - - [Qt] Unreviewed run-javasriptcore-tests fix after r74855. - - Move JavaScriptCore to Source - https://bugs.webkit.org/show_bug.cgi?id=51604 - - * Scripts/webkitdirs.pm: - -2011-01-02 Robert Hogan - - Unreviewed, build fix. - - [Qt] Fix DRT build after 74855 - - * DumpRenderTree/qt/DumpRenderTree.pro: - -2011-01-01 Adam Barth - - Remove the assumption from the Qt and Gtk builds that every project is - in the root directory. - - * Scripts/build-webkit: - -2011-01-01 Adam Barth - - Reviewed by Eric Seidel. - - Teach svn-apply how to apply patches even though JavaScriptCore has moved - https://bugs.webkit.org/show_bug.cgi?id=51796 - - After this change, svn-apply will magically apply patches to - JavaScriptCore/foo to Source/JavaScriptCore/foo. - - * Scripts/VCSUtils.pm: - -2011-01-01 Adam Barth - - Reviewed by Eric Seidel. - - Move JavaScriptCore to Source - https://bugs.webkit.org/show_bug.cgi?id=51604 - - Update references to JavaScriptCore to point to the new location. - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - * DumpRenderTree/qt/DumpRenderTree.pro: - * DumpRenderTree/qt/ImageDiff.pro: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - * DumpRenderTree/wscript: - * Scripts/build-jsc: - * Scripts/build-webkit: - * Scripts/do-file-rename: - * Scripts/do-webcore-rename: - * Scripts/run-javascriptcore-tests: - * Scripts/update-javascriptcore-test-results: - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/common/config/build_unittest.py: - * Scripts/webkitpy/style/checker.py: - * Scripts/webkitpy/style/checker_unittest.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * WebKitTestRunner/qt/WebKitTestRunner.pro: - * wx/build/settings.py: - -2011-01-01 Adam Barth - - Reviewed by Eric Seidel. - - Move Sources to Source - https://bugs.webkit.org/show_bug.cgi?id=51794 - - Update scripts to point to the new location. - - * Scripts/build-webkit: - * Scripts/do-file-rename: - * Scripts/do-webcore-rename: - * Scripts/webkitpy/common/config/build.py: - * Scripts/webkitpy/common/config/build_unittest.py: - -2010-12-31 Kent Tamura - - Reviewed by Eric Seidel. - - [DRT/Chromium] Enable mock spell checker on non-OSX - https://bugs.webkit.org/show_bug.cgi?id=51401 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::spellCheck): - -2010-12-31 Adam Barth - - Reviewed by Ariya Hidayat. - - Remove Tools/Scripts/wkstyle - https://bugs.webkit.org/show_bug.cgi?id=51774 - - This script appears to not have been touched in a while and seems to - have been replaced by check-webkit-style. - - * Scripts/wkstyle: Removed. - -2010-12-31 Ilya Tikhonovsky - - Unreviewed. Coding style fix. - - * DumpRenderTree/chromium/TestShell.h: - -2010-12-31 Ilya Tikhonovsky - - Reviewed by Pavel Feldman. - - Web Inspector: [Chromium] Inspector's tests are very slow on Win(Dbg). - - It was a problem with Chromium DRT. DevToolsAgent object instance was - attached not only to the inspected page but to the DevTools window too. - As result all the inspector files were interpreted as a content of inspected page - and were transfered to the DevTools scripts panel for debugging etc. - - https://bugs.webkit.org/show_bug.cgi?id=51735 - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): - (TestShell::bindJSObjectsToWindow): - (TestShell::createNewWindow): - * DumpRenderTree/chromium/TestShell.h: - -2010-12-31 Adam Barth - - Rubber-stamped by Eric Seidel. - - Move PageLoadTests to PerformanceTests/PageLoad - https://bugs.webkit.org/show_bug.cgi?id=51771 - - Update references to PageLoadTests to point to the new location. - - * Scripts/run-pageloadtest: - * Scripts/webkitpy/common/config/build.py: - -2010-12-31 Adam Barth - - Rubber-stamped by Eric Seidel. - - Move SunSpider into PerformanceTests - https://bugs.webkit.org/show_bug.cgi?id=51769 - - Update these scripts to point to the new location. - - * Scripts/run-sunspider: - * Scripts/sunspider-compare-results: - -2010-12-30 Mihai Parparita - - Reviewed by Kent Tamura. - - [Chromium] Add WebThemeEngineDRTMac so that Chromium DRT scrollbar rendering can match the Mac port's - https://bugs.webkit.org/show_bug.cgi?id=51728 - - Add implementation of the Mac WebThemeEngine that uses an NSScroller - to render top-level scrollbars. This makes them match the Mac port's - use of an NSScrollView, which means that we'll be able to share more - pixel baselines. - - The new rendering code will not be activated until the - USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define is fliped in - ScrollbarThemeChromiumMac. - - * DumpRenderTree/DumpRenderTree.gypi: - * DumpRenderTree/chromium/TestShellMac.mm: - (platformInit): - * DumpRenderTree/chromium/WebThemeEngineDRTMac.h: Added. - * DumpRenderTree/chromium/WebThemeEngineDRTMac.mm: Added. - (+[FakeActiveWindow alwaysActiveWindow]): - (+[FakeActiveWindow alwaysInactiveWindow]): - (-[FakeActiveWindow initWithActiveControls:]): - (-[FakeActiveWindow _hasActiveControls]): - (WebThemeEngineDRTMac::paintScrollbarThumb): - (stateToHIEnableState): - (WebThemeEngineDRTMac::paintHIThemeScrollbarThumb): - (WebThemeEngineDRTMac::paintNSScrollerScrollbarThumb): - -2010-12-30 Konstantin Tokarev - - Reviewed by David Kilzer. - - [Qt] Don't build wtf/TCSystemAlloc.cpp if --system-malloc option is - used - https://bugs.webkit.org/show_bug.cgi?id=51672 - - * DumpRenderTree/qt/DumpRenderTree.pro: Replaced USE_SYSTEM_MALLOC - with USE_SYSTEM_MALLOC=1 - * WebKitTestRunner/qt/WebKitTestRunner.pro: Replaced USE_SYSTEM_MALLOC - with USE_SYSTEM_MALLOC=1 - -2010-12-30 Laszlo Gombos - - Reviewed by David Kilzer. - - [Qt] [Symbian] Fix build-webkit script for Symbian - https://bugs.webkit.org/show_bug.cgi?id=51509 - - Set the OUTPUT_DIR for Symbian to be the same as the source - directory. - - * Scripts/webkitdirs.pm: - -2010-12-30 Martin Robinson - - Reviewed by Darin Adler. - - check-webkit-style should ignore NULL usage in calls to gtk_widget_style_get - https://bugs.webkit.org/show_bug.cgi?id=51758 - - Add a check-webkit-style exception for gtk_widget_style_get and NULL usage. - - * Scripts/webkitpy/style/checkers/cpp.py: Add the exception. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Add some tests for this. - -2010-12-29 Patrick Gansterer - - Unreviewed WinCE buildfix. - - * WinCELauncher/main.cpp: Add missing include. - -2010-12-29 Daniel Bates - - Reviewed by Darin Adler. - - svn-apply updates date of wrong change log entry for a change log diff that - contains two consecutive entries with the same author and date - https://bugs.webkit.org/show_bug.cgi?id=46061 - - Fixes an issue where the date of the wrong change log entry may be modified. - Moreover, changes fixChangeLogPatch() to move entries inserted earlier - in a ChangeLog file to the top of the file. - - Currently, fixChangeLogPatch() explicitly bails out and returns an unchanged - diff when it detects that the diff inserts a change log entry earlier in a - ChangeLog. It is unusual to land a patch that has such a deliberate ChangeLog - change. With the advent of the commit-queue this functionality of bailing out - and hence landing the patch as-is is harmful to the accuracy of the ChangeLog. - Instead, we should always move the change log entry to the top of the ChangeLog file. - - A side-effect of this change is that setChangeLogDateAndReviewer() now updates - the date line of the correct change log entry in a ChangeLog diff. - - * Scripts/VCSUtils.pm: Modified fixChangeLogPatch() to move entries inserted earlier to the top. - - * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl: - Updated the following unit tests now that we move entries inserted earlier to the top: - - "fixChangeLogPatch: New entry inserted in middle." - (formerly named "fixChangeLogPatch: [no change] New entry inserted in middle.") - - - "fixChangeLogPatch: New entry inserted earlier in the file, but after an entry with the same author and date." - (formerly named "fixChangeLogPatch: [no change] New entry inserted earlier in the file, but after an entry with the same author and date.") - - * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatchThenSetChangeLogDateAndReviewer.pl: Added. - -2010-12-29 Konstantin Tokarev - - Reviewed by Eric Seidel. - - [Qt] Fixed compatibility with gold linker on X11 platforms - https://bugs.webkit.org/show_bug.cgi?id=51700 - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - Linked TestNetscapePlugin with libX11 on Unix platforms - -2010-12-29 Ademar de Souza Reis Jr - - Reviewed by Darin Adler. - - Circular dependency in webkitpy.common.checkout.changelog module - https://bugs.webkit.org/show_bug.cgi?id=50475 - - Remove automatic import of api.Checkout module when any checkout/ - submodule is imported (e.g.: when checkout.scm.Git is imported). - - * Scripts/webkitpy/common/checkout/__init__.py: - -2010-12-29 Martin Robinson - - Reviewed by Ojan Vafai. - - prepare-ChangeLog should support the -g option for specifying the git-commit - https://bugs.webkit.org/show_bug.cgi?id=51708 - - Add a -g shortcut for the --git-commit prepare-ChangeLog option. This matches - webkit-patch, though the exact meaning of the two options remain different. - - * Scripts/prepare-ChangeLog: Add -g. - -2010-12-29 Kent Hansen - - Reviewed by Simon Hausmann. - - [Qt] Fix compilation with Qt in namespace - https://bugs.webkit.org/show_bug.cgi?id=51701 - - * QtTestBrowser/webview.h: - -2010-12-28 Daniel Bates - - Reviewed by Sam Weinig. - - Substitute // MARK: for compiler-specific #pragma mark - https://bugs.webkit.org/show_bug.cgi?id=51657 - - Fix future compilation warnings about "#pragma mark" on GTK+ bots by - substituting "// MARK:" for "#pragma mark", which provides - analogous code-bookmarking functionality under Xcode. - - Also, for consistency, we should substitute "// MARK:" for compiler- - specific "#pragma mark" in the source files for the Mac port. - - * DumpRenderTree/AccessibilityTextMarker.cpp: - * DumpRenderTree/cf/WebArchiveDumpSupport.h: - * DumpRenderTree/mac/AccessibilityTextMarkerMac.mm: - * DumpRenderTree/mac/ObjCController.m: - * MiniBrowser/mac/AppDelegate.m: - * MiniBrowser/mac/BrowserWindowController.m: - -2010-12-28 Xan Lopez - - Reviewed by Eric Seidel. - - Add --no-build option to run-sunspider - https://bugs.webkit.org/show_bug.cgi?id=51658 - - * Scripts/run-sunspider: add --no-build flag to skip building - phase. - -2010-12-27 Daniel Bates - - Rubber-stamped by Martin Robinson. - - Append the directory Tools/DumpRenderTree to the list of directories that - do-webcore-rename should search so that it can rename DRT files and - source code. - - * Scripts/do-webcore-rename: - -2010-12-27 Eric Seidel - - Reviewed by Adam Barth. - - build-webkit should detect missing Java SDK and explain how to install it - https://bugs.webkit.org/show_bug.cgi?id=51651 - - * Scripts/build-webkit: - -2010-12-26 Martin Robinson - - Reviewed by Daniel Bates. - - [GTK] Add support for build-jsc - https://bugs.webkit.org/show_bug.cgi?id=51625 - - Add GTK+ support to build-jsc now that building the jsc executable as - a standalone target is easy. - - * Scripts/build-jsc: Call buildGtkProject for the GTK+ case now. - * Scripts/build-webkit: Pass in the proper target name to buildGtkProject. - * Scripts/webkitdirs.pm: Actually process the project parameter in buildGtkProject - and pass it along to buildAutotoolsProject. - -2010-12-27 David Levin - - Reviewed by Eric Seidel. - - check-webkit-style check for meaningless variable names in function declarations. - https://bugs.webkit.org/show_bug.cgi?id=51523 - - * Scripts/webkitpy/style/checker.py: Exempted JavaScriptCore/jit/JITStubs.cpp - from the new check and whitespace/parens because the syntax is unusual and - produced a fair number of positives for these checks. - * Scripts/webkitpy/style/checkers/cpp.py: - (_convert_to_lower_with_underscores): Used as a canonical form for type names - and parameter names when determining if the parameter name is useless. - (_create_acronym): Used to check for redundant variable names in cases like "ExceptionCode ec" - (Parameter.lower_with_underscores_name): Gives back the parameter name in a lower_with_underscore - format. - (_check_parameter_name_against_text): Checks to see if the parameter name is in the - text or an acronym of it. - (check_function_definition): Checks function definitions for meaningless variable names. - (process_line): Added call to check_function_definition. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - (CppFunctionsTest.test_convert_to_lower_with_underscores): Test for _convert_to_lower_with_underscores. - (CppFunctionsTest.test_create_acronym): Test for _create_acronym. - (CppFunctionsTest.test_check_parameter_against_text): Test for _check_parameter_against_text. - (CppStyleTestBase.perform_single_line_lint): Removed the parameter name check - because when only checking a snippet, there are a lot of bogus functions. - (CppStyleTestBase.perform_multi_line_lint): Ditto and removed a bogus filter - that I put there previously and just noticed. - (WebKitStyleTest.test_parameter_names): Tests for the functionality -- both - check_function_definition and process_line. - -2010-12-27 Carlos Garcia Campos - - Reviewed by Martin Robinson. - - [GTK] Disable flash plugin in GtkLauncher when using gtk3 - https://bugs.webkit.org/show_bug.cgi?id=51591 - - Flash plugin uses gtk2 that is incompatible with gtk3 making - webkit crash when it's built with gtk3. - - * GtkLauncher/main.c: - (main): - -2010-12-25 Adam Barth - - Reviewed by Eric Seidel. - - Move ANGLE to Sources/ThirdParty - https://bugs.webkit.org/show_bug.cgi?id=51605 - - * Scripts/build-webkit: - - Point to the new ANGLE location. - -2010-12-26 David Levin - - Reviewed by Eric Seidel. - - check-webkit-style should be able to parse function declaration parameters. - https://bugs.webkit.org/show_bug.cgi?id=51451 - - * Scripts/webkitpy/style/checkers/cpp.py: - (Position.__init__): Holds simple position information (row, column). - (Parameter.__init__): Holds information about a parameter. - (SingleLineView.__init): Converts multiple lines into a single line for simpler searches. - (SingleLineView.convert_column_to_row): Returns the original row given a column. - (create_skeleton_parameters): Simplifies a parameter list for easier searching. - (find_parameter_name_index): Finds where the parameter name is. - (parameter_list): Generates the list of parameters for a function. - (_FunctionState.begin): Added information to allow determining the parameters - on demand. - (_FunctionState.get_parameter_list): Returns a tuple of function parameters. - (detect_functions): Improve function detection for operator functions and - determine where the parameters end and pass that to _FunctionState.begin. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - (CppFunctionsTest.test_parameter): Verifies Parameter functionality. - (CppFunctionsTest.test_single_line_view): Verifies SingleLineView functionality. - (CppFunctionsTest.test_create_skeleton_parameters): Verifies create_skeleton_parameters. - (CppFunctionsTest.test_find_parameter_name_index): Verifies find_parameter_name_index. - (CppFunctionsTest.test_parameter_list): Does some minimal verification for parameter list. - Much more thorough verification is done as part of FunctionDetectionTest.test_parameter_list. - (FunctionDetectionTest.perform_function_detection): Added support for verifying - the parameters found. - (FunctionDetectionTest.test_function_declaration_detection): Added more function - detection test to verify that we catch the operator functions. - (FunctionDetectionTest.test_ignore_macros): Verify that function detection ignores macros. - (FunctionDetectionTest.test_parameter_list): Added tests to verify the parameter parsing. - (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_bad_test_doesnt_break): Removed - because the error. The test is about the bad function name. Fixing the name makes the test exactly like - test_function_length_check_definition_severity1_for_test. - -2010-12-25 Patrick Gansterer - - Unreviewed WinCE buildfix after r74334. - - * CMakeListsWinCE.txt: - -2010-12-24 Sheriff Bot - - Unreviewed, rolling out r74632. - http://trac.webkit.org/changeset/74632 - https://bugs.webkit.org/show_bug.cgi?id=51600 - - makes test-webkitpy hang forever on GTK (Requested by philn-tp - on #webkit). - - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - -2010-12-24 Ryuan Choi - - Reviewed by Kenneth Rohde Christiansen. - - [EFL] Screen doesn't be rendered when changing size of EWebLauncher - https://bugs.webkit.org/show_bug.cgi?id=43528 - - Remove on_resize because ewk_view_fixed_layout_size_set should not be - called on callback of EVAS_CALLBACK_RESIZE. As it change size of - FrameView, rendering was ignored when _ewk_view_smart_calculate was - called. - - * EWebLauncher/main.c: - (browserCreate): - -2010-12-24 Eric Seidel - - Reviewed by Adam Barth. - - webkit-patch (or a pre-commit hook) needs to prevent bad ChangeLog changes - https://bugs.webkit.org/show_bug.cgi?id=28291 - - This is a start. At least now webkit-patch will prompt when your ChangeLog looks questionable. - We could do more advanced things, like parsing the ChangeLog (with changelog.py) and comparing that - to strings with find in the diff. - Since non-interactive always returns the default, this should cause patches with bad changelogs to fail on the commit-queue. - - * Scripts/webkitpy/common/checkout/api.py: - * Scripts/webkitpy/common/checkout/diff_parser.py: - * Scripts/webkitpy/tool/steps/abstractstep.py: - * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py: - * Scripts/webkitpy/tool/steps/validatechangelogs.py: Copied from Tools/Scripts/webkitpy/tool/steps/validatereviewer.py. - * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py: Copied from Tools/Scripts/webkitpy/tool/steps/cleanworkingdirectory.py. - * Scripts/webkitpy/tool/steps/validatereviewer.py: - -2010-12-24 Dirk Pranke - - Reviewed by Kenneth Russell. - - Modify new-run-webkit-tests to shut up and exit when all the threads - are wedged so that test runs complete faster and we don't end up - w/ enormous log files. - - https://bugs.webkit.org/show_bug.cgi?id=51572 - - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - -2010-12-24 Eric Seidel - - Reviewed by David Levin. - - commit-queue should better explain how it will re-open bugs and follow duplicate chains - https://bugs.webkit.org/show_bug.cgi?id=51549 - - I've had multiple people ask me about the commit-queue's behavior - regarding reporting flaky tests. I figured it would be best to just - have the queue explain itself in the bugs it files. - - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - -2010-12-24 Shinichiro Hamaji - - Reviewed by Eric Seidel. - - check-webkit-style: should ignore "wrong" namings in JavaScriptCore/qt - https://bugs.webkit.org/show_bug.cgi?id=51467 - - * Scripts/webkitpy/style/checker.py: - * Scripts/webkitpy/style/checker_unittest.py: - -2010-12-23 Adam Barth - - Rubber-stamped by Eric Seidel. - - Move JavaScriptGlue into Sources - https://bugs.webkit.org/show_bug.cgi?id=51583 - - These tools refer to JavaScriptGlue and need to be updated to its new - location. - - * Scripts/build-webkit: - * Scripts/do-file-rename: - * Scripts/do-webcore-rename: - * Scripts/webkitpy/common/config/build.py: - * Scripts/webkitpy/common/config/build_unittest.py: - -2010-12-23 Lucas Forschler - - Reviewed by Eric Seidel. - - Bug 51539 - update iexploder scripts to point to new location - - * Scripts/run-iexploder-tests: - * Scripts/update-iexploder-cssproperties: - -2010-12-23 Evan Martin - - Reviewed by Ryosuke Niwa. - - [chromium] LayoutTestController warning in float->int conversion - https://bugs.webkit.org/show_bug.cgi?id=51553 - - Rather than reading an int, converting to a float, then getting a compiler - warning on passing the float to something that expects an int, instead - just pass around ints. - - No tests, fixes a compiler warning. - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (parsePageSizeParameters): - (LayoutTestController::pageNumberForElementById): - (LayoutTestController::numberOfPages): - -2010-12-23 Lucas Forschler - - Reviewed by Darin Adler. - - Bug 51537 - iexploder needs cleanup - - * iExploder/htdocs: Removed. - * iExploder/htdocs/config.rb: Removed. - * iExploder/htdocs/cssproperties.in: Removed. - * iExploder/htdocs/cssvalues.in: Removed. - * iExploder/htdocs/htmlattrs.in: Removed. - * iExploder/htdocs/htmltags.in: Removed. - * iExploder/htdocs/htmlvalues.in: Removed. - * iExploder/htdocs/iexploder.cgi: Removed. - * iExploder/htdocs/iexploder.rb: Removed. - * iExploder/htdocs/index.html: Removed. - * iExploder/htdocs/webserver.rb: Removed. - * iExploder/iexploder-1.7.2/output: Removed. - * iExploder/tools: Removed. - * iExploder/tools/lasthit.rb: Removed. - * iExploder/tools/osx_last_crash.rb: Removed. - * iExploder/tools/showtest.rb: Removed. - -2010-12-23 Lucas De Marchi - - Reviewed by Kenneth Rohde Christiansen. - - [EFL] Make 'single' the default backing store in EWebLauncher - https://bugs.webkit.org/show_bug.cgi?id=51534 - - 'single' is the simplest backing store and the one intended to be the - default in the test browser. By mistake the tiled backing store was - left as default in r72617. - - * EWebLauncher/main.c: - (browserCreate): ditto. - -2010-12-23 Lucas De Marchi - - Reviewed by Kenneth Rohde Christiansen. - - [EFL] Subject: [webkit 4/4] [EFL] Remove non-sense workaround - https://bugs.webkit.org/show_bug.cgi?id=51533 - - There's no point in concatenating env("HOME") with "blah", so remove - option from EWebLauncher. - - * EWebLauncher/main.c: - (main): ditto. - -2010-12-23 Ilya Tikhonovsky - - Reviewed by Eric Seidel. - - Web Inspector: chromium: inspector's tests are quite slow especially at windows(Debug). - - Almost all inspector's tests become flaky on chromium Win(dbg) after switching to DRT. - I just discovered that we have two additional GC runs per each WebViewHost. - Test_shell had no such calls. - These gc runs eat 15% of cpu time. - - https://bugs.webkit.org/show_bug.cgi?id=51479 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::~WebViewHost): - -2010-12-22 Dirk Pranke - - Reviewed by Ojan Vafai. - - This change splits out the TestRunner class into its own file. - When we fork the code for message passing, we will create a new - TestRunner, and this change will allow that to be more modular. - - While we're at it, split out TestInput and ResultSummary into - their own files, to reduce the size of run_webkit_tests to - something more managable. - - https://bugs.webkit.org/show_bug.cgi?id=51092 - - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/result_summary.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: - * Scripts/webkitpy/layout_tests/layout_package/test_runner_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_input.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - - 2010-12-22 Dirk Pranke - - Reviewed by Ojan Vafai. - - nrwt multiprocessing - start over, prepare to fork the code - - This code cleans up the signatures and implementation of the - TestRunner class so we can easily fork it to run either the - stable implementation or the new, unstable message-passing - implementation. The two variants will have different - implementations of the run_tests() method. We will switch - between the two based on the setting for the '--worker-model' - switch. We rename the two currently valid values to 'old-inline' - and 'old-threads'. - - https://bugs.webkit.org/show_bug.cgi?id=51081 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-12-22 Victor Wang - - Reviewed by Darin Fisher. - - [Chromium] Update chromium archive test result url in rebaseline script. - - https://bugs.webkit.org/show_bug.cgi?id=51503 - - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - -2010-12-22 Lucas Forschler - - Reviewed by Alice Liu. - - record-memory-win needs to record memory used by the webprocess. - Verified on Chrome, Safari, and IE. - With this change, we will record memory from a parent browser window and all child processes. - - * record-memory-win/main.cpp: - (ProcessArgs): - (PrintUsage): - (getMemoryInfo): - (printProcessInfo): - (evalProcesses): - (UseImage): - (QueryContinuously): - (ElapsedTime): - -2010-12-22 Lucas Forschler - - Unreviewed rollout r74489, because it was missing changelog. - - * record-memory-win/main.cpp: - -2010-12-22 Ryosuke Niwa - - Adding myself as a reviewer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-12-22 Andrew Scherkus - - Unreviewed. Adding myself to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2010-12-22 Ariya Hidayat - - Reviewed by Kenneth Rohde Christiansen. - - TestNetscapePlugIn should use #if defined - https://bugs.webkit.org/show_bug.cgi?id=51471 - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NP_Initialize): - (NPP_New): - -2010-12-22 Ilya Tikhonovsky - - Reviewed by Yury Semikhatsky. - - Web Inspector: [chromium] DRT inspector layout tests are flaky in debug. - - DevTools window should be closed explicitly because it has custom deinitialization code. - - https://bugs.webkit.org/show_bug.cgi?id=50722 - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::closeRemainingWindows): - -2010-12-22 David Levin - - Reviewed by Shinichiro Hamaji. - - check-webkit-style shouldn't complaint about underscores in variables in objective C files. - https://bugs.webkit.org/show_bug.cgi?id=51452 - - * Scripts/webkitpy/style/checkers/cpp.py: - (_FileState.__init__): Added the information to determine if a file is C or Objective C. - Using the file extension if possible but falling back to the file contents if we have a header file. - (_FileState.is_objective_c): Determine if we have an Objective C by examining the file contents if needed. - (_FileState.is_c_or_objective_c): - (check_using_std): Changed to using _FileState to determine the file type. - (check_max_min_macros): Ditto. - (check_for_null): Ditto. - (check_style): Changed the parameters to various calls since they now need _FileState - to determine the file type. - (check_language): Added the file_state parameter so it could be passed - to check_identifier_name_in_declaration. - (check_identifier_name_in_declaration): Don't warn about underscores in variables if - this is an Objective C file. - (_process_lines): Added information for the _FileState constructor (and moved the - call to a place that had the information). - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - (CppFunctionsTest.test_is_c_or_objective_c): Changed the tests to use FileState and exercise - its functionality. - (WebKitStyleTest.test_names): Add tests for underscores in Objective C files. - -2010-12-21 Andy Estes - - Reviewed by Mark Rowe. - - Do not build non-Intel architectures for WebKit2-related projects. - https://bugs.webkit.org/show_bug.cgi?id=51440 - - * MiniBrowser/Configurations/Base.xcconfig: Only build for i386 and x86_64. - * TestWebKitAPI/Configurations/Base.xcconfig: Ditto. - * WebKitTestRunner/Configurations/Base.xcconfig: Ditto. - -2010-12-21 Mihai Parparita - - Reviewed by Darin Fisher. - - [Chromium] Rename WebThemeEngine/ControlDRT to WebThemeEngine/ControlDRTWin - https://bugs.webkit.org/show_bug.cgi?id=51406 - - Rename WebThemeControlDRT to WebThemeControlDRTWin and WebThemeEngineDRT - to WebThemeEngineDRTWin and update references everywhere. - - * DumpRenderTree/DumpRenderTree.gypi: - * DumpRenderTree/chromium/TestShellWin.cpp: - * DumpRenderTree/chromium/WebThemeControlDRTWin.cpp: Renamed from Tools/DumpRenderTree/chromium/WebThemeControlDRT.cpp. - * DumpRenderTree/chromium/WebThemeControlDRTWin.h: Renamed from Tools/DumpRenderTree/chromium/WebThemeControlDRT.h. - * DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp: Renamed from Tools/DumpRenderTree/chromium/WebThemeEngineDRT.cpp. - * DumpRenderTree/chromium/WebThemeEngineDRTWin.h: Renamed from Tools/DumpRenderTree/chromium/WebThemeEngineDRT.h. - -2010-12-21 Anders Carlsson - - Reviewed by John Sullivan. - - Clicking missing plug-in text does not show a sheet - https://bugs.webkit.org/show_bug.cgi?id=51403 - - Update for changes to the WebPageUIClient. - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - (WTR::TestController::initialize): - -2010-12-21 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue will report constant failures as flaky if other tests flake - https://bugs.webkit.org/show_bug.cgi?id=51272 - - This patch just removes functionality and adds testing. - Previously we attempted to report flaky tests when we had - two different tests fail in a row. However, since we stop - running the tests at the first failure, our code was wrong in - trying to determine flakiness from the incomplete runs. - - Originally I posted an alternate patch: - https://bug-51272-attachments.webkit.org/attachment.cgi?id=77078 - which fixed our flaky logic in this case, however it was decided - that that patch would be too difficult to maintain, so now - I'm just removing the broken logic. - - This will dramatically cut-down on our flaky-test false positives - at the (small) cost of the queues being unable to report - any flakiness if the tree is very flaky. (With at least one test - flaking on every run, we'll never report failures anymore.) I think - this is a tradeoff worth making. - - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: - -2010-12-20 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue wrongly rejects patches when it can't update itself - https://bugs.webkit.org/show_bug.cgi?id=46636 - - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-12-20 Adam Barth - - Move web sites to Websites directory - https://bugs.webkit.org/show_bug.cgi?id=51323 - - Update references to BugsSite to point to the new location. - - This patch was never officially reviewed (because it was too large to - upload to bugs.webkit.org), but it was discussed on webkit-dev and Mark - Rowe gave me the green light. - - * Scripts/old-run-webkit-tests: - * Scripts/webkitpy/common/config/build.py: - * Scripts/webkitpy/common/config/build_unittest.py: - * Scripts/webkitpy/common/prettypatch.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/style/main.py: - -2010-12-20 Adrienne Walker - - Unreviewed. Adding myself to the list of committers. - - * webkitpy/common/config/committers.py: - -2010-12-20 Mark Rowe - - Reviewed by Dan Bernstein. - - Don't install header files in to the Resources directory. - - * Scripts/check-for-inappropriate-files-in-framework: Don't allow .h files in the - Resources directory. - -2010-12-20 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue should include bot id when attaching failure diffs - https://bugs.webkit.org/show_bug.cgi?id=51280 - - This is a tiny change to include the bot id in the name of the attachment. - Most of this diff is just changing the unit test expectations - now that I hid the comment printing when the comment is None. - - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/upload_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-12-20 Jeff Miller - - Reviewed by Dan Bernstein. - - Tools/vcbin/midl.exe needs to be rebuilt - https://bugs.webkit.org/show_bug.cgi?id=51347 - - * vcbin/midl.exe: Rebuilt. - -2010-12-20 David Levin - - Reviewed by Ariya Hidayat. - - .gitignore and webkit-tools-completion.sh have references to WebKitTools that should be Tools. - https://bugs.webkit.org/show_bug.cgi?id=51343 - - Follow up from the WebKitTools -> Tools rename. - - * Scripts/webkit-tools-completion.sh: - -2010-12-20 Cosmin Truta - - Reviewed by James Robinson. - - new-run-webkit-tests ignores trailing EOL differences in text tests - https://bugs.webkit.org/show_bug.cgi?id=36983 - - Changed the handling of new-line characters within new-run-webkit-tests - to match old-run-webkit-tests. Differences in leading and trailing empty - lines in text expectation files are no longer ignored. - - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/test.py: - Added unit tests. Removed old duplicate unit test entries. - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2010-12-20 David Levin - - Reviewed by Shinichiro Hamaji. - - check-webkit-style should detect function declarations (and trivial functions). - https://bugs.webkit.org/show_bug.cgi?id=51303 - - * Scripts/webkitpy/style/checkers/cpp.py: - (_FunctionState.begin): Add is_declaration and changed the line count - start to begin at -1 (which will keep the results consistent, since - the starting line number passed in is one less in this change). - (detect_functions): changed function detection to now catch trivial - functions and declarations. - (check_pass_ptr_usage): Don't check for Pass*Ptr on the first line - of the function as this may look at return values (when processing - a declaration). - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - (FunctionDetectionTest.perform_function_detection): Basic mechanics - of testing the function detection. - (FunctionDetectionTest.test_basic_function_detection): Test a simple - function. - (FunctionDetectionTest.test_function_declaration_detection): Test a - declaration. - (FunctionDetectionTest.test_non_functions): A test case for a case - that caused the code to fail due to the { being in quotes. - (PassPtrTest.test_pass_ref_ptr_return_value): Added some more test - cases to help catch false alarms for return values. - (PassPtrTest.test_pass_ref_ptr_member_variable): Ensure that - we don't get false alarms for member variables either. - -2010-12-20 Ryuan Choi - - Reviewed by Antonio Gomes. - - [CMAKE] Rename WEBKITTOOLS_DIR to TOOLS_DIR - https://bugs.webkit.org/show_bug.cgi?id=51319 - - * CMakeListsEfl.txt: - -2010-12-18 Adam Barth - - Reviewed by Sam Weinig. - - Move WebKitExamplePlugins to Examples - https://bugs.webkit.org/show_bug.cgi?id=51291 - - * Scripts/webkitpy/common/config/build.py: - -2010-12-17 Csaba Osztrogonác - - Unreviewed Qt buildfix after r74301. - - Rename WebKitTools to Tools - https://bugs.webkit.org/show_bug.cgi?id=49861 - - * MiniBrowser/DerivedSources.pro: - * MiniBrowser/qt/MiniBrowser.pro: - -2010-12-17 Dan Bernstein - - Reviewed by Simon Fraser. - - Rename WebKitTools to Tools - https://bugs.webkit.org/show_bug.cgi?id=49861 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - * CodeCoverage/README: - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::initializeFonts): - * EWSTools/start-commit-queue.sh: - * EWSTools/start-queue.sh: - * GNUmakefile.am: - * MIDLWrapper/MIDLWrapper.cpp: - (wmain): - * MiniBrowser/qt/MiniBrowser.pro: - * Scripts/build-api-tests: - * Scripts/build-dumprendertree: - * Scripts/build-webkit: - * Scripts/build-webkittestrunner: - * Scripts/generate-coverage-data: - * Scripts/old-run-webkit-tests: - * Scripts/run-api-tests: - * Scripts/run-iexploder-tests: - * Scripts/run-javascriptcore-tests: - * Scripts/run-mangleme-tests: - * Scripts/run-sunspider: - * Scripts/run-webkit-websocketserver: - * Scripts/sunspider-compare-results: - * Scripts/test-webkitperl: - * Scripts/test-webkitpy: - * Scripts/update-iexploder-cssproperties: - * Scripts/update-webkit: - * Scripts/update-webkit-localizable-strings: - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - * Scripts/webkitpy/common/config/committervalidator.py: - * Scripts/webkitpy/common/config/committervalidator_unittest.py: - * Scripts/webkitpy/common/config/ports.py: - * Scripts/webkitpy/common/config/ports_unittest.py: - * Scripts/webkitpy/common/system/logutils_unittest.py: - * Scripts/webkitpy/common/system/ospath_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/config.py: - * Scripts/webkitpy/layout_tests/port/config_unittest.py: - * Scripts/webkitpy/layout_tests/port/http_server.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/style/checker.py: - * Scripts/webkitpy/style/checker_unittest.py: - * Scripts/webkitpy/tool/bot/feeders_unittest.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/steps/steps_unittest.py: - * WebKitTestRunner/DerivedSources.pro: - * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: - (WTR::activateFonts): - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * wx/build/build_utils.py: - -2010-12-16 Antonio Gomes - - Reviewed by Martin Robinson. - - Settings::editingBehaviorType() incorrectly returns mac for the gtk build when running tests - https://bugs.webkit.org/show_bug.cgi?id=51163 - - Since GTK+'s default editing behavior was changed to UNIX in r70975 (see webkitwebsettings.cpp), - GTK+'s DRT should also reset to UNIX after each test execution. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): - -2010-12-17 David Levin - - Reviewed by Eric Seidel. - - check-webkit-style should understand WTF #include guards - https://bugs.webkit.org/show_bug.cgi?id=44911 - - * Scripts/webkitpy/style/checkers/cpp.py: - (get_header_guard_cpp_variable): modify to suggest the WTF style - of header guard when appropriate. - (check_for_header_guard): handle multiple return values from - get_header_guard_cpp_variable - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - (CppStyleTest.test_build_header_guard): Added tests for the WTF - header style. - -2010-12-16 David Levin - - Reviewed by Eric Seidel. - - test-webkitpy: unittest for the xml.py checker displays a decprecation warning. - https://bugs.webkit.org/show_bug.cgi?id=51210 - - The error only shows up when using python 2.6 or later. - - * Scripts/webkitpy/style/checkers/xml.py: Replace the usage of - the decprecated field error,message with something equivalent. - -2010-12-16 Mihai Parparita - - Reviewed by Eric Seidel. - - Add --exit-after-n-failures/crashes to NRWT - https://bugs.webkit.org/show_bug.cgi?id=51160 - - Abort test run (in a similar way to how control-C is handled) when - --exit-after-n-failures/crashes-or-timeouts are passed and we've reached - that number of unexpected failures/crashes/timeouts. - - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-12-16 David Levin - - Reviewed by Shinichiro Hamaji. - - check-webkit-style unit tests has some duplicate boilerplate code. - https://bugs.webkit.org/show_bug.cgi?id=49519 - - * Scripts/webkitpy/style/checkers/cpp.py: - (update_include_state): Replaced the "io" parameter with the global - configuration _unit_test_config. This allowed not calling into - functions at a low level and also not plumbing through the injection - information through many levels of code. - (check_for_include_what_you_use): Ditto. - (process_file_data): Added the ability to set up the unit test config - to allow for injection. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - (ErrorCollector.__init__): Added support for having a filter for errors. - (ErrorCollector.__call__): Ditto. - (CppStyleTestBase.process_file_data): Added the ability to set unit_test_config. - (CppStyleTestBase.perform_lint): Consolidated logic for the perform functions. - (CppStyleTestBase.perform_single_line_lint): Replace specific calls to - functions in the cpp.py with generic processing and a filter that - indicates what errors should be kept. - (CppStyleTestBase.perform_multi_line_lint): Ditto. - (CppStyleTestBase.perform_language_rules_check): Ditto. - (CppStyleTestBase.perform_function_lengths_check): Ditto. - (CppStyleTestBase.perform_pass_ptr_check): Ditto. - (CppStyleTestBase.perform_include_what_you_use): Ditto. - (CppStyleTest.test_multi_line_comments): Added another - error message which applies to the test case. - (CppStyleTest.test_spacing_for_binary_ops): Fixed test - to not have config.h, since it is processed as a header file. - (CppStyleTest.test_static_or_global_stlstrings): Fixed variable name - style and indentation in checked code. - (OrderOfIncludesTest.test_check_preprocessor_in_include_section): - Fixed line number. - (NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error): - Ditto. - -2010-12-15 Sheriff Bot - - Unreviewed, rolling out r74136. - http://trac.webkit.org/changeset/74136 - https://bugs.webkit.org/show_bug.cgi?id=51135 - - r74136 breaks chromium canary bots because some tests are not - rebaselined correctly to resolve EOL differences (Requested by - jianli on #webkit). - - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2010-12-15 Adam Roben - - Teach check-webkit-style to check .vcproj and .vsprops files for XML - syntax errors - - Fixes check-webkit-style should check for - XML syntax errors in .vcproj/.vsprops files - - Reviewed by Dave Levin. - - * Scripts/webkitpy/style/checker.py: Added lists of file extensions - that should be treated as XML and that should be allowed to contain - carriage returns. (These lists happen to be identical currently.) - (FileType): Added a new XML type. - (CheckerDispatcher.should_check_and_strip_carriage_returns): Added. - Just does a simple file extension check. - (CheckerDispatcher._file_type): Added a case for XML files. - (CheckerDispatcher._create_checker): Ditto. We use XMLChecker for XML - files (surprise!). - (StyleProcessor.process): Ask the dispatcher whether we should pass the - lines through the carriage checker. - - * Scripts/webkitpy/style/checker_unittest.py: - (CheckerDispatcherCarriageReturnTest.test_should_check_and_strip_carriage_returns): - Added. Checks a few file names to see if carriage returns are allowed - or not. - (CheckerDispatcherDispatchTest.assert_checker_xml): Added. Similar to - other assert_checker_* functions. - (CheckerDispatcherDispatchTest.test_xml_paths): Added. Similar to other - test_*_paths functions. - (CheckerDispatcherDispatchTest.test_xml_paths): Added. Similar to other - test_*_paths functions. - (CheckerDispatcherDispatchTest.test_none_paths): Removed the vcproj - file from this test case, as vcproj files now have a type. - (StyleProcessor_CodeCoverageTest.MockDispatcher.should_check_and_strip_carriage_returns): - Added. Similar to the other should_* functions. - (StyleProcessor_CodeCoverageTest.test_process__carriage_returns_not_stripped): - Added. Checks that carriage returns aren't checked for or stripped for - allowed files. - - * Scripts/webkitpy/style/checkers/xml.py: Added. - (XMLChecker.__init__): Simple init method. - (XMLChecker.check): Pass each line through the expat parser, and record - a style error for any errors thrown by the parser. - - * Scripts/webkitpy/style/checkers/xml_unittest.py: Added. - (XMLCheckerTest.assert_no_error): Checks that the given XML does not - produce a style error. - (XMLCheckerTest.assert_error): Checks that the given XML produces an - error of the given category on the given line. - (XMLCheckerTest.mock_handle_style_error): Does nothing. Used for - checking that the XMLChecker constructor works properly. - (XMLCheckerTest.test_conflict_marker): Tests that conflict markers - cause a style error (see, e.g., r73887). - (XMLCheckerTest.test_extra_closing_tag): Tests that extra closing tags - cause a style error (see, e.g., r73773). - (XMLCheckerTest.test_init): Tests that the XMLChecker constructor works - properly. - (XMLCheckerTest.test_missing_closing_tag): Tests that missing closing - tags cause a style error (see, e.g., r72795). - (XMLCheckerTest.test_no_error): Tests that valid XML does not cause a - style error. - -2010-12-15 Lucas Forschler - - Reviewed by Stephanie Lewis. - - https://bugs.webkit.org/show_bug.cgi?id=51117 - Add a new leopard test bot - really really commit to trunk this time. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2010-12-15 Sam Weinig - - Reviewed by Anders Carlsson. - - WebKit2: Can't add files to an - https://bugs.webkit.org/show_bug.cgi?id=51087 - - * MiniBrowser/mac/BrowserWindowController.m: - (runOpenPanel): - (-[BrowserWindowController awakeFromNib]): - Add simple implementation of runOpenPanel callback. - - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - (WTR::TestController::initialize): - Stub out runOpenPanel callback. - -2010-12-14 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue should upload failure diffs when tests flake - https://bugs.webkit.org/show_bug.cgi?id=51051 - - To make this testable I needed to pipe FileSystem down onto tool. - We've wanted it there for a long time anyway. - - This patch is kinda a big hack. But we don't have a nice - way to read results.html files. I think this will need further - revision before this code actually feels clean. - - As part of testing this change, I had to make MockBugzilla.create_bug - actually return an id (like it should) which required updating - a few other unit test results (for the better). - - The results_matching_keys change in layouttestresults/rebasline - was an alternate path which I decided not to use in the end, but - I left the change as it seemed an improvement. - - * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: - * Scripts/webkitpy/common/net/layouttestresults.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/rebaseline.py: - * Scripts/webkitpy/tool/main.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-12-15 Cosmin Truta - - Reviewed by James Robinson. - - new-run-webkit-tests ignores trailing EOL differences in text tests - https://bugs.webkit.org/show_bug.cgi?id=36983 - - Changed the handling of new-line characters within new-run-webkit-tests - to match old-run-webkit-tests. Differences in leading and trailing empty - lines in text expectation files are no longer ignored. - - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/test.py: - Added unit tests. Removed old duplicate unit test entries. - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2010-12-15 Ojan Vafai - - Reviewed by Adam Barth. - - make status-bubble white-space:nowrap so we can measure it's width without wrapping - https://bugs.webkit.org/show_bug.cgi?id=51149 - - * QueueStatusServer/templates/statusbubble.html: - -2010-12-15 Ojan Vafai - - Reviewed by Adam Barth. - - have the statusbubble postMessage it's metrics so that embedders can properly size the iframe - https://bugs.webkit.org/show_bug.cgi?id=51125 - - * QueueStatusServer/templates/statusbubble.html: - -2010-12-15 Darin Adler - - * Scripts/webkitpy/common/net/buildbot: Added property svn:ignore. - -2010-12-15 Sheriff Bot - - Unreviewed, rolling out r74117. - http://trac.webkit.org/changeset/74117 - https://bugs.webkit.org/show_bug.cgi?id=51113 - - This broke the GTK1 build. (Requested by mrobinson on - #webkit). - - * Scripts/webkitdirs.pm: - -2010-12-15 Amruth Raj and Ravi Kasibhatla - - Reviewed by Martin Robinson. - - Change generate-forwarding-headers.pl for GTK port usage - (https://bugs.webkit.org/show_bug.cgi?id=37369) - - * Scripts/webkitdirs.pm: Added changes to build webkit2 for GTK port using build-webkit script. - -2010-12-14 Kent Tamura - - Reviewed by Jian Li. - - [DRT/Chromium] Remove another unnecessary error message - https://bugs.webkit.org/show_bug.cgi?id=51083 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::didInvalidateRect): - -2010-12-14 Lucas Forschler - - Reviewed by Stephanie Lewis. - - Add a new Leopard Debug Test WK2 Bot - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2010-12-14 Ojan Vafai - - Fix python unittests after http://trac.webkit.org/changeset/74070. - - * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: - -2010-12-14 Kent Tamura - - Reviewed by Jian Li. - - [DRT/Chromium] Remove a unnecessary error message - https://bugs.webkit.org/show_bug.cgi?id=51069 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::paintInvalidatedRegion): - -2010-12-14 Benjamin Kalman - - Reviewed by Ojan Vafai. - - Using BUG/BUGWK in test_expectations is error prone, should use BUGCR/BUGWK - https://bugs.webkit.org/show_bug.cgi?id=48926 - - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - Add presubmit check that BUG isn't used, either BUGCR/BUGWK/BUGV8_. - -2010-12-14 Laszlo Gombos - - Reviewed by Eric Seidel. - - [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported - https://bugs.webkit.org/show_bug.cgi?id=50231 - - Guard CONFIG+=link_pkgconfig with !symbian. - - * DumpRenderTree/qt/DumpRenderTree.pro: - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * WebKitTestRunner/qt/WebKitTestRunner.pro: - -2010-12-14 Philippe Normand - - Reviewed by Ojan Vafai. - - [new-run-webkit-tests] expectations parsing is slow - https://bugs.webkit.org/show_bug.cgi?id=50635 - - Avoid expensive iteration of all the tests when checking if a test - file is to be skipped or not. - - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - * Scripts/webkitpy/layout_tests/port/test.py: - -2010-12-14 Mario Sanchez Prada - - Reviewed by Xan Lopez. - - [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects - https://bugs.webkit.org/show_bug.cgi?id=27048 - - Add support in DRT for checking whether an accessibility UI - element is focusable and/or focused. Implemented for GTK. - - * DumpRenderTree/AccessibilityUIElement.cpp: - (getIsFocusedCallback): New. - (getIsFocusableCallback): New. - (AccessibilityUIElement::getJSClass): Add the new available - callbacks for isFocused and isFocusable. - * DumpRenderTree/AccessibilityUIElement.h: - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (AccessibilityUIElement::isFocused): New, implemented by checking - whether the related AtkState value is in the object's state set. - (AccessibilityUIElement::isFocusable): Ditto. - * DumpRenderTree/mac/AccessibilityUIElementMac.mm: - (AccessibilityUIElement::isFocused): New, dummy implementation. - (AccessibilityUIElement::isFocusable): Ditto. - * DumpRenderTree/win/AccessibilityUIElementWin.cpp: - (AccessibilityUIElement::isFocused): Ditto. - (AccessibilityUIElement::isFocusable): Ditto. - -2010-12-14 Eric Seidel - - Reviewed by Ojan Vafai. - - webkit-patch should warn users when they're using a 32-bit git on a 64-bit system - https://bugs.webkit.org/show_bug.cgi?id=50715 - - This patch makes webkit-patch print the following: - - Warning: This machine is 64-bit, but the git binary (/usr/local/git/bin/git) does not support 64-bit. - Install a 64-bit git for better performance, see: - https://lists.webkit.org/pipermail/webkit-dev/2010-December/015249.html - - I wrote this mostly because I have approximately 8 machines that I use - and making sure each one is using a good Git install seemed folly. - webkit-patch makes a lot of git calls, so using a fast git can shave - several seconds in every invocation. See the webkit-dev thread for more info. - - This message will print twice during 'webkit-patch upload', - once from webkit-patch and once from check-webkit-style. - - Unfortunately there is no good way to test this due to how machine-dependent - the code is. I considered writing a test for the log message, but it seemed not worth it. - - * Scripts/webkitpy/common/checkout/scm.py: - -2010-12-13 Eric Seidel - - Reviewed by Adam Barth. - - FlakyTestReporter doesn't understand bots running from multiple email addresses - https://bugs.webkit.org/show_bug.cgi?id=50960 - - This explains at least one of the dupes of: - https://bugs.webkit.org/show_bug.cgi?id=50863 - that we saw filed by the commit-queue this morning. - I think the other one was explained by my previous fix to result counting code. - - Since this is really hard to test with a unit test, instead I - create a new (possibly useful in the future) command - which given a layout test path will return you - the one bug which our tools would assume it the flaky test bug. - If some other script wants to use bug-for-test we'll - need to extend it with some options like --create-if-missing or similar. - - * Scripts/webkitpy/common/net/bugzilla/bug.py: - * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/commands/__init__.py: - * Scripts/webkitpy/tool/commands/bugfortest.py: Added. - -2010-12-13 Mihai Parparita - - Reviewed by James Robinson. - - Add option to build-webkit to not build WebKit2 - https://bugs.webkit.org/show_bug.cgi?id=50988 - - Add support for a --no-webkit2 option to build-webkit. It seems to save - ~1 minute from clean builds and ~10 seconds from no-op builds. - - * Scripts/build-webkit: - -2010-12-13 Lucas Forschler - - Reviewed by Dave Kilzer. - - Update iexploder from 1.3.2 to 1.7.2 - Move 1.3.2 into its own subdir - Add 1.7.2 into its own subdir - update scripts to point to new 1.3.2 location (avoid breaking existing scripts) - - * Scripts/run-iexploder-tests: - * Scripts/update-iexploder-cssproperties: - * iExploder/CHANGELOG.txt: Removed. - * iExploder/LICENSE.txt: Removed. - * iExploder/README.txt: Removed. - * iExploder/htdocs: Removed. - * iExploder/iexploder-1.3.2: Added. - * iExploder/iexploder-1.3.2/CHANGELOG.txt: Copied from iExploder/CHANGELOG.txt. - * iExploder/iexploder-1.3.2/LICENSE.txt: Copied from iExploder/LICENSE.txt. - * iExploder/iexploder-1.3.2/README.txt: Copied from iExploder/README.txt. - * iExploder/iexploder-1.3.2/htdocs: Added. - * iExploder/iexploder-1.3.2/htdocs/config.rb: Copied from iExploder/htdocs/config.rb. - * iExploder/iexploder-1.3.2/htdocs/cssproperties.in: Copied from iExploder/htdocs/cssproperties.in. - * iExploder/iexploder-1.3.2/htdocs/cssvalues.in: Copied from iExploder/htdocs/cssvalues.in. - * iExploder/iexploder-1.3.2/htdocs/htmlattrs.in: Copied from iExploder/htdocs/htmlattrs.in. - * iExploder/iexploder-1.3.2/htdocs/htmltags.in: Copied from iExploder/htdocs/htmltags.in. - * iExploder/iexploder-1.3.2/htdocs/htmlvalues.in: Copied from iExploder/htdocs/htmlvalues.in. - * iExploder/iexploder-1.3.2/htdocs/iexploder.cgi: Copied from iExploder/htdocs/iexploder.cgi. - * iExploder/iexploder-1.3.2/htdocs/iexploder.rb: Copied from iExploder/htdocs/iexploder.rb. - * iExploder/iexploder-1.3.2/htdocs/index.html: Copied from iExploder/htdocs/index.html. - * iExploder/iexploder-1.3.2/htdocs/webserver.rb: Copied from iExploder/htdocs/webserver.rb. - * iExploder/iexploder-1.3.2/tools: Added. - * iExploder/iexploder-1.3.2/tools/lasthit.rb: Copied from iExploder/tools/lasthit.rb. - * iExploder/iexploder-1.3.2/tools/osx_last_crash.rb: Copied from iExploder/tools/osx_last_crash.rb. - * iExploder/iexploder-1.3.2/tools/showtest.rb: Copied from iExploder/tools/showtest.rb. - * iExploder/iexploder-1.7.2: Added. - * iExploder/iexploder-1.7.2/ChangeLog.txt: Added. - * iExploder/iexploder-1.7.2/LICENSE.txt: Added. - * iExploder/iexploder-1.7.2/README.txt: Added. - * iExploder/iexploder-1.7.2/output: Added. - * iExploder/iexploder-1.7.2/src: Added. - * iExploder/iexploder-1.7.2/src/browser_harness.rb: Added. - * iExploder/iexploder-1.7.2/src/config.yaml: Added. - * iExploder/iexploder-1.7.2/src/css-atrules: Added. - * iExploder/iexploder-1.7.2/src/css-atrules/mozilla: Added. - * iExploder/iexploder-1.7.2/src/css-atrules/webkit: Added. - * iExploder/iexploder-1.7.2/src/css-properties: Added. - * iExploder/iexploder-1.7.2/src/css-properties/dillo: Added. - * iExploder/iexploder-1.7.2/src/css-properties/gtkhtml: Added. - * iExploder/iexploder-1.7.2/src/css-properties/internet_explorer6: Added. - * iExploder/iexploder-1.7.2/src/css-properties/mozilla: Added. - * iExploder/iexploder-1.7.2/src/css-properties/webkit: Added. - * iExploder/iexploder-1.7.2/src/css-pseudo: Added. - * iExploder/iexploder-1.7.2/src/css-pseudo/mozilla: Added. - * iExploder/iexploder-1.7.2/src/css-pseudo/webkit: Added. - * iExploder/iexploder-1.7.2/src/css-values: Added. - * iExploder/iexploder-1.7.2/src/css-values/dillo: Added. - * iExploder/iexploder-1.7.2/src/css-values/gtkhtml: Added. - * iExploder/iexploder-1.7.2/src/css-values/mozilla: Added. - * iExploder/iexploder-1.7.2/src/css-values/other: Added. - * iExploder/iexploder-1.7.2/src/css-values/webkit: Added. - * iExploder/iexploder-1.7.2/src/headers: Added. - * iExploder/iexploder-1.7.2/src/headers/dillo: Added. - * iExploder/iexploder-1.7.2/src/headers/gtkhtml: Added. - * iExploder/iexploder-1.7.2/src/headers/mozilla: Added. - * iExploder/iexploder-1.7.2/src/headers/webkit: Added. - * iExploder/iexploder-1.7.2/src/html-attrs: Added. - * iExploder/iexploder-1.7.2/src/html-attrs/dillo: Added. - * iExploder/iexploder-1.7.2/src/html-attrs/gtkhtml: Added. - * iExploder/iexploder-1.7.2/src/html-attrs/internet_explorer6: Added. - * iExploder/iexploder-1.7.2/src/html-attrs/mozilla: Added. - * iExploder/iexploder-1.7.2/src/html-attrs/other: Added. - * iExploder/iexploder-1.7.2/src/html-attrs/webkit: Added. - * iExploder/iexploder-1.7.2/src/html-tags: Added. - * iExploder/iexploder-1.7.2/src/html-tags/dillo: Added. - * iExploder/iexploder-1.7.2/src/html-tags/gtkhtml: Added. - * iExploder/iexploder-1.7.2/src/html-tags/mozilla: Added. - * iExploder/iexploder-1.7.2/src/html-tags/other: Added. - * iExploder/iexploder-1.7.2/src/html-tags/webkit: Added. - * iExploder/iexploder-1.7.2/src/html-values: Added. - * iExploder/iexploder-1.7.2/src/html-values/dillo: Added. - * iExploder/iexploder-1.7.2/src/html-values/gtkhtml: Added. - * iExploder/iexploder-1.7.2/src/html-values/mozilla: Added. - * iExploder/iexploder-1.7.2/src/html-values/other: Added. - * iExploder/iexploder-1.7.2/src/html-values/webkit: Added. - * iExploder/iexploder-1.7.2/src/iexploder.cgi: Added. - * iExploder/iexploder-1.7.2/src/iexploder.rb: Added. - * iExploder/iexploder-1.7.2/src/index.html: Added. - * iExploder/iexploder-1.7.2/src/media: Added. - * iExploder/iexploder-1.7.2/src/media/blank.ogg: Added. - * iExploder/iexploder-1.7.2/src/media/blank.snd: Added. - * iExploder/iexploder-1.7.2/src/media/blank.wav: Added. - * iExploder/iexploder-1.7.2/src/media/bug.bmp: Added. - * iExploder/iexploder-1.7.2/src/media/bug.gif: Added. - * iExploder/iexploder-1.7.2/src/media/bug.ico: Added. - * iExploder/iexploder-1.7.2/src/media/bug.jng: Added. - * iExploder/iexploder-1.7.2/src/media/bug.jpg: Added. - * iExploder/iexploder-1.7.2/src/media/bug.png: Added. - * iExploder/iexploder-1.7.2/src/media/bug.svg: Added. - * iExploder/iexploder-1.7.2/src/media/bug.tiff: Added. - * iExploder/iexploder-1.7.2/src/media/bug.xbm: Added. - * iExploder/iexploder-1.7.2/src/media/bug.xpm: Added. - * iExploder/iexploder-1.7.2/src/mime-types: Added. - * iExploder/iexploder-1.7.2/src/mime-types/dillo: Added. - * iExploder/iexploder-1.7.2/src/mime-types/mozilla: Added. - * iExploder/iexploder-1.7.2/src/mime-types/webkit: Added. - * iExploder/iexploder-1.7.2/src/protocols: Added. - * iExploder/iexploder-1.7.2/src/protocols/dillo: Added. - * iExploder/iexploder-1.7.2/src/protocols/gtkhtml: Added. - * iExploder/iexploder-1.7.2/src/protocols/mozilla: Added. - * iExploder/iexploder-1.7.2/src/protocols/webkit: Added. - * iExploder/iexploder-1.7.2/src/scanner.rb: Added. - * iExploder/iexploder-1.7.2/src/version.rb: Added. - * iExploder/iexploder-1.7.2/src/webserver.rb: Added. - * iExploder/iexploder-1.7.2/testcases: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-Linux_x86_64_rv2.0b6pre_Gecko-20100904_Firefox-4.0b6pre-TEST-8375-1_59.html: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-Opera-9.80_Linux_x86_64_en_Presto-2.6.30_Version-10.61-16704-3_108,3.html: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-U_Intel_Mac_OS_X_10_6_4_en-US_AppleWebKit-534.8_Chrome-7.0.529.0-TEST-611-3_36,9.html: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-U_Intel_Mac_OS_X_10_6_4_en-US_AppleWebKit-534.8_hrome-7.0.529.0-TEST-55313622206-3_6,0.html: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.6_Chrome-7.0.503.1-TEST-120813-8_72,56,24,8,0.html: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.6_Chrome-7.0.503.1-TEST-121240-3_81,3.html: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.7_Chrome-7.0.513.0-4800-5_80,65,15.html: Added. - * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.7_Chrome-7.0.513.0-TEST-23583190347-3_15,12.html: Added. - * iExploder/iexploder-1.7.2/tools: Added. - * iExploder/iexploder-1.7.2/tools/lasthit.rb: Added. - * iExploder/iexploder-1.7.2/tools/osx_last_crash.rb: Added. - * iExploder/iexploder-1.7.2/tools/release_src.sh: Added. - * iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh: Added. - * iExploder/tools: Removed. - -2010-12-13 Sam Weinig - - Reviewed by Anders Carlsson. - - Remove associated page concept from WKView constructor - https://bugs.webkit.org/show_bug.cgi?id=50983 - - Step 1: Remove associate page constructors from WKView and make - all views use the shared namespace for the context. - - * TestWebKitAPI/PlatformWebView.h: - * TestWebKitAPI/mac/PlatformWebViewMac.mm: - * TestWebKitAPI/win/PlatformWebViewWin.cpp: - * WebKitTestRunner/PlatformWebView.h: - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - * WebKitTestRunner/mac/PlatformWebViewMac.mm: - * WebKitTestRunner/qt/PlatformWebViewQt.cpp: - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - -2010-12-13 Sam Weinig - - Reviewed by Anders Carlsson. - - Change the WebKit2 public API so there is no explicit WKPageNamespace object - https://bugs.webkit.org/show_bug.cgi?id=50898 - - * MiniBrowser/mac/AppDelegate.h: - * MiniBrowser/mac/AppDelegate.m: - * MiniBrowser/mac/BrowserWindowController.h: - * MiniBrowser/mac/BrowserWindowController.m: - * MiniBrowser/win/BrowserView.cpp: - Convert MiniBrowser to not use PageNamespaces. - - * TestWebKitAPI/PlatformWebView.h: - * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: - * TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp: - * TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp: - * TestWebKitAPI/Tests/WebKit2/Find.cpp: - * TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp: - * TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp: - * TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp: - * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: - * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: - * TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp: - * TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: - * TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp: - * TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp: - * TestWebKitAPI/mac/PlatformWebViewMac.mm: - * TestWebKitAPI/win/PlatformWebViewWin.cpp: - Convert TestWebKitAPI to not use PageNamespaces. - - * WebKitTestRunner/PlatformWebView.h: - * WebKitTestRunner/TestController.cpp: - * WebKitTestRunner/TestController.h: - * WebKitTestRunner/mac/PlatformWebViewMac.mm: - * WebKitTestRunner/qt/PlatformWebViewQt.cpp: - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - Convert WebKitTestRunner to not use PageNamespaces. - -2010-12-13 Gabor Rapcsanyi - - Reviewed by Eric Seidel. - - webkit-patch rollout should be able to do multi-revision rollouts - https://bugs.webkit.org/show_bug.cgi?id=33336 - - Make it possible to pass more than one revision to webkit-patch. - - * Scripts/webkitpy/common/checkout/api.py: - * Scripts/webkitpy/common/checkout/changelog.py: - * Scripts/webkitpy/common/checkout/changelog_unittest.py: - * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py: - * Scripts/webkitpy/tool/commands/download.py: - * Scripts/webkitpy/tool/commands/download_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py: - * Scripts/webkitpy/tool/steps/revertrevision.py: - -2010-12-13 Eric Seidel - - Unreviewed. - - Teach webkit-patch how to search bugzilla - https://bugs.webkit.org/show_bug.cgi?id=50500 - - webkit-patch bug-search fails when there is only one result. - Turns out we needed a bit more logic in our result count parsing code. - - * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: - * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: - -2010-12-13 Antti Koivisto - - Reviewed by Alexey Proskuryakov. - - Add setSerializeHTTPLoads function to allow testing resource load order on OS X. - https://bugs.webkit.org/show_bug.cgi?id=50758 - - * DumpRenderTree/LayoutTestController.cpp: - (setSerializeHTTPLoadsCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setSerializeHTTPLoads): - * DumpRenderTree/mac/DumpRenderTree.mm: - (resetDefaultsToConsistentValues): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setSerializeHTTPLoads): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::setSerializeHTTPLoads): - -2010-12-13 Dimitri Glazkov - - Reviewed by Ojan Vafai. - - Remove "use-drt" option from test step command line, since the option was removed in r73748. - https://bugs.webkit.org/show_bug.cgi?id=50936 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Removed the option. - -2010-12-13 Patrick Gansterer - - Reviewed by Csaba Osztrogonác. - - Add revlink to BuildBot status - https://bugs.webkit.org/show_bug.cgi?id=50914 - - This adds a hyperlink to trac changeset on the revision numbers. - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - -2010-12-13 Andras Becsi - - Reviewed by Csaba Osztrogonác. - - [Qt][WK2] Fix build if WebKitTools are not available - https://bugs.webkit.org/show_bug.cgi?id=50242 - - * MiniBrowser/qt/MiniBrowser.pro: Correct the comment. - * Scripts/webkitdirs.pm: Added WebKitTools/MiniBrowser to $subdirs. - * MiniBrowser/DerivedSources.pro: Added. - -2010-12-13 Eric Seidel - - Reviewed by Adam Barth. - - EWS Queues should remove orpahned pyc files before starting - https://bugs.webkit.org/show_bug.cgi?id=50904 - - A previous check added a platform.py which caused - EWS bots on some platforms to hit an import exception. - The platform.py file was removed in a subsequent commit, but - the EWS bots in question stayed stuck. This change will - fix those bots once restarted (and prevent this in the future). - - I also went ahead and unified start-queue and start-commit-queue - since they were nearly identical. I also added bot_id support - to both force all EWSes to have bot ids as well as get rid of the one - remaining reason why I had my own copies of these scripts. - Hopefully this will be enough to get all the other bot admins - (ahem, Adam, ahem) to move to using these checked in copies as well. - - * EWSTools/start-commit-queue.sh: Removed. - * EWSTools/start-queue.sh: - -2010-10-28 MORITA Hajime - - Reviewed by Ojan Vafai. - - spellcheck does not check pasted text - https://bugs.webkit.org/show_bug.cgi?id=40092 - - Added LayoutTestController::setAsynchronousSpellCheckingEnabled() - to control the setting. - - * DumpRenderTree/LayoutTestController.cpp: - (setAsynchronousSpellCheckingEnabledCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::setAsynchronousSpellCheckingEnabled): - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setAsynchronousSpellCheckingEnabled): - * DumpRenderTree/mac/DumpRenderTree.mm: - (resetDefaultsToConsistentValues): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setAsynchronousSpellCheckingEnabled): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setAsynchronousSpellCheckingEnabled): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::setAsynchronousSpellCheckingEnabled): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::setAsynchronousSpellCheckingEnabled): - -2010-12-12 Sam Weinig - - Reviewed by Anders Carlsson. - - Fix failing API test. It turns out that a pop-state event - is sent before every fragment navigation, so we have to test - for it in addition in PageLoadDidChangeLocationWithinPageForFrame. - - * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: - (TestWebKitAPI::didSameDocumentNavigationForFrame): - -2010-12-12 Alejandro G. Castro - - Reviewed by Eric Seidel. - - [GTK] Add new-run-webkit-tests support to gtk - https://bugs.webkit.org/show_bug.cgi?id=50681 - - Adding the basic support to run the new-run-webkit-tests. - - * Scripts/webkitpy/layout_tests/port/gtk.py: - -2010-10-11 Diego Gonzalez - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Mock DeviceOrientation client for DRT - https://bugs.webkit.org/show_bug.cgi?id=47490 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::DumpRenderTree): - (WebCore::DumpRenderTree::~DumpRenderTree): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setMockDeviceOrientation): - -2010-12-11 Philippe Normand - - Reviewed by Gustavo Noronha Silva. - - [GTK] launcher: disable the Mozilla-style fullscreen API - https://bugs.webkit.org/show_bug.cgi?id=50874 - - Disabling the fullscreen API until its implementation for GTK is - mature enough. The webview setting for it is already FALSE by - default. - - * GtkLauncher/main.c: - (createWindow): - -2010-12-10 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue flaky test messages show cryptic version information for mac os x - https://bugs.webkit.org/show_bug.cgi?id=50864 - - Turns out platform.platform() returns kernel version information - which isn't helpful, and just plain confusing on Mac - (OS X 10.6.5 uses Darwin Kernel 10.5.0). - - So I've updated PlatformInfo.display_name() to special case - mac. I also found a bad use of sys.platform in the process - and fixed that. (sys.platform always returns 'darwin' on mac). - - * Scripts/webkitpy/common/system/platforminfo.py: - * Scripts/webkitpy/common/system/user.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-12-10 Eric Seidel - - Unreviewed. - - Exception seen while reporting flaky test with commit-queue. - Just a missing include. - - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - -2010-12-10 Kinuko Yasuda - - Reviewed by Eric Seidel. - - [Chromium] Remove old JSONResultsGenerator script that existed for backward-compatibility - https://bugs.webkit.org/show_bug.cgi?id=50796 - - Also updating the test code to use JSONResultsGeneratorBase and - to improve test coverage for incremental cases. - - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: - -2010-12-10 Joseph Pecoraro - - Reviewed by Darin Adler. - - prepare-ChangeLog --help doesn't mention --bug shorthand -b - https://bugs.webkit.org/show_bug.cgi?id=50835 - - * Scripts/prepare-ChangeLog: be more explicit about -b and match file style. - -2010-12-10 Eric Seidel - - Reviewed by Adam Barth. - - Bugs created by the commit-queue should all block on a master bug - https://bugs.webkit.org/show_bug.cgi?id=50857 - - This makes all bugs created by the commit-queue block on: - https://bugs.webkit.org/show_bug.cgi?id=50856 - - In the process of testing this, I found that the existing - create_bug code was wrong. I also found that existing - unit tests for create-rollout used invalid values - for options.blocks. I fixed both issues and tested. - - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/commandtest.py: - * Scripts/webkitpy/tool/commands/download_unittest.py: - * Scripts/webkitpy/tool/commands/upload_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/options.py: - -2010-12-10 Eric Seidel - - Reviewed by Adam Barth. - - Teach webkitpy how to follow duplicate chains when posting comments on flake bugs - https://bugs.webkit.org/show_bug.cgi?id=50853 - - I also discovered when doing this that the code was posting - the comment on the wrong bug, but that's fixed here too. - - * Scripts/webkitpy/common/net/bugzilla/bug.py: - * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-12-10 Anders Carlsson - - Reviewed by John Sullivan. - - Make WKContextGetStatistics gather global statistics - https://bugs.webkit.org/show_bug.cgi?id=50850 - - Remove the code that gets the statistics and fills in the per context - statistics information for now. - - * MiniBrowser/mac/BrowserStatisticsWindowController.m: - (-[BrowserStatisticsWindowController refreshStatistics:]): - -2010-12-10 Eric Seidel - - Unreviewed. - - commit-queue should report port/platform information when commenting on flaky test bugs - https://bugs.webkit.org/show_bug.cgi?id=50839 - - Renamed platform.py to platforminfo.py. This broke import platform in executive.py - which was only used by new run webkit tests (and clearly not unit tested). - - * Scripts/webkitpy/common/system/platforminfo.py: Renamed from WebKitTools/Scripts/webkitpy/common/system/platform.py. - * Scripts/webkitpy/tool/main.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-12-10 Eric Seidel - - Reviewed by Tony Chang. - - commit-queue should report port/platform information when commenting on flaky test bugs - https://bugs.webkit.org/show_bug.cgi?id=50839 - - This was a suggestion from Tony Chang this morning. - I added a platform.py class so I could easily mock the platform call, - but that may not be the final solution for this mocking. - We'll try it and see. - - * Scripts/webkitpy/common/system/platform.py: Added. - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/main.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-12-10 Krithigassree Sambamurthy - - Reviewed by Joseph Pecoraro. - - Bug 43455 - [Qt]: Implement Application Cache Quotas - https://bugs.webkit.org/show_bug.cgi?id=43455 - - Introduce functions to allow new appcache layout test origin-quota.html - to work correctly under Qt. - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::DumpRenderTree): - (WebCore::DumpRenderTree::dumpApplicationCacheQuota): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - - Introduce functions to allow new appcache layout test origin-quota.html - to be successful under qt. Changes required because LayoutTestControllerQt - does not inherit from LayoutController. - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::clearAllApplicationCaches): - (LayoutTestController::setApplicationCacheOriginQuota): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - (LayoutTestController::shouldDumpApplicationCacheDelegateCallbacks): - (LayoutTestController::dumpApplicationCacheDelegateCallbacks): - -2010-12-10 Eric Seidel - - Reviewed by Adam Barth. - - Move buildbot.py into its own module so we can split it out into one-file-per-class - https://bugs.webkit.org/show_bug.cgi?id=50806 - - We're adding more buildbot logic these days, so it makes sense - to give buildbot its own module. - - * Scripts/webkitpy/common/net/buildbot/__init__.py: Added. - * Scripts/webkitpy/common/net/buildbot/buildbot.py: Renamed from WebKitTools/Scripts/webkitpy/common/net/buildbot.py. - * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: Renamed from WebKitTools/Scripts/webkitpy/common/net/buildbot_unittest.py. - * Scripts/webkitpy/common/net/failuremap.py: - * Scripts/webkitpy/common/net/regressionwindow.py: - * Scripts/webkitpy/tool/commands/rebaseline.py: - -2010-12-10 Tony Chang - - Reviewed by Eric Seidel. - - Use FileSystem::remove when cleaning up http lock files - https://bugs.webkit.org/show_bug.cgi?id=50830 - - * Scripts/webkitpy/layout_tests/port/http_lock.py: - -2010-12-10 Joone Hur - - Reviewed by Martin Robinson. - - [GTK] DRT needs layoutTestController.setCacheModel - https://bugs.webkit.org/show_bug.cgi?id=50705 - - webkit_set_cache_mode() is called to set the cache model. - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setCacheModel): Set the cache model. - -2010-12-10 Tony Chang - - Reviewed by Ojan Vafai. - - [chromium] remove --use-drt and add --use-test-shell - https://bugs.webkit.org/show_bug.cgi?id=50701 - - * Scripts/webkitpy/common/config/ports.py: - * Scripts/webkitpy/common/config/ports_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: - * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium_win.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/style/checkers/test_expectations.py: - * Scripts/webkitpy/tool/commands/queries.py: - -2010-12-10 John Knottenbelt - - Reviewed by Steve Block. - - [Chromium] Implement mocks for client-based geolocation - https://bugs.webkit.org/show_bug.cgi?id=46895 - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::setGeolocationPermission): - (LayoutTestController::setMockGeolocationPosition): - (LayoutTestController::setMockGeolocationError): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::geolocationClient): - (WebViewHost::geolocationClientMock): - (WebViewHost::reset): - * DumpRenderTree/chromium/WebViewHost.h: - -2010-12-10 Alejandro G. Castro - - Reviewed by Martin Robinson. - - [GTK] Add hasSpellingMarker support to the DRT - https://bugs.webkit.org/show_bug.cgi?id=50739 - - Implemented the hasSpellingMarker to support spelling tests. - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::hasSpellingMarker): - -2010-12-10 Eric Seidel - - Reviewed by Ojan Vafai. - - webkit-patch: not possible to use build-and-test with local commits - https://bugs.webkit.org/show_bug.cgi?id=33378 - - Make --no-clean not even check if we have local commits. - It's unclear to me why the code was originally written this way. - I was unable to dig up a reason from svn history. - - * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py: - * Scripts/webkitpy/tool/steps/cleanworkingdirectory_unittest.py: Copied from WebKitTools/Scripts/webkitpy/tool/steps/cleanworkingdirectory.py. - -2010-12-10 Mario Sanchez Prada - - Reviewed by Martin Robinson. - - [GTK] AX: implement isEnabled in DRT - https://bugs.webkit.org/show_bug.cgi?id=50814 - - Implement AccessibilityUIElement::isEnabled() for GTK. - - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (checkElementState): New function to refactor common code. - (AccessibilityUIElement::isEnabled): Implement this by checking - the current state of the AtkObject. - (AccessibilityUIElement::isSelected): Use the new - checkElementState function. - -2010-12-10 Jocelyn Turcotte - - Reviewed by Kenneth Rohde Christiansen. - - [Qt][WK2] Add the QWKContext API class to wrap the WebContext. - https://bugs.webkit.org/show_bug.cgi?id=50750 - - * MiniBrowser/qt/BrowserView.cpp: - (BrowserView::BrowserView): - * MiniBrowser/qt/BrowserView.h: - * WebKitTestRunner/qt/PlatformWebViewQt.cpp: - (WTR::WebView::WebView): - -2010-12-10 Joone Hur - - Reviewed by Xan Lopez. - - [GTK] Unskipping some test cases in userscripts dependent on addUserStyleSheet - https://bugs.webkit.org/show_bug.cgi?id=50808 - - Unskipping the following test cases: - userscripts/mixed-case-stylesheet.html - userscripts/simple-stylesheet.html - userscripts/user-style-all-frames.html - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::addUserStyleSheet): - -2010-12-10 Joone Hur - - Reviewed by Eric Seidel. - - [GTK] Add DRT support for pageProperty, isPageBoxVisible, pageSizeAndMarginsInPixels, and addUserStyleSheet - https://bugs.webkit.org/show_bug.cgi?id=50783 - - This patch allows to unskip the following test cases: - printing/page-rule-selection.html - printing/page-format-data.html - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::pageProperty): Added. - (LayoutTestController::isPageBoxVisible): Ditto. - (LayoutTestController::pageSizeAndMarginsInPixels): Ditto. - (LayoutTestController::addUserStyleSheet): Ditto. - -2010-12-10 Jocelyn Turcotte - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Make QtTestBrowser spawn QNAM in a secondary thread. - - A menu allows to switch QNAM back to the same thread. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::initializeView): - (LauncherWindow::createChrome): - (LauncherWindow::toggleThreadedQnam): - * QtTestBrowser/launcherwindow.h: - (WindowOptions::WindowOptions): - * QtTestBrowser/webpage.cpp: - (WebPage::WebPage): - (WebPage::setQnamThreaded): - * QtTestBrowser/webpage.h: - (QnamThread::QnamThread): - (QnamThread::~QnamThread): - (QnamThread::networkAccessManager): - (QnamThread::run): - -2010-12-10 Martin Robinson - - Reviewed by Xan Lopez. - - [Gtk] style="font-family: courier" makes text disappear - https://bugs.webkit.org/show_bug.cgi?id=47452 - - Add a test that verifies that fonts without valid charmaps are - never selected. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (initializeFonts): Initialize DRT with our font (derived from Ahem) - that has no valid charmap. - * DumpRenderTree/gtk/fonts/FontWithNoValidEncoding.fon: Added. - * DumpRenderTree/gtk/fonts/fonts.conf: Updated settings to override users' - settings which may disable selection of bitmap fonts. - -2010-12-10 Eric Seidel - - Unreviewed. - - The commit-queue should file bugs about flaky tests it encounters - https://bugs.webkit.org/show_bug.cgi?id=50803 - - create_bug_for_flaky_test was insufficiently tested, thus buggy. - Now it's tested. - - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: - -2010-12-10 Eric Seidel - - Unreviewed. Somehow this last-minute edit didn't quite get committed. - - The commit-queue should file bugs about flaky tests it encounters - https://bugs.webkit.org/show_bug.cgi?id=50803 - - * Scripts/webkitpy/tool/bot/flakytestreporter.py: - -2010-12-09 Eric Seidel - - Reviewed by Adam Barth. - - The commit-queue should file bugs about flaky tests it encounters - https://bugs.webkit.org/show_bug.cgi?id=50803 - - This change got a bit big. I also added a new config.urls file - because I needed to share the view_source_url code with committervalidator.py. - - This adds a new class FlakyTestReporter which holds all the logic about - reporting flaky tests to bugzilla. - - Right now this code knows how to look up bugs for flaky tests. - If it can't find a bug filed from the commit-queue, it will open a new - one, ccing the relevant people and adding information about the failure. - - It is not yet smart enough to chase down duplicate chains, or to include - the actual failure diff. But those can be added in later iterations. - - * Scripts/webkitpy/common/checkout/api.py: - * Scripts/webkitpy/common/checkout/changelog.py: - * Scripts/webkitpy/common/checkout/commitinfo.py: - * Scripts/webkitpy/common/config/committervalidator.py: - * Scripts/webkitpy/common/config/urls.py: Copied from WebKitTools/Scripts/webkitpy/tool/comments.py. - * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: - * Scripts/webkitpy/tool/bot/flakytestreporter.py: Added. - * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: Copied from WebKitTools/Scripts/webkitpy/tool/comments.py. - * Scripts/webkitpy/tool/bot/irc_command.py: - * Scripts/webkitpy/tool/bot/sheriff.py: - * Scripts/webkitpy/tool/commands/download.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/comments.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/commit.py: - -2010-12-09 Eric Seidel - - Reviewed by Adam Barth. - - Teach webkit-patch how to search bugzilla - https://bugs.webkit.org/show_bug.cgi?id=50500 - - This is a step towards teaching webkitpy how to file - new bugs for flaky tests and update them when new flakes occur. - - * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: - * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: - * Scripts/webkitpy/tool/commands/__init__.py: - * Scripts/webkitpy/tool/commands/bugsearch.py: Added. - -2010-12-09 Adam Barth - - Reviewed by Ojan Vafai. - - commit-queue errors out due to local commits - https://bugs.webkit.org/show_bug.cgi?id=50766 - - We seem to be tripping over having local commits in the working copy a - lot recently. I don't quite fully understand what the issue is, but - this patch attempts to solve the problem by adding an explicit clean - step before processing a patch. Previously, we did the cleaning as - part of the apply-attachment step, so this might not actually fix the - problem. - - * Scripts/webkitpy/tool/bot/commitqueuetask.py: - * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-12-09 Dirk Pranke - - Reviewed by Ojan Vafai. - - Make new-run-webkit-tests --lint-test-files log slightly better - messages and return -1 if lint fails. Remove the - 'suppress_errors' keyword param to the TestExpectationsFile - class, and clean up logging and exception raising for error - handling. Also add more unit tests and clean up the unit test code a bit. - - https://bugs.webkit.org/show_bug.cgi?id=50205 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/style/checkers/test_expectations.py: - * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: - -2010-12-09 Tony Chang - - Unreviewed, fix for windows code. We were catching the wrong - exception in Windows. - - * Scripts/webkitpy/common/system/filesystem.py: - -2010-12-09 Antonio Gomes - - Reviewed by Martin Robinson. - - [Gtk] Populate DumpRenderTreeSupportGtk (part IV) - https://bugs.webkit.org/show_bug.cgi?id=48429 - - Adjust call sites of webkit_thread_count to use the DumpRenderTreeSupportGtk version now. - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::workerThreadCount): - -2010-12-06 Philippe Normand - - Reviewed by Martin Robinson. - - [GTK] Support the Mozilla-style Fullscreen Javascript API - https://bugs.webkit.org/show_bug.cgi?id=50572 - - Enable the Javascript Fullscreen support in the GtkLauncher. Also - make DRT update the Chrome when the WebView settings have been - reset to consistent values. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): - * GtkLauncher/main.c: - (create_window): - * Scripts/build-webkit: - -2010-12-09 Koan-Sin Tan - - Reviewed by Tor Arne Vestbø - - [Qt] run-launcher doesn't start the browser on Mac OS X 10.6 - https://bugs.webkit.org/show_bug.cgi?id=50742 - - check not only QtWebKit.framework/QtWebKit but also libQtWebKit.dylib - - * Scripts/webkitdirs.pm: - -2010-12-09 Joone Hur - - Reviewed by Martin Robinson. - - [GTK] Support for viewport meta tag - https://bugs.webkit.org/show_bug.cgi?id=45443 - - Add support for testing the viewport properties for WebKitGtk. - - * DumpRenderTree/LayoutTestController.cpp: - (dumpConfigurationForViewportCallback): Added this JS callback to set the size of the visible viewport. - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::dumpConfigurationForViewport): Added this function to test the viewport properties. - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::dumpConfigurationForViewport): Ditto. - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::dumpConfigurationForViewport): Ditto. - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::dumpConfigurationForViewport): Ditto. - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::dumpConfigurationForViewport): Ditto. - -2010-12-08 William Siegrist - - Reviewed by Eric Seidel. - - Migrate buildbot.py from xmlrpc to json. - https://bugs.webkit.org/show_bug.cgi?id=50647 - - * Scripts/webkitpy/common/net/buildbot.py: - -2010-12-08 Tony Chang - - Reviewed by Eric Seidel. - - make starting the websocket server more reliable on windows - https://bugs.webkit.org/show_bug.cgi?id=50712 - - * Scripts/webkitpy/common/system/filesystem.py: - (remove): Substitute method for os.remove to retry on error on Windows - * Scripts/webkitpy/common/system/filesystem_unittest.py: - * Scripts/webkitpy/layout_tests/port/http_server_base.py: Use FileSystem.remove - -2010-12-08 Jessie Berlin - - Reviewed by Adam Roben. - - WebKit2: Implement WebChromeClient::exceededDatabaseQuota - https://bugs.webkit.org/show_bug.cgi?id=50656 - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - Indicate that exceededDatabaseQuota is not implemented. - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - Ditto. - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - Ditto. - (WTR::TestController::initialize): - Ditto. - -2010-12-08 Antonio Gomes - - Reviewed by Martin Robinson. - - [Gtk] Populate DumpRenderTreeSupportGtk (part III) - https://bugs.webkit.org/show_bug.cgi?id=48429 - - Moved the following methods from webkitprivate.h to DumpRenderTreeSupportGtk.cpp|h: - * webkit_gc_collect_javascript_objects; - * webkit_gc_collect_javascript_objects_on_alternate_thread; - * webkit_gc_count_javascript_objects; - * webkit_web_frame_layout. - - These were all only used by GTK+ DRT. - - * DumpRenderTree/gtk/EventSender.cpp: - (dispatchEvent): - * DumpRenderTree/gtk/GCControllerGtk.cpp: - (GCController::collect): - (GCController::collectOnAlternateThread): - (GCController::getJSObjectCount): - -2010-12-07 Tony Chang - - Reviewed by Ojan Vafai. - - [chromium] force NRWT to use DRT - https://bugs.webkit.org/show_bug.cgi?id=50359 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-12-06 Sam Weinig - - Reviewed by Anders Carlsson. - - Generalize didChangeLocationWithinPageForFrame for all same document navigations - https://bugs.webkit.org/show_bug.cgi?id=50584 - - * MiniBrowser/mac/BrowserWindowController.m: - (didSameDocumentNavigationForFrame): - (-[BrowserWindowController awakeFromNib]): - (-[BrowserWindowController didSameDocumentNavigationForFrame:]): - * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: - (TestWebKitAPI::didSameDocumentNavigationForFrame): - (TestWebKitAPI::TEST): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::didSameDocumentNavigationForFrame): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - -2010-12-06 Kinuko Yasuda - - Reviewed by Ojan Vafai. - - Make TestResultsServer return 404 for non-existing results files. - https://bugs.webkit.org/show_bug.cgi?id=50581 - - * TestResultServer/handlers/testfilehandler.py: - -2010-12-06 Tony Chang - - Reviewed by Ojan Vafai. - - [chromium] fix an assert hit in DRT - https://bugs.webkit.org/show_bug.cgi?id=50575 - - This class uses WTF's RefPtr, but expects chrome's base::RefPtr - semantics. - - Otherwise, we hit ASSERTION FAILED: !m_adoptionIsRequired - (third_party/WebKit/JavaScriptCore/wtf/RefCounted.h:37 void - WTF::RefCountedBase::ref()). - - * DumpRenderTree/chromium/TestWebWorker.h: - (TestWebWorker::TestWebWorker): - -2010-12-02 Ojan Vafai - - Reviewed by Eric Seidel. - - make webkit-patch command work when the git branch is not synced to the remote svn branch - https://bugs.webkit.org/show_bug.cgi?id=50424 - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - -2010-12-06 Patrick Gansterer - - Reviewed by Andreas Kling. - - [WINCE] Add build system - https://bugs.webkit.org/show_bug.cgi?id=50522 - - * CMakeListsWinCE.txt: Added. - -2010-12-03 Mihai Parparita - - Reviewed by Tony Chang. - - Allow the Chromium port to have Leopard-specific baselines - https://bugs.webkit.org/show_bug.cgi?id=50506 - - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - -2010-12-03 Tony Chang - - Reviewed by Kent Tamura. - - [chromium] fix 2 bugs with inspector tests in DRT - https://bugs.webkit.org/show_bug.cgi?id=50492 - - Tasks can outlive the tasklist (even when canceled) so this was - causing a crash when ~WebTask() ran. Avoid this by unregistering - when a task is canceled. - - Also fix an assert when closing devtool windows by copying some - logic from test_shell. - - * DumpRenderTree/chromium/Task.cpp: - (WebTask::~WebTask): - (TaskList::revokeAll): - * DumpRenderTree/chromium/Task.h: Canceling a task now removes it from - the tasklist (since the task can outlive the tasklist). - * DumpRenderTree/chromium/TestShell.h: - (TestShell::devToolsWebView): - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::~WebViewHost): Don't load about:blank when closing - a window if the window has devtools loaded. This avoids an - ASSERT and matches test_shell. - -2010-12-06 Alejandro G. Castro - - Reviewed by Martin Robinson. - - [GTK] Fix GtkLauncher.c style, use webkit style - https://bugs.webkit.org/show_bug.cgi?id=50542 - - * GtkLauncher/main.c: - (activateUriEntryCb): - (updateTitle): - (linkHoverCb): - (notifyTitleCb): - (notifyLoadStatusCb): - (notifyProgressCb): - (destroyCb): - (goBackCb): - (goForwardCb): - (create_webViewCb): - (webViewReadyCb): - (closeWebViewCb): - (createBrowser): - (createStatusbar): - (createToolbar): - (createWindow): - (main): - -2010-12-04 Antonio Gomes - - Reviewed by Martin Robinson. - - [Gtk] Populate DumpRenderTreeSupportGtk (Part II) - https://bugs.webkit.org/show_bug.cgi?id=48429 - - Moved more private method declared with WEBKIT_API to - DumpRenderTreeSupportGtk, since they were only being used by DRT. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::addOriginAccessWhitelistEntry): - (LayoutTestController::execCommand): - (LayoutTestController::isCommandEnabled): - -2010-12-04 Antonio Gomes - - Reviewed by Andreas Kling. - - Removed extern webkit_web_view_set_group_name from gtk/DumpRenderTree.cpp - - Method was removed by http://trac.webkit.org/changeset/71604 - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - -2010-12-05 Alejandro G. Castro - - Reviewed by Xan Lopez. - - [GTK] Fix compilation warnings reported by clang - https://bugs.webkit.org/show_bug.cgi?id=50252 - - * GtkLauncher/main.c: - (create_window): The create_statusbar function does not have - parameters. - -2010-12-05 Robert Hogan - - Reviewed by Andreas Kling. - - [Qt] Zero-sized font does not yet work - - Fix fast/text/font-size-zero.html - - Copy other ports by setting minimumFontSize to 0 for DRT runs. - - https://bugs.webkit.org/show_bug.cgi?id=49759 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::WebPage): - -2010-12-04 Sam Weinig - - Reviewed by Jon Honeycutt. - - WebKit2: Need client functions to notify app when the url changes due to a fragment navigation - https://bugs.webkit.org/show_bug.cgi?id=50511 - - Update tools for new didChangeLocationWithinPageForFrame client function (and changed bundle - signature) and added a test for the functionality (PageLoadDidChangeLocationWithinPageForFrame.cpp) - - * MiniBrowser/mac/BrowserWindowController.m: - (didChangeLocationWithinPageForFrame): - (-[BrowserWindowController awakeFromNib]): - (-[BrowserWindowController didChangeLocationWithinPageForFrame:]): - * TestWebKitAPI/PlatformUtilities.cpp: - (TestWebKitAPI::Util::toWK): - * TestWebKitAPI/PlatformUtilities.h: - (TestWebKitAPI::Util::adoptWK): - * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: - * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: Added. - (TestWebKitAPI::nullJavaScriptCallback): - (TestWebKitAPI::didFinishLoadForFrame): - (TestWebKitAPI::didChangeLocationWithinPageForFrame): - (TestWebKitAPI::TEST): - * TestWebKitAPI/Tests/WebKit2/file-with-anchor.html: Added. - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - * TestWebKitAPI/win/copy-resources.cmd: - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::didChangeLocationWithinPageForFrame): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - -2010-11-08 Antonio Gomes - - Reviewed by Martin Robinson. - - [Gtk] Populate DumpRenderTreeSupportGtk - https://bugs.webkit.org/show_bug.cgi?id=48429 - - Made the previous calls to webkit_web_frame* functions defined as private - APIs in webkitprivate.h go through DRTSupportGtk. - - * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: - (AccessibilityController::focusedElement): - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (dumpFramesAsText): - (resetDefaultsToConsistentValues): - (dump): - (webViewDocumentLoadFinished): - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::counterValueForElementById): - (LayoutTestController::pageNumberForElementById): - (LayoutTestController::numberOfPages): - (LayoutTestController::pauseAnimationAtTimeOnElementWithId): - (LayoutTestController::pauseTransitionAtTimeOnElementWithId): - (LayoutTestController::sampleSVGAnimationForElementAtTime): - (LayoutTestController::numberOfActiveAnimations): - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - (LayoutTestController::markerTextForListItem): - -2010-12-03 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: use pretty text diff output - https://bugs.webkit.org/show_bug.cgi?id=50484 - - Serve *-pretty-diff.html for text diff output. - - * Scripts/webkitpy/tool/commands/data/rebaselineserver/index.html: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: - * Scripts/webkitpy/tool/commands/rebaselineserver.py: - -2010-12-03 Sheriff Bot - - Unreviewed, rolling out r73302. - http://trac.webkit.org/changeset/73302 - https://bugs.webkit.org/show_bug.cgi?id=50499 - - Causes crashes in debug LayoutTests (Requested by xan_ on - #webkit). - - * DumpRenderTree/chromium/AccessibilityUIElement.cpp: - (AccessibilityUIElement::AccessibilityUIElement): - (AccessibilityUIElement::parentElementCallback): - * DumpRenderTree/chromium/AccessibilityUIElement.h: - * DumpRenderTree/chromium/CppBoundClass.cpp: - * DumpRenderTree/chromium/CppBoundClass.h: - -2010-12-03 Sam Weinig - - Reviewed by Maciej Stachowiak. - - Enable for Mac/Windows/WebKit2 builds - - https://bugs.webkit.org/show_bug.cgi?id=50488 - - * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: - (TestWebKitAPI::TEST): Test that the default value of - WKPreferencesGetHyperlinkAuditingEnabled is true. - -2010-12-03 Chris Guillory - - Reviewed by Chris Fleizach. - - Include the FrameView widget of a RenderWidget in the accessibility tree. - https://bugs.webkit.org/show_bug.cgi?id=49106 - - * DumpRenderTree/chromium/AccessibilityUIElement.cpp: - (AccessibilityUIElement::AccessibilityUIElement): - (AccessibilityUIElement::parentElementCallback): - (AccessibilityUIElement::isEqualCallback): - * DumpRenderTree/chromium/AccessibilityUIElement.h: - * DumpRenderTree/chromium/CppBoundClass.cpp: - (CppBoundClass::getFromCppVariant): - * DumpRenderTree/chromium/CppBoundClass.h: - -2010-12-03 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: organize tests by state, add dry run mode - https://bugs.webkit.org/show_bug.cgi?id=50473 - - Group tests in the menu by state, so that it's easier to see after - processing the queue which failed. - - Add support for the --dry-run flag so that it's easier to test changes - such as this (stubs out filesystem and SCM operations). - - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: - * Scripts/webkitpy/tool/commands/rebaselineserver.py: - -2010-12-03 Brady Eidson - - Reviewed by Anders Carlsson. - - Groundwork for and https://bugs.webkit.org/show_bug.cgi?id=50191 - WebKit2 Authentication Support - - Keep these builds working: - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - -2010-12-02 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: move existing baselines - https://bugs.webkit.org/show_bug.cgi?id=50421 - - Implement moving of existing baselines: move all files that are about - to be overwriten by update baselines. - - Also fix a typo in the UI JS. - - * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: - * Scripts/webkitpy/tool/commands/rebaselineserver.py: - * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: - -2010-12-03 Sheriff Bot - - Unreviewed, rolling out r73211. - http://trac.webkit.org/changeset/73211 - https://bugs.webkit.org/show_bug.cgi?id=50450 - - Broke Chromium's "Webkit Win (dbg)(2)" bot. (Requested by - yutak on #webkit). - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - -2010-12-03 Sheriff Bot - - Unreviewed, rolling out r73222. - http://trac.webkit.org/changeset/73222 - https://bugs.webkit.org/show_bug.cgi?id=50449 - - r73211 seemed to break Chromium's "Webkit Win (dbg)(2)" bot. - (Requested by yutak on #webkit). - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-12-03 Sheriff Bot - - Unreviewed, rolling out r73228. - http://trac.webkit.org/changeset/73228 - https://bugs.webkit.org/show_bug.cgi?id=50448 - - r73211 seemed to break Chromium's "Webkit Win (dbg)(2)" bot. - (Requested by yutak on #webkit). - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2010-12-03 Sheriff Bot - - Unreviewed, rolling out r73231. - http://trac.webkit.org/changeset/73231 - https://bugs.webkit.org/show_bug.cgi?id=50443 - - r73211 seemed to broke Chromium's "Webkit Win (dbg)(2)" bot. - (Requested by yutak on #webkit). - - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-12-03 David Levin - - Reviewed by Shinichiro Hamaji. - - check-webkit-style: false positive reported for #if macro - https://bugs.webkit.org/show_bug.cgi?id=48242 - - * Scripts/webkitpy/style/checkers/cpp.py: Adjusted check to avoid - all preprocessor commands. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added test. - -2010-12-02 Eric Seidel - - Reviewed by Adam Barth. - - Update the EWSTools scripts to use modern-style git repos - https://bugs.webkit.org/show_bug.cgi?id=50402 - - * EWSTools/create-webkit-git: - * EWSTools/start-commit-queue.sh: - * EWSTools/start-queue.sh: - -2010-12-02 Simon Fraser - - Fix Chromium Linux plugin tests by not logging - unconditionally from the event handling code. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (handleEventX11): - -2010-12-02 Dirk Pranke - - Reviewed by Tony Chang. - - nrwt multiprocessing - move logic back into run_webkit_tests - - This change moves a bunch of logic that I had put into - message_broker back into run_webkit_tests, in a slightly - different format. WorkerMessageBroker needed to become less aware of - the logic the TestRunner class uses, and more generic. - Eventually the MessageBroker will only do generic messaging and - thread/process-pooling, and (almost) all of the - run-webkit-tests-specific logic will be moved to - run_webkit_tests.py and dump_render_tree_thread.py. - - The biggest changes are that the Broker can now start a single - worker, but the responsibility for starting all of them is pushed - back to the TestRunner (Manager), and the logic for checking if - the threads are done or wedged is moved back to TestRunner. We - also remove WorkerMessageBroker.cleanup (not needed) and - cancel_workers (they have to be cancelled individually). - - The message_broker is now encapsulated inside - TestRunner._run_tests(); it only needs to exist while actually - running the tests. - - Also, delete a bunch of tests in message_broker_unittest that no - longer make much sense. - - This patch depends on bug 50372. - - https://bugs.webkit.org/show_bug.cgi?id=50374 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-12-02 Hayato Ito - - Reviewed by Eric Seidel. - - Refactor test_types's compare_output() method so that it takes a - TestInput object. - - compare_output() will need additional information included in a TestInput - object to support reftests. This change is a pre-requirement of that. - - https://bugs.webkit.org/show_bug.cgi?id=50362 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2010-12-02 Simon Fraser - - Reviewed by Anders Carlsson. - - Add the ability to run script on 'new' and 'paint' in the test plugin - https://bugs.webkit.org/show_bug.cgi?id=50425 - - Add "onnew" and "onpaintevent" attributes to the test plugin, - so that tests can run JS at these times. - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - (pluginAllocate): - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - (NPP_Destroy): - (handleEventCarbon): - (handleEventCocoa): - (NPP_HandleEvent): - -2010-12-02 Sam Weinig - - Fix Qt build. - - * WebKitTestRunner/qt/PlatformWebViewQt.cpp: - (WTR::PlatformWebView::PlatformWebView): - -2010-12-02 Sam Weinig - - Reviewed by Anders Carlsson. - - WebKit2 Preferences should be held off the PageGroup, not the Context - https://bugs.webkit.org/show_bug.cgi?id=50414 - - Update for API changes. - - * WebKitTestRunner/PlatformWebView.h: - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): - (WTR::TestController::initialize): - (WTR::TestController::resetStateToConsistentValues): - * WebKitTestRunner/TestController.h: - * WebKitTestRunner/mac/PlatformWebViewMac.mm: - (WTR::PlatformWebView::PlatformWebView): - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - (WTR::PlatformWebView::PlatformWebView): - -2010-12-02 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: minor cleanup for multiprocessing work - - This change: - * moves worker naming into TestShellThread, eliminating a - parameter to the constructor and putting the responsibility in - the correct place. - * eliminates the _WorkerState() class in message_broker, because - it turns out that state really needs to be in run_webkit_tests - * renames the Broker classes to be module-private. - * fixes a bunch of minor commenting and whitespace issues to - make subsequent patches a bit clearer. - * Adds a Port hook for default_worker_model() so that we can - accomodate the potential for different worker models on - different ports. - * merge in the fix from 50420 for the brokenness introduced in - bug 50367. - - This patch depends on bug 50367. - - https://bugs.webkit.org/show_bug.cgi?id=50372 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-12-02 Dirk Pranke - - Reviewed by Tony Chang. - - This change is a bunch of cleanup / refactoring of the file - below. It moves a bunch of free functions to methods on the - TestShellThread class, and restructures other methods to be - closer to the structure we'll need for the multiprocessing - rewrite. - - It also makes the logic of --run-singly a *lot* easier to follow - by nestling all of the separate-thread logic into a single - routine. - - There should be no semantic changes in this patch, just cleanup. - - https://bugs.webkit.org/show_bug.cgi?id=50367 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - -2010-12-02 Tony Chang - - Unreviewed, rolling out r73164. - http://trac.webkit.org/changeset/73164 - https://bugs.webkit.org/show_bug.cgi?id=50359 - - broke debugger tests on win - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-11-30 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: add updating of baselines - https://bugs.webkit.org/show_bug.cgi?id=50305 - - Implements updating of baselines, where we copy -actual.* files over - the current -expected.* files. To do this, we need a - _get_actual_result_files method to get test results files and a - _rebaseline_test method to actually do the file copy and SCM operation. - _rebaseline_test logs output into a buffer, this is useful for both - showing result in the UI and for unit tests. - - To make passing around of the various test environment properties - (results directory, filesystem, SCM, etc) easier, add a TestConfig - class for them. - - Moving of existing baselines is not implemented yet, this patch is big - enough as it is. - - * Scripts/webkitpy/common/system/filesystem.py: - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: - * Scripts/webkitpy/tool/commands/rebaselineserver.py: - * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-12-02 Brent Fulgham - - Unreviewed build fix after vcproj updates. - - * DumpRenderTree/win/DumpRenderTreeCairo.vsprops: Make sure - that WIN_CAIRO is defined for this build. - * DumpRenderTree/win/DumpRenderTreePreBuild.cmd: Update file - to reflect new 'Debug_Cairo_CFLite' and 'Release_Cairo_CFLite' - (these were previously 'Debug_Cairo' and 'Release_Cairo' - -2010-12-02 Sam Weinig - - Reviewed by Anders Carlsson. - - WebKit2 needs API to turn on popup blocking - https://bugs.webkit.org/show_bug.cgi?id=50407 - - * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: - (TestWebKitAPI::TEST): - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::resetStateToConsistentValues): - -2010-12-01 Tony Chang - - Reviewed by Ojan Vafai. - - [chromium] force NRWT to use DRT - https://bugs.webkit.org/show_bug.cgi?id=50359 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-12-02 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] DumpRenderTree has two copies of JavaScriptCore - https://bugs.webkit.org/show_bug.cgi?id=49877 - - * GNUmakefile.am: Remove the second copy of JavaScriptCore from the - LDADD list for DumpRenderTree. - -2010-12-02 Sergio Villar Senin - - Unreviewed: Added myself to list of Committers. - - * Scripts/webkitpy/common/config/committers.py: - -2010-12-01 Mihai Parparita - - Reviewed by Adam Barth. - - build-webkit --chromium always updates DEPS and re-generates project files - https://bugs.webkit.org/show_bug.cgi?id=50340 - - Make build-webkit --chromium invoke update-webkit-chromium only when - --update-chromium is passed in, so that we don't add 20 seconds to all - builds. - - Making all invocations update was added with r61883, with the goal of - making EWS bots always update. The bots will switch to using this flag - (as will all other webkit-patch build steps) so nothing should change - for them. - - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/common/config/ports.py: - * Scripts/webkitpy/common/config/ports_unittest.py: - -2010-12-01 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: add a --dry-run / -n flag - https://bugs.webkit.org/show_bug.cgi?id=50045 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-12-01 Steve Falkenburg - - Reviewed by Adam Roben. - - WinCairo build should not use link-time code generation (LTCG) - https://bugs.webkit.org/show_bug.cgi?id=50353 - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/win/DumpRenderTree.vcproj: - * DumpRenderTree/win/ImageDiff.vcproj: - * FindSafari/FindSafari.vcproj: - * MiniBrowser/MiniBrowser.vcproj: - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - * WebKitAPITest/WebKitAPITest.vcproj: - * WebKitLauncherWin/WebKitLauncherWin.vcproj: - * WebKitTestRunner/win/InjectedBundle.vcproj: - * WebKitTestRunner/win/WebKitTestRunner.vcproj: - * WinLauncher/WinLauncher.vcproj: - * record-memory-win/record-memory-win.vcproj: - -2010-12-01 Martin Robinson - - Touch GetUserAgentWithNullNPPFromNPPNew.cpp in an effort to force - a rebuild of TestNetscapePlugin.la on GTK+. It seems that simply - adding the file to the sources list was not enough to force the rebuild. - - * DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp: - Remove an empty line at the end of this file to force a rebuild. - -2010-12-01 Sam Weinig - - Fix windows build. - - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - -2010-12-01 Martin Robinson - - Add missing file to the TestNetscapePlugin sources list after r73057. - - * GNUmakefile.am: Add missing file. - -2010-12-01 Sam Weinig - - Reviewed by Anders Carlsson. - - Add PageGrouping to WebKit2 API - https://bugs.webkit.org/show_bug.cgi?id=50332 - - - Update testing harnesses to deal with new PageGroup API. - - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (WKBundleInitialize): - * TestWebKitAPI/InjectedBundleController.cpp: - (TestWebKitAPI::InjectedBundleController::initialize): - (TestWebKitAPI::InjectedBundleController::didInitializePageGroup): - (TestWebKitAPI::InjectedBundleController::initializeTestNamed): - * TestWebKitAPI/InjectedBundleController.h: - * TestWebKitAPI/InjectedBundleTest.h: - (TestWebKitAPI::InjectedBundleTest::initialize): - (TestWebKitAPI::InjectedBundleTest::didInitializePageGroup): - * TestWebKitAPI/PlatformUtilities.cpp: - (TestWebKitAPI::Util::createContextForInjectedBundleTest): - * TestWebKitAPI/PlatformUtilities.h: - * TestWebKitAPI/PlatformWebView.h: - * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: - (TestWebKitAPI::TEST): - * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp: - (TestWebKitAPI::DocumentStartUserScriptAlertCrashTest::initialize): - * TestWebKitAPI/mac/PlatformWebViewMac.mm: - (TestWebKitAPI::PlatformWebView::PlatformWebView): - * TestWebKitAPI/win/PlatformWebViewWin.cpp: - (TestWebKitAPI::PlatformWebView::PlatformWebView): - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::didInitializePageGroup): - (WTR::InjectedBundle::initialize): - (WTR::InjectedBundle::beginTesting): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - (WTR::InjectedBundle::pageGroup): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::addUserScript): - (WTR::LayoutTestController::addUserStyleSheet): - (WTR::LayoutTestController::setXSSAuditorEnabled): - * WebKitTestRunner/TestController.cpp: - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - (WTR::PlatformWebView::PlatformWebView): - -2010-12-01 Steve Falkenburg - - Reviewed by Adam Roben. - - vcproj changes can't be applied cleanly by the Windows EWS bot - https://bugs.webkit.org/show_bug.cgi?id=50328 - - * CLWrapper/CLWrapper.sln: Modified property svn:eol-style. - * CLWrapper/CLWrapper.vcproj: Modified property svn:eol-style. - * DumpRenderTree/DumpRenderTree.sln: Modified property svn:eol-style. - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops: Added property svn:eol-style. - * DumpRenderTree/win/DumpRenderTree.vcproj: Modified property svn:eol-style. - * DumpRenderTree/win/DumpRenderTreeApple.vsprops: Added property svn:eol-style. - * DumpRenderTree/win/DumpRenderTreeCFLite.vsprops: Added property svn:eol-style. - * DumpRenderTree/win/DumpRenderTreeCairo.vsprops: Added property svn:eol-style. - * DumpRenderTree/win/DumpRenderTreeCommon.vsprops: Added property svn:eol-style. - * DumpRenderTree/win/ImageDiff.vcproj: Modified property svn:eol-style. - * DumpRenderTree/win/ImageDiffCommon.vsprops: Added property svn:eol-style. - * FindSafari/FindSafari.vcproj: Modified property svn:eol-style. - * FindSafari/FindSafariCommon.vsprops: Added property svn:eol-style. - * MIDLWrapper/MIDLWrapper.sln: Modified property svn:eol-style. - * MIDLWrapper/MIDLWrapper.vcproj: Modified property svn:eol-style. - * MiniBrowser/Configurations/MiniBrowserCFLite.vsprops: Added property svn:eol-style. - * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: Added property svn:eol-style. - * MiniBrowser/Configurations/MiniBrowserCoreFoundation.vsprops: Added property svn:eol-style. - * MiniBrowser/MiniBrowser.vcproj: Added property svn:eol-style. - * TestWebKitAPI/Configurations/TestWebKitAPICFLite.vsprops: Added property svn:eol-style. - * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops: Added property svn:eol-style. - * TestWebKitAPI/Configurations/TestWebKitAPICoreFoundation.vsprops: Added property svn:eol-style. - * TestWebKitAPI/win/TestWebKitAPI.sln: Added property svn:eol-style. - * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added property svn:eol-style. - * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: Added property svn:eol-style. - * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops: Added property svn:eol-style. - * WebKitAPITest/WebKitAPITest.vcproj: Added property svn:eol-style. - * WebKitAPITest/WebKitAPITestCommon.vsprops: Added property svn:eol-style. - * WebKitLauncherWin/WebKitLauncherWin.vcproj: Modified property svn:eol-style. - * WebKitLauncherWin/WebKitLauncherWinCommon.vsprops: Added property svn:eol-style. - * WebKitTestRunner/Configurations/InjectedBundleCFLite.vsprops: Added property svn:eol-style. - * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: Added property svn:eol-style. - * WebKitTestRunner/Configurations/InjectedBundleCoreFoundation.vsprops: Added property svn:eol-style. - * WebKitTestRunner/Configurations/WebKitTestRunnerCFLite.vsprops: Added property svn:eol-style. - * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops: Added property svn:eol-style. - * WebKitTestRunner/Configurations/WebKitTestRunnerCoreFoundation.vsprops: Added property svn:eol-style. - * WebKitTestRunner/WebKitTestRunner.sln: Added property svn:eol-style. - * WebKitTestRunner/win/InjectedBundle.vcproj: Added property svn:eol-style. - * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: Added property svn:eol-style. - * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops: Added property svn:eol-style. - * WebKitTestRunner/win/WebKitTestRunner.vcproj: Added property svn:eol-style. - * WinLauncher/WinLauncher.vcproj: Modified property svn:eol-style. - * WinLauncher/WinLauncherCommon.vsprops: Added property svn:eol-style. - * record-memory-win/record-memory-win-common.vsprops: Added property svn:eol-style. - * record-memory-win/record-memory-win.vcproj: Modified property svn:eol-style. - -2010-12-01 Anders Carlsson - - Reviewed by Darin Adler. - - Return a correct user agent if NPN_UserAgent is called with a null NPP from NPP_New. - https://bugs.webkit.org/show_bug.cgi?id=50336 - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - Add new test. - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: - (PluginTest::NPP_New): - Add default implementation/ - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: - * DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp: Added. - (GetUserAgentWithNullNPPFromNPPNew::GetUserAgentWithNullNPPFromNPPNew): - (GetUserAgentWithNullNPPFromNPPNew::NPP_New): - Get the user agent. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - Call PluginTest::NPP_New. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - Add new files. - - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_new_instance): - Call PluginTest::NPP_New. - -2010-12-01 Kevin Ollivier - - [wx] Build fixes after recent trunk changes. - - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::findString): - * wx/build/settings.py: - -2010-12-01 Dan Bernstein - - Reviewed by Darin Adler. - - WebKitTestRunner needs layoutTestController.findString - https://bugs.webkit.org/show_bug.cgi?id=50238 - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added findString(). - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::findString): Updated signature for autogenerated bindings. - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Ditto. - -2010-12-01 Steve Falkenburg - - Try using svn:eol-style native on a vcproj file. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: Modified property svn:eol-style. - -2010-12-01 Patrick Gansterer - - Reviewed by Adam Roben. - - [WINCE] Add WinCELauncher - https://bugs.webkit.org/show_bug.cgi?id=50217 - - * WinCELauncher/main.cpp: Added. - -2010-11-30 Benjamin Poulain - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Implement layoutTestController.findString - https://bugs.webkit.org/show_bug.cgi?id=50236 - - Add the missing function to the LayoutTestController. - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::findString): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-11-30 Tony Chang - - Reviewed by Adam Barth. - - [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn - https://bugs.webkit.org/show_bug.cgi?id=49036 - - * DumpRenderTree/chromium/LayoutTestController.cpp: Use IsNumber instead of IsInt32 - for CppVariants. - (LayoutTestController::cppVariantToBool): - (LayoutTestController::cppVariantToInt32): - (LayoutTestController::setDatabaseQuota): - (LayoutTestController::evaluateInWebInspector): - (LayoutTestController::setMockGeolocationError): - -2010-11-30 Eric Seidel - - Reviewed by Tony Chang. - - update-webkit should call git fetch before git svn rebase - https://bugs.webkit.org/show_bug.cgi?id=50273 - - After discussion on webkit-dev, we've decided to move the "default" - git setup to pulling updates from git.webkit.org in preference - to rebuilding the local svn index using git svn fetch every time. - - This change should have no effect on people using the "old" git setup - and should dramatically increase the speed of updates for those using - the "new" git setup along with update-webkit. I'm about to move the - EWS and other queues over to this setup once this lands. - - * Scripts/update-webkit: - -2010-11-30 Mario Sanchez Prada - - Reviewed by Xan Lopez. - - GTK: AX: implement press in DRT - https://bugs.webkit.org/show_bug.cgi?id=36146 - - Implement AccessibilityUIElement::press() for GTK. - - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (AccessibilityUIElement::press): Implemented. - -2010-11-29 Mihai Parparita - - Reviewed by Tony Chang. - - config.webkit_base_dir returns a path with a trailing slash - https://bugs.webkit.org/show_bug.cgi?id=50197 - - config.webkit_base_dir() should return a path without a trailing slash, - like all the other methods that return paths. - - Undoes MockFileSytem changes by r72640, since they're no longer - necessary for GetBaselinesTest to pass. - - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/config.py: - * Scripts/webkitpy/layout_tests/port/config_unittest.py: - -2010-11-30 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: baseline display tweaks - https://bugs.webkit.org/show_bug.cgi?id=50207 - - Determine which baselines were used when running the tests and highlight - them in the UI. Sort platform names alphabetically. - - Also makes the server URL be launched in the user's browser - automatically. - - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/util.js: - * Scripts/webkitpy/tool/commands/rebaselineserver.py: - * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: - -2010-11-30 Dan Bernstein - - Reviewed by Anders Carlsson. - - WebKitTestRunner needs layoutTestController.findString - https://bugs.webkit.org/show_bug.cgi?id=50238 - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::findString): Added. - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - -2010-11-30 Steve Falkenburg - - Reviewed by Adam Roben. - - All projects on Windows should use cmd files for build events - https://bugs.webkit.org/show_bug.cgi?id=50213 - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops: - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPostBuild.cmd: Added. - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPreBuild.cmd: Added. - * DumpRenderTree/win/DumpRenderTreeCommon.vsprops: - * DumpRenderTree/win/DumpRenderTreePostBuild.cmd: Added. - * DumpRenderTree/win/DumpRenderTreePreBuild.cmd: Added. - * DumpRenderTree/win/ImageDiffCommon.vsprops: - * DumpRenderTree/win/ImageDiffPostBuild.cmd: Added. - * DumpRenderTree/win/ImageDiffPreBuild.cmd: Added. - * MiniBrowser/Configurations/MiniBrowserCFLite.vsprops: - * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: - * MiniBrowser/Configurations/MiniBrowserCoreFoundation.vsprops: - * MiniBrowser/MiniBrowserPostBuild.cmd: Added. - * MiniBrowser/MiniBrowserPreBuild.cmd: Added. - * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops: - * TestWebKitAPI/win/TestWebKitAPIPostBuild.cmd: Added. - * TestWebKitAPI/win/TestWebKitAPIPreBuild.cmd: Added. - * WebKitAPITest/WebKitAPITestCommon.vsprops: - * WebKitAPITest/WebKitAPITestPostBuild.cmd: Added. - * WebKitAPITest/WebKitAPITestPreBuild.cmd: Added. - * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: - * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops: - * WebKitTestRunner/win/InjectedBundlePostBuild.cmd: Added. - * WebKitTestRunner/win/InjectedBundlePreBuild.cmd: Added. - * WebKitTestRunner/win/WebKitTestRunnerPostBuild.cmd: Added. - * WebKitTestRunner/win/WebKitTestRunnerPreBuild.cmd: Added. - * WinLauncher/WinLauncherCommon.vsprops: - * WinLauncher/WinLauncherPostBuild.cmd: Added. - * WinLauncher/WinLauncherPreBuild.cmd: Added. - -2010-11-29 Dan Bernstein - - GTK DumpRenderTree build fix after r72887. - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::findString): - -2010-11-29 Dan Bernstein - - Windows DumpRenderTree build fix after r72887. - - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::findString): Added empty implementation. - -2010-11-29 Dan Bernstein - - Reviewed by Darin Adler. - - DumpRenderTree changes for testing the text search API. - https://bugs.webkit.org/show_bug.cgi?id=50038 - - * DumpRenderTree/LayoutTestController.cpp: - (findStringCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::findString): - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController find:]): - -2010-11-29 Johnny Ding - - Unreviewed: Add myself to the list of Committers. - - * Scripts/webkitpy/common/config/committers.py: - -2010-11-29 Mark Rowe - - Reviewed by Adele Peterson. - - DumpRenderTree fails to build. - - * DumpRenderTree/mac/PerlSupport/Makefile: Skip generating wrappers. - -2010-11-29 Mark Rowe - - Reviewed by Adele Peterson. - - DumpRenderTree fails to build. - - * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportPregenerated.pm: Renamed from WebKitTools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm. - * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c: Renamed from WebKitTools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapTiger.c. - * DumpRenderTree/mac/PerlSupport/Makefile: - -2010-11-29 Mario Sanchez Prada - - Reviewed by Martin Robinson. - - [GTK] Null-check needed in DRT's AccessibilityUIElement::allAtributes() - https://bugs.webkit.org/show_bug.cgi?id=50154 - - Added missing checks to allAttributes(). - - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (AccessibilityUIElement::allAttributes): Added missing checks. - -2010-11-29 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Allow pre-generation for package builds for WebKit2 - https://bugs.webkit.org/show_bug.cgi?id=50139 - - Use a build variable for the generated directory path and set the - value based on CONFIG just like for WebKit1. - - For non-package builds use a relative base path for the - genrated directory just like for WebKit1. - - * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: - * WebKitTestRunner/qt/WebKitTestRunner.pro: - -2010-11-28 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Move some build logic from Qt to platform independent code - https://bugs.webkit.org/show_bug.cgi?id=50134 - - Create target directories inside generate-forwarding-headers.pl. - - * Scripts/generate-forwarding-headers.pl: - -2010-11-24 Nicolas Dufresne - - Reviewed by Martin Robinson. - - [GTK] Windowless plugins gets broken key input - https://bugs.webkit.org/show_bug.cgi?id=49927 - - Convert the XEvent::keycode to ASCII before printing it. Not - doing this was causing false positive in - plugins/keyboard-events.html. - - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (keycode_to_char): - (webkit_test_plugin_handle_event): - -2010-11-24 Jan Erik Hanssen - - Reviewed by Antonio Gomes. - - [Qt] Html autofocus not working with QGraphicsWebView - https://bugs.webkit.org/show_bug.cgi?id=43169 - - Tell the scene to set the webview item as the currently - focused item. This makes the input field with autofocus get - focus as it should. - - * QtTestBrowser/webview.cpp: - (WebViewGraphicsBased::WebViewGraphicsBased): - -2010-11-24 Dirk Pranke - - Reviewed by Tony Chang. - - nrwt - clean up create_driver interface and print out the - command line used for DumpRenderTree/TestShell. - - This patch adds a driver_cmd_line() call to the Port class in - order to retrive the command line to print it out (as part of - --print config). - - In addition, this patch cleans up the Port.create_driver() - signature and the Driver constructor interface to take a worker - number and no longer require the image_path argument (Chromium's - drivers now synthesize the image_path from the worker number - internally). - - https://bugs.webkit.org/show_bug.cgi?id=49934 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/base_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: - * Scripts/webkitpy/layout_tests/port/dryrun.py: - * Scripts/webkitpy/layout_tests/port/port_testcase.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-11-24 Ojan Vafai - - Reviewed by Tony Chang. - - [chromium] improve memory usage for test results server and store fewer runs - https://bugs.webkit.org/show_bug.cgi?id=50035 - - Store fewer runs and don't pass full files around when we only need bools. - Greatly improves error rates on test-results.appspot.com. - - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * TestResultServer/handlers/testfilehandler.py: - * TestResultServer/model/dashboardfile.py: - * TestResultServer/model/jsonresults.py: - -2010-11-24 Dirk Pranke - - Reviewed by Tony Chang. - - This patch implements the first part of the manager side of the - Broker objects - it handles creating threads, waiting for them - to complete, and running a single-threaded loop as well. - - https://bugs.webkit.org/show_bug.cgi?id=49779 - - * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: - * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-11-24 Mihai Parparita - - Reviewed by David Levin. - - DRT should not generate pixel output for text/plain tests - https://bugs.webkit.org/show_bug.cgi?id=50002 - - Modify Mac, Windows and GTK DRT implementations to disable pixel output - when encountering a text/plain response (the Chromium one already does - this, and none of the other ports special-case text/plain output in - the first place). - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (dump): - * DumpRenderTree/mac/DumpRenderTree.mm: - (dump): - * DumpRenderTree/win/DumpRenderTree.cpp: - (dump): - -2010-11-24 Andras Becsi - - Unreviewed. - - Add my other email address to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2010-11-24 Andras Becsi - - Reviewed by Csaba Osztrogonác. - - Make build-webkit --minimal build with ENABLE_INSPECTOR=0 - https://bugs.webkit.org/show_bug.cgi?id=49975 - - * Scripts/build-webkit: Add ENABLE_INSPECTOR define to features, - to enable the script to define it 0 in case of a minimal build. - -2010-11-24 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient - https://bugs.webkit.org/show_bug.cgi?id=49143 - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (createWebView): Call the new connectEditingCallbacks function. - * DumpRenderTree/gtk/EditingCallbacks.cpp: Added. - (dumpNodePath): - (dumpRange): - (insertActionString): - (selectionAffinityString): - (shouldBeginEditing): - (shouldEndEditing): - (shouldInsertNode): - (shouldInsertText): - (shouldDeleteRange): - (shouldShowDeleteInterfaceForElement): - (shouldChangeSelectedRange): - (shouldApplyStyle): - (editingBegan): - (userChangedContents): - (editingEnded): - (selectionChanged): - (connectEditingCallbacks): - * DumpRenderTree/gtk/EditingCallbacks.h: Added. - * GNUmakefile.am: Added EditingCallbacks.{h,cpp} to the source list. - -2010-11-24 Yi Shen - - Reviewed by Andreas Kling. - - [Qt] Make QtTestBrowser remember the selected user agent - https://bugs.webkit.org/show_bug.cgi?id=50021 - - Set user agent for a new page by using the old page's - - * QtTestBrowser/mainwindow.cpp: - (MainWindow::setPage): - -2010-11-24 Patrick Gansterer - - Reviewed by Csaba Osztrogonác. - - Remove Bakefile build system files - https://bugs.webkit.org/show_bug.cgi?id=49983 - - r53757 only removed the content, but not the files. - This patch removes that empty files. - - * DumpRenderTree/wx/DumpRenderTree.bkl: Removed. - * wx/browser/browser.bkl: Removed. - * wx/build-wxwebkit: Removed. - -2010-11-23 Dirk Pranke - - Reviewed by Tony Chang. - - This patch cleans up the logic used to shard tests into groups a - bit and adds the --worker-model flag to NRWT. The flag is only - used at the moment to control whether to run single-threaded or - not, but eventually will also allow toggling between threads and - processes. - - Also add a minor cleanup with _test_is_slow(), which just - eliminates some repetition and gives slightly better encapsulation. - - https://bugs.webkit.org/show_bug.cgi?id=49773 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-11-23 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: list current baselines and platforms - https://bugs.webkit.org/show_bug.cgi?id=49991 - - List existing baselines (with Trac links) for tests. - - Add dropdowns for choosing with platform baselines to target (and what - to do with existing ones). - - Also fix MockFileSystem.join to behave more like os.path.join (unit - test was ending up with two consecutive slashes in a layout test - path). - - * Scripts/webkitpy/common/system/filesystem_mock.py: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/index.html: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/util.js: - * Scripts/webkitpy/tool/commands/rebaselineserver.py: - * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: Added. - -2010-11-23 Ojan Vafai - - Reviewed by Tony Chang. - - remove timeout argument to urlopen - https://bugs.webkit.org/show_bug.cgi?id=49995 - - Apparently the version of python we have on the bots doesn't accept a timeout argument. - - * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py: - -2010-11-23 Sheriff Bot - - Unreviewed, rolling out r72628. - http://trac.webkit.org/changeset/72628 - https://bugs.webkit.org/show_bug.cgi?id=49994 - - This patch is causing layout-test failtures on GTK Linux - 64-bit Debug (Requested by ctguil on #webkit). - - * DumpRenderTree/chromium/AccessibilityUIElement.cpp: - (AccessibilityUIElement::AccessibilityUIElement): - (AccessibilityUIElement::parentElementCallback): - * DumpRenderTree/chromium/AccessibilityUIElement.h: - * DumpRenderTree/chromium/CppBoundClass.cpp: - * DumpRenderTree/chromium/CppBoundClass.h: - -2010-11-22 Ojan Vafai - - Reviewed by Tony Chang. - - speculative fix for upload errors: stop using mechanize to upload to test-results.appspot.com - https://bugs.webkit.org/show_bug.cgi?id=49944 - - * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py: - -2010-11-23 Chris Guillory - - Reviewed by Dimitri Glazkov. - - Include the FrameView widget of a RenderWidget in the accessibility tree. - https://bugs.webkit.org/show_bug.cgi?id=49106 - - * DumpRenderTree/chromium/AccessibilityUIElement.cpp: - (AccessibilityUIElement::AccessibilityUIElement): - (AccessibilityUIElement::parentElementCallback): - (AccessibilityUIElement::isEqualCallback): - * DumpRenderTree/chromium/AccessibilityUIElement.h: - * DumpRenderTree/chromium/CppBoundClass.cpp: - (CppBoundClass::getFromCppVariant): - * DumpRenderTree/chromium/CppBoundClass.h: - -2010-11-23 Alex Grilo - - Reviewed by Kenneth Rohde Christiansen. - - [EFL] Add tiled backing store to EWebLauncher - https://bugs.webkit.org/show_bug.cgi?id=45777 - - Allow EWebLauncher to choose between single and tiled backing store - - * EWebLauncher/main.c: - (on_key_down): - (browserCreate): - (main): - -2010-11-23 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Review the setUserPermission & friends API - https://bugs.webkit.org/show_bug.cgi?id=46810 - - Renamed requestPermissionFromUser to featurePermissionRequested - and cancelRequestsForPermission to featurePermissionRequestCanceled. - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::WebPage): - * QtTestBrowser/webpage.cpp: - (WebPage::WebPage): - (WebPage::featurePermissionRequestCanceled): - * QtTestBrowser/webpage.h: - -2010-11-23 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Review the setUserPermission & friends API - https://bugs.webkit.org/show_bug.cgi?id=46810 - - Rename setUserPermission to setFeaturePermission - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::requestPermission): - (WebCore::WebPage::permissionSet): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::grantDesktopNotificationPermission): - * QtTestBrowser/webpage.cpp: - (WebPage::requestPermission): - -2010-11-23 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Review the setUserPermission & friends API - https://bugs.webkit.org/show_bug.cgi?id=46810 - - Rename PermissionDomain to Feature, NotificationsPermissionDomain to Notifications - and GeolocationPermissionDomain to Geolocation. - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::WebPage): - (WebCore::WebPage::requestPermission): - (WebCore::WebPage::cancelPermission): - (WebCore::WebPage::permissionSet): - (WebCore::DumpRenderTree::geolocationPermissionSet): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::grantDesktopNotificationPermission): - * QtTestBrowser/webpage.cpp: - (WebPage::WebPage): - (WebPage::requestPermission): - (WebPage::cancelRequestsForPermission): - * QtTestBrowser/webpage.h: - -2010-11-23 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Review the setUserPermission & friends API - https://bugs.webkit.org/show_bug.cgi?id=46810 - - Add a ByUser suffix to PermissionGranted/Denied. In the future - we can add PermissionGrantedByDefault. - - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::requestPermission): - (WebCore::WebPage::permissionSet): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::grantDesktopNotificationPermission): - * QtTestBrowser/webpage.cpp: - (WebPage::requestPermission): - -2010-11-18 Satish Sampath - - Reviewed by Jeremy Orlow. - - For speech input event, send an event object containing all the recognition results and metadata. - https://bugs.webkit.org/show_bug.cgi?id=49736 - - Updated DRT by renaming the mock result method on all platforms to the new signature. - - * DumpRenderTree/LayoutTestController.cpp: - (addMockSpeechInputResultCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::addMockSpeechInputResult): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::addMockSpeechInputResult): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::addMockSpeechInputResult): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::addMockSpeechInputResult): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::addMockSpeechInputResult): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::addMockSpeechInputResult): - -2010-11-22 Dirk Pranke - - Reviewed by Tony Chang. - - Fix some spacing issues with log messages with - new-run-webkit-tests --verbose. - - https://bugs.webkit.org/show_bug.cgi?id=49936 - - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - -2010-11-22 Ojan Vafai - - Reviewed by Adam Barth. - - update scm to work with different remote branches - https://bugs.webkit.org/show_bug.cgi?id=49949 - - This works if there are multiple svn tracking branches - and/or if the tracking branch is refs/remots/origin/master - instead of refs/remotes/trunk which is the direction we're trying - to head since that makes fetches faster. - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - -2010-11-22 Hayato Ito - - Reviewed by Shinichiro Hamaji. - - Ignore reference files which will be used by reftests when collecting - test cases. - https://bugs.webkit.org/show_bug.cgi?id=49835 - - * Scripts/webkitpy/layout_tests/port/test_files.py: - * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: - -2010-11-22 Adam Roben - - Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files - - Apple's Windows build allows placing header files and import libraries for WebKit's - dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the - $WebKitLibrariesDir environment variable. This is both required for production builds and - convenient for Apple-internal developer builds. Apple's production builds also require that - WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production - builds, the files are copied into that directory tree by the - WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the - copying is done by - JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make. - - This .vsprops copying is problematic in one very important case: when a developer updates - their source tree and then tries to build. Visual Studio only reads .vsprops files when a - project is first loaded. So, when Visual Studio is first opened after the .vsprops files are - updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a - build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into - $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build - will proceed with out-of-date .vsprops files, which will likely result in a build failure. - - To fix this, we now use normal relative paths to access the .vsprops files in the source - tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment - variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is - unset, so the normal relative paths are used to read the .vsprops files out of the source - tree directly. In production builds, this environment variable is set to a fake directory - that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path - is resolved. - - For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops: - - $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops - - In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the - files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds, - JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to - "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for - FeatureDefines.vsprops becomes: - - $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops - - which resolves to: - - $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops - - (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3" - actually exist since they are matched by an equal number of ".." path components.) - - Note that Visual Studio still won't pick up changes made to .vsprops files while Visual - Studio is open, but that problem hasn't seemed to cause developers many headaches so far. - - Fixes Windows build fails mysteriously when .vsprops files are - updated - - Reviewed by Dave Hyatt. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/win/DumpRenderTree.vcproj: - * DumpRenderTree/win/ImageDiff.vcproj: - * FindSafari/FindSafari.vcproj: - * MiniBrowser/MiniBrowser.vcproj: - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: - * WebKitAPITest/WebKitAPITest.vcproj: - * WebKitLauncherWin/WebKitLauncherWin.vcproj: - * WebKitTestRunner/win/InjectedBundle.vcproj: - * WebKitTestRunner/win/WebKitTestRunner.vcproj: - * WinLauncher/WinLauncher.vcproj: - * record-memory-win/record-memory-win.vcproj: - Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops - files. - -2010-11-22 Adam Roben - - Make it possible to run tests on Windows without Visual Studio or VC++ - Express installed - - webkitdir.pm::setupCygwinEnv dies when Visual Studio and VC++ Express - are not installed. But this function doesn't need to be called when we - already have a build available and are just trying to run the tests. - - Fixes New Windows 7 bot can't run tests - because Visual Studio/VC++ Express aren't installed - - Reviewed by Dave Hyatt. - - * Scripts/webkitdirs.pm: - (determineConfigurationForVisualStudio): Don't call setupCygwinEnv, as - it is not needed by this function. Also added a FIXME. - - (usingVisualStudioExpress): Call setupCygwinEnv directly rather than - relying on determineConfigurationForVisualStudio doing it. - -2010-11-19 Hayato Ito - - Reviewed by Shinichiro Hamaji. - - Simplify Driver.run_test() so that it takes only one parameter, TestInput. - - https://bugs.webkit.org/show_bug.cgi?id=49812 - - * Scripts/webkitpy/layout_tests/driver_test.py: - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/base_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/dryrun.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-11-22 Hayato Ito - - Reviewed by Tony Chang. - - [NRWT] Retry a few times in reading a png image to avoid a race condition. - - https://bugs.webkit.org/show_bug.cgi?id=49924 - - * Scripts/webkitpy/layout_tests/port/chromium.py: - -2010-11-22 João Paulo Rechi Vita - - Reviewed by Kenneth Rohde Christiansen. - - Fix EWebLauncher zoom discretization - https://bugs.webkit.org/show_bug.cgi?id=49810 - - * EWebLauncher/main.c: - (nearest_zoom_level_get): - (zoom_level_set): - (on_load_finished): - (on_key_down): - -2010-11-21 Sam Weinig - - Rubber-stamped by Dan Bernstein. - - Fix ~300 WebKit2 tests by enabling developer extras preference. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::resetStateToConsistentValues): - -2010-11-21 Sam Weinig - - Reviewed by Dan Bernstein. - - Textareas should be resizable by default - https://bugs.webkit.org/show_bug.cgi?id=49892 - - * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: - * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: Added. - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - Add preferences test. - -2010-11-19 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: checksum-only differences and prefetching - https://bugs.webkit.org/show_bug.cgi?id=49841 - - Add support for image test results where the only difference is in the - checksum. - - Add prefetching of the image results from the next test. - - * Scripts/webkitpy/tool/commands/data/rebaselineserver/index.html: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: - * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: - -2010-11-19 Dirk Pranke - - Reviewed by Tony Chang. - - nrwt multiprocessing - add 'worker number' concept, move stuff to worker thread - - Add the 'worker number' and 'worker name' concepts to the - TestShellThread objects, and move test_types and test_args from - the TestRunner to the TestShellThread. - - https://bugs.webkit.org/show_bug.cgi?id=49768 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-11-19 Dirk Pranke - - Reviewed by Ojan Vafai. - - Do some minor cleanup and bug fixing. - - https://bugs.webkit.org/show_bug.cgi?id=49777 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-11-19 Dirk Pranke - - Reviewed by Ojan Vafai. - - nrwt - config.build_directory() is busted - - Fixes a typo that was causing us to usually return the top level - directory WebKitBuild instead of WebKitBuild/{Debug,Release}. The - bug was hidden by test stubs that were too simplistic :(. - - https://bugs.webkit.org/show_bug.cgi?id=49815 - - * Scripts/webkitpy/common/system/executive_mock.py: - * Scripts/webkitpy/layout_tests/port/config.py: - * Scripts/webkitpy/layout_tests/port/config_unittest.py: - -2010-11-19 Steve Falkenburg - - Reviewed by Adam Roben. - - Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files - https://bugs.webkit.org/show_bug.cgi?id=49819 - - * DumpRenderTree/DumpRenderTree.sln: - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/win/DumpRenderTree.vcproj: - * DumpRenderTree/win/ImageDiff.vcproj: - * FindSafari/FindSafari.vcproj: - * MiniBrowser/MiniBrowser.vcproj: - * TestWebKitAPI/win/TestWebKitAPI.sln: - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: - * WebKitAPITest/WebKitAPITest.vcproj: - * WebKitLauncherWin/WebKitLauncherWin.vcproj: - * WebKitTestRunner/win/InjectedBundle.vcproj: - * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: - * WebKitTestRunner/win/WebKitTestRunner.vcproj: - * WinLauncher/WinLauncher.vcproj: - * record-memory-win/record-memory-win.vcproj: - -2010-11-19 Adam Roben - - Add some more Windows slaves - - This is probably more than we will be using in the immediate future, - but having some extra slave names makes experimenting with different - configurations easier. - - Reviewed by Jon Honeycutt. - - * BuildSlaveSupport/build.webkit.org-config/config.json: Added 5 more - Windows slaves and distributed them among the three different Test - builders. - -2010-11-19 Kinuko Yasuda - - Reviewed by Ojan Vafai. - - [Chromium] REGRESSION: Record actual test results in the JSON result summary for non-layout tests - https://bugs.webkit.org/show_bug.cgi?id=49702 - - Re-landing r72357 with a test fix. - - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: - -2010-11-19 Avi Drissman - - Reviewed by Antonio Gomes. - - Complete support for Unix editing mode - https://bugs.webkit.org/show_bug.cgi?id=49757 - - * DumpRenderTree/LayoutTestController.cpp: - (setEditingBehaviorCallback): - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::setEditingBehavior): - -2010-11-19 Adam Roben - - Fix run-javascriptcore-tests when there's a space in the path to - testapi - - Reviewed by Sam Weinig. - - * Scripts/run-javascriptcore-tests: Use an indirect object when calling - system() to force it to interpret spaces in the path correctly. - -2010-11-19 Adam Roben - - Update scripts for .exe name changes after r72327 - - As of r72327, the "_debug" suffix is only used in Debug_All builds. - - Reviewed by Sam Weinig. - - * Scripts/run-javascriptcore-tests: - (testapiPath): - - * Scripts/sunspider-compare-results: - (pathToBuiltJSC): - - * Scripts/webkitdirs.pm: - (jscPath): - (safariPath): - -2010-11-19 Steve Falkenburg - - Reviewed by Darin Adler. - - Normalize Cairo/CFLite project/solution configuration names - https://bugs.webkit.org/show_bug.cgi?id=49818 - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/win/DumpRenderTree.vcproj: - * DumpRenderTree/win/ImageDiff.vcproj: - * MiniBrowser/MiniBrowser.vcproj: - * TestWebKitAPI/win/TestWebKitAPI.sln: - * TestWebKitAPI/win/TestWebKitAPI.vcproj: - * WebKitAPITest/WebKitAPITest.vcproj: - * WebKitTestRunner/win/InjectedBundle.vcproj: - * WebKitTestRunner/win/WebKitTestRunner.vcproj: - * WinLauncher/WinLauncher.vcproj: - * Scripts/webkitdirs.pm: Updated cairo build configs. - -2010-11-18 Steve Falkenburg - - Reviewed by Adam Roben. - - Windows vcproj configuration names should be normalized across projects - https://bugs.webkit.org/show_bug.cgi?id=49776 - - * DumpRenderTree/DumpRenderTree.sln: - * FindSafari/FindSafari.vcproj: - * TestWebKitAPI/win/TestWebKitAPI.sln: - * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: - * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops: Added. - * WebKitAPITest/WebKitAPITest.vcproj: - * WebKitAPITest/WebKitAPITestCommon.vsprops: - * WebKitLauncherWin/WebKitLauncherWin.vcproj: - * WebKitTestRunner/WebKitTestRunner.sln: - * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: - * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops: Added. - * record-memory-win/record-memory-win.vcproj: - -2010-11-18 Gavin Barraclough - - Build fix - as per DRT-mac, always enabled developer extras, - in win/qt/gtk DRT. - - This is necessary to enable rich exception messages to be generated - following https://bugs.webkit.org/show_bug.cgi?id=49708. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (shouldEnableDeveloperExtras): - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::shouldEnableDeveloperExtras): - * DumpRenderTree/win/DumpRenderTree.cpp: - (shouldEnableDeveloperExtras): - -2010-11-18 Sheriff Bot - - Unreviewed, rolling out r72357. - http://trac.webkit.org/changeset/72357 - https://bugs.webkit.org/show_bug.cgi?id=49784 - - It broke test-webkitpy tests since the patch didn't have the - corresponding test update (Requested by kinuko on #webkit). - - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - -2010-11-18 Mihai Parparita - - Reviewed by Tony Chang. - - Rebaseline server: add rebaseline queue - https://bugs.webkit.org/show_bug.cgi?id=49763 - - Add a UI queue (a multi-item onchange event on changes - https://bugs.webkit.org/show_bug.cgi?id=45192 - - Adds a selector on ObjCController for testing - -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:] and - its different uses. - - * DumpRenderTree/mac/ObjCController.m: - (+[ObjCController isSelectorExcludedFromWebScript:]): - (+[ObjCController webScriptNameForSelector:]): - (-[ObjCController setSelectElement:selectedIndex:allowingMultiple:]): - -2010-09-07 James Robinson - - Rubber-stamped by Dimitri Glazkov. - - Move myself from the committer to the reviewer list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-09-07 Tony Chang - - Reviewed by Darin Fisher. - - [chromium] Make a public flag for how DRT generates bitmaps on Linux - https://bugs.webkit.org/show_bug.cgi?id=45133 - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::dumpImage): - -2010-09-07 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Implement --check-layout-test-sys-deps - https://bugs.webkit.org/show_bug.cgi?id=45283 - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (main): Check --check-layout-test-sys-deps and call checkLayoutTestSystemDependencies(). - * DumpRenderTree/chromium/TestShell.h: Declare checkLayoutTestSystemDependencies(). - * DumpRenderTree/chromium/TestShellGtk.cpp: - (checkLayoutTestSystemDependencies): Add an empty implementation. - * DumpRenderTree/chromium/TestShellMac.mm: - (checkLayoutTestSystemDependencies): Add an empty implementation. - * DumpRenderTree/chromium/TestShellWin.cpp: - (checkLayoutTestSystemDependencies): Port similar function of test_shell. - -2010-09-07 Jessie Berlin - - Unreviewed. Mac build fix. - - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (didClearWindowObjectForFrame): - -2010-09-07 Jessie Berlin - - Reviewed by Darin Adler. - - Indicate which one of the ScriptWorlds for a Frame the Window Object has been cleared for - https://bugs.webkit.org/show_bug.cgi?id=45217 - - Make WebKitTestRunner work with this change. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::didClearWindowForFrame): - Make sure the ScriptWorld here is the normal world, since that is no longer being done in - WebFrameLoaderClient. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2010-09-07 Philippe Normand - - Unreviewed, build fix. - - webkit-patch command to find the ports covering a specific layout test - https://bugs.webkit.org/show_bug.cgi?id=42832 - - * Scripts/webkitpy/layout_tests/port/chromium.py: Don't assume the - tests are present when building the expectations. This is needed - for the unittests. - -2010-09-06 Philippe Normand - - Reviewed by Adam Barth. - - webkit-patch command to find the ports covering a specific layout test - https://bugs.webkit.org/show_bug.cgi?id=42832 - - To use it: webkit-patch skipped-ports some/layout/test.html - - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/base_unittest.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: - * Scripts/webkitpy/layout_tests/port/factory.py: - * Scripts/webkitpy/layout_tests/port/factory_unittest.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: - * Scripts/webkitpy/tool/commands/queries.py: - * Scripts/webkitpy/tool/commands/queries_unittest.py: - * Scripts/webkitpy/tool/main.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-09-07 Gabor Rapcsanyi - - Reviewed by Eric Seidel. - - [NRWT] Add temp directory to all running drivers. - https://bugs.webkit.org/show_bug.cgi?id=45261 - - * Scripts/webkitpy/layout_tests/port/webkit.py: - -2010-09-06 Dimitri Glazkov - - Reviewed by Kent Tamura. - - [Chromium/DRT] Empty out user stylesheet after each test run. - https://bugs.webkit.org/show_bug.cgi?id=45282 - - This should significantly cut down on the number of the mysterious flaky tests - whose diffs looked like the page was blown up to a very lage size. This - was indeed the dirty work of platform/mac/fast/loader/user-stylesheet-fast-path.html, - which set the base body font to 100px. - - Since the user stylesheet was never reset, _all_ pixel tests that ran after it in - the same thread failed. - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::resetWebSettings): Set user stylesheet to an empty URL. - -2010-09-06 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Do not generate pixel results for text/plain resources - https://bugs.webkit.org/show_bug.cgi?id=45253 - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::dump): Clear shouldGeneratePixelResults flag for text/plain. - -2010-09-06 Ojan Vafai - - Reviewed by Kent Tamura. - - print out correct error when a DRT thread dies in NRWT - https://bugs.webkit.org/show_bug.cgi?id=45281 - - Not sure why, but with the parens, python 2.6.5 on Linux - gives an error that raise takes 5 arguments and 0 were given. - Didn't test other platforms or python versions, but putting it - all on one line fixes it and correctly prints the exception - from the DRT thread. - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-09-06 Eric Seidel - - Unreviewed, just adding some emails from lists.webkit.org. - - Update committers.py to include emails from lists.webkit.org - as found by the validate-committer-lists script. - - * Scripts/webkitpy/common/config/committers.py: - -2010-09-06 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] Small code cleanup in DumpRenderTreeGtk.cpp - https://bugs.webkit.org/show_bug.cgi?id=45213 - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (initializeFonts): Made this function do nothing for non-X11 platforms, so we don't - have to surround the invocation with #ifdefs. - (useLongRunningServerMode): Added. - (runTestingServerLoop): Added. - (initializeGlobalsFromCommandLineOptions): Added. - (runTest): Removed ifdefs. - (main): Use new helper functions. - -2010-09-06 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] EventSender should support modifier keys with mouseDown and mouseUp events - https://bugs.webkit.org/show_bug.cgi?id=45235 - - Add support for interpreting the modifier key arguments to the mouseDown and mouseUp - methods of the EventSender. - - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): Allow passing in a modifier bitmask, which will be OR'd - with the current modifiers. - (contextClickCallback): Always send no modifiers when preparing the mouse event. - (gdkModifersFromJSValue): Added, converts a JSValue array into a GDK modifier bitmask. - (mouseDownCallback): Send in the requested modifiers to prepareMouseButtonEvent. - (mouseUpCallback): Ditto. - -2010-09-05 Peter Kasting - - Reviewed by Adam Barth. - - Make Chromium/Mac generate continuous mousewheel events with the same wheelDelta values as Safari/Mac. - https://bugs.webkit.org/show_bug.cgi?id=45155 - - * DumpRenderTree/chromium/EventSender.cpp: Modify Chromium DRT mousewheel event generation to match new behavior on Mac. - (EventSender::handleMouseWheel): - -2010-09-05 Yury Semikhatsky - - Reviewed by Joseph Pecoraro. - - Web Inspector: remove WebDevToolsAgentClient::forceRepaint which is not used - https://bugs.webkit.org/show_bug.cgi?id=45179 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - -2010-09-05 Andreas Kling - - Rubber-stamped by Daniel Bates. - - Adding myself as reviewer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-09-04 Daniel Bates - - Reviewed by Martin Robinson. - - Teach svn-apply/unapply about svn:mergeinfo - https://bugs.webkit.org/show_bug.cgi?id=45236 - - Recognize the svn:mergeinfo property and ignore it for now. - - Currently, svn-apply/unapply recognize only '+' and '-' - property changes within a diff. We should add support - to recognize "Merged" and "Reverse-merged" changes as well. - Because svn:mergeinfo is metadata that is used only by SVN - and tends to be error-prone and/or nuisance (*), we will ignore - it for now. - (*) See "Parting Thoughts" of . - - * Scripts/VCSUtils.pm: - - Modified parseSvnProperty() to recognize "Merged" and - "Reverse-merged" as the start of a property value. - * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: - - Added the following unit tests: - "simple: add svn:mergeinfo" - "simple: delete svn:mergeinfo" - "simple: modified svn:mergeinfo" - * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: - - Added the following unit tests: - "simple: add svn:mergeinfo" - "simple: delete svn:mergeinfo" - "simple: modified svn:mergeinfo" - "simple: modified svn:mergeinfo using SVN 1.4 syntax" - "'Merged' change followed by 'Merged' change" - "'Reverse-merged' change followed by 'Reverse-merged' change" - * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: - - Added the following unit tests: - "'Merged' change" - "'Reverse-merged' change" - "'Reverse-merged' change followed by 'Merge' change" - "'Merged' change followed by 'Merge' change" - "'Reverse-merged' change followed by 'Reverse-merged' change" - "'Reverse-merged' change followed by 'Reverse-merged' change followed by 'Merged' change" - -2010-09-04 Lucas De Marchi - - Reviewed by Kenneth Rohde Christiansen. - - [EFL] Move test browser to WebKitTools directory - https://bugs.webkit.org/show_bug.cgi?id=45212 - - Follow other ports like QT and GTK which moved the test browser to - WebKitTools directory. - - * CMakeListsEfl.txt: Added. - * EWebLauncher/main.c: Added. - (print_history): - (zoom_level_set): - (on_ecore_evas_resize): - (title_set): - (viewport_set): - (on_title_changed): - (on_progress): - (on_load_finished): - (on_toolbars_visible_set): - (on_toolbars_visible_get): - (on_statusbar_visible_set): - (on_statusbar_visible_get): - (on_scrollbars_visible_set): - (on_scrollbars_visible_get): - (on_menubar_visible_set): - (on_menubar_visible_get): - (on_tooltip_text_set): - (on_inputmethod_changed): - (on_viewport_changed): - (on_mouse_down): - (on_focus_out): - (on_focus_in): - (on_resized): - (on_key_down): - (on_browser_del): - (on_closeWindow): - (quit): - (browserCreate): - (browserDestroy): - (closeWindow): - (main_signal_exit): - (findThemePath): - (main): - -2010-09-03 Simon Fraser - - Reviewed by Adam Roben. - - Set project dependencies so that they build serially. This fixes - issues when running run-webkit-tests if DRT is not built yet. - - * DumpRenderTree/DumpRenderTree.sln: - -2010-09-03 Dimitri Glazkov - - Reviewed by Adam Barth. - - Fix reading configuraiton in NWRT to work on Windows. - https://bugs.webkit.org/show_bug.cgi?id=45180 - - * Scripts/webkitpy/layout_tests/port/base.py: Added 'perl' argument, because Windows doesn't know what to do - with the file otherwise. - -2010-09-03 Chris Rogers - - Unreviewed - - Add myself to the committers list - https://bugs.webkit.org/show_bug.cgi?id=45189 - - * Scripts/webkitpy/common/config/committers.py: - -2010-09-03 Andrey Kosyakov - - Reviewed by Yury Semikhatsky. - - http/tests/inspector/console-xhr-logging.html and http/tests/inspector/resource-har-conversion.html are failing on chromium win bot - Changed MIME type for .js to application/x-javascript for consistency with apache used on other platforms. - https://bugs.webkit.org/show_bug.cgi?id=45137 - - * Scripts/webkitpy/layout_tests/port/lighttpd.conf: - -2010-09-03 Gabor Rapcsanyi - - Reviewed by Eric Seidel. - - Add feature detection support to NRWT. - https://bugs.webkit.org/show_bug.cgi?id=41842 - - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/qt.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added. - -2010-09-03 Hironori Bono - - Reviewed by Kent Tamura. - - Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests - and implements it for Mac. - https://bugs.webkit.org/show_bug.cgi?id=41832 - - * DumpRenderTree/mac/TextInputController.m: Added [TextInputController hasSpellingMarker:length:] - and bind it so we can call it from JavaScript. - (+[TextInputController isSelectorExcludedFromWebScript:]): - (+[TextInputController webScriptNameForSelector:]): - (-[TextInputController hasSpellingMarker:length:]): - -2010-09-02 Eric Seidel - - Reviewed by Adam Barth. - - Add a unit test for commit-queue retries - https://bugs.webkit.org/show_bug.cgi?id=45162 - - I think commit-queue retries are not correctly avoiding - build and test on retries. So I started testing the code. - Unfortunately this test did not find the bug. But now - that we have the test we might as well keep it. - I also fixed a broken import in validate-committer-lists. - - * Scripts/validate-committer-lists: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-09-02 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Remove dependency to base/task.h and base/timer.h - https://bugs.webkit.org/show_bug.cgi?id=45091 - - Task.{cpp,h} introduces a simpler version of Chromium - base/task.h. It doesn't have TupleN and Method. - - * DumpRenderTree/DumpRenderTree.gypi: - Add Task.cpp and Task.h - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - (DRTDevToolsAgent::DRTDevToolsAgent): - (DRTDevToolsAgent::reset): - (DRTDevToolsAgent::asyncCall): - (DRTDevToolsAgent::frontendLoaded): - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - (DRTDevToolsAgent::taskList): Added to use MethodTask. - * DumpRenderTree/chromium/DRTDevToolsClient.cpp: - (DRTDevToolsClient::DRTDevToolsClient): - (DRTDevToolsClient::~DRTDevToolsClient): - (DRTDevToolsClient::reset): - (DRTDevToolsClient::asyncCall): - * DumpRenderTree/chromium/DRTDevToolsClient.h: - (DRTDevToolsClient::taskList): Added to use MethodTask. - * DumpRenderTree/chromium/EventSender.cpp: - (EventSender::EventSender): - (EventSender::reset): - (EventSender::scheduleAsynchronousClick): - * DumpRenderTree/chromium/EventSender.h: - (EventSender::taskList): Added to use MethodTask. - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::WorkQueue::processWorkSoon): - (LayoutTestController::waitUntilDone): - (LayoutTestController::notifyDone): - (LayoutTestController::reset): - * DumpRenderTree/chromium/LayoutTestController.h: - (LayoutTestController::taskList): Added to use MethodTask. - (LayoutTestController::WorkQueue::taskList): Added to use MethodTask. - * DumpRenderTree/chromium/NotificationPresenter.cpp: - (deferredDisplayDispatch): - (NotificationPresenter::show): - * DumpRenderTree/chromium/Task.cpp: Added. - * DumpRenderTree/chromium/Task.h: Added. - -2010-09-02 Steve Block - - Reviewed by Adam Barth. - - Hook up LayoutTestController.setMockDeviceOrientation() on Mac. - https://bugs.webkit.org/show_bug.cgi?id=43181 - - * DumpRenderTree/mac/DumpRenderTree.mm: - (createWebViewAndOffscreenWindow): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setMockDeviceOrientation): - -2010-08-31 Adam Roben - - Fix flashiness when resizing the browser window on Windows - - Reviewed by Sam Weinig. - - * MiniBrowser/win/BrowserWindow.cpp: - (BrowserWindow::wndProc): Override WM_ERASEBKGND so Windows won't - periodically fill the window with white. - -2010-09-02 Peter Kasting - - Reviewed by Dimitri Glazkov. - - Implement [continuous]MouseScrollBy() on Chromium, and partly on GTK. - https://bugs.webkit.org/show_bug.cgi?id=45073 - - * DumpRenderTree/chromium/EventSender.cpp: - (EventSender::EventSender): - (EventSender::mouseScrollBy): - (EventSender::continuousMouseScrollBy): - (EventSender::sendCurrentTouchEvent): - (EventSender::handleMouseWheel): - * DumpRenderTree/chromium/EventSender.h: - * DumpRenderTree/gtk/EventSender.cpp: - (mouseScrollByCallback): - (continuousMouseScrollByCallback): - -2010-09-01 Dirk Pranke - - Reviewed by Tony Chang. - - Land a patched version of r66542 - change TestRunner to have an - separate cleanup method and fix the ordering of cleanup between - TestRunner and the printing module, and then wrap everything in a - try/finally block to ensure reliable cleanup without needing to - rely on stuff happening in the destructor of the TestRunner. - - Also refactor run_webkit_tests.run() to be much smaller and cleaner - by creating a bunch of helper methods and moving more stuff into - the TestRunner class. - - This fixes the crash at the end of the linux test run of - new-run-webkit-tests (and undoes the rollout in 66547). - - https://bugs.webkit.org/show_bug.cgi?id=44902 - - * Scripts/webkitpy/layout_tests/data/failures/expected/exception.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/keyboard.html: Added. - * Scripts/webkitpy/layout_tests/data/passes/error-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/passes/error.html: Added. - * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-09-01 Mark Rowe - - Reviewed by Adam Roben. - - Fix TestNetscapePlugIn to compile without access to QuickDraw private headers. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - -2010-09-01 Brian Weinstein - - Reviewed by Adam Roben. - - Have kill-old-processes kill debug and release variants of WebKit2WebWebProcess - and WebKitTestRunner. - - * BuildSlaveSupport/win/kill-old-processes: - -2010-09-01 Gabor Rapcsanyi - - Reviewed by Antonio Gomes. - - [Qt] Remove obsolete include path from DumpRenderTree.pro - - * DumpRenderTree/qt/DumpRenderTree.pro: - -2010-09-01 Mahesh Kulkarni - - Reviewed by Laszlo Gombos. - - [Qt] QWebPage::allowGeolocationRequest should be async API - https://bugs.webkit.org/show_bug.cgi?id=41364 - - Implements new async API for geolocation permission similar to - Notification. WebPage maintains list of geolocation permission request - QtWebkit and set's when LayoutTestController gets the access from test JS - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::WebPage): - (WebCore::WebPage::resetSettings): - (WebCore::WebPage::requestPermission): - (WebCore::WebPage::cancelPermission): - (WebCore::WebPage::permissionSet): - (WebCore::DumpRenderTree::DumpRenderTree): - (WebCore::DumpRenderTree::processLine): - (WebCore::DumpRenderTree::geolocationPermissionSet): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::setGeolocationPermission): - (LayoutTestController::setGeolocationPermissionCommon): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-09-01 Andras Becsi - - Reviewed by Antti Koivisto. - - [Qt] Auto-generate WebKit2 forwarding headers - https://bugs.webkit.org/show_bug.cgi?id=44692 - - * MiniBrowser/qt/BrowserWindow.h: use source style includes - * MiniBrowser/qt/MiniBrowser.pro: add missing include paths - * Scripts/enumerate-included-framework-headers: Removed. - -2010-08-31 Ademar de Souza Reis Jr - - Reviewed by Adam Barth. - - Allow Ctrl+C inside Bugzilla::fetch_bug_dictionary - https://bugs.webkit.org/show_bug.cgi?id=44789 - - * Scripts/webkitpy/common/net/bugzilla.py: - -2010-08-31 Leandro Pereira - - Reviewed by Adam Barth. - - ews: Add support for EFL-EWS - https://bugs.webkit.org/show_bug.cgi?id=44982 - - * QueueStatusServer/model/queues.py: Add "efl-ews" to queues list. - * Scripts/webkitpy/common/config/ports.py: Define a EflPort class - and add it to the ports dict. - * Scripts/webkitpy/tool/commands/earlywarningsystem.py: Define a - EflEWS class. - * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Add - a test case for the EFL EWS. - -2010-08-31 Alexey Proskuryakov - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=42195 - WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::setXSSAuditorEnabled): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - Added setXSSAuditorEnabled, calling through to an WKBundle private method. Calling this method - makes WebProcess use a different value for this preference than UIProcess thinks it uses. - - * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): - Reset xssAuditorEnabled. Even though the value doesn't change, this calls through to WebProcess, - which forgets its override. - -2010-08-31 Sam Weinig - - Reviewed by Gavin Barraclough. - - WebKitTestRunner needs layoutTestController.addUserStyleSheet - https://bugs.webkit.org/show_bug.cgi?id=42680 - - WebKitTestRunner needs layoutTestController.addUserScript - https://bugs.webkit.org/show_bug.cgi?id=42681 - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::beginTesting): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::addUserScript): - (WTR::LayoutTestController::addUserStyleSheet): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - -2010-08-31 Dirk Pranke - - Unreviewed, rolling out r66542. - http://trac.webkit.org/changeset/66542 - https://bugs.webkit.org/show_bug.cgi?id=44902 - - r66542 - the weird logging dependencies in Python stuck again ... - - * Scripts/webkitpy/layout_tests/data/failures/expected/exception.html: Removed. - * Scripts/webkitpy/layout_tests/data/failures/expected/keyboard.html: Removed. - * Scripts/webkitpy/layout_tests/data/passes/error-expected.txt: Removed. - * Scripts/webkitpy/layout_tests/data/passes/error.html: Removed. - * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-08-31 Dumitru Daniliuc - - Reviewed by Tony Chang. - - Implementing LayoutTestController::markerTextForListItem() in Chromium's DRT. - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::markerTextForListItem): - * DumpRenderTree/chromium/LayoutTestController.h: - -2010-08-31 Dirk Pranke - - Reviewed by Ojan Vafai. - - new-run-webkit-tests: add more unit tests - - Add more unit tests for new-run-webkit-tests; we now cover all but - the most obscure code paths in the generic code. We still need to - add coverage for the http server and web socket paths, and add better - coverage of the platform-specific logic. Note that the rebaselining - tool is still not well tested. - - Also clean up some of the configuration logic for the printing - module and the way it interacts with the Python logging module; that - is a crufty interface, to be certain. - - https://bugs.webkit.org/show_bug.cgi?id=44902 - - * Scripts/webkitpy/layout_tests/data/failures/expected/exception.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/keyboard.html: Added. - * Scripts/webkitpy/layout_tests/data/passes/error-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/passes/error.html: Added. - * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-08-31 Darin Adler - - Reviewed by Anders Carlsson. - - * Scripts/check-for-global-initializers: Add a file that ends up having global initializers - in a debug build when built with certain compilers. - -2010-08-31 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] Isolate all GTK+ typedefs into one file - https://bugs.webkit.org/show_bug.cgi?id=44900 - - * DumpRenderTree/gtk/EventSender.h: Remove GTK+ typedefs. - -2010-08-31 Eric Seidel - - Reviewed by Adam Barth. - - Show more status on queue status pages - https://bugs.webkit.org/show_bug.cgi?id=44938 - - I upped the number of status lines from 6 to 15 -- - this has been bugging me for a while... - - I also disabled showing the chromium-win EWS queue - since it's been down for almost 5 months now. - - * QueueStatusServer/handlers/dashboard.py: - * QueueStatusServer/handlers/queuestatus.py: - * QueueStatusServer/model/queues.py: - -2010-08-31 Zoltan Horvath - - Reviewed by Antonio Gomes. - - [Qt] Read command line arguments and open them as URLs in new windows - https://bugs.webkit.org/show_bug.cgi?id=44944 - - Extend MiniBrowser to accept command line arguments and open them as URLs in new browser windows. - - * MiniBrowser/qt/main.cpp: - (main): - -2010-08-31 Adrian Perez - - Reviewed by Martin Robinson. - - Support scripts to run Buildbot slaves under daemontools (gtk related) - https://bugs.webkit.org/show_bug.cgi?id=40053 - - * BuildSlaveSupport/gtk: Added. - * BuildSlaveSupport/gtk/README: Added. - * BuildSlaveSupport/gtk/buildbot: Added. - * BuildSlaveSupport/gtk/buildbot/log: Added. - * BuildSlaveSupport/gtk/buildbot/log/run: Added. - * BuildSlaveSupport/gtk/buildbot/run: Added. - * BuildSlaveSupport/gtk/crashmon: Added. - * BuildSlaveSupport/gtk/crashmon/crashmon: Added. - * BuildSlaveSupport/gtk/crashmon/log: Added. - * BuildSlaveSupport/gtk/crashmon/log/run: Added. - * BuildSlaveSupport/gtk/crashmon/run: Added. - * BuildSlaveSupport/gtk/daemontools-buildbot.conf: Added. - * BuildSlaveSupport/gtk/pulseaudio: Added. - * BuildSlaveSupport/gtk/pulseaudio/run: Added. - * BuildSlaveSupport/gtk/xvfb: Added. - * BuildSlaveSupport/gtk/xvfb/log: Added. - * BuildSlaveSupport/gtk/xvfb/log/run: Added. - * BuildSlaveSupport/gtk/xvfb/run: Added. - -2010-08-27 John Gregg - - Reviewed by David Levin. - - Notifications should support a click event. - Adds necessary hooks to chromium's DRT so that clicks on desktop notifications - can be simulated during a layout test. Requires storing a list of active - notifications so that they can be referred to later for clicking. - https://bugs.webkit.org/show_bug.cgi?id=44800 - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::simulateDesktopNotificationClick): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/chromium/NotificationPresenter.cpp: - (NotificationPresenter::simulateClick): - (NotificationPresenter::show): - (NotificationPresenter::cancel): - (NotificationPresenter::objectDestroyed): - * DumpRenderTree/chromium/NotificationPresenter.h: - -2010-08-30 Alice Liu - - Reviewed by Darin Adler. - - Add missing parts of didFinishDocumentLoadForFrame - https://bugs.webkit.org/show_bug.cgi?id=44913 - - * MiniBrowser/mac/BrowserWindowController.m: - (didFinishDocumentLoadForFrame): Added - (-[BrowserWindowController awakeFromNib]): Updated struct - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): Rearranged function ptr - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): Updated struct - -2010-08-30 Vangelis Kokkevis - - Unreviewed: Add myself to the list of Committers. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-30 Kent Tamura - - Reviewed by Adam Barth. - - Fix fast/notifications/notifications-display-close-events.html failure - https://bugs.webkit.org/show_bug.cgi?id=44585 - - Apply http://crrev.com/48893. We should dispatch display events - asynchronously. - - * DumpRenderTree/chromium/NotificationPresenter.cpp: - (deferredDisplayDispatch): - (NotificationPresenter::show): - -2010-08-30 Robert Hogan - - Reviewed by Simon Hausmann. - - allow ports with windowed plugins to support windowless plugin tests - - https://bugs.webkit.org/show_bug.cgi?id=40730 - - Ports that implement plugins windowed by default need to have a way of - supporting plugin tests that assume the plugin is windowless. Add this - feature to the tests and support it in the webkit test plugin. Also - add mouse and keyboard event logging to the webkit-test plugin on Unix. - - Unskip the following tests on Qt: - - plugins/mouse-events.html - plugins/keyboard-events.html - plugins/mouse-events-fixedpos.html - - * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: - (pluginSetProperty): - * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp: - (NPP_New): - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_handle_event): - -2010-08-30 Kevin Ollivier - - [wx] Build fix after addition of fileapi directory in WebCore. - - * wx/build/settings.py: - -2010-08-30 Alejandro G. Castro - - Reviewed by Xan Lopez. - - Fixed compilation error, now that we have included the - GtkVersioning.h we have to remove some version dependent code from - EventSender. - - * DumpRenderTree/gtk/EventSender.cpp: - -2010-08-30 Alejandro G. Castro - - Reviewed by Martin Robinson. - - [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer - are deprecated - https://bugs.webkit.org/show_bug.cgi?id=44787 - - We have replaced GtkVersioning.cpp with GtkVersioning.c and - created a function (getDefaultGDKPointerDevice) to get the pointer - of the window with the new APIs. We added that function to DRT and - copyandpaste unit test. - - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): - (mouseMoveToCallback): - (keyDownCallback): - * GNUmakefile.am: - -2010-08-30 Zoltan Horvath - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Add new window menu to MiniBrowser - - Implement newWindow function and add a menu item for opening new window in MiniBrowser. - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::newWindow): - * MiniBrowser/qt/BrowserWindow.h: - * MiniBrowser/qt/main.cpp: - (main): - -2010-08-29 James Robinson - - Reviewed by David Levin. - - Make failing the download step fail the build - https://bugs.webkit.org/show_bug.cgi?id=44298 - - If the download step fails on a test bot, this ensures that - the build goes red instead of only the download step going red - and the overall build staying green. - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - -2010-08-29 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Remove dependency to base/keyboard_codes.h - https://bugs.webkit.org/show_bug.cgi?id=44847 - - * DumpRenderTree/chromium/EventSender.cpp: - Use webkit_support::VKEY_* instead of base::VKEY_*. - -2010-08-29 Darin Adler - - https://bugs.webkit.org/show_bug.cgi?id=40589 - - * Scripts/prepare-ChangeLog: Only prepend namespaces to non-empty - function names. - -2010-08-26 Holger Hans Peter Freyther - - Reviewed by Darin Adler. - - [iExploder] Add new CSS Properties and HTML Attributes - https://bugs.webkit.org/show_bug.cgi?id=44746 - - Updated the files with the update-iexploder-cssproperties script - and manually readded the -webkit-binding CSS Property to the list. - - * iExploder/htdocs/cssproperties.in: - * iExploder/htdocs/htmlattrs.in: - * iExploder/htdocs/htmltags.in: - -2010-08-26 Holger Hans Peter Freyther - - Reviewed by Darin Adler. - - Fix Coverage build after the addition of ANGLE - https://bugs.webkit.org/show_bug.cgi?id=44744 - - ANGLE is using libtool to build a static library and the version of - libtool on Leopard refuses to handle the -fprofile-arcs and -ftest-coverage - parameters. The easiest way to handle this is to not build ANGLE with - coverage information. - - This is achieved by applying the XCode options for each project - separately and exclude ANGLE. - - * Scripts/build-webkit: Remove -framework AppKit due link errors. - * Scripts/webkitdirs.pm: Do not apply the XCode options for ANGLE. - -2010-08-28 Kevin Ollivier - - [wx] Build fix after directory addition. - - * wx/build/settings.py: - -2010-08-28 Chris Guillory - - Reviewed by Chris Fleizach. - - Add AX notification for childrenChanged - https://bugs.webkit.org/show_bug.cgi?id=44472 - - * DumpRenderTree/chromium/AccessibilityController.cpp: - (AccessibilityController::AccessibilityController): - (AccessibilityController::reset): - (AccessibilityController::getRootElement): - (AccessibilityController::dumpAccessibilityNotifications): - * DumpRenderTree/chromium/AccessibilityController.h: - (AccessibilityController::shouldDumpAccessibilityNotifications): - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::didChangeAccessibilityObjectChildren): - * DumpRenderTree/chromium/WebViewHost.h: - -2010-08-28 Eric Seidel - - Reviewed by Adam Barth. - - Update commit-queue failure message - https://bugs.webkit.org/show_bug.cgi?id=44798 - - The commit-queue auto-restarts itself and has for a very long time. - No need for people to email me to request a restart anymore. - - * Scripts/webkitpy/common/net/bugzilla.py: - * Scripts/webkitpy/common/net/bugzilla_unittest.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-07-27 Jer Noble - - Reviewed by Eric Carlson. - - Add JavaScript API to allow a page to go fullscreen. - rdar://problem/6867795 - - Added basic full screen support to DumpRenderTree: when a webView requests - that DumpRenderTree go "full screen", just call the provided callback listener object's - will/did Enter/Exit full screen methods. Also, register a new user default which - enables full screen support. - - * DumpRenderTree/mac/DumpRenderTree.mm: - (resetDefaultsToConsistentValues): - * DumpRenderTree/mac/UIDelegate.mm: - (-[UIDelegate webView:supportsFullscreenForElement:]): - (-[UIDelegate webView:enterFullscreenForElement:listener:]): - (-[UIDelegate webView:exitFullscreenForElement:listener:]): - -2010-08-27 Benjamin Poulain - - Unreviewed. Add myself to the committers list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-27 Kent Tamura - - Reviewed by Pavel Feldman. - - [DRT/Chromium] Fix inspector test failures - https://bugs.webkit.org/show_bug.cgi?id=44748 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - (DRTDevToolsAgent::createClientMessageLoop): - Returns a valid WebKitClientMessageLoop instance - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - -2010-08-26 Jon Honeycutt - - Add Windows WebKit2 Tester to buildbot - - - Reviewed by Dan Bernstein. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2010-08-26 Philippe Normand - - Reviewed by Martin Robinson. - - [GTK] Needs DRT queueLoadHTMLString and setDeferMainResourceLoad-implementations - https://bugs.webkit.org/show_bug.cgi?id=42152 - - * DumpRenderTree/gtk/WorkQueueItemGtk.cpp: - (LoadHTMLStringItem::invoke): Implementation using - webkit_web_frame_load_string(). - -2010-08-25 Jon Honeycutt - - run-webkit-tests sometimes hangs when using - WebKitTestRunner (44331) - - Reviewed by Darin Adler. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - The hang occurs when WebKitTestRunner begins launching the WebKit2 - web process then exits before it finishes launching. Work around this by - looking for the --print-supported-features argument and exiting without - creating the web process. - -2010-08-26 Dirk Pranke - - Reviewed by Tony Chang. - - new-run-webkit-tests: add rebaselining tests for test_expectations - - This patch adds more unit tests for the rebaselining code in the - test_expectations module. It doesn't add any tests for - rebaseline_chromium_webkit_tests itself; that will come some other - time. - - https://bugs.webkit.org/show_bug.cgi?id=44648 - - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - -2010-08-26 Gustavo Noronha Silva - - Reviewed by Martin Robinson. - - [GTK] Add HTTP caching support - https://bugs.webkit.org/show_bug.cgi?id=44261 - - Ignore new soup API that we decided to merge into the soup backend - while it is being cooked. It follows the libsoup style, and will - be removed from WebKit as soon as it is merged into libsoup. - - * Scripts/webkitpy/style/checker.py: - -2010-08-26 Mahesh Kulkarni - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] DumpRenderTree runs only one test from command mode - https://bugs.webkit.org/show_bug.cgi?id=44012 - - Enables support to run multiple test files and single - folder containing html files in stand alone mode - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::DumpRenderTree): - (WebCore::DumpRenderTree::processArgsLine): - (WebCore::DumpRenderTree::loadNextTestInStandAloneMode): - (WebCore::DumpRenderTree::processLine): - (WebCore::DumpRenderTree::dump): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - (WebCore::DumpRenderTree::setStandAloneMode): - (WebCore::DumpRenderTree::isStandAloneMode): - * DumpRenderTree/qt/main.cpp: - (main): - -2010-08-25 Martin Robinson - - Updating webkitpy test expectations. - - * Scripts/webkitpy/tool/steps/steps_unittest.py: - -2010-08-25 Ojan Vafai - - Reviewed by Eric Seidel. - - fix the always squash git config - https://bugs.webkit.org/show_bug.cgi?id=44651 - - Fix help text and apparently underscores are not allowed - in git config keys. - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/tool/steps/commit.py: - -2010-08-25 Darin Adler - - Reviewed by John Sullivan. - - * Scripts/commit-log-editor: Fix perl warning for people who have no - value for SVN_LOG_EDITOR or CVS_LOG_EDITOR. - -2010-08-25 Ojan Vafai - - Reviewed by Eric Seidel. - - stop blocking commits when the bots are red - https://bugs.webkit.org/show_bug.cgi?id=44644 - - This check currently is just annoying. It doesn't actually - help keep the tree green. We can always add it back later - if we decide the tree is generally more green. - - * Scripts/webkitpy/tool/commands/download_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py: - -2010-08-25 Eric Seidel - - Reviewed by Simon Fraser. - - REGRESSION: media/video-loop.html is timing out on the commit-queue Leopard Bot - https://bugs.webkit.org/show_bug.cgi?id=38912 - - I know of nothing else to do but skip all media tests for the cq. - - * Scripts/webkitpy/tool/steps/runtests.py: - -2010-08-25 Dirk Pranke - - Reviewed by Ojan Vafai. - - new-run-webkit-tests: add more unit tests for test_expectations - This adds unit tests to cover (almost?) all of the non-rebaselining - functionality. - - https://bugs.webkit.org/show_bug.cgi?id=44579 - - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - -2010-08-25 Dirk Pranke - - Reviewed by Ojan Vafai. - - new-run-webkit-tests: add more unit tests - - This change adds more unit tests for the image_diff, test_failures, - and test_files modules, bringing them to 100% coverage (and adds a - couple tests to run_webkit_tests while we're at it). - - This test also turns on the "dryrun" port for testing when run on - the mac, increasing coverage in a few other places. - - https://bugs.webkit.org/show_bug.cgi?id=44578 - - * Scripts/webkitpy/layout_tests/data/failures/expected/checksum-expected.checksum: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/checksum-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/checksum-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/checksum.html: Copied from WebKitTools/Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum.html. - * Scripts/webkitpy/layout_tests/data/failures/expected/missing_check-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/missing_check-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/missing_check.html: Copied from WebKitTools/Scripts/webkitpy/layout_tests/data/failures/expected/missing_image.html. - * Scripts/webkitpy/layout_tests/data/failures/expected/timeout.html: Added. - * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: - * Scripts/webkitpy/layout_tests/data/resources/README.txt: Added. - * Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-08-25 Dirk Pranke - - Reviewed by Ojan Vafai. - - new-run-webkit-tests: add more unit tests for layout_package/printing.py - - This change adds more unit tests to get the test coverage to 100% - for the printing module. This code is actually pretty crufty and - has some layering violations that need to be cleaned up but I'll - save that for another CL after we get all the unit tests written and - we fix the multithreading issues. At least now we'll be able to tell - if we break things. - - https://bugs.webkit.org/show_bug.cgi?id=44576 - - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - -2010-08-25 Ojan Vafai - - Reviewed by Adam Barth. - - new-run-webkit-tests should respect set-webkit-configuration - https://bugs.webkit.org/show_bug.cgi?id=44633 - - Moves the getting of the configuration into the base Port so that - chromium ports use it as well. In the downstream chromium port, - this should still just return Release. - - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - -2010-08-25 Tony Chang - - Not reviewed, changing svn props for a script. - - * Scripts/deduplicate-tests: Added properties svn:executable and svn:eol-style. - -2010-08-25 Adam Barth - - Reviewed by Eric Seidel. - - Remove WebKit2 from core builders - https://bugs.webkit.org/show_bug.cgi?id=44625 - - This builder was added to the core builders by accident. It doesn't - appear to be green enough to be a core builder yet. - - * Scripts/webkitpy/common/net/buildbot.py: - * Scripts/webkitpy/common/net/buildbot_unittest.py: - -2010-08-19 Adam Roben - - Test that NP_Initialize and NP_GetEntryPoints are called in the - correct order - - The order differs between Mac and Windows (see r38858). - - Fixes Crash in - NP_Initialize when loading QuickTime when running - plugins/embed-attributes-setting.html in WebKit2 on Windows - - Reviewed by John Sullivan. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: Added a CRASH macro and - a boolean to record whether NP_GetEntryPoints has been called. - (NP_Initialize): Crash on Windows if NP_GetEntryPoints hasn't been - called yet. This matches Flash and QuickTime's behavior. - (NP_GetEntryPoints): Crash on Mac if NP_Initialize hasn't been called - yet. This matches Silverlight's behavior. - -2010-08-25 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - Cairo and EFL port shouldn't depend on glib. - https://bugs.webkit.org/show_bug.cgi?id=44354 - - Replace occurrences of GRefPtr and adoptGRef with PlatformRefPtr and - adoptPlatformRef. - - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (AccessibilityUIElement::isSelected): - -2010-08-25 Ojan Vafai - - Fix order of Timothy's email address. The script, and - other tools all assume that the first email is the bugzilla address. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-24 Kent Tamura - - Reviewed by Pavel Feldman. - - [DRT/Chromium] Fix 26 inspector test crashes - https://bugs.webkit.org/show_bug.cgi?id=44580 - - - DRTDevToolsAgent has a reference to the main WebView. So we - should not clear it in closeDevTools() and should clear it in - ~TestShell(). - - DRTDevToolsClient has a reference to a DevTools WebView and no - way to update it. So we should delete DRTDevToolsClient instances - in closeDevTools(). - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::~TestShell): - (TestShell::closeDevTools): - -2010-08-24 Eric Seidel - - Reviewed by Adam Barth. - - unicode(Exception(\u"0x1234")) is busted in python 2.5, disable tests which hit this - https://bugs.webkit.org/show_bug.cgi?id=44584 - - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-08-24 Eric Seidel - - Reviewed by Adam Barth. - - commit-queue and EWS bots should report all failures - https://bugs.webkit.org/show_bug.cgi?id=41820 - - Right now commit-queue/EWS only report failures when the - patch under testing fails. We should report all failures - to the status server so that we can diagnose when the bots - are wedged w/o needing to log into the machines. - - I also reduced the amount of data we upload since we've seen - timeouts during status upload. - - * Scripts/webkitpy/common/system/executive.py: - * Scripts/webkitpy/tool/commands/earlywarningsystem.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-08-24 Eric Seidel - - Reviewed by Adam Barth. - - Remove HTML5 parser testing infrastructure now that we don't need it - https://bugs.webkit.org/show_bug.cgi?id=44581 - - * DumpRenderTree/mac/DumpRenderTree.mm: - (resetDefaultsToConsistentValues): - (initializeGlobalsFromCommandLineOptions): - * Scripts/old-run-webkit-tests: - * Scripts/test-html5-parser: Removed. - -2010-08-24 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Fix 28 inspector test crashes - https://bugs.webkit.org/show_bug.cgi?id=44574 - - Reset DevToolsClient and DevToolsAgent before closing a DevTools - WebView in order to avoid accessing to a deleted WebView instance. - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::closeDevTools): - -2010-08-24 Dirk Pranke - - Reviewed by Ojan Vafai. - - new-run-webkit-tests: clean up code for test_types, test_failures - - Add a bunch of unit tests for webkitpy.layout_tests.test_types and - webkitpy.layout_tests.layout_package.test_failures, and remove - some dead code and otherwise clean up things. - - https://bugs.webkit.org/show_bug.cgi?id=44559 - - * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: - * Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py: Added. - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: Added. - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2010-08-24 Dirk Pranke - - Reviewed by Eric Seidel. - - new-run-webkit-tests: revise unit testing strategy for test failures - - This change revamps the way we store test data for new-run-webkit-tests. - Previously we had a few copies of test files from the main test tree. - Now we have a bunch of completely fake test data and use the test - data to generate different kinds of test failures, getting - much better coverage. - - https://bugs.webkit.org/show_bug.cgi?id=44556 - - * Scripts/webkitpy/layout_tests/data/failures/expected/crash.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image-expected.checksum: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum-expected.checksum: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/missing_image.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/missing_text.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/text-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/failures/expected/text.html: Added. - * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum-expected.checksum: Added. - * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum.html: Added. - * Scripts/webkitpy/layout_tests/data/image/canvas-bg.html: Removed. - * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.checksum: Removed. - * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.png: Removed. - * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.txt: Removed. - * Scripts/webkitpy/layout_tests/data/image/canvas-zoom.html: Removed. - * Scripts/webkitpy/layout_tests/data/misc/crash-expected.txt: Removed. - * Scripts/webkitpy/layout_tests/data/misc/crash.html: Removed. - * Scripts/webkitpy/layout_tests/data/misc/missing-expectation.html: Removed. - * Scripts/webkitpy/layout_tests/data/misc/passing-expected.txt: Removed. - * Scripts/webkitpy/layout_tests/data/misc/passing.html: Removed. - * Scripts/webkitpy/layout_tests/data/passes/image-expected.checksum: Added. - * Scripts/webkitpy/layout_tests/data/passes/image-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/passes/image-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/passes/image.html: Added. - * Scripts/webkitpy/layout_tests/data/passes/platform_image-expected.checksum: Added. - * Scripts/webkitpy/layout_tests/data/passes/platform_image-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/passes/platform_image-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/passes/platform_image.html: Added. - * Scripts/webkitpy/layout_tests/data/passes/text-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/passes/text.html: Added. - * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.checksum: Removed. - * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.png: Removed. - * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.txt: Removed. - * Scripts/webkitpy/layout_tests/data/platform/test/passes/platform_image-expected.checksum: Added. - * Scripts/webkitpy/layout_tests/data/platform/test/passes/platform_image-expected.png: Added. - * Scripts/webkitpy/layout_tests/data/platform/test/passes/platform_image-expected.txt: Added. - * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: - * Scripts/webkitpy/layout_tests/data/text/article-element-expected.txt: Removed. - * Scripts/webkitpy/layout_tests/data/text/article-element.html: Removed. - * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: - -2010-08-24 Dirk Pranke - - Reviewed by Eric Seidel. - - speed up new-run-webkit-tests unit tests - - Add a --no-record-results flag that turns off generating the JSON - results file on every test run. Generating the file requires us to - fetch the old results down from the bots, which can be slow. This - flag is off by default. - - Reduce the sleep time in wait_for_threads_to_finish from 0.1s to 0.01s. - - These changes together shorten the test cycle from ~4.5s to ~1.5s - - a 3x speedup. - - https://bugs.webkit.org/show_bug.cgi?id=44553 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-08-24 Tony Chang - - Reviewed by Eric Seidel. - - [chromium] fix the platform result fallback order on mac/win - https://bugs.webkit.org/show_bug.cgi?id=44483 - - * Scripts/webkitpy/layout_tests/port/google_chrome.py: - -2010-08-24 Xan Lopez - - Reviewed by Martin Robinson. - - Set a device to the event struct when building with GTK+ 3.x, it's - mandatory. - - * DumpRenderTree/gtk/EventSender.cpp: - (keyDownCallback): - -2010-08-24 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] GTK3: EventSender and API tests should use gdk_event_new when synthesizing events - https://bugs.webkit.org/show_bug.cgi?id=44534 - - Fix two double-frees introduced in my previous commit. - - * DumpRenderTree/gtk/EventSender.cpp: - (contextClickCallback): Copy the event before using it again. - (keyDownCallback): Ditto. - -2010-08-24 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] GTK3: EventSender and API tests should use gdk_event_new when synthesizing events - https://bugs.webkit.org/show_bug.cgi?id=44534 - - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): Use gdk_event_new and reference the reference the GdkWindow - when setting it on the event. It is dereferenced by gdk_event_free(...). - (contextClickCallback): Ditto. - (mouseDownCallback): Ditto. - (mouseUpCallback): Ditto. - (mouseMoveToCallback): Ditto. - (mouseWheelToCallback): Ditto. - (sendOrQueueEvent): Take a GdkEvent* instead of a GdkEvent. - (dispatchEvent): Ditto. Also free the event when we are done with it. - (keyDownCallback): Use gdk_event_new and reference the GdkWindow. - -2010-08-24 Andras Becsi - - [Qt] WebKit2 build fix. - - * Scripts/enumerate-included-framework-headers: - Remove stray global option form sed. - -2010-08-24 Kent Tamura - - Reviewed by Jeremy Orlow. - - [DRT/Chromium] Support for IndexedDB tests - https://bugs.webkit.org/show_bug.cgi?id=44490 - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): Enable IndexedDB. - -2010-08-23 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] The 64-bit Release bot is showing crashes on tests that use mouse buttons - https://bugs.webkit.org/show_bug.cgi?id=44465 - - Initialize the axes field of mouse button and motion events to null. - This is the value that should be used for events originating from the - mouse device. - - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): Initalize button event axes field to null. - (mouseMoveToCallback): Initialize motion event axes field to null. - -2010-08-23 Sheriff Bot - - Unreviewed, rolling out r65703. - http://trac.webkit.org/changeset/65703 - https://bugs.webkit.org/show_bug.cgi?id=44460 - - "Causing lots of crashes on Snow Leopard when running the - layout tests" (Requested by eseidel2 on #webkit). - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NP_Initialize): - (NP_GetEntryPoints): - -2010-08-23 Jon Honeycutt - - Layout tests do not run when using WebKitTestRunner in a Debug build. - https://bugs.webkit.org/show_bug.cgi?id=44409 - - Reviewed by Dan Bernstein. - - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::initializeInjectedBundlePath): - Use InjectedBundle_debug.dll when building Debug. - -2010-08-23 Xan Lopez - - Reviewed by Martin Robinson. - - [GTK] run-launcher fails if WebKitGTK+ compiled with GTK+-3.0 support - https://bugs.webkit.org/show_bug.cgi?id=42026 - - If a GTK+ 3.x build is present return that as the library to use, - otherwise fallback to the GTK+ 2.x build. - - * Scripts/webkitdirs.pm: - -2010-08-23 Balazs Kelemen - - Reviewed by Ariya Hidayat. - - [Qt] Find needed forwarding headers for WebKit2 automatically - https://bugs.webkit.org/show_bug.cgi?id=44336 - - * MiniBrowser/qt/BrowserWindow.cpp: Use normal (not framework style) includes here. - The new script does not satisfy the needs of this file however using normal includes - is generally better here. - * MiniBrowser/qt/MiniBrowser.pro: Added include paths. - * Scripts/enumerate-included-framework-headers: Enumerates headers included from the - given frameworks by files in the current directory (and subdirectories). - In the future this needs to be rewritten in perl for being able to use on Windows. - -2010-08-22 No'am Rosenthal - - Reviewed by Ariya Hidayat. - - [Qt] Qt test browser: enable a QGLWidget viewport with a command line argument - https://bugs.webkit.org/show_bug.cgi?id=43010 - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::applyPrefs): - * QtTestBrowser/main.cpp: - (LauncherApplication::handleUserOptions): - -2010-08-21 Sam Weinig - - Reviewed by Dan Bernstein. - - Remove specialized retain/release functions in favor of a single one for WKTypeRefs - https://bugs.webkit.org/show_bug.cgi?id=44386 - - * MiniBrowser/mac/AppDelegate.m: - (didRecieveMessageFromInjectedBundle): - (didNavigateWithNavigationData): - (-[BrowserAppDelegate init]): - (-[BrowserAppDelegate applicationWillTerminate:]): - * MiniBrowser/mac/BrowserStatisticsWindowController.m: - (-[BrowserStatisticsWindowController initWithThreadedWKContextRef:processWKContextRef:]): - (-[BrowserStatisticsWindowController dealloc]): - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController initWithPageNamespace:]): - (-[BrowserWindowController fetch:]): - (-[BrowserWindowController windowWillClose:]): - (-[BrowserWindowController applicationTerminating]): - (closePage): - (runJavaScriptAlert): - (runJavaScriptConfirm): - (runJavaScriptPrompt): - (-[BrowserWindowController updateProvisionalURLForFrame:]): - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (didClearWindowObjectForFrame): - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::goToURL): - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - (WTR::PlatformWebView::~PlatformWebView): - -2010-08-20 Benjamin Poulain - - Reviewed by Kenneth Rohde Christiansen. - - WebKit does not build with Python 2.3 - https://bugs.webkit.org/show_bug.cgi?id=44373 - - Replaced the function sorted() by a call to sort() - on the entry list. - The function sorted() has been added to Python 2.4. - The function method sort() of List works with older - versions of Python. - - * Scripts/create-html-entity-table: - -2010-08-20 Martin Robinson - - Reviewed by Pavel Feldman. - - Web Inspector: Inspector tests were disabled for GTK. - https://bugs.webkit.org/show_bug.cgi?id=43977 - - * Scripts/old-run-webkit-tests: Set the WEBKIT_INSPECTOR_PATH to the appropriate - path before running tests. - -2010-08-20 Daniel Bates - - Reviewed by Eric Seidel. - - svn-apply doesn't detect empty line with Windows line endings - after property value - https://bugs.webkit.org/show_bug.cgi?id=43981 - - Part 2 of 2 - - Add unit tests that were not landed in the first commit. - - * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: - - Added the following test cases: - "SVN: binary file (isBinary true) using Windows line endings" - "SVN: property diff, followed by file change diff using Windows line endings" - "SVN: two consecutive property diffs using Windows line endings" - "SVN: binary file with executable bit change usng Windows line endings" - "SVN: binary file followed by property change on different file using Windows line endings" - "SVN: binary file followed by file change on different file using Windows line endings" - "SVN: file change diff with property change, followed by property change diff using Windows line endings" - "SVN: file change diff with property change, followed by file change diff using Windows line endings" - * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: - - Added the following test cases: - "add svn:executable, followed by empty line and start of next diff using Windows line endings" - "add svn:executable, followed by empty line and start of next property diff using Windows line endings" - "multi-line '+' change, followed by empty line and start of next diff using Windows line endings" - "multi-line '+' change, followed by empty line and start of next property diff using Windows line endings" - "add svn:executable, followed by empty line and start of binary patch using Windows line endings" - "multi-line '+' change, followed by empty line and start of binary patch using Windows line endings" - "multi-line '-' change, followed by multi-line '+' change, empty line, and start of binary patch using Windows line endings" - "single-line '+' with trailing new line using Windows line endings" - "single-line '+' with trailing new line, followed by empty line and start of binary patch using Windows line endings" - "single-line '-' change with trailing new line, and single-line '+' change using Windows line endings" - "multi-line '-' change with trailing new line, and multi-line '+' change using Windows line endings" - * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: - - Added the following test cases: - "single-line '-' change followed by empty line with Windows line endings" - "multi-line '+' change and start of binary patch with Windows line endings" - -2010-08-20 Daniel Bates - - Reviewed by Eric Seidel. - - svn-apply doesn't detect empty line with Windows line endings - after property value - https://bugs.webkit.org/show_bug.cgi?id=43981 - - Fixes an issue where an empty line following the property value - in an SVN property change diff would not be detected if it had - Windows line endings (i.e. ended in CRLF). Hence it was consumed - as if it was part of a multi-line property value. - - * Scripts/VCSUtils.pm: - - Modified parseSvnPropertyValue() to detect empty line - with Windows line endings. - - Added toWindowsLineEndings(). - * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: - - Added the following test cases: - "SVN: binary file (isBinary true) using Windows line endings" - "SVN: property diff, followed by file change diff using Windows line endings" - "SVN: two consecutive property diffs using Windows line endings" - "SVN: binary file with executable bit change usng Windows line endings" - "SVN: binary file followed by property change on different file using Windows line endings" - "SVN: binary file followed by file change on different file using Windows line endings" - "SVN: file change diff with property change, followed by property change diff using Windows line endings" - "SVN: file change diff with property change, followed by file change diff using Windows line endings" - * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: - - Added the following test cases: - "add svn:executable, followed by empty line and start of next diff using Windows line endings" - "add svn:executable, followed by empty line and start of next property diff using Windows line endings" - "multi-line '+' change, followed by empty line and start of next diff using Windows line endings" - "multi-line '+' change, followed by empty line and start of next property diff using Windows line endings" - "add svn:executable, followed by empty line and start of binary patch using Windows line endings" - "multi-line '+' change, followed by empty line and start of binary patch using Windows line endings" - "multi-line '-' change, followed by multi-line '+' change, empty line, and start of binary patch using Windows line endings" - "single-line '+' with trailing new line using Windows line endings" - "single-line '+' with trailing new line, followed by empty line and start of binary patch using Windows line endings" - "single-line '-' change with trailing new line, and single-line '+' change using Windows line endings" - "multi-line '-' change with trailing new line, and multi-line '+' change using Windows line endings" - * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: - - Added the following test cases: - "single-line '-' change followed by empty line with Windows line endings" - "multi-line '+' change and start of binary patch with Windows line endings" - -2010-08-19 David Kilzer - - BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins - - * MiniBrowser/mac/BrowserWindowController.m: - (decidePolicyForNavigationAction): Updated method signature. - (decidePolicyForNewWindowAction): Updated method signature. - -2010-08-19 Adam Roben - - Test that NP_Initialize and NP_GetEntryPoints are called in the - correct order - - The order differs between Mac and Windows (see r38858). - - Fixes Crash in - NP_Initialize when loading QuickTime when running - plugins/embed-attributes-setting.html in WebKit2 on Windows - - Reviewed by Sam Weinig. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: Added a CRASH macro and - a boolean to record whether NP_GetEntryPoints has been called. - (NP_Initialize): Crash on Windows if NP_GetEntryPoints hasn't been - called yet. This matches Flash and QuickTime's behavior. Crash on Mac - if NP_GetEntryPoints has been called already. This matches - Silverlight's behavior. - -2010-08-19 Adam Roben - - Make build-webkittestrunner build TestNetscapePlugIn on Windows - - Fixes - - Reviewed by Sam Weinig. - - * WebKitTestRunner/WebKitTestRunner.sln: Added TestNetscapePlugIn. - Threaded it in between ImageDiff and InjectedBundleGenerated. - -2010-08-19 Ojan Vafai - - Reviewed by Adam Barth. - - install rietveld's upload script from a versioned url - https://bugs.webkit.org/show_bug.cgi?id=44291 - - autoinstall expects the file at a given URL to never change. - In order to be able to update the file, we need to be able to - change the path. - - * Scripts/webkitpy/thirdparty/__init__.py: - -2010-08-19 Ojan Vafai - - Reviewed by Adam Barth. - - add --webkit_patch_id to reitveld uploads - https://bugs.webkit.org/show_bug.cgi?id=44289 - - This is the first step in having rietveld store which - patches have been uploaded and getting rid of the - in-rietveld flag. - - * Scripts/webkitpy/common/net/rietveld.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/postcodereview.py: - -2010-08-19 Kenneth Russell - - Reviewed by David Levin. - - Adjust my status from committer to reviewer - https://bugs.webkit.org/show_bug.cgi?id=44277 - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-19 Pavel Feldman - - Reviewed by Yury Semikhatsky. - - Chromium DevTools: remove injected script fetcher from test harness. - https://bugs.webkit.org/show_bug.cgi?id=44266 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - -2010-08-19 Pavel Feldman - - Reviewed by Yury Semikhatsky. - - Chromium DevTools: There is no need in resource-based InjectedScript.js source. - Now that we populate front-end after its onload handler, we don't need - to install injected script early. Exposing injected script source on the WebCore - level here. - https://bugs.webkit.org/show_bug.cgi?id=44029 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - (DRTDevToolsAgent::runtimePropertyChanged): - (DRTDevToolsAgent::delayedFrontendLoaded): - (DRTDevToolsAgent::frontendLoaded): - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - -2010-08-19 Gustavo Noronha Silva - - Reviewed by Kenneth Rohde Christiansen. - - [Gtk] Enable view mode media feature layout test - https://bugs.webkit.org/show_bug.cgi?id=43278 - - Add view mode media feature testing infrastructure, and add - placeholder methods for the other platforms' - LayoutTestControllers. - - * DumpRenderTree/LayoutTestController.cpp: - (setViewModeMediaFeatureCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setViewModeMediaFeature): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setViewModeMediaFeature): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::setViewModeMediaFeature): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::setViewModeMediaFeature): - -2010-08-18 Mark Rowe - - Reviewed by Sam Weinig. - - Make it so the WebKit2 test slave runs the WebKit2 tests - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - -2010-08-18 Sam Weinig - - Reviewed by Mark Rowe. - - Make run-webkit-tests --webkit-test-runner build DumpRenderTree - in addition to WebKitTestRunner to get the DumpRenderTreeSupport - module and the TestNetscapePlugin. - - * Scripts/old-run-webkit-tests: - -2010-08-18 Adam Roben - - Fix hang when saving crash logs on Windows - - * Scripts/old-run-webkit-tests: - (setUpWindowsCrashLogSaving): - (END): - Pass -s to regtool so it will write the Auto value as a string instead - of as a number. This was causing a "do you want to debug?" dialog to - appear. - -2010-08-17 Victor Wang - - Unreviewed. Fixed chromium incremental test json upload. - Quote builder name and test results server in url. - - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - -2010-08-17 Laszlo Gombos - - Reviewed by Ariya Hidayat. - - [Qt] [Symbian] Consistently use Q_OS_SYMBIAN to guard all Symbian platform dependencies - https://bugs.webkit.org/show_bug.cgi?id=44124 - - Q_WS_S60 is not defined for Symbian^4 devices as Q_WS_S60 used to guard - Avkon UI framework dependencies. Use Q_OS_SYMBIAN everywhere to mark - Symbian dependencies. - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::open): - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::init): - (LauncherWindow::toggleFullScreenMode): - (LauncherWindow::showFPS): - (LauncherWindow::updateFPS): - * QtTestBrowser/launcherwindow.h: - (WindowOptions::WindowOptions): - * QtTestBrowser/mainwindow.cpp: - (MainWindow::buildUI): - -2010-08-17 Dirk Pranke - - Reviewed by David Levin. - - new-run-webkit-tests: remove --show-sources option - - --show-sources is pretty much obsolete with --trace everything, so - I'm removing it. - - Also rename a couple of methods in the TestTextDiff class to make their - intended visibility (private) more obvious. - - https://bugs.webkit.org/show_bug.cgi?id=44143 - - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: - * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - -2010-08-17 Dirk Pranke - - Reviewed by David Levin. - - remove --fuzzy-image-diff in new-run-webkit-tests (it doesn't work) - - This code bit-rotted at some point more than a year ago, and nobody seems - to miss it. old-run-webkit-tests has a --tolerance flag that new-run-webkit-tests - should support instead, making this flag unnecessary anyway. - - https://bugs.webkit.org/show_bug.cgi?id=44141 - - * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py: Removed. - -2010-08-17 Victor Wang - - Reviewed by Ojan Vafai. - - Update json results generator to have incremental json including - results for tests that pass in current run but failed before. - - https://bugs.webkit.org/show_bug.cgi?id=44119 - - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-08-17 Dirk Pranke - - Reviewed by Eric Seidel. - - fix test-webkitpy, add easy way to find a checkout root - - test-webkitpy currently doesn't work right if run from someplace other - than the checkout root, and it spews a bunch of debug logging because - the deduplicate_tests tests contaminates the test environment. - - This patch cleans up the deduplicate_tests unit tests, and creates - two new methods in scm.py: find_checkout_root() and default_scm(), - both of which use a single algorithm for guessing what checkout root - to use if you aren't explicitly told one from a path. - - https://bugs.webkit.org/show_bug.cgi?id=44001 - - * Scripts/deduplicate-tests: - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - * Scripts/webkitpy/layout_tests/deduplicate_tests.py: - * Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py: - * Scripts/webkitpy/layout_tests/port/test.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: - * Scripts/webkitpy/tool/main.py: - -2010-08-17 Victor Wang - - Reviewed by Ojan Vafai. - - Add support to the test results server for downloading json that - contains test list only. - - This is for json results generator to generate incremental json - results so that it includes results not only for tests failed in - current run, but also tests failed before. - - Also set the results type to "N" (no data) instead of "P" (pass) - if test results cannot be found in incremental json file. - - https://bugs.webkit.org/show_bug.cgi?id=44117 - - * TestResultServer/handlers/testfilehandler.py: - * TestResultServer/model/jsonresults.py: - * TestResultServer/model/jsonresults_unittest.py: - -2010-08-17 Adam Roben - - Use the right path style - - * Scripts/old-run-webkit-tests: - -2010-08-17 Adam Roben - - Fix typo - - * Scripts/old-run-webkit-tests: - -2010-08-17 Adam Roben - - Don't hang when running run-webkit-tests as a non-Administrator on - Vista/7 - - * Scripts/old-run-webkit-tests: - (setUpWindowsCrashLogSaving): Use regtool to set NTSD as the - post-mortem debugger, rather than using NTSD itself. The latter waits - for user input when it fails to set the registry values; the former - does not. - -2010-08-17 Adam Roben - - Teach run-webkit-tests, DumpRenderTree, and WebKitTestRunner how to - save crash logs on Windows - - The crash logs are saved to /tmp/layout-test-results and have names - like CrashLog_02bc_2010-08-17_14-36-20-108.txt. - - Unfortunately, crashes in the WebKit2 web process are recorded as - time-outs by run-webkit-tests. Fixing this is covered by - . - - Fixes - DumpRenderTree should save a stack trace and/or dump file when it - crashes - - Reviewed by Sam Weinig. - - * DumpRenderTree/win/DumpRenderTree.cpp: - (exceptionFilter): - (main): - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::exceptionFilter): - (WTR::TestController::platformInitialize): - These changes set up an exception filter that prints #CRASHED to - stderr, then lets the exception propagate normally. This allows - run-webkit-tests to detect when we've crashed even when a post-mortem - debugger attaches to the process. - - * Scripts/old-run-webkit-tests: - (top level): Declared some variables used by the crash-log-saving - code. - (openDumpTool): Copy _NT_SYMBOL_PATH into the clean environment so - that the post-mortem debugger has access to it. - (toCygwinPath): Added. This is the opposite of toWindowsPath. - (readFromDumpToolWithTimer): If the dump tool prints #CRASHED to - stderr, consider it a crash. - (setUpWindowsCrashLogSaving): Added. Saves the current post-mortem - debugger, then sets ntsd as the post-mortem debugger. ntsd is - configured to save a crash log and then quit automatically. - (END): Added. Restores the previous post-mortem debugger when the - script exits. - -2010-08-17 Victor Wang - - Reviewed by ojan@chromium.org. - - Update test results server: - 1. Normalize test results and times after merging (prune tests where - all runs pass or do not have data, truncate all test items to max - number of builds) - 2. times should be int not string. - 3. when inserting a new test item, should keep old data regardless - whether or not they have same item type with new one. - - https://bugs.webkit.org/show_bug.cgi?id=43861 - - * TestResultServer/model/jsonresults.py: - * TestResultServer/model/jsonresults_unittest.py: - -2010-08-16 Sam Weinig - - Reviewed by Mark Rowe. - - Add WebKit2 Mac tester to buildbot. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - -2010-08-16 Paul Sawaya - - Reviewed by Chris Marrin. - - Added shader validation via ANGLE - https://bugs.webkit.org/show_bug.cgi?id=42405 - - Added ANGLE to webkit build - - * Scripts/build-webkit: - -2010-08-16 Kevin Ollivier - - [wx] Build fix, do not build WebCore as a convenience library as this leads to - errors in the Win build w/export symbols and causes problems with DOM bindings - debugging in gdb. - - * DumpRenderTree/wscript: - * Scripts/build-webkit: - * wx/browser/wscript: - * wx/build/settings.py: - * wx/build/waf_extensions.py: - -2010-08-16 Dan Bernstein - - Build fix. - - * WebKitTestRunner/TestController.cpp: - (WTR::createOtherPage): Initialize the contentsSizeChanged member. - (WTR::TestController::initialize): Ditto. - -2010-08-16 Balazs Kelemen - - Reviewed by Kenneth Rohde Christiansen. - - Handle content size change in WebKit2 - Re-landing after fix. - - https://bugs.webkit.org/show_bug.cgi?id=43198 - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): Initialize WKPageUICallback::contetsSizeChanged to 0. - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): Initialize WKPageUICallback::contetsSizeChanged to 0. - -2010-08-16 Sheriff Bot - - Unreviewed, rolling out r65419. - http://trac.webkit.org/changeset/65419 - https://bugs.webkit.org/show_bug.cgi?id=44053 - - Broke the Windows build (Requested by bbandix on #webkit). - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - -2010-08-16 Balazs Kelemen - - Reviewed by Kenneth Rohde Christiansen. - - Handle content size change in WebKit2 - - https://bugs.webkit.org/show_bug.cgi?id=43198 - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): Initialize WKPageUICallback::contetsSizeChanged to 0. - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): Initialize WKPageUICallback::contetsSizeChanged to 0. - -2010-08-16 Ariya Hidayat - - Add my new email address to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-16 Zoltan Horvath - - Add my old e-mail addresses to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-15 Jon Honeycutt - - WebEditorClient::didBeginEditing is never called in WebKit2 - https://bugs.webkit.org/show_bug.cgi?id=42939 - - Reviewed by Sam Weinig. - - * WebKitTestRunner/PlatformWebView.h: - Declare focus(). - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::resetStateToConsistentValues): - Focus the PlatformWebView. - - * WebKitTestRunner/mac/PlatformWebViewMac.mm: - (WTR::PlatformWebView::focus): - Stubbed. - - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - (WTR::PlatformWebView::focus): - Focus the view. - -2010-08-15 Jon Honeycutt - - run-webkit-tests should not strip editing callbacks when using - WebKitTestRunner on Windows - https://bugs.webkit.org/show_bug.cgi?id=44000 - - Reviewed by Mark Rowe. - - * Scripts/old-run-webkit-tests: - Leave $stripEditingCallbacks undefined until we look for command-line - arguments. If using WebKit2, set it to 0 if not explicity set on the - command line. Later, set it to isCygwin() to match old behavior if it is - not yet defined. - -2010-08-15 Kevin Ollivier - - [wx] Build fix, remove define always set to the correct value by wtf/Platform.h. - - * wx/build/settings.py: - -2010-08-14 Martin Robinson - - Reviewed by Kenneth Rohde Christiansen. - - [GTK] autogen.sh not executed if build-webkit options change - https://bugs.webkit.org/show_bug.cgi?id=42266 - - Rerun autogen.sh in situations where the arguments to build-webkit have - changed since the previous build. This will fix some issues on the bots - where the build does not notice changes to default build-webkit arguments. - - * Scripts/webkitdirs.pm: Add special logic for detecting changes to build-webkit arguments. - -2010-08-14 Eric Seidel - - Unreviewed. Another fix to support python 2.3. - - Add support for MathML entities - https://bugs.webkit.org/show_bug.cgi?id=43949 - - * Scripts/webkitpy/thirdparty/simplejson/decoder.py: - - It looks like our simplejson is version 1.7.3 which - should be python 2.3 compatible. But someone modified - our copy slightly from the original source. - I've removed the relative import in hopes this fixes - the problem. - -2010-08-13 Eric Seidel - - Unreviewed. Build fix only. - - Add support for MathML entities - https://bugs.webkit.org/show_bug.cgi?id=43949 - - * Scripts/create-html-entity-table: - - Hack sys.path to avoid executing 2.5 dependent python - on systems (like chromium-win and Tiger) which do not have 2.5 python. - -2010-08-13 Adam Barth - - Reviewed by Eric Seidel. - - Rename some concepts in HTML entity search to be more self-documenting - https://bugs.webkit.org/show_bug.cgi?id=44004 - - Reflect name change in generator script. - - * Scripts/create-html-entity-table: - -2010-08-12 Adam Barth - - Reviewed by Eric Seidel. - - Add support for MathML entities - https://bugs.webkit.org/show_bug.cgi?id=43949 - - A script for generating the C++ state data structure describing all the - entities from a JSON description. - - * Scripts/create-html-entity-table: Added. - -2010-08-13 Dirk Pranke - - Reviewed by Eric Seidel. - - Rewrite new-run-webkit-test's wait_for_threads_to_finish loop to - check for exceptions on all threads, not just the first thread. - - This change also changes the logging behavior for wedged threads - to only dump the stacks of threads that are actually wedged. - - Refactor the thread classes in the dump_render_tree_thread module - to make the contract between TestRunner and TestShellThread clearer. - - Added a bunch of unit tests. - https://bugs.webkit.org/show_bug.cgi?id=38561 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: - -2010-08-13 Kenichi Ishibashi - - Reviewed by Shinichiro Hamaji. - - Add test_expectations.txt syntax checker to check-webkit-style. - https://bugs.webkit.org/show_bug.cgi?id=43899 - - Just utilizing layout_tests/layout_package/test_expectations.py for checking - the syntax of test_expectations.txt. - This change also moves tab checking class from style/checkers/text.py to - style/checkers/common.py for sharing code. - - * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: - * Scripts/webkitpy/style/checker.py: - * Scripts/webkitpy/style/checkers/common.py: - * Scripts/webkitpy/style/checkers/common_unittest.py: - * Scripts/webkitpy/style/checkers/test_expectations.py: Added. - * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Added. - * Scripts/webkitpy/style/checkers/text.py: - * Scripts/webkitpy/style_references.py: - -2010-08-12 Jon Honeycutt - - WebKitTestRunner does not correctly resize WebView for W3C SVG tests - https://bugs.webkit.org/show_bug.cgi?id=43945 - - Reviewed by Sam Weinig. - - * WebKitTestRunner/TestInvocation.cpp: - (WTR::sizeWebViewForCurrentTest): - Allow for a Windows-style path. - - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - (WTR::PlatformWebView::resizeTo): - Call SetWindowPos to resize the view window. - -2010-08-12 David Levin - - Build break fix. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::resetStateToConsistentValues): Removed usage - of a variable that doesn't exist in the class. - -2010-08-12 Jon Honeycutt - - WebKitTestRunner needs to run tests without using native controls - https://bugs.webkit.org/show_bug.cgi?id=43772 - - Reviewed by Sam Weinig. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - Call platformInitializeContext(). - - * WebKitTestRunner/TestController.h: - Declare platformInitializeContext(). - - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::platformInitializeContext): - Stubbed. - - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::platformInitializeContext): - Call WKContextSetShouldPaintNativeControls() to disable native control - drawing. - -2010-08-12 Sam Weinig - - Reviewed by Alexey Proskuryakov. - - WebKitTestRunner should be more aggressive about ensuring consistent state between tests - https://bugs.webkit.org/show_bug.cgi?id=43653 - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::InjectedBundle): - (WTR::InjectedBundle::didReceiveMessage): - (WTR::InjectedBundle::beginTesting): - (WTR::InjectedBundle::done): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - (WTR::InjectedBundle::isTestRunning): - (WTR::InjectedBundle::): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::stopLoading): - (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): - (WTR::InjectedBundlePage::dump): - (WTR::InjectedBundlePage::didFinishLoadForFrame): - (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): - (WTR::InjectedBundlePage::didReceiveTitleForFrame): - (WTR::InjectedBundlePage::didClearWindowForFrame): - (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): - (WTR::InjectedBundlePage::willAddMessageToConsole): - (WTR::InjectedBundlePage::willSetStatusbarText): - (WTR::InjectedBundlePage::willRunJavaScriptAlert): - (WTR::InjectedBundlePage::willRunJavaScriptConfirm): - (WTR::InjectedBundlePage::shouldBeginEditing): - (WTR::InjectedBundlePage::shouldEndEditing): - (WTR::InjectedBundlePage::shouldInsertNode): - (WTR::InjectedBundlePage::shouldInsertText): - (WTR::InjectedBundlePage::shouldDeleteRange): - (WTR::InjectedBundlePage::shouldChangeSelectedRange): - (WTR::InjectedBundlePage::shouldApplyStyle): - (WTR::InjectedBundlePage::didBeginEditing): - (WTR::InjectedBundlePage::didEndEditing): - (WTR::InjectedBundlePage::didChange): - (WTR::InjectedBundlePage::didChangeSelection): - Don't do any work if we are not currently running a test. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - * WebKitTestRunner/StringFunctions.h: - (WTR::toCF): - Add conversion function for WKURLRef -> CFURLRef - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::TestController): - (WTR::TestController::initialize): - (WTR::TestController::resetStateToConsistentValues): - (WTR::TestController::runTest): - (WTR::TestController::didFinishLoadForFrame): - * WebKitTestRunner/TestController.h: - (WTR::TestController::): - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::invoke): - * WebKitTestRunner/TestInvocation.h: - Move resetting code to TestController. - - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::runUntil): - * WebKitTestRunner/mac/TestInvocationMac.mm: Removed. - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::runUntil): - * WebKitTestRunner/win/TestInvocationWin.cpp: Removed. - * WebKitTestRunner/win/WebKitTestRunner.vcproj: - Move runUntil to TestController. - -2010-08-12 Lucas De Marchi - - Unreviewed. - - Adding myself to the committers list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-12 Hayato Ito - - Reviewed by Tony Chang. - - Merge pretty printers for gdb. - https://bugs.webkit.org/show_bug.cgi?id=43850 - - We need to update webcore.py because basic string classes have moved to WTF from WebCore. - It is good timing to merge webcore.py and wtf.py and name it 'webkit.py'. - webcore.py is left for backward compatibility. - - * gdb/webcore.py: - * gdb/webkit.py: Added. - * gdb/wtf.py: Removed. - -2010-08-11 Tony Chang - - Reviewed by David Levin. - - [chromium] add google-chrome layout test result directories - https://bugs.webkit.org/show_bug.cgi?id=43889 - - * Scripts/webkitpy/layout_tests/port/chromium_win.py: - * Scripts/webkitpy/layout_tests/port/factory.py: - * Scripts/webkitpy/layout_tests/port/google_chrome.py: Added. - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - -2010-08-11 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Disable accelerated compositing - https://bugs.webkit.org/show_bug.cgi?id=43894 - - Disable accelerated compositing because DRT is not ready for - it. This change fixes hundreds of test crashes on Windows and - Linux. - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::resetWebSettings): - -2010-08-11 Gustavo Noronha Silva - - Unreviewed. Adding my Collabora personality to the list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-11 Martin Robinson - - Adding myself as a reviewer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-11 Daniel Bates - - Reviewed by Darin Adler. - - Perl warnings when running commit-log-editor - https://bugs.webkit.org/show_bug.cgi?id=43856 - - Fixes Perl warnings introduced by the patch for Bug #40548. - - Perl doesn't have symbolic names for True/False. Instead, we - should use boolean values. Moreover, the variable installedEditorApplication - is not be used and should be renamed builtEditorApplication so that it - uses the existing machinery to set the commit log editor application. - - * Scripts/commit-log-editor: - -2010-08-11 Adam Barth - - Reviewed by Eric Seidel. - - Trying waiting for httpd lock in the EWS - https://bugs.webkit.org/show_bug.cgi?id=43833 - - If this works, we can probably run the tests on the mac-ews, which - would be very exciting. :) - - * Scripts/webkitpy/tool/steps/runtests.py: - -2010-08-11 Marcus Bulach - - Reviewed by Eric Seidel. - - Check in a script to list redundant test outputs. - https://bugs.webkit.org/show_bug.cgi?id=37630 - - If e.g. platform/mac-leopard is missing an expected test output, we - fall back on platform/mac. This means it's possible to grow redundant - test outputs, where we have the same expected data in both a platform - directory and another platform it falls back on. - (original patch by Evan Marting https://bugs.webkit.org/attachment.cgi?id=53398) - - * Scripts/deduplicate-tests: Added. - * Scripts/webkitpy/layout_tests/deduplicate_tests.py: Added. - * Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py: Added. - -2010-08-11 Antonio Gomes - - Reviewed by Ariya Hidayat. - - [Qt] QtTestBrowser: after switching between QWebView and QGraphicsWebView, rotation actions get broken - https://bugs.webkit.org/show_bug.cgi?id=43853 - - LauncherWindow::createChrome is connecting menu itens to WebViewGraphicsBased's slots directly. - It behaviors badly when user launches the QtTestBrowser in QWebView mode, since then switching to - QGraphicsWebView mode, createChrome is not called again, and menu items end up not getting connected - to slots at all. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - (LauncherWindow::animatedFlip): - (LauncherWindow::animatedYFlip): - * QtTestBrowser/launcherwindow.h: - -2010-08-11 Antonio Gomes - - Reviewed by Simon Hausmann. - - [Qt] QtTestBrowser: switching between QWebView and QGraphicsWebView modes is broken - https://bugs.webkit.org/show_bug.cgi?id=43851 - - All window options data (including the bool holding if the view is either QWebView or - QGraphicsWebView based) is stored in m_windowOptions, a class member of LauncherWindow. - When toggle the view from QWebView to QGraphicsWebView based (and vice-versa), we were - not updating LauncherWindow::WindowOptions::m_useGraphicsView bit, and then things were - getting broken. - - Patch addresses this issue. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - (LauncherWindow::toggleWebView): - (LauncherWindow::toggleAcceleratedCompositing): - -2010-08-10 Antonio Gomes - - Reviewed by Ariya Hidayat. - - [Qt] QtTestBrowser: lazy instantiate "YRotation" state machine and related objects - https://bugs.webkit.org/show_bug.cgi?id=43831 - - Only instantiate QStateMachine and friends associated to the YRotation action on demand. - - * QtTestBrowser/webview.cpp: - (WebViewGraphicsBased::WebViewGraphicsBased): - (WebViewGraphicsBased::animatedYFlip): - -2010-08-11 Darin Adler - - Reviewed by John Sullivan. - - Improved editor options for prepare-ChangeLog and commit-log-editor - https://bugs.webkit.org/show_bug.cgi?id=40548 - - * Scripts/commit-log-editor: Split editor strings on spaces so EDITOR - values like "xed --launch --wait" work properly. - - * Scripts/prepare-ChangeLog: Added a new CHANGE_LOG_EDITOR so we can - use a command line tool with the $openChangeLogs feature. - -2010-08-11 Yury Semikhatsky - - Reviewed by Pavel Feldman. - - Web Inspector: remove InjectDispatch.js - https://bugs.webkit.org/show_bug.cgi?id=43835 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - -2010-08-10 Dirk Pranke - - Reviewed by Eric Seidel. - - webkit-patch should refuse to run under Win32 Python - https://bugs.webkit.org/show_bug.cgi?id=40962 - - Given that there are lots of places in webkit-patch's code that - assume unix-style filenames (forward slashes), webkit-patch fails - with weird file-not-found errors when run under a native windows - Python. It would be nice if we just trapped this and errored out - at the beginning, rather than producing unpredictable errors. - - * Scripts/webkit-patch: - -2010-08-10 Kent Tamura - - Unreviewed, build fix. - - Chromium build fix for r65107. - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - -2010-08-10 Sergio Villar Senin - - Reviewed by Xan Lopez. - - [GTK] http/tests/media/video-cookie.html fails - https://bugs.webkit.org/show_bug.cgi?id=42240 - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setAlwaysAcceptCookies): create the - SoupCookieJar if it does not exist. Otherwise the accept policy - won't be set. - -2010-08-10 Chris Marrin - - Reviewed by Oliver Hunt. - - Add suspendAnimations/resumeAnimation API to DRT - https://bugs.webkit.org/show_bug.cgi?id=43733 - - Adds suspendAnimations() and resumeAnimations() to LayoutTestController. - Calls functions with the same names on AnimationController for the - mainFrame. - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - * DumpRenderTree/LayoutTestController.cpp: - (suspendAnimationsCallback): - (resumeAnimationsCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::suspendAnimations): - (LayoutTestController::resumeAnimations): - -2010-08-10 Dimitri Glazkov - - Reviewed by Ojan Vafai. - - [Chromium/DRT] Enable saving layout test results. - https://bugs.webkit.org/show_bug.cgi?id=43796 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Added more - parameters to the new-run-webkit-tests, including the name - of the test results server. - -2010-08-10 Jian Li - - More chromium build fix. - - * DumpRenderTree/chromium/MockSpellCheck.cpp: - (MockSpellCheck::spellCheckWord): - (MockSpellCheck::initializeIfNeeded): - * DumpRenderTree/chromium/NotificationPresenter.cpp: - (NotificationPresenter::grantPermission): - (NotificationPresenter::show): - (NotificationPresenter::checkPermission): - -2010-08-10 Jian Li - - Chromium build fix. - - * DumpRenderTree/chromium/MockSpellCheck.cpp: - * DumpRenderTree/chromium/NotificationPresenter.cpp: - -2010-08-10 Victor Wang - - Reviewed by Ojan Vafai. - - Update test results server merge logic so the aggregated - results and times are updated for tests that are - in aggragated json but not in incremental json. - - Also update unittest to test this case. - - https://bugs.webkit.org/show_bug.cgi?id=43769 - - * TestResultServer/model/jsonresults.py: - * TestResultServer/model/jsonresults_unittest.py: - -2010-08-09 Antonio Gomes - - Reviewed by Ariya Hidayat. - - [Qt] QtTestBrowser: proper set scene rect - - When resizesToContents is ON scene's rect is set to the boundary of - the mainFrame. However, navigating to other web page should keep resizing - scene's rect according to the new document loaded. Patch addresses this issue. - - Now resizesToContents and scrolling properly work on QtTestBrowser. - - * QtTestBrowser/webview.cpp: - (WebViewGraphicsBased::setPage): - (WebViewGraphicsBased::contentsSizeChanged): - (WebViewGraphicsBased::setResizesToContents): - (WebViewGraphicsBased::resizeEvent): - * QtTestBrowser/webview.h: - -2010-08-09 Antonio Gomes - - Reviewed by Ariya Hidayat. - - [Qt] QtTestBrowser: Clean up LauncherWindow code. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::LauncherWindow): Moves applyPrefs methods call from the constructor to init(). - (LauncherWindow::init): Fixed comments. - (LauncherWindow::applyPrefs): Move the method around. - (LauncherWindow::createChrome): Move more code of this method around, for grouping, and fixing up comments. - -2010-08-09 Antonio Gomes - - Reviewed by Ariya Hidayat. - - [Qt] QtTestBrowser: make reset-zooming to animate when tiled backing store is on. - - It gets control+0 the same visual effect as control++ or control-. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::toggleZoomTextOnly): - -2010-08-09 Antonio Gomes - - Reviewed by Ariya Hidayat. - - [Qt] QtTestBrowser:: make m_zoomLevels a static member. - - Not all instances of LauncherWindow need its own m_zoomLevel. - - * QtTestBrowser/launcherwindow.cpp: - * QtTestBrowser/launcherwindow.h: - -2010-08-09 Sam Weinig - - Reviewed by Geoffrey Garen. - - Add zoom support for injected bundle - https://bugs.webkit.org/show_bug.cgi?id=43759 - - Use zoom factor SPI to implement zoom related eventSender functions. - - * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: - * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: - (WTR::EventSendingController::textZoomIn): - (WTR::EventSendingController::textZoomOut): - (WTR::EventSendingController::zoomPageIn): - (WTR::EventSendingController::zoomPageOut): - * WebKitTestRunner/InjectedBundle/EventSendingController.h: - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::reset): Reset zoom mode and level for each test. - -2010-08-09 Gavin Barraclough - - Speculative chromium build fix III. - - * DumpRenderTree/chromium/MockSpellCheck.h: - * DumpRenderTree/chromium/NotificationPresenter.h: - * DumpRenderTree/chromium/WebViewHost.h: - (WebViewHost::addClearHeader): - (WebViewHost::clearHeaders): - -2010-08-09 Ojan Vafai - - Reviewed by Tony Chang. - - increase the number of test results that we save - https://bugs.webkit.org/show_bug.cgi?id=43763 - - Now that we do incremental uploads, we can increase the number of - results that we save for http://test-results.appspot.com/dashboards/flakiness_dashboard.html. - - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - -2010-08-09 Evan Martin - - Reviewed by Tony Chang. - - [chromium] DRT error print statement incorrectly tries to print a FILE* - https://bugs.webkit.org/show_bug.cgi?id=43747 - - * DumpRenderTree/chromium/ImageDiff.cpp: - (writeFile): pass the correct pointer. - -2010-08-09 Victor Wang - - Reviewed by Ojan Vafai. - - Upload incremental test results json to server by default. - - https://bugs.webkit.org/show_bug.cgi?id=43743 - - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-08-09 Eric Seidel - - Reviewed by Adam Barth. - - EWS bots wait 2 minutes between patches - https://bugs.webkit.org/show_bug.cgi?id=43731 - - * Scripts/webkitpy/tool/bot/queueengine.py: - - Don't sleep after failures. This was a hold-over from - an earlier design. - * Scripts/webkitpy/tool/commands/earlywarningsystem.py: - - EWS bots were not properly reporting true/false from process_work_item. - They were always returning None, thus false, thus always logging - as a failure and sleeping 2 minutes after each patch. - -2010-08-09 Sam Weinig - - Reviewed by Anders Carlsson. - - Stub out EventSender for WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=43703 - - * WebKitTestRunner/DerivedSources.make: - * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: - Add ability to pass javascript arguments to the wrapped object. - - * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Added. - * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: Added. - (WTR::EventSendingController::create): - (WTR::EventSendingController::EventSendingController): - (WTR::EventSendingController::~EventSendingController): - (WTR::EventSendingController::wrapperClass): - (WTR::setExceptionForString): - (WTR::EventSendingController::mouseDown): - (WTR::EventSendingController::mouseUp): - (WTR::EventSendingController::mouseMoveTo): - (WTR::EventSendingController::keyDown): - (WTR::EventSendingController::contextClick): - (WTR::EventSendingController::leapForward): - (WTR::EventSendingController::textZoomIn): - (WTR::EventSendingController::textZoomOut): - (WTR::EventSendingController::zoomPageIn): - (WTR::EventSendingController::zoomPageOut): - (WTR::EventSendingController::makeWindowObject): - * WebKitTestRunner/InjectedBundle/EventSendingController.h: Added. - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::reset): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - (WTR::InjectedBundle::eventSendingController): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::didClearWindowForFrame): - Add stubbed out EventSenderController. - - * WebKitTestRunner/InjectedBundle/GCController.h: - Remove incorrect comment. - - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - * WebKitTestRunner/win/InjectedBundle.vcproj: - Add new files. - -2010-08-08 Kent Tamura - - Unreviewed, trivial fix. - - Fix "WindowsError: [Error 32] The process cannot access the file - because it is being used by another process" introduced by r64959. - - * BuildSlaveSupport/test-result-archive: - -2010-08-08 Kent Tamura - - Reviewed by Tony Chang. - - Chromium buildbot: Avoid "zip" command dependency - https://bugs.webkit.org/show_bug.cgi?id=43470 - - * BuildSlaveSupport/test-result-archive: - For Chromium port, creates a zip archive with zipfile package of Python - instead of external "zip" command. We'd like to avoid additional - command installation. - -2010-08-08 Jon Honeycutt - - WebKitTestRunner should add the QuickTime dir to the PATH environment - variable - https://bugs.webkit.org/show_bug.cgi?id=43686 - - Reviewed by Dan Bernstein. - - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::addQTDirToPATH): - Copied from DRT. - (WTR::TestController::platformInitialize): - Call addQTDirToPath(). - * WebKitTestRunner/win/WebKitTestRunner.vcproj: - Link to shlwapi.lib for SHGetValue. - -2010-08-07 Sam Weinig - - Reviewed by Maciej Stachowiak. - - WebKitTestRunner needs layoutTestController.dumpTitleChanges - - https://bugs.webkit.org/show_bug.cgi?id=42683 - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::didReceiveTitleForFrame): - (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::dumpTitleChanges): - (WTR::LayoutTestController::shouldDumpTitleChanges): - -2010-08-07 Sam Weinig - - Reviewed by Anders Carlsson. - - WebKitTestRunner needs to print onunload handler information - - https://bugs.webkit.org/show_bug.cgi?id=42703 - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::operator<<): - (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): - -2010-08-07 Sam Weinig - - Reviewed by Anders Carlsson. - - Add additional loader client functions need to complete WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=43684 - - Remove unnecessary and jarring underscores as well. - - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (didClearWindowObjectForFrame): - (didCreatePage): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): - (WTR::InjectedBundlePage::didReceiveServerRedirectForProvisionalLoadForFrame): - (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): - (WTR::InjectedBundlePage::didCommitLoadForFrame): - (WTR::InjectedBundlePage::didFinishLoadForFrame): - (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): - (WTR::InjectedBundlePage::didReceiveTitleForFrame): - (WTR::InjectedBundlePage::didClearWindowForFrame): - (WTR::InjectedBundlePage::didCancelClientRedirectForFrame): - (WTR::InjectedBundlePage::willPerformClientRedirectForFrame): - (WTR::InjectedBundlePage::didChangeLocationWithinPageForFrame): - (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): - (WTR::InjectedBundlePage::didHandleOnloadEventsForFrame): - (WTR::InjectedBundlePage::didDisplayInsecureContentForFrame): - (WTR::InjectedBundlePage::didRunInsecureContentForFrame): - (WTR::InjectedBundlePage::willAddMessageToConsole): - (WTR::InjectedBundlePage::willSetStatusbarText): - (WTR::InjectedBundlePage::willRunJavaScriptAlert): - (WTR::InjectedBundlePage::willRunJavaScriptConfirm): - (WTR::InjectedBundlePage::willRunJavaScriptPrompt): - (WTR::InjectedBundlePage::shouldBeginEditing): - (WTR::InjectedBundlePage::shouldEndEditing): - (WTR::InjectedBundlePage::shouldInsertNode): - (WTR::InjectedBundlePage::shouldInsertText): - (WTR::InjectedBundlePage::shouldDeleteRange): - (WTR::InjectedBundlePage::shouldChangeSelectedRange): - (WTR::InjectedBundlePage::shouldApplyStyle): - (WTR::InjectedBundlePage::didBeginEditing): - (WTR::InjectedBundlePage::didEndEditing): - (WTR::InjectedBundlePage::didChange): - (WTR::InjectedBundlePage::didChangeSelection): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2010-08-07 Dan Bernstein - - Build fix. - - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Made the references - to JSGCController.{cpp,h} relative to the build root. - -2010-08-07 Sam Weinig - - Reviewed by Anders Carlsson. - - WebKitTestRunner needs GCController - - https://bugs.webkit.org/show_bug.cgi?id=42701 - - * WebKitTestRunner/DerivedSources.make: - * WebKitTestRunner/InjectedBundle/Bindings/GCController.idl: Added. - * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: - (WTR::setProperty): - * WebKitTestRunner/InjectedBundle/GCController.cpp: Added. - (WTR::GCController::create): - (WTR::GCController::GCController): - (WTR::GCController::~GCController): - (WTR::GCController::wrapperClass): - (WTR::GCController::collect): - (WTR::GCController::collectOnAlternateThread): - (WTR::GCController::getJSObjectCount): - (WTR::GCController::makeWindowObject): - * WebKitTestRunner/InjectedBundle/GCController.h: Added. - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::reset): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - (WTR::InjectedBundle::bundle): - (WTR::InjectedBundle::gcController): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::didClearWindowForFrame): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::keepWebHistory): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - * WebKitTestRunner/win/InjectedBundle.vcproj: - -2010-08-05 Jon Honeycutt - - WebKitTestRunner needs to be able to set the font smoothing type - https://bugs.webkit.org/show_bug.cgi?id=43406 - - Reviewed by Adam Roben. - - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::resetPreferencesToConsistentValues): - Set the font smoothing level to - kWKFontSmoothingLevelNoSubpixelAntiAliasing to match DRT. - -2010-08-06 Jon Honeycutt - - Fix a missed variable rename. - - Unreviewed. - - * Scripts/old-run-webkit-tests: - -2010-08-06 Jon Honeycutt - - mac-wk2/Skipped should be used on Windows when running regression tests - https://bugs.webkit.org/show_bug.cgi?id=43494 - - Reviewed by Adam Roben. - - * Scripts/old-run-webkit-tests: - If the platform is win-wk2, also read the mac-wk2 skipped list. - -2010-08-06 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Should revoke scheduled tasks - https://bugs.webkit.org/show_bug.cgi?id=43560 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - (DRTDevToolsAgent::reset): Calls RevokeAll(). - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - * DumpRenderTree/chromium/DRTDevToolsClient.cpp: - (DRTDevToolsClient::reset): Calls RevokeAll(). - * DumpRenderTree/chromium/DRTDevToolsClient.h: - * DumpRenderTree/chromium/EventSender.cpp: - (EventSender::reset): Calls RevokeAll(). - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::reset): Calls RevokeAll(). - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::resetTestController): Calls DRTDevToolsAgent::reset() and DRTDevToolsClient::reset(). - -2010-08-06 Tor Arne Vestbø - - Reviewed by Antonio Gomes. - - [Qt] Fix the DRT build on Mac OS X - - * DumpRenderTree/qt/DumpRenderTree.pro: - -2010-08-06 Jochen Eisinger - - Reviewed by Pavel Feldman. - - Rietvield's upload.py moved to a different location. - https://bugs.webkit.org/show_bug.cgi?id=43613 - - * Scripts/webkitpy/thirdparty/__init__.py: - -2010-05-23 Eric Seidel - - Reviewed by Adam Barth. - - QueueStatusServer needs better queue-status pages - https://bugs.webkit.org/show_bug.cgi?id=39562 - - The primary goal of this patch is to display queue - positions somewhere on the site so that it's easier - for commit-queue users to know when their pach will - be landed. I also tried to improve the root page - to be more useful than the previous wall of status text. - - * QueueStatusServer/handlers/recentstatus.py: - * QueueStatusServer/main.py: - * QueueStatusServer/model/queues.py: - * QueueStatusServer/templates/recentstatus.html: - -2010-08-05 Victor Wang - - Reviewed by Ojan Vafai. - - Add option to generate/upload incremental json results to test result server. - Also refactor the json results generator unittest code to test - incremental and aggregated json results. - - https://bugs.webkit.org/show_bug.cgi?id=43519 - - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-08-05 Jian Li - - Reviewed by David Levin. - - Unify blob related feature defines to ENABLE(BLOB). - https://bugs.webkit.org/show_bug.cgi?id=43081 - - * Scripts/build-webkit: - -2010-08-05 Satish Sampath - - Reviewed by Jeremy Orlow. - - Add speech input controller mock in WebKit and a layout test. - https://bugs.webkit.org/show_bug.cgi?id=43477 - - Added LayoutTestController::setMockSpeechInputResultCallback method. - - * DumpRenderTree/LayoutTestController.cpp: - (setMockSpeechInputResultCallback): Wrapper invoking the member function. - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::setMockSpeechInputResult): Sets the mock result. - (LayoutTestController::speechInputController): Creates the mock controller. - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::speechInputController): Creates the mock controller. - * DumpRenderTree/chromium/WebViewHost.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setMockSpeechInputResult): dummy method. - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setMockSpeechInputResult): dummy method. - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setMockSpeechInputResult): dummy method. - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/win/LayoutTestControllerWin.cpp: dummy method. - (LayoutTestController::setMockSpeechInputResult): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: dummy method. - (LayoutTestController::setMockSpeechInputResult): - -2010-08-04 Adam Roben - - Fix the path to TestNetscapePlugin's directory on Windows - - Fixes WebKitTestRunner on Windows fails to - load TestNetscapePlugin - - Reviewed by Jon Honeycutt. - - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::initializeTestPluginDirectory): - TestNetscapePlugin is in a TestNetscapePlugin[_Debug] directory that's - next to WebKitTestRunner.exe. Previously we were passing the directory - that contains WebKitTestRunner.exe. Also fixed some leaks. - -2010-08-05 Kenichi Ishibashi - - Reviewed by Shinichiro Hamaji. - - check-webkit-style returns non-zero when patch is entirely minus lines. - https://bugs.webkit.org/show_bug.cgi?id=38169 - - * Scripts/check-webkit-style: - Check whether a patch contains modified files that are entirely minus lines. - * Scripts/webkitpy/style/filereader.py: - Add a variable that holds number of files that contain only deleted lines. - * Scripts/webkitpy/style/patchreader.py: - Count up modified files that contain only deleted lines. - -2010-08-05 Pavel Feldman - - Reviewed by Yury Semikhatsky. - - DevTools: get rid of delayed command dispatching on front-end side. - - https://bugs.webkit.org/show_bug.cgi?id=43479 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - (DRTDevToolsAgent::detach): - (DRTDevToolsAgent::frontendLoaded): - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - * DumpRenderTree/chromium/DRTDevToolsClient.cpp: - (DRTDevToolsClient::~DRTDevToolsClient): - (DRTDevToolsClient::sendFrontendLoaded): - * DumpRenderTree/chromium/DRTDevToolsClient.h: - -2010-08-04 Kenichi Ishibashi - - Reviewed by Shinichiro Hamaji. - - Fixes check-webkit-style false positive on "new uint32_t." - https://bugs.webkit.org/show_bug.cgi?id=43077 - - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - -2010-08-04 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Remove base/linked_ptr.h dependency - https://bugs.webkit.org/show_bug.cgi?id=43472 - - Replace linked_ptr with RefPtr. - We need to use RefPtr<> because m_pendingEntry points an object in - m_entries or not in m_entries. - - * DumpRenderTree/chromium/TestNavigationController.cpp: - (TestNavigationEntry::create): Added. - (TestNavigationController::activeEntry): - (TestNavigationController::didNavigateToEntry): - (TestNavigationController::discardPendingEntry): - (TestNavigationController::insertEntry): - (TestNavigationController::navigateToPendingEntry): - * DumpRenderTree/chromium/TestNavigationController.h: - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::loadURLForFrame): - Use TestNavigationEntry::create(). - (WebViewHost::updateURL): - Use RefPtr<>. - (WebViewHost::updateSessionHistory): - Remove unnecessary static_cast<>. - -2010-08-04 Kent Tamura - - Reviewed by Dimitri Glazkov. - - Fix a problem that "archived test results" step doesn't work on Chromium buildbots - https://bugs.webkit.org/show_bug.cgi?id=43333 - - * BuildSlaveSupport/test-result-archive: - - Make layoutTestResultsDir local and pass it to archiveTestResults() - - Adjust layoutTestResultsDir for Chromium - -2010-08-04 Kent Tamura - - Reviewed by Dimitri Glazkov. - - NRWT: websocket_server startup detection failure - https://bugs.webkit.org/show_bug.cgi?id=43466 - - * Scripts/webkitpy/layout_tests/port/websocket_server.py: - Increase timeout value: 5 second -> 10 second - -2010-08-04 Victor Wang - - Reviewed by Ojan Vafai. - - -. Add result.json incremental merging functionality to test results app engine. - -. blobstore is not suitable for AE data merging and there is no API to - programatically edit existing blob or write a new one yet, so replace blobstore - with datastore. If file is oversize (>1000*1000 bytes), store file data in - multiple datastore entries. - -. Fix styles. - - Test: jsonresults_unittest to test merging logics. - - https://bugs.webkit.org/show_bug.cgi?id=38599 - - * TestResultServer/handlers/dashboardhandler.py: - * TestResultServer/handlers/menu.py: - * TestResultServer/handlers/testfilehandler.py: - * TestResultServer/main.py: - * TestResultServer/model/dashboardfile.py: - * TestResultServer/model/datastorefile.py: Added. - * TestResultServer/model/jsonresults.py: Added. - * TestResultServer/model/jsonresults_unittest.py: Added. - * TestResultServer/model/testfile.py: - * TestResultServer/templates/uploadform.html: - -2010-08-04 Antonio Gomes - - Reviewed by Kenneth Christiansen. - - [Qt] [QtTestBrowser] Remove unneeded QAction class members - https://bugs.webkit.org/show_bug.cgi?id=43518 - - LauncherWindow class has two totally unneeded class members: m_flopAnimated and - m_flipYAnimated. Also, in initializeView method there are some dead code block - trying to connect them at the wrong time, when they have not been instanciated. - - This patch: - - - removes the two cited class members in favor of local variables in createChrome method; - - removes the dead code block. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::LauncherWindow): - (LauncherWindow::initializeView): - (LauncherWindow::createChrome): - * QtTestBrowser/launcherwindow.h: - -2010-08-04 Antonio Gomes - - Reviewed by Simon Hausmann and Kenneth Christiansen. - - [Qt] [QtTestBrowser] Clean up static and global menu state controls - https://bugs.webkit.org/show_bug.cgi?id=43448 - - After LauncherWindow class was refactored out of from main.cpp, all global variables that - were hanging in main.cpp became temporarily public static class members of newly added - LauncherWindow class. This design was not properly handling the initial purpose of the - global variables: newly created launcher windows should inherit the settings of the originating - one. - - In order to properly fix the problem, this patch introduces a WindowOptions class, as a POD. It - comprises all data needed to handling the goal described above. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::LauncherWindow): The class now receives an optional WindowOptions pointer object - holding all user settings configured in the menus and command line. - It also receices an optional QGraphicsScene points in case we are doing - a "Clone Window". - (LauncherWindow::init): Removed the usesGraphics parameter because the class member m_userData holds its - value. - (LauncherWindow::initializeView): Ditto. - (LauncherWindow::createChrome): Changed all references to gXXX to m_userData.XXX - (LauncherWindow::applyPrefs): Removed the "LauncherWindow* source" parameter. All data needed to properly - apply the preferences is provided by m_userData. - (LauncherWindow::toggleAcceleratedCompositing): Change gXXX by m_userData.XXX - (LauncherWindow::toggleResizesToContents): Ditto. - (LauncherWindow::toggleWebGL): Ditto. - (LauncherWindow::toggleFrameFlattening): Ditto. - (LauncherWindow::toggleQGLWidgetViewport): Ditto. - (LauncherWindow::changeViewportUpdateMode): Ditto. - (LauncherWindow::showFPS): Ditto. - (LauncherWindow::newWindow): Changed to pass the userData. - (LauncherWindow::cloneWindow): Ditto. - * QtTestBrowser/launcherwindow.h: - (WindowOptions::WindowOptions): - * QtTestBrowser/main.cpp: - (requiresGraphicsView): - (LauncherApplication::handleUserOptions): - (main): - -2010-08-04 Kevin Ollivier - - [wx] Build fix for gcc not importing all symbols from convenience libraries. - Works on 10.6 only for Mac until the build system is reworked. - - * wx/build/settings.py: - -2010-08-04 Markus Goetz - - Reviewed by Simon Hausmann. - - [Qt] Change wording in QtTestBrowser - https://bugs.webkit.org/show_bug.cgi?id=43241 - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - -2010-08-04 Aaron Boodman - - Reviewed by Eric Seidel. - - prepare-ChangeLog fails mysteriously if curl doesn't support ssl - https://bugs.webkit.org/show_bug.cgi?id=43460 - - * Scripts/prepare-ChangeLog: - -2010-08-03 MORITA Hajime - - Reviewed by Tony Chang. - - [DRT] Assertion failed when drag and move a draggable element. - https://bugs.webkit.org/show_bug.cgi?id=41695 - - mouseMoveToX() did call [WebHTMLView mouseDragged] even if dragging started. - But Cocoa doesn't call mouseDragged() until dragging is done. - Other part of DumpRenderTree also assumes Cocoa behavior and an assertion - on UIDelegate failed when mouseDragged() is called during dragging. - This change eliminated the mouseDragged() call when dragging begins, - which is implicated by draggingInfo instance. - - * DumpRenderTree/mac/EventSendingController.mm: - (-[EventSendingController mouseMoveToX:Y:]): - - Test: fast/events/dragging-mouse-moves.html - -2010-08-02 Steve Block - - Reviewed by Alexey Proskuryakov. - - Adds Geolocation LayoutTests for the case where permission is not granted or denied immediately - https://bugs.webkit.org/show_bug.cgi?id=40002 - - The code in LayoutTestController::setGeolocationPermission() was moved to - setGeolocationPermissionCommon() to allow each port to provide its own - implementation of setGeolocationPermission(). - - For the Mac port, setGeolocationPermission() notifies the UIDelegate of the - new permission, so it can call back to WebCore if permission requests are in - progress and are waiting for a response. A minor fix to the Mac - MockGeolocationProvider was also required to make sure that the mock provider - calls back to WebCore when it is first started. - - For other ports, LayoutTestController::setGeolocationPermission() is not - implemented. - - * DumpRenderTree/LayoutTestController.cpp: - (LayoutTestController::setGeolocationPermissionCommon): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setGeolocationPermission): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setGeolocationPermission): - * DumpRenderTree/mac/MockGeolocationProvider.mm: - (-[MockGeolocationProvider registerWebView:]): - * DumpRenderTree/mac/UIDelegate.h: - * DumpRenderTree/mac/UIDelegate.mm: - (-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]): - (-[UIDelegate setGeolocationPermission:]): - (-[UIDelegate dealloc]): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::setGeolocationPermission): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::setGeolocationPermission): - -2010-08-03 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Implement --testshell-startup-dialog - https://bugs.webkit.org/show_bug.cgi?id=40616 - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (main): Check --testshell-startup-dialog, and call openStartUpDialog() - if it is specfied. - * DumpRenderTree/chromium/TestShell.h: - Declare openStartUpDialog(). - * DumpRenderTree/chromium/TestShellGtk.cpp: - (openStartupDialog): - * DumpRenderTree/chromium/TestShellMac.mm: - (openStartupDialog): - * DumpRenderTree/chromium/TestShellWin.cpp: - (openStartupDialog): - -2010-08-03 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Remove dependency of base/md5.h - https://bugs.webkit.org/show_bug.cgi?id=43403 - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::dumpImage): Use wtf/MD5.h - -2010-08-03 Joseph Pecoraro - - Reviewed by David Kilzer. - - Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) - https://bugs.webkit.org/show_bug.cgi?id=40627 - - Part 6 - LayoutTest and Cleanup - - Allow tests to delete application caches and set application cache - origin quotas, so they can be tested. - - * DumpRenderTree/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (dumpApplicationCacheDelegateCallbacksCallback): JavaScript callback, delegates to the controller. - (clearAllApplicationCachesCallback): should delete all application caches. - (setApplicationCacheOriginQuotaCallback): should set the origin quota for the localhost tests. - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - (LayoutTestController::dumpApplicationCacheDelegateCallbacks): accessor to see if application cache callbacks should be output. - (LayoutTestController::setDumpApplicationCacheDelegateCallbacks): enable or disable debug output when the application cache quota is reached. - - Mac implementation. - - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::clearAllApplicationCaches): delete application caches. - (LayoutTestController::setApplicationCacheOriginQuota): set the quota for localhost. - * DumpRenderTree/mac/UIDelegate.mm: - (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]): style fix. - (-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]): reset the quota. - - Stub implementations for other platforms. - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::clearAllApplicationCaches): - (LayoutTestController::setApplicationCacheOriginQuota): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::clearAllApplicationCaches): - (LayoutTestController::setApplicationCacheOriginQuota): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::clearAllApplicationCaches): - (LayoutTestController::setApplicationCacheOriginQuota): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::clearAllApplicationCaches): - (LayoutTestController::setApplicationCacheOriginQuota): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::clearAllApplicationCaches): - (LayoutTestController::setApplicationCacheOriginQuota): - -2010-08-03 Joseph Pecoraro - - Reviewed by David Kilzer. - - Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) - https://bugs.webkit.org/show_bug.cgi?id=40627 - - Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers - - Change old style calls to make use of the managers. - - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setDatabaseQuota): - * DumpRenderTree/mac/UIDelegate.mm: - (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]): - -2010-08-03 Mark Rowe - - Add a new Leopard build slave to run the release tests. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2010-08-03 Jon Honeycutt - - WebKitTestRunner needs to activate the Mac font ascent hack - https://bugs.webkit.org/show_bug.cgi?id=43404 - - Reviewed by Darin Adler. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::initialize): - Call WKBundleActivateMacFontAscentHack(). - -2010-08-03 Alex Milowski - - Reviewed by Beth Dakin. - - Changed the default for MathML support so that is is enabled by default. - - * Scripts/build-webkit: - -2010-08-03 Sam Weinig - - Roll r64566 back in this time with all the overloads in place.. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::shouldInsertNode): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - * WebKitTestRunner/StringFunctions.h: - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::resetPreferencesToConsistentValues): - (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-08-03 Sam Weinig - - Rollout r64566. It broke all the WebKit2 tests. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::operator<<): - (WTR::InjectedBundlePage::shouldInsertNode): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - * WebKitTestRunner/StringFunctions.h: Removed. - * WebKitTestRunner/TestInvocation.cpp: - (WTR::createWKURL): - (WTR::WKStringToUTF8): - (WTR::TestInvocation::resetPreferencesToConsistentValues): - (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-08-03 Sam Weinig - - Reviewed by Anders Carlsson. - - WTR: Move all the utility functions for working with strings to a shared header. - https://bugs.webkit.org/show_bug.cgi?id=43386 - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::shouldInsertNode): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - * WebKitTestRunner/StringFunctions.h: Added. - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::resetPreferencesToConsistentValues): - (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-08-02 Antonio Gomes - - Reviewed by Kenneth Christiansen. - - [Qt] QtTestBrowser not setting preferredContentsSize for resizesToContents - https://bugs.webkit.org/show_bug.cgi?id=43168 - - QGraphicsWebView resizesToContents property has to work together with QWebPage's - setPreferredContentsSize as stated by the docs. Patch addresses that for QtTestBrowser. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::applyPrefs): - * QtTestBrowser/webview.cpp: - (WebViewGraphicsBased::setResizesToContents): Properly handle scene, webview and viewport sizes - needed when toggle resizesToContents on/off. - (WebViewGraphicsBased::resizeEvent): - * QtTestBrowser/webview.h: - (WebViewGraphicsBased::setCustomLayoutSize): Setter helper. - (WebViewGraphicsBased::customLayoutSize): Getter helper. - -2010-08-03 Jochen Eisinger - - Unreviewed. Adding myself as committer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-02 Pavel Feldman - - Reviewed by Yury Semikhatsky. - - Chromium DevTools: Get rid of DevTools RPC. - - https://bugs.webkit.org/show_bug.cgi?id=43335 - - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: - (DRTDevToolsAgent::sendMessageToInspectorFrontend): - (DRTDevToolsAgent::call): - * DumpRenderTree/chromium/DRTDevToolsAgent.h: - * DumpRenderTree/chromium/DRTDevToolsCallArgs.h: - (DRTDevToolsCallArgs::DRTDevToolsCallArgs): - * DumpRenderTree/chromium/DRTDevToolsClient.cpp: - (DRTDevToolsClient::sendMessageToBackend): - (DRTDevToolsClient::call): - * DumpRenderTree/chromium/DRTDevToolsClient.h: - -2010-08-02 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Remove dependencies to some Chromium headers - https://bugs.webkit.org/show_bug.cgi?id=43396 - - * DumpRenderTree/chromium/CppVariant.h: - Remove base/basictypes.h because webkit_support.h contains it. - * DumpRenderTree/chromium/EventSender.cpp: - (getCurrentEventTimeSec): Use new wrapper function. - * DumpRenderTree/chromium/TestNavigationController.h: - Remove base/basictypes.h because webkit_support.h contains it. - * DumpRenderTree/chromium/TestShell.cpp: - (dumpHistoryItem): Use new wrapper function. - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::cancelledError): Use new wrapper function. - (WebViewHost::didFailResourceLoad): Use new wrapper function. - -2010-08-02 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] DRT implement execCommand() - https://bugs.webkit.org/show_bug.cgi?id=35351 - - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::execCommand): Implement using webkit_web_view_execute_core_command_by_name. - (LayoutTestController::isCommandEnabled): Implement using webkit_web_view_is_command_enabled. - (LayoutTestController::setCacheModel): Move below LayoutTestController::isCommandEnabled. - -2010-08-02 Sam Weinig - - Reviewed by Anders Carlsson. - - Add alias for run-webkit-tests --webkit-test-runner (run-webkit-tests -2). - - * Scripts/old-run-webkit-tests: - -2010-08-02 Jon Honeycutt - - WebKitTestRunner needs to support loading custom fonts (via the - WEBKIT_TESTFONTS environment variable) - https://bugs.webkit.org/show_bug.cgi?id=42782 - - Reviewed by Adam Roben. - - * WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: - (WTR::fontsPath): - Copied from DRT code. Removed the fallback to DumpRenderTree.resources/, - as this directory doesn't appear to be created anymore. - (WTR::activateFonts): - Loop through the fonts, and call AddFontResourceExW() for each. - -2010-08-02 Jon Honeycutt - - Restore the WebKitTestRunner.sln that was removed, and remove the - correct one. - - Rubber-stamped by Sam Weinig. - - * WebKitTestRunner/WebKitTestRunner.sln: Added. - * WebKitTestRunner/win/WebKitTestRunner.sln: Removed. - -2010-08-02 Jon Honeycutt - - Move InjectedBundle.vcproj to where the other WebKitTestRunner vcprojs live. - - Remove the unused WebKitTestRunner.sln. - - Reviewed by Sam Weinig. - - * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: Removed. - * WebKitTestRunner/WebKitTestRunner.sln: Removed. - * WebKitTestRunner/win/InjectedBundle.vcproj: Added. - * WebKitTestRunner/win/WebKitTestRunner.sln: - -2010-08-02 Sam Weinig - - Fix the windows build. - - * WebKitTestRunner/win/main.cpp: - -2010-07-29 Jon Honeycutt - - Add a Skipped list on Windows, and have run-webkit-tests respect it. - - Part of Fill WebKit2 Windows skipped list so - there are zero tests failing - https://bugs.webkit.org/show_bug.cgi?id=43374 - - Reviewed by Adam Roben. - - * Scripts/old-run-webkit-tests: - If using WebKitTestRunner and Apple Windows WebKit, set the platform to - win-wk2. When building the result hierarchy, if the platform is win-wk2, - add it first to the list of platforms. - -2010-08-02 Darin Adler - - Reviewed by Sam Weinig. - - WebKitTestRunner needs layoutTestController.setCanOpenWindows - https://bugs.webkit.org/show_bug.cgi?id=42321 - - WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete - https://bugs.webkit.org/show_bug.cgi?id=42779 - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added - setCanOpenWindows, setCloseRemainingWindowsWhenComplete, and windowCount - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::InjectedBundle): Initialize m_mainPage to 0 instead of - waiting for the first call to didCreatePage. - (WTR::InjectedBundle::didCreatePage): Set m_mainPage only when the first page - is created. Put other pages into a map. - (WTR::InjectedBundle::willDestroyPage): Added code to handle the destruction - of the main page. - (WTR::InjectedBundle::closeOtherPages): Added. Closes all the pages other than - the main page. - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: Added pageCount and - closeOtherPages functions. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::didFinishLoadForFrame): Don't let pages other than - the main page affect dumping. - (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): Ditto. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): Initialize the new - m_shouldCloseExtraWindows member. - (WTR::LayoutTestController::setCanOpenWindows): Added. Empty for now. - (WTR::LayoutTestController::windowCount): Added. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - Added setCanOpenWindows, setCloseRemainingWindowsWhenComplete, - windowCount, shouldCloseExtraWindowsAfterRunningTest, and - m_shouldCloseExtraWindows. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::shared): Return a pointer to the shared copy, but - don't allocate and leak it. This seemed cleaner than adding an explicit - finalize call to go along with the explicit initialize call. - (WTR::TestController::TestController): Added calls to the initialize and - run function, which are now done automatically. - (WTR::TestController::~TestController): Added, since it's called now. - (WTR::closeOtherPage): Added. Used to close pages other than the main page. - (WTR::createOtherPage): Added. Used to create pages other than the main page. - (WTR::TestController::initialize): Added code to set up createOtherPage. - (WTR::TestController::run): Removed unused return value. - * WebKitTestRunner/TestController.h: Made constructor and destructor public, - and initialize and run private. Changed m_mainWebView to be an OwnPtr. - - * WebKitTestRunner/mac/PlatformWebViewMac.mm: - (WTR::PlatformWebView::PlatformWebView): Added a call to setReleasedWhenClosed - to avoid releasing the window twice. Another way to handle it would be to - remove the release, but this approach is slightly more robust because it works - even if some other code calls the close method an extra time. - - * WebKitTestRunner/mac/main.mm: - (main): Use a stack-allocated TestController object instead of calling - initalize and run on a globally allocated one. - -2010-08-02 Tony Chang - - Reviewed by David Levin. - - add myself to the reviewers list - https://bugs.webkit.org/show_bug.cgi?id=43366 - - * Scripts/webkitpy/common/config/committers.py: - -2010-08-02 Anders Carlsson - - Reviewed by Sam Weinig. - - Cache JSNPObjects and fix bugs in the object map - https://bugs.webkit.org/show_bug.cgi?id=43368 - - Test that we correctly throw exceptions when trying to do things to a JSObject that used to - wrap an NPObject that came from a plug-in that is now destroyed. - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: - (PluginTest::Object::getProperty): - (PluginTest::Object::NP_GetProperty): - (PluginTest::Object::npClass): - * DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp: Added. - (NPRuntimeObjectFromDestroyedPlugin::NPRuntimeObjectFromDestroyedPlugin): - (NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::hasProperty): - (NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::getProperty): - (NPRuntimeObjectFromDestroyedPlugin::NPP_GetValue): - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - * GNUmakefile.am: - -2010-08-02 Martin Robinson - - Reviewed by Xan Lopez. - - [Gtk] DOM listeners get wrong keycodes for some keys - https://bugs.webkit.org/show_bug.cgi?id=35170 - - Add support to all event senders for simulating keypad insert - and print screen keys. - - * DumpRenderTree/chromium/EventSender.cpp: - (EventSender::keyDown): Add support for generating keypad insert and print screen. - * DumpRenderTree/gtk/EventSender.cpp: - (keyDownCallback): Ditto. - * DumpRenderTree/mac/EventSendingController.mm: - (-[EventSendingController keyDown:withModifiers:withLocation:]): Ditto. - * DumpRenderTree/qt/EventSenderQt.cpp: - (EventSender::keyDown): Ditto. - * DumpRenderTree/win/EventSender.cpp: - (keyDownCallback): Ditto. - -2010-08-02 Martin Robinson - - Build fix for building against development versions of GTK+. GTK 2.22 - has not yet been released, so these function definitions must be conditionalized - on the development version. - - * DumpRenderTree/gtk/EventSender.cpp: Fix GTK+ 2.21 build. - -2010-08-02 Tony Chang - - Reviewed by Kent Tamura. - - [chromium] use ChromiumDriver on Linux when running webkit tests - https://bugs.webkit.org/show_bug.cgi?id=43273 - - * Scripts/webkitpy/layout_tests/port/chromium.py: - -2010-08-02 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Always initialize GTK - https://bugs.webkit.org/show_bug.cgi?id=43327 - - Call gtk_init() in order to fix plugin test crash. - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (main): Pass argc/argv to platformInit(). - * DumpRenderTree/chromium/TestShell.h: - * DumpRenderTree/chromium/TestShellGtk.cpp: - (platformInit): Update parameters, call gtk_init(). - * DumpRenderTree/chromium/TestShellMac.mm: - (platformInit): Update parameters. - * DumpRenderTree/chromium/TestShellWin.cpp: - (platformInit): Update parameters. - -2010-08-02 Balazs Kelemen - - Reviewed by Simon Hausmann. - - [Qt] Generate forwarding headers for WebKit2 - - https://bugs.webkit.org/show_bug.cgi?id=43336 - - * Scripts/webkitdirs.pm: Call make on WebKit2/Makefile.DerivedSources. - -2010-08-02 Fumitoshi Ukai - - Reviewed by Kent Tamura. - - WebSocket server should start with SO_REUSEADDR - https://bugs.webkit.org/show_bug.cgi?id=43329 - - Pulls in pywebsocket-0.5.2. - pywebsocket-0.5.2 includes a small fix to start server with SO_REUSE_ADDR. - http://code.google.com/p/pywebsocket/source/detail?r=273 - - * Scripts/webkitpy/thirdparty/__init__.py: Bump pywebsocket version - -2010-08-01 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Remove string_util.h dependency - https://bugs.webkit.org/show_bug.cgi?id=43312 - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::pathToLocalResource): - Use string::find() instead of StartsWithASCII(). - (LayoutTestController::cppVariantToInt32): - Use strtol() instead of StringToNumber(). - -2010-08-01 Sam Weinig - - Reviewed by Anders Carlsson. - - Add ability to reset frame names for WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=43316 - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::reset): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::reset): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2010-08-01 Anders Carlsson - - Reviewed by Sam Weinig. - - Implement NPN_RemoveProperty - https://bugs.webkit.org/show_bug.cgi?id=43315 - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - Add NPRuntimeRemoveProperty.cpp - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: - (PluginTest::NPN_GetStringIdentifier): - (PluginTest::NPN_GetIntIdentifier): - (PluginTest::NPN_RemoveProperty): - Add NPN_ helpers. - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: - Support more NPClass functions. - - * DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeRemoveProperty.cpp: Added. - (NPRuntimeRemoveProperty::NPRuntimeRemoveProperty): - Test for NPN_RemoveProperty. - - (NPRuntimeRemoveProperty::TestObject::hasMethod): - (NPRuntimeRemoveProperty::TestObject::invoke): - Add a testRemoveProperty method. - - (NPRuntimeRemoveProperty::NPP_GetValue): - Return the test object. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - * GNUmakefile.am: - Add NPRuntimeRemoveProperty.cpp - -2010-07-30 Anders Carlsson - - Reviewed by Sam Weinig. - - Add an NPObject class template helper to TestNetscapePlugin - https://bugs.webkit.org/show_bug.cgi?id=43288 - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: - Add some template magic to be able to figure out if a class has a member function of a given type. - - (PluginTest::Object::create): - Create an object. - - (PluginTest::Object::invokeDefault): - Add dummy function, this should never be called. - - (PluginTest::Object::Object): - Initialize m_pluginTest to 0. - - (PluginTest::Object::~Object): - Add virtual destructor. - - (PluginTest::Object::NP_Allocate): - Create a new object. - - (PluginTest::Object::NP_Deallocate): - Delete the object. - - (PluginTest::Object::NP_InvokeDefault): - Call invokeDefault. - - (PluginTest::Object::npClass): - Initialize the NPClass struct. - - * DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: - (DocumentOpenInDestroyStream::NPP_DestroyStream): - Move this inline. - - * DumpRenderTree/TestNetscapePlugIn/Tests/PluginScriptableNPObjectInvokeDefault.cpp: - (PluginScriptableNPObjectInvokeDefault::NPObjectWithInvokeDefault::invokeDefault): - (PluginScriptableNPObjectInvokeDefault::NPP_GetValue): - Use the PluginTest::Object class template. - -2010-07-31 Sam Weinig - - Reviewed by Dan Bernstein. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=43305 - Add back WKBundleFrameCopyInnerText to fix ~50 test failures - due to SVGElements not having the innerText function. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::dumpFrameText): - -2010-07-30 Sam Weinig - - Reviewed by Maciej Stachowiak. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=43290 - Add structured message passing from the injected bundle to UIProcess - - * MiniBrowser/mac/AppDelegate.m: - (didRecieveMessageFromInjectedBundle): - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (didClearWindowForFrame): - (didRecieveMessage): - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::done): - (WTR::InjectedBundle::didReceiveMessage): - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - (WTR::TestController::didReceiveMessageFromInjectedBundle): - * WebKitTestRunner/TestController.h: - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): - * WebKitTestRunner/TestInvocation.h: - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-07-30 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=43275 - Make WKArrayRef more usable. - - Remove now unnecessary const_casts. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::dumpDescendantFrameScrollPositions): - (WTR::dumpDescendantFramesText): - -2010-07-30 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=43274 - Add first pass of structured message passing. - - Update Minibrowser and WebKitTestRunner to work with the new post message - function. - - * MiniBrowser/mac/AppDelegate.m: - (didRecieveMessageFromInjectedBundle): - (-[BrowserAppDelegate init]): - * MiniBrowser/mac/MiniBrowser_Prefix.pch: - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (didStartProvisionalLoadForFrame): - (didReceiveServerRedirectForProvisionalLoadForFrame): - (didFailProvisionalLoadWithErrorForFrame): - (didCommitLoadForFrame): - (didFinishLoadForFrame): - (didFailLoadWithErrorForFrame): - (didReceiveTitleForFrame): - (didClearWindowForFrame): - (didCreatePage): - (willDestroyPage): - (didRecieveMessage): - (WKBundleInitialize): - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::_didReceiveMessage): - (WTR::InjectedBundle::didReceiveMessage): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::invoke): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-07-30 Anders Carlsson - - Try to fix the layout test failures. - - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_get_value): - -2010-07-29 Anders Carlsson - - Reviewed by Adam Roben. - - Replace plugins/npruntime/bindings-test.html with a more sophisticated test - https://bugs.webkit.org/show_bug.cgi?id=43232 - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - Add PluginScriptableNPObjectInvokeDefault.cpp. - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - Remove invokeDefault callback function. - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: - (PluginTest::create): - Move this to the top of the file. - - (PluginTest::NPP_GetValue): - Add default implementation. - - (PluginTest::NPN_CreateObject): - Add NPN_ wrapper. - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: - (PluginTest::identifier): - Add identifier getter. - - * DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: - (DocumentOpenInDestroyStream::DocumentOpenInDestroyStream): - Add "using namespace std". - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_GetValue): - Give PluginTest a chance to return a value. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - * GNUmakefile.am: - Add PluginScriptableNPObjectInvokeDefault.cpp. - - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_get_value): - Give PluginTest a chance to return a value. - -2010-07-30 Steve Block - - Reviewed by Steve Block. - - Add LayoutTestController methods to test DeviceOrientation - https://bugs.webkit.org/show_bug.cgi?id=39589 - - * DumpRenderTree/LayoutTestController.cpp: - (setMockDeviceOrientationCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::setMockDeviceOrientation): - * Scripts/build-webkit: - -2010-07-29 Antonio Gomes - - Reviewed by Kenneth Christiansen. - - [Qt] QtTestBrowser: -resizes-to-contents command line parameter is broken - https://bugs.webkit.org/show_bug.cgi?id=43209 - - When -resizes-to-content was being passed as a command line parameter it was simply - not being set (although the corresponding menu item was marked as ON). - User had to toggle the menu OFF and then ON again for it to take place. - - Reason: LauncherWindow::applyPrefs method sets many user options passed in from - the command line, but not resizesToContents. Patch addresses that. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::createChrome): - (LauncherWindow::applyPrefs): - (LauncherWindow::toggleResizesToContents): - * QtTestBrowser/webview.h: - (WebViewGraphicsBased::resizesToContents): - -2010-07-29 Antonio Gomes - - Rubber-stamped by Simon Fraser. - - [Qt] QtTestBrowser: more method grouping and clean ups. - - Moving blocks of code around. Basically grouping related methods close to each. - - * QtTestBrowser/launcherwindow.cpp: - (LauncherWindow::initializeView): - (LauncherWindow::createChrome): - (LauncherWindow::changeViewportUpdateMode): - (LauncherWindow::showFPS): - (LauncherWindow::newWindow): - (LauncherWindow::cloneWindow): - * QtTestBrowser/launcherwindow.h: - -2010-07-30 Mahesh Kulkarni - - Reviewed by Tor Arne Vestbø. - - [QT][Symbian] QtTestBrowser missing location capabilities - https://bugs.webkit.org/show_bug.cgi?id=43235 - - QtTestBrowser missing capabilities to use QtMobility::QLocation. - - * QtTestBrowser/QtTestBrowser.pro: - -2010-07-29 Anders Carlsson - - Add PluginTest.cpp - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - -2010-07-29 Dirk Pranke - - Reviewed by Eric Seidel. - - Update download URLs for python irclib package; the old URLs - pointed at a specific mirror host and not the general sourceforge - URLs. - - https://bugs.webkit.org/show_bug.cgi?id=43228 - - * Scripts/webkitpy/thirdparty/__init__.py: - -2010-07-29 Anders Carlsson - - Fix typo. - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - -2010-07-29 Anders Carlsson - - Another attempt at fixing the Qt and GTK+ build. - - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_new_instance): - (webkit_test_plugin_destroy_stream): - -2010-07-29 Anders Carlsson - - Another build fix attempt. - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_new_instance): - * GNUmakefile.am: - -2010-07-29 Anders Carlsson - - Try to fix Windows and Unix builds. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_new_instance): - (webkit_test_plugin_destroy_stream): - -2010-07-29 Anders Carlsson - - Reviewed by Sam Weinig. - - Refactor TestNetscapePlugin so tests can be split in separate files - https://bugs.webkit.org/show_bug.cgi?id=43220 - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp. - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - (pluginAllocate): - Initialize pluginTest to 0. Remove testDocumentOpenInDestroyStream. - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: - * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: Added. - (PluginTest::PluginTest): - Initialize m_npp and the test identifier. - - (PluginTest::createTestFunctions): - Return the map from identifiers to createTest functions. - - (PluginTest::registerCreateTestFunction): - Insert the identifier and create function pair in the map. - - (PluginTest::create): - Look for a createTest function. If one is found, call it. Otherwise create a vanilla PluginTest object. - - * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: Added. - (PluginTest::Register::Register): - Helper class template for registering plug-in tests. - - (PluginTest::Register::create): - Create a new test of the given type. - - * DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: Added. - (DocumentOpenInDestroyStream::DocumentOpenInDestroyStream): - Add a test that calls testDocumentOpen from its NPP_DestroyStream callback. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - Create a PluginTest given the identifier. Remove the check for "testdocumentopenindestroystream". - - (NPP_DestroyStream): - Call the plug-in test NPP_DestroyStream member function. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp. - -2010-07-29 Martin Robinson - - Unreviewed build fix. - - Add missing second argument to assert_lint in new style checker tests. - - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - -2010-07-29 Anders Carlsson - - Reviewed by Adam Roben. - - check-webkit-style shouldn't complain about NPAPI functions - https://bugs.webkit.org/show_bug.cgi?id=43211 - - Allow underscores in functions that start with NPN_, NPP_ or NP_. - - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - -2010-07-29 Victor Wang - - Unreviewed, rolling out r64270. - http://trac.webkit.org/changeset/64270 - https://bugs.webkit.org/show_bug.cgi?id=39589 - - The patch breaks chromium webkit unittest - - * DumpRenderTree/LayoutTestController.cpp: - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - * Scripts/build-webkit: - -2010-07-29 Antonio Gomes - - Reviewed by Kenneth Christiansen. - - [Qt] QtTestBrowser: Move WebPage class methods definitions from main.cpp to webpage.cpp - https://bugs.webkit.org/show_bug.cgi?id=43199 - - There is no sense in keeping WebPage method definitions in main.cpp once - webpage.cpp already exists. - - No behavior change. - - * QtTestBrowser/main.cpp: - * QtTestBrowser/webpage.cpp: - (WebPage::createWindow): - (WebPage::createPlugin): - -2010-07-29 Antonio Gomes - - Reviewed by Kenneth Christiansen. - - [Qt] Factor out LauncherWindow class out of main.cpp (QtTestBrowser) - https://bugs.webkit.org/show_bug.cgi?id=43170 - - Moving LauncherWindow class out of main.cpp to its own .cpp and .h files: - launcherwindow.{cpp|h} - - No behavior change. - - Also changed all global static variables (named "gXXX") from main.cpp to - static public variables of the LauncherWindow class. - - * QtTestBrowser/QtTestBrowser.pro: - * QtTestBrowser/launcherwindow.cpp: Added. - * QtTestBrowser/launcherwindow.h: Added. - * QtTestBrowser/main.cpp: - (LauncherApplication::handleUserOptions): - (main): - -2010-07-29 Martin Robinson - - Reviewed by Xan Lopez. - - Build fix for building against GTK+ 3.x. GSEAL requires that we - access internals of the GdkDragContext via methods. For older versions - of GTK+, define those methods. - - * DumpRenderTree/gtk/EventSender.cpp: - (gdk_drag_context_get_selected_action): Added. - (gdk_drag_context_get_actions): Added. - (dispatchEvent): Use the two new accessor methods. - -2010-07-29 Adam Roben - - Always say "plugins directory" when referring to a directory - containing one or more plugins - - Fixes WebKit2 often says "plugin - directory" when it means "plugins directory" - - Reviewed by John Sullivan. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): Updated for rename. - -2010-07-29 Adam Roben - - Always say "directory" when referring to a plugin directory - - Fixes WebKit2 often says "plugin path" - when it means "plugin directory" - - Reviewed by John Sullivan. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): Updated for renames. - - * WebKitTestRunner/TestController.h: Renamed m_testPluginPath to - m_testPluginDirectory. - (WTR::TestController::testPluginDirectory): Renamed from - testPluginPath. - - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::initializeTestPluginDirectory): - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::initializeTestPluginDirectory): - Renamed from initializeTestPluginPath and updated for rename. - -2010-07-29 Csaba Osztrogonác - - Reviewed by Antonio Gomes. - - Initialize all members of NPClass struct. - https://bugs.webkit.org/show_bug.cgi?id=43193 - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - -2010-07-29 Csaba Osztrogonác - - Reviewed by Antonio Gomes. - - Warning fix on platforms where XP_MACOSX is undefined. - https://bugs.webkit.org/show_bug.cgi?id=43192 - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: - Use #if defined(XP_MACOSX) instead of #if XP_MACOSX . - -2010-07-29 Adam Roben - - Give find-included-framework-headers our standard license - - * Scripts/find-included-framework-headers: Used the license from - WebCore/LICENSE-APPLE. - -2010-07-29 Adam Roben - - Speed up find-included-framework-headers - - We only do one invocation of find now, no longer pipe to grep, and - replace uniq with sort -u. - - Also added a license header. - - * Scripts/find-included-framework-headers: - -2010-07-29 Steve Block - - Reviewed by Jeremy Orlow. - - Add LayoutTestController methods to test DeviceOrientation - https://bugs.webkit.org/show_bug.cgi?id=39589 - - * DumpRenderTree/LayoutTestController.cpp: - (setMockDeviceOrientationCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::setMockDeviceOrientation): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::setMockDeviceOrientation): - * Scripts/build-webkit: - -2010-07-28 Kenichi Ishibashi - - Reviewed by Shinichiro Hamaji. - - Fixed - check-webkit-style gives false positives in single-line functions. - - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - -2010-07-28 Darin Adler - - Reviewed by Sam Weinig. - - WebKitTestRunner needs to support layoutTestController.execCommand - - - WebKitTestRunner needs layoutTestController.isCommandEnabled - - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - Added execCommand and isCommandEnabled. - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::execCommand): Added. - (WTR::LayoutTestController::isCommandEnabled): Added. - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Ditto. - -2010-07-28 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Introduce drt_expectations.txt for NRWT - https://bugs.webkit.org/show_bug.cgi?id=43123 - - Introduce LayoutTests/platform/chromium/drt_expectations.txt, - which overrides test expectations only for DumpRenderTree, in - order to manage what problems are investigated. - This change will be reverted when we switch to DRT completely. - - * Scripts/webkitpy/layout_tests/port/chromium.py: - Add drt_expectations.txt content to the result of - test_expectations_overrides() if --use-drt is specified. - -2010-07-28 Brady Eidson - - Reviewed by Darin Adler. - - First pass at visited link support for WK2 - https://bugs.webkit.org/show_bug.cgi?id=43157 - - * MiniBrowser/mac/AppDelegate.m: - (didNavigateWithNavigationData): - (didPerformClientRedirect): - (didPerformServerRedirect): - (didUpdateHistoryTitle): - (populateVisitedLinks): Added for the new version of the HistoryClient. - (-[BrowserAppDelegate init]): Set the HistoryClient right after creating the context(s) - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - -2010-07-28 Robin Dunn - - Reviewed by Kevin Ollivier. - - Add DOM bindings support for wx port. - - * DumpRenderTree/wscript: - * wx/browser/wscript: - * wx/build/settings.py: - -2010-07-28 Tony Chang - - Reviewed by Kent Tamura. - - [chromium] cleanup temp files left by Linux DRT - https://bugs.webkit.org/show_bug.cgi?id=43062 - - * BuildSlaveSupport/build.webkit.org-config/config.json: Rename the chromium bots to include the OS - * BuildSlaveSupport/build.webkit.org-config/master.cfg: add a step on chromium-linux to delete temp files left - by crashed DRTs - -2010-07-28 Antonio Gomes - - Rubber-stamped by Kenneth Christiansen. - - More Developer menu items reordering. - - Grouping related menu items together, visually and logically (in the code). - - No behavior change. - - * QtTestBrowser/main.cpp: - (LauncherWindow::createChrome): - -2010-07-27 Kinuko Yasuda - - Reviewed by Ojan Vafai. - - Add FILE_SYSTEM build flag for FileSystem API - https://bugs.webkit.org/show_bug.cgi?id=42915 - - * Scripts/build-webkit: - -2010-07-27 Martin Robinson - - Reviewed by David Levin. - - Stylebot should not complain about NULL usage in calls to gdk_pixbuf_save_to - https://bugs.webkit.org/show_bug.cgi?id=43090 - - * Scripts/webkitpy/style/checkers/cpp.py: Add exemption for some GdkPixbuf methods. - * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added some tests for this behavior. - -2010-07-27 Kent Tamura - - Unreviewed, trivial typo fix. - - * Scripts/webkitpy/layout_tests/port/chromium.py: - Fix a wrong method name committed by r64109. - -2010-07-27 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=43087 - Clean up handling of strings at the WebKit2 API layer. - - * MiniBrowser/mac/BrowserWindowController.m: - (runJavaScriptAlert): - (runJavaScriptConfirm): - (runJavaScriptPrompt): - (didNavigateWithNavigationData): - (-[BrowserWindowController updateProvisionalURLForFrame:]): - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (_didClearWindowForFrame): - -2010-07-27 Ojan Vafai - - Reviewed by Eric Seidel. - - webkit-patch post-commits is broken: AttributeError: Values instance has no attribute 'no_squash' - https://bugs.webkit.org/show_bug.cgi?id=42984 - - squash and no_squash have been intentionally erroring for a couple weeks now. - But post-commits was just broken. Just remove squash/no_squash. - - * Scripts/webkitpy/tool/steps/abstractstep.py: - * Scripts/webkitpy/tool/steps/options.py: - -2010-07-27 Kevin Ollivier - - [wx] Build fix after introduction of EXECUTABLE_ALLOCATOR_DEMAND. - - * wx/build/settings.py: - -2010-07-27 Adam Roben - - Mac build fix - - * MiniBrowser/mac/BrowserWindowController.m: - (processDidExit): - (-[BrowserWindowController awakeFromNib]): - Added processDidExit support. - -2010-07-26 Antonio Gomes - - Rubber-stamped by Simon Hausmann. - - [Qt] Reorder some items in Developers' menu so QGraphicsView one is easier accessible. - - Move some less useful menu items on Developers menu from the top to the bottom, so - QGraphicsView menu goes to the top, and becomes more quickly accessible. - - * QtTestBrowser/main.cpp: - (LauncherWindow::createChrome): - -2010-07-26 Adam Roben - - Fix the path to InjectedBundle.dll in Debug_Internal builds - - Fixes WebKitTestRunner fails to load - InjectedBundle.dll in the Debug_Internal configuration - - Reviewed by Anders Carlsson. - - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::initializeInjectedBundlePath): Add the _debug - suffix only in Debug_All builds. - -2010-07-25 Mahesh Kulkarni - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=42947 - Check for WEBKIT_TESTFONTS for qt, gtk and windows port and throw - error. Without which dumpRenderTree crashes. - - * Scripts/old-run-webkit-tests: - -2010-07-27 Kent Tamura - - Reviewed by Dimitri Glazkov. - - https://bugs.webkit.org/show_bug.cgi?id=42956 - [DRT/Chromium] Fix "out of sync" assertion error - - Fix an assertion error on Windows like the following: - 100721 20:16:46 chromium.py:386 CRITICAL Test got out of sync: - |file:///c:/WebKitBuildSlave2/chromium-win-release-tests/build/LayoutTests/http/tests/local/blob/send-data-blob.html| - |file:///C:/WebKitBuildSlave2/chromium-win-release-tests/build/LayoutTests/http/tests/local/blob/send-data-blob.html| - - * Scripts/webkitpy/layout_tests/port/chromium.py: - If the url matches with "file:///[a-z]:", does case-ignore comparison. - GURL capitalize the driver letter of a file: URL. - -2010-07-26 Darin Adler - - Reviewed by Sam Weinig. - - WebKitTestRunner needs to support layoutTestController.counterValueForElementById - https://bugs.webkit.org/show_bug.cgi?id=42537 - - WebKitTestRunner needs layoutTestController.markerTextForListItem - https://bugs.webkit.org/show_bug.cgi?id=42549 - - * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: - Fixed _paramterExpression typo. Improved support for string type as a - return value, so we don't try to include DOMString.h and we can convert - the string to a JSValue by calling JSValueMakeStringOrNull. - - * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: - Added JSValueMakeStringOrNull, used by the code generator. - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - Added counterValueForElementById and markerTextForListItem. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - Moved constant to the top of the file. - (WTR::toCF): Added. Converts strings to CFStringRef. - (WTR::toWK): Added. Converts strings to WKStringRef. - (WTR::toJS): Added. Converts strings to JSStringRef. - (WTR::setProperty): Moved this function to the top of the file - rather than having it down where it's used inside the class. Also - renamed it so it's a separate function rather than an overload of - JSObjectSetProperty. - (WTR::propertyValue): Copied this here from InjectedBundlePage.cpp. - Should move it somewhere we can share it. - (WTR::propertyObject): Ditto. - (WTR::getElementById): Added. Calls getElementById through the magic - of JavaScript. - (WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId): - Chagned to use toWK instead of four local variables. - (WTR::LayoutTestController::counterValueForElementById): Added. - Calls WKBundleFrameCopyCounterValue. - (WTR::LayoutTestController::markerTextForListItem): Added. - Calls WKBundleFrameCopyMarkerText. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - Added counterValueForElementById and markerTextForListItem. - -2010-07-26 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] The EventSender should support simulating drop events - https://bugs.webkit.org/show_bug.cgi?id=39844 - - Add initial dropping support to the GTK+ EventSender. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (createWebView): Listen for some new drag-and-drop signals. - * DumpRenderTree/gtk/EventSender.cpp: Add currentDragSourceContext. - (dispatchEvent): - Detect situations where a drag is either starting or ending and massage - GTK+ into sending the appropriate signals to the WebView. - (replaySavedEvents): Remove comment. - (makeEventSender): Clear the currentDragSourceContext when creating a new EventSender. - (dragBeginCallback): Capture the new currentDragSourceContext when a drag begins. - (dragEndCallback): Clear the currentDragSourceContext when a drag ends. - (dragFailedCallback): Disable the GTK+ drag failed animation. - * DumpRenderTree/gtk/EventSender.h: Add declarations for new signal callbacks. - -2010-07-26 Daniel Bates - - Reviewed by Darin Adler. - - svn-unapply warns of uninitialized variable when unapplying - a patch that describes an svn move operation - https://bugs.webkit.org/show_bug.cgi?id=42036 - - Fixes Perl uninitialized variable warnings when un-applying - a patch that moves a file. - - * Scripts/svn-unapply: - - Modified patch() so that it initializes $patch to the empty - string when we don't have svnConvertedText (such as when - reversing a diff that represents a svn copy/move operation). - -2010-07-26 Sam Weinig - - Reviewed by Anders Carlsson. - - Move some non-APIish functions into private headers. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - -2010-07-26 Sam Weinig - - Reviewed by Anders Carlsson. - - Fix for https://bugs.webkit.org/show_bug.cgi?id=42986 - Add prompt and confirm client functions to WebKit2 - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController awakeFromNib]): - -2010-07-26 Adam Roben - - Windows build fix - - * MiniBrowser/MiniBrowser.vcproj: - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: - Removed empty attributes so the values will be picked up from the - vsprops files. (Also removed a couple of attributes that accidentally - duplicated values from the vsprops files.) - -2010-07-26 Brian Weinstein - - Rubber-stamped by Adam Roben. - - Touch MiniBrowser's stdafx to fix the build. - - * MiniBrowser/win/stdafx.h: - -2010-07-26 Hayato Ito - - Reviewed by Shinichiro Hamaji. - - Add pretty printer of WTF::Vector for GDB 7. - - https://bugs.webkit.org/show_bug.cgi?id=40909 - - * gdb/wtf.py: Added. - -2010-07-26 Tor Arne Vestbø - - Reviewed by Simon Hausmann. - - [Qt] Fix feature detection regexp - - We were missing the last feature - - * Scripts/webkitdirs.pm: - -2010-07-25 Darin Adler - - Reviewed by Dan Bernstein. - - WebKitTestRunner needs to support layoutTestController.dumpSelectionRect - https://bugs.webkit.org/show_bug.cgi?id=42326 - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - Added dumpSelectionRect. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::dumpSelectionRect): Added. For now, this - does nothing because its purpose is to change pixel test output and - we do not have pixel tests implemented yet. - -2010-07-25 Darin Adler - - Reviewed by Maciej Stachowiak. - - WebKitTestRunner needs to support layoutTestController.keepWebHistory - https://bugs.webkit.org/show_bug.cgi?id=42323 - - Added keepWebHistory and computedStyleIncludingVisitedInfo. - - Also fixed misspellings of the word "receive". - - Also tweaked the names of some of the LayoutTestController members. - - * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: - Added support for a type named "object" that is passed and returns as - a JSValueRef. - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - Added keepWebHistory and computedStyleIncludingVisitedInfo. Also - put setAcceptsEditing up nearer the top. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::_didReceiveMessage): Fixed mispellings of receive. - (WTR::InjectedBundle::initialize): Ditto. - (WTR::InjectedBundle::didReceiveMessage): Ditto. - (WTR::InjectedBundle::reset): Reset the state of visited links between - tests. Also eliminated the unused argument to the LayoutTestController - create function. - (WTR::InjectedBundle::setShouldTrackVisitedLinks): Added. - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: Ditto. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::shouldBeginEditing): Call shouldAllowEditing - instead of acceptsEditing. - (WTR::InjectedBundlePage::shouldEndEditing): Ditto. - (WTR::InjectedBundlePage::shouldInsertNode): Ditto. - (WTR::InjectedBundlePage::shouldInsertText): Ditto. - (WTR::InjectedBundlePage::shouldDeleteRange): Ditto. - (WTR::InjectedBundlePage::shouldChangeSelectedRange): Ditto. - (WTR::InjectedBundlePage::shouldApplyStyle): Ditto. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::create): Removed uneeded argument. - (WTR::LayoutTestController::LayoutTestController): Removed unneeded - argument. Updated for rename of m_acceptsEditing to m_shouldAllowEditing. - (WTR::LayoutTestController::numberOfActiveAnimations): Added some FIXMEs - about the fact that this works on the main frame. - (WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId): Ditto. - (WTR::LayoutTestController::keepWebHistory): Added. - (WTR::LayoutTestController::computedStyleIncludingVisitedInfo): Added. - (WTR::JSObjectSetProperty): Added. Helper to make the function below - cleaner. - (WTR::LayoutTestController::makeWindowObject): Changed to use the - overload of JSObjectSetProperty above. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Changes to - match above. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): Fixed mispellings of receive. - (WTR::TestController::_didReceiveMessageFromInjectedBundle): Ditto. - (WTR::TestController::didReceiveMessageFromInjectedBundle): Ditto. - * WebKitTestRunner/TestController.h: Ditto. - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Ditto. - * WebKitTestRunner/TestInvocation.h: Ditto. - -2010-07-25 Alexey Proskuryakov - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=42193 - Support layoutTestController.dumpEditingDelegates in WebKitTestRunner - - Step 2 - add the rest of editing delegates. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::operator<<): Fixed to not crash when range is null. - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::_shouldEndEditing): - (WTR::InjectedBundlePage::_shouldInsertNode): - (WTR::InjectedBundlePage::_shouldInsertText): - (WTR::InjectedBundlePage::_shouldDeleteRange): - (WTR::InjectedBundlePage::_shouldChangeSelectedRange): - (WTR::InjectedBundlePage::_shouldApplyStyle): - (WTR::InjectedBundlePage::_didBeginEditing): - (WTR::InjectedBundlePage::_didEndEditing): - (WTR::InjectedBundlePage::_didChange): - (WTR::InjectedBundlePage::_didChangeSelection): - (WTR::InjectedBundlePage::shouldEndEditing): - (WTR::InjectedBundlePage::shouldInsertNode): - (WTR::InjectedBundlePage::shouldInsertText): - (WTR::InjectedBundlePage::shouldDeleteRange): - (WTR::InjectedBundlePage::shouldChangeSelectedRange): - (WTR::InjectedBundlePage::shouldApplyStyle): - (WTR::InjectedBundlePage::didBeginEditing): - (WTR::InjectedBundlePage::didEndEditing): - (WTR::InjectedBundlePage::didChange): - (WTR::InjectedBundlePage::didChangeSelection): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2010-07-24 Chris Fleizach - - Reviewed by David Kilzer. - - AX: need a layout test testing misspelled words in attributed strings - https://bugs.webkit.org/show_bug.cgi?id=42899 - - * DumpRenderTree/AccessibilityUIElement.cpp: - (attributedStringForRangeCallback): - (attributedStringRangeIsMisspelledCallback): - (AccessibilityUIElement::getJSClass): - * DumpRenderTree/AccessibilityUIElement.h: - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (AccessibilityUIElement::attributedStringForRange): - (AccessibilityUIElement::attributedStringRangeIsMisspelled): - * DumpRenderTree/mac/AccessibilityUIElementMac.mm: - (AccessibilityUIElement::attributedStringForRange): - (AccessibilityUIElement::attributedStringRangeIsMisspelled): - * DumpRenderTree/win/AccessibilityUIElementWin.cpp: - (AccessibilityUIElement::attributedStringForRange): - (AccessibilityUIElement::attributedStringRangeIsMisspelled): - -2010-07-23 David Kilzer - - Update ruby tools to work with shallow framework bundles - - Reviewed by Mark Rowe. - - * Scripts/check-for-inappropriate-files-in-framework: Added - check for the SHALLOW_BUNDLE environment variable so that the - script will work with iOS WebKit builds. - * Scripts/check-for-webkit-framework-include-consistency: Ditto. - -2010-07-22 Darin Adler - - Reviewed by Sam Weinig. - - Eliminate unneeded WKBundleFrameCopyInnerText function from WebKit2 - https://bugs.webkit.org/show_bug.cgi?id=42847 - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::operator<<): Replaced the WKStringToUTF8 function with - a set of overloaded stream operators. - (WTR::dumpPath): Changed to use ostringstream and return a string. - (WTR::propertyValue): Added. - (WTR::propertyObject): Added. - (WTR::propertyString): Added. - (WTR::numericWindowPropertyValue): Changed to call propertyValue. - (WTR::dumpFrameScrollPosition): Removed now unneeded WKStringToUTF8 sequence - since we now have suitable streaming functions. - (WTR::dumpFrameText): Use propertyObject and propertyString instead of - WKBundleFrameCopyInnerText. - (WTR::dumpDescendantFramesText): Removed now unneeded WKStringToUTF8 sequence - since we now have suitable streaming functions. - (WTR::InjectedBundlePage::dump): Ditto. - (WTR::InjectedBundlePage::willAddMessageToConsole): Ditto. - (WTR::InjectedBundlePage::willSetStatusbarText): Ditto. - (WTR::InjectedBundlePage::willRunJavaScriptAlert): Ditto. - (WTR::InjectedBundlePage::willRunJavaScriptConfirm): Ditto. - (WTR::InjectedBundlePage::willRunJavaScriptPrompt): Ditto. - -2010-07-22 Alexey Proskuryakov - - Reviewed by Sam Weinig and Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=42193 - Support layoutTestController.dumpEditingDelegates in WebKitTestRunner - - Step 1: Add the method, and implement one actual delegate call as proof of concept. No tests - fixed, but this makes difference one line smaller on many editing tests. - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - Added dumpEditingCallbacks() and setAcceptsEditing(). - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::dumpPath): Dump path to a node in a format that's compatible with DumpRenderTree. - (WTR::operator<<): Print a range. - (WTR::InjectedBundlePage::InjectedBundlePage): Set editor client in addition to existing - clients. - (WTR::InjectedBundlePage::_shouldBeginEditing): The only client method implemented so far. - (WTR::InjectedBundlePage::shouldBeginEditing): Ditto. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Added a section for editor client - calls. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::dumpEditingCallbacks): - (WTR::LayoutTestController::setAcceptsEditing): - (WTR::LayoutTestController::acceptsEditing): - (WTR::LayoutTestController::shouldDumpEditingCallbacks): - Store m_acceptsEditing and m_dumpEditingCallbacks. - -2010-07-22 Yael Aharon - - Reviewed by Laszlo Gombos. - - [Qt] QtWebKit needs public API for Notifications. - https://bugs.webkit.org/show_bug.cgi?id=41413 - - Update DumpRenderTree and QtTestBrowser to use the new API. - Add new DRT API to flag that notifications permission requests should be ignored. - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::WebPage): - (WebCore::WebPage::requestPermission): - (WebCore::WebPage::checkPermission): - (WebCore::WebPage::cancelRequestsForPermission): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::ignoreDesktopNotificationPermissionRequests): - (LayoutTestController::checkDesktopNotificationPermission): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - (LayoutTestController::ignoreReqestForPermission): - * QtTestBrowser/main.cpp: - (LauncherWindow::LauncherWindow): - * QtTestBrowser/webpage.cpp: - (WebPage::WebPage): - (WebPage::requestPermission): - (WebPage::checkPermission): - (WebPage::cancelRequestsForPermission): - * QtTestBrowser/webpage.h: - -2010-07-22 Darin Adler - - Reviewed by Sam Weinig. - - WebKitTestRunner needs to support layoutTestController.dumpChildFramesAsText - https://bugs.webkit.org/show_bug.cgi?id=42325 - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - Added dumpChildFramesAsText. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::dumpFrameText): Added. - (WTR::dumpDescendantFramesText): Added. - (WTR::InjectedBundlePage::dumpAllFramesText): Added. - (WTR::InjectedBundlePage::dump): Changed to use the new whatToDump function - instead of the shouldDumpAsText function, and added a case for AllFramesText. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Added dumpAllFramesText. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): Replaced m_dumpAsText with - m_whatToDump. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Added - dumpChildFramesAsText. Removed shouldDumpAsText, shouldDumpDOMAsWebArchive, - and shouldDumpSourceAsWebArchive. Added whatToDump. - -2010-07-22 Adam Roben - - Windows build fix - - Inspired by r63881. - - * MiniBrowser/MiniBrowser.vcproj: - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: - Removed pre- and post-build events so they will be inherited from the - vsprops files. - -2010-07-21 Darin Adler - - Reviewed by Sam Weinig. - - WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions - https://bugs.webkit.org/show_bug.cgi?id=42548 - - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::numericWindowPropertyValue): Renamed this and moved it up higher in the file. - (WTR::dumpFrameScrollPosition): Added argument telling whether to dump the frame name. - Changed to a file-internal function instead of a member function. - (WTR::dumpDescendantFrameScrollPositions): Added. - (WTR::InjectedBundlePage::dumpAllFrameScrollPositions): Added. - (WTR::InjectedBundlePage::dump): Changed to call dumpAllFrameScrollPositions when - appropriate. Also streamlined all the WKStringToUTF8 call sites. - (WTR::InjectedBundlePage::willAddMessageToConsole): Streamlined use of WKStringToUTF8. - (WTR::InjectedBundlePage::willSetStatusbarText): Ditto. - (WTR::InjectedBundlePage::willRunJavaScriptAlert): Ditto. - (WTR::InjectedBundlePage::willRunJavaScriptConfirm): Ditto. - (WTR::InjectedBundlePage::willRunJavaScriptPrompt): Ditto. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Updated for above changes. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): Initialize - m_shouldDumpAllFrameScrollPositions. - (WTR::LayoutTestController::shouldDumpMainFrameScrollPosition): Renamed from - shouldDumpFrameScrollPositions. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Reorganized the file a - bit, added dumpChildFrameScrollPositions and shouldDumpAllFrameScrollPositions, - and renamed shouldDumpFrameScrollPositions to shouldDumpMainFrameScrollPosition. - -2010-07-21 Darin Adler - - Reviewed by Sam Weinig. - - WebKitTestRunner needs to support dumping of scroll position - https://bugs.webkit.org/show_bug.cgi?id=42514 - - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (_didClearWindowForFrame): Use JSGlobalContextRef instead of JSContextRef. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::_didClearWindowForFrame): Use JSGlobalContextRef - instead of JSContextRef. - (WTR::InjectedBundlePage::dump): Call dumpFrameScrollPosition when appropriate. - (WTR::numericWindowProperty): Added. Helper for dumpFrameScrollPosition. - (WTR::InjectedBundlePage::dumpFrameScrollPosition): Added. - (WTR::InjectedBundlePage::didClearWindowForFrame): Use JSGlobalContextRef - instead of JSContextRef. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Removed names from - arguments that simply repeat the argument type. Added dumpFrameScrollPosition. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::shouldDumpDOMAsWebArchive): Added. Currently - returns false. - (WTR::LayoutTestController::shouldDumpSourceAsWebArchive): Added. Currently - returns false. - (WTR::LayoutTestController::shouldDumpFrameScrollPositions): Added. Matches - the logic in DumpRenderTree. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Updated for above changes. - - * WebKitTestRunner/WebKitTestRunner.xcodeproj: Added property svn:ignore. - -2010-07-21 Kevin Ollivier - - [wx] Build fix, adding the WebCore/bindings/generic dir to the list of build dirs. - - * wx/build/settings.py: - -2010-07-21 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=42539 - WebKitTestRunner needs to support printing ALERT, PROMPT and CONFIRM messages - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::_willAddMessageToConsole): - (WTR::InjectedBundlePage::_willSetStatusbarText): - (WTR::InjectedBundlePage::_willRunJavaScriptAlert): - (WTR::InjectedBundlePage::_willRunJavaScriptConfirm): - (WTR::InjectedBundlePage::_willRunJavaScriptPrompt): - (WTR::InjectedBundlePage::willAddMessageToConsole): - (WTR::InjectedBundlePage::willSetStatusbarText): - (WTR::InjectedBundlePage::willRunJavaScriptAlert): - (WTR::InjectedBundlePage::willRunJavaScriptConfirm): - (WTR::InjectedBundlePage::willRunJavaScriptPrompt): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2010-07-21 Adam Roben - - Give InjectedBundle our standard set of configurations (minus the - *_Cairo variants) - - InjectedBundle's Debug_All configuration was the same as is Debug - configuration, and it was missing a Debug_Internal configuration. - - Fixes InjectedBundle's build - configurations are screwy - - Reviewed by Darin Adler. - - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: Added - debug_internal.vsprops and debug_all.vsprops to the Debug_All - configuration. Added a Debug_Internal configuration. - - * WebKitTestRunner/WebKitTestRunner.sln: Build the Debug_Internal - variant of InjectedBundle when we're using the Debug_Internal solution - configuration. - -2010-07-21 Adam Roben - - Move InjectedBundle's settings to a vsprops file - - This will make it easier to change settings for all configurations, - and to add new configurations. - - Fixes InjectedBundle should use vsprops - files - - Reviewed by Darin Adler. - - * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: Added. - Moved settings here... - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: ...from - here. - -2010-07-21 Adam Roben - - Give MiniBrowser our standard set of configurations (minus the *_Cairo - variants) - - MiniBrowser already had a configuration called "Release", but it was - using mostly the same settings as Debug. And its Debug configuration - was using the settings that Debug_Internal should be using. - - Fixes MiniBrowser's build configurations - are screwy - - Reviewed by Darin Adler. - - * MiniBrowser/MiniBrowser.vcproj: Removed debug_internal.vsprops from - the Debug configuration. Remove debug.vsprops and - debug_internal.vsprops from the Release configuration and replace them - with release.vsprops. Added Debug_Internal and Debug_All - configurations. - -2010-07-21 Adam Roben - - Move MiniBrowser's settings to a vsprops file - - This will make it easier to change settings for all configurations, - and to add new configurations. - - MiniBrowser should use vsprops files - https://bugs.webkit.org/show_bug.cgi?id=42745 - - Reviewed by Darin Adler. - - * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: Added. Moved - settings here... - * MiniBrowser/MiniBrowser.vcproj: ...from here. - -2010-07-21 Adam Roben - - Fix compiler warnings when building MiniBrowser - - Also cleaned up the .vcproj a bit. - - Fixes . - - Reviewed by Darin Adler. - - * MiniBrowser/MiniBrowser.vcproj: Removed all settings that are - already defined in .vsprops files. This also fixes a warning about - /EDITANDCONTINUE being incompatible with /SAFESEH. - - * MiniBrowser/win/MiniBrowser.rc: Replaced afxres.h with winresrc.h so - that we stop getting warnings about ID_FILE_OPEN and ID_FILE_CLOSE - being redefined. (I think this will also get us closer to building - with VC++ Express.) - -2010-07-20 Sam Weinig - - Reviewed by Jon Honeycutt. - - Fix obvious typo. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::setStatusbarText): Need to call ->data() to actually get the string value. - -2010-07-20 Tony Chang - - Reviewed by Kent Tamura. - - [chromium] by default, dumpAsText should disable pixel results - https://bugs.webkit.org/show_bug.cgi?id=42715 - - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::dumpAsText): disable pixel results, but allow JS to override - -2010-07-20 Adam Roben - - Windows build fix - - * MiniBrowser/MiniBrowser.vcproj: Link against the new, shiny - WebKit.lib instead of the old, dusty WebKit2.lib. - -2010-07-20 Adam Roben - - Stop linking WebKitTestRunner against getopt - - Use of getopt was removed in r63700. - - Fixes WebKitTestRunner links against - getopt, but doesn't need to - - Reviewed by Sam Weinig. - - * WebKitTestRunner/win/WebKitTestRunner.vcproj: Removed getopt.lib - from all configurations. - -2010-07-20 Adam Roben - - Make run-webkit-tests --webkit-test-runner "work" on Windows - - WebKitTestRunner crashes on launch, but at least the scripts build and - launch it! - - Fixes run-webkit-tests - --webkit-test-runner bails with an error on Windows - - Reviewed by Anders Carlsson. - - * Scripts/build-webkittestrunner: Build WebKitTestRunner.sln on - Windows. - * WebKitTestRunner/WebKitTestRunner.sln: Added. Contains the following - projects (from first-built to last-built): FindSafari, ImageDiff, - InjectedBundleGenerated, InjectedBundle, WebKitTestRunner. - -2010-07-20 Adam Roben - - Change build-webkit back to building WebKit.sln on Windows - - WebKit.sln builds all the same projects as WebKit2.sln, and the latter - is being removed. - - Rubber-stamped in advance by Steve Falkenburg. - - * Scripts/build-webkit: - -2010-07-20 Adam Roben - - Windows build fix - - * MiniBrowser/win/BrowserWindow.cpp: Added missing #include. - -2010-07-20 Joseph Pecoraro - - Reviewed by Geoffrey Garen. - - WebScriptObject Should Allow Safely Checking For Key Existence - https://bugs.webkit.org/show_bug.cgi?id=42613 - - Normal ObjCController workflow for a WebScriptObject test. - - * DumpRenderTree/mac/ObjCController.m: - (+[ObjCController isSelectorExcludedFromWebScript:]): - (+[ObjCController webScriptNameForSelector:]): - (-[ObjCController testHasWebScriptKey:]): - -2010-07-20 Chris Marrin - - Reviewed by Simon Fraser. - - https://bugs.webkit.org/show_bug.cgi?id=42118 - Disable compositing/webgl tests if WebGL is not enabled - - * Scripts/old-run-webkit-tests: - -2010-07-20 Anton Muhin - - Reviewed by Darin Adler. - - Print additional information about exception if failed to connect to apache (in verbose mode). - https://bugs.webkit.org/show_bug.cgi?id=42627 - - * Scripts/webkitpy/layout_tests/port/http_server_base.py: - -2010-07-20 Tony Chang - - Reviewed by David Levin. - - [chromium] only pass --force to gclient sync if explicitly stated - https://bugs.webkit.org/show_bug.cgi?id=42581 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: bots should - always pass --force since it's hard to do manual cleanups - * Scripts/update-webkit-chromium: only pass --force if --force is - passed in - -2010-07-19 Anders Carlsson - - Fix build. - - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - Paths of generated files should be relative to the build product. - -2010-07-19 Daniel Bates - - Reviewed by Adam Roben. - - [Win] Implement LayoutTestController::markerTextForListItem() - https://bugs.webkit.org/show_bug.cgi?id=37930 - - Implements DRT support for markerTextForListItem in the Windows port. - - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::markerTextForListItem): Implemented. - -2010-07-19 Jessie Berlin - - Windows build fix. Unreviewed. - - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::initializeTestPluginPath): - -2010-07-19 Sam Weinig - - Reviewed by Jon Honeycutt. - - Remove dependency on getopt from WebKitTestRunner. - - - Simplify options parsing and eliminate unused options. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::TestController): - (WTR::TestController::initialize): - * WebKitTestRunner/TestController.h: - (WTR::TestController::testPluginPath): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::platformInitialize): - (WTR::TestController::initializeTestPluginPath): - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::platformInitialize): - (WTR::TestController::initializeTestPluginPath): - -2010-07-19 Diego Gonzalez - - Reviewed by Antonio Gomes. - - [Qt] MiniBrowser: Progress indication at address bar - https://bugs.webkit.org/show_bug.cgi?id=42565 - - Make possible to see load progress at address bar based on - QtTestBrowser solution - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - (BrowserWindow::loadProgress): - * MiniBrowser/qt/BrowserWindow.h: - -2010-07-19 Diego Gonzalez - - Reviewed by Antonio Gomes. - - [Qt] Add MiniBrowser features: urlChanged, titleChanged and from user input load - https://bugs.webkit.org/show_bug.cgi?id=42564 - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserView::load): - (BrowserWindow::BrowserWindow): - (BrowserWindow::titleChanged): - (BrowserWindow::urlChanged): - * MiniBrowser/qt/BrowserWindow.h: - -2010-07-19 Sam Weinig - - Reviewed by Adam Roben. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=42532 - Auto-generate the JS bindings for WebKitTestRunner's script objects. - - * WebKitTestRunner/Configurations/Base.xcconfig: - * WebKitTestRunner/Configurations/DebugRelease.xcconfig: - * WebKitTestRunner/DerivedSources.make: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Added. - * WebKitTestRunner/InjectedBundle/Bindings: Added. - * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Added. - * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Added. - (WTR::JSWrappable::~JSWrappable): - * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Added. - (WTR::JSWrapper::wrap): - (WTR::JSWrapper::unwrap): - (WTR::unwrapObject): - (WTR::JSWrapper::initialize): - (WTR::JSWrapper::finalize): - * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Added. - (WTR::toJS): - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::dump): - (WTR::InjectedBundlePage::setStatusbarText): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::wrapperClass): - (WTR::LayoutTestController::waitUntilDone): - (WTR::LayoutTestController::makeWindowObject): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::shouldDumpAsText): - (WTR::LayoutTestController::dumpAsText): - (WTR::LayoutTestController::shouldDumpStatusCallbacks): - (WTR::LayoutTestController::dumpStatusCallbacks): - (WTR::LayoutTestController::waitToDump): - (WTR::LayoutTestController::testRepaint): - (WTR::LayoutTestController::repaintSweepHorizontally): - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: Added. - * WebKitTestRunner/win/build-generated-files.sh: Added. - -2010-07-19 Mark Rowe - - Clean up the buildbot configuration a little. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2010-07-19 Chris Marrin - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=42118 - Disable WebGL on Leopard for now. - - LayoutTests fail on some graphics hardware on Leopard because one of the features we use, - GL_ARB_framebuffer_object, is not universally available in Leopard like it is in - SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a - software OpenGL driver on machines without this support. - - * Scripts/build-webkit: - -2010-07-19 Simon Fraser - - Reviewed by Brady Eidson. - - Fix MiniBrowser to update URL as you browse - https://bugs.webkit.org/show_bug.cgi?id=42591 - - Hook up various loading notifications to update the URL bar in MiniBrowser. - - * MiniBrowser/mac/BrowserWindowController.m: - (_didStartProvisionalLoadForFrame): - (_didReceiveServerRedirectForProvisionalLoadForFrame): - (_didFailProvisionalLoadWithErrorForFrame): - (_didCommitLoadForFrame): - (_didFailLoadWithErrorForFrame): - (-[BrowserWindowController updateProvisionalURLForFrame:]): - (-[BrowserWindowController didStartProvisionalLoadForFrame:]): - (-[BrowserWindowController didReceiveServerRedirectForProvisionalLoadForFrame:]): - (-[BrowserWindowController didFailProvisionalLoadWithErrorForFrame:]): - (-[BrowserWindowController didFailLoadWithErrorForFrame:]): - (-[BrowserWindowController didCommitLoadForFrame:]): - -2010-07-19 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=42586 - Log all canceled authentication attempts in DumpRenderTree - - * DumpRenderTree/mac/ResourceLoadDelegate.mm: - (-[ResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): - * DumpRenderTree/win/ResourceLoadDelegate.cpp: - (ResourceLoadDelegate::didReceiveAuthenticationChallenge): - It's important to know whether an auth sheet appeared. Added logging to "no preset credentials" - case. - -2010-07-19 Sheriff Bot - - Unreviewed, rolling out r63671. - http://trac.webkit.org/changeset/63671 - https://bugs.webkit.org/show_bug.cgi?id=42575 - - broke windows (Requested by weinig on #webkit). - - * WebKitTestRunner/Configurations/Base.xcconfig: - * WebKitTestRunner/Configurations/DebugRelease.xcconfig: - * WebKitTestRunner/DerivedSources.make: Removed. - * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Removed. - * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Removed. - * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Removed. - * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Removed. - * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Removed. - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Removed. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::dump): - (WTR::InjectedBundlePage::setStatusbarText): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::setWaitToDump): - (WTR::displayCallback): - (WTR::dumpAsTextCallback): - (WTR::dumpStatusCallbacksCallback): - (WTR::waitUntilDoneCallback): - (WTR::notifyDoneCallback): - (WTR::numberOfActiveAnimationsCallback): - (WTR::pauseAnimationAtTimeOnElementWithIdCallback): - (WTR::repaintSweepHorizontallyCallback): - (WTR::testRepaintCallback): - (WTR::layoutTestControllerObjectFinalize): - (WTR::LayoutTestController::makeWindowObject): - (WTR::LayoutTestController::getJSClass): - (WTR::LayoutTestController::staticFunctions): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::dumpAsText): - (WTR::LayoutTestController::setDumpAsText): - (WTR::LayoutTestController::dumpStatusCallbacks): - (WTR::LayoutTestController::setDumpStatusCallbacks): - (WTR::LayoutTestController::setTestRepaint): - (WTR::LayoutTestController::setTestRepaintSweepHorizontally): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-07-19 Sam Weinig - - Reviewed by Adam Roben. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=42532 - Auto-generate the JS bindings for WebKitTestRunner's script objects. - - * WebKitTestRunner/Configurations/Base.xcconfig: - * WebKitTestRunner/Configurations/DebugRelease.xcconfig: - * WebKitTestRunner/DerivedSources.make: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Added. - * WebKitTestRunner/InjectedBundle/Bindings: Added. - * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Added. - * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Added. - (WTR::JSWrappable::~JSWrappable): - * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Added. - (WTR::JSWrapper::wrap): - (WTR::JSWrapper::unwrap): - (WTR::unwrapObject): - (WTR::JSWrapper::initialize): - (WTR::JSWrapper::finalize): - * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Added. - (WTR::toJS): - * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::dump): - (WTR::InjectedBundlePage::setStatusbarText): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::wrapperClass): - (WTR::LayoutTestController::waitUntilDone): - (WTR::LayoutTestController::makeWindowObject): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::shouldDumpAsText): - (WTR::LayoutTestController::dumpAsText): - (WTR::LayoutTestController::shouldDumpStatusCallbacks): - (WTR::LayoutTestController::dumpStatusCallbacks): - (WTR::LayoutTestController::waitToDump): - (WTR::LayoutTestController::testRepaint): - (WTR::LayoutTestController::repaintSweepHorizontally): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-07-19 Tony Chang - - Reviewed by David Levin. - - fix chromium linux compile on ubuntu maverick - https://bugs.webkit.org/show_bug.cgi?id=42528 - - * Scripts/webkitdirs.pm: add a chomp to eat a newline that breaks the make command line - -2010-07-19 Adam Roben - - When dumping a response's MIME type, print its URL's last path - component rather than its suitable-for-test-result form - - This matches the Mac behavior. - - Fixes - http/tests/loading/preload-slow-loading.php and - http/tests/mime/uppercase-mime-type.html fail on Windows - - Reviewed by Anders Carlsson. - - * DumpRenderTree/win/DumpRenderTree.cpp: - (urlSuitableForTestResult): Moved code to actually extract the last - path component from here... - (lastPathComponent): ...to here. - - * DumpRenderTree/win/DumpRenderTreeWin.h: Added lastPathComponent. - - * DumpRenderTree/win/ResourceLoadDelegate.cpp: - (ResourceLoadDelegate::didReceiveResponse): Use the URL's last path - component, rather than its suitable-for-test-result form, to match - Mac. - -2010-07-19 Anders carlsson - - Reviewed by Adam Roben. - - WebKit2 does not have application cache - https://bugs.webkit.org/show_bug.cgi?id=42552 - - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::resetPreferencesToConsistentValues): - Set up default preferences. Right now just enables the web application cache. - - (WTR::TestInvocation::invoke): - Call resetPreferencesToConsistentValues. - - * WebKitTestRunner/TestInvocation.h: - -2010-07-19 Kent Tamura - - Reviewed by Adam Roben. - - Fix NewRunWebKitTests to work on Windows. - https://bugs.webkit.org/show_bug.cgi?id=41180 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - Specifying python explicitly. - -2010-07-18 Anders Carlsson - - Reviewed by Dan Bernstein. - - Add dumping of statusbar text to WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=42516 - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::_setStatusbarText): - (WTR::InjectedBundlePage::setStatusbarText): - Dump the statusbar text. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): - Initialize m_dumpStatusCallbacks to false. - - (WTR::dumpStatusCallbacksCallback): - Implement JSC callback. - - (WTR::LayoutTestController::staticFunctions): - Add dumpStatusCallbacks. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::dumpStatusCallbacks): - (WTR::LayoutTestController::setDumpStatusCallbacks): - Add setter and getter for m_dumpStatusCallbacks. - -2010-07-17 Anders Carlsson - - Reviewed by Maciej Stachowiak. - - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - Get the test plug-in path and set it on the context. - - * WebKitTestRunner/TestController.h: - * WebKitTestRunner/mac/TestControllerMac.mm: - (WTR::TestController::initializeInjectedBundlePath): - Simplify this code by using NSBundle. - - (WTR::TestController::testPluginPath): - Return the test plug-in path. - - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::testPluginPath): - Ditto. - -2010-07-16 Adam Barth - - Reviewed by Eric Seidel. - - Teach webkitpy about queues.webkit.org - https://bugs.webkit.org/show_bug.cgi?id=42492 - - * Scripts/webkitpy/common/net/statusserver.py: - -2010-07-16 Ada Chan - - Reviewed by Alice Liu. - - Fix Windows build. - - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: - -2010-07-16 Sam Weinig - - Reviewed by Anders Carlsson. - - Fix for https://bugs.webkit.org/show_bug.cgi?id=42482 - - Add notification of when the BackForwardList changes - to aid invalidation of Back/Forward related UI elements. - - * MiniBrowser/mac/BrowserWindowController.m: - (_didStartProvisionalLoadForFrame): - (_didCommitLoadForFrame): - (_didFailLoadWithErrorForFrame): - (_didChangeBackForwardList): - (-[BrowserWindowController awakeFromNib]): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-07-16 Kent Tamura - - Reviewed by Darin Fisher. - - [Chromium] UI implementation for Windows - https://bugs.webkit.org/show_bug.cgi?id=42259 - - * DumpRenderTree/chromium/WebThemeEngineDRT.cpp: - (WebThemeEngineDRT::paintSpinButton): - Added. Check state consistency and use existing arrow painting code. - * DumpRenderTree/chromium/WebThemeEngineDRT.h: - -2010-07-16 Alice Liu - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=42430 - Make WebKitTestRunner on Windows actually load and run a test - - * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: Export WKBundleInitialize. - (WKBundleInitialize): - * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: Added. Output is a dll. - * WebKitTestRunner/TestInvocation.cpp: Create a Windows-style path on Windows - (WTR::createWKURL): - * WebKitTestRunner/WebKitTestRunnerPrefix.h: Change check for Windows platform to match - other existing checks, and avoid including Platform.h - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - (WTR::registerWindowClass): Added. - (WTR::PlatformWebView::PlatformWebView): Implemented. - (WTR::PlatformWebView::~PlatformWebView): Implemented. - (WTR::PlatformWebView::page): Implemented. - * WebKitTestRunner/win/TestControllerWin.cpp: - (WTR::TestController::initializeInjectedBundlePath): Implemented. Provide build - configuration specific path to InjectedBundle.dll. - * WebKitTestRunner/win/TestInvocationWin.cpp: - (WTR::TestInvocation::runUntil): Implemented. - * WebKitTestRunner/win/WebKitTestRunner.sln: Added InjectedBundle project. - * WebKitTestRunner/win/WebKitTestRunner.vcproj: Cleaned up unnecessary dependencies. - -2010-07-16 Brady Eidson - - Reviewed by Sam Weinig. - - Make revalidation of back/forward work a little better with page loads - https://bugs.webkit.org/show_bug.cgi?id=42470 - - * MiniBrowser/mac/BrowserWindow.xib: - * MiniBrowser/mac/BrowserWindowController.h: - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController validateToolbar]): - (_didStartProvisionalLoadForFrame): - (_didCommitLoadForFrame): - (_didFailLoadWithErrorForFrame): - -2010-07-16 Nikolas Zimmermann - - Reviewed by Dirk Schulze. - - Add possibility to dumpAsText and generate a pixel test result - https://bugs.webkit.org/show_bug.cgi?id=42374 - - Add optional parameter to setDumpAsText() to allow generating a pixel test result even if dumpAsText mode. - setDumpAsText(true) will also generate a pixel test result now, when running run-webkit-tests --pixel-tests. - - This is needed for the svg/dynamic-updates tests, which don't want render tree dumps but text dumps + a pixel test result. - At some point DRT changed to not generate pixel test results when using dumpAsText - which makes sense, but breaks the svg/dynamic-updates test. - - Implemented for all DRT platforms, except Qt, as it's not clear how arguments to functions like "setDumpAsText" are handled. - (Qt always dumps pixel tests when using --pixel-tests mode, so it does not break anything) - - * DumpRenderTree/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (dumpAsTextAndPixelsCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - (LayoutTestController::dumpAsTextAndPixels): - (LayoutTestController::setDumpAsTextAndPixels): - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::dumpAsTextAndPixels): - (LayoutTestController::reset): - * DumpRenderTree/chromium/LayoutTestController.h: - (LayoutTestController::shouldDumpAsTextAndPixels): - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::dump): - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (dump): - * DumpRenderTree/mac/DumpRenderTree.mm: - (dump): - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::dump): - * DumpRenderTree/win/DumpRenderTree.cpp: - (dump): - * DumpRenderTree/wx/DumpRenderTreeWx.cpp: - (dump): - -2010-07-16 Kent Hansen - - Unreviewed. Adding myself as committer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-16 Shinichiro Hamaji - - Another uneviewed attempt to fix build. - - Printing test results differ between machines, we should use ImageDiff instead - https://bugs.webkit.org/show_bug.cgi?id=20011 - - * DumpRenderTree/mac/PixelDumpSupportMac.mm: - (createPagedBitmapContext): - -2010-07-16 Shinichiro Hamaji - - Unreviewed tiger build fix. - - Printing test results differ between machines, we should use ImageDiff instead - https://bugs.webkit.org/show_bug.cgi?id=20011 - - * DumpRenderTree/mac/PixelDumpSupportMac.mm: - (createBitmapContext): - (createBitmapContextFromWebView): - -2010-07-15 Shinichiro Hamaji - - Unreviewed build fix. - - Printing test results differ between machines, we should use ImageDiff instead - https://bugs.webkit.org/show_bug.cgi?id=20011 - - * DumpRenderTree/PixelDumpSupport.cpp: - (dumpWebViewAsPixelsAndCompareWithExpected): - -2010-07-15 Shinichiro Hamaji - - Reviewed by Darin Adler. - - Printing test results differ between machines, we should use ImageDiff instead - https://bugs.webkit.org/show_bug.cgi?id=20011 - - * DumpRenderTree/PixelDumpSupport.cpp: - (dumpWebViewAsPixelsAndCompareWithExpected): - * DumpRenderTree/PixelDumpSupport.h: - * DumpRenderTree/mac/PixelDumpSupportMac.mm: - (createBitmapContext): This function was added to share bitmap context creation code. - (createBitmapContextFromWebView): - (createPagedBitmapContext): - -2010-07-15 Yuta Kitamura - - Reviewed by Kent Tamura. - - Pull in pywebsocket-0.5.1 - https://bugs.webkit.org/show_bug.cgi?id=42353 - - pywebsocket-0.5.1 contains a small bug fix (*) that should fix a worker test - in Chromium. There is no other functional change. - - (*) http://code.google.com/p/pywebsocket/source/detail?r=265 - - * Scripts/webkitpy/thirdparty/__init__.py: Bump pywebsocket version to 0.5.1. - -2010-07-15 Brady Eidson - - Reviewed by Sam Weinig. - - Add toolbar and toolbar item validation for MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=42422 - - * MiniBrowser/MBToolbarItem.h: Added. - * MiniBrowser/MBToolbarItem.m: Added. - (-[MBToolbarItem validate]): - - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController validateUserInterfaceItem:]): - - * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: - * MiniBrowser/mac/BrowserWindow.xib: - -2010-07-15 Victor Wang - - Unreviewed, add victorw irc nickname to committer list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-15 Adam Roben - - Make killing Apache more reliable (on both Mac and Windows) - - We previously had two ways of determining whether we had succeeded in - killing Apache: - 1) checking the return value of kill(0, $apachePID) - 2) checking whether Apache's PID file still exists - - On Cygwin, Apache doesn't always delete its PID file when it exits, - making (2) unreliable. We unfortunately misdiagnosed this as an - impotency of Perl's kill function, which led to r63177 and r63355. - - Now that we know that the real problem is that Apache doesn't always - delete its PID file on Windows, we can make a much better fix: always - use method (1) to determine whether we've killed Apache. - - Fixes Killing Apache is unreliable, - leading to regression test failures (and general annoyance). - - Reviewed by Anders Carlsson. - - * Scripts/webkitperl/httpd.pm: - (openHTTPD): Moved killing code from here to killHTTPD. Added a call - to delete the PID file in case Apache doesn't do this itself when - killed. Our later logic relies on the PID file being deleted after - this point. - (closeHTTPD): Removed killing logic and changed to just call killHTTPD - instead. killHTTPD's logic is a bit different from the logic we had - here, for the reasons stated above. - (killHTTPD): Added. Code came from openHTTPD. - (handleInterrupt): Bonus fix for Mac: don't hang when pressing Ctrl-C! - On Mac, don't try to kill Apache when we receive a signal, as Apache - will already have been killed by this point (though for some reason - this isn't detected by our killing logic in killHTTPD). On Cygwin, we - still need to kill Apache manually. - -2010-07-15 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=42399 - Update MiniBrowser for WKFrameNavigationType - - * MiniBrowser/mac/BrowserWindowController.m: - (_decidePolicyForNavigationAction): - (_decidePolicyForNewWindowAction): - -2010-07-15 Stephanie Lewis - - Reviewed by Geoff Garen. - - http://bugs.webkit.org/show_bug.cgi?id=42406 - Make SunSpider work better with roots. - - * Scripts/sunspider-compare-results: fix argument bug - * Scripts/webkitdirs.pm: look inside JavaScriptCore if jsc isn't top-level. - -2010-07-15 Brady Eidson - - Reviewed by Sam Weinig. - - Hook up back/forward in MiniBrowser - https://bugs.webkit.org/show_bug.cgi?id=42397 - - * MiniBrowser/mac/BrowserWindow.xib: - * MiniBrowser/mac/BrowserWindowController.h: - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController goBack:]): - (-[BrowserWindowController goForward:]): - -2010-07-15 Daniel Bates - - Reviewed by Darin Adler. - - [Mac] Implement LayoutTestController::markerTextForListItem() - https://bugs.webkit.org/show_bug.cgi?id=37929 - - Implements DRT support for markerTextForListItem in the Mac port. - - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::markerTextForListItem): Implemented. - -2010-07-15 Adam Barth - - Unreviewed. - - Update the port names to be more specific. Before this patch, - port-specific results for Mac would end up in the wrong place. - - * Scripts/webkitpy/tool/commands/rebaseline.py: - * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: - -2010-07-14 Eric Seidel - - Reviewed by Adam Barth. - - WebKit needs a rebaselining tool (finally) - https://bugs.webkit.org/show_bug.cgi?id=42339 - - This is a very basic rebaselining tool. It's not - quite as fancy as chromium's as it will only handle - updating failing results. It cannot yet handle adding new - results, or updating results where the results should not - replace existing results. - - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/tool/commands/__init__.py: - * Scripts/webkitpy/tool/commands/queries.py: - * Scripts/webkitpy/tool/commands/rebaseline.py: Added. - * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Added. - -2010-07-14 Sheriff Bot - - Unreviewed, rolling out r63352. - http://trac.webkit.org/changeset/63352 - https://bugs.webkit.org/show_bug.cgi?id=42341 - - Broke plugin-initiate-popup-window.html and plugin-javascript- - access.html on snow leopard (Requested by abarth on #webkit). - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - (pluginAllocate): - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - (handleEventCarbon): - (handleEventCocoa): - -2010-07-14 Maciej Stachowiak - - Reviewed by Mark Rowe. - - Lower WebKitTestRunner notifyDone timeout to 6.0 for now, to make it easier to grind through the failures. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - -2010-07-14 Sheriff Bot - - Unreviewed, rolling out r63346. - http://trac.webkit.org/changeset/63346 - https://bugs.webkit.org/show_bug.cgi?id=42295 - - Broke lots of tests, some of which probably just need new - results (Requested by aroben on #webkit). - - * DumpRenderTree/win/DumpRenderTree.cpp: - (urlSuitableForTestResult): - -2010-07-14 Adam Roben - - Speed up killing of Apache on Windows - - Fixes Killing Apache (and thus quitting - run-webkit-tests) takes a long time on Windows - - Reviewed by Darin Adler and Jon Honeycutt. - - * Scripts/webkitperl/httpd.pm: - (closeHTTPD): Use taskkill to kill Apache and its child processes. - Perl's kill seems ineffectual. We were already using taskkill, but - only after trying kill 20 times. Since kill never works, let's just - skip it entirely. - -2010-07-14 Johnny Ding - - Reviewed by Adam Barth. - - https://bugs.webkit.org/show_bug.cgi?id=41292 - Add a new parameter to the test plugin to allow to specify a script and a - mouse/keyboard event. The specified script will be evaluated in the browser - when the specified event is received by the plugin. - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - (pluginAllocate): - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - (handleEventCarbon): - (handleEventCocoa): - -2010-07-14 Adam Roben - - Make urlSuitableForTestResult work for http: URLs, too - - Fixes - http/tests/loading/preload-slow-loading.php and - http/tests/mime/uppercase-mime-type.html fail on Windows. - - Reviewed by Darin Adler. - - * DumpRenderTree/win/DumpRenderTree.cpp: - (urlSuitableForTestResult): Don't bail if the URL starts with http://. - We want this function to work for those URLs, too! - -2010-07-13 Maciej Stachowiak - - Reviewed by Oliver Hunt. - - Add placebo versions of some repaint test functions to WebKitTestRunner - good enough for non-pixel tests - https://bugs.webkit.org/show_bug.cgi?id=42227 - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): Initialize new bool - members. - (WTR::LayoutTestController::display): Dummy method. - (WTR::displayCallback): Call the dummy. - (WTR::repaintSweepHorizontallyCallback): ditto - (WTR::testRepaintCallback): ditto - (WTR::LayoutTestController::staticFunctions): Expose new methods. - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::setTestRepaint): Set the flag (which currently does - nothing). - (WTR::LayoutTestController::setTestRepaintSweepHorizontally): ditto - -2010-07-13 Andreas Kling - - Unreviewed. Adding myself as committer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-07 Tor Arne Vestbø - - Reviewed by Darin Adler. - - Prevent assertion/duplicate loads for non-deferred subtitute-data loads - - https://bugs.webkit.org/show_bug.cgi?id=30879 - - MainResourceLoader uses the member m_initialRequest to store requests for future - deferred loads. When doing the actual load in handleDataLoadNow(), we therefore - have to clear this request so that subsequent entries into the loader will not - start yet another load. - - This can happen as a result of a PageGroupLoadDeferrer going out of scope when - returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false), - but only in the case of using both substitute-data and non-deferred main resource - load together. That's why two new DRT functions were added: - - * queueLoadHTMLString() - * setDeferMainResourceLoad() - - The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac - and Win the hook uses new SPI in WebDataSource. For Qt a new static member was - added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt. - - * DumpRenderTree/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (queueLoadHTMLStringCallback): - (setDeferMainResourceDataLoadCallback): - (LayoutTestController::staticFunctions): - (LayoutTestController::queueLoadHTMLString): - * DumpRenderTree/LayoutTestController.h: - (LayoutTestController::deferMainResourceDataLoad): - (LayoutTestController::setDeferMainResourceDataLoad): - * DumpRenderTree/WorkQueueItem.h: - (LoadHTMLStringItem::LoadHTMLStringItem): - * DumpRenderTree/gtk/WorkQueueItemGtk.cpp: - (LoadHTMLStringItem::invoke): - * DumpRenderTree/mac/ResourceLoadDelegate.mm: - (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): - * DumpRenderTree/mac/WorkQueueItemMac.mm: - (LoadHTMLStringItem::invoke): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::setDeferMainResourceDataLoad): - (LayoutTestController::queueLoadHTMLString): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - * DumpRenderTree/qt/WorkQueueItemQt.cpp: - (LoadHTMLStringItem::invoke): - * DumpRenderTree/qt/WorkQueueItemQt.h: - (LoadHTMLStringItem::LoadHTMLStringItem): - * DumpRenderTree/win/ResourceLoadDelegate.cpp: - (ResourceLoadDelegate::willSendRequest): - * DumpRenderTree/win/WorkQueueItemWin.cpp: - (LoadHTMLStringItem::invoke): - * DumpRenderTree/wx/WorkQueueItemWx.cpp: - (LoadHTMLStringItem::invoke): - -2010-07-13 Maciej Stachowiak - - Reviewed by Nikolas Zimmermann. - - Activate test fonts for layout tests in WebKitTestRunner (on Mac) - https://bugs.webkit.org/show_bug.cgi?id=42153 - - * WebKitTestRunner/InjectedBundle/ActivateFonts.h: Added. - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::initialize): Activate fonts on startup. - * WebKitTestRunner/InjectedBundle/mac: Added. - * WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm: Added. - (WTR::activateFonts): Activate our fonts. - * WebKitTestRunner/InjectedBundle/win: Added. - * WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: Added. - (WTR::activateFonts): Dummy version. - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Copy fonts to bundle; - add more files. - * WebKitTestRunner/fonts: Added. - * WebKitTestRunner/fonts/AHEM____.TTF: Added. - * WebKitTestRunner/fonts/ColorBits-A.png: Added. - * WebKitTestRunner/fonts/ColorBits.ttf: Added. - * WebKitTestRunner/fonts/WebKit Layout Tests 2.ttf: Added. - * WebKitTestRunner/fonts/WebKit Layout Tests.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher100.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher200.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher300.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher400.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher500.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher600.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher700.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher800.ttf: Added. - * WebKitTestRunner/fonts/WebKitWeightWatcher900.ttf: Added. - -2010-07-13 Dumitru Daniliuc - - Reviewed by Eric Seidel. - - Remove check-header-includes, as it didn't turn out to be very useful. - https://bugs.webkit.org/show_bug.cgi?id=41970 - - * Scripts/check-header-includes: Removed. - -2010-07-12 Steve Falkenburg - - Reviewed by Maciej Stachowiak. - - Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots) - https://bugs.webkit.org/show_bug.cgi?id=40922 - - Always build WebKit2 on Windows. Necessary since our WebKit build on - Windows is packaged into a DLL with WebKit2. - - * Scripts/build-webkit: Always build WebKit2 on Windows. - -2010-07-12 Brian Weinstein - - Reviewed by Steve Falkenburg. - - One http test timing out on Windows can cause all future tests to time out - https://bugs.webkit.org/show_bug.cgi?id=42146 - - There have been multiple times on the Windows bots where one http test timing out causes all future - http tests to time out. This is because the httpd process becomes unresponsive. When an http test - times out, we should restart httpd on Cygwin to prevent this. - - * Scripts/old-run-webkit-tests: If an http test timed out on Cygwin, close httpd and restart it. - * Scripts/webkitperl/httpd.pm: Add additional logic to closeHTTPD to teach it about taskkill if - using kill fails. - -2010-07-12 Maciej Stachowiak - - Reviewed by Dan Bernstein. - - Remove use of auto_ptr in WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=42134 - - Replaced auto_ptr with PassOwnPtr / OwnPtr. - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::WKStringToUTF8): - (WTR::InjectedBundlePage::dump): - (WTR::InjectedBundlePage::addMessageToConsole): - * WebKitTestRunner/TestInvocation.cpp: - (WTR::WKStringToUTF8): - (WTR::TestInvocation::didRecieveMessageFromInjectedBundle): - -2010-07-12 Maciej Stachowiak - - Reviewed by Sam Weinig. - - Need support for a WebKit2-specific Skipped list (and initially add accessibility tests to it) - https://bugs.webkit.org/show_bug.cgi?id=42132 - - * Scripts/old-run-webkit-tests: In --webkit-test-runner mode, add mac-wk2 to list of - platform directories. - -2010-07-12 Maciej Stachowiak - - Reviewed by Anders Carlsson. - - Make WebKitTestRunner resize the view specially for the W3C SVG tests. - https://bugs.webkit.org/show_bug.cgi?id=42126 - - * WebKitTestRunner/PlatformWebView.h: - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::TestInvocation): Store the path as a C - string for later use. - (WTR::TestInvocation::~TestInvocation): - (WTR::sizeWebViewForCurrentTest): Resize the WebView to the proper - size, depending on whether this is a W3C SVG test. - (WTR::TestInvocation::invoke): Call the size function. - * WebKitTestRunner/TestInvocation.h: - * WebKitTestRunner/mac/PlatformWebViewMac.mm: - (WTR::PlatformWebView::resizeTo): Implement. - * WebKitTestRunner/win/PlatformWebViewWin.cpp: - (WTR::PlatformWebView::resizeTo): Placeholder. - -2010-07-12 Mario Sanchez Prada - - Reviewed by Xan Lopez. - - Ensure DRT loads GAIL (Gtk+ module), for a11y tests - https://bugs.webkit.org/show_bug.cgi?id=38648 - - Add the GTK_MODULES envvar (set to "gail") to the clean - environment when running DRT for the Gtk+ port - - * Scripts/old-run-webkit-tests: - -2010-07-12 Martin Robinson - - Reviewed by Dirk Schulze. - - [GTK] Support pixel tests - https://bugs.webkit.org/show_bug.cgi?id=31518 - - Finish support for pixel tests on GTK+. - - * DumpRenderTree/PixelDumpSupport.cpp: Remove unecessary RetainPtr include (only - works on CoreFoundation systems) and add missing cstdio include. - * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: Switch to using the MD5 support found - in JSC library. MD5.cpp and MD5.h are only available for the Windows build. - (computeMD5HashStringForBitmapContext): The number of bytes per row should be the row stride - of the image, not the row stride multiplied by the width. Use JSC MD5 implementation to calculate - the MD5 hash here. According to glibc manpages, using snprintf to build a string in unsupported - by the ANSI standard and this fails on Linux, so unroll the loop here. - * DumpRenderTree/cairo/PixelDumpSupportCairo.h: Correct some constructor misbehavior. - (BitmapContext::BitmapContext): There is no reason to check the value of the - m_context member in the constructor and it certainly should not be freed. Instead - just initialize it with the incoming value. - * DumpRenderTree/gtk/DumpRenderTree.cpp: Fix the order of includes. - (dump): Actually call dumpWebViewAsPixelsAndCompareWithExpected when it is time to - dump pixels. - * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: Added. - (createBitmapContextFromWebView): - * GNUmakefile.am: Add new files to the build. - -2010-07-12 Adam Barth - - Unreviewed. - - Remove stray "raise e" that got included in a previous patch. This - caused the EWS bots to turn red instead of purple when a patch failed - to apply. - - * Scripts/webkitpy/tool/commands/stepsequence.py: - -2010-07-12 Sheriff Bot - - Unreviewed, rolling out r63101. - http://trac.webkit.org/changeset/63101 - https://bugs.webkit.org/show_bug.cgi?id=42103 - - Broke one API test (Requested by xan_ on #webkit). - - * Scripts/old-run-webkit-tests: - -2010-07-12 Alexey Proskuryakov - - Reviewed by Adam Roben. - - https://bugs.webkit.org/show_bug.cgi?id=13075 - XMLHttpRequest with failed authentication should set status to 401 - - https://bugs.webkit.org/show_bug.cgi?id=6871 - 401 error page is never shown - - Fix crashes in Windows DumpRenderTree. - - * DumpRenderTree/win/ResourceLoadDelegate.cpp: (ResourceLoadDelegate::didReceiveAuthenticationChallenge): - If we return an error, WebKit will call continueWithoutCredentialForAuthenticationChallenge() - again on a destroyed sender. - -2010-07-12 Adam Roben - - Windows failure-to-launch fix - - * DumpRenderTree/win/DumpRenderTree.vcproj: Copy CoreVideo.dll and - CoreVideo.pdb into WebKitOutputDir in the post-build event, too, like - we already do for CoreFoundation, CFNetwork, etc. - -2010-07-12 Mario Sanchez Prada - - Reviewed by Xan Lopez. - - Ensure DRT loads GAIL (Gtk+ module), for a11y tests - https://bugs.webkit.org/show_bug.cgi?id=38648 - - Add the GTK_MODULES envvar (set to "gail") to the clean - environment when running DRT for the Gtk+ port - - * Scripts/old-run-webkit-tests: - -2010-07-09 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=13075 - XMLHttpRequest with failed authentication should set status to 401 - - https://bugs.webkit.org/show_bug.cgi?id=6871 - 401 error page is never shown - - * DumpRenderTree/mac/ResourceLoadDelegate.mm: - (-[ResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): - * DumpRenderTree/win/ResourceLoadDelegate.cpp: - (ResourceLoadDelegate::didReceiveAuthenticationChallenge): - Do respond even if handlesAuthenticationChallenges() is false. Pretend that the user pressed - the Cancel button. - -2010-07-12 Andreas Kling - - Reviewed by Tor Arne Vestbø. - - [Qt] Add location bar (Ctrl+L) shortcut in QtTestBrowser - https://bugs.webkit.org/show_bug.cgi?id=42082 - - * QtTestBrowser/main.cpp: - (LauncherWindow::createChrome): - * QtTestBrowser/mainwindow.cpp: - (MainWindow::openLocation): - * QtTestBrowser/mainwindow.h: - -2010-07-12 Adam Roben - - Make the Python autoinstaller not use a dead SourceForge server - - Fixes webkit-patch is broken due to - offline SourceForge server - - Reviewed by Anders Carlsson. - - * Scripts/webkitpy/thirdparty/__init__.py: Use - surfnet.dl.sourceforge.net instead of hivelocity.dl.sourceforge.net, - which seems to be down. - -2010-07-12 Adam Roben - - Make run-webkit-tests print how many tests timed out when exiting - early - - The number of timed-out tests is taken into account when deciding - whether to exit early. Leaving it out of the output just makes the - script look buggy (because it might say something like "Exiting early - after 0 crashes."). - - Fixes run-webkit-tests prints confusing - messages when exiting early due to crashes and time-outs - - Reviewed by Anders Carlsson. - - * Scripts/old-run-webkit-tests: - (stopRunningTestsEarlyIfNeeded): When stopping, print the number of - timed-out tests, too. - -2010-07-11 Maciej Stachowiak - - Reviewed by Dan Bernstein. - - Implement animation-related methods for WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=42053 - - Implemented numberOfActiveAnimatiosn and pauseAnimationAtTimeOnElementWithId. Many - animation tests were hanging otherwise. - - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::numberOfActiveAnimations): - (WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId): - (WTR::numberOfActiveAnimationsCallback): - (WTR::pauseAnimationAtTimeOnElementWithIdCallback): - (WTR::LayoutTestController::staticFunctions): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - -2010-07-11 Daniel Bates - - Reviewed by David Kilzer. - - Enable executable support for svn-apply and svn-unapply - https://bugs.webkit.org/show_bug.cgi?id=39409 - - Connect up the Git and SVN executable bit support in parseDiff() so that - executable bit changes are propagated via the returned diff hash to the - patch function in svn-apply and svn-unapply. - - * Scripts/VCSUtils.pm: - - Modified parseDiff() to call parseSvnDiffProperties when - it finds the start of an SVN property change diff. - - Removed FIXME comment above parseSvnDiffProperties() since - it is now being used by parseDiff(). - - Export method scmToggleExecutableBit() now that we added the - executableBitDelta hash key. (This should have been exported - when we added this function in Bug #38423 ). - * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: - - Updated results for: - "rename (with executable bit change)" - - Test value of executableBitDelta (now that we have support). - "SVN: binary file (isBinary true)" - - Remove the property change diff from svnConvertedText. We plan - to remove svnConvertedText in the future. So, we decided - against adding such support to any new code, such as the - property parsing routines. Therefore, we do not keep SVN - converted text for property change diffs. - - Added unit tests: - "SVN: file change diff with property change diff" - "SVN: file change diff, followed by property change diff on different file" - "SVN: property diff, followed by file change diff" - "SVN: copied file with property change" - "SVN: two consecutive property diffs" - "SVN: binary file with executable bit change" - "SVN: binary file followed by property change on different file" - "SVN: binary file followed by file change on different file" - "SVN: file change diff with property change, followed by property change diff" - "SVN: file change diff with property change, followed by file change diff" - -2010-07-11 Maciej Stachowiak - - Reviewed by Dan Bernstein. - - Implement waitUntilDone and notifyDone for WebKitTestRunner - https://bugs.webkit.org/show_bug.cgi?id=42049 - - With this fix, most of the DOM tests pass. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::didCreatePage): Track the main page. Not - a great way to do it in the future case where we may get multiple - pages - we really need a way to send it over from the ui process. - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - (WTR::InjectedBundle::page): A way to get the main page. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): Initialize m_isLoading to false. - (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): Track that we - are loading. - (WTR::InjectedBundlePage::dump): Factor into a method so this can be - called by the layout test controller. Also, cancel any pending watchdogs. - (WTR::InjectedBundlePage::didFinishLoadForFrame): Note that we are done loading. - (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): Ditto. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - (WTR::InjectedBundlePage::isLoading): A way to track if we are loading. - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: - (WTR::LayoutTestController::LayoutTestController): Initialize m_waitToDump - to false. - (WTR::LayoutTestController::invalidateWaitToDumpWatchdog): Invalidate - the watchdog. - (WTR::waitUntilDoneWatchdogFired): Static helper for the watchdog timer. - (WTR::LayoutTestController::setWaitToDump): Set the flag. - (WTR::LayoutTestController::waitToDumpWatchdogTimerFired): Handle the case - where waitUntilDone times out. - (WTR::LayoutTestController::notifyDone): Dump, if loading is done. - (WTR::waitUntilDoneCallback): JS glue for waitUntilDone. - (WTR::notifyDoneCallback): JS glue for notifyDone. - (WTR::LayoutTestController::staticFunctions): Add waitUntilDone and notifyDone - to the layoutController. - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: - (WTR::LayoutTestController::waitToDump): Inline method to get the wait state. - -2010-07-09 Brian Weinstein - - Rubber-stamped by Dan Bernstein. - - Windows testers running Windows 7 were hanging during test_kill_process. Changing the - number of attempts from 3 to 10 fixes the problem on the new bots (and doesn't seem to - slow down the tests). - - * Scripts/webkitpy/common/system/executive.py: - -2010-07-09 Luiz Agostini - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Mac build fix - https://bugs.webkit.org/show_bug.cgi?id=41967 - - Adding file PluginObjectMac.mm and frameworks Cocoa and QuartzCore. - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - -2010-07-09 Diego Gonzalez - - Reviewed by Antonio Gomes. - - [Qt] [WebKit2] Add navigation actions to MiniBrowser toolbar - https://bugs.webkit.org/show_bug.cgi?id=41966 - - * MiniBrowser/qt/BrowserWindow.cpp: - (BrowserWindow::BrowserWindow): - -2010-07-09 Leon Clarke - - Reviewed by Adam Barth. - - add support for link prefetching - https://bugs.webkit.org/show_bug.cgi?id=3652 - - * Scripts/build-webkit: - -2010-07-09 Ojan Vafai - - Reviewed by Adam Barth. - - r63004 broke some python tests - https://bugs.webkit.org/show_bug.cgi?id=42007 - - AbstractStep now checks options.no_squash and options.squash, so - they needed to have real values. Mock would return an object for those, - which would then act as if the values were True. - - * Scripts/webkitpy/tool/commands/commandtest.py: - * Scripts/webkitpy/tool/commands/download_unittest.py: - * Scripts/webkitpy/tool/commands/stepsequence.py: - * Scripts/webkitpy/tool/commands/upload_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py: - * Scripts/webkitpy/tool/steps/preparechangelog_unittest.py: - * Scripts/webkitpy/tool/steps/steps_unittest.py: - * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py: - * Scripts/webkitpy/tool/steps/validatereviewer_unittest.py: - -2010-07-09 Ojan Vafai - - Reviewed by Adam Barth. - - --squash should go away and become the default - https://bugs.webkit.org/show_bug.cgi?id=39624 - - If there are local commits and working copy changes, then prompt the user - whether to continue. Setting git config webkit-patch.commit_should_always_squash - true bypasses the prompt. - - --git-commit=HEAD.. operates on working copy changes only. - --git-commit=committish operates on a range of commits as a single commit. - e.g. --git-commit=HEAD only operates on the HEAD commit. - --git-commit=HEAD~4..HEAD~2 will operate on HEAD~3 and HEAD~2 as a single commit. - - --no-squash and --squash are left in with descriptive error messages if used. - - * Scripts/check-webkit-style: - * Scripts/webkitpy/common/checkout/api.py: - * Scripts/webkitpy/common/checkout/api_unittest.py: - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - * Scripts/webkitpy/common/net/rietveld.py: - * Scripts/webkitpy/common/system/user.py: - * Scripts/webkitpy/style/optparser.py: - * Scripts/webkitpy/style_references.py: - * Scripts/webkitpy/tool/commands/download.py: - * Scripts/webkitpy/tool/commands/upload.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/abstractstep.py: - * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py: - * Scripts/webkitpy/tool/steps/checkstyle.py: - * Scripts/webkitpy/tool/steps/checkstyle_unittest.py: Removed. - * Scripts/webkitpy/tool/steps/commit.py: - * Scripts/webkitpy/tool/steps/options.py: - * Scripts/webkitpy/tool/steps/preparechangelog.py: - * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py: - * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py: - * Scripts/webkitpy/tool/steps/validatereviewer.py: - -2010-07-09 Mark Rowe - - Add two new Windows test build slaves. - - * BuildSlaveSupport/build.webkit.org-config/config.json: - -2010-07-09 Albert J. Wong - - Reviewed by David Levin. - - rebaseline_chromium_webkit_tests missing --use_drt option on linux - https://bugs.webkit.org/show_bug.cgi?id=41985 - - This adds in the --use_drt option for rebaseline_chromium_webkit_tests - so that it works on linux. This is essentially a "compile-fix" for the - script. - - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - -2010-07-09 Nico Weber - - Unreviewed. Adding myself as committer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-09 David Kilzer - - Revert " commit-log-editor: wrong ChangeLog read when invoked from subdir with git" - - This reverts commit r62692. - - * Scripts/commit-log-editor: - -2010-07-08 Kinuko Yasuda - - Reviewed by Ojan Vafai. - - cleanup json_results_generator dependencies so that non-layout-tests can also use it safely - https://bugs.webkit.org/show_bug.cgi?id=38693 - - Introduced a new base class JSONResultsGeneratorBase that doesn't - have any dependency on layout_tests packages. - Turned JSONResultsGenerator into a wrapper class of the base class - so that the old code can work with it during the cleanup. - - Added json_results_generator_unittest.py. - - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: Added - -2010-07-09 Abhishek Arya - - Unreviewed. - - Marking myself as a committer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-09 Kenneth Rohde Christiansen - - Reviewed by Antti Koivisto. - - Implement MiniBrowser for Qt. - https://bugs.webkit.org/show_bug.cgi?id=40233 - - * MiniBrowser/qt/BrowserWindow.cpp: Added. - (createNewPage): - (BrowserView::BrowserView): - (BrowserView::resizeEvent): - (BrowserView::load): - (BrowserView::view): - (BrowserWindow::BrowserWindow): - (BrowserWindow::load): - (BrowserWindow::changeLocation): - (BrowserWindow::~BrowserWindow): - * MiniBrowser/qt/BrowserWindow.h: Added. - (BrowserView::~BrowserView): - * MiniBrowser/qt/MiniBrowser.pro: Added. - * MiniBrowser/qt/main.cpp: Added. - (main): - -2010-07-09 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - Introduce the Qt autotest launcher. - - Qt autotests should be executed more frequently, ideally by the Qt - build bot. This is the first step to provide the tests more accessible. - - [Qt] It should be easier to run all Qt's autotests. - https://bugs.webkit.org/show_bug.cgi?id=31625 - - * Scripts/run-qtwebkit-tests: Added. - -2010-07-09 Adam Barth - - Reviewed by Eric Seidel. - - commit-queue should merge to TOT when checkout needs update - https://bugs.webkit.org/show_bug.cgi?id=41944 - - There are a bunch of different designs that are possible here. This - one merges to top of tree by cleaning out the working copy and - re-applying the patch. Once you decide to merge that way, you need to - decide who's going to retry. In this patch, we retry in the child - process instead of plumbing the failure reason to the master process. - - This patch is difficult to test end-to-end, but hopefully it will work. - :) - - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/stepsequence.py: - * Scripts/webkitpy/tool/multicommandtool.py: - * Scripts/webkitpy/tool/multicommandtool_unittest.py: - -2010-07-09 Dumitru Daniliuc - - Reviewed by Darin Adler. - - Add a script to check for unnecessary includes in header files. - https://bugs.webkit.org/show_bug.cgi?id=41894 - - * Scripts/check-header-includes: Added. - -2010-07-09 Adam Barth - - Reviewed by Eric Seidel. - - Add --html5-treebuilder option to run-webkit-tests - https://bugs.webkit.org/show_bug.cgi?id=41922 - - We're down to one or two regressions in the HTML5lib test suite. It's - getting to be time to look at fixing LayoutTests. - - * Scripts/old-run-webkit-tests: - -2010-07-08 Simon Fraser - - Fix Tiger plugin test failures; the #ifdefs were incorrect, resulting - in the drawing model never getting set on Tiger. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - -2010-07-08 Aaron Boodman - - Reviewed by Timothy Hatcher. - - Add the ability for user scripts and user styles to affect just the top frame. - - https://bugs.webkit.org/show_bug.cgi?id=41529 - - * DumpRenderTree/LayoutTestController.h: Added new allFrames param. - * DumpRenderTree/LayoutTestController.cpp: Ditto. - (addUserScriptCallback): - (addUserStyleSheetCallback): - * DumpRenderTree/chromium/LayoutTestController.cpp: Ditto. - (LayoutTestController::addUserScript): - (LayoutTestController::addUserStyleSheet): - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Ditto. - (LayoutTestController::addUserScript): - (LayoutTestController::addUserStyleSheet): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: Ditto. - (LayoutTestController::addUserScript): - (LayoutTestController::addUserStyleSheet): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: Ditto. - (LayoutTestController::addUserScript): - (LayoutTestController::addUserStyleSheet): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: Ditto. - (LayoutTestController::addUserScript): - (LayoutTestController::addUserStyleSheet): - -2010-07-08 Adele Peterson - - Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler. - - Test infrastructure for https://bugs.webkit.org/show_bug.cgi?id=41721 - Missing plug-in indicator should have a pressed state - - Log when the missing plugin button is pressed. - - * DumpRenderTree/mac/UIDelegate.mm: - (-[UIDelegate webView:didPressMissingPluginButton:]): - * DumpRenderTree/win/UIDelegate.cpp: - (UIDelegate::QueryInterface): - (UIDelegate::createWebViewWithRequest): - (UIDelegate::drawBackground): - (UIDelegate::decidePolicyForGeolocationRequest): - (UIDelegate::didPressMissingPluginButton): - * DumpRenderTree/win/UIDelegate.h: - -2010-07-08 Simon Fraser - - Fix the Tiger build. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - -2010-07-08 Simon Fraser - - Fix windows build. - - #ifdef code for Mac. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - -2010-07-08 Simon Fraser - - Reviewed by Anders Carlsson. - - Allow the TestPlugin to use Core Animation rendering for testing - https://bugs.webkit.org/show_bug.cgi?id=41872 - - Add the ability for the TestPlugin to use the CoreAnimation rendering model - when available, based on the "drawingmodel" attribute of the embed tag: - drawingmodel="coreanimation" - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Add PluginObjectMac.mm - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Add some macros so we can detect - when building on Tiger. Add a void* coreAnimationLayer member. - - * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm: Added. - (createCoreAnimationLayer): Obj-C method to create the CALayer. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): Look for the drawingmodel attribute to decide which drawing - model to use. - (NPP_Destroy): Release the CALayer if we have one. - (NPP_GetValue): Return the retained CALayer. - -2010-07-08 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] Support pixel tests - https://bugs.webkit.org/show_bug.cgi?id=31518 - - Convert this file from CRLF to NL line endings. It will soon - be used on more than just the WinCairo platform. - - * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: - (writeFunction): - (printPNG): - (computeMD5HashStringForBitmapContext): - (dumpBitmap): - -2010-07-08 Steve Falkenburg - - Reviewed by Darin Adler. - - Enable Data Execution Prevention for our test harnesses on Windows - https://bugs.webkit.org/show_bug.cgi?id=41882 - - * DumpRenderTree/win/DumpRenderTree.vcproj: - * DumpRenderTree/win/ImageDiff.vcproj: - * WebKitAPITest/WebKitAPITest.vcproj: - * WebKitTestRunner/win/WebKitTestRunner.vcproj: - -2010-07-07 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Add DRT support for pageProperty etc. - - https://bugs.webkit.org/show_bug.cgi?id=41584 - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::isPageBoxVisible): - (LayoutTestController::pageSizeAndMarginsInPixels): - (LayoutTestController::pageProperty): - (LayoutTestController::addUserStyleSheet): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-07-08 Martin Robinson - - Reviewed by Xan Lopez. - - Remove a warnings from the ImageDiff build by using the proper - printf format string for the gsize data type. - - * DumpRenderTree/gtk/ImageDiff.cpp: - (printImage): Use the proper printf format string for the gsize data type. - -2010-07-08 Alice Liu - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=41653 - Add new WebKitTestRunner project for Windows - - * WebKitTestRunner/WebKitTestRunnerPrefix.h: - Similar to how it's done in DumpRenderTree, define max and min early - on so that they don't get replaced by a macro requiring 2 arguments. - - * WebKitTestRunner/win: Added. - * WebKitTestRunner/win/WebKitTestRunner.sln: Added. - * WebKitTestRunner/win/WebKitTestRunner.vcproj: Added. - * WebKitTestRunner/win/main.cpp: Added. - (main): Implemented - - Added these files with stubbed out functions: - * WebKitTestRunner/win/PlatformWebViewWin.cpp: Added. - (WTR::PlatformWebView::PlatformWebView): - (WTR::PlatformWebView::~PlatformWebView): - (WTR::PlatformWebView::page): - * WebKitTestRunner/win/TestControllerWin.cpp: Added. - (WTR::TestController::initializeInjectedBundlePath): - * WebKitTestRunner/win/TestInvocationWin.cpp: Added. - (WTR::TestInvocation::runUntil): - -2010-07-07 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] Implement ImageDiff and add it to the build system - https://bugs.webkit.org/show_bug.cgi?id=41779 - - Add the initial implementation of the ImageDiff tool for the GTK+ - port. This is an essential tool for doing pixel tests. The implementation - is based on the Mac and Chromium ports. - - * DumpRenderTree/gtk/ImageDiff.cpp: Added. - (readPixbufFromStdin): Added. - (differenceImageFromDifferenceBuffer): Ditto. - (calculateDifference): Ditto. - (printImage): Ditto. - (printImageDifferences): Ditto. - (main): Ditto. - * GNUmakefile.am: Add ImageDiff to the WebKitTools build scripts. - -2010-07-08 Jay Civelli - - Unreviewed. Adding myself as a committer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-08 Adam Roben - - Make Windows stop running tests from platform/mac - - r62742 made a change (at my suggestion!) that caused us to start - looking for tests in platform/mac, rather than just looking for - expected results in platform/mac. This patch just undoes that part of - r62742. - - Fixes REGRESSION (r62742): Windows runs - tests from platform/mac, but shouldn't - - Reviewed by Antti Koivisto and Anders Carlsson. - - * Scripts/old-run-webkit-tests: - (top level): Removed "mac-snowleopard" and "mac" from @winPlatforms, - so we won't look in those directories for tests to run. - (expectedDirectoryForTest): Added back code from pre-r62742 to look in - platform/mac-snowleopard and platform/mac for expected results. - -2010-07-08 Antonio Gomes - - Unreviewed. Adding myself as a reviewer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-08 Tor Arne Vestbø - - Update my e-mail in committers.py - - * Scripts/webkitpy/common/config/committers.py: - -2010-07-07 Daniel Bates - - Reviewed by Dumitru Daniliuc. - - VCSUtils.pm complains about uninitialized value $newLine - https://bugs.webkit.org/show_bug.cgi?id=41333 - - Fixes an issue where VCSUtils::fixChangeLogPatch() may read off the end of - an array when fixing a change log entry that overlaps with an earlier - entry. In particular, when a patch contains a change log entry inserted - earlier in the change log file, but after an entry with the same author - and date. - - * Scripts/VCSUtils.pm: - - Added for-loop constraint to fixChangeLogPatch() so that it does not - read off the end of the @overlappingLines array. - * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl: Added unit test. - -2010-07-07 Anders Carlsson - - Comment out a part of TestNetscapePlugin that caused tests to fail on Tiger and Leopard. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - -2010-07-07 Kent Tamura - - Reviewed by Adam Barth. - - [DRT/Chromium] Support for indeterminate checkbox - https://bugs.webkit.org/show_bug.cgi?id=41747 - - Import http://src.chromium.org/viewvc/chrome?view=rev&revision=51499 - - * DumpRenderTree/chromium/WebThemeControlDRT.cpp: - (WebThemeControlDRT::draw): - * DumpRenderTree/chromium/WebThemeControlDRT.h: - (WebThemeControlDRT::): - * DumpRenderTree/chromium/WebThemeEngineDRT.cpp: - (WebThemeEngineDRT::paintButton): - -2010-07-07 Sam Weinig - - Reviewed by Mark Rowe. - - Clean up MiniBrowser Xcode project. - - - Use xcconfig files. - - Rename plists to canonical Info.plist - - Remove localizations. - - * MiniBrowser/Configurations: Added. - * MiniBrowser/Configurations/Base.xcconfig: Added. - * MiniBrowser/Configurations/DebugRelease.xcconfig: Added. - * MiniBrowser/Configurations/MiniBrowser.xcconfig: Added. - * MiniBrowser/Configurations/WebBundle.xcconfig: Added. - * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: - * MiniBrowser/WebBundle-Info.plist: Removed. - * MiniBrowser/mac/BrowserStatisticsWindowController.m: - (-[BrowserStatisticsWindowController initWithThreadedWKContextRef:processWKContextRef:]): - * MiniBrowser/mac/BrowserWindow.xib: Added. - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController initWithPageNamespace:]): - * MiniBrowser/mac/English.lproj: Removed. - * MiniBrowser/mac/English.lproj/BrowserWindow.xib: Removed. - * MiniBrowser/mac/English.lproj/InfoPlist.strings: Removed. - * MiniBrowser/mac/English.lproj/MainMenu.xib: Removed. - * MiniBrowser/mac/Info.plist: Copied from MiniBrowser/mac/MiniBrowser-Info.plist. - * MiniBrowser/mac/MainMenu.xib: Added. - * MiniBrowser/mac/MiniBrowser-Info.plist: Removed. - * MiniBrowser/mac/WebBundle/Info.plist: Copied from MiniBrowser/WebBundle-Info.plist. - -2010-07-07 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Fix two regressions - https://bugs.webkit.org/show_bug.cgi?id=41745 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::paintInvalidatedRegion): - Repaint three times to fix svg/W3C-SVG-1.1/struct-use-01-t.svg - and svg/custom/use-on-g-containing-foreignObject-and-image.svg - though test_shell does it twice. Probably DRT needs it because - DRT delays painting as possible. - -2010-07-07 Anders Carlsson - - Try to fix build. - - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_destroy_stream): - -2010-07-07 Anders Carlsson - - Try to fix the GTK+ and Qt test failures by merging the newly added code from TestNetscapePlugin/main.cpp - - * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: - (webkit_test_plugin_new_stream): - (webkit_test_plugin_destroy_stream): - (webkit_test_plugin_write_ready): - (webkit_test_plugin_write): - -2010-07-07 Sam Weinig - - Reviewed by Mark Rowe. - - Don't hard code the Mac OS X 10.6 SDK for MiniBrowser. - - * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: - -2010-07-07 Anders Carlsson - - Use the correct XP_MACOSX define instead of XP_MAC. This was causing test failures on some platforms. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_New): - (NPP_HandleEvent): - -2010-07-07 Brian Weinstein - - Reviewed by Adam Roben. - - Need to have a way to specify different results for Windows XP and 7 - https://bugs.webkit.org/show_bug.cgi?id=41776 - - Add the ability to have platform/win-xp, platform/win-vista, and platform/win-7 - subdirectories, so we can have different results for tests on Windows XP, Windows - Vista, and Windows 7. - - Windows XP will try the order: win-xp, win-vista, win-7, win, mac-snowleopard, mac. - Windows Vista will try the order: win-vista, win-7, win, mac-snowleopard, mac. - Windows 7 will try the order: win-7, win, mac-snowleopard, mac. - - This matches the behavior of the mac. - - * Scripts/old-run-webkit-tests: Add multiple platforms for Windows, and if we are on XP - or Vista, try looking in other win-* subdirectories before win. - * Scripts/webkitdirs.pm: Add some helper functions to determine what version of Windows - we are running. - -2010-07-07 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Remove ASSERT_NOT_REACHED in some functions - https://bugs.webkit.org/show_bug.cgi?id=41753 - - The original code of the following functions in - test_shell_devtools_client.cc have NOTIMPLEMENTED(), not - ASSERT_NOT_REACHED(). The program shouldn't stop at these - functions. - - * DumpRenderTree/chromium/DRTDevToolsClient.cpp: - (DRTDevToolsClient::activateWindow): - (DRTDevToolsClient::closeWindow): - (DRTDevToolsClient::dockWindow): - (DRTDevToolsClient::undockWindow): - -2010-07-07 Anders Carlsson - - Reviewed by Sam Weinig. - - Test that we call NPP_DestroyStream if a plug-in returns -1 from its NPP_Write function - https://bugs.webkit.org/show_bug.cgi?id=41821 - - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: - (pluginGetProperty): - (pluginSetProperty): - (pluginAllocate): - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: - Add and initialize the returnNegativeOneFromWrite property. - - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (NPP_NewStream): - Set the stream type to NP_NORMAL so we'll get write callbacks. - - (NPP_DestroyStream): - Treat the onstreamdestroy attribute as a function name and not a string. - - (NPP_WriteReady): - Have this return a nonzero value. - - (NPP_Write): - If returnNegativeOneFromWrite is true return -1. - -2010-07-07 Kevin Ollivier - - [wx] Build fix for machines with both MSVC 2005 and 2008 installed. Ensures the - latest version is selected by default, and allows the version to be specified. - - * wx/build/settings.py: - -2010-07-07 Chris Fleizach - - Reviewed by Darin Adler. - - AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area - https://bugs.webkit.org/show_bug.cgi?id=41810 - - * DumpRenderTree/mac/AccessibilityUIElementMac.mm: - (AccessibilityUIElement::selectedTextRange): - -2010-07-07 Martin Robinson - - Unreviewed. - - Build fix after r62700. - - * GNUmakefile.am: Update the source list to reflect the new TestNetscapePlugIn - source file locations. - -2010-07-07 Ojan Vafai - - Reviewed by David Levin. - - change --exit-after-n-crashes to --exit-after-n-crashes-or-timeouts - https://bugs.webkit.org/show_bug.cgi?id=41814 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - * Scripts/old-run-webkit-tests: - -2010-07-07 Ojan Vafai - - Reviewed by David Levin. - - add --exit-after-n-crashes to run-webkit-tests - https://bugs.webkit.org/show_bug.cgi?id=41811 - - Change the bots at build.webkit.org to use --exit-after-n-crashes - instead of --exit-after-n-failures since we want to be able to have - more than 20 failures on those bots, but more than 20 crashes means - something should be rolled out. - - * Scripts/old-run-webkit-tests: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - -2010-07-07 Brian Weinstein - - Fix the Windows build by removing win/TestNetscapePlugin/main.cpp from the - TestNetscapePlugin project, because this was removed from the tree. - - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - -2010-07-07 Anders Carlsson - - Reviewed by Simon Fraser. - - Unify Mac and Windows TestNetscapePlugin main.cpp files - https://bugs.webkit.org/show_bug.cgi?id=41798 - - * DumpRenderTree/DumpRenderTree.sln: - * DumpRenderTree/TestNetscapePlugIn/main.cpp: - (strcasecmp): - (NP_Initialize): - (NP_GetEntryPoints): - (NP_Shutdown): - (NPP_New): - (NPP_Destroy): - (NPP_HandleEvent): - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: - * DumpRenderTree/win/TestNetscapePlugin/main.cpp: Removed. - -2010-07-07 Kevin Ollivier - - [wx] Build fix. pageProperty needs to return a value. - - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::pageProperty): - -2010-07-07 David Kilzer - - commit-log-editor: wrong ChangeLog read when invoked from subdir with git - - Reviewed by Anders Carlsson. - - For both svn and git, commit-log-editor is invoked from the root - of the working directory. Unlike svn, git returns a list of - changed files that are relative to the directory where the - command was invoked. This caused the ChangeLog file in the root - directory to be read instead of the ChangeLog in the current - directory. - - The fix is to use $ENV{PWD} as the base directory when fixing - the path to the ChangeLog files. With svn, this has no net - effect since $ENV{PWD} is the root of the working directory and - the ChangeLog paths are already relative to that directory. - With git, $ENV{PWD} is the directory that the commit was invoked - from, which fixes the ChangeLog paths so that the correct files - are read when creating the commit log entry. - - Note that the call to makeFilePathRelative() was supposed to - address this issue, but it doesn't because (a) it does nothing - with svn working directories by design, and (b) it does nothing - with git working directories because it's invoked when the - current directory is the root of the working directory, thus - giving no relative path. - - * Scripts/commit-log-editor: Removed call to - makeFilePathRelative() since since it does nothing. Moved code - to fix up $changeLog path so that it's fixed before trying to - open the file, and use $ENV{PWD} as the base path. Also use - canonicalizePath() to clean up paths with "../" in them. - -2010-07-07 Anders Carlsson - - Another attempt at fixing the Qt build. - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - -2010-07-07 Anders Carlsson - - Try to fix Qt build. - - * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - -2010-07-07 Anders Carlsson - - Reviewed by Simon Fraser. - - Rename TestNetscapePlugin.subproj and move platform specific files to subdirectories - https://bugs.webkit.org/show_bug.cgi?id=41781 - - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp. - * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h. - * DumpRenderTree/TestNetscapePlugIn/TestObject.cpp: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp. - * DumpRenderTree/TestNetscapePlugIn/TestObject.h: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.h. - * DumpRenderTree/TestNetscapePlugIn/mac/Info.plist: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/Info.plist. - * DumpRenderTree/TestNetscapePlugIn/main.cpp: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp. - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.def. - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.rc. - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: Added. - * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin_debug.def: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin_debug.def. - * DumpRenderTree/TestNetscapePlugIn/win/resource.h: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/resource.h. - * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj: Removed. - -2010-07-07 Andras Becsi - - Unreviewed trivial fix. - - Remove DUMPRENDERTREE_TEMP environment variable from NRWT - which was checked in accidentally in r62635. - - * Scripts/webkitpy/layout_tests/port/webkit.py: - -2010-07-07 Gabor Rapcsanyi - - Reviewed by Eric Seidel. - - Pass port specific environment to server process. - https://bugs.webkit.org/show_bug.cgi?id=41593 - - * Scripts/webkitpy/layout_tests/port/qt.py: - * Scripts/webkitpy/layout_tests/port/webkit.py: - -2010-07-06 Kent Tamura - - Reviewed by Shinichiro Hamaji. - - Fix a wrong dup detection of rebaseline-chromium-webkit-tests - https://bugs.webkit.org/show_bug.cgi?id=41644 - - rebaseline-chromium-webkit-tests used ImageDiff with 0.1% - tolerance. We don't need tolerance for rebaseline. - - * Scripts/webkitpy/layout_tests/port/base.py: - Add optional tolerance parameter to diff_image(). - * Scripts/webkitpy/layout_tests/port/test.py: - Add optional tolerance parameter to diff_image(). - * Scripts/webkitpy/layout_tests/port/webkit.py: - Add optional tolerance parameter to diff_image(), and pass it to ImageDiff command. - * Scripts/webkitpy/layout_tests/test_types/image_diff.py: - diff_files() always calls diff_image() with tolerance=0. - diff_files() is used only by rebaseline-chromium-webkit-tests. - -2010-07-06 Sam Weinig - - Fix MiniBrowser build. - - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - -2010-07-06 Sam Weinig - - Reviewed by Anders Carlsson. - - Add support for dumping the contents of messages to the console to WebKitTestRunner - - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::_addMessageToConsole): - (WTR::InjectedBundlePage::addMessageToConsole): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: - -2010-07-06 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=41708 - Add dumpAsText support for WebKitTestRunner - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::InjectedBundle): - (WTR::InjectedBundle::reset): Reset the LayoutTestController for each test. - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::InjectedBundlePage::didFinishLoadForFrame): Use the new WKBundleFrameCopyInnerText - API to dump the main frames text. - -2010-07-06 Darin Adler - - Fix Chromium build. - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::didCreateDataSource): Call leakPtr instead of release. - (WebViewHost::didNavigateWithinPage): Ditto. - (WebViewHost::updateURL): Ditto. - -2010-07-06 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] build-webkit should not run autogen.sh unconditionally - https://bugs.webkit.org/show_bug.cgi?id=41704 - - * Scripts/webkitdirs.pm: Only run autogen.sh during a build if GNUmakefile - doesn't exist. Autotools should re-run autogen.sh when necessary. Also do - some very minor cleanup. - -2010-07-06 Darin Adler - - Try to fix Chromium build. - - * DumpRenderTree/chromium/WebViewHost.cpp: Added include of PassOwnPtr.h. - -2010-07-06 Darin Adler - - Fix build. - - * WebKitAPITest/TestsController.cpp: - (WebKitAPITest::TestsController::addTest): Use leakPtr instead of release. - -2010-07-06 Roland Steiner - - Reviewed by Kent Tamura. - - Bug 40558 - [DRT/Chromium] Upstream TestShellDevTools for Chromium DRT - https://bugs.webkit.org/show_bug.cgi?id=40558 - - Upstream DevTools for Chromium DRT. - (original Chromium files rev. 51287) - - * DumpRenderTree/DumpRenderTree.gypi: - * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: Added. - (DRTDevToolsAgent::DRTDevToolsAgent): - (DRTDevToolsAgent::setWebView): - (DRTDevToolsAgent::sendMessageToFrontend): - (DRTDevToolsAgent::forceRepaint): - (DRTDevToolsAgent::runtimeFeatureStateChanged): - (DRTDevToolsAgent::injectedScriptSource): - (DRTDevToolsAgent::injectedScriptDispatcherSource): - (DRTDevToolsAgent::debuggerScriptSource): - (DRTDevToolsAgent::asyncCall): - (DRTDevToolsAgent::call): - (DRTDevToolsAgent::webDevToolsAgent): - (DRTDevToolsAgent::attach): - (DRTDevToolsAgent::detach): - (DRTDevToolsAgent::setTimelineProfilingEnabled): - (DRTDevToolsAgent::evaluateInWebInspector): - (DRTDevToolsAgent::dispatchMessageLoop): - * DumpRenderTree/chromium/DRTDevToolsAgent.h: Added. - (DRTDevToolsAgent::~DRTDevToolsAgent): - (DRTDevToolsAgent::hostIdentifier): - * DumpRenderTree/chromium/DRTDevToolsCallArgs.cpp: - * DumpRenderTree/chromium/DRTDevToolsCallArgs.h: - (DRTDevToolsCallArgs::DRTDevToolsCallArgs): - (DRTDevToolsCallArgs::~DRTDevToolsCallArgs): - (DRTDevToolsCallArgs::callsCount): - * DumpRenderTree/chromium/DRTDevToolsClient.cpp: Added. - (DRTDevToolsClient::DRTDevToolsClient): - (DRTDevToolsClient::~DRTDevToolsClient): - (DRTDevToolsClient::sendMessageToAgent): - (DRTDevToolsClient::sendDebuggerCommandToAgent): - (DRTDevToolsClient::activateWindow): - (DRTDevToolsClient::closeWindow): - (DRTDevToolsClient::dockWindow): - (DRTDevToolsClient::undockWindow): - (DRTDevToolsClient::asyncCall): - (DRTDevToolsClient::call): - (DRTDevToolsClient::allMessagesProcessed): - * DumpRenderTree/chromium/DRTDevToolsClient.h: - * DumpRenderTree/chromium/EventSender.cpp: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::closeWebInspector): - (LayoutTestController::setTimelineProfilingEnabled): - (LayoutTestController::evaluateInWebInspector): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): - (TestShell::~TestShell): - (TestShell::createDRTDevToolsClient): - (TestShell::showDevTools): - (TestShell::closeDevTools): - (TestShell::runFileTest): - (TestShell::createNewWindow): - * DumpRenderTree/chromium/TestShell.h: - (TestShell::drtDevToolsAgent): - (TestShell::drtDevToolsClient): - * DumpRenderTree/chromium/config.h: - -2010-07-06 Gabor Rapcsanyi - - Reviewed by Eric Seidel. - - Don't pass image hash to DRT when pixel tests are disabled. - https://bugs.webkit.org/show_bug.cgi?id=41597 - - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - -2010-07-05 Csaba Osztrogonác - - Reviewed by Eric Seidel. - - REGRESSION(r60652): WebKitTools/Scripts/ensure-valid-python should cleanup temporary directory - https://bugs.webkit.org/show_bug.cgi?id=41612 - - * Scripts/ensure-valid-python: File::Temp::tempdir call fixed. - -2010-07-05 Adam Barth - - Reviewed by Eric Seidel. - - We should be able to specify a bug to block for webkit-patch upload - https://bugs.webkit.org/show_bug.cgi?id=41648 - - This will be useful for working on the HTML5 parser. - - * Scripts/webkitpy/tool/steps/createbug.py: - * Scripts/webkitpy/tool/steps/options.py: - -2010-07-05 Martin Robinson - - Reviewed by Oliver Hunt. - - The style checker exempts gtk2drawing.h when it should exempt gtkdrawing.h - https://bugs.webkit.org/show_bug.cgi?id=41017 - - * Scripts/webkitpy/style/checker.py: Exempt gtkdrawing.h instead of gtk2drawing.h - * Scripts/webkitpy/style/checker_unittest.py: Update the unit test to reflect the change. - -2010-07-04 MORITA Hajime - - rebaseline-chromium-webkit-tests: UnicodeDecodeError - https://bugs.webkit.org/show_bug.cgi?id=41589 - - * run() method can result non-utf-8 bytes, that causes utf-8 - decoding fail. Fixed to disable decoding. - * Fixed Git.find_checkout_root() to make a test pass. - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - -2010-07-03 Patrick Gansterer - - Reviewed by Simon Hausmann. - - [Qt] Fix DumpRenderTree userStyleSheet handling. - https://bugs.webkit.org/show_bug.cgi?id=41570 - - DumpRenderTree did only set the userStyleSheet at - layoutTestController.setUserStyleSheetEnabled(). - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::setUserStyleSheetLocation): - (LayoutTestController::setUserStyleSheetEnabled): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-07-03 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] support dumpChildFrameScrollPositions - - https://bugs.webkit.org/show_bug.cgi?id=41088 - - Unskip: - - http/tests/navigation/anchor-subframeload.html - http/tests/navigation/relativeanchor-frames.html - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::dumpFrameScrollPosition): - (WebCore::DumpRenderTree::dump): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - (LayoutTestController::shouldDumpChildFrameScrollPositions): - (LayoutTestController::dumpChildFrameScrollPositions): - -2010-07-02 Sam Weinig - - Reviewed by Anders Carlsson. - - Rename new scripts so that they don't make autocompleting run-webkit-tests annoying. - - * Scripts/debug-test-runner: Copied from Scripts/debug-webkittestrunner. - * Scripts/debug-webkittestrunner: Removed. - * Scripts/run-test-runner: Copied from Scripts/run-webkittestrunner. - * Scripts/run-webkittestrunner: Removed. - -2010-07-02 Brian Weinstein - - Reviewed by Steve Falkenburg. - - Some http tests fail on Windows with Cygwin 1.7 - https://bugs.webkit.org/show_bug.cgi?id=41537 - - With Cygwin 1.7, the registry key at SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/ - doesn't exist anymore, because the mount points are stored in /etc/fstab. However, we - just need root mount point, which is defined in SOFTWARE\\Cygwin\\setup. - - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (resolveCygwinPath): Fall back to SOFTWARE\\Cygwin\\setup if - SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/ doesn't work. - -2010-06-23 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] Separate DerivedSources per-project - https://bugs.webkit.org/show_bug.cgi?id=41109 - - The JavaScriptCore cppflags used to include the top-level DerivedSources directory - allowing the tools to build as a side-effect. Now that the top-level directory - is no longer in the list of JavaScriptCore includes, include it explicitly. - - * GNUmakefile.am: - -2010-07-01 Tor Arne Vestbø - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Make context menus show up in the right place in QTestBrowser - - Context menus were shown at scene-relative coordinates for - QGraphicsWebView while QMenu expects them to be global. The - change to the QWidget case was to get rid of the mapToGlobal. - - * QtTestBrowser/webview.cpp: - -2010-07-01 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] dump frames in ascending alphabetical order of title - - https://bugs.webkit.org/show_bug.cgi?id=41261 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::dumpHistoryItem): - -2010-07-01 Martin Robinson - - Unreviewed. - - Fix the GTK+ build after r62278. - - * Scripts/webkitdirs.pm: If the make arguments have already been specified, - let them override the automatic CPU detection for autotools builds. - -2010-07-01 Martin Robinson - - Unreviewed. - - Fix the Windows build after r62278. - - * Scripts/num-cpus: Use FindBin to add the Scripts directory to the list of library directories. - -2010-07-01 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] build-webkit does not detect the number of CPUs - https://bugs.webkit.org/show_bug.cgi?id=41469 - - Pass the appropriate -j<#> flag to make when building autotools builds. - This causes make to spawn that many number of child processes for doing - parallel builds. - - * Scripts/num-cpus: Use the newly abstracted numberOfCPUs to return the number - of CPUs. This makes the script work across more platforms. - * Scripts/webkitdirs.pm: Create a numberOfCPUs/determineNumberOfCPUs to determine the - number of CPUs across several platforms. Use this new function to determine the appropriate - arguments to pass to make for doing parallel builds with autotools build files. - -2010-07-01 Simon Hausmann - - Rubber-stamped by Laszlo Gombos. - - [Qt][Symbian] Bumped up the maximum heap size to 96MB - - * QtTestBrowser/QtTestBrowser.pro: Removed explicit heap size declaration - and use the one from WebKit.pri instead. - -2010-07-01 Adam Barth - - Reviewed by Eric Seidel. - - Promote webkit-patch land-safely to main help - https://bugs.webkit.org/show_bug.cgi?id=41446 - - I've been using this command a bunch and recommending it to folks. We - should show it in main help as it's past the experimental phase. - - * Scripts/webkitpy/tool/commands/upload.py: - -2010-06-28 MORITA Hajime - - Reviewed by Shinichiro Hamaji. - - rebaseline-chromium-webkit-tests doesn't do diffs right with a Git checkout of WebKit - https://bugs.webkit.org/show_bug.cgi?id=38775 - - - Introduced SCM.show_head() and SCM.diff_for_file(). - - Replaced direct svn invocations with newly implement SCM methods. - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - -2010-06-30 Simon Fraser - - Reviewed by Sam Weinig. - - Allow MiniBrowser to open local files - https://bugs.webkit.org/show_bug.cgi?id=41104 - - Wire up the openDocument: message with an NSOpenPanel, so we can open - local files. - - Also change the xib so that the window remembers its size. - - * MiniBrowser/mac/AppDelegate.m: - (-[BrowserAppDelegate frontmostBrowserWindowController]): - (-[BrowserAppDelegate openDocument:]): - (-[BrowserAppDelegate openPanelDidEnd:returnCode:contextInfo:]): - * MiniBrowser/mac/English.lproj/BrowserWindow.xib: - -2010-06-30 Sam Weinig - - Rubber-stamped by Anders Carlsson. - - Add debug-webkittestrunner and cleanup related scripts. - - * Scripts/debug-webkittestrunner: Added. - * Scripts/run-webkittestrunner: - * Scripts/webkitdirs.pm: - -2010-06-30 Kevin Ollivier - - [wx] Build fix after recent changes to LayoutTestController. - - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::pageSizeAndMarginsInPixels): - -2010-06-29 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=41389 - Make WebKitTestRunner work with more than one test at a time. - - This converts WebKitTestRunner to a similar model as DumpRenderTree, - where there is a single WKView and each test is run it, rather than - the design I was using where each test got its own WKView. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::didRecieveMessage): - (WTR::InjectedBundle::reset): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - * WebKitTestRunner/TestController.cpp: - (WTR::TestController::initialize): - (WTR::TestController::runTest): - (WTR::TestController::_didRecieveMessageFromInjectedBundle): - (WTR::TestController::didRecieveMessageFromInjectedBundle): - * WebKitTestRunner/TestController.h: - (WTR::TestController::mainWebView): - (WTR::TestController::pageNamespace): - (WTR::TestController::context): - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::TestInvocation): - (WTR::TestInvocation::~TestInvocation): - (WTR::TestInvocation::invoke): - (WTR::TestInvocation::didRecieveMessageFromInjectedBundle): - * WebKitTestRunner/TestInvocation.h: - -2010-06-30 Simon Hausmann - - Reviewed by Laszlo Gombos. - - [Qt][Symbian] Only 10 websites can be loaded consecutively when using QtWebkit 2.0 - https://bugs.webkit.org/show_bug.cgi?id=40446 - - We quickly run out of memory on Symbian when loading web pages. This is - caused by the default heap size, which is not suited for a web browser. - - This change bumps the max heap size to 32MB. - - * QtTestBrowser/QtTestBrowser.pro: - -2010-06-30 Eric Seidel - - Reviewed by Adam Barth. - - webkit-patch land allow the user to continue even if the builders are red - https://bugs.webkit.org/show_bug.cgi?id=41395 - - I don't think it's good that we've been teaching people - to always pass --ignore-builders. At least land is now - useable w/o --ignore-builders. - - * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py: - -2010-06-29 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] support dumpResourceResponseMIMETypes - https://bugs.webkit.org/show_bug.cgi?id=41260 - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::dumpResourceResponseMIMETypes): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-06-29 Diego Gonzalez - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Resize scene when Qt DRT WebPage receives a geometry change request - https://bugs.webkit.org/show_bug.cgi?id=41173 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::setViewGeometry): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - -2010-06-29 Diego Gonzalez - - Reviewed by Simon Hausmann. - - [Qt] Deal with postEvent in case of graphics based DRT - https://bugs.webkit.org/show_bug.cgi?id=41174 - - QGraphicsScene does not have a postEvent method, so make scene - send the event, in case of graphics based DRT, and delete it after that. - - * DumpRenderTree/qt/EventSenderQt.cpp: - (EventSender::scheduleAsynchronousClick): - (EventSender::replaySavedEvents): - (EventSender::postEvent): - * DumpRenderTree/qt/EventSenderQt.h: - -2010-06-29 Diego Gonzalez - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Make switchFocus() method works with QGraphicsWebView in Qt DRT - https://bugs.webkit.org/show_bug.cgi?id=41172 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::switchFocus): - -2010-06-29 Mario Sanchez Prada - - Reviewed by Xan Lopez. - - [Gtk] Make DRT more coherent with other ports to allow reusing more tests - https://bugs.webkit.org/show_bug.cgi?id=40009 - - Make sure "AXRole: ", "AXTitle: " and "AXDescription: " prefixes - are used when returning those values, for coherency with other ports. - - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (AccessibilityUIElement::role): - (AccessibilityUIElement::title): - (AccessibilityUIElement::description): - -2010-06-29 Sheriff Bot - - Unreviewed, rolling out r62106. - http://trac.webkit.org/changeset/62106 - https://bugs.webkit.org/show_bug.cgi?id=41346 - - "Broke editing tests" (Requested by xan_ on #webkit). - - * Scripts/old-run-webkit-tests: - -2010-06-29 Mario Sanchez Prada - - Reviewed by Xan Lopez. - - Ensure DRT loads GAIL (Gtk+ module), for a11y tests - https://bugs.webkit.org/show_bug.cgi?id=38648 - - Add the GTK_MODULES envvar (set to "gail") to the clean - environment when running DRT for the Gtk+ port - - * Scripts/old-run-webkit-tests: - -2010-06-28 Adam Barth - - Unreviewed. - - Switch test-html5-parser back to using runner.html. - - * Scripts/test-html5-parser: - -2010-06-28 Adam Barth - - Reviewed by Eric Seidel. - - Restore webkit-runner.html for use with new tree builder - https://bugs.webkit.org/show_bug.cgi?id=41317 - - For now, we just want to run webkit-runner when we test-html5-parser. - - * Scripts/test-html5-parser: - -2010-06-23 John Gregg - - Reviewed by Kent Tamura. - - add ENABLE_DIRECTORY_UPLOAD build support - https://bugs.webkit.org/show_bug.cgi?id=41100 - - * Scripts/build-webkit: - -2010-06-28 Gustavo Noronha Silva - - Rubber-stamped by Xan Lopez. - - Update webkitdirs's knowledge of our library's name. - - * Scripts/webkitdirs.pm: - -2010-06-28 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=41299 - Build up WebKitTestRunner output in the InjectedBundle - - Simplify WebKitTestRunner by building up the output in the InjectedBundle - and sending it over postMessage when done, instead of using the async - WKPageRenderTreeExternalRepresentation. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: - (WTR::InjectedBundle::done): - (WTR::InjectedBundle::didRecieveMessage): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: - (WTR::InjectedBundle::os): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: - (WTR::WKStringToUTF8): - (WTR::InjectedBundlePage::didFinishLoadForFrame): - (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): - * WebKitTestRunner/TestInvocation.cpp: - (WTR::WKStringToUTF8): - (WTR::TestInvocation::TestInvocation): - (WTR::TestInvocation::invoke): - (WTR::TestInvocation::initializeMainWebView): - (WTR::TestInvocation::_didRecieveMessageFromInjectedBundle): - (WTR::TestInvocation::didRecieveMessageFromInjectedBundle): - * WebKitTestRunner/TestInvocation.h: - -2010-06-28 Robert Hogan - - Unreviewed, rolling out r62021. - http://trac.webkit.org/changeset/62021 - https://bugs.webkit.org/show_bug.cgi?id=41261 - - Broke http/navigation tests among other - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::dumpFramesAsText): - -2010-06-28 Sam Weinig - - Reviewed by Anders Carlsson. - - Add run-webkittestrunner to run WebKitTestRunner with the appropriate - environment. - - * Scripts/run-webkittestrunner: Added. - * Scripts/webkitdirs.pm: - -2010-06-28 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] dump frames in ascending alphabetical order of title - - https://bugs.webkit.org/show_bug.cgi?id=41261 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::dumpFramesAsText): - -2010-06-28 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] dump bf history of child windows - - https://bugs.webkit.org/show_bug.cgi?id=41266 - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::dumpBackForwardList): - (WebCore::DumpRenderTree::dump): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - -2010-06-28 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=41288 - WebKit2: Add frame API for InjectedBundle code - - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (_didClearWindowForFrame): - -2010-06-28 Jesus Sanchez-Palencia - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] QtTestBrowser does not have a "Load" button ; therefore, unable to load pages on touch only symbian devices (portrait mode). - https://bugs.webkit.org/show_bug.cgi?id=38597 - - Fix behavior so reload button really acts as a load and a reload button. - - * QtTestBrowser/mainwindow.cpp: - (MainWindow::changeLocation): - -2010-06-28 Xan Lopez - - Reviewed by Gustavo Noronha. - - [GTK] Does not compile with -DGSEAL_ENABLE - https://bugs.webkit.org/show_bug.cgi?id=37851 - - Fix build with GSEAL enabled. - - * DumpRenderTree/gtk/EventSender.cpp: - (gtk_widget_get_window): - (prepareMouseButtonEvent): - (mouseMoveToCallback): - (mouseWheelToCallback): - (keyDownCallback): - -2010-06-28 Xan Lopez - - Reviewed by Gustavo Noronha. - - [GTK] Add support for GTK+3 - https://bugs.webkit.org/show_bug.cgi?id=41253 - - Adapt build system for 3.x support. - - * GNUmakefile.am: - -2010-06-10 Mahesh Kulkarni - - Reviewed by Simon Hausmann. - - [QT][S60] build-webkit scripts picks wrong make spec for windows build - https://bugs.webkit.org/show_bug.cgi?id=41198 - - Instead of checking for existence of %EPOCROOT% on windows, mandatory use of --symbian flag for symbian builds. - - * Scripts/webkitdirs.pm: - (determineIsSymbian): remove check for %EPOCROOT% as one can build for windows port of QT as well - -2010-06-28 Eric Seidel - - Reviewed by Adam Barth. - - Make it possible to test the new HTML5 TreeBuilder - https://bugs.webkit.org/show_bug.cgi?id=41276 - - Adam was concerned that someone might make their port - depend on this setting (I guess we had some trouble with that - with the HTML5Parser setting), so I littered the code with warnings. - - test-html5-parser now tests this code path. - - * DumpRenderTree/mac/DumpRenderTree.mm: - (resetDefaultsToConsistentValues): - (initializeGlobalsFromCommandLineOptions): - * Scripts/test-html5-parser: - -2010-06-27 MORITA Hajime - - Unreviewed. - - Some never-called @staticmethods touched self. - Fixed it to replace these self with a class. - - * Scripts/webkitpy/common/checkout/scm.py: - -2010-06-27 MORITA Hajime - - Unreviewed. - - Fixed exception raising syntax that is pointed out at - https://bugs.webkit.org/show_bug.cgi?id=41153 - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - Removed a bad line that I accidentally checked-in at last revision. - -2010-06-24 MORITA Hajime - - Reviewed by Eric Seidel. - - rebaseline-chromium-webkit-tests should add or remove files to local git repository - https://bugs.webkit.org/show_bug.cgi?id=41153 - - - Added SCM.add() and SCM.remove() - - Replaced "svn add" and "svn remove" - rebaseline_chromium_webkit_tests.py: in with SCM method equivalents. - - add "-U" and "-q" options to rebaseline_chromium_webkit_tests.py - for debugging purpose. - - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: - * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - -2010-06-25 Yuzo Fujishima - - Reviewed by Shinichiro Hamaji. - - Improve default value handling for page format properties. - https://bugs.webkit.org/show_bug.cgi?id=41150 - - * DumpRenderTree/LayoutTestController.cpp: - (parsePageNumber): - (parsePageNumberSizeMarings): - (pageSizeAndMarginsInPixelsCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::pageSizeAndMarginsInPixels): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::pageSizeAndMarginsInPixels): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::pageSizeAndMarginsInPixels): - -2010-06-21 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] DRT Support for setCustomPolicyDelegate - - https://bugs.webkit.org/show_bug.cgi?id=39564 - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setCustomPolicyDelegate): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-06-26 Robert Hogan - - Unreviewed, Qt build fix following http://trac.webkit.org/changeset/61879 - - Remove qwebscriptworld.h from LayoutTestControllerQt.cpp - it is no longer - exported. - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - -2010-06-26 Tony Gentilcore - - Reviewed by Dimitri Glazkov. - - Add a build-webkit option for enabling Web Timing support. - https://bugs.webkit.org/show_bug.cgi?id=38924 - - * Scripts/build-webkit: - -2010-06-25 Jesus Sanchez-Palencia - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] QtTestBrowser does not have a "Load" button ; therefore, unable to load pages on touch only symbian devices (portrait mode). - https://bugs.webkit.org/show_bug.cgi?id=38597 - - Make the reload button act as a load button as well. - - * QtTestBrowser/mainwindow.cpp: - (MainWindow::buildUI): - (MainWindow::changeLocation): - -2010-06-25 Prasad Tammana - - Reviewed by Dmitry Titov. - - Add empty abortModal() method to all platforms. - https://bugs.webkit.org/show_bug.cgi?id=40864 - - Add an empty abortModal() stub to LayoutTestController on all platforms to get rid of platform specific #ifs in - platform independent LayoutTestController code. Without this change, layout tests using LayoutTestController tests - that use abortModal will become mac specific which is not desirable. - - * DumpRenderTree/LayoutTestController.cpp: - (abortModalCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::LayoutTestController): - (LayoutTestController::abortModal): - * DumpRenderTree/chromium/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::abortModal): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - (LayoutTestController::abortModal): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::abortModal): - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::abortModal): - -2010-06-25 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=41226 - Flesh out injected bundle code for WebKitTestRunner and add basic LayoutTestController. - - * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: Added. - (WTR::InjectedBundle::shared): - (WTR::InjectedBundle::InjectedBundle): - (WTR::InjectedBundle::_didCreatePage): - (WTR::InjectedBundle::_willDestroyPage): - (WTR::InjectedBundle::_didRecieveMessage): - (WTR::InjectedBundle::initialize): - (WTR::InjectedBundle::didCreatePage): - (WTR::InjectedBundle::willDestroyPage): - (WTR::InjectedBundle::didRecieveMessage): - * WebKitTestRunner/InjectedBundle/InjectedBundle.h: Added. - (WTR::InjectedBundle::layoutTestController): - * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: - (WKBundleInitialize): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Added. - (WTR::InjectedBundlePage::InjectedBundlePage): - (WTR::InjectedBundlePage::~InjectedBundlePage): - (WTR::InjectedBundlePage::_didStartProvisionalLoadForFrame): - (WTR::InjectedBundlePage::_didReceiveServerRedirectForProvisionalLoadForFrame): - (WTR::InjectedBundlePage::_didFailProvisionalLoadWithErrorForFrame): - (WTR::InjectedBundlePage::_didCommitLoadForFrame): - (WTR::InjectedBundlePage::_didFinishLoadForFrame): - (WTR::InjectedBundlePage::_didFailLoadWithErrorForFrame): - (WTR::InjectedBundlePage::_didReceiveTitleForFrame): - (WTR::InjectedBundlePage::_didClearWindowForFrame): - (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): - (WTR::InjectedBundlePage::didReceiveServerRedirectForProvisionalLoadForFrame): - (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): - (WTR::InjectedBundlePage::didCommitLoadForFrame): - (WTR::InjectedBundlePage::didFinishLoadForFrame): - (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): - (WTR::InjectedBundlePage::didReceiveTitleForFrame): - (WTR::InjectedBundlePage::didClearWindowForFrame): - * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Added. - (WTR::InjectedBundlePage::page): - * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: Added. - (WTR::LayoutTestController::create): - (WTR::LayoutTestController::LayoutTestController): - (WTR::LayoutTestController::~LayoutTestController): - (WTR::dumpAsTextCallback): - (WTR::layoutTestControllerObjectFinalize): - (WTR::LayoutTestController::makeWindowObject): - (WTR::LayoutTestController::getJSClass): - (WTR::LayoutTestController::staticFunctions): - * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Added. - (WTR::LayoutTestController::dumpAsText): - (WTR::LayoutTestController::setDumpAsText): - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: - -2010-06-25 Sam Weinig - - Reviewed by Anders Carlsson. - - Make WebKitTestRunner really work with run-webkit-tests. - - - Add Forwarding headers to allow some cleanup. - - * WebKitTestRunner/ForwardingHeaders: Added. - * WebKitTestRunner/ForwardingHeaders/wtf: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/ASCIICType.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/Assertions.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/Atomics.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/FastMalloc.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/HashMap.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/HashSet.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/HashTraits.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/Locker.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/MainThread.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/MathExtras.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/Noncopyable.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/OwnPtr.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/OwnPtrCommon.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/PassOwnPtr.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/PassRefPtr.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/Platform.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/RefCounted.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/RefPtr.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/RetainPtr.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/StringExtras.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/ThreadSafeShared.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/Threading.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/ThreadingPrimitives.h: Added. - * WebKitTestRunner/ForwardingHeaders/wtf/Vector.h: Added. - * WebKitTestRunner/TestInvocation.cpp: - (WTR::TestInvocation::dump): Dump the right number of #EOFs. - * WebKitTestRunner/TestInvocation.h: - -2010-06-25 Sam Weinig - - Reviewed by Mark Rowe. - - Add support for WebKitTestRunner to old-run-webkit-tests - - - Also adds a script to build WebKitTestRunner for old-run-webkit-tests to use. - - * Scripts/build-webkittestrunner: Added. - * Scripts/old-run-webkit-tests: - -2010-06-25 Adam Barth - - Reviewed by David Levin. - - Incremental build failed on Chromium ews - https://bugs.webkit.org/show_bug.cgi?id=41011 - - The division of responsibility between update-webkit --chromium and - build-webkit --chromium is slightly unclear. In this patch, we make - build-webkit --chromium also update DEPS and re-run GYP in case the - developer has changed either since they updated. - - This change is also helpful for the EWS, which wants to update DEPS and - re-run GYP after applying patches, but the EWS doesn't want to run - update-webkit --chromium because it has a dirty working copy. - - * Scripts/webkitdirs.pm: - -2010-06-25 Robert Hogan - - Reviewed by Simon Hausmann. - - [Qt] Support evaluateScriptInIsolatedWorld() - - https://bugs.webkit.org/show_bug.cgi?id=40079 - - Remove evaluateScriptInIsolatedWorld() from QtWebKit API. - Remove QWebScriptWorld from exported headers. - Confine support to DumpRenderTreeSupportQt so that the tests can pass. - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::evaluateScriptInIsolatedWorld): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-06-25 Anders Carlsson - - Revert accidental part and add a newline. - - * MiniBrowser/mac/AppDelegate.m: - * MiniBrowser/mac/MiniBrowser_Prefix.pch: - -2010-06-25 Anders Carlsson - - Rubber-stamped by Dan Bernstein. - - Add a LOG macro that expands to a no-op by default. - - * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: - * MiniBrowser/mac/AppDelegate.m: - (_didRecieveMessageFromInjectedBundle): - * MiniBrowser/mac/BrowserWindowController.m: - (-[BrowserWindowController windowShouldClose:]): - (_didStartProvisionalLoadForFrame): - (_didReceiveServerRedirectForProvisionalLoadForFrame): - (_didFailProvisionalLoadWithErrorForFrame): - (_didCommitLoadForFrame): - (_didFinishLoadForFrame): - (_didFailLoadWithErrorForFrame): - (_didReceiveTitleForFrame): - (_didFirstLayoutForFrame): - (_didFirstVisuallyNonEmptyLayoutForFrame): - (_didBecomeUnresponsive): - (_didBecomeResponsive): - (_decidePolicyForNavigationAction): - (_decidePolicyForNewWindowAction): - (_createNewPage): - (_showPage): - (_closePage): - (_didNavigateWithNavigationData): - (_didPerformClientRedirect): - (_didPerformServerRedirect): - (_didUpdateHistoryTitle): - * MiniBrowser/mac/MiniBrowser_Prefix.pch: - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (_didClearWindowForFrame): - (_didCreatePage): - (_willDestroyPage): - (_didRecieveMessage): - -2010-06-24 Adam Barth - - Reviewed by Eric Seidel. - - commit-queue is taking too long to land patches because of red trees - https://bugs.webkit.org/show_bug.cgi?id=41194 - - Instead of checking for the tree to be green, we'll just spin hot - trying to land patches. This is probably too extreme in ignoring the - tree, but I think we should try it for a while to see if we have - trouble. That will help us find the right balance. - - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - -2010-06-24 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] Clean up the use of gdk_window_get_root_coords in EventSender - https://bugs.webkit.org/show_bug.cgi?id=40843 - - Define the version for old GTK+s in a way that is forward-compatible - and clean up the logic a bit. - - * DumpRenderTree/gtk/EventSender.cpp: - (gdk_window_get_root_coords): Renamed and cleaned up. - (prepareMouseButtonEvent): Remove #ifdefs. - (mouseMoveToCallback): Remove #ifdefs. - -2010-06-24 Dimitri Glazkov - - Reviewed by Eric Seidel. - - Fix NewRunWebKitTests to work on Windows. - https://bugs.webkit.org/show_bug.cgi?id=41180 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: Added "perl" as first arguments, - because Windows fails to understand what we're asking of it. - -2010-06-24 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] The url passed to the WebView during layout tests is invalid - https://bugs.webkit.org/show_bug.cgi?id=40832 - - Set the test URL to the full real file URL and do a small cleanup. - Previously a URL like file://relative/path/to/test.html was passed - to the WebView. This malformed file URL would be returned by - webkit_web_view_get_url and webkit_web_frame_get_url. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (shouldLogFrameLoadDelegates): Change to take a const string& as the argument. - (shouldOpenWebInspector): Change to take a const string& as the argument. - (shouldEnableDeveloperExtras): Change to take a const string& as the argument. - (runTest): Pass the full file:// URL to the view. Remove the superfluous url variable. - -2010-06-24 Sam Weinig - - Reviewed by Anders Carlsson. - - Fix WebKitTestRunner Makefile typos. - - * WebKitTestRunner/Makefile: - -2010-06-24 Adele Peterson - - Reviewed by Eric Carlson. - - DumpRenderTree part of testing "Paste and Match Style" should fire paste events - https://bugs.webkit.org/show_bug.cgi?id=41085 - - * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): - Clear the general pasteboard in between tests so Cut,Copy, and setData on ClipboardData won't have lasting effects. - -2010-06-23 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=41086 - Add new WebKitTestRunner project (ie. DRT for WebKit2). - - - Mac only. - - run-webkit-tests has not been modified to call it yet. - - Only dumps the render tree at this time. - - * WebKitTestRunner: Added. - * WebKitTestRunner/Configurations: Added. - * WebKitTestRunner/Configurations/Base.xcconfig: Added. - * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Added. - * WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Added. - * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Added. - * WebKitTestRunner/InjectedBundle: Added. - * WebKitTestRunner/InjectedBundle-Info.plist: Added. - * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: Added. - (_didStartProvisionalLoadForFrame): - (_didReceiveServerRedirectForProvisionalLoadForFrame): - (_didFailProvisionalLoadWithErrorForFrame): - (_didCommitLoadForFrame): - (_didFinishLoadForFrame): - (_didFailLoadWithErrorForFrame): - (_didReceiveTitleForFrame): - (_didClearWindow): - (_didCreatePage): - (_willDestroyPage): - (_didRecieveMessage): - (WKBundleInitialize): - * WebKitTestRunner/Makefile: Added. - * WebKitTestRunner/PlatformWebView.h: Added. - (WTR::PlatformWebView::platformView): - * WebKitTestRunner/TestController.cpp: Added. - (WTR::TestController::shared): - (WTR::TestController::TestController): - (WTR::TestController::initialize): - (WTR::TestController::runTest): - (WTR::TestController::runTestingServerLoop): - (WTR::TestController::run): - * WebKitTestRunner/TestController.h: Added. - (WTR::TestController::verbose): - (WTR::TestController::injectedBundlePath): - * WebKitTestRunner/TestInvocation.cpp: Added. - (WTR::createWKURL): - (WTR::TestInvocation::TestInvocation): - (WTR::TestInvocation::~TestInvocation): - (WTR::TestInvocation::invoke): - (WTR::TestInvocation::dump): - (WTR::TestInvocation::initializeMainWebView): - (WTR::TestInvocation::didStartProvisionalLoadForFrame): - (WTR::TestInvocation::didReceiveServerRedirectForProvisionalLoadForFrame): - (WTR::TestInvocation::didFailProvisionalLoadWithErrorForFrame): - (WTR::TestInvocation::didCommitLoadForFrame): - (WTR::TestInvocation::didFinishLoadForFrame): - (WTR::TestInvocation::didFailLoadForFrame): - (WTR::TestInvocation::renderTreeExternalRepresentationFunction): - (WTR::TestInvocation::renderTreeExternalRepresentationDisposeFunction): - * WebKitTestRunner/TestInvocation.h: Added. - * WebKitTestRunner/WebKitTestRunner.xcodeproj: Added. - * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added. - * WebKitTestRunner/WebKitTestRunnerPrefix.h: Added. - * WebKitTestRunner/mac: Added. - * WebKitTestRunner/mac/PlatformWebViewMac.mm: Added. - (WTR::PlatformWebView::PlatformWebView): - (WTR::PlatformWebView::~PlatformWebView): - (WTR::PlatformWebView::page): - * WebKitTestRunner/mac/TestInvocationMac.mm: Added. - (WTR::TestInvocation::runUntil): - * WebKitTestRunner/mac/main.mm: Added. - (main): - -2010-06-24 Luiz Agostini - - Unreviewed. Adding myself to the committers list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-23 Kevin Ollivier - - [wx] Build fix, adding new LayoutTestController methods and enabling SVG_FOREIGN_OBJECT. - - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::isPageBoxVisible): - (LayoutTestController::pageAreaRectInPixels): - (LayoutTestController::preferredPageSizeInPixels): - * wx/build/settings.py: - -2010-06-23 James Robinson - - Unreviewed. Add my IRC handle to committers.py so the sheriffbot can yell at me. - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-23 Kent Tamura - - Reviewed by Dimitri Glazkov. - - Correct Chromium test configuration - https://bugs.webkit.org/show_bug.cgi?id=41057 - - * BuildSlaveSupport/build.webkit.org-config/master.cfg: - - Add "--use-drt" option for NRWT. It is required for Chromium and - ignored for other platforms. - - Skip JSC test on Chromium - * BuildSlaveSupport/test-result-archive: - Add Chromium support. - -2010-06-23 Sam Weinig - - Reviewed by Anders Carlsson. - - Fix for https://bugs.webkit.org/show_bug.cgi?id=41073 - WebKit2: Flesh out more of the InjectedBundle client API - - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (_didStartProvisionalLoadForFrame): - (_didReceiveServerRedirectForProvisionalLoadForFrame): - (_didFailProvisionalLoadWithErrorForFrame): - (_didCommitLoadForFrame): - (_didFinishLoadForFrame): - (_didFailLoadWithErrorForFrame): - (_didReceiveTitleForFrame): - (_didClearWindowForFrame): - (_didCreatePage): - (_willDestroyPage): - (WKBundleInitialize): - -2010-06-23 Yuzo Fujishima - - Reviewed by Shinichiro Hamaji. - - Implement page format data programming interface. - Add methods for testing. - https://bugs.webkit.org/show_bug.cgi?id=37538 - - * DumpRenderTree/LayoutTestController.cpp: - (parsePageNumber): - (isPageBoxVisibleCallback): - (pageAreaRectInPixelsCallback): - (preferredPageSizeInPixelsCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::isPageBoxVisible): - (LayoutTestController::pageAreaRectInPixels): - (LayoutTestController::preferredPageSizeInPixels): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::isPageBoxVisible): - (LayoutTestController::pageAreaRectInPixels): - (LayoutTestController::preferredPageSizeInPixels): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::isPageBoxVisible): - (LayoutTestController::pageAreaRectInPixels): - (LayoutTestController::preferredPageSizeInPixels): - -2010-06-23 Sam Magnuson - - Reviewed by Shinichiro Hamaji. - - Follow proper convention for if/switch/while as I've discovered - them to be through my review processes. - https://bugs.webkit.org/show_bug.cgi?id=40723 - - Modified test so that if( foo ) is not allowed as it appears not - to be the accepted convention. - - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - -2010-06-22 Eric Seidel - - Reviewed by Adam Barth. - - Run clean-header-guards to fix some header guards - https://bugs.webkit.org/show_bug.cgi?id=41044 - - No functional changes, thus no tests. - - This entire change was generated by running - clean-header-guards, and then reverting changes - to files which shouldn't be changed. Those which - are left all should be updated. - - Some of these changes are just fixing 755 permissions - to be 644, since it seems various files have the wrong - execute bit which don't need it. clean-header-guards - made those (welcome) permission fixes unintentionally. - - * DumpRenderTree/chromium/WebThemeControlDRT.h: - * DumpRenderTree/chromium/WebThemeEngineDRT.h: - * QtTestBrowser/fpstimer.h: - -2010-06-22 Adam Barth - - Reviewed by Eric Seidel. - - Rename HTMLDocumentParser to LegacyHTMLDocumentParser - https://bugs.webkit.org/show_bug.cgi?id=41043 - - Update the hash. - - * Scripts/do-webcore-rename: - -2010-06-22 Sam Magnuson - - Reviewed by Shinichiro Hamaji. - - Follow proper convention for variable declaration spacing. - https://bugs.webkit.org/show_bug.cgi?id=40724 - - Modified test so that 'int a;' is not allowed. - - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: - -2010-06-22 Eric Seidel - - Unreviewed. Add Tony Gentilcore now that he's a committer. - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-22 Eric Seidel - - Reviewed by Adam Barth. - - Remove Gtk 64-Release bot from core since it's broken - https://bugs.webkit.org/show_bug.cgi?id=41022 - - This bot alone has been responsible for more than 72 hours of - commit-queue blockage in the last week. The bot is broken -- keeps - losing its display server or similar. Until the Gtk folks can fix the - bot, we need to remove it from core. The WebKit community can't keep - it green as is. - - * Scripts/webkitpy/common/net/buildbot.py: - * Scripts/webkitpy/common/net/buildbot_unittest.py: - -2010-06-21 Dumitru Daniliuc - - Reviewed by Eric Seidel. - - Fix the Windows build. - https://bugs.webkit.org/show_bug.cgi?id=40972 - - * DumpRenderTree/win/ImageDiff.vcproj: - -2010-06-21 Prasad Tammana - - Reviewed by Darin Adler, Dmitry Titov. - - DumpRenderTree should allow tests with modal dialogs - https://bugs.webkit.org/show_bug.cgi?id=35350 - - * DumpRenderTree/LayoutTestController.cpp: - (abortModalCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::abortModal): - Add abortModal method to LayoutTestController and make it available from script. - - * DumpRenderTree/mac/UIDelegate.mm: Add support for showModalDialog. - (-[UIDelegate modalWindowWillClose:]): Observer for NSWindowWillCloseNotifications to call - abortModal from when modal window closes. - (-[UIDelegate webViewRunModal:]): Delegate method for showModalDialog to run the modal loop. - -2010-06-21 Simon Fraser - - Reviewed by Anders Carlsson. - - Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea - https://bugs.webkit.org/show_bug.cgi?id=40948 - - Have the script look in WebKit2. - - * Scripts/do-webcore-rename: - -2010-06-21 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Unskip plugins/get-url-that-the-resource-load-delegate-will-disallow.html - - It's a Mac-specific test so just add the required LayoutTestController - function as a no-op to avoid failing. Similar approach adopted by other - ports. - - https://bugs.webkit.org/show_bug.cgi?id=33344 - - * DumpRenderTree/qt/LayoutTestControllerQt.h: - (LayoutTestController::addDisallowedURL): - -2010-06-21 Sam Weinig - - Reviewed by Anders Carlsson. - - Patch for https://bugs.webkit.org/show_bug.cgi?id=40940 - Add message passing support to the WebKit2 API. - - - Add some test messages. - - * MiniBrowser/mac/AppDelegate.m: - (_didRecieveMessageFromInjectedBundle): - (-[BrowserAppDelegate init]): - * MiniBrowser/mac/WebBundle/WebBundleMain.m: - (_didClearWindow): - (_didCreatePage): - (_didRecieveMessage): - (WKBundleInitialize): - -2010-06-21 Drew Wilson - - Unreviewed. - - Rolling back 61551 and 61555 due to test failures. - - * DumpRenderTree/LayoutTestController.cpp: - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setEditingBehavior): - * DumpRenderTree/mac/UIDelegate.mm: - -2010-06-21 Anders Carlsson - - Reviewed by Sam Weinig. - - Make DumpRenderTree build with clang++ - - * DumpRenderTree/mac/DumpRenderTreePasteboard.m: - (-[LocalPasteboard setPropertyList:forType:]): - * DumpRenderTree/mac/DumpRenderTreeWindow.mm: - (-[DumpRenderTreeWindow keyDown:]): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::elementDoesAutoCompleteForElementWithId): - (LayoutTestController::isCommandEnabled): - -2010-06-21 Satish Sampath - - Reviewed by Steve Block. - - Speech Input Patch 0: Added compilation argument to conditionally compile pending patches. - https://bugs.webkit.org/show_bug.cgi?id=40878 - - * Scripts/build-webkit: - -2010-06-21 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Initialization for http/tests/loading/ - https://bugs.webkit.org/show_bug.cgi?id=40902 - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::runFileTest): - -2010-06-21 Jocelyn Turcotte - - Unreviewed. - - Adding myself to the committers list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-20 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Add --allow-external-pages option - https://bugs.webkit.org/show_bug.cgi?id=40762 - - Add --allow-external-pages introduced by Chromium r45403. - http://src.chromium.org/viewvc/chrome?view=rev&revision=45403 - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (main): - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): - * DumpRenderTree/chromium/TestShell.h: - (TestShell::allowExternalPages): - (TestShell::setAllowExternalPages): - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::willSendRequest): - -2010-06-20 Joseph Pecoraro - - Reviewed by Adam Barth. - - Sheriffbot: Should allow "r" in SVN_REVISION - https://bugs.webkit.org/show_bug.cgi?id=40889 - - * Scripts/webkitpy/tool/bot/irc_command.py: remove a leading "r" from SVN_REVISION if it exists - * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: test an SVN_REVISION with a leading r. - -2010-06-20 Joseph Pecoraro - - Reviewed by Dimitri Glazkov. - - Python Tests Fail after r61508 - https://bugs.webkit.org/show_bug.cgi?id=40891 - - Test's regex list needed to be updated to match the new - regex list in the source code. Added new bots to the - example_buildbots list. - - Regex list fixed in r61512. Updated bot list. - - * Scripts/webkitpy/common/net/buildbot_unittest.py: - -2010-06-20 Dimitri Glazkov - - Unreviewed, build fix. - - Tweak test regexp list to match the change in http://trac.webkit.org/changeset/61508. - - * Scripts/webkitpy/common/net/buildbot_unittest.py: Tweaked regexp. - -2010-06-19 Justin Schuh - - Unreviewed. - - Adding myself to the committers list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-19 Sam Weinig - - Reviewed by Anders Carlsson. - - Fix for https://bugs.webkit.org/show_bug.cgi?id=40882 - Add ability to have a WebProcess per WebContext. - - Move to use new shared contexts API. - - * MiniBrowser/mac/AppDelegate.h: - * MiniBrowser/mac/AppDelegate.m: - (-[BrowserAppDelegate init]): - (-[BrowserAppDelegate getCurrentPageNamespace]): - (-[BrowserAppDelegate validateMenuItem:]): - (-[BrowserAppDelegate _setProcessModel:]): - (-[BrowserAppDelegate setSharedProcessProcessModel:]): - (-[BrowserAppDelegate setSharedThreadProcessModel:]): - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - -2010-06-02 Robert Hogan - - Reviewed by Adam Barth. - - [Qt] Support evaluateScriptInIsolatedWorld() - - https://bugs.webkit.org/show_bug.cgi?id=40079 - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::evaluateScriptInIsolatedWorld): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - -2010-06-18 Dimitri Glazkov - - Reviewed by Darin Adler. - - Add three more non-core Chromium builders to start testing DumpRenderTree. - https://bugs.webkit.org/show_bug.cgi?id=40335 - - * BuildSlaveSupport/build.webkit.org-config/config.json: Added 3 builders. - -2010-06-18 Drew Wilson - - Reviewed by Darin Fisher. - - [Chromium] Plumbing for top-level frame names - https://bugs.webkit.org/show_bug.cgi?id=40430 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::reset): - Changed obsolete call to clearName() to use setName(WebString()) instead. - -2010-06-18 Sam Weinig - - Rolling http://trac.webkit.org/changeset/61297 back in. - - * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: - * MiniBrowser/mac/WebBundle/WebBundleMain.c: Removed. - * MiniBrowser/mac/WebBundle/WebBundleMain.m: Added. - (_didClearWindow): - (_didCreatePage): - (WKBundleInitialize): - -2010-06-18 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=40803 - TestNetscapePlugin has an incorrect implementation of "property" property - - * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (pluginGetProperty): Don't - pass a static string back, it's going to be released by NPAPI implementation. - -2010-06-18 Leandro Pereira - - Unreviewed. - - Adding myself to the committers list. - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-17 Tony Chang - - Reviewed by Kent Tamura. - - [chromium] cleanup redundant DEPS value and remove buildbot cleanup code - https://bugs.webkit.org/show_bug.cgi?id=40615 - - * Scripts/update-webkit-chromium: remove directory removal of third_party in old checkouts - -2010-06-17 Ada Chan - - Rolling out http://trac.webkit.org/changeset/61297 due to build errors. - - * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: - * MiniBrowser/mac/WebBundle/WebBundleMain.c: Copied from MiniBrowser/mac/WebBundle/WebBundleMain.c. - * MiniBrowser/mac/WebBundle/WebBundleMain.m: Removed. - -2010-06-17 Darin Adler - - One more try at fix for Chromium build. - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): Use set again instead of =. - -2010-06-17 Darin Adler - - Fix Chromium build. - - I didn't realize that neither Chromium nor Qt share the DumpRenderTree - code with all the other platforms! Wow, that should be fixed at some point. - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): Changed back to using "new". - * DumpRenderTree/chromium/TestShell.h: Changed back to OwnPtr. - -2010-06-17 Simon Hausmann - - Unreviewed Qt build fix. - - LayoutTestController in the Qt DRT is not using refs :) - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::DumpRenderTree): - -2010-06-17 Darin Adler - - Reviewed by Sam Weinig. - - Use adoptRef and create functions in more code paths - https://bugs.webkit.org/show_bug.cgi?id=40760 - - * DumpRenderTree/DumpRenderTree.h: Change gLayoutTestController to a RefPtr. - - * DumpRenderTree/LayoutTestController.cpp: - (LayoutTestController::create): Added. - * DumpRenderTree/LayoutTestController.h: Declare the create function. - - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::TestShell): Use create instead of new. - * DumpRenderTree/chromium/TestShell.h: Use RefPtr instead of OwnPtr. - - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (runTest): Use RefPtr and create instead of OwnPtr and new. - - * DumpRenderTree/mac/DumpRenderTree.mm: - (runTest): Use RefPtr and create instead of OwnPtr and new. - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::DumpRenderTree): Use create and releaseRef - instead of new. - - * DumpRenderTree/win/DumpRenderTree.cpp: - (runTest): Use RefPtr and create instead of OwnPtr and new. - - * DumpRenderTree/wx/DumpRenderTreeWx.cpp: - (runTest): Use RefPtr and create instead of OwnPtr and new. - (MyApp::OnInit): Removed unneeded code to delete the layout - test controller. This is done during each test. - -2010-06-17 Kent Tamura - - Reviewed by Shinichiro Hamaji. - - [DRT/Chromium] Fix a bug of Windows pixel tests - https://bugs.webkit.org/show_bug.cgi?id=40763 - - * DumpRenderTree/chromium/TestEventPrinter.cpp: - (TestShellPrinter::handleImage): - -2010-06-16 Kent Tamura - - Reviewed by Shinichiro Hamaji. - - [DRT/Chromium] Fix crash on Mac Release - https://bugs.webkit.org/show_bug.cgi?id=40759 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::paintRect): We should not use m_canvas directly because - it is created lazily in canvas(). - -2010-06-16 Kevin Ollivier - - [wx] Build fix after new method addition. - - * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::pageProperty): - -2010-06-16 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [DRT/Chromium] Set current working directory for each of tests - https://bugs.webkit.org/show_bug.cgi?id=40668 - - This change fixes tests with eventSender.beginDragWithFiles(). - - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (runTest): - -2010-06-16 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] r60803 broke media/controls-drag-timebar.html - https://bugs.webkit.org/show_bug.cgi?id=40269 - - Only queue events while the mouse button is down, if drag mode is enabled. Some - tests may disable drag mode, to prevent the queuing of events in this situation. - - * DumpRenderTree/gtk/EventSender.cpp: - (sendOrQueueEvent): Only queue events here if dragMode is true. - -2010-06-16 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] Remove the abuse of GDK_CURRENT_TIME in the DRT - https://bugs.webkit.org/show_bug.cgi?id=40600 - - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): Remove logic adding an offset to GDK_CURRENT_TIME. - -2010-06-16 Adam Barth - - Reviewed by Dimitri Glazkov. - - Add a hidden land-cowboy command to webkit-patch to help land quick - build fixes. - - * Scripts/webkitpy/tool/commands/download.py: - * Scripts/webkitpy/tool/steps/preparechangelog.py: - -2010-06-16 Adam Roben - - Convert console messages to UTF-8 before printing them - - Speculative fix for REGRESSION (r61234): - http/tests/security/xssAuditor/embed-tag-null-char.html and - http/tests/security/xssAuditor/object-embed-tag-null-char.html fail on - Windows. (I can't test the fix because Apache is crashing on my - computer.) - - Reviewed by Alexey Proskuryakov. - - * DumpRenderTree/win/DumpRenderTree.cpp: - (toUTF8): Extracted the code into an overload that takes a wide string - and a length, then added an overload that takes a wstring. - - * DumpRenderTree/win/DumpRenderTreeWin.h: Declare the new toUTF8 - overload. - - * DumpRenderTree/win/UIDelegate.cpp: - (UIDelegate::webViewAddMessageToConsole): Use toUTF8 to convert to - UTF-8 instead of letting printf convert to the current code page. - -2010-06-16 Drew Wilson - - Reviewed by Kent Tamura. - - [Chromium] Plumbing for top-level frame names - https://bugs.webkit.org/show_bug.cgi?id=40430 - - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::createView): - Migrate to new createView() API. - * DumpRenderTree/chromium/WebViewHost.h: - Remove obsolete createView() methods, add new createView() API that takes a frameName parameter. - -2010-06-16 Diego Gonzalez - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Scroll wheel event support to graphics based DRT - https://bugs.webkit.org/show_bug.cgi?id=40577 - - * DumpRenderTree/qt/EventSenderQt.cpp: - (EventSender::continuousMouseScrollBy): - (EventSender::createGraphicsSceneWheelEvent): - * DumpRenderTree/qt/EventSenderQt.h: - -2010-06-16 Adam Roben - - Remove a stray newline from the Windows version of TestNetscapePlugin - - Reviewed by Alexey Proskuryakov. - - Fixes - plugins/geturlnotify-during-document-teardown.html fails on Windows - - * DumpRenderTree/win/TestNetscapePlugin/main.cpp: - (NPP_Destroy): Removed extra newline that the Mac version doesn't - have. - -2010-06-16 Adam Roben - - Respect LayoutTestController::isPrinting on Windows - - This gets some printing tests closer to passing (like - printing/page-rule-in-media-query.html). - - Fixes . - - Reviewed by Dan Bernstein. - - * DumpRenderTree/win/DumpRenderTree.cpp: - (dump): Pass LayoutTestController::isPrinting to - IWebFramePrivate::renderTreeAsExternalRepresentation. - -2010-06-15 Adam Barth - - Reviewed by Eric Seidel. - - Enable HTML5 lexer - https://bugs.webkit.org/show_bug.cgi?id=40650 - - * DumpRenderTree/mac/DumpRenderTree.mm: - (initializeGlobalsFromCommandLineOptions): - -2010-06-10 Yuzo Fujishima - - Reviewed by Shinichiro Hamaji. - - Implement render style selection for pages to support CSS3 Paged Media. - https://bugs.webkit.org/show_bug.cgi?id=35961 - - * DumpRenderTree/LayoutTestController.cpp: - (parsePagePropertyParameters): - (pagePropertyCallback): - (LayoutTestController::staticFunctions): - * DumpRenderTree/LayoutTestController.h: - * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: - (LayoutTestController::pageProperty): - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::pageProperty): - * DumpRenderTree/win/LayoutTestControllerWin.cpp: - (LayoutTestController::pageProperty): - -2010-06-15 Sam Weinig - - Reviewed by Anders Carlsson. - - Fix for https://bugs.webkit.org/show_bug.cgi?id=40630 - WebKit2: Add mechanism to inject code into the WebProcess on startup - - Add initial InjectedBundle support. - - * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: - * MiniBrowser/WebBundle-Info.plist: Added. - Add test InjectedBundle to the project. - - * MiniBrowser/mac/AppDelegate.m: - (-[BrowserAppDelegate init]): - Get the path to the WebBundle from the the main bundle and pass it to the new - WKContextCreateWithInjectedBundlePath function. - - * MiniBrowser/mac/BrowserWindowController.m: - (_didChangeProgress): - Fix the build. This has been broken for a while. - - * MiniBrowser/mac/WebBundle: Added. - * MiniBrowser/mac/WebBundle/WebBundleMain.c: Added. - (_didCreatePage): - (WKBundleInitialize): - Add really basic InjectedBundle. - - * MiniBrowser/win/BrowserView.cpp: - (BrowserView::create): - Switch from WKContextCreateWithProcessModel to WKContextCreate and remove commented out code. - -2010-06-15 Dumitru Daniliuc - - Reviewed by Darin Adler. - - Adding myself to the reviewers list. - https://bugs.webkit.org/show_bug.cgi?id=40693 - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-15 Martin Robinson - - Reviewed by Xan Lopez. - - Switch to using GIO methods instead of realpath in GtkLauncher to determine - the file URI. This should remove warnings about realpath being undefined - when compiling with '-ansi'. - - * GtkLauncher/main.c: - (filenameToURL): Use GIO instead of realpath to determine file URI. - -2010-06-15 Adam Roben - - Remove the redundant set-apple-windows-environment-variables script - - Apparently update-webkit does this for you these days. - - Rubber-stamped by Steve Falkenburg. - - * Scripts/set-apple-windows-environment-variables: Removed. - -2010-06-14 Adam Roben - - Add a script to set the WebKitOutputDir and WebKitLibrariesDir - environment variables - - Fixes . - - Reviewed by Steve Falkenburg. - - * Scripts/set-apple-windows-environment-variables: Added. - (to_windows_path): Passes the passed-in path through cygpath to - generate a Windows-style path. - (main): Sets the WebKitOutputDir and WebKitLibrariesDir environment - variables to their defaults, if they aren't already set. - -2010-06-14 Adam Roben - - Speed up run-safari/debug-safari on Windows - - Fixes . - - Reviewed by Steve Falkenburg. - - * Scripts/webkitdirs.pm: - (runSafari): When debugging, set up the environment to run Safari - using the built WebKit.dll, then use "devenv /debugexe Safari.exe" to - actually launch the debugger. When not debugging, just run WebKit.exe - and it will do the rest for us. - -2010-06-15 Diego Gonzalez - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] DRT EventSender support to graphics context events - https://bugs.webkit.org/show_bug.cgi?id=40324 - - * DumpRenderTree/qt/EventSenderQt.cpp: - (EventSender::contextClick): - -2010-06-14 Tony Chang - - Reviewed by Darin Fisher. - - [chromium] checkout chromium third_party directly - https://bugs.webkit.org/show_bug.cgi?id=40556 - - * Scripts/update-webkit-chromium: some migration code for the bots - -2010-06-14 Alexey Proskuryakov - - Chromium build fix. - - * DumpRenderTree/chromium/EventSender.cpp: (EventSender::keyDown): Chromium uses differently - named constants for Windows virtual key codes, replacing VK_DELETE with VKEY_DELETE. - -2010-06-14 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=40529 - eventSender.keyDown("delete") incorrectly sends a backspace on some platforms - - * DumpRenderTree/mac/EventSendingController.mm: - (-[EventSendingController keyDown:withModifiers:withLocation:]): We were sending a broken - event for "delete" - it had virtual key code from forward delete, and text from backspace. - Fixed "delete" to mean forward delete. - - * DumpRenderTree/chromium/EventSender.cpp: (EventSender::keyDown): - * DumpRenderTree/gtk/EventSender.cpp: (keyDownCallback): - * DumpRenderTree/win/EventSender.cpp: (keyDownCallback): - Mac DRT confusion has propagated to other platforms, fixing those. - -2010-06-14 Martin Robinson - - Reviewed by Xan Lopez. - - Small GtkLauncher build fix for some systems. - - * GtkLauncher/main.c: Add include. - -2010-06-14 Mahesh Kulkarni - - Reviewed by Laszlo Gombos. - - [Qt] navigator.geolocation support for Qt port - https://bugs.webkit.org/show_bug.cgi?id=39724 - - Implementation for geolocation cases to DumpRenderTreeQt - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::allowGeolocationRequest): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setGeolocationPermission): - (LayoutTestController::setMockGeolocationError): - (LayoutTestController::setMockGeolocationPosition): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - (LayoutTestController::isGeolocationPermissionSet): - (LayoutTestController::geolocationPermission): - -2010-06-13 Nathan Lawrence - - Reviewed by Darin Adler. - - Outside of Xcode (make or WebKitTools/Scripts), there doesn't seem to - be a way of overwriting the Xcode system path. Making - $WEBKITOUTPUTDIR take precedence over the system default would make - this possible. - - * Scripts/webkitdirs.pm: - -2010-06-13 Chris Fleizach - - Reviewed by Darin Adler. - - AX: link won't return linked element if URL contains # - https://bugs.webkit.org/show_bug.cgi?id=40192 - - * DumpRenderTree/AccessibilityUIElement.cpp: - (linkedUIElementAtIndexCallback): - (AccessibilityUIElement::getJSClass): - * DumpRenderTree/AccessibilityUIElement.h: - * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: - (AccessibilityUIElement::linkedUIElementAtIndex): - * DumpRenderTree/mac/AccessibilityUIElementMac.mm: - (AccessibilityUIElement::linkedUIElementAtIndex): - * DumpRenderTree/win/AccessibilityUIElementWin.cpp: - (AccessibilityUIElement::linkedUIElementAtIndex): - -2010-06-13 Adam Barth - - Reviewed by Darin Adler. - - webkit-patch should add a bug URL to ChangeLogs if they don't have one yet - https://bugs.webkit.org/show_bug.cgi?id=39550 - - This can cause an extra request to bugs.webkit.org durig upload, but it - shouldn't be too bad. Also, this won't work if you remove the - boilerplate created by prepare-ChangeLog. - - * Scripts/webkitpy/common/checkout/changelog.py: - * Scripts/webkitpy/common/checkout/changelog_unittest.py: - * Scripts/webkitpy/common/net/bugzilla.py: - * Scripts/webkitpy/tool/steps/abstractstep.py: - * Scripts/webkitpy/tool/steps/preparechangelog.py: - * Scripts/webkitpy/tool/steps/preparechangelog_unittest.py: Added. - -2010-06-08 Robert Hogan - - Reviewed by Eric Seidel. - - [Qt] Add support for callShouldCloseOnWebView() to DRT - https://bugs.webkit.org/show_bug.cgi?id=40330 - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::callShouldCloseOnWebView): - * DumpRenderTree/qt/LayoutTestControllerQt.h: - (LayoutTestController::setCallCloseOnWebViews): - -2010-06-12 Eric Seidel - - Reviewed by Daniel Bates. - - do-webcore-rename should have a --verbose option - https://bugs.webkit.org/show_bug.cgi?id=40497 - - * Scripts/do-webcore-rename: - - Unified how we handle skipping files/directories - this will allow us to "black list" certain files and - directories when performing renames. - - Made do-webcore-rename log what it's skipping when passed --verbose. - -2010-06-12 Darin Adler - - * Scripts/run-bindings-tests: Fixed a typo in a message. - -2010-06-12 Kent Tamura - - Reviewed by Dimitri Glazkov. - - [Chromium] new-run-webkit-tests --use-drt should work with Chromium checkout - https://bugs.webkit.org/show_bug.cgi?id=40402 - - _build_path() of each Chromium port check existence of build path - of Chromium checkout first, then check existence of build path of - WebKit-only checkout. - - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - * Scripts/webkitpy/layout_tests/port/chromium_mac.py: - * Scripts/webkitpy/layout_tests/port/chromium_win.py: - -2010-06-12 Robert Hogan - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Back-forward list dumping is incorrect - - https://bugs.webkit.org/show_bug.cgi?id=36392 - - Support dumping child history items in DRT. - - Unskip: - - fast/loader/frame-src-change-added-to-history.html - fast/loader/frame-src-change-not-added-to-history.html - fast/loader/frame-location-change-not-added-to-history.html - - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::dumpHistoryItem): - -2010-06-10 Ojan Vafai - - Reviewed by Eric Seidel. - - upload all patches that lack in-rietveld to rietveld - https://bugs.webkit.org/show_bug.cgi?id=40444 - - If it's a patch, then we'll try to upload it as long as it - doesn't have in-rietveld set. No longer set in-rietveld? since - it's not needed. - - * Scripts/webkitpy/common/net/bugzilla.py: - -2010-06-10 Ojan Vafai - - Reviewed by Darin Fisher. - - Fix rietveld upload when message length > 100 characters - https://bugs.webkit.org/show_bug.cgi?id=40457 - - * Scripts/webkitpy/common/net/rietveld.py: - -2010-06-11 Yael Aharon +2011-02-23 Siddharth Mathur Reviewed by Laszlo Gombos. - [Qt] There should be a way to enable popups in QtTestBrowser - https://bugs.webkit.org/show_bug.cgi?id=40427 - - * QtTestBrowser/main.cpp: - (LauncherWindow::toggleJavascriptCanOpenWindows): - (LauncherWindow::createChrome): - -2010-06-10 Adam Barth - - Reviewed by Daniel Bates. - - Make SheriffBot more chatty - https://bugs.webkit.org/show_bug.cgi?id=40463 - - People seem to like to talk to SheriffBot, so let's make him chat back. - - * Scripts/webkitpy/thirdparty/__init__.py: - * Scripts/webkitpy/tool/bot/irc_command.py: - * Scripts/webkitpy/tool/bot/irc_command_unittest.py: Added. - * Scripts/webkitpy/tool/bot/sheriffircbot.py: - * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: - -2010-06-10 Brian Weinstein - - Reviewed by Darin Adler. - - Fix the Windows buildbot when WebKitAuxiliaryLibs.zip cannot be found on our server. - - Robustify update-webkit-auxiliary-libs to be able to handle the case when WebKitAuxiliaryLibs.zip doesn't exist, - and allow the script to fall back to an existing file, only failing if there is no fallback file. Also switch to checking - WEXITSTATUS on $result instead of just comparing $result to 0. - - * Scripts/update-webkit-auxiliary-libs: - -2010-06-10 Ojan Vafai - - Reviewed by Alexey Proskuryakov. - - don't use Exception.message as it's deprecated in python 2.6+ - https://bugs.webkit.org/show_bug.cgi?id=40449 - - * Scripts/webkitpy/tool/commands/queues.py: - -2010-06-10 Ojan Vafai - - Reviewed by Adam Barth. - - fix handle_script_error in rietveld upload queue and add testing for handle_script_error - https://bugs.webkit.org/show_bug.cgi?id=40436 - - * Scripts/webkitpy/common/system/outputcapture.py: - * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/commands/queuestest.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-06-10 Jarkko Sakkinen - - Reviewed by Simon Hausmann. - - [Qt] *All* WebGL layout tests fail! - https://bugs.webkit.org/show_bug.cgi?id=40296 - - Added test for WebKitWebGLEnabled to - LayoutTestController::overridePreference(). - - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::overridePreference): - -2010-06-10 Diego Gonzalez - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] DRT EventSender support to graphics mouse events activation - https://bugs.webkit.org/show_bug.cgi?id=40017 - - * DumpRenderTree/qt/EventSenderQt.cpp: - (EventSender::mouseDown): - (EventSender::mouseUp): - (EventSender::mouseMoveTo): - (EventSender::keyDown): - (EventSender::contextClick): - (EventSender::sendTouchEvent): - (EventSender::sendOrQueueEvent): - (EventSender::eventFilter): - (EventSender::createGraphicsSceneMouseEvent): - (EventSender::sendEvent): - * DumpRenderTree/qt/EventSenderQt.h: - (EventSender::isGraphicsBased): - -2010-06-09 Adam Barth - - Reviewed by Ojan Vafai. - - webkit-patch upload fails for security bugs because there's no rietveld flag - https://bugs.webkit.org/show_bug.cgi?id=40309 - - There's probably a more elegant way of seeing whether the form control - exists, but this seems to work. - - * Scripts/webkitpy/common/net/bugzilla.py: - -2010-06-09 Ojan Vafai - - Reviewed by Adam Barth. - - make rietveld upload faster and avoid posting to bug on errors - https://bugs.webkit.org/show_bug.cgi?id=40389 - - Only grab the first item of the upload queue instead of trying - to compute the whole list upfront (which is O(n) bugzilla lookups!). - - Also, don't post comments to the bug when uploading fails. - - * Scripts/webkitpy/common/net/bugzilla.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/commands/stepsequence.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-06-09 Ojan Vafai - - Reviewed by Adam Barth. - - Rietveld upload queue fails when setting in-rietveld flag - https://bugs.webkit.org/show_bug.cgi?id=40371 - - Make the comment arguments to set_flag_on_attachment optional - and add it to the MockBugzilla. - - * Scripts/webkitpy/common/net/bugzilla.py: - * Scripts/webkitpy/tool/bot/queueengine.py: - * Scripts/webkitpy/tool/commands/download_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - -2010-06-09 Kenneth Russell - - Reviewed by Dimitri Glazkov. - - Rename FloatArray to Float32Array - https://bugs.webkit.org/show_bug.cgi?id=40323 - - Used do-webcore-rename to perform renaming. Manually undid - incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp, - WebCore/manual-tests/resources/ArrayParameterTestApplet.java and - ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran - all layout tests on Safari; built Chromium and ran selected WebGL - tests. - - * Scripts/do-webcore-rename: - -2010-06-08 Tony Chang - - Reviewed by David Levin. - - [chromium] compile linux chromium in WebKit/out instead of WebKit/WebKit/chromium/out - https://bugs.webkit.org/show_bug.cgi?id=40285 - - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - -2010-06-03 Roland Steiner - - Reviewed by Tamura Kent. - - Bug 40052 - [DRT/Chromium] Upstream test_shell_webthemeengine as WebThemeEngineDRT - https://bugs.webkit.org/show_bug.cgi?id=40052 - - Add WebThemeEngineDRT and WebThemeControlDRT ported from Chromium rev. 48907 - - * DumpRenderTree/DumpRenderTree.gypi: - * DumpRenderTree/chromium/TestShellWin.cpp: - (platformInit): - * DumpRenderTree/chromium/WebThemeControlDRT.cpp: Added. - (WebKit::): - (WebKit::WebThemeControlDRT::WebThemeControlDRT): - (WebKit::WebThemeControlDRT::~WebThemeControlDRT): - (WebKit::WebThemeControlDRT::box): - (WebKit::WebThemeControlDRT::line): - (WebKit::WebThemeControlDRT::triangle): - (WebKit::WebThemeControlDRT::roundRect): - (WebKit::WebThemeControlDRT::oval): - (WebKit::WebThemeControlDRT::circle): - (WebKit::WebThemeControlDRT::nestedBoxes): - (WebKit::WebThemeControlDRT::markState): - (WebKit::WebThemeControlDRT::draw): - (WebKit::WebThemeControlDRT::drawTextField): - (WebKit::WebThemeControlDRT::drawProgressBar): - * DumpRenderTree/chromium/WebThemeControlDRT.h: Added. - (WebKit::WebThemeControlDRT::): - * DumpRenderTree/chromium/WebThemeEngineDRT.cpp: Added. - (WebKit::): - (WebKit::WebThemeEngineDRT::paintButton): - (WebKit::WebThemeEngineDRT::paintMenuList): - (WebKit::WebThemeEngineDRT::paintScrollbarArrow): - (WebKit::WebThemeEngineDRT::paintScrollbarThumb): - (WebKit::WebThemeEngineDRT::paintScrollbarTrack): - (WebKit::WebThemeEngineDRT::paintTextField): - (WebKit::WebThemeEngineDRT::paintTrackbar): - (WebKit::WebThemeEngineDRT::paintProgressBar): - * DumpRenderTree/chromium/WebThemeEngineDRT.h: Added. - (WebKit::WebThemeEngineDRT::WebThemeEngineDRT): - -2010-06-08 Sheriff Bot - - Unreviewed, rolling out r60878. - http://trac.webkit.org/changeset/60878 - https://bugs.webkit.org/show_bug.cgi?id=40349 - - broke linux build (Requested by tony^work on #webkit). - - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - -2010-06-08 Tony Chang - - Reviewed by David Levin. - - [chromium] compile linux chromium in WebKit/out instead of WebKit/WebKit/chromium/out - https://bugs.webkit.org/show_bug.cgi?id=40285 - - * Scripts/webkitdirs.pm: - * Scripts/webkitpy/layout_tests/port/chromium_linux.py: - -2010-06-08 Kenneth Russell - - Unreviewed, build fix. - - Fix build breakage from 38145 - https://bugs.webkit.org/show_bug.cgi?id=40346 - - The fix for bug 38145 broke the Chromium Win build because - Microsoft's cmath doesn't define log2. Suggested fix by zmo is to - change log2(x) to log(x) / log(2). Built and ran WebGL layout - tests in Safari on Mac OS X. Changed download mirrors for - python-irclib to working ones. - - * Scripts/webkitpy/thirdparty/__init__.py: - -2010-06-08 Fumitoshi Ukai - - Reviewed by Eric Seidel. - - old-run-webkit-tests should use ensure-valid-python to check if it can run the websockets tests - https://bugs.webkit.org/show_bug.cgi?id=39058 - - * Scripts/old-run-webkit-tests: - use sourceDir() to find ensure-valid-python in checkPythonVersion() - -2010-06-08 Andras Becsi - - Unreviewed buildfix after r60479. - - [GTK] Move the declaration of getRootCoords higher up to fix the build on GTK - versions other than 2.17.3. - - * DumpRenderTree/gtk/EventSender.cpp: - (getRootCoords): - -2010-06-07 Martin Robinson - - Reviewed by Oliver Hunt. - - [GTK] Mouse movement should not trigger a replay of saved events in the event sender - https://bugs.webkit.org/show_bug.cgi?id=40267 - - When a mouse button is down, automatically queue mouse motion events and - do not play them back until the mouse button is released. This matches the - behavior of other ports' EventSenders. - - * DumpRenderTree/gtk/EventSender.cpp: - (mouseMoveToCallback): Don't automatically replaySavedEvents for mouse motion. - (sendOrQueueEvent): Add a shouldReplaySavedEvents argument defaulting to true. - -2010-06-07 Nikolas Zimmermann - - Reviewed by Sam Weinig. - - Add CPP bindings generator - https://bugs.webkit.org/show_bug.cgi?id=38279 - - Integrate CPP bindings in run-bindings-tests. - - * Scripts/run-bindings-tests: - -2010-06-04 Tony Gentilcore - - Reviewed by Ojan Vafai. - - Rename 'svn_merge_base' -> 'remote_merge_base'. This was left out of r60633. - https://bugs.webkit.org/show_bug.cgi?id=40183 - - * Scripts/webkitpy/tool/steps/preparechangelog.py: - -2010-06-04 Martin Robinson - - Unreviewed. - - Add my new email and IRC nick to committers.py. - - * Scripts/webkitpy/common/config/committers.py: - -2010-06-04 Kinuko Yasuda - - Unreviewed. - - Revert changes in json_results_generator.py's _get_svn_revision. - - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - -2010-06-04 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] GtkLauncher should support relative file paths - https://bugs.webkit.org/show_bug.cgi?id=39944 - - Allow GtkLauncher to handle relative file paths passed via command-line arguments. - - * GtkLauncher/main.c: - (filename_to_url): Added. - (main): Try to resolve arguments as relative file URLs first. - -2010-06-04 Martin Robinson - - Reviewed by Xan Lopez. - - [GTK] EventSender should call gtk_main_do_event instead of invoking signal handlers directly - https://bugs.webkit.org/show_bug.cgi?id=40182 - - Instead of invoking signal handlers directly via g_signal_emit_by_name, call - gtk_main_do_event. This will allow us to call gtk_get_current_event() in WebKit - without breaking DRT. - - * DumpRenderTree/gtk/EventSender.cpp: - (dispatchEvent): Use gtk_main_do_event instead of invoking signal handlers directly. - (keyDownCallback): Use dispatchEvent here which now uses gtk_main_do_event. - -2010-06-04 Anders Carlsson - - Reviewed by David Hyatt. - - Make the editing/spelling/context-menu-suggestions.html test more robust - https://bugs.webkit.org/show_bug.cgi?id=40178 - - Change the contextClick method to return an array of strings describing the context menu items. - - * DumpRenderTree/mac/EventSendingController.mm: - (+[EventSendingController isSelectorExcludedFromWebScript:]): - (+[EventSendingController webScriptNameForSelector:]): - (-[EventSendingController contextClick]): - -2010-06-03 Kinuko Yasuda - - Reviewed by Shinichiro Hamaji. - - Clean up chromium-specific code from json_results_generator.py. - https://bugs.webkit.org/show_bug.cgi?id=39665 - - * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: - * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: - * Scripts/webkitpy/layout_tests/port/base.py: - * Scripts/webkitpy/layout_tests/port/chromium.py: - -2010-06-04 Tony Gentilcore - - Reviewed by Adam Barth. - - Utilize new takeFirst() method where appropriate. - https://bugs.webkit.org/show_bug.cgi?id=40089 - - * DumpRenderTree/chromium/EventSender.cpp: - (EventSender::replaySavedEvents): - * DumpRenderTree/chromium/LayoutTestController.cpp: - (LayoutTestController::WorkQueue::processWork): - (LayoutTestController::WorkQueue::reset): - -2010-06-04 Yael Aharon - - Reviewed by Simon Hausmann. - - [Qt] QtTestLauncher should allow notifications by default. - https://bugs.webkit.org/show_bug.cgi?id=40078 - - * QtTestBrowser/main.cpp: - (NotificationsPermissionController::NotificationsPermissionController): - (NotificationsPermissionController::checkPermission): - (NotificationsPermissionController::requestPermission): - (LauncherWindow::LauncherWindow): - -2010-06-04 Tony Gentilcore - - Reviewed by Adam Barth. - - Detect whether the user's environment can open a browser. - https://bugs.webkit.org/show_bug.cgi?id=40136 - - Some environments like cygwin silently fail webbrowser.open() causing - webkit-patch upload not to display any diff. This detects environments - where webbrowser.open() would fail by testing if webbrowser.get() - raises an exception. - - * Scripts/webkitpy/common/system/user.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/confirmdiff.py: - -2010-06-03 Tony Gentilcore - - Reviewed by David Levin. - - Add dependencies required to link with VS Express 2005. - https://bugs.webkit.org/show_bug.cgi?id=40038 - - Visual Studio implicitly links against these libs. - VC++ Express does not. - - * WebKitAPITest/WebKitAPITestCommon.vsprops: - * WinLauncher/WinLauncher.vcproj: - -2010-06-03 Fumitoshi Ukai - - Reviewed by David Levin. - - bad codecs.open in webkitpy/layout_tests/ports/websocket_server.py - https://bugs.webkit.org/show_bug.cgi?id=40105 - - * Scripts/webkitpy/layout_tests/port/websocket_server.py: - - kill pywebsocket process when url is not alive and the process is not - terminated, not to leave pywebsocket server running. - - fix codecs.open parameters. - -2010-06-03 Fumitoshi Ukai - - Reviewed by Alexey Proskuryakov. + [Qt] Make sure Symbian binary UIDs are unique - old-run-webkit-tests should use ensure-valid-python to check if it can run the websockets tests - https://bugs.webkit.org/show_bug.cgi?id=39058 + * MiniBrowser/qt/MiniBrowser.pro: Resolve the UID collision with + QtTestBrowser.pro by changing the UID. - * Scripts/ensure-valid-python: - - Perl 5.8 doesn't have File::Temp->newdir(). Use File::Temp->tempdir() instead. - - Add --check-only and --help option. - - --check-only option only checks python version and don't try to install Python 2.5. - - Set executable bit. - * Scripts/old-run-webkit-tests: - - Check if it can run the websocket tests by calling ensure-valid-python --check-only. +2011-02-23 Patrick Gansterer -2010-05-14 Ojan Vafai + Reviewed by Darin Adler. - Reviewed by Adam Barth. + Rename PLATFORM(CF) to USE(CF) + https://bugs.webkit.org/show_bug.cgi?id=53540 - add a RietveldUploadQueue to upload in-rietveld? patches to rietveld - https://bugs.webkit.org/show_bug.cgi?id=38918 + * DumpRenderTree/config.h: - Patches with in-rietveld? get uploaded to rietveld and get marked - in-rietveld+. If the upload fails, they are marked in-rietveld- - and an error is logged to the bug, like the commit-queue. +2011-02-23 Dirk Pranke - Also, get rid of --fancy-review and the ability to upload to rietveld - using webkit-patch upload/post. + Reviewed by Ojan Vafai. - * Scripts/webkitpy/common/net/bugzilla.py: - * Scripts/webkitpy/common/net/bugzilla_unittest.py: - * Scripts/webkitpy/tool/commands/download.py: - * Scripts/webkitpy/tool/commands/download_unittest.py: - * Scripts/webkitpy/tool/commands/queues.py: - * Scripts/webkitpy/tool/commands/queues_unittest.py: - * Scripts/webkitpy/tool/commands/upload.py: - * Scripts/webkitpy/tool/commands/upload_unittest.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/options.py: - * Scripts/webkitpy/tool/steps/postcodereview.py: + nrwt: turn on multiprocessing on chromium_linux, clean up unit tests for worker model defaults + https://bugs.webkit.org/show_bug.cgi?id=55016 -2010-05-24 Ojan Vafai + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py: Added. + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: + * Scripts/webkitpy/layout_tests/port/mac.py: + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: - Reviewed by Chris Jerdonek. +2011-02-23 Tony Chang - many webkit-patch commands fail in a non-svn tracking git checkout - https://bugs.webkit.org/show_bug.cgi?id=38156 + Reviewed by Kent Tamura. - If the svn-tracking-branch (trunk) doesn't exist, fallback to the git remote-tracking-branch (master). - If neither exists, then error out. This makes webkit-patch work - for anyone that follows the intructions at http://trac.webkit.org/wiki/UsingGitWithWebKit - to checkout webkit. The fallback to master is for people who don't - do the steps on that page for tracking svn. + [chromium] DumpRenderTree --check-layout-test-sys-deps leaks 4 temp dirs + https://bugs.webkit.org/show_bug.cgi?id=55004 - * Scripts/webkitpy/common/checkout/scm.py: - * Scripts/webkitpy/common/checkout/scm_unittest.py: + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (WebKitSupportTestEnvironment::WebKitSupportTestEnvironment): + (WebKitSupportTestEnvironment::~WebKitSupportTestEnvironment): + (main): Use a C++ object to ensure that TearDownTestEnvironment + gets called when --check-layout-test-sys-deps is called -2010-06-03 Mike Fenton +2011-02-23 Gopal Raghavan - Unreviewed. + Reviewed by Anders Carlsson. - Reverse e-mail for myself in committers.py to correspond with bugzilla account. + [Qt] [Qt] check webkit style fails in qt/tests + https://bugs.webkit.org/show_bug.cgi?id=54998 - * Scripts/webkitpy/common/config/committers.py: + check-webkit-style was complaining about missing config.h in WebKit/qt/test/qdeclarativewebview. This patch was originally part of 50222. Reviewer suggested to split and create a separate patch for checker. -2010-06-03 Pavel Feldman + * Scripts/webkitpy/style/checker.py: - Reviewed by Yury Semikhatsky. +2011-02-22 Vsevolod Vlasov - Web Inspector: a number of fixes that make InspectorController - happy with null redirects. + Reviewed by Pavel Feldman. - https://bugs.webkit.org/show_bug.cgi?id=40109 + DumpRenderTree should dump as text if test path contains "dumpAsText/" + https://bugs.webkit.org/show_bug.cgi?id=54873 + * DumpRenderTree/chromium/LayoutTestController.h: + (LayoutTestController::setShouldDumpAsText): + (LayoutTestController::setShouldGeneratePixelResults): + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::runFileTest): * DumpRenderTree/gtk/DumpRenderTree.cpp: + (shouldDumpAsText): + (dump): (runTest): * DumpRenderTree/mac/DumpRenderTree.mm: + (shouldDumpAsText): (runTest): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::isDumpAsTextTest): + (WebCore::DumpRenderTree::open): * DumpRenderTree/win/DumpRenderTree.cpp: + (shouldDumpAsText): (runTest): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::dump): -2010-06-02 Tasuku Suzuki +2011-02-22 Kenneth Russell - Reviewed by Shinichiro Hamaji. + Reviewed by James Robinson. - [Qt] Fix compilation with QT_NO_PROPERTIES - https://bugs.webkit.org/show_bug.cgi?id=38324 + Many tests started timing out on the chrome mac canaries around r79035 + https://bugs.webkit.org/show_bug.cgi?id=54885 - * QtTestBrowser/main.cpp: - (LauncherWindow::init): + Revert the code changes, but not the Chromium DEPS roll, from + r79038 to see whether this clears up the timing-out tests. Was not + able to reproduce the timeouts locally with a Release mode build + of DRT (on Snow Leopard). -2010-06-02 Diego Gonzalez + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::reset): - Reviewed by Kenneth Rohde Christiansen. +2011-02-22 Dirk Pranke - [Qt] Make possible run DRT with QGraphicsWebView - https://bugs.webkit.org/show_bug.cgi?id=40016 + Reviewed by James Robinson. - Make possible to use a environment variable for switching backend. - Usage: QT_DRT_WEBVIEW_MODE=graphics WebKitTools/Scripts/run-webkit-tests --qt + nrwt: --platform chromium-gpu doesn't work with --worker-model=processes + https://bugs.webkit.org/show_bug.cgi?id=55009 - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebViewGraphicsBased::WebViewGraphicsBased): - (WebCore::DumpRenderTree::DumpRenderTree): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - (WebCore::DumpRenderTree::setGraphicsBased): - (WebCore::DumpRenderTree::isGraphicsBased): - (WebCore::WebViewGraphicsBased::graphicsView): - (WebCore::WebViewGraphicsBased::setPage): - * Scripts/old-run-webkit-tests: + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: -2010-06-02 Csaba Osztrogonác +2011-02-18 Mihai Parparita - Reviewed by Eric Seidel. + Reviewed by Ojan Vafai. - Slave lost shouldn't be recognized as build failed. - https://bugs.webkit.org/show_bug.cgi?id=39282 + Default to 500 for --exit-after-n-failures + https://bugs.webkit.org/show_bug.cgi?id=54773 - * Scripts/webkitpy/common/net/buildbot.py: Treat slave lost as green. - * Scripts/webkitpy/common/net/buildbot_unittest.py: Add unit test for slave lost. + Make 500 the default value for --exit-after-n-failures (ORWT bots + already default to this as of r75726). Similarly, change the default for + --exit-after-n-crashes-or-timeouts to 20. -2010-06-01 Yael Aharon + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: - Reviewed by Kenneth Rohde Christiansen. +2011-02-02 Martin Robinson - [Qt] Fix the lifecycle of notification objects - https://bugs.webkit.org/show_bug.cgi?id=40003 + Reviewed by Xan Lopez. - Remove the dependency of notifications on QWebPage. + [GTK] DRT needs an implementation of LayoutTestController.setSelectTrailingWhitespace + https://bugs.webkit.org/show_bug.cgi?id=53603 - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::requestPermissionCallback): - (WebCore::WebPage::WebPage): - (WebCore::DumpRenderTree::requestPermission): - * DumpRenderTree/qt/DumpRenderTreeQt.h: + Add support for LayoutTestController.setSelectTrailingWhitespace by calling through + to DumpRenderTreeSupportGtk for this functionality. -2010-06-02 Sheriff Bot + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): Always call LayoutTestController.setSelectTrailingWhitespace to + false when reseting values between tests. + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setSelectTrailingWhitespaceEnabled): Call LayoutTestController.setSelectTrailingWhitespace + with the appropriate value. - Unreviewed, rolling out r60559. - http://trac.webkit.org/changeset/60559 - https://bugs.webkit.org/show_bug.cgi?id=40055 +2011-02-22 Adam Roben - It broke python unit test (Requested by Ossy on #webkit). + Don't trigger a Windows build when the top-level ChangeLog changes - * Scripts/webkitpy/common/net/buildbot.py: + r79320 is an example of a change that shouldn't have built on Windows, but did, because of + this bug. -2010-06-02 Csaba Osztrogonác + Fixes Windows bots build when top-level ChangeLog changes, but + shouldn't - Reviewed by Eric Seidel. + Reviewed by Anders Carlsson. - Slave lost shouldn't be recognized as build failed. - https://bugs.webkit.org/show_bug.cgi?id=39282 + * Scripts/webkitpy/common/config/build.py: + (_should_file_trigger_build): Modified the ChangeLog pattern to match the top-level + ChangeLog, and re-sorted it in the list. - * Scripts/webkitpy/common/net/buildbot.py: + * Scripts/webkitpy/common/config/build_unittest.py: + (ShouldBuildTest): Added a test that ChangeLogs don't trigger builds. -2010-06-02 Tony Gentilcore +2011-02-22 Sheriff Bot - Reviewed by Eric Seidel. + Unreviewed, rolling out r78691. + http://trac.webkit.org/changeset/78691 + https://bugs.webkit.org/show_bug.cgi?id=54956 - Fix crash caused when assigned_to is disabled - https://bugs.webkit.org/show_bug.cgi?id=40039 + Leopard Debug is successfully building again (Requested by + aroben on #webkit). - * Scripts/webkitpy/common/net/bugzilla.py: + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: -2010-06-02 Sterling Swigart +2011-02-22 Ilya Tikhonovsky - Reviewed by David Levin. + Reviewed by Pavel Feldman. - Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches. - https://bugs.webkit.org/show_bug.cgi?id=39906 + Web Inspector: flakyness of inspector tests. + https://bugs.webkit.org/show_bug.cgi?id=54729 - * Scripts/build-webkit: + As far as we have the protocol with sequence numbers we can simplify test harness support + and drop out chomium specific methods. -2010-06-01 Raine Makelainen + * DumpRenderTree/DumpRenderTree.gypi: + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + (DRTDevToolsAgent::sendMessageToInspectorFrontend): + (DRTDevToolsAgent::runtimePropertyChanged): + (DRTDevToolsAgent::asyncCall): + (DRTDevToolsAgent::call): + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + * DumpRenderTree/chromium/DRTDevToolsCallArgs.cpp: Removed. + * DumpRenderTree/chromium/DRTDevToolsCallArgs.h: Removed. + * DumpRenderTree/chromium/DRTDevToolsClient.cpp: + (DRTDevToolsClient::sendMessageToBackend): + (DRTDevToolsClient::asyncCall): + (DRTDevToolsClient::call): + * DumpRenderTree/chromium/DRTDevToolsClient.h: - Reviewed by Simon Hausmann. +2011-02-22 Andras Becsi - Fixed tests to use QWebSettings::JavascriptCanAccessClipboard instead of QWebSettings::JavaScriptCanAccessClipboard. + Reviewed by Laszlo Gombos. - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::WebPage::WebPage): - (WebCore::WebPage::resetSettings): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setJavaScriptCanAccessClipboard): + [Qt] Redesign the build system + https://bugs.webkit.org/show_bug.cgi?id=51339 -2010-06-01 Alexey Proskuryakov + Part 2. - Reviewed by Mark Rowe. + Build WebCore as a static library, compile the WebKit API and WebKit2 API + in a final step and link to WebKit2, WebCore and JSC libraries to fix + linking issues resulting from stripped away symbols. - A nicer Tiger build fix. + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: Remove superfluous includepaths. - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: - * DumpRenderTree/mac/Configurations/Base.xcconfig: - Enable GCC_OBJC_CALL_CXX_CDTORS via .xcconfig. +2011-02-21 Lukasz Slachciak -2010-06-01 Alexey Proskuryakov + Reviewed by Antonio Gomes. - A real Tiger build fix. + [EFL] Restored spatial navigation option in EWebLauncher since #18662 bug is closed + https://bugs.webkit.org/show_bug.cgi?id=54806 - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Enable GCC_OBJC_CALL_CXX_CDTORS - for all configurations, not just debug. + * EWebLauncher/main.c: + (on_key_down): calling ewk_view_setting_spatial_navigation_set when "F12" pressed added. -2010-06-01 Alexey Proskuryakov +2011-02-21 Dirk Pranke - Tiger build fix. + Reviewed by Kent Tamura. - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Enable GCC_OBJC_CALL_CXX_CDTORS. + nrwt: revert behavior on 10.5 to "old-threads". It's possible + that r79062 has introduced a bunch of flakiness, although I + can't explain why right now. This change should restore the + old behavior, and then we can look at the build logs to see + if the tests stop timing out or being flaky. -2010-06-01 Martin Robinson + https://bugs.webkit.org/show_bug.cgi?id=54925 - Reviewed by Xan Lopez. + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/mac.py: + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: - [GTK] Get more mouse tests passing - https://bugs.webkit.org/show_bug.cgi?id=39040 +2011-02-21 Dirk Pranke - Reproduce the logic from the Windows EventSender for mapping - button numbers to GDK button numbers. Move this logic to the - prepareMouseButtonEvent helper. + Reviewed by Dimitri Glazkov. - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): Reproduce Windows logic. - (contextClickCallback): Move mapping logic to prepareMouseButtonEvent. - (mouseDownCallback): Ditto. - (mouseUpCallback): Ditto. + nrwt: fix typo causing us to try and repeatedly shut down the servers + https://bugs.webkit.org/show_bug.cgi?id=54904 -2010-06-01 Alexey Proskuryakov + * Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py: - Reviewed by Sam Weinig. +2011-02-21 Alejandro G. Castro - https://bugs.webkit.org/show_bug.cgi?id=39434 - REGRESSION (r59811): Geolocation callbacks cannot be created + Reviewed by Csaba Osztrogonác. - * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added MockGeolocationProvider. + REGRESSION(r79157): + plugins/get-url-with-javascript-destroying-plugin.html make the + next test crash + https://bugs.webkit.org/show_bug.cgi?id=54863 - * DumpRenderTree/mac/DumpRenderTree.mm: - (createWebViewAndOffscreenWindow): Tell the view to use MockGeolocationProvider. - (resetWebViewToConsistentStateBeforeTesting): Make sure that mock notifications don't leak - into subsequent tests. + * GNUmakefile.am: - * DumpRenderTree/mac/LayoutTestControllerMac.mm: - (LayoutTestController::setMockGeolocationPosition): Changed to use MockGeolocationProvider. - (LayoutTestController::setMockGeolocationError): Ditto. - - * DumpRenderTree/mac/MockGeolocationProvider.h: Added. - * DumpRenderTree/mac/MockGeolocationProvider.mm: Added. - (+[MockGeolocationProvider shared]): - (-[MockGeolocationProvider dealloc]): - (-[MockGeolocationProvider setPosition:]): - (-[MockGeolocationProvider setError:]): - (-[MockGeolocationProvider registerWebView:]): - (-[MockGeolocationProvider unregisterWebView:]): - (-[MockGeolocationProvider lastPosition]): - (-[MockGeolocationProvider stopTimer]): - (-[MockGeolocationProvider timerFired]): +2011-02-20 Dirk Pranke - * DumpRenderTree/mac/UIDelegate.mm: - (-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]): - This delegate method must send a response. I'm not sure what the two-stage check is supposed - to achieve, it seems unnecessary. + Reviewed by Ojan Vafai. -2010-05-12 Martin Robinson + test-webkitpy: stop skipping a bunch of tests on win32 + https://bugs.webkit.org/show_bug.cgi?id=54788 - Reviewed by Xan Lopez. + * Scripts/webkitpy/common/net/testoutputset_unittest.py: + * Scripts/webkitpy/test/main.py: - [GTK] Double clicks cause three button press events - https://bugs.webkit.org/show_bug.cgi?id=38853 +2011-02-20 Dirk Pranke - WebKit now filters the extra GDK_BUTTON_PRESS before GDK_2BUTTON_PRESS - and GDK_3BUTTON_PRESS via gdk_event_peek(). Since EventSender bypasses - the GDK event queue entirely, we simply do not send the extra event. + Reviewed by Ojan Vafai. - * DumpRenderTree/gtk/EventSender.cpp: - (mouseDownCallback): Do not send extra event. Send GDK_3BUTTON_PRESS appropriately. - (dispatchEvent): Properly handle GDK_3BUTTON_PRESS. + Fix various bugs related to handling of dir separators and real + vs. fake filesystems that were causing test-webkitpy to fail + tests on win32. These bugs have a variety of causes but are + lumped together because they should be easy to review. -2010-06-01 Martin Robinson + https://bugs.webkit.org/show_bug.cgi?id=54700 - Not reviewed. Build fix. + * Scripts/webkitpy/common/net/testoutput.py: + Here we were using os.path.sep but not escaping it prior to + using in a regexp, which caused bad things on win32. + * Scripts/webkitpy/common/net/testoutput_unittest.py: + Same here. + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + Here we were using the native filesystem instead of the mock + filesystem, making some tests unnecessarily platform dependent. + Also we weren't setting the default configuration for the + TestChromiumWinPort. + * Scripts/webkitpy/layout_tests/update_webgl_conformance_tests.py: + Here we *shouldn't* use os.path.join(), just so the code becomes + less platform dependent. + * Scripts/webkitpy/style/checker.py: + Here we should be using os.path.sep instead of "/"; the tests + require the native filesystem. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + Here the underlying code is using os.path.sep, so we probably + should as well. + * Scripts/webkitpy/style/test_expectations_unittest.py: + Here we should be using the filesystem hanging of the port + object (which is the mocked filesystem) rather than the native + one. - Fix GTK+ build caused by a bad merge. +2011-02-20 Anders Carlsson - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): Use the GdkEvent union as a pointer here. + Reviewed by Maciej Stachowiak. -2010-06-01 Martin Robinson + Crash when a plug-in requests a javascript: url that destroys the plug-in + https://bugs.webkit.org/show_bug.cgi?id=54837 + - Reviewed by Xan Lopez. + Add new plug-in test. - [GTK] Double clicks cause three button press events - https://bugs.webkit.org/show_bug.cgi?id=38853 + * DumpRenderTree/DumpRenderTree.gypi: + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: + (PluginTest::NPN_GetURL): + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: + * DumpRenderTree/TestNetscapePlugIn/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp: Added. + (GetURLWithJavaScriptURLDestroyingPlugin::GetURLWithJavaScriptURLDestroyingPlugin): + (GetURLWithJavaScriptURLDestroyingPlugin::NPP_New): + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: - Small EventSender cleanups. Consolidate some common code. Style fixes. +2011-02-19 Patrick Gansterer - * DumpRenderTree/gtk/EventSender.cpp: - (prepareMouseButtonEvent): Added. - (contextClickCallback): Use prepareMouseButtonEvent. - (mouseDownCallback): Use prepareMouseButtonEvent. - (mouseUpCallback): Use prepareMouseButtonEvent. - (mouseMoveToCallback): Small style fix. + Reviewed by Andreas Kling. -2010-06-01 Martin Robinson + Make WinCE a core builder + https://bugs.webkit.org/show_bug.cgi?id=54801 - Reviewed by Xan Lopez. + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: - [GTK] Double clicks cause three button press events - https://bugs.webkit.org/show_bug.cgi?id=38853 +2011-02-19 Lukasz Slachciak - Add rudimentary leapForward support to the GTK+ DRT. leapForward allows a test - to pause for a specified amount of time. It is used in the processing of drag- - -and-drop data as well as to separate distinct mouse double-clicks in some tests. - This patch enables tests that rely on the latter behavior to pass. + Reviewed by Andreas Kling. - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (webViewWindowObjectCleared): Only initialize the EventSender when loading the top frame. - * DumpRenderTree/gtk/EventSender.cpp: - (leapForwardCallback): Add support for adjusting the time offset on leapForward(). - (contextClickCallback): Use sendOrQueueEvent. - (updateClickCount): Take the time offset into account when counting clicks. - (mouseDownCallback): Use sendOrQueueEvent. - (getStateFlags): Change down/currentEventButton into buttonCurrentlyDown/lastClickButton. - (mouseUpCallback): Use sendOrQueueEvent. - (mouseMoveToCallback): Ditto. - (mouseWheelToCallback): Ditto. - (sendOrQueueEvent): Added. - (dispatchEvent): Added. - (replaySavedEvents): Pause when an event has a delay and defer to dispatchEvent. - (makeEventSender): Only initialize the EventSender when loading the top frame. - * DumpRenderTree/gtk/EventSender.h: Ditto. - -2010-06-01 Martin Robinson + Fixed problem with launching EWebLauncher with "run-launcher --efl". Incorrect path referring to non-existing .libs directory ws set. + https://webkit.org/b/54778 - Reviewed by Xan Lopez. + * Scripts/webkitdirs.pm: - [GTK] css1/color_and_background/background_attachment.html fails on the 32-bit debug bot - https://bugs.webkit.org/show_bug.cgi?id=39101 +2011-02-18 David Levin - Work around timing issues for render tree dumps by pumping the - main loop before doing the dump. Resize events are asynchronous - in GTK+, so sometimes resize requests are still pending when DRT - dumps the tree. + Reviewed by Eric Seidel. - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (dump): Pump the main loop before dumping the render tree. + check-webkit-style: Misses brace style error when the line with the { has a } in it. + https://bugs.webkit.org/show_bug.cgi?id=54769 -2010-05-31 Kent Tamura + * Scripts/webkitpy/style/checkers/cpp.py: Fixed the check for the close brace + to only look after the last open brace, so that the open brace in this line + "} else {" will still be able to trigger the error. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added related unit tests. - Reviewed by Dimitri Glazkov. +2011-02-18 Zan Dobersek - [DRT/Chromium] Fix crash of a test after another test with multiple windows - https://bugs.webkit.org/show_bug.cgi?id=39942 + Reviewed by Martin Robinson. - If a test opens multiple windows, focuses on non-main window, and - the focused window is closed, TestShell::m_focusedWidget points a - deleted object. + [Gtk] Re-enable meter tag support + https://bugs.webkit.org/show_bug.cgi?id=54762 - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::closeWindow): Clear m_focusedWidget. + Meter tag is supported on the Gtk port, enable it by default. -2010-05-30 Kent Tamura + * Scripts/build-webkit: - Reviewed by Dimitri Glazkov. +2011-02-18 David Levin - new-run-webkit-tests: Support DRT on Chromium-win - https://bugs.webkit.org/show_bug.cgi?id=39810 + Reviewed by Eric Seidel. - Add --test-shell flag to DRT/Chromium, and it changes DRT so that - it behaves like test_shell about command analysis, printing - format, pixel dumping, and timeout handling. + check-webkit-style falsely complains about WebKitGTK+ public headers + https://bugs.webkit.org/show_bug.cgi?id=54650 - chromium.py and chromium_win.py supports the --test-shell flag and - DRT/Chromium-win binary names. - - * DumpRenderTree/DumpRenderTree.gypi: Add new files. - * DumpRenderTree/chromium/DumpRenderTree.cpp: - (runTest): Support for test_shell-style command. - (main): Introduce --test-shell. - * DumpRenderTree/chromium/TestEventPrinter.cpp: Added. - * DumpRenderTree/chromium/TestEventPrinter.h: Added. - TestEventPrinter class manages stdio output and image output. - TestEventPrinter.cpp has two implementations; DRTPrinter and - TestShellPrinter. - * DumpRenderTree/chromium/TestShell.cpp: - Some changes for TestEventPrinter. - (TestShell::TestShell): - (TestShell::runFileTest): - (TestShell::testTimedOut): - (TestShell::dump): - (TestShell::dumpImage): - * DumpRenderTree/chromium/TestShell.h: - (TestShell::printer): - (TestShell::layoutTestTimeout): - (TestShell::layoutTestTimeoutForWatchDog): - (TestShell::setLayoutTestTimeout): - * DumpRenderTree/chromium/TestShellWin.cpp: - (watchDogThread): Use TestShell::layoutTestTimeoutForWatchDog(). - * Scripts/webkitpy/layout_tests/port/chromium.py: - * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/style/checker.py: Add some exceptions for the gtk files. + * Scripts/webkitpy/style/checkers/cpp.py: Restrict the checks for WEBKIT_API + to the chromium directory (and improved the checks slightly). + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added corresponding tests. -2010-05-30 Robert Hogan +2011-02-18 Dirk Pranke - Reviewed by Kenneth Rohde Christiansen. + Reviewed by James Robinson. - [Qt] Enhance Qt DRT implementation to support platform scroll wheel events. + new-run-webkit-tests: enable multiple processes by default on + mac. This change removes the artificial restrictions we placed + on the # of child processes we used with the old threading + model, and switches to the new message-based model and multiple + processes, where available. If multiple processes are not + available (Leopard / Python 2.5), then we use the 'inline' model + instead of the 'old-threads' model on the 'mac' port or one + process on the 'chromium-mac' port. We need additional testing + to see if the new 'threads' model works reliably and is worth + supporting, or if we should just live with things being slightly + slow. - https://bugs.webkit.org/show_bug.cgi?id=36004 + https://bugs.webkit.org/show_bug.cgi?id=54596 - * DumpRenderTree/qt/EventSenderQt.cpp: - (EventSender::EventSender): QApplication::setWheelScrollLines(2) in order to match - Scrollbar::pixelsPerLineStep() for DRT testing. - (EventSender::mouseScrollBy): Added - (EventSender::continuousMouseScrollBy): Added - * DumpRenderTree/qt/EventSenderQt.h: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/mac.py: + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: -2010-05-28 Adam Barth +2011-02-18 Andrew Wilson - Reviewed by David Levin. + Unreviewed, rolling out r79047. + http://trac.webkit.org/changeset/79047 + https://bugs.webkit.org/show_bug.cgi?id=54596 - webkit-patch should support CHANGE_LOG_EDIT_APPLICATION - https://bugs.webkit.org/show_bug.cgi?id=39546 + Broke canary bots - please watch the canaries the next time + you land this - One sublty is that we want to wait for the user to finish editing the - ChangeLog before moving on to the next step. That means we want to pass - -W to open. However, if the user is using Xcode to edit the ChangeLog, - we don't want them to have to exit the Xcode application. For this reason, - we create a new instance of the application with -n. - - Overall, xed seems like a better solution, so we recommend that too. + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/mac.py: + +2011-02-18 Emil A Eklund + + Reviewed by Darin Adler. + + Crash in EventHandler::sendContextMenuEventForKey + https://bugs.webkit.org/show_bug.cgi?id=54495 - * Scripts/webkitpy/common/system/user.py: - * Scripts/webkitpy/tool/mocktool.py: - * Scripts/webkitpy/tool/steps/editchangelog.py: + Add support for the context menu key (VK_APPS) to EventSender for + platforms that support the key. -2010-05-21 Dirk Pranke + * DumpRenderTree/chromium/EventSender.cpp: + (EventSender::keyDown): + * DumpRenderTree/gtk/EventSender.cpp: + (keyDownCallback): + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::keyDown): + * DumpRenderTree/win/EventSender.cpp: + (keyDownCallback): + +2011-02-18 Dirk Pranke Reviewed by Ojan Vafai. - new-run-webkit-tests: fix handling of Ctrl-C to exit even if some - threads are wedged. Also, the script will print the results of the - tests completed when the interrupt occurs. + new-run-webkit-tests: enable multiple processes by default on mac + https://bugs.webkit.org/show_bug.cgi?id=54596 - https://bugs.webkit.org/show_bug.cgi?id=33238 + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/mac.py: - * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: - * Scripts/webkitpy/layout_tests/layout_package/printing.py: - * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: - * Scripts/webkitpy/layout_tests/run_webkit_tests.py: +2011-02-18 Dirk Pranke -2010-05-28 Darin Adler + Reviewed by Adam Roben. - Ignore more Python messiness. + Skip pretty patch unit tests if ruby isn't installed. - * Scripts/webkitpy/layout_tests/data/platform/test: Added property svn:ignore. - * Scripts/webkitpy/layout_tests/layout_package: Added property svn:ignore. - * Scripts/webkitpy/layout_tests/test_types: Added property svn:ignore. - * Scripts/webkitpy/test: Added property svn:ignore. - * Scripts/webkitpy/thirdparty/simplejson: Added property svn:ignore. + https://bugs.webkit.org/show_bug.cgi?id=54699 -2010-05-28 Chris Fleizach + * Scripts/webkitpy/common/prettypatch_unittest.py: - Reviewed by Beth Dakin. +2011-02-18 Dirk Pranke - Adding myself as a reviewer. + Reviewed by Adam Roben. - * Scripts/webkitpy/common/config/committers.py: + Skip mac.test_skipped_file_paths() when running on win32; the + test has hardcoded '/' directory separators and since it's a + port-specific test and we have coverage on other ports it's not + worth it to make the test more generic. -2010-05-28 Chris Fleizach + https://bugs.webkit.org/show_bug.cgi?id=54698 - Build fix. No review. + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: - AX: need to catch NSAccessibilityExceptions in DRT - https://bugs.webkit.org/show_bug.cgi?id=39881 +2011-02-18 Dirk Pranke - It looks like Tiger doesn't like seeing a NSMakeRange inside a @try. + Reviewed by Adam Roben. - * DumpRenderTree/mac/AccessibilityUIElementMac.mm: - (AccessibilityUIElement::rowIndexRange): - (AccessibilityUIElement::columnIndexRange): - (AccessibilityUIElement::selectedTextRange): + Fix webkitpy.layout_tests.port.config_unittest to work on Win32. -2010-05-28 Chris Fleizach + https://bugs.webkit.org/show_bug.cgi?id=54703 - Reviewed by Darin Adler. + * Scripts/webkitpy/layout_tests/port/config_unittest.py: - AX: need to catch NSAccessibilityExceptions in DRT - https://bugs.webkit.org/show_bug.cgi?id=39881 - - Normally, accessibility exceptions are caught in the AX Runtime on the Mac, but - because DRT is its own AX client, no one is there to catch these otherwise innocuous exceptions. - - So DRT should wrap exception handlers around its AX related calls. - - * DumpRenderTree/mac/AccessibilityUIElementMac.mm: - (attributesOfElement): - (AccessibilityUIElement::getLinkedUIElements): - (AccessibilityUIElement::getDocumentLinks): - (AccessibilityUIElement::getChildren): - (AccessibilityUIElement::getChildrenWithRange): - (AccessibilityUIElement::ariaOwnsElementAtIndex): - (AccessibilityUIElement::ariaFlowToElementAtIndex): - (AccessibilityUIElement::disclosedRowAtIndex): - (AccessibilityUIElement::selectedRowAtIndex): - (AccessibilityUIElement::titleUIElement): - (AccessibilityUIElement::parentElement): - (AccessibilityUIElement::disclosedByRow): - (AccessibilityUIElement::stringAttributeValue): - (AccessibilityUIElement::boolAttributeValue): - (AccessibilityUIElement::isAttributeSettable): - (AccessibilityUIElement::isAttributeSupported): - (AccessibilityUIElement::role): - (AccessibilityUIElement::subrole): - (AccessibilityUIElement::roleDescription): - (AccessibilityUIElement::title): - (AccessibilityUIElement::description): - (AccessibilityUIElement::orientation): - (AccessibilityUIElement::stringValue): - (AccessibilityUIElement::language): - (AccessibilityUIElement::helpText): - (AccessibilityUIElement::x): - (AccessibilityUIElement::y): - (AccessibilityUIElement::width): - (AccessibilityUIElement::height): - (AccessibilityUIElement::clickPointX): - (AccessibilityUIElement::clickPointY): - (AccessibilityUIElement::intValue): - (AccessibilityUIElement::minValue): - (AccessibilityUIElement::maxValue): - (AccessibilityUIElement::valueDescription): - (AccessibilityUIElement::insertionPointLineNumber): - (AccessibilityUIElement::isActionSupported): - (AccessibilityUIElement::isEnabled): - (AccessibilityUIElement::isRequired): - (AccessibilityUIElement::isSelected): - (AccessibilityUIElement::isExpanded): - (AccessibilityUIElement::hierarchicalLevel): - (AccessibilityUIElement::ariaIsGrabbed): - (AccessibilityUIElement::ariaDropEffects): - (AccessibilityUIElement::lineForIndex): - (AccessibilityUIElement::boundsForRange): - (AccessibilityUIElement::stringForRange): - (AccessibilityUIElement::attributesOfColumnHeaders): - (AccessibilityUIElement::attributesOfRowHeaders): - (AccessibilityUIElement::attributesOfColumns): - (AccessibilityUIElement::attributesOfRows): - (AccessibilityUIElement::attributesOfVisibleCells): - (AccessibilityUIElement::attributesOfHeader): - (AccessibilityUIElement::rowCount): - (AccessibilityUIElement::columnCount): - (AccessibilityUIElement::indexInTable): - (AccessibilityUIElement::rowIndexRange): - (AccessibilityUIElement::columnIndexRange): - (AccessibilityUIElement::cellForColumnAndRow): - (AccessibilityUIElement::selectedTextRange): - (AccessibilityUIElement::setSelectedTextRange): - (AccessibilityUIElement::increment): - (AccessibilityUIElement::decrement): - (AccessibilityUIElement::showMenu): - (AccessibilityUIElement::press): - (AccessibilityUIElement::url): - (AccessibilityUIElement::hasPopup): - -2010-05-28 Yael Aharon +2011-02-18 Dirk Pranke - Reviewed by Laszlo Gombos. + Reviewed by Adam Roben. - [Qt] Pass all web notification layout tests - https://bugs.webkit.org/show_bug.cgi?id=39146 + Change the default port we're mocking out on win32 when we + run mock_drt_unittest. Normally we'd default to the + port-specific default, but that would be "win", which doesn't + currently work. - Mimic Chromium's test_shell security model in Qt's DRT. - It makes a list of origins which were granted permission to display - notifications, and only those origins can display notifications. + https://bugs.webkit.org/show_bug.cgi?id=54708 - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::checkPermissionCallback): - (WebCore::requestPermissionCallback): - (WebCore::WebPage::WebPage): - (WebCore::DumpRenderTree::checkPermission): - (WebCore::DumpRenderTree::requestPermission): - * DumpRenderTree/qt/DumpRenderTreeQt.h: - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::reset): - (LayoutTestController::grantDesktopNotificationPermission): - (LayoutTestController::checkDesktopNotificationPermission): - * DumpRenderTree/qt/LayoutTestControllerQt.h: + * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: -2010-05-27 Philippe Normand +2011-02-18 Kenneth Russell - Reviewed by Shinichiro Hamaji. + Reviewed by James Robinson. - check-webkit-style complains about use of NULL in GTK function calls that require sentinels - https://bugs.webkit.org/show_bug.cgi?id=39372 + [chromium] Clean up initialization of minimum timer interval + https://bugs.webkit.org/show_bug.cgi?id=54772 - Don't warn about NULL in g_*() calls. Zero can't be used instead - for calls like g_build_filename and g_object_get/set. + Use new GetForegroundTabTimerInterval function in webkit_support + to reset the minimum timer interval before each test. - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::reset): -2010-05-27 Luiz Agostini +2011-02-18 Dirk Pranke - Reviewed by Kenneth Rohde Christiansen. + Reviewed by Adam Roben. - [Qt] Platform plugin example - https://bugs.webkit.org/show_bug.cgi?id=39489 + r78494 fixed the chromium_win unittest failing under win32, + but not cygwin. This fixes cygwin as well. - Exempting directory WebKit/qt/examples/ from style guide. + https://bugs.webkit.org/show_bug.cgi?id=54652 - * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: -2010-05-26 Philippe Normand +2011-02-18 Dirk Pranke - Reviewed by David Levin. + Reviewed by Ojan Vafai, Mihai Parparita. - [style] Allow usage of NULL in gst_*_many() - https://bugs.webkit.org/show_bug.cgi?id=39740 + new-run-webkit-tests: r78522 made it impossible to create a + 'chromium-win' or 'chromium-mac' port; they would always get the + version tacked on to the end. It turns out that we actually need + to be able to create these ports in order for + rebaseline-chromium-webkit-tests to work correctly given the + broken coverage of our layout bots. As soon as we get SL and + Win 7 bots running reliably on the canaries, we can get rid of + this change. Note that we only need to change the chromium_mac + and win ports because linux doesn't yet use versions and that + script doesn't work with non-chromium ports. - Don't warn if NULL is used by gst_*_many() functions. Zero can't - be used for the reason explained in Bug 32858. + Also, this change fixes a bug where we were using + "platform/chromium-win-win7" and + "platform/chromium-mac-snowleopard" as the baseline dirs for + Win 7 and SL; we should've been using the generic directories + instead since they are the newest versions of the os's. - * Scripts/webkitpy/style/checkers/cpp.py: - * Scripts/webkitpy/style/checkers/cpp_unittest.py: + https://bugs.webkit.org/show_bug.cgi?id=54691 -2010-05-27 Adam Barth + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: - Reviewed by Eric Seidel. +2011-02-16 MORITA Hajime + + Reviewed by Kent Tamura. + + [Chromium][DRT] some PostDelayedTask() accesses possibly dangling this pointer. + http://webkit.org/b/53899 - Update script to run the normal version of the parser tests. + Replaced static invocation wrappers with MethodTask objects, + which are removed on WebViewHost destructor. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::requestCheckingOfText): + (WebViewHost::scheduleAnimation): + (WebViewHost::closeWidgetSoon): + * DumpRenderTree/chromium/WebViewHost.h: + (WebViewHost::HostMethodTask::HostMethodTask): + (WebViewHost::HostMethodTask::runIfValid): + (WebViewHost::taskList): - * Scripts/test-html5-parser: +2011-02-07 Hayato Ito -2010-05-27 Adam Barth + Reviewed by Ojan Vafai. - Reviewed by Eric Seidel. + Get rid of code which writes test results from test_type's + compare_output() method. + Writing test results now happens in single_test_runner, using + newly introduced test_result_writer module. - Add HTML5 parser support to run-webkit-tests - https://bugs.webkit.org/show_bug.cgi?id=39815 + Subsequent patches will eliminate test_type/* classes. - * Scripts/old-run-webkit-tests: + https://bugs.webkit.org/show_bug.cgi?id=53908 -2010-05-26 Adam Barth + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + * Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py: Added. + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: - Reviewed by Eric Seidel. +2011-02-17 Dirk Pranke + + Reviewed by Adam Roben. - Make HTML5 lexer not ASSERT when resuming partial parses - https://bugs.webkit.org/show_bug.cgi?id=39755 + Add blacklist of remaining webkitpy/* modules that fail on + Win32, so that test-webkitpy will at least run cleanly. - Add webkit-resumer.html to the HTML5 parser test suite. + https://bugs.webkit.org/show_bug.cgi?id=54709 - * Scripts/test-html5-parser: + * Scripts/webkitpy/layout_tests/test/main.py: -2010-05-24 Tony Chang +2011-02-17 Simon Fraser - Reviewed by Kent Tamura. + Reviewed by Sam Weinig. - [chromium] setup fonts on chromium linux DRT - https://bugs.webkit.org/show_bug.cgi?id=39644 + Set a preference to ensure that scrollbars are in a predictable + state for DRT. - * DumpRenderTree/chromium/TestShellGtk.cpp: - (setupFontconfig): - (platformInit): - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::paintRect): Fix a bug where in release builds, we didn't initialize m_canvas. - * DumpRenderTree/chromium/fonts.conf: Added. + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetDefaultsToConsistentValues): -2010-05-24 Dirk Pranke +2011-02-17 Dirk Pranke - Reviewed by Dimitri Glazkov. + Reviewed by Adam Roben. - Re-commit r58765 - it had been rolled out to see if it was causing - a perf regression (in r59787 and r59789), but that does not seem to - have been the case. + test-webkitpy doesn't work with the multiprocessing module on win32 + or cygwin, so we skip it for now. - https://bugs.webkit.org/show_bug.cgi?id=39605 + https://bugs.webkit.org/show_bug.cgi?id=54520 - * DumpRenderTree/chromium/NotificationPresenter.cpp: - (NotificationPresenter::show): + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/run_webkit_tests_unittest.py: -2010-05-25 Ojan Vafai +2011-02-17 Dirk Pranke - Reviewed by Chris Jerdonek. + Reviewed by Adam Roben. - remove suppression of rietveld logging - https://bugs.webkit.org/show_bug.cgi?id=39693 + Fix version, baseline_search_path for chromium-win-win7. Also + fix chromium_win_unittests, and fix port_testcase.make_port() + to correctly use the options passed into it and only set + results_directory() if necessary. - Now that we only upload to rietveld explicitly, e.g. on the bot - or via webkit-patch post-attachment-to-rietveld, we should print - all the rietveld logging. It was suppressed before to avoid making - webkit-patch upload too noisy. + https://bugs.webkit.org/show_bug.cgi?id=54652 - * Scripts/webkitpy/common/net/rietveld.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: -2010-05-25 Antonio Gomes +2011-02-17 Dirk Pranke Reviewed by Ojan Vafai. - [Qt] Expose the editing behavior setting in DRT to test all editing code paths - https://bugs.webkit.org/show_bug.cgi?id=39680 + Fix a hang in new-run-webkit-tests when run with + --dry-run --worker-model=processes - Implement LayoutTestController::setEditingBehavior in Qt's DRT. + https://bugs.webkit.org/show_bug.cgi?id=54595 - * DumpRenderTree/qt/DumpRenderTreeQt.cpp: - (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::setEditingBehavior): + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: -2010-05-25 Kevin Ollivier +2011-02-17 Kevin Ollivier - [wx] Build fix after API change and addition of WebCore/platform/text/transcoder dir. + [wx] Build fixes after recent changes. * DumpRenderTree/wx/LayoutTestControllerWx.cpp: - (LayoutTestController::setEditingBehavior): + (LayoutTestController::setMinimumTimerInterval): * wx/build/settings.py: -2010-05-24 Antonio Gomes +2011-02-17 Csaba Osztrogonác - Reviewed by Eric Seidel and Kent Tamura (for the Chromium part). - - editingBehavior settings needs to be set back to a reasonable default between tests - https://bugs.webkit.org/show_bug.cgi?id=39433 - - Similarly to r59861, hard code the default setting during reset for Gtk and Chromium, - so that the serialized version of the setting stays in sync with expectations. + Reviewed by Andreas Kling. - * DumpRenderTree/chromium/TestShell.cpp: - (TestShell::resetWebSettings): - * DumpRenderTree/gtk/DumpRenderTree.cpp: - (resetDefaultsToConsistentValues): + [Qt] ImageDiff sometimes hangs + https://bugs.webkit.org/show_bug.cgi?id=54641 -2010-05-24 Eric Seidel + * DumpRenderTree/qt/ImageDiff.cpp: Clear actualImage and baselineImage after all comparison. + (main): - Reviewed by Adam Barth. +2011-02-17 Peter Varga - webkit-patch land calls scm.changed_files 4 times! - https://bugs.webkit.org/show_bug.cgi?id=39584 + Reviewed by Csaba Osztrogonác. - * Scripts/webkitpy/tool/commands/download_unittest.py: - - Assert that we don't call modified_changelogs too often. - * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py: - - Use cached changelogs list instead of calling modified_changelogs directly. - * Scripts/webkitpy/tool/steps/validatereviewer.py: - - ditto. + The run-sunspider --v8-suite doesn't work + https://bugs.webkit.org/show_bug.cgi?id=54660 -2010-05-24 Kent Tamura + * Scripts/run-sunspider: - Reviewed by Dimitri Glazkov. +2011-02-17 Gabor Rapcsanyi - [DRT/Chromium] Import layout_test_helper for Windows - https://bugs.webkit.org/show_bug.cgi?id=39581 + Reviewed by Csaba Osztrogonác. - Import Chromium win/layout_test_helper.cc as LayoutTestHelperWin.cpp. - http://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/test_shell/win/layout_test_helper.cc + [NRWT] Fix environment setup on Qt port. + https://bugs.webkit.org/show_bug.cgi?id=54549 - * DumpRenderTree/chromium/LayoutTestHelperWin.cpp: Added. + * Scripts/webkitpy/layout_tests/port/qt.py: -2010-05-24 Kent Tamura +2011-02-16 Yael Aharon - Reviewed by Dimitri Glazkov. + Reviewed by Andreas Kling. - [DRT/Chromium] Reset frame name - https://bugs.webkit.org/show_bug.cgi?id=39586 + [Qt] Enable tiled backing store by default in MiniBrowser. + https://bugs.webkit.org/show_bug.cgi?id=54581 - This change fixes about 70 unexpected results. + Instead of a flag to turn it on, a new flag is defined to turn + tiled backing store off. - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::reset): + * MiniBrowser/qt/MiniBrowserApplication.cpp: + (MiniBrowserApplication::handleUserOptions): + * MiniBrowser/qt/MiniBrowserApplication.h: + (WindowOptions::WindowOptions): -2010-05-24 Marcus Bulach +2011-02-16 Eric Seidel - Reviewed by Kent Tamura. + Reviewed by Mihai Parparita. - [chromium] Adds WebGeolocationServiceMockImpl to remove public dependency on wtf/HashMap.h - https://bugs.webkit.org/show_bug.cgi?id=39587 + flaky test archive uploads are always 22 bytes long + https://bugs.webkit.org/show_bug.cgi?id=54593 - * DumpRenderTree/chromium/WebViewHost.cpp: - (WebViewHost::geolocationService): + Speculative fix for the 22-bytes bug. -2010-05-24 Robert Hogan + * Scripts/webkitpy/tool/bot/flakytestreporter.py: - Reviewed by Laszlo Gombos. +2011-02-16 Anna Cavender - [Qt] DRT Support for removeOriginAccessWhitelistEntry + Reviewed by Mihai Parparita. - Unskips http/tests/xmlhttprequest/origin-whitelisting-removal.html + http/tests/media should be served over HTTP (not from local file) + https://bugs.webkit.org/show_bug.cgi?id=54028 - [Qt] DRT Support for removeOriginAccessWhitelistEntry - https://bugs.webkit.org/show_bug.cgi?id=39565 + Removed special file:// treatment of http/tests/media - * DumpRenderTree/qt/LayoutTestControllerQt.cpp: - (LayoutTestController::removeOriginAccessWhitelistEntry): + * Scripts/old-run-webkit-tests: + * Scripts/webkitpy/layout_tests/port/base.py: -2010-05-24 Marcus Bulach +2011-02-16 Mihai Parparita Reviewed by Ojan Vafai. - _svn_branch_has_extra_commits needs to check for ^HEAD instead of ^head. - https://bugs.webkit.org/show_bug.cgi?id=39603 + ChangeLog.parse_latest_entry_from_file does not handle rolled over ChangeLogs + https://bugs.webkit.org/show_bug.cgi?id=54609 + + r78737 rolled over ChangeLogs, and webkit-patch complains when landing + patches such as this one that are the first to add an entry to the + ChangeLog (since they don't see a second date line to know where the + entry ends). - * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/changelog.py: + * Scripts/webkitpy/common/checkout/changelog_unittest.py: -== Rolled over to ChangeLog-2010-05-24 == +== Rolled over to ChangeLog-2011-02-16 == diff --git a/Tools/ChangeLog-2011-02-16 b/Tools/ChangeLog-2011-02-16 new file mode 100644 index 0000000..c736f76 --- /dev/null +++ b/Tools/ChangeLog-2011-02-16 @@ -0,0 +1,32779 @@ +2011-02-16 Anders Carlsson + + Reviewed by Adam Roben. + + Assertion failure in DrawingAreaImpl::display when calling WKPageForceRepaint on a page that uses accelerated compositing + https://bugs.webkit.org/show_bug.cgi?id=54575 + + + Add test. + * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: + * TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp: Added. + (TestWebKitAPI::didForceRepaint): + (TestWebKitAPI::didFinishLoadForFrame): + (TestWebKitAPI::TEST): + * TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html: Added. + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * TestWebKitAPI/win/copy-resources.cmd: + +2011-02-16 Sergio Villar Senin + + Reviewed by Martin Robinson. + + [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader + https://bugs.webkit.org/show_bug.cgi?id=54537 + + Added handler for resource-request-starting emitted in + FrameLoader's willSendRequest(). The current implementation + removes the headers set in setWillSendRequestClearHeader. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (willSendRequestCallback): + (createWebView): + +2011-02-16 Csaba Osztrogonác + + Reviewed by Andreas Kling. + + [Qt] Qt build system can't handle removing headers from tree + https://bugs.webkit.org/show_bug.cgi?id=54466 + + * Scripts/build-webkit: Remove Qt makefiles from productDir before build. + +2011-02-16 Ilya Tikhonovsky + + Reviewed by Yury Semikhatsky. + + Web Inspector: chromium: DRT is crashing on the tests in inspector-enabled folder. + https://bugs.webkit.org/show_bug.cgi?id=54548 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::runFileTest): + +2011-02-16 Sheriff Bot + + Unreviewed, rolling out r77898. + http://trac.webkit.org/changeset/77898 + https://bugs.webkit.org/show_bug.cgi?id=54541 + + Leopard Debug hasn't compiled for a long time (Requested by + abarth on #webkit). + + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-02-15 Xianzhu Wang + + Reviewed by Kent Tamura. + + Fixed a small bug about --no-timeout option. + https://bugs.webkit.org/show_bug.cgi?id=52873 + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (main): + +2011-02-15 Kenneth Russell + + Reviewed by Darin Fisher. + + Allow controlling minimum DOMTimer interval on a per-page basis + https://bugs.webkit.org/show_bug.cgi?id=54312 + + Implemented new method setMinimumTimerInterval in + LayoutTestController for all ports. + + * DumpRenderTree/LayoutTestController.cpp: + (setMinimumTimerIntervalCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::setMinimumTimerInterval): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::reset): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setMinimumTimerInterval): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetWebViewToConsistentStateBeforeTesting): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setMinimumTimerInterval): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::resetSettings): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setMinimumTimerInterval): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/DumpRenderTree.cpp: + (resetWebViewToConsistentStateBeforeTesting): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setMinimumTimerInterval): + +2011-02-15 Martin Robinson + + Reviewed by Xan Lopez. + + [Freetype] Better map CSS font weight to Fontconfig font weight + https://bugs.webkit.org/show_bug.cgi?id=54323 + + Add the WeightWatcher fonts to the list of sourced fonts when intializing + DRT. This will allow us to pass tests that use WeightWatcher. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (initializeFonts): Source the WebkitWeightWatcher fonts. + +2011-02-15 Dirk Pranke + + Reviewed by Tony Chang. + + Make new-run-webkit-tests --processes work under Windows' weird + multiprocessing model. This requires us to be running a Python + file that can be imported as a module, so I've modified the + new-run-webkit-tests script to spawn a subprocess runing + webkitpy.layout_tests.run_webkit_tests.py. I've also modified + the manager_worker_broker tests because you can't pickle a + nested class. This requires us to use globals to pass queues + back and forth for testing, but the alternative is to pass extra + arguments to start_worker() and that feels like a bad tradeoff + just for testing. + + https://bugs.webkit.org/show_bug.cgi?id=54431 + + * Scripts/new-run-webkit-tests: + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: + +2011-02-15 Brady Eidson + + Reviewed by Darin Adler. + + and https://bugs.webkit.org/show_bug.cgi?id=54426 + WebFrameLoaderClient::shouldGoToHistoryItem needs implementation + + Add dummy implementations to keep our tools building. + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + +2011-02-15 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style should do some detection for valid uses of WEBKIT_API (in chromium public api). + https://bugs.webkit.org/show_bug.cgi?id=52271 + + * Scripts/webkitpy/style/checkers/cpp.py: Added the check for WEBKIT_API usage. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests. + +2011-02-14 Dirk Pranke + + Unreviewed, build fix. + + Fix minor regression introduced in r78522. For some reason, Python + provides a platform.mac_ver() routine on Linux, so we need to + check to make sure it's returning something in addition to + checking for its existence. + + * Scripts/webkitpy/layout_tests/port/mac.py: + +2011-02-14 Dirk Pranke + + Reviewed by Mihai Parparita. + + Clean up the way we handle platform names in + new-run-webkit-tests. Previously, if you specified + '--platform mac' or '--platform chromium-mac' on the command + line, it would use that platform name to determine baseline search + paths, etc. This is almost never the right thing to do, because + it ignores the existence of version-specific baselines. + + So, I changed this so that ports that support versions must + always use a version, and the version should default to the + version of the operating system that the port is being run on + (e.g., if you're running on Leopard, then passing '--platform + mac' will default to the 'mac-leopard' port). This means that + port.name() should always include a version-specific suffix if + the port supports versions. + + However, we still support things like '--platform mac' as input + so that the user doesn't have to explicitly specify a version, + both for convenience and so we don't have to make buildbot + configs more complicated than they already are. + + Also, I cleaned up how the baselines were being searched + on the chromium-mac port (this is one of the two bugs that + prompted this refactoring), and made the logic easier to follow + and more consistent across the mac and chromium ports + + Lastly, I added a port.get_all_names() method that could be used + to get the names of all of the ports to search, rather than having + to guess (incorrectly) from the list of directories under + LayoutTests/platform (this last thing was necessary because the + deduplicate_tests unittest broke as the fallback dirs changed). + + https://bugs.webkit.org/show_bug.cgi?id=54248 + + * Scripts/webkitpy/layout_tests/deduplicate_tests.py: + * Scripts/webkitpy/layout_tests/port/factory.py: + * Scripts/webkitpy/layout_tests/port/factory_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: + * Scripts/webkitpy/layout_tests/port/mac.py: + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + +2011-02-14 Dirk Pranke + + Reviewed by Adam Barth. + + update-webkit hangs in a git-only checkout + + Previously it would hang forever trying to do a 'git svn + rebase'. Now, it will default to a 'git pull' if the + svn-remote.svn.fetch variable isn't set, and bail out if it + doesn't know where to pull from. + + https://bugs.webkit.org/show_bug.cgi?id=54265 + + * Scripts/update-webkit: + * Scripts/VCSUtils.pm: + +2011-02-14 Dirk Pranke + + Reviewed by Mihai Parparita. + + This patch modifies NRWT's Worker clas to use the new + WorkerMixin class to actually run tests. With this patch, the + multiprocess version of NRWT is fully functional and just needs + the values for --worker-model and --child-processes to be corrected + in the port/* classes to start using the new code by default. + + https://bugs.webkit.org/show_bug.cgi?id=54082 + + * Scripts/webkitpy/layout_tests/layout_package/worker.py: + +2011-02-14 Dirk Pranke + + Reviewed by Mihai Parparita. + + This patch shuffles code out of dump_render_tree_thread and + single_test_runner and into a new worker_mixin class that will + be shared by both TestShellThread and Worker. This change + restores single_test_runner to its state as of r77606 - it is + stateless again. It also prunes TestShellThread to pretty much + just the logic used for the original shared-memory access. + + https://bugs.webkit.org/show_bug.cgi?id=54079 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + * Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py: Added. + +2011-02-14 Dirk Pranke + + Reviewed by Ojan Vafai. + + This patch updates NRWT to add per-worker and per-shard test stats + into TestRunner2, bringing it to parity with TestRunner. + + https://bugs.webkit.org/show_bug.cgi?id=54074 + + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + +2011-02-14 Dirk Pranke + + Reviewed by Tony Chang. + + nrwt multiprocessing: add code to handle interrupts and wedged + threads. + https://bugs.webkit.org/show_bug.cgi?id=54072 + + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: + Adds the cancel(), is_alive(), join(), and log_wedged_worker() + methods to the WorkerConnection class + + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + * Scripts/webkitpy/layout_tests/layout_package/worker.py: + Adds the cancel() method to the Worker class + +2011-02-14 Dirk Pranke + + Reviewed by Tony Chang. + + update the NRWT multiprocessing code to spawn multiple workers + instead of just using one. + + https://bugs.webkit.org/show_bug.cgi?id=54071 + + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + +2011-02-12 Chang Shu + + Unreviewed. + + Update my own email addresses and IRC nickname. + + * Scripts/webkitpy/common/config/committers.py: + +2011-02-11 Dirk Pranke + + Reviewed by Tony Chang. + + This patch adds to NRWT most of the support needed to run the new + message-based workers in separate threads or processes. The code + isn't fully complete yet because we don't support cancel() or + is_alive(). + + https://bugs.webkit.org/show_bug.cgi?id=54070 + + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/mock_drt.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-02-11 Sailesh Agrawal + + Reviewed by Kenneth Russell. + + plugins/invalidate_rect.html fails on chromium-mac + https://bugs.webkit.org/show_bug.cgi?id=54051 + + This change fixes the invalidate_rect.html test failure on Windows. + + There were two problems. First, the test specified that the plugin was window less by doing . The windowedPlugin parameter was never being read by the plugin. Fix was to simply set the NPPVpluginWindowBool variable based on the parameter. + + The second problem was that the plugin never handled paint events on Windows. Fix was to simply copy the Mac code to handle paint events. + + This change also updates the build path in chromium_win.py to use the new Source directory. + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + (invalidateRect): + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + (handleEventWin): + (NPP_HandleEvent): + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + +2011-02-11 Csaba Osztrogonác + + Reviewed by Andreas Kling. + + [Qt] Increase the timeout of Qt API tests to 120 seconds. + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2011-02-10 Zhenyao Mo + + Unreviewed, build fix. + + * DumpRenderTree/DumpRenderTree.gypi: + +2011-02-10 Dirk Pranke + + Reviewed by Tony Chang. + + This patch adds the bulk of the remaining functionality for + the NRWT message-passing implementation. The patch adds a new + Worker class that will eventually replace the TestShellThread + class in dump_render_tree_thread.py, and implements enough of + TestRunner2 and the inline version of the manager_worker_broker + to actually be able to send a full set of messages back and + forth. The Worker stubs do not actually run tests, and there's + lots of error handling and stats needed, but this is the core + logic. + + https://bugs.webkit.org/show_bug.cgi?id=54068 + + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + * Scripts/webkitpy/layout_tests/layout_package/worker.py: Added. + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-02-10 Zhenyao Mo + + Unreviewed, build fix. + + * DumpRenderTree/DumpRenderTree.gypi: + +2011-02-10 Zhenyao Mo + + Unreviewed, build fix. + + * DumpRenderTree/DumpRenderTree.gypi: + +2011-02-10 Zhenyao Mo + + Unreviewed, attempt to fix crashing plugin tests. + + * DumpRenderTree/DumpRenderTree.gypi: + +2011-02-10 Zhenyao Mo + + Unreviewed, build fix. + + * DumpRenderTree/DumpRenderTree.gypi: + +2011-02-10 Sam Weinig + + Try and fix some crashing tests on the chromium build bot. + + * DumpRenderTree/DumpRenderTree.gypi: + +2011-02-10 Anders Carlsson + + Reviewed by Sam Weinig. + + Log an error if a plug-in test can't be found + https://bugs.webkit.org/show_bug.cgi?id=54252 + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: + (PluginTest::create): + Return null if the test wasn't found. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + Report an error if PluginTest::create returns null. + +2011-02-10 Robert Hogan + + Reviewed by Laszlo Gombos. + + [Qt] Return menu items from eventSender.contextMenu() + https://bugs.webkit.org/show_bug.cgi?id=53039 + + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::contextClick): + * DumpRenderTree/qt/EventSenderQt.h: + +2011-02-10 Adam Roben + + Test showing and hiding the find indicator on Windows + + Test for REGRESSION (r78198): Crash in + FindIndicator::contentImage when scrolling page + + Reviewed by Steve Falkenburg. + + * TestWebKitAPI/Tests/WebKit2/win/HideFindIndicator.cpp: Added. + (TestWebKitAPI::didFinishLoadForFrame): Record that the load finished. + (TestWebKitAPI::findIndicatorCallback): Record that the callback was called, and save the + bitmap. + (TestWebKitAPI::initialize): Hook up our callbacks. + (TestWebKitAPI::TEST): Test showing then hiding the find indicator to see if we crash. + + * TestWebKitAPI/PlatformWebView.h: + * TestWebKitAPI/mac/PlatformWebViewMac.mm: + (TestWebKitAPI::PlatformWebView::page): + * TestWebKitAPI/win/PlatformWebViewWin.cpp: + (TestWebKitAPI::PlatformWebView::page): + Made page a const member function. + + * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added the new test. + +2011-02-10 Mario Sanchez Prada + + Reviewed by Martin Robinson. + + [GTK] Log signals from AtkDocument interface also in AccessibilityController + https://bugs.webkit.org/show_bug.cgi?id=54198 + + Trace AtkDocument's signals emission through AccessibilityController. + + Also, taken the code related to adding and removing global + listeners for ATK signals out to a separate file, for the sake of + clarity and to ease future additions. + + * DumpRenderTree/gtk/AccessibilityCallbacks.h: Added. + * DumpRenderTree/gtk/AccessibilityCallbacks.cpp: Added + (printAccessibilityEvent): Print information about an event. + (axObjectEventListener): Global listener for AtkObject's signals. + (axDocumentEventListener): Global listener for AtkDocument's signals. + (connectAccessibilityCallbacks): Connect all global listeners. + (disconnectAccessibilityCallbacks): Disconnect all global listeners. + + * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: + (AccessibilityController::setLogAccessibilityEvents): Call to + connectAccessibilityCallbacks and disconnectAccessibilityCallbacks. + + * GNUmakefile.am: Added new files. + +2011-02-09 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] Default error page is interfering with tests which require failed loads + https://bugs.webkit.org/show_bug.cgi?id=54157 + + Disable the default error page during DRT runs. This prevents unexpected loads + from interfering with tests that have planned failed loads. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (webViewLoadError): Added, disable default handler. + (createWebView): Connect the new load-error handler. + +2011-02-10 Zoltan Horvath + + Reviewed by Andreas Kling. + + [Qt] Add UrlLoader and command line argument handling to MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=54192 + + Copy and modify files from QtTestBrowser's implementation. + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::newWindow): + * MiniBrowser/qt/BrowserWindow.h: + * MiniBrowser/qt/MiniBrowser.pro: + * MiniBrowser/qt/MiniBrowserApplication.cpp: Copied from QtTestBrowser/launcherwindow.cpp + (MiniBrowserApplication::MiniBrowserApplication): + (MiniBrowserApplication::handleUserOptions): + * MiniBrowser/qt/MiniBrowserApplication.h: Copied from QtTestBrowser/launcherwindow.h + (WindowOptions::WindowOptions): + (MiniBrowserApplication::urls): + (MiniBrowserApplication::isRobotized): + (MiniBrowserApplication::robotTimeout): + (MiniBrowserApplication::robotExtraTime): + * MiniBrowser/qt/UrlLoader.cpp: Copied from QtTestBrowser/urlloader.cpp + (UrlLoader::UrlLoader): + (UrlLoader::loadNext): + (UrlLoader::checkIfFinished): + (UrlLoader::frameLoadStarted): + (UrlLoader::frameLoadFinished): + (UrlLoader::loadUrlList): + (UrlLoader::getUrl): + * MiniBrowser/qt/UrlLoader.h: Copied from QtTestBrowser/urlloader.h + * MiniBrowser/qt/main.cpp: + (main): + * MiniBrowser/qt/utils.cpp: Copied from QtTestBrowser/utils.cpp + (takeOptionValue): + (formatKeys): + (enumToKeys): + (appQuit): + (urlFromUserInput): + * MiniBrowser/qt/utils.h: Copied from QtTestBrowser/utils.h + +2011-02-10 Zoltan Horvath + + Reviewed by Andreas Kling. + + check-webkit-style: Add -build/include exemption for Tools/MiniBrowser/qt + https://bugs.webkit.org/show_bug.cgi?id=54200 + + * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/style/checker_unittest.py: + +2011-02-10 Peter Varga + + Reviewed by Csaba Osztrogonác. + + Remove PCRE source from trunk + https://bugs.webkit.org/show_bug.cgi?id=54188 + + * wx/build/settings.py: + +2011-02-10 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style should be able to figure out function modifiers and return type. + https://bugs.webkit.org/show_bug.cgi?id=54124 + + * Scripts/webkitpy/style/checkers/cpp.py: + (_rfind_in_lines): A way to search backwards in lines. + (_FunctionState.modifiers_and_return_type): + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests for the new functionality. + +2011-02-09 Adam Roben + + Test that WM_PRINT doesn't trigger an assertion + + Test for WM_PRINT doesn't work with new + drawing area (assertion failure in DrawingAreaProxyImpl in Debug builds) + + Reviewed by Darin Adler. + + * TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp: Added. + (TestWebKitAPI::TEST): Send a WM_PRINT message to a WKView. + +2011-02-09 Adam Roben + + Test that having a WKView paint after being resized while hidden doesn't cause a crash + + Test for Crash in + DrawingAreaProxyImpl::paint when WKView paints after being resized while hidden + + Reviewed by Darin Adler. + + * TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp: + (TestWebKitAPI::TEST): Force the WKView to paint after resizing it while hidden. + +2011-02-09 Adam Roben + + Add a test that resizes a WKView while it's hidden + + Test for WKView draws at wrong size, + performs badly if is resized while hidden (assertion fails in + BackingStore::incorporateUpdate in Debug builds) + + Reviewed by Darin Adler. + + * TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp: Added. + (TestWebKitAPI::didFinishLoadForFrame): Record that the load finished. + (TestWebKitAPI::setPageLoaderClient): Hook up our didFinishLoadForFrame callback. + (TestWebKitAPI::flushMessages): Load a URL and wait for the load to complete. This ensures + that all pending messages have been handled by the UI and web process. + (TestWebKitAPI::timerCallback): Kill the timer and record that it fired. + (TestWebKitAPI::runForDuration): Set a timer and run the run loop until it fires. + (TestWebKitAPI::waitForBackingStoreUpdate): Wait for half a second to give the web process a + chance to display, then flush all pending messages. + (TestWebKitAPI::TEST): Resize the WKView while it's hidden, then show it again and wait for + the backing store to update. This triggers the assertion from bug 54141. + + * TestWebKitAPI/win/PlatformWebViewWin.cpp: + (TestWebKitAPI::PlatformWebView::resizeTo): Implemented. + + * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added new test. + +2011-02-10 Philippe Normand + + Unreviewed, GTK build fix after roll out of r78157... + + * GNUmakefile.am: + +2011-02-10 Eric Seidel + + Unreviewed, rolling out r78157. + http://trac.webkit.org/changeset/78157 + https://bugs.webkit.org/show_bug.cgi?id=54150 + + Fails on a bunch of bots + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSDestroyingPluginFromDestroyStream.cpp: Removed. + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2011-02-10 Mario Sanchez Prada + + Reviewed by Xan Lopez. + + [GTK] Reset GTK' DRT's AccessibilityController to consistent value before every test + https://bugs.webkit.org/show_bug.cgi?id=54185 + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + +2011-02-10 Philippe Normand + + Unreviewed GTK build fix. + + Adding + Tools/DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSDestroyingPluginFromDestroyStream.cpp + in the build, fixing the + plugins/npruntime/evaluate-js-destroying-plugin-from-destroy-stream.html + test. + + * GNUmakefile.am: + +2011-02-10 Mario Sanchez Prada + + Reviewed by Chris Fleizach. + + [GTK] Add support in DRT to log "accessibility events" + https://bugs.webkit.org/show_bug.cgi?id=54116 + + Added a way to log accessibility related events, in a + platform-dependant way. + + Add new function to AccessibilityController. + + * DumpRenderTree/AccessibilityController.h: + * DumpRenderTree/AccessibilityController.cpp: + (logAccessibilityEventsCallback): New callback. + (AccessibilityController::getJSClass): Added new function. + (AccessibilityController::resetToConsistentState): Initialized + calling setLogAccessibilityEvents(false). + + Provided implementation for the GTK port. + + * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: + (accessibility_event_listener): Common listener for logging + information about all the signals emitted by any AtkObject. + (AccessibilityController::setLogAccessibilityEvents): Add or + remove listeners for signals, as specified by the parameter. + + Provide dummy implementations for mac and win ports. + + * DumpRenderTree/mac/AccessibilityControllerMac.mm: + (AccessibilityController::setLogAccessibilityEvents): + * DumpRenderTree/win/AccessibilityControllerWin.cpp: + (AccessibilityController::setLogAccessibilityEvents): + +2011-02-09 Hayato Ito + + Reviewed by Tony Chang. + + [NRWT] Remove encoding parameters where we can assume data can be + written in binary mode. + + https://bugs.webkit.org/show_bug.cgi?id=54066 + + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + * Scripts/webkitpy/layout_tests/port/base.py: + +2011-02-09 Dirk Pranke + + Reviewed by Tony Chang. + + nrwt multiprocessing: minor cleanup prior to implementing the new worker + + This patch renames AbstractManager to ManagerConnection and + changes some argument names to be more consistent between + manager_worker_broker and message_broker. It also fixes a couple + of typos in message_broker. These changes will be tested by code + introduced in the next patch. + + https://bugs.webkit.org/show_bug.cgi?id=54067 + + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker2.py: + +2011-02-09 Anders Carlsson + + Reviewed by Sam Weinig. + + Repro crash with Sony Google TV ad at Gizmodo + https://bugs.webkit.org/show_bug.cgi?id=54150 + + + Add a new plug-in test that runs JavaScript that destroys the plug-in from within its NPN_DestroyStream callback. + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSDestroyingPluginFromDestroyStream.cpp: Added. + (EvaluateJSDestroyingPluginFromDestroyStream::EvaluateJSDestroyingPluginFromDestroyStream): + (EvaluateJSDestroyingPluginFromDestroyStream::NPP_Destroy): + (EvaluateJSDestroyingPluginFromDestroyStream::NPP_DestroyStream): + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2011-02-09 David Levin + + Reviewed by Eric Seidel. + + check-webkit-style: The error message about NULL should be more clear for comments. + https://bugs.webkit.org/show_bug.cgi?id=53786 + + * Scripts/webkitpy/style/checkers/cpp.py: Clarified the error message. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Fixed the corresponding test. + +2011-02-09 Nebojsa Ciric + + Reviewed by Darin Fisher. + + Implements Locale object of JavaScript internationalization API proposal, as an + v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h}) + and in this patch we just provide flags, tests and build rules for chromium port. + https://bugs.webkit.org/show_bug.cgi?id=49414 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): + +2011-02-09 Laszlo Gombos + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Remove UiTools dependency from MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=54096 + + * MiniBrowser/qt/MiniBrowser.pro: + +2011-02-08 Hayato Ito + + Reviewed by Tony Chang. + + [NRWT] Pull up rebaseline code from compare_output() function defined + in text_diff.py and image_diff.py into a SingleTestRunner. + + This patch is a first step for eliminating test_type/* classes. + + https://bugs.webkit.org/show_bug.cgi?id=53071 + + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2011-02-07 Ojan Vafai + + Reviewed by Mihai Parparita. + + stop generating results.json files + https://bugs.webkit.org/show_bug.cgi?id=53977 + + We've only used incremental_results.json for a while now + and there are plans to start generating a results.json file that matches + the format of unexpected_results.json. + + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2011-02-08 Sailesh Agrawal + + Reviewed by Kenneth Russell. + + Invalidate rect doesn't work for windowless plugins on Chromium + https://bugs.webkit.org/show_bug.cgi?id=53117 + + Added two new utility methods. + - layoutTestController.displayInvalidatedRegion() does a paint of any area that has been invalidated. This is different from layoutTestController.display() which explicitly invalidates the entire page then paints. + - plugin.invalidateRect(left, top, right, bottom) - invalidates the given rect + This is used to test that invalidating a rect correctly causes a repaint of the plugin. + + * DumpRenderTree/LayoutTestController.cpp: + (displayInvalidatedRegionCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + (invalidateRect): + (pluginInvoke): + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::displayInvalidatedRegion): + * DumpRenderTree/chromium/LayoutTestController.h: + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: + +2011-02-08 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: move the logic that starts and stops the + servers from dump_render_tree_thread into single_test_runner + so that we can reuse it in the new multiprocessing worker class + as well. + + https://bugs.webkit.org/show_bug.cgi?id=53840 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + +2011-02-08 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests: split out thread stack logging code into a sharable module + + This patch splits out the code used to find and log thread + stacks from NRWT-specific packages to something generic and + shareable by other python modules. It will be shared in the near + future by the manager_worker_broker module, for example. + + https://bugs.webkit.org/show_bug.cgi?id=53656 + + * Scripts/webkitpy/common/system/stack_utils.py: Added. + * Scripts/webkitpy/common/system/stack_utils_unittest.py: Added. + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + +2011-02-08 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: move a bunch of testing logic out of + dump_render_tree_thread and into single_test_runner so that we + will be able to reuse it in the new multiprocessing worker class as well. + + https://bugs.webkit.org/show_bug.cgi?id=53838 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + + +2011-02-08 Dirk Pranke + + Reviewed by Ojan Vafai. + + new-run-webkit-tests: remove no longer needed WatchableThread + class. + + https://bugs.webkit.org/show_bug.cgi?id=53839 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + +2011-02-08 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add stubs for the Manager objects that + will abstract the concurrency implementation (inline / threads / + processes). These classes do nothing yet and are not wired up to + anything. + + https://bugs.webkit.org/show_bug.cgi?id=53477 + + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py: Added. + * Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py: Added. + +2011-02-08 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add simplified message broker for new-style + messaging. This change adds a very simple message broker that + will be used to shuttle messages between the TestRunner2 manager + thread and the Worker threads. For now the class is not used by + anything, but the eventual usage can be seen in the patches + attached to bug 49566. + + https://bugs.webkit.org/show_bug.cgi?id=53158 + + * Scripts/webkitpy/layout_tests/layout_package/message_broker2.py: Added. + * Scripts/webkitpy/layout_tests/layout_package/message_broker2_unittest.py: Added. + +2011-02-08 Adam Barth + + Reviewed by Dimitri Glazkov. + + chromium-win builder shouldn't run python or perl tests + https://bugs.webkit.org/show_bug.cgi?id=54032 + + These tests don't pass on this builder because the builder isn't + running in cygwin. There isn't really any point in running them and + making the bot red forever. + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2011-02-08 Brady Eidson + + Reviewed by Darin Adler. + + and https://bugs.webkit.org/show_bug.cgi?id=54036 + didChangeBackForwardList should include some context about what changed + + * MiniBrowser/mac/BrowserWindowController.m: + (didChangeBackForwardList): + +2011-02-08 Sam Weinig + + Reviewed by Anders Carlsson. + + WK2: Add ability to pass context to policy delegate methods + https://bugs.webkit.org/show_bug.cgi?id=54031 + + * MiniBrowser/mac/BrowserWindowController.m: + (decidePolicyForNavigationAction): + (decidePolicyForNewWindowAction): + (decidePolicyForMIMEType): + * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: + (TestWebKitAPI::decidePolicyForNavigationAction): + (TestWebKitAPI::decidePolicyForNewWindowAction): + (TestWebKitAPI::decidePolicyForMIMEType): + Update policy client for new API. + +2011-02-08 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] DRT needs an implementation of LayoutTestController.setIconDatabaseEnabled + https://bugs.webkit.org/show_bug.cgi?id=54033 + + Add an implementation of LayoutTestController.setIconDatabaseEnabled that just + call DumpRenderTreeSupportGtk. Turn off the icon database between tests. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): Turn off the icon database. + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setIconDatabaseEnabled): Call the appropriate DumpRenderTreeSupportGtk + method. + +2011-02-08 Kundu Suchismita + + Reviewed by Laszlo Gombos. + + Local Storage settings can be enable/disable from "Develop" menu + https://bugs.webkit.org/show_bug.cgi?id=52296 + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + (LauncherWindow::toggleLocalStorage): + (LauncherWindow::toggleOfflineStorageDatabase): + (LauncherWindow::toggleOfflineWebApplicationCache): + (LauncherWindow::setOfflineStorageDefaultQuota): + * QtTestBrowser/launcherwindow.h: + (WindowOptions::WindowOptions): + * QtTestBrowser/main.cpp: + (LauncherApplication::handleUserOptions): + +2011-02-08 Martin Robinson + + Reviewed by Eric Seidel. + + [GTK] EventSender.keyDown does not support non-array modifier arguments + https://bugs.webkit.org/show_bug.cgi?id=53962 + + Support handling either an array or a string for the modifier argument + to EventSender.keyDown. + + * DumpRenderTree/gtk/EventSender.cpp: + (gdkModifierFromJSValue): Added this helper which factors out the + string comparison bits. + (gdkModifersFromJSValue): Test up front whether the value is a string, + to handle it specially. + +2011-02-08 Benjamin Poulain + + Reviewed by Csaba Osztrogonác. + + openDatabaseSync() stop responding after too many call + https://bugs.webkit.org/show_bug.cgi?id=53945 + + Reset the database quota to a known state between each test. + + Define a quota for the known origins at each test run and delete + all the databases. + This way, the database related test do not depend on previous + allocations. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + (WebCore::DumpRenderTree::dumpDatabaseQuota): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + +2011-02-08 Carlos Garcia Campos + + Reviewed by Martin Robinson. + + [GTK] DRT's TextInputController is unimplemented on GTK + https://bugs.webkit.org/show_bug.cgi?id=52997 + + Initial implementation of TextInputController for GTK port. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (webViewWindowObjectCleared): + * DumpRenderTree/gtk/TextInputController.cpp: Added. + (setMarkedTextCallback): + (insertTextCallback): + (unmarkTextCallback): + (firstRectForCharacterRangeCallback): + (selectedRangeCallback): + (getClass): + (makeTextInputController): + * DumpRenderTree/gtk/TextInputController.h: Added. + * GNUmakefile.am: + +2011-02-07 Tony Chang + + Reviewed by Adam Barth. + + clean up python imports + https://bugs.webkit.org/show_bug.cgi?id=53966 + + Convert "import A.B.C.D as D" to "from A.B.C import D" and + make some imports absolute as required by PEP-8 + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/net/irc/ircbot.py: + * Scripts/webkitpy/common/system/logutils.py: + * Scripts/webkitpy/common/system/logutils_unittest.py: + * Scripts/webkitpy/layout_tests/deduplicate_tests.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/mac.py: Remove some unused imports + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/update_webgl_conformance_tests.py: + * Scripts/webkitpy/tool/bot/irc_command.py: + * Scripts/webkitpy/tool/bot/sheriffircbot.py: + * Scripts/webkitpy/tool/commands/download.py: + * Scripts/webkitpy/tool/commands/prettydiff.py: + * Scripts/webkitpy/tool/commands/queries.py: + * Scripts/webkitpy/tool/commands/roll.py: + * Scripts/webkitpy/tool/commands/stepsequence.py: + * Scripts/webkitpy/tool/commands/upload.py: + * Scripts/webkitpy/tool/main.py: + +2011-02-07 James Robinson + + Reviewed by Adam Barth. + + Teach do-webcore-rename about the WebKit move to Source/ + https://bugs.webkit.org/show_bug.cgi?id=53967 + + * Scripts/do-webcore-rename: + +2011-02-07 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + Add resource load client for injected bundle and move willSendRequest there + https://bugs.webkit.org/show_bug.cgi?id=53972 + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (didCreatePage): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::didInitiateLoadForResource): + (WTR::InjectedBundlePage::didReceiveResponseForResource): + (WTR::InjectedBundlePage::didReceiveContentLengthForResource): + (WTR::InjectedBundlePage::didFinishLoadForResource): + (WTR::InjectedBundlePage::didFailLoadForResource): + (WTR::InjectedBundlePage::willSendRequestForFrame): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2011-02-07 Adam Barth + + Add Leopard Debug back to the core builders. + + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-02-07 Adam Klein + + Reviewed by Jian Li. + + [chromium] Remove deprecated method WebNotification::dir + https://bugs.webkit.org/show_bug.cgi?id=53735 + + * DumpRenderTree/chromium/NotificationPresenter.cpp: + (NotificationPresenter::show): + +2011-02-07 Adam Barth + + Reviewed by Eric Seidel. + + Remove Leopard Debug as a core builder + https://bugs.webkit.org/show_bug.cgi?id=53971 + + The Leopard Debug builder has been failing to compile for several days. + My understanding is that folks are working on fixing the build, but for + the time being we should probably remove it from the list of core + builders so that the core waterfall can be green. We can certainly add + it back once the build is fixed. + + Also, I've removed the Tiger builders because those no longer appear to + be attached to the buildbot master. + + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-02-01 Ojan Vafai + + Reviewed by Adam Roben. + + include svn revisions in git diffs for the code review tool to use + https://bugs.webkit.org/show_bug.cgi?id=53569 + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + +2011-02-03 MORITA Hajime + + Reviewed by Darin Fisher. + + [Chromium] Should implement EditorClientImpl::requestCheckingOfString() + https://bugs.webkit.org/show_bug.cgi?id=51013 + + Gave DRT implementation for requestTextCheck(). + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::setAsynchronousSpellCheckingEnabled): Implemented. + * DumpRenderTree/chromium/WebViewHost.cpp: + (invokeFinishLastTextCheck): Added. + (WebViewHost::requestTextCheck): Added. + (WebViewHost::finishLastTextCheck): Added. + * DumpRenderTree/chromium/WebViewHost.h: + +2011-02-07 Joone Hur + + Reviewed by Martin Robinson. + + [Gtk] Implement layoutTestController.findString + https://bugs.webkit.org/show_bug.cgi?id=50237 + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::findString): + +2011-02-07 Chang Shu + + Reviewed by Darin Adler. + + We should disable spatial navigation explicitly during the initialization + of DumpRenderTree. + https://bugs.webkit.org/show_bug.cgi?id=53928 + + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetDefaultsToConsistentValues): + +2011-02-07 Maciej Stachowiak + + Not reviewed. + + Fix WebKitTestRunner build on the SL bot. + + * WebKitTestRunner/Configurations/Base.xcconfig: Look for the JSC copy + of ICU headers. + +2011-02-07 Csaba Osztrogonác + + Unreviewed. + + [Qt][WK2] Buildfix after r77794. + + WebKitTestRunner does not block remote resources or complain about them + https://bugs.webkit.org/show_bug.cgi?id=42139 + + + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: Add missing includepaths. + +2011-02-07 Maciej Stachowiak + + Not reviewed. + + More bot appeasement. + + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2011-02-07 Maciej Stachowiak + + Not reviewed. + + Remove accidental references to directories on my laptop. + + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2011-02-07 Maciej Stachowiak + + Reviewed by Antti Koivisto. + + WebKitTestRunner does not block remote resources or complain about them + https://bugs.webkit.org/show_bug.cgi?id=42139 + + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::willSendRequestForFrame): Implement the required + checks (using KURL, to avoid need to invent a whole URL API). + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Link WebCore + directly to get at KURL symbols. + +2011-02-06 Maciej Stachowiak + + Reviewed by Daniel Bates. + + Add WebKit2 bot to list of expected builders in Python regression test results. + https://bugs.webkit.org/show_bug.cgi?id=53905 + + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-02-06 Maciej Stachowiak + + Reviewed by Ryosuke Niwa. + + Update test expectations for new core builder + https://bugs.webkit.org/show_bug.cgi?id=53904 + + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-02-06 Maciej Stachowiak + + Reviewed by David Levin. + + Add WebKit2 test bot to core builders + https://bugs.webkit.org/show_bug.cgi?id=53901 + + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + +2011-02-06 Ryosuke Niwa + + Another unreviewed Chromium build fix. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::pathToLocalResource): + +2011-02-06 Ryosuke Niwa + + Unreviewed Chromium build fix. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::pathToLocalResource): + +2011-02-06 Ryosuke Niwa + + Reviewed by Darin Adler. + + OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h + https://bugs.webkit.org/show_bug.cgi?id=52867 + + * DumpRenderTree/chromium/ImageDiff.cpp: + (Image::craeteFromStdin): Call adoptArrayPtr. + +2011-02-06 James Kozianski + + Reviewed by Ojan Vafai. + + Add classes for representing test outputs. + https://bugs.webkit.org/show_bug.cgi?id=52136 + + These classes will make it easier to write scripts that deal with test + outputs such as rebaselining and deduping scripts. The intent is that + eventually we will be have buildbot return TestOutputs for a + particular build which can be compared with TestOutputs derived from a + local LayoutTests directory. + + * Scripts/webkitpy/common/net/testoutput.py: Added. + * Scripts/webkitpy/common/net/testoutput_unittest.py: Added. + * Scripts/webkitpy/common/net/testoutputset.py: Added. + * Scripts/webkitpy/common/net/testoutputset_unittest.py: Added. + * Scripts/webkitpy/common/system/zip_mock.py: Added. + +2011-02-06 Robert Hogan + + Reviewed by Andreas Kling. + + [Qt] Clear page's groupName even when not in DRT + https://bugs.webkit.org/show_bug.cgi?id=53874 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::windowCloseRequested): + +2011-02-06 Patrick Gansterer + + Reviewed by Andreas Kling. + + [CMake] Add dependencies for Visual Studio projects + https://bugs.webkit.org/show_bug.cgi?id=53773 + + Add a WebKit dependecy to WinCELauncher, so CMake can + generate the correct build order for the solution. + + * CMakeListsWinCE.txt: + +2011-02-06 Andreas Kling + + Reviewed by Antonio Gomes. + + [Qt] MiniBrowser: Clean up handling of titleChanged() signal + https://bugs.webkit.org/show_bug.cgi?id=53869 + + * MiniBrowser/qt/BrowserView.cpp: + (BrowserView::BrowserView): Remove unnecessary titleChanged() handling. + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): Connect titleChanged() directly to setWindowTitle(). + * MiniBrowser/qt/BrowserWindow.h: + +2011-02-06 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + WebKitTestRunner needs layoutTestController.setWillSendRequestReturnsNull + https://bugs.webkit.org/show_bug.cgi?id=42690 + + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::willSendRequestForFrame): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::willSendRequestReturnsNull): + (WTR::LayoutTestController::setWillSendRequestReturnsNull): + +2011-02-05 Sheriff Bot + + Unreviewed, rolling out r77720. + http://trac.webkit.org/changeset/77720 + https://bugs.webkit.org/show_bug.cgi?id=53854 + + "Broke nrwt on Chromium win." (Requested by dglazkov|away on + #webkit). + + * Scripts/webkitpy/common/system/executive.py: + +2011-02-05 Sheriff Bot + + Unreviewed, rolling out r77725. + http://trac.webkit.org/changeset/77725 + https://bugs.webkit.org/show_bug.cgi?id=53844 + + It broke Qt minimal build (Requested by Ossy_ on #webkit). + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + * QtTestBrowser/launcherwindow.h: + (WindowOptions::WindowOptions): + * QtTestBrowser/main.cpp: + (LauncherApplication::handleUserOptions): + +2011-02-04 Martin Robinson + + Reviewed by Adam Barth. + + [GTK] plugins/plugin-document-back-forward.html fails + https://bugs.webkit.org/show_bug.cgi?id=53833 + + Add the new "alert on load" functionality for the Unix version of the + test plugin. This functionality was originally introduced in r77706. + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_new_instance): Add new plugin fuctionality. + +2011-02-04 Kundu Suchismita + + Reviewed by Andreas Kling. + + Local Storage settings can be enable/disable from "Develop" menu + https://bugs.webkit.org/show_bug.cgi?id=52296 + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + (LauncherWindow::toggleLocalStorage): + (LauncherWindow::toggleOfflineStorageDatabase): + (LauncherWindow::toggleOfflineWebApplicationCache): + (LauncherWindow::setOfflineStorageDefaultQuota): + * QtTestBrowser/launcherwindow.h: + (WindowOptions::WindowOptions): + * QtTestBrowser/main.cpp: + (LauncherApplication::handleUserOptions): + +2011-02-04 Tony Chang + + Reviewed by Eric Seidel. + + get test-webkitpy running on win32 python + https://bugs.webkit.org/show_bug.cgi?id=53822 + + The test harness crashes with a WindowsError because it can't find + 'svn' when using subprocess.Popen. This gets us past the error + so we can see the failing tests on the Chromium Win Release Tests + bot. + + * Scripts/webkitpy/common/system/executive.py: + +2011-02-04 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] fast/events/pagehide-timeout.html fails + https://bugs.webkit.org/show_bug.cgi?id=53771 + + Add knowledge of the document browser cache model the DRT. When resetting + WebKit settings to consistent values between tests, default to the document + browser cache model. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): Reset the cache model to the document browser + cache model between tests. + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setCacheModel): An int value of 2 here corresponds to the + document browser cache model. + +2011-02-04 Adam Barth + + Reviewed by Eric Seidel. + + PluginDocuments don't create widgets for plugins on back/forward + https://bugs.webkit.org/show_bug.cgi?id=53474 + + Teach the test plugin how to call alert on load. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + +2011-02-04 Adam Roben + + Add a test case for encode/decode of FormData/FormDataElement + + If the fix made in r77401 is broken, this new test will crash. + + Fixes . + + Reviewed by Sam Weinig. + + * TestWebKitAPI/Test.h: Moved the bulk of TEST_ASSERT into a new _TEST_ASSERT_HELPER macro. + Added a new TEST_ASSERT_RETURN macro that can be used in functions with a return value. + + * TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp: Added. + (TestWebKitAPI::didFinishLoadForFrame): Record that the load is finished. + (TestWebKitAPI::setPageLoaderClient): Hook up the loader client. + (TestWebKitAPI::createSessionStateContainingFormData): Load simple-form.html, submit the + form, an return the session state data. + (TestWebKitAPI::TEST): Create some session state that contains form data from one WKPage, + and restore it into another WKPage. + + * TestWebKitAPI/Tests/WebKit2/simple-form.html: Added. + + * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * TestWebKitAPI/win/copy-resources.cmd: + Added new files. + +2011-02-04 Adam Roben + + Move code to run JavaScript tests into its own files + + This will allow other tests to use this mechanism. + + Fixes SpacebarScrolling should share its JavaScript-fu with the + world + + Reviewed by Sam Weinig. + + * TestWebKitAPI/JavaScriptTest.cpp: Added. + * TestWebKitAPI/JavaScriptTest.h: Added. + Moved code here... + + * TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: ...from here. + + * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + Added the new files. + +2011-02-04 Dirk Pranke + + Reviewed by Mihai Parparita. + + merge test expectations for chromium, chromium-gpu. The + chromium-gpu port will no longer maintain its own + test expectations file. + + Also add in a graphics_type() call on the port object to + determine what graphics type to use in the test configuration, + and log the configuration as a config setting. + + https://bugs.webkit.org/show_bug.cgi?id=53562 + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + +2011-02-04 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Web Inspector: fix processing Unicode literals from .js sources in check-inspector-strings. + https://bugs.webkit.org/show_bug.cgi?id=53781 + + * Scripts/check-inspector-strings: + +2011-02-04 Adam Roben + + Include the crashing function in the link to a crash log on Mac + + Fixes Crash log links in results.html should include the + function that crashed on Mac + + Reviewed by David Kilzer. + + * Scripts/old-run-webkit-tests: + (crashLocation): Moved all the Windows code inside an if instead of using an early return, + but didn't otherwise change it. Added an if for Mac that parses the crashing function out of + the crash log. + +2011-02-04 Adam Roben + + Link to Mac crash logs from results.html + + Fixes run-webkit-tests should link to Mac crash logs in + results.html + + Reviewed by David Kilzer. + + * Scripts/old-run-webkit-tests: + (captureSavedCrashLog): Added a case for Apple's Mac port. We get the crash log out of + ~/Library/Logs/CrashReporter, and wait for ReportCrash to exit before trying to get the log. + +2011-02-03 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle + https://bugs.webkit.org/show_bug.cgi?id=52897 + + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::willSendRequestForFrame): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2011-02-03 Ivan Krstić + + Unreviewed. + + Adding myself to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2011-02-03 James Kozianski + + Reviewed by Dimitri Glazkov. + + Add navigator.registerProtocolHandler behind a flag. + https://bugs.webkit.org/show_bug.cgi?id=52609 + + * Scripts/build-webkit: + +2011-02-03 Hayato Ito + + Reviewed by Eric Seidel. + + [NRWT] Remove TestArgs class, which is wrongly used. + + https://bugs.webkit.org/show_bug.cgi?id=53063 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2011-02-03 Andrew Wason + + Reviewed by Kenneth Russell. + + Change ENABLE_3D_CANVAS to ENABLE_WEBGL + https://bugs.webkit.org/show_bug.cgi?id=53714 + + * Scripts/build-webkit: change --3d-canvas build option + to set ENABLE_WEBGL + +2011-02-03 Hayato Ito + + Reviewed by Tony Chang. + + [NRWT] Introduces Input/Output class used by base.Driver into port/base.py and + move _run_single_test() and _process_output() functions from + dump_render_tree_thread.py to a single_test_runner.py as an individual module. + + This is clean up and acts as a preparation for elimination of test_types/* + classes. These classes will move to the single_test_runner module introduced + in this patch. + + https://bugs.webkit.org/show_bug.cgi?id=53004 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: Added. + * Scripts/webkitpy/layout_tests/layout_package/test_input.py: + * Scripts/webkitpy/layout_tests/layout_package/test_output.py: Removed. + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/dryrun.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2011-02-03 Dirk Pranke + + Unreviewed, build fix. + + Delete a line that was accidentally missed in r77586; without it + there is still a race between the two threads. + + https://bugs.webkit.org/show_bug.cgi?id=51572 + + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + +2011-02-03 Dirk Pranke + + Reviewed by Tony Chang. + + nrwt: handle "broken pipe" notifications from DRT more cleanly. + + https://bugs.webkit.org/show_bug.cgi?id=52927 + + * Scripts/webkitpy/layout_tests/port/server_process.py: + * Scripts/webkitpy/layout_tests/port/server_process_unittest.py: + +2011-02-03 Dirk Pranke + + Reviewed by Kenneth Russell. + + Update, resubmit change to bug 51572. I think the race that was + fixed in r76703 caused the hang that caused us to roll this + patch out before, so I'd like to try again. + + https://bugs.webkit.org/show_bug.cgi?id=51572 + + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + +2011-02-03 Daniel Cheng + + Unreviewed. + + Adding myself to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2011-02-03 Adam Roben + + Include the crashing function in the link to a crash log + + Fixes Crash log links in results.html should include the + function that crashed + + Reviewed by David Kilzer. + + * Scripts/old-run-webkit-tests: + (crashLocation): Added. Returns the location of the crash. + (linksForErrorTest): Include the crash location in the link text for the crash log, if one + could be determined. + +2011-02-03 Dirk Pranke + + Unreviewed, build fix. + + Actually make the changes suggested by Mihai in his review + of bug 53720 :( + + https://bugs.webkit.org/show_bug.cgi?id=53720 + + * Scripts/webkitpy/layout_tests/port/test_files.py: + * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: + +2011-02-03 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests: Fix bug introduced in r77434 that was + causing us to run the canvas GPU tests on the Mac GPU port. This + bug revealed that we were not setting the port.name() field + properly in many cases, so I've cleaned up all of that code, and + removed a few comments about "version-specific" GPU ports that + don't exist and just confused things. + + Testing also revealed that port.abspath_for_test() wasn't + normalizing paths on Windows properly, so I fixed that as well. + + https://bugs.webkit.org/show_bug.cgi?id=53719 + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + +2011-02-03 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests: fix normalization of paths on windows when gathering files + + r77434 introduced a bug that was causing the test expectations + for the GPU ports to not be treated properly. It turns out that + when we gathered the list of test files on Windows, we would + return paths of the form "c:\LayoutTests/fast/canvas", and the + mixture of backslashes and forward slashes was confusing things. + + This patch normalizes all of the filenames returned from + test_files.find(), and adds better tests for this (fixing a + couple of other bugs found in the meantime). + + https://bugs.webkit.org/show_bug.cgi?id=53720 + + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/port/test_files.py: + * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: + +2011-02-03 Adam Roben + + Add links to Windows crash logs in results.html + + Fixes run-webkit-tests should link to Windows crash logs in + results.html + + Reviewed by David Kilzer. + + * Scripts/old-run-webkit-tests: + (top level): Added $crashLogTag and $windowsCrashLogFilePrefix (which came from + createDebuggerCommandFile). + (testCrashedOrTimedOut): If the test crashed, capture any saved crash log after the dump + tool has exited. + (captureSavedCrashLog): Added. Finds the crash log for the test that just crashed and moves + it into the test results directory tree. Only implemented for Cygwin currently. + (findNewestFileMatchingGlob): Added. Does what it says. + (htmlForResultsSection): Only link to files that exist. + (linksForErrorTest): Add a link to the crash log. + (deleteExpectedAndActualResults): Delete any old crash log for this test. + (createDebuggerCommandFile): Use the new $windowsCrashLogFilePrefix constant instead of + hardcoding it here. + +2011-02-03 Adam Roben + + Tell the debugger the path to the WebKit source tree when saving a crash log + + This allows the debugger to include the crashing line of code in the log. + + Fixes Crash logs from buildslaves don't show the crashing line + of code + + Reviewed by Sam Weinig. + + * Scripts/old-run-webkit-tests: + (createDebuggerCommandFile): Added. Saves commands that we'd like the debugger to run to a + file and returns the path to that file. The commands we pass came from + setUpWindowsCrashLogSaving, but I've added a .srcpath command to tell the debugger where the + WebKit source code lives. + (setUpWindowsCrashLogSaving): Instead of specifying the commands directly on the command + line using -c, save them to a file and specify the path to that file using -cf. This works + around what is presumably a bug in Windows's command line parsing, where having multiple + quoted paths in the debugger commands causes the post-mortem debugger not to be invoked at + all. Also pulled the options we pass to the debugger out into a list that is then join()ed + together to make them easier to modify in the future. + +2011-02-02 Sam Weinig + + Reviewed by Anders Carlsson. + + Add notification of the end of a rubber band. + + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::createOtherPage): + (WTR::TestController::initialize): + Stub out the new WKUIClient function. + +2011-02-03 Gabor Rapcsanyi + + Unreviewed. + + Adding myself to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2011-02-03 Balazs Kelemen + + Reviewed by Csaba Osztrogonác. + + [Qt][WK2] MiniBrowser's window size should be 800x600 + https://bugs.webkit.org/show_bug.cgi?id=53670 + + Make layout test failure debugging easier. + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + +2011-02-02 Andy Estes + + Reviewed by Mark Rowe. + + 'update-webkit' should handle OpenSource and Internal using different + VCSs. + + * Scripts/update-webkit: Re-check the VCS type when updating Apple's + Internal directory. + +2011-02-02 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests: hardcode the directories to scan for tests + for GPU bots instead of SKIPping them. See bug 53562 for some + context, but we will now hard-code the list of directories to + use by default instead of skipping over directories in the + expectations file. We do this so that we will be able to merge + the expectations files without getting conflicting SKIP + directives. Note that this change will reduce the # of tests + being run on the Mac GPU bots, because we're accidentally + including some today. + + https://bugs.webkit.org/show_bug.cgi?id=53631 + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + +2011-02-02 Sam Weinig + + Reviewed by Beth Dakin. + + Add ChromeClient function to paint custom overhang areas. + https://bugs.webkit.org/show_bug.cgi?id=53639 + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + Stub out new callback. + +2011-02-02 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: support chromium code paths in mock_drt + + https://bugs.webkit.org/show_bug.cgi?id=53471 + + * Scripts/webkitpy/layout_tests/port/mock_drt.py: + * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: + +2011-02-02 Adam Klein + + Reviewed by Tony Chang. + + Update new-run-webkit-tests --chromium to put output under Source/... + https://bugs.webkit.org/show_bug.cgi?id=53612 + + * BuildSlaveSupport/test-result-archive: + * Scripts/webkitpy/layout_tests/port/chromium.py: + +2011-01-28 Tony Chang + + Reviewed by Eric Seidel. + + [chromium] remove --use-test-shell from NRWT + https://bugs.webkit.org/show_bug.cgi?id=53346 + + I've already started removing some of the bindings like eventSender so + this already doesn't work isn't useful. Also updated some comments to + refer to DRT instead of test_shell. + + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2011-02-02 Steve Lacey + + Reviewed by Eric Carlson. + + Implement basic media statistics on media elements. + https://bugs.webkit.org/show_bug.cgi?id=53322 + + * Scripts/build-webkit: + +2011-02-02 Kevin Ollivier + + [wx] Build fixes for wxWebKit. + + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setSerializeHTTPLoads): + * wx/browser/wscript: + * wx/build/build_utils.py: + * wx/build/settings.py: + +2011-02-01 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests: stop skipping so many tests + + r77163 introduced a regression where we weren't resetting test + expectations properly and were skipping too many tests as a + result. This patch fixes that and adds a test for it. + + https://bugs.webkit.org/show_bug.cgi?id=53551 + + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + +2011-02-01 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add first stub of test_runner2. This + will add support for the 'inline', 'threads', and 'processes' + flags to --worker-model, but for now the implementatios just + fall back on the old ones. + + https://bugs.webkit.org/show_bug.cgi?id=53157 + + * Scripts/webkitpy/layout_tests/layout_package/test_runner2.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-02-01 Mihai Parparita + + Reviewed by James Robinson. + + [Chromium] run-chromium-webkit-unit-tests looks for binaries in the wrong place + https://bugs.webkit.org/show_bug.cgi?id=53522 + + * Scripts/run-chromium-webkit-unit-tests: + +2011-02-01 Adam Barth + + Reviewed by Mihai Parparita. + + Using Control-C to cancel webkit-patch or other python tools causes + unpleasant traceback console spew + https://bugs.webkit.org/show_bug.cgi?id=53462 + + Catch the exception and don't print the stack trace. + + * Scripts/webkit-patch: + +2011-02-01 Scott Cameron + + Reviewed by Daniel Bates. + + Use Windows format for MinGW HTTPD path. + https://bugs.webkit.org/show_bug.cgi?id=53503 + + * Scripts/webkitperl/httpd.pm: + - Use single-quotes around MySys value for $httpdPath in getHTTPDPath() + so that we don't have to escape the space characters in the path. Also, + changed path to Windows-style path and removed FIXME comment. + +2011-02-01 Balazs Kelemen + + Reviewed by Andreas Kling. + + [Qt][WK2] Add a way to use shared process model in MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=53090 + + * MiniBrowser/qt/BrowserView.cpp: + (BrowserView::BrowserView): Removed the m_context member. + From now the context is guaranteed to be non-null and we + don't need to store that in the object. + * MiniBrowser/qt/BrowserView.h: + * MiniBrowser/qt/BrowserWindow.cpp: + Added static bool to determine that new windows need to be + created with their own context or not. Use the same context + and web process by default to be inilne with the other ports. + (BrowserWindow::BrowserWindow): + (BrowserWindow::newWindow): + * MiniBrowser/qt/BrowserWindow.h: + * MiniBrowser/qt/main.cpp: + (main): Added command line switch to be able to use the + non-shared process model. Simplify the handling of the command line + switches a little bit. + +2011-02-01 Zoltan Horvath + + Reviewed by Andreas Kling. + + [Qt] Add Window menu and Toggle FullScreen action to MiniBrowser. + https://bugs.webkit.org/show_bug.cgi?id=53491 + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::toggleFullScreenMode): + * MiniBrowser/qt/BrowserWindow.h: + +2011-02-01 Zoltan Horvath + + Reviewed by Andreas Kling. + + [Qt] Add Toggle Frame Flattening, Auto Load Images and Disable JavaScript actions to MiniBrowser. + https://bugs.webkit.org/show_bug.cgi?id=53489 + + Add Toggle Frame Flattening action to Develop menu. Add Auto Load Images and Disable JavaScript actions + to Settings menu. + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::toggleFrameFlattening): + (BrowserWindow::toggleDisableJavaScript): + (BrowserWindow::toggleAutoLoadImages): + * MiniBrowser/qt/BrowserWindow.h: + +2011-01-31 Mihai Parparita + + Reviewed by Tony Chang. + + [Chromium] Switch chromium-mac to use ChromiumDriver + https://bugs.webkit.org/show_bug.cgi?id=53461 + + For the sake of consistency with the other Chromium platforms (and so + that chromium-mac picks up special flags like --enable-hardware-gpu), + switch chromium-mac from the WebKitDriver to ChromiumDriver. + + * Scripts/webkitpy/layout_tests/port/chromium.py: + +2011-01-31 Dirk Pranke + + Reviewed by Mihai Parparita. + + The current modifier parsing code in test_expectations is + fragile and hard-coded, so it's not easy to understand the logic + or easily add new types of modifiers (like GPU vs. CPU testing + for graphics tests, or 32-bit vs. 64-bit differences). + + This is the first of two patches that will add in more generic + support and then eliminate the GPU-specific test expectations + files for Chromium. + + This patch adds two standalone objects for handling modifiers. The + rules for interpreting modifiers, precedence, and conflicts are + given in the docstring to the ModifierMatcher class, which + returns ModifierMatchResult objects. + + This patch also adds routines to the Port interface and a + default set of values in the base object, in order to obtain the + values needed on a given test run. These values are then passed + to the expectation parser. This also allows us to clean up the + logic used to lint all of the different configurations in a + single test_expectations.txt file. + + The next patch will merge in the separate GPU expectations file. + + https://bugs.webkit.org/show_bug.cgi?id=51222 + + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/base_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Tools/Scripts/webkitpy/style/checkers/test_expectations.py: + * Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py: + +2011-01-31 Scott Cameron + + Reviewed by Daniel Bates. + + update run-webkit-httpd to be able to launch Apache2.2 in a MSYS environment + https://bugs.webkit.org/show_bug.cgi?id=50036 + + This will add an Apache2.2 configuration file and modifies scripts to allow + running an httpd server in an MSYS environment. + + The default Apache2.2 installation path has been preserved and PHP5 modules disabled + in order to allow for simple installation/execution. Simply install the latest + Apache2.2 version with OpenSSL from http://httpd.apache.org/download.cgi#apache22 to + be able to execute run-webkit-httpd. + + + * Scripts/run-webkit-httpd: + * Scripts/webkitperl/httpd.pm: + +2011-01-31 Tony Chang + + Reviewed by Eric Seidel. + + mac DRT should report RTL scroll offset relative to top right corner + https://bugs.webkit.org/show_bug.cgi?id=53324 + + * DumpRenderTree/mac/DumpRenderTree.mm: + (dumpFrameScrollPosition): + +2011-01-31 Zoltan Horvath + + Reviewed by Andreas Kling. + + [Qt] Add Take Screen Shot action to MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=53422 + + Add Take Screen Shot action to MiniBrowser's view menu. + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::screenshot): + * MiniBrowser/qt/BrowserWindow.h: + +2011-01-31 Gustavo Noronha Silva + + Reviewed by Xan Lopez. + + [GTK] REGRESSION: http/tests/media/video-{cookie,referer}.html failing + https://bugs.webkit.org/show_bug.cgi?id=53379 + + Remove left over #ifdef's. I thought all of the conditional code + had been freed from the condition, but I forgot to check DRT. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setAlwaysAcceptCookies): + +2011-01-30 Dirk Pranke + + Unreviewed, build fix. + + Fix regression introduced in r77093 - path.rsplit() doesn't + take keyword arguments. + + https://bugs.webkit.org/show_bug.cgi?id=53326 + + * Scripts/webkitpy/common/system/filesystem_mock.py: + +2011-01-30 Dirk Pranke + + Reviewed by Mihai Parparita. + + Add more unit tests for rebaseline-chromium-webkit-tests. This + change involves restructuring a bunch of r-c-w-t code to make it + more testable as well. We also add wrapper classes for handling + testing zip files and fetching URLs. + + https://bugs.webkit.org/show_bug.cgi?id=53040 + + * Scripts/webkitpy/common/system/urlfetcher.py: + * Scripts/webkitpy/common/system/urlfetcher_mock.py: + * Scripts/webkitpy/common/system/zipfileset_mock.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2011-01-30 Dirk Pranke + + Reviewed by Eric Seidel. + + Clean up of the filesystem-related modules used in webkitpy. + I've added relpath() to the filesystem interface, modified + ospath.relpath() so that it could work with the filesystem + interface, and modified the fileset* routines to use the + filesystem interface consistently. + + This patch also adds a close() routine to the fileset routines + to indicate that the caller is done with the fileset. This + allows zipfileset to clean up after itself when it creates + tempfiles to store downloads. + + https://bugs.webkit.org/show_bug.cgi?id=53326 + + * Scripts/webkitpy/common/system/directoryfileset.py: + * Scripts/webkitpy/common/system/fileset.py: + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/common/system/filesystem_unittest.py: + * Scripts/webkitpy/common/system/ospath.py: + * Scripts/webkitpy/common/system/zipfileset.py: + * Scripts/webkitpy/common/system/zipfileset_unittest.py: + +2011-01-30 Balazs Kelemen + + Reviewed by Csaba Osztrogonác. + + [Qt][WK2]REGRESSION (r76991): Fix build errors + https://bugs.webkit.org/show_bug.cgi?id=53400 + + Revert the temporary build fix (http://trac.webkit.org/changeset/77088) + and remove WebKit2Prefix.h from the build. + * MiniBrowser/qt/MiniBrowser.pro: + +2011-01-30 Csaba Osztrogonác + + Unreviewed. + + [Qt][WK2] Buildfix. + + * MiniBrowser/qt/MiniBrowser.pro: + +2011-01-28 Simon Fraser + + Reviewed by Adam Roben. + + define NOMINMAX when building ImageDiff, as we do elsewhere. + + Add various clampToInt() methods to MathExtras.h + https://bugs.webkit.org/show_bug.cgi?id=52910 + + * DumpRenderTree/win/ImageDiffCommon.vsprops: + +2011-01-28 Maciej Stachowiak + + Reviewed by Darin Adler. + + WebKitTestRunner needs layoutTestController.setPOSIXLocale + https://bugs.webkit.org/show_bug.cgi?id=42682 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::resetLocalSettings): + (WTR::InjectedBundle::didReceiveMessage): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::setPOSIXLocale): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + +2011-01-28 Dirk Pranke + + Reviewed by Mihai Parparita. + + test-webkitpy: fix webkitpy.layout_tests.port.mac_unittest.MacTest.test_skipped_file_paths + + This patch re-enables this test and changes it to + handle all of the mac platform versions, not just the one + it is running on. + + https://bugs.webkit.org/show_bug.cgi?id=53356 + + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: + +2011-01-28 Dirk Pranke + + Unreviewed, build fix. + + Take two. The fix in 77023 didn't work, because we were + still calling path.abspath_to_uri, which calls _cygpath under + the covers, and it appears the cygpath on the bots does + something different than it does on my machine. This patch + removes the calls to path.abspath_to_uri, so it should be safe. + If it doesn't work, I'll roll it out along with r76982 and 77023. + + https://bugs.webkit.org/show_bug.cgi?id=53126 + + * Scripts/webkitpy/layout_tests/port/test.py: + +2011-01-28 David Kilzer + + build-webkit gives a bogus warning with newer versions of Xcode + + + Reviewed by Mark Rowe. + + * Scripts/webkitdirs.pm: + (checkRequiredSystemConfig): Check the Xcode marketing version + in addition to the DevCoreTools build version before complaining + about an old version of Xcode. Also make the Mac OS X version + check use Perl's built-in version string comparitor. + +2011-01-28 Dirk Pranke + + Unreviewed, build fix. + + Work around breakage on Win 7 Release bot caused by r76982 + and the fact that windows ports use "file:////" instead of + "file:///". Ideally the test code should be isolated from + this, but it isn't yet. Will fix properly in a bit. + + * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: + +2011-01-28 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: change worker model values to + "old-inline", "old-threads" in preparation for test_runner2 / + multiprocessing changes. + + https://bugs.webkit.org/show_bug.cgi?id=53156 + + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/mac.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2011-01-28 Dirk Pranke + + Reviewed by Tony Chang. + + committers.py - add an IRC nickname for dpranke + https://bugs.webkit.org/show_bug.cgi?id=53335 + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-28 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add a "mock DRT" port implementation + and a separate class that emulates what we expect the + DumpRenderTree behavior to be. + + This will eventually replace port/dryrun.py and allow us to get + better test coverage of the new-run-webkit-tests code as well as + a reference for what new-run-webkit-tests expects from DRT. + + This is the first attempt at this, and it is pretty bare-boned. It + really only has been tested on the 'mac' port (and a little on + the 'chromium-mac' port. + + https://bugs.webkit.org/show_bug.cgi?id=53126 + + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/layout_tests/port/dryrun.py: + * Scripts/webkitpy/layout_tests/port/factory.py: + * Scripts/webkitpy/layout_tests/port/mock_drt.py: Added. + * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: Added. + * Scripts/webkitpy/layout_tests/port/test.py: + +2011-01-28 Pratik Solanki + + Unreviewed. Removing .swp file checked in by mistake. + + * Scripts/.webkitdirs.pm.swp: Removed. + +2011-01-28 Pratik Solanki + + Reviewed by David Kilzer. + + Space not necessary for undefined feature + https://bugs.webkit.org/show_bug.cgi?id=53317 + + * Scripts/build-webkit: + +2011-01-28 Chang Shu + + Reviewed by Andreas Kling. + + Reset NetworkAccessManager to clean up credentials from previous tests. + This change causes no performance overhead either. + https://bugs.webkit.org/show_bug.cgi?id=36688 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + (WebCore::DumpRenderTree::open): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + +2011-01-28 Zoltan Horvath + + Reviewed by Andreas Kling. + + [Qt] Add Zoom Text Only action to MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=53297 + + Add Zoom Text Only action to MiniBrowser's view menu, change zoom levels to avoid unnecessary divides. + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::zoomIn): + (BrowserWindow::zoomOut): + (BrowserWindow::resetZoom): + (BrowserWindow::toggleZoomTextOnly): + (BrowserWindow::applyZoom): + * MiniBrowser/qt/BrowserWindow.h: + +2011-01-28 Adam Barth + + Reviewed by Eric Seidel. + + Add webkit-patch roll-chromium-deps + https://bugs.webkit.org/show_bug.cgi?id=53288 + + This command updates the Source/WebKit/chromium/DEPS file with the + last-known good revision of Chromium (or a revision specified on the + command line). I'd eventually like to turn this into a SheriffBot + command, but this is the first step. + + This patch somewhat sprawled because I needed to move a bunch of code + out of ChangeLog that should never have been there in the first place. + Also, I had to fix a bug in MockUser in order to test the new command. + + * Scripts/webkitpy/common/checkout/api.py: + * Scripts/webkitpy/common/checkout/changelog.py: + * Scripts/webkitpy/common/checkout/changelog_unittest.py: + * Scripts/webkitpy/common/checkout/deps.py: Added. + * Scripts/webkitpy/common/config/urls.py: + * Scripts/webkitpy/tool/commands/__init__.py: + * Scripts/webkitpy/tool/commands/download_unittest.py: + * Scripts/webkitpy/tool/commands/roll.py: Added. + * Scripts/webkitpy/tool/commands/roll_unittest.py: Added. + * Scripts/webkitpy/tool/commands/upload_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/__init__.py: + * Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py: Added. + * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py: + * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py: Added. + * Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py: + * Scripts/webkitpy/tool/steps/updatechromiumdeps.py: Added. + * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py: + +2011-01-27 Greg Coletta + + Reviewed by Laszlo Gombos. + + Get rid of prefix header dependency for WebKit2 build system + https://bugs.webkit.org/show_bug.cgi?id=50174 + + Change the style checker so that it enforces config.h include for + WebKit2. + + * Scripts/webkitpy/style/checker.py: + +2011-01-27 Maciej Stachowiak + + Reviewed by Darin Adler. + + execCommand("Paste") doesn't work in WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=52785 + + Enable both of the settings needed to allow paste. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::resetStateToConsistentValues): + +2011-01-27 Jacob Dinu + + Reviewed by Andreas Kling. + + [Qt] QtTestBrowser: User input lost when toggling use of QGraphicsView + https://bugs.webkit.org/show_bug.cgi?id=48440 + + Preserve user input when toggling use of QGraphicsView + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::initializeView): + (LauncherWindow::loadFinished): + * QtTestBrowser/launcherwindow.h: + * QtTestBrowser/mainwindow.cpp: + (MainWindow::addressUrl): + * QtTestBrowser/mainwindow.h: + +2011-01-27 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests: turn off pixel tests correctly by default + for webkit-based ports. r70013 (bug 47510) used + port.set_option_default() to attempt to set default values, but + that didn't work correctly. I have removed set_option_default + for now since it was only being used in two places and in three + useless unit tests. There is a separate bug open to fix the + option parsing (48095), so this workaround is fine for now. + + https://bugs.webkit.org/show_bug.cgi?id=53217 + + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/base_unittest.py: + +2011-01-27 Balazs Kelemen + + Rubber-stamped by Ariya Hidayat. + + Trivial crash fix in WTR. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): Increase the size + of the vector by one to be able to store the null character. + +2011-01-27 Balazs Kelemen + + Reviewed by Csaba Osztrogonác. + + [Qt][WK2] WTR should be initialized in the same way as DRT + https://bugs.webkit.org/show_bug.cgi?id=53240 + + * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: + (WTR::activateFonts): Added missing initialization steps. + +2011-01-27 Joone Hur + + Unreviewed. + + Adding myself to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-27 Laszlo Gombos + + Reviewed by Csaba Osztrogonác. + + [Qt] [Symbian] Move project files into Source + https://bugs.webkit.org/show_bug.cgi?id=52891 + + Fix the Symbian build after the project files + are moved to Source directory. On Symbian qmake + needs to run in the same directory where the main + pro files (WebKit.pro, Tools.pro) are located. + + * Scripts/webkitdirs.pm: Change to the directory where the pro file + is located before running qmake for Symbian. Qmake on Symbian + does not properly honor the "-o" option, work it around by setting + the name of the Makefile to bld.inf. + +2011-01-27 Zoltan Horvath + + Reviewed by Andreas Kling. + + [Qt] Add simple zooming features to MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=53231 + + Add View menu and Zoom In, Zoom Out, Zoom Reset actions to MiniBrowser. + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::zoomIn): + (BrowserWindow::zoomOut): + (BrowserWindow::resetZoom): + (BrowserWindow::updateUserAgentList): + (BrowserWindow::applyZoom): + * MiniBrowser/qt/BrowserWindow.h: + +2011-01-26 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector + https://bugs.webkit.org/show_bug.cgi?id=42319 + + Add evaluateInWebInspector and other APIs needed for inspector tests to run. + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::showWebInspector): + (WTR::LayoutTestController::closeWebInspector): + (WTR::LayoutTestController::evaluateInWebInspector): + (WTR::LayoutTestController::setTimelineProfilingEnabled): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + * WebKitTestRunner/TestInvocation.cpp: + (WTR::shouldOpenWebInspector): + (WTR::TestInvocation::invoke): + * WebKitTestRunner/WebKitTestRunnerPrefix.h: + +2011-01-26 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Pixel dumps do not include scrollbars in output images + https://bugs.webkit.org/show_bug.cgi?id=53216 + + Show scrollbars in pixel dumps. This will fix pixel dumps for tests + that have scrollbars. + + * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: + (createBitmapContextFromWebView): Take the snapshot of the containing GtkScrolledWindow + instead of the web view itself. + +2011-01-26 Dirk Pranke + + Reviewed by Mihai Parparita. + + Fix regression introduced in r76322 ... new-run-webkit-tests + was attempting to save the image diff output as a UTF-8-encoded + file. + + https://bugs.webkit.org/show_bug.cgi?id=53210 + + * Scripts/webkitpy/layout_tests/port/webkit.py: + +2011-01-26 Sheriff Bot + + Unreviewed, rolling out r76709. + http://trac.webkit.org/changeset/76709 + https://bugs.webkit.org/show_bug.cgi?id=53194 + + "broke python tests on non-snowleopard platforms" (Requested + by dpranke on #webkit). + + * Scripts/webkitpy/layout_tests/port/factory.py: + * Scripts/webkitpy/layout_tests/port/mock_drt.py: Removed. + * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: Removed. + +2011-01-26 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add a "mock DRT" port implementation + and a separate class that emulates what we expect the + DumpRenderTree behavior to be. + + This will eventually replace port/dryrun.py and allow us to get + better test coverage of the new-run-webkit-tests code as well as + a reference for what new-run-webkit-tests expects from DRT. + + This is the first attempt at this, and it is pretty bare-boned. It + really only has been tested on the 'mac' port (and a little on + the 'chromium-mac' port. + + https://bugs.webkit.org/show_bug.cgi?id=53126 + + * Scripts/webkitpy/layout_tests/port/mock_drt.py: Added. + * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py: Added. + * Scripts/webkitpy/layout_tests/port/factory.py: + +2011-01-26 Xianzhu Wang + + Reviewed by Tony Chang. + + Add '--no-timeout' option to Chromium DRT to ease debugging. + https://bugs.webkit.org/show_bug.cgi?id=52873 + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (main): + +2011-01-26 Csaba Osztrogonác + + Reviewed by Andreas Kling. + + [Qt] Fix qt_minimal build + https://bugs.webkit.org/show_bug.cgi?id=53172 + + * QtTestBrowser/locationedit.h: + +2011-01-26 Mansi Mithal + + Reviewed by Antonio Gomes. + + QtTestBrowser should have a UI Setting to disable plugins + https://bugs.webkit.org/show_bug.cgi?id=52408 + + Added a new action item named "Disable Plugins" + under the "Settings" menu. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + (LauncherWindow::togglePlugins): + * QtTestBrowser/launcherwindow.h: + +2011-01-25 Patrick Gansterer + + Reviewed by Adam Barth. + + Move main CMakeLists.txt into Source directory + https://bugs.webkit.org/show_bug.cgi?id=52888 + + * Scripts/webkitdirs.pm: + +2011-01-25 Patrick Gansterer + + Reviewed by Eric Seidel. + + Improve label text in submit-to-ews + https://bugs.webkit.org/show_bug.cgi?id=53130 + + * QueueStatusServer/templates/submittoews.html: + +2011-01-25 Mansi Mithal + + Reviewed by Antonio Gomes. + + QtTestBrowser should have a UI Settings to prevent loading images + https://bugs.webkit.org/show_bug.cgi?id=52409 + + Added a new action item named "DisableAutoLoadImages" + under the "Settings" menu + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + (LauncherWindow::toggleAutoLoadImages): + * QtTestBrowser/launcherwindow.h: + +2011-01-25 Dirk Pranke + + Reviewed by Tony Chang. + + Minor bug fixes and cleanup for filesystem wrappers, port/* test + classes, test_expectations.py. This change adds "test-win" and + "test-mac" variants to the test port so that we can better test + rebaselining, and adds a MockUser() object for reuse in testing. + + https://bugs.webkit.org/show_bug.cgi?id=53036 + + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/port/factory.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2011-01-25 Tony Chang + + Reviewed by Dimitri Glazkov. + + [chromium] remove unused layoutTestController callback + https://bugs.webkit.org/show_bug.cgi?id=53103 + + This method is used by a test_shell_test, but not needed by DRT. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + * DumpRenderTree/chromium/LayoutTestController.h: + +2011-01-25 Gustavo Noronha Silva + + Reviewed by Andreas Kling. + + [GTK] Remove 64 bits release bot from the buildbot master + https://bugs.webkit.org/show_bug.cgi?id=52899 + + Removes the 64 bits release slave from the buildbot configuration, + so that we can use it as an EWS. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2011-01-24 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + Implement database quota callback to fix storage tests on WebKit2 bot + https://bugs.webkit.org/show_bug.cgi?id=53064 + + * WebKitTestRunner/TestController.cpp: + (WTR::exceededDatabaseQuota): + (WTR::TestController::createOtherPage): + (WTR::TestController::initialize): + +2011-01-24 Maciej Stachowiak + + Reviewed by Anders Carlsson. + + Use designated temp directory for the database for WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=53052 + + Adopt the new WK2 API for this. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::libraryPathForTesting): + (WTR::TestController::initialize): + * WebKitTestRunner/TestController.h: + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::platformLibraryPathForTesting): + * WebKitTestRunner/qt/TestControllerQt.cpp: + (WTR::TestController::platformLibraryPathForTesting): + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::platformLibraryPathForTesting): + +2011-01-24 Lucas Forschler + + Reviewed by Stephanie Lewis. + + Add a new Leopard test bot. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2011-01-24 Gyuyoung Kim + + Reviewed by Adam Barth. + + Add EFL Builder to core waterfall + https://bugs.webkit.org/show_bug.cgi?id=52704 + + Add EFL Builder to the core waterfall again. + + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-01-24 Xianzhu Wang + + Reviewed by Tony Chang. + + new-run-webkit-tests fails to start HTTP server if there are proxy settings + https://bugs.webkit.org/show_bug.cgi?id=52872 + + Force disabling proxy to resolve the problem. + + * Scripts/webkitpy/layout_tests/port/http_server_base.py: + * Scripts/webkitpy/layout_tests/port/websocket_server.py: + +2011-01-24 Andreas Kling + + Reviewed by Darin Adler. + + check-webkit-style: Update exemptions following Source/ move. + https://bugs.webkit.org/show_bug.cgi?id=53017 + + * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/style/checker_unittest.py: + +2011-01-24 Andras Becsi + + Rubber-stamped by Csaba Osztrogonác. + + [Qt] Move project files into Source + https://bugs.webkit.org/show_bug.cgi?id=52891 + + * DumpRenderTree/qt/ImageDiff.pro: Add missing "Source" to WebKit.pri path + +2011-01-24 Mikhail Naganov + + Reviewed by Yury Semikhatsky. + + Web Inspector: Find duplicate strings in localizedStrings.js + + https://bugs.webkit.org/show_bug.cgi?id=53005 + + * Scripts/check-inspector-strings: + +2011-01-24 Zoltan Horvath + + Reviewed by Andreas Kling. + + [Qt] Regroup MiniBrowser's menubar and add open file action + https://bugs.webkit.org/show_bug.cgi?id=53000 + + Add File and Develop menu to MiniBrowser's menubar and add open file action to File menu. + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::openFile): + (BrowserWindow::~BrowserWindow): + * MiniBrowser/qt/BrowserWindow.h: + +2011-01-24 Csaba Osztrogonác + + Unreviewed fix after r76496 + + [Qt] Move project files into Source + https://bugs.webkit.org/show_bug.cgi?id=52891 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Remove unnecessary "Source" from the path. + * BuildSlaveSupport/built-product-archive: Remove unnecessary "Source" from the path. + * Scripts/webkitdirs.pm: Add the accidentally removed slash to the path. + +2011-01-24 Andras Becsi + + Reviewed by Csaba Osztrogonác. + + [Qt] Move project files into Source + https://bugs.webkit.org/show_bug.cgi?id=52891 + + * DerivedSources.pro: Renamed from DerivedSources.pro. + * DumpRenderTree/qt/DumpRenderTree.pro: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + * MiniBrowser/DerivedSources.pro: + * MiniBrowser/qt/MiniBrowser.pro: + * QtTestBrowser/QtTestBrowser.pro: + * Scripts/webkitdirs.pm: + * Tools.pro: Added. + * WebKitTestRunner/DerivedSources.pro: + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: + +2011-01-22 Geoffrey Garen + + Reviewed by Dan Bernstein. + + Beefed up --threaded mode to catch even more kinds of errors. + https://bugs.webkit.org/show_bug.cgi?id=52971 + + * DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp: Use a shared + context group to force JSC to mark multiple threads. (This used to be + the default, but it changed in SnowLeopard.) + (runJavaScriptThread): Do more locking and unlocking, and more allocation, + to give threading mistakes more chances to show themselves. + (startJavaScriptThreads): + (stopJavaScriptThreads): + +2011-01-22 Robert Hogan + + Reviewed by Andreas Kling. + + [Qt] Support layoutTestController.addURLToRedirect() + https://bugs.webkit.org/show_bug.cgi?id=52956 + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::addURLToRedirect): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2011-01-22 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] REGRESSION (r72360): http/tests/security/aboutBlank/xss-DENIED-* tests fail + https://bugs.webkit.org/show_bug.cgi?id=49802 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + (WebCore::DumpRenderTree::open): + +2011-01-21 Adam Barth + + Reviewed by Maciej Stachowiak. + + Disable mac_unittest.py that fails on some of the Mac bots + https://bugs.webkit.org/show_bug.cgi?id=52947 + + As noted in the comment, this test does not appear to be correct + because the function this test is testing returns different results + depending on which flavor of Mac the test is run on. This patch + disable the test. Hopefully we can re-enable the test once we've + probably insulated the test from its environment. + + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: + +2011-01-21 Dirk Pranke + + Reviewed by Mihai Parparita. + + Fix bug introduced in r76322 that caused NRWT to not actually + read the Skipped files properly. + + https://bugs.webkit.org/show_bug.cgi?id=52771 + + * Scripts/webkitpy/layout_tests/port/mac_unittest.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: + +2011-01-21 Sam Weinig + + Reviewed by Geoffrey Sean Garen and Mark Rowe. + + WebKitTestRunner needs the HOME environment variable to be set. + + + * Scripts/old-run-webkit-tests: Set the HOME environment variable if + it exists. + +2011-01-21 Dirk Pranke + + Reviewed by Eric Seidel. + + Suppress a few remaining integration tests so that none of the + layout_test unit tests ever read from the filesystem or launch + subprocesses that aren't part of the unit tests. + + Also fix a minor bug in the printing unit tests that was + incorrectly relying on sys.argv. + + https://bugs.webkit.org/show_bug.cgi?id=52863 + + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-01-21 Darin Adler + + Fix Mac build. + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): Pass 0 for runModal function. + +2011-01-20 Darin Adler + + Reviewed by Dan Bernstein. + + WebKit2: Implement showModalDialog + https://bugs.webkit.org/show_bug.cgi?id=52855 + + This fixes WebKitTestRunner to compile, but more work is probably + needed to get it to pass the tests. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::runModal): Added. Calls through to the + platform-specific version of runModal. + (WTR::TestController::createOtherPage): Changed to be a private + static member function so it can refer to runModal, which is + a private static member function. + (WTR::TestController::initialize): Pass 0 for the runModal + function since we don't need to run the main window modal. + I suspect this is wrong and will need to change. + * WebKitTestRunner/TestController.h: Added declarations for + the functions added above. + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::runModal): Added. Untested implementation. + * WebKitTestRunner/qt/TestControllerQt.cpp: + (WTR::TestController::runModal): Added. + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::runModal): Added. + +2011-01-21 Eric Seidel + + Reviewed by Adam Barth. + + Split Host object off from WebKitPatch for easier re-use + https://bugs.webkit.org/show_bug.cgi?id=52284 + + new-run-webkit-tests and other tools are eventually going to want one of these. + Basically you need to inherit from this class if you want to pretend to be a + self.tool object for Steps/Commands. + + * Scripts/webkitpy/common/host.py: Added. + * Scripts/webkitpy/tool/main.py: + +2011-01-20 Dirk Pranke + + Reviewed by Adam Barth. + + Disable the tests that start and stop the http server and web + server, so that we don't have to worry about port collisions on + the bots. + + https://bugs.webkit.org/show_bug.cgi?id=52861 + + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + +2011-01-20 Dirk Pranke + + Reviewed by Eric Seidel. + + nrwt: rewrite google_chrome_unittest to use mock filesystem. + + https://bugs.webkit.org/show_bug.cgi?id=52772 + + * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py: + +2011-01-20 Dirk Pranke + + Reviewed by Eric Siedel. + + nrwt: clean up almost all remaining port references, remove + unnecessary import clauses. The only remaining references are + in places where a mock filesystem makes no sense or can't be + used, and in one routine in port/google_chrome_unittest that + I'll rewrite in a separate patch. + + https://bugs.webkit.org/show_bug.cgi?id=52771 + + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: + * Scripts/webkitpy/layout_tests/port/google_chrome.py: + * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py: + * Scripts/webkitpy/layout_tests/port/gtk.py: + * Scripts/webkitpy/layout_tests/port/mac.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + * Scripts/webkitpy/layout_tests/port/qt.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/port/win.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + +2011-01-20 Dirk Pranke + + Reviewed by Mihai Parparita. + + remove fs refs from run_webkit_tests, rebaseline_chromium_webkit_tests + + https://bugs.webkit.org/show_bug.cgi?id=52762 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-01-20 Tony Chang + + Reviewed by Ojan Vafai. + + [chromium] fix the paths used for the rebaseline tool + https://bugs.webkit.org/show_bug.cgi?id=52857 + + Some of the bots were renamed so the path to grab the results zip + file has changed. + + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + +2011-01-20 Dirk Pranke + + Reviewed by Tony Chang. + + Fix bug introduced in r72688 / bug 52768 that broke the + generation of the output filename links in the results.html + output. Apparently none of the unit tests actually checked to + make sure the generated links were correct :( + + https://bugs.webkit.org/show_bug.cgi?id=52854 + + * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: + * Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py: + +2011-01-20 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=52849 + Make window.print work with WebKit2 + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + (WTR::TestController::initialize): + Added zeroes to WKPageUIClient structures to avoid build failures. + +2011-01-20 Dirk Pranke + + Reviewed by Eric Seidel. + + nrwt: remove fs refs from printing, test_failures, test_expectations, text_diff + + https://bugs.webkit.org/show_bug.cgi?id=52756 + + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2011-01-20 Mansi Mithal + + Reviewed by Antonio Gomes. + + QtTestBrowser should have a seperate menu for Settings + https://bugs.webkit.org/show_bug.cgi?id=52817 + + Added a new menu item named "Settings" + and moved the "Enable interrupting js scripts" and "Enable js pop up windows" under the "Settings" menu + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + +2011-01-20 Sam Weinig + + Reviewed by John Sullivan. + + Update update-webkit-localizable-strings with new path to WebKit. + + * Scripts/update-webkit-localizable-strings: + +2011-01-20 James Robinson + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Chromium DumpRenderTree support for window.webkitRequestAnimationFrame. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (invokeScheduleComposite): + (WebViewHost::scheduleAnimation): + (WebViewHost::paintInvalidatedRegion): + * DumpRenderTree/chromium/WebViewHost.h: + +2011-01-20 Maciej Stachowiak + + Reviewed by Adam Roben. + + WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld + https://bugs.webkit.org/show_bug.cgi?id=42327 + + * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Add support + for methods that take their normal arguments but also a JSContextRef. + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: IDL definition + for evaluateScriptInIsolatedWorld. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didClearWindowForFrame): Set a magic variable only if + this call is for an isolated world. + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::worldMap): Helper to create a world map. + (WTR::LayoutTestController::worldIDForWorld): Map from an ID to a world. + (WTR::LayoutTestController::evaluateScriptInIsolatedWorld): The newly + added LayoutTestController API. + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + +2011-01-19 Adam Roben + + Convert paths in environment variables back to msys-style inside commit-log-editor + + When this script gets run from inside git commit, msys-style paths in the environment will + have been turned into Windows-style paths with forward slashes. This screws up functions + like File::Spec->rel2abs, which seem to rely on $PWD having an msys-style path. We convert + the paths back to msys-style before doing anything else. + + Fixes commit-log-editor uses full paths for section headers when + using msysgit's Perl and multiple ChangeLogs have been edited + + Reviewed by David Kilzer. + + * Scripts/commit-log-editor: Call fixEnvironment before doing anything else. + (fixEnvironment): Added. When run in msys in conjunction with git (i.e., when invoked from + inside git commit), convert Windows-style paths in the environment back to msys-style paths. + +2011-01-20 Zoltan Horvath + + [Win] Unreviewed build fix after r76248. + + * DumpRenderTree/ForwardingHeaders/wtf/FastAllocBase.h: Added. + +2011-01-20 Zoltan Horvath + + Reviewed by Csaba Osztrogonác. + + Refactoring of the custom allocation framework + https://bugs.webkit.org/show_bug.cgi?id=49897 + + Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). + The modification replaces Noncopyable and FastAllocBase classes and these inherits with their + equivalent macro implementation at the necessary places. +2011-01-20 Yi Shen + + Unreviewed. + + Adding myself to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-20 Adam Barth + + Reviewed by Tony Chang. + + Chromium builders don't delete unversioned directories when DEPS change + https://bugs.webkit.org/show_bug.cgi?id=52745 + + If we pass this option to gclient sync, gclient will delete directories + that are no longer part of DEPS instead of leaving them around to + confuse us later. Apparently, the downstream buildbots use this option + already. + + * Scripts/update-webkit-chromium: + +2011-01-19 Dirk Pranke + + Unreviewed, build fix - I pulled this patch in to fix an issue + revealed by r76195 running on some new bots). Also fix a couple + of other issues revealed in testing. + + nrwt: remove fs refs from layout_package/json* + + https://bugs.webkit.org/show_bug.cgi?id=52754 + + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/port/base.py: + +2011-01-19 Dirk Pranke + + Unreviewed, build fix. + + Fix a couple of minor bugs discovered while bringing up new bots + for testing. + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2011-01-19 James Robinson + + Unreviewed, rolling out r76194. + http://trac.webkit.org/changeset/76194 + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Caused mysterious compile failure on the chromium win + build.webkit.org bots + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::paintInvalidatedRegion): + * DumpRenderTree/chromium/WebViewHost.h: + +2011-01-19 Dirk Pranke + + Reviewed by Mihai Parparita. + + remove fs refs from test_runner, dump_render_tree_thread + + https://bugs.webkit.org/show_bug.cgi?id=52753 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-01-19 James Robinson + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Chromium DumpRenderTree support for window.webkitRequestAnimationFrame. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (invokeScheduleComposite): + (WebViewHost::scheduleAnimation): + (WebViewHost::paintInvalidatedRegion): + * DumpRenderTree/chromium/WebViewHost.h: + +2011-01-19 Dirk Pranke + + Unreviewed, build fix. + + Fix a few incorrect "self._filesystem" references introduced in + r76184. + + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + +2011-01-19 Dirk Pranke + + Reviewed by Mihai Parparita. + + add a .sep property, abspath(), isabs(), mtime(), and + open_text_file_for_writing() to filesystem modules. Some of + these properties are not needed in this patch but will be needed + in subsequent patches (I'm doing this to avoid having to track + multiple versions of a single file). + + Also, change most of the port/* modules to use the filesystem + objects instead of referencing the filesystem directly. + + https://bugs.webkit.org/show_bug.cgi?id=52748 + + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/layout_tests/port/__init__.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/base_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + * Scripts/webkitpy/layout_tests/port/config.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: + +2011-01-19 Maciej Stachowiak + + Reviewed by Anders Carlsson. + + If resetting between tests times out, treat it as a WebProcess crash + https://bugs.webkit.org/show_bug.cgi?id=52757 + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::runTest): + +2011-01-19 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=52739 + Make it possible for a WebKit2 client to print headers and footers + + Added dummy implementations for new printing UIClient calls. + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + (WTR::TestController::initialize): + +2011-01-19 Dirk Pranke + + Reviewed by Ojan Vafai. + + Change webkitpy/layout_tests/port/test.py to use the + in-memory filesystem for cleaner unit testing. This + change allows us to kill a lot of code that was + specific to the test port, at the cost of being a + little less clear about how things would work if + you didn't have a filesystem. + + https://bugs.webkit.org/show_bug.cgi?id=52605 + + * Scripts/webkitpy/layout_tests/port/test.py: + +2011-01-19 Dirk Pranke + + Unreviewed, build fix. + + Fix test failure caused by committing attachment 79368 instead + of attachment 79461 on bug 52604. + + * Scripts/webkitpy/common/system/filesystem_mock.py: + +2011-01-19 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests: remove use of os.walk, use mock filesystem for better + unit testing. os.walk() is too much of a hassle to implement on + top of the in-memory mock filesystem and adding the necessary + interface to files_under() gives clients a cleaner API anyway + (for this particular usage model). + + https://bugs.webkit.org/show_bug.cgi?id=52691 + + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/layout_tests/port/test_files.py: + * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: + +2011-01-19 Dirk Pranke + + Reviewed by Tony Chang. + + Change more modules in the layout-tests code to use the + filesystem wrapper for cleaner unit testing. + + This patch also adds the glob() wrapper to the filesystem + abstraction. + + https://bugs.webkit.org/show_bug.cgi?id=52604 + + * Scripts/webkitpy/layout_tests/port/test_files.py: + * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + +2011-01-19 Levi Weintraub + + Unreviewed. + + Updating my email addresses and irc nick. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-19 Tony Chang + + Reviewed by Mihai Parparita. + + [chromium] [linux] if check-sys-deps fails, output the failure reason + https://bugs.webkit.org/show_bug.cgi?id=52671 + + * Scripts/webkitpy/common/system/executive_mock.py: Add support for + error handler functions. + * Scripts/webkitpy/layout_tests/port/chromium.py: + output the error text from --check-sys-deps + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + +2011-01-19 Aparna Nandyal + + Reviewed by Andreas Kling. + + [Qt] QtTestBrowser crashes when closing if Facebook is opened + https://bugs.webkit.org/show_bug.cgi?id=52554 + + QtNetworkAccessManager is created in a thread and set as + member variable in QWebPage. When the thread is destroyed + the object is still used. So fix will set the object to + NULL once the thread is destroyed. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::~LauncherWindow): + +2011-01-18 Maciej Stachowiak + + Rubber stamped by Csaba Osztrogonac + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Removed unncessary inculde of WKStringCF.h + +2011-01-18 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add a --build-directory command line argument + + Official Google Chrome builds use a non-standard build directory + location. This patch adds a --build-directory argument that + allows that location to be specified on the command line. Only + Chromium-based builds will use this flag for now, but anyone can + in the future. + + There are no unit tests for this since it's difficult to test + until mock filesystems are fully supported in the code. This was + tested by hand for now. + + https://bugs.webkit.org/show_bug.cgi?id=52694 + + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2011-01-18 Maciej Stachowiak + + Not reviewed. Bot fix. + + Remove an inadvertently committed debugging print. + + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::notifyDone): + +2011-01-18 Maciej Stachowiak + + Reviewed by Sam Weinig. + + WebKitTestRunner should track loading more like DumpRenderTree + https://bugs.webkit.org/show_bug.cgi?id=52692 + + Change load tracking to track the current top loading frame, in the manner of DumpRenderTree. + This makes some tests that call notifyDone multiple times pass. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::InjectedBundle): + (WTR::InjectedBundle::done): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + (WTR::InjectedBundle::topLoadingFrame): + (WTR::InjectedBundle::setTopLoadingFrame): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::stopLoading): + (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): + (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): + (WTR::InjectedBundlePage::didFinishLoadForFrame): + (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::notifyDone): + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::didReceiveMessageFromInjectedBundle): + +2011-01-18 Mihai Parparita + + Reviewed by Kent Tamura. + + [Chromium] NRWT looking for DRT binary in the wrong path on Mac + https://bugs.webkit.org/show_bug.cgi?id=52678 + + Update path now that WebKit is inside Source. + + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + +2011-01-18 Robert Hogan + + Reviewed by Simon Hausmann. + + [Qt] http/tests/incremental/slow-utf8-text.pl fails + https://bugs.webkit.org/show_bug.cgi?id=44282 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::dump): + +2011-01-18 Dirk Pranke + + Reviewed by Mihai Parparita. + + Fix a small race condition that could cause the unit tests for + new-run-webkit-tests to fail in a multithreaded environment. + There was a small window in the code where one thread would + check to see if a thread had raised an exception, do something, + and then check to see if the thread was alive. If the other + thread raised an exception and exited in between these two + steps, the exception would be lost. Flipping the order of the + two checks fixes the race, since we will now always check for an + exception on the thread before exiting. + + https://bugs.webkit.org/show_bug.cgi?id=51579 + + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + +2011-01-18 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue dies when test archiving fails + https://bugs.webkit.org/show_bug.cgi?id=52617 + + I looked at the machine and it had 10 archives already + thus find_unused_name was returning None. I've upped + the limit to 100 (per bug) and tested the case where + find_unused_name returns None (making archive return None). + + * Scripts/webkitpy/common/system/workspace.py: + * Scripts/webkitpy/common/system/workspace_unittest.py: + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + +2011-01-18 Dirk Pranke + + Reviewed by Ojan Vafai. + + Update rebaseline-chromium-webkit-tests unit tests to use a mock + filesystem. Also fix a couple of "with" statements missed by + r76050. + + https://bugs.webkit.org/show_bug.cgi?id=52487 + + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: + +2011-01-18 Sergio Villar Senin + + Reviewed by Martin Robinson. + + [Gtk] Build fixes for gtk3 build + https://bugs.webkit.org/show_bug.cgi?id=52648 + + * DumpRenderTree/gtk/EventSender.cpp: + (beginDragWithFilesCallback): + +2011-01-18 Dirk Pranke + + Reviewed by Mihai Parparita. + + Update rebaseline-chromium-webkit-tests to use filesystem objects + instead of direct references to os.path, shutil, tempfile, etc. + + This patch doesn't change anything, but will allow subsequent + patches to change the unit tests to no longer use the real + filesystem. + + This patch adds a bunch more methods to the filesystem object as + well. + + https://bugs.webkit.org/show_bug.cgi?id=52482 + + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: + +2011-01-18 Dirk Pranke + + Reviewed by Mihai Parparita. + + new-run-webkit-tests shouldn't crash when you try to run a + directory containing only skipped files. + + https://bugs.webkit.org/show_bug.cgi?id=52478 + + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-01-18 Adam Bergkvist and Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] The GTK+ EventSender needs support for beginDragWithFiles + https://bugs.webkit.org/show_bug.cgi?id=40833 + + * DumpRenderTree/gtk/EventSender.cpp: Add a beginDragWithFiles implementation for the + GTK+ event sender. + (dragWithFilesDragDataGetCallback): Added. + (dragWithFilesDragEndCallback): Added. + (beginDragWithFilesCallback): Added. + +2011-01-18 Gyuyoung Kim + + Reviewed by Adam Barth. + + ews: Add additional watcher to efl ews + https://bugs.webkit.org/show_bug.cgi?id=52613 + + Add gyuyoung.kim@samsung.com to watcher list of efl-ews. + + * Scripts/webkitpy/tool/commands/earlywarningsystem.py: + +2011-01-17 Tony Gentilcore + + Reviewed by Alexey Proskuryakov. + + Fix some headers with missing or misspelled #ifndef guards + https://bugs.webkit.org/show_bug.cgi?id=52545 + + * DumpRenderTree/chromium/TestEventPrinter.h: + * DumpRenderTree/chromium/WebPreferences.h: + +2011-01-17 Jessie Berlin + + Reviewed by Anders Carlsson. + + REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when + navigating back to an unreachable URL + https://bugs.webkit.org/show_bug.cgi?id=52388 + + Add a third parameter (unreachableURL) to queueLoadHTMLString. + + * DumpRenderTree/LayoutTestController.cpp: + (queueLoadHTMLStringCallback): + (LayoutTestController::queueLoadHTMLString): + (LayoutTestController::queueLoadAlternateHTMLString): + * DumpRenderTree/LayoutTestController.h: + + * DumpRenderTree/WorkQueueItem.h: + (LoadHTMLStringItem::LoadHTMLStringItem): + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (WorkItemLoadHTMLString::WorkItemLoadHTMLString): + (WorkItemLoadHTMLString::run): + (LayoutTestController::queueLoadHTMLString): + + * DumpRenderTree/gtk/WorkQueueItemGtk.cpp: + (LoadHTMLStringItem::invoke): + * DumpRenderTree/mac/WorkQueueItemMac.mm: + (LoadHTMLStringItem::invoke): + * DumpRenderTree/win/WorkQueueItemWin.cpp: + (LoadHTMLStringItem::invoke): + +2011-01-17 Dan Bernstein + + Rubber-stamped by Mark Rowe. + + Update xcodeproj svn:ignore to include xcuserdata. + + * DumpRenderTree/DumpRenderTree.xcodeproj: Modified property svn:ignore. + * MiniBrowser/MiniBrowser.xcodeproj: Modified property svn:ignore. + * TestWebKitAPI/TestWebKitAPI.xcodeproj: Modified property svn:ignore. + * WebKitLauncher/WebKitLauncher.xcodeproj: Modified property svn:ignore. + * WebKitTestRunner/WebKitTestRunner.xcodeproj: Modified property svn:ignore. + +2011-01-17 Csaba Osztrogonác + + Unreviewed fix after r75908. + + Move WebKit into Source + https://bugs.webkit.org/show_bug.cgi?id=52530 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Add Source to the path for Qt API tests. + +2011-01-17 Csaba Osztrogonác + + Unreviewed. + + Remove accidentally committed debug printing after r75908. + + * Scripts/webkitdirs.pm: + +2011-01-17 John Knottenbelt + + Unreviewed. + + Add myself to committers list + https://bugs.webkit.org/show_bug.cgi?id=52566 + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-17 John Knottenbelt + + Reviewed by Jeremy Orlow. + + GeolocationController should call stopUpdating on destruction + https://bugs.webkit.org/show_bug.cgi?id=52216 + + fast/dom/Geolocation/window-close-crash.html requires that a + Geolocation watch be started in a secondary window. Consequently, + we need to allow geolocation permission and provide a mock + geolocation position for the secondary window's + GeolocationClientMock. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::setGeolocationPermission): + (LayoutTestController::setMockGeolocationPosition): + (LayoutTestController::setMockGeolocationError): + * DumpRenderTree/chromium/TestShell.h: + (TestShell::windowList): + +2011-01-16 Adam Barth + + Update more include paths to reflect WebKit move. + + * DumpRenderTree/chromium/EventSender.cpp: + (EventSender::keyDown): + (EventSender::needsShiftModifier): + * DumpRenderTree/chromium/WebThemeEngineDRTMac.h: + * DumpRenderTree/chromium/WebThemeEngineDRTMac.mm: + +2011-01-16 Kent Tamura + + Unreviewed, Chromium build fix. + + * Scripts/update-webkit-chromium: Webkit/chromium -> Source/WebKit/chromium + +2011-01-16 Martin Robinson + + Build fix for GTK+ after source directory movement. + + * GNUmakefile.am: Correct include paths. + +2011-01-16 Adam Barth + + Teach svn-apply about WebKit move. + + * Scripts/VCSUtils.pm: + +2011-01-16 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move WebKit into Source + https://bugs.webkit.org/show_bug.cgi?id=52530 + + * DumpRenderTree/mac/InternalHeaders/WebKit/WebTypesInternal.h: + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + * DumpRenderTree/qt/DumpRenderTreeQt.h: + * DumpRenderTree/qt/GCControllerQt.cpp: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + * DumpRenderTree/qt/PlainTextControllerQt.cpp: + * DumpRenderTree/qt/TextInputControllerQt.cpp: + * DumpRenderTree/wscript: + * QtTestBrowser/launcherwindow.h: + * Scripts/build-webkit: + * Scripts/webkitdirs.pm: + +2011-01-15 Adam Barth + + Teach svn-apply about WebKit2 move. + + * Scripts/VCSUtils.pm: + +2011-01-15 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move WebKit2 into Source + https://bugs.webkit.org/show_bug.cgi?id=52438 + + * MiniBrowser/qt/MiniBrowser.pro: + * Scripts/build-webkit: + * Scripts/do-file-rename: + * Scripts/do-webcore-rename: + * Scripts/test-webkitpy: + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/style/checker.py: + * WebKitTestRunner/DerivedSources.pro: + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: + +2011-01-15 Jochen Eisinger + + Reviewed by David Levin. + + [chromium] remove obsolete createView method + https://bugs.webkit.org/show_bug.cgi?id=52437 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::createView): + * DumpRenderTree/chromium/WebViewHost.h: + +2011-01-14 Brian Weinstein + + Reviewed by Geoff Garen. + + ShouldLoadResourceForFrame should use strings, not URLs. + https://bugs.webkit.org/show_bug.cgi?id=52476 + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::shouldLoadResourceForFrame): Update to use a WKStringRef. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2011-01-14 Tony Gentilcore + + Reviewed by David Levin. + + Add Tony Gentilcore as a reviewer + https://bugs.webkit.org/show_bug.cgi?id=52480 + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-14 David Levin + + Reviewed by Eric Seidel. + + check-webkit-style: _FunctionState should keep track of where the function name starts. + https://bugs.webkit.org/show_bug.cgi?id=52454 + + * Scripts/webkitpy/style/checkers/cpp.py: Added function_name_start_position to + _FunctionState and logic for setting it correctly. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests. + +2011-01-14 Vincent Scheib + + Reviewed by David Levin. + + Add support to DumpRenderTree to use the GPU rather than software renderer + https://bugs.webkit.org/show_bug.cgi?id=52333 + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (main): + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2011-01-14 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] update fonts.conf to fix 6 linux tests in drt + https://bugs.webkit.org/show_bug.cgi?id=52411 + + * DumpRenderTree/chromium/fonts.conf: Update to match the copy in + chromium's src/webkit/tools/test_shell/resources/fonts.conf + +2011-01-14 Eric Seidel + + Original patch from Peter Gal + + Reviewed by Adam Barth. + + Fix when running Tools/Scripts/check-webkit-style without arguments. + https://bugs.webkit.org/show_bug.cgi?id=52261#c16 + + * Scripts/webkitpy/common/checkout/scm.py: Handle None for changed_files argument better in Git.create_patch method. + * Scripts/webkitpy/common/checkout/scm_unittest.py: + +2011-01-04 Jochen Eisinger + + Reviewed by David Levin. + + Store the tempdir object in a variable so it doesn't get deleted too early. + https://bugs.webkit.org/show_bug.cgi?id=51875 + + * Scripts/update-webkit-auxiliary-libs: + * Scripts/update-webkit-support-libs: + +2011-01-14 Eric Seidel + + Unreviewed. Make it work in python 2.5. + + webkit-patch suggest-reviewers dies when ChangeLogs are missing + https://bugs.webkit.org/show_bug.cgi?id=49158 + + * Scripts/webkitpy/common/checkout/api_unittest.py: + +2011-01-14 Sheriff Bot + + Unreviewed, rolling out r75774. + http://trac.webkit.org/changeset/75774 + https://bugs.webkit.org/show_bug.cgi?id=52431 + + gtk builds were broken (Requested by loislo2 on #webkit). + + * Scripts/webkitpy/common/checkout/scm.py: + +2011-01-14 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style: _FunctionState should detect pure functions. + https://bugs.webkit.org/show_bug.cgi?id=52428 + + * Scripts/webkitpy/style/checkers/cpp.py: Added detection for if a function declaration + is a pure virtual function. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added tests for verifying that pure + virtual functions are correctly detected. + +2011-01-13 Ilya Tikhonovsky + + Reviewed by Yury Semikhatsky. + + Just small fix for problem with check-webkit-style. + It just didn't work for this patch. + Old code can't concatenate a list of strings with None. + + * Scripts/webkitpy/common/checkout/scm.py: + +2011-01-13 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style: _FunctionState should use Position to know where items are. + https://bugs.webkit.org/show_bug.cgi?id=52424 + + * Scripts/webkitpy/style/checkers/cpp.py: + (_FunctionState.*): Changed _FunctionState to use Position instead of line numbers. + (detect_functions): Changed to pass Position's to _FunctionState.begin and + did some minor clean-up. + (*): Other changes are simply about converting to use the Position's in_FunctionState + instead of line numbers. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Changed the test code + to verify the positions stored in _FunctionState. + +2011-01-13 Eric Seidel + + Reviewed by David Levin. + + webkit-patch suggest-reviewers dies when ChangeLogs are missing + https://bugs.webkit.org/show_bug.cgi?id=49158 + + This is not the most elegant, but it is a very safe fix to this bug. + One advantage of catching ScriptError like this instead of adding a + new added_or_modified_files or fixing all changed_files callers + to use a more specific change_files variant, is that we catch + all kinds of ScriptErrors which might cause our (non-essential) + suggest-reviewers code to fail out. This should make passing + --suggest-reviewers to webkit-patch upload much more robust + and may even make it possible for us to make it default. + + The root of the problem here is that SCM.changed_files includes + deleted ChangeLog paths (from moves, etc) which then when we ask + SVN/Git for the contents of the file at that revision, the command + errors out and Executive.run_command raises a ScriptError. + + In the future we might fix this differently by making all current + callers of chagned_files use a more specific method for requesting + what types of changes they're interested in (adds, modifies, deletes, etc.) + + * Scripts/webkitpy/common/checkout/api.py: + * Scripts/webkitpy/common/checkout/api_unittest.py: + +2011-01-13 Dan Bernstein + + Reviewed by Alexey Proskuryakov. + + REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL + https://bugs.webkit.org/show_bug.cgi?id=52419 + + Allow to further control the behavior of the willSendRequest delegate callback by making it + set a different URL in the new request. + + * DumpRenderTree/LayoutTestController.cpp: + (addURLToRedirectCallback): Added. + (LayoutTestController::staticFunctions): Added addURLToRedirect. + (LayoutTestController::addURLToRedirect): Added. Adds the redirection to the map. + (LayoutTestController::redirectionDestinationForURL): Added this getter. + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/mac/ResourceLoadDelegate.mm: + (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): Check + if there is a redirection for the request’s URL, established by addURLToRedirect(), and if so, + change the URL in the new request to the redirect destination. + +2011-01-13 Eric Seidel + + Reviewed by Mihai Parparita. + + webkit-patch suggest-reviewers fails due to invalid utf8 in ChangeLog files + https://bugs.webkit.org/show_bug.cgi?id=52416 + + Example: webkit-patch suggest-reviewers -g ca3890fe74d94d85d6bfa48f9ea497b094d8e717 + UnicodeDecodeError: 'utf8' codec can't decode bytes in position 536-538: invalid data + + I also added FIXMEs about the changed_files returning deleted files problem + which is causing the other most common exception for suggest-reviewers + (and is probably breaking sheriff-bots blame detection). + + * Scripts/webkitpy/common/checkout/api.py: + * Scripts/webkitpy/common/checkout/api_unittest.py: + * Scripts/webkitpy/common/checkout/scm.py: + +2011-01-13 Eric Seidel + + Reviewed by Adam Barth. + + results archives from commit-queue are too large to upload + https://bugs.webkit.org/show_bug.cgi?id=52405 + + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/tool/commands/queues.py: + +2011-01-13 Alejandro G. Castro + + Reviewed by Martin Robinson. + + [gtk] Zero-sized font does not yet work + https://bugs.webkit.org/show_bug.cgi?id=49793 + + Set minimum-font-size to 0 for the DRT. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + +2011-01-13 Csaba Osztrogonác + + Reviewed by Darin Adler. + + Make old-run-webkit-tests more robust on buildbots + https://bugs.webkit.org/show_bug.cgi?id=52364 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Pass --exit-after-n-failures 500 to old-run-webkit-tests script. + +2011-01-13 Csaba Osztrogonác + + Reviewed by Darin Adler. + + Make old-run-webkit-tests more robust on buildbots + https://bugs.webkit.org/show_bug.cgi?id=52364 + + * Scripts/old-run-webkit-tests: Ensure that testResultsDirectory is empty. + +2011-01-13 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] fix plugins/plugin-javascript-access.html on Linux and Mac + https://bugs.webkit.org/show_bug.cgi?id=52332 + + Forked Info.plist is not longer needed. + + * DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist: Removed. + +2011-01-13 Mikhail Naganov + + Reviewed by Timothy Hatcher. + + Web Inspector: Cleanup after r75613 -- make all UI-facing strings + to be passed directly to WebInspector.UIString + + https://bugs.webkit.org/show_bug.cgi?id=52365 + + * Scripts/check-inspector-strings: + +2011-01-13 Sheriff Bot + + Unreviewed, rolling out r74881. + http://trac.webkit.org/changeset/74881 + https://bugs.webkit.org/show_bug.cgi?id=52357 + + The EFL builder has been red for days (Requested by abarth on + #webkit). + + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-01-12 Maciej Stachowiak + + Reviewed by David Levin. + + Add beforeunload support to WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=52353 + + This makes a number of currently failing tests pass. + + * WebKitTestRunner/TestController.cpp: + (WTR::runBeforeUnloadConfirmPanel): + (WTR::createOtherPage): + (WTR::TestController::initialize): + +2011-01-12 Maciej Stachowiak + + Reviewed by Sam Weinig. + + Detect, identify and recover from WebProcess crashes in run-webkit-tests + https://bugs.webkit.org/show_bug.cgi?id=52330 + + * Scripts/old-run-webkit-tests: Detect when the regression test tool reports + a web process crash. + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): Set up a processDidCrash + callback. + (WTR::TestController::processDidCrash): Report that the Web process + crashed. + * WebKitTestRunner/TestController.h: + +2011-01-12 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style -- close_expression function doesn't work correctly. + https://bugs.webkit.org/show_bug.cgi?id=52272 + + * Scripts/webkitpy/style/checkers/cpp.py: + (Position.__str__): Added a way to convert it to a string which is useful in tests. + (Position.__cmp__): Added a way to compare Position which is useful in tests and + generally useful (for upcoming code changes). + (close_expression): Changed to use Position for input and output. + Also, fixed many bugs such as only working correctly for parenthesis, + not working correctly if given an offset in a line and not finding + the real closing element if there were multiple closing elements in + the same line. + (detect_functions): Adjusted due to the change in arguments for + close_expression. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + (CppStyleTestBase.assert_positions_equal): Added a way to verify that + two positions are the same. + (CppStyleTest.test_position): Added tests for the __str_ and __cmp__ methods. + (CppStyleTest.test_close_expression): Added tests to catch the issues + that were fixed. + +2011-01-12 Sheriff Bot + + Unreviewed, rolling out r75576. + http://trac.webkit.org/changeset/75576 + https://bugs.webkit.org/show_bug.cgi?id=52304 + + broke rebaseline-chromium-webkit-test (Requested by thakis on + #webkit). + + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/style/checkers/test_expectations.py: + * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: + +2011-01-12 Maciej Stachowiak + + Reviewed by Darin Adler. + + Add a no-build option to run-webkit-tests, to avoid building DRT/WKTR + https://bugs.webkit.org/show_bug.cgi?id=52307 + + * Scripts/old-run-webkit-tests: + +2011-01-12 Koan-Sin Tan + + Reviewed by Martin Robinson. + + [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6 + https://bugs.webkit.org/show_bug.cgi?id=50867 + + Fixed library extention for Mac in webkitdirs.pm and type conflict in + TestNetscapePlugin.cpp + + * GNUmakefile.am: Don't use AppKit when compiling TestNetscapePlugin for GTK+ + * Scripts/webkitdirs.pm: + +2011-01-12 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Add check-inspector-strings script. + + https://bugs.webkit.org/show_bug.cgi?id=52295 + + * Scripts/check-inspector-strings: Added. + +2011-01-12 Adam Roben + + Advertise the .testnetscape file extension on Windows + + Fixes + plugins/no-mime-with-valid-extension.html fails on Windows + + Reviewed by Dan Bernstein. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Added a + FileExtents field to map the .testnetscape file extension to the + application/x-webkit-test-netscape MIME type, just as we do on Mac. + +2011-01-12 Adam Barth + + Reviewed by Eric Seidel. + + Make webkit-patch support subdirectories for SVN checkouts + https://bugs.webkit.org/show_bug.cgi?id=52261 + + os.relpath does not exist on Python 2.5, so we need to call our version + of the API. + + * Scripts/webkitpy/common/checkout/scm.py: + +2011-01-11 Maciej Stachowiak + + Reviewed by Eric Seidel. + + Close additional pages opened during a test once the test completes. + https://bugs.webkit.org/show_bug.cgi?id=52276 + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::done): + +2011-01-11 David Levin + + Reviewed by Eric Seidel. + + Errors should be separated from the command line in bot messages. + https://bugs.webkit.org/show_bug.cgi?id=52275 + + * Scripts/webkitpy/common/system/executive.py: + (ScriptError.message_with_output): Added a newline to separate the command + line from the errors. + * Scripts/webkitpy/common/system/executive_unittest.py: + (ScriptErrorTest.test_message_with_output): Added tests for the various code + paths in message_with_output. + +2011-01-11 Eric Seidel + + Unreviewed. + + commit-queue should know how to upload archived results (for test flakes or general failures) + https://bugs.webkit.org/show_bug.cgi?id=52048 + + The zips are mostly empty due to forgetting -r. + Expected diffs were not being pulled from the archive due + to the archive having longer paths than I realized. + + * Scripts/webkitpy/common/system/workspace.py: + * Scripts/webkitpy/common/system/workspace_unittest.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + +2011-01-11 Dirk Pranke + + Reviewed by Ojan Vafai. + + The current modifier parsing code in test_expectations is + fragile and hard-coded, so it's not easy to understand the logic + or easily add new types of modifiers (like GPU vs. CPU testing + for graphics tests, or 32-bit vs. 64-bit differences). + + This is the first of two patches that will add in more generic + support and then eliminate the GPU-specific test expectations + files for Chromium. + + This patch adds two standalone objects for handling modifiers. The + rules for interpreting modifiers, precedence, and conflicts are + given in the docstring to the ModifierMatcher class, which + returns ModifierMatchResult objects. + + This patch also adds routines to the Port interface and a + default set of values in the base object, in order to obtain the + values needed on a given test run. These values are then passed + to the expectation parser. This also allows us to clean up the + logic used to lint all of the different configurations in a + single test_expectations.txt file. + + The next patch will merge in the separate GPU expectations file. + + https://bugs.webkit.org/show_bug.cgi?id=51222 + + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/base_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2011-01-11 Maciej Stachowiak + + Reviewed by Adam Barth. + + Make webkit-patch support subdirectories for SVN checkouts + https://bugs.webkit.org/show_bug.cgi?id=52261 + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/style_references.py: + * Scripts/webkitpy/tool/main.py: + * Scripts/webkitpy/tool/steps/preparechangelog.py: + +2011-01-11 Eric Seidel + + Unreviewed. + + commit-queue should know how to upload archived results (for test flakes or general failures) + https://bugs.webkit.org/show_bug.cgi?id=52048 + + I changed the API for archive_last_layout_test_results w/o updating the implementation. Oops. + This fixes an exception seen on the commit-queue when attempting to report flaky tests. + + * Scripts/webkitpy/common/system/workspace.py: + * Scripts/webkitpy/common/system/workspace_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + +2011-01-11 Sam Weinig + + Roll r75474 back in. + +2011-01-11 Jocelyn Turcotte + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Remove uses of QFuture since it isn't supported on all platforms. + https://bugs.webkit.org/show_bug.cgi?id=51204 + + * QtTestBrowser/webpage.h: + (QtNAMThread::QtNAMThread): + (QtNAMThread::networkAccessManager): + (QtNAMThread::run): + +2011-01-11 Peter Varga + + Unreviewed. + + Add myself to committers' list. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-11 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue should know how to upload archived results (for test flakes or general failures) + https://bugs.webkit.org/show_bug.cgi?id=52048 + + Now the queue will always upload results. Either the entire zip, or just + the diffs.txt in the case of text failures. + + This should make understanding flakes much easier, and paves the way + for having the EWS run layout tests (and upload failures). + + In order to upload .zip files I had to teach bugzilla.py to autodetect + mime types from the filename. Since mimetypes.py doesn't include a mapping + for .patch files, I have it add one before calling guess_type. + + We may find that always uploading the whole zip instead of just the -diffs.txt + file is preferable, but for now I'm keeping the old behavior because it makes + quickly understanding text failures easy. + + * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: + * Scripts/webkitpy/common/system/workspace.py: Added. + * Scripts/webkitpy/common/system/workspace_unittest.py: Added. + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2011-01-10 Sheriff Bot + + Unreviewed, rolling out r75464. + http://trac.webkit.org/changeset/75464 + https://bugs.webkit.org/show_bug.cgi?id=52193 + + Followup rollout for 75474 (Requested by Ossy on #webkit). + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + (WTR::TestController::initialize): + +2011-01-10 Laszlo Gombos + + Reviewed by Csaba Osztrogonác. + + [Qt] Baseline qt_minimal configuration + https://bugs.webkit.org/show_bug.cgi?id=51313 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): Add + QT_NO_UNDOSTACK guard. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): Add QT_NO_SHORTCUT and QT_NO_PRINTER + guards. + (LauncherWindow::applyZoom): Add QT_NO_ANIMATION guard. + (LauncherWindow::screenshot): Add QT_NO_FILEDIALOG guard. + (LauncherWindow::selectElements): Add QT_NO_INPUTDIALOG guard. + (LauncherWindow::showUserAgentDialog): Add QT_NO_COMBOBOX guard. + + * QtTestBrowser/launcherwindow.h: + * QtTestBrowser/locationedit.cpp: Add QT_NO_INPUTDIALOG guard. + * QtTestBrowser/locationedit.h: Ditto. + + * QtTestBrowser/mainwindow.cpp: + (MainWindow::buildUI): Add QT_NO_INPUTDIALOG, QT_NO_SHORTCUT and + QT_NO_UNDOSTACK guards. + (MainWindow::setAddressUrl): Add QT_NO_INPUTDIALOG guard. + (MainWindow::changeLocation): Ditto. + (MainWindow::openFile): Add QT_NO_FILEDIALOG guard. + (MainWindow::openLocation): Add QT_NO_INPUTDIALOG guard. + + * QtTestBrowser/webpage.cpp: + (WebPage::openUrlInDefaultBrowser): Add QT_NO_DESKTOPSERVICES guard. + (WebPage::authenticationRequired): Add QT_NO_LINEEDIT guard. + + * QtTestBrowser/webview.cpp: + (WebViewGraphicsBased::animatedFlip): Add QT_NO_ANIMATION guard. + (WebViewGraphicsBased::animatedYFlip): Ditto. + +2011-01-10 Sam Weinig + + Fix build. + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + (WTR::TestController::initialize): + +2011-01-10 Eric Seidel + + Reviewed by Ojan Vafai. + + style-queue messages are way too long for big patches + https://bugs.webkit.org/show_bug.cgi?id=52161 + + We definitely could build much fancier list-to-string-with-limit functions + but this should be sufficient for our needs at the moment. + + * Scripts/webkitpy/common/system/executive.py: + * Scripts/webkitpy/common/system/executive_unittest.py: + +2011-01-10 Tony Chang + + Unreviewed, rolling out r75398. + http://trac.webkit.org/changeset/75398 + https://bugs.webkit.org/show_bug.cgi?id=52008 + + Some layout tests are crashing on Chromium Win. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::updatePaintRect): + * DumpRenderTree/chromium/WebViewHost.h: + +2011-01-10 Adam Roben + + Roll out r75392 + + It isn't needed now that r75289 has been rolled out. + + * Scripts/run-javascriptcore-tests: + +2011-01-10 Maciej Stachowiak + + Reviewed by Anders Carlsson. + + WebKitTestRunner uses crazy amounts of CPU, making layout tests slow and flaky + https://bugs.webkit.org/show_bug.cgi?id=52160 + + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::platformRunUntil): Instead of busy-looping, wait for the timeout. + Anything that can make runUntil() conditions turn true will happen on a run loop cycle + anyway. + +2011-01-10 Tony Chang + + Reviewed by Mihai Parparita. + + [chromium] fix for animated gif layout tests + https://bugs.webkit.org/show_bug.cgi?id=52008 + + * DumpRenderTree/chromium/WebViewHost.cpp: Schedule a paint when we update the paint rect + to trigger gif animations. + (WebViewHostPaintTask::WebViewHostPaintTask): + (WebViewHostPaintTask::runIfValid): + (WebViewHost::updatePaintRect): + * DumpRenderTree/chromium/WebViewHost.h: + (WebViewHost::taskList): + +2011-01-10 Alejandro G. Castro + + Reviewed by Xan Lopez. + + [GTK] Fix gtk2 compilation for master + https://bugs.webkit.org/show_bug.cgi?id=51885 + + * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: + (createBitmapContextFromWebView): Replaced the old + gdk_drawable_get_size with gdk_pixmap_get_size. + +2011-01-10 Patrick Gansterer + + Reviewed by Laszlo Gombos. + + [WINCE] Reenable NPAPI after r75203 + https://bugs.webkit.org/show_bug.cgi?id=52109 + + Remove the !isWinCE() check for ENABLE_NETSCAPE_PLUGIN_API and replace + it with !isEfl(), because EFL port does not support NPAPI (yet). + + * Scripts/build-webkit: + +2011-01-10 Adam Roben + + Skip some asserting JS tests + + See . + + * Scripts/run-javascriptcore-tests: + +2011-01-10 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] build-webkit disable Blob support via arguments passed to automake + https://bugs.webkit.org/show_bug.cgi?id=52097 + + * Scripts/build-webkit: Enable Blob support when building WebKitGTK+ via + build-webkit. + +2011-01-10 Adam Roben + + Use the same name and description for TestNetscapePlugin on Windows and + Mac + + Fixes + fast/frames/iframe-reparenting-plugins.html fails on Windows + + Reviewed by Steve Falkenburg. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Copied + the name and description from Mac's Info.plist. + +2011-01-10 Siddharth Mathur + + Reviewed by Laszlo Gombos. + + [Qt][WK2] Guard gcc-specific syntax + + Non-gcc based compliers choke on the "-include" + syntax for preinclude, place guard around it. + + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: + +2011-01-10 Andreas Kling + + Reviewed by Simon Hausmann. + + [Qt] [WK2] MiniBrowser does not load pages opened in new windows + https://bugs.webkit.org/show_bug.cgi?id=52111 + + When getting a createNewPage() callback from QWKPage, create the + new page with the same QWKContext as the page that is passed to + the callback. + + * MiniBrowser/qt/BrowserView.h: + * MiniBrowser/qt/BrowserWindow.cpp: + (newPageFunction): + (BrowserWindow::BrowserWindow): + * MiniBrowser/qt/BrowserWindow.h: + +2011-01-10 Andreas Kling + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] MiniBrowser: Remove superfluous createNewPage() callback + + BrowserView set its own useless createNewPage() callback on QWKPage. + This was immediately overridden by BrowserWindow anyway, so remove + the BrowserView one. + + * MiniBrowser/qt/BrowserView.cpp: + (BrowserView::BrowserView): + +2011-01-10 John Knottenbelt + + Reviewed by Jeremy Orlow. + + [Chromium] Remove non-client-based Geolocation code + https://bugs.webkit.org/show_bug.cgi?id=50921 + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::setGeolocationPermission): + (LayoutTestController::setMockGeolocationPosition): + (LayoutTestController::setMockGeolocationError): + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::geolocationClientMock): + (WebViewHost::reset): + * DumpRenderTree/chromium/WebViewHost.h: + +2011-01-10 Eric Seidel + + Reviewed by Adam Barth. + + Commit bot tried to land r? cq+ patch + https://bugs.webkit.org/show_bug.cgi?id=36638 + + It should now be possible to post a patch with r? and cq+ and the + commit-queue will correctly wait for the r+ before attempting to land the patch. + (This was a feature requested by several users.) + + One caveat: We don't actually reject r-, cq+ patches from the queue + (we just ignore them), but I think that's OK for now. + + I also noticed that setting r- once a commit-queue node had grabbed + a patch would not properly cancel the landing. That's fixed and + tested in this patch. + + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: + * Scripts/webkitpy/tool/bot/feeders.py: + * Scripts/webkitpy/tool/bot/feeders_unittest.py: + +2011-01-08 Benjamin Poulain + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] QtWebKit crashes when using XMLHttpRequest from the unload event + https://bugs.webkit.org/show_bug.cgi?id=51934 + + When accessing the network from the destructor of QWebPage, the network access manager + was already deleted because the object WebPage was already destructed. + + This solve the problem by linking the lifetime of the network access manager to WebPage's QObject. + The object is now destructed in the destructor of QObject. + + * QtTestBrowser/webpage.cpp: + (WebPage::WebPage): + (WebPage::setQnamThreaded): + * QtTestBrowser/webpage.h: + (QtNAMThread::QtNAMThread): + +2011-01-08 Eric Seidel + + Reviewed by Ojan Vafai. + + test_failures.py should not mention TestShell (long live DumpRenderTree!) + https://bugs.webkit.org/show_bug.cgi?id=52067 + + I ran test-webkitpy, but didn't bother adding a unit test for this string change. + https://bugs.webkit.org/show_bug.cgi?id=51138#c3 is an example of why this is needed. + + * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: + +2011-01-08 Eric Seidel + + Reviewed by Mihai Parparita. + + commit-queue hangs when the ChangeLog diff is bad + https://bugs.webkit.org/show_bug.cgi?id=52072 + + * Scripts/webkitpy/tool/steps/validatechangelogs.py: + * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py: + +2011-01-08 Adam Barth + + Teach svn-apply how to re-write WebCore to Source/WebCore. + + * Scripts/VCSUtils.pm: + +2011-01-07 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move WebCore to Source + https://bugs.webkit.org/show_bug.cgi?id=52050 + + Update the tools to understand WebCore's new location. + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + * DumpRenderTree/wscript: + * GNUmakefile.am: + * Scripts/build-webkit: + * Scripts/do-file-rename: + * Scripts/do-webcore-rename: + * Scripts/generate-qt-inspector-resource: + * Scripts/prepare-ChangeLog: + * Scripts/run-bindings-tests: + * Scripts/update-iexploder-cssproperties: + * Scripts/update-sources-list.py: + * Scripts/update-webkit-localizable-strings: + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/common/config/build.py: + * Scripts/webkitpy/common/config/build_unittest.py: + * Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py: + * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/style/checker_unittest.py: + * WebKitTestRunner/DerivedSources.pro: + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh: + * wx/browser/wscript: + * wx/build/settings.py: + +2011-01-07 Maciej Stachowiak + + Reviewed by Sam Weinig. + + Make WebKitTestRunner rest between loads more robust to avoid test crashes + https://bugs.webkit.org/show_bug.cgi?id=52086 + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::didReceiveMessage): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::notifyDone): + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::resetStateToConsistentValues): + (WTR::TestController::run): + +2011-01-07 James Robinson + + Revert "Implement mozilla's animationTime property" + https://bugs.webkit.org/show_bug.cgi?id=51952 + + This approach isn't quite right. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::paintInvalidatedRegion): + +2011-01-07 Adam Roben + + Build master fix + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + (RunWebKitTests.start): Don't try to concatenate a list and a string. + +2011-01-07 Jedrzej Nowacki + + Reviewed by Csaba Osztrogonác. + + run-qtwebkit-tests should be able to kill a testsuite. + + Add new option in the script that can setup a timeout for a test. + If the test execution takes more then specified time then the test + would be terminated. + + [Qt] run-qtwebkit-tests needs timeout + https://bugs.webkit.org/show_bug.cgi?id=51894 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + * Scripts/run-qtwebkit-tests: + +2011-01-07 Csaba Osztrogonác + + Unreviewed fix after r75233. + + Based on idea from Eric Seidel. + + Add remote zip file handling to webkitpy. + https://bugs.webkit.org/show_bug.cgi?id=50901 + + * Scripts/webkitpy/common/system/fileset.py: Make python 2.5 happy. + +2011-01-07 Shane Stephens + + Reviewed by Eric Seidel. + + svn-apply: should support git binary delta diffs + https://bugs.webkit.org/show_bug.cgi?id=38864 + + * Scripts/VCSUtils.pm: + * Scripts/svn-apply: + +2011-01-06 Julie Parent + + Reviewed by Eric Seidel. + + Test Result Server not removing old results. + https://bugs.webkit.org/show_bug.cgi?id=52012 + + * TestResultServer/model/jsonresults.py: + Fix off-by-one: Truncate if >= num_runs, not just >. + * TestResultServer/model/jsonresults_unittest.py: + Add unit test to test that merging in a new result with the same value + as the last result causes previous result to fall off. + +2011-01-06 James Kozianski + + Reviewed by Mihai Parparita. + + Add classes to provide a consistent interface to a set of files. + https://bugs.webkit.org/show_bug.cgi?id=50901 + + These classes allow us to write code that is agnostic to whether a + particular set of files resides in a local directory or in a zip file + on a remote machine. + + * Scripts/webkitpy/common/system/directoryfileset.py: Added. + * Scripts/webkitpy/common/system/directoryfileset_unittest.py: Added. + * Scripts/webkitpy/common/system/fileset.py: Added. + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/common/system/zipfileset.py: Added. + * Scripts/webkitpy/common/system/zipfileset_unittest.py: Added. + +2011-01-06 Eric Seidel + + Reviewed by Adam Barth. + + NetworkTransaction should log the url it is retrying + https://bugs.webkit.org/show_bug.cgi?id=52043 + + * Scripts/webkitpy/common/net/networktransaction.py: + * Scripts/webkitpy/common/net/networktransaction_unittest.py: + +2011-01-06 Steve Falkenburg + + Windows build fix. + Import os before using it. + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2011-01-06 Eric Seidel + + Reviewed by Adam Barth. + + StyleQueue fails to report errors when patches have many files + https://bugs.webkit.org/show_bug.cgi?id=52042 + + This is one of at least two errors preventing style error reporting at the moment. + When we moved to passing the list of files to check explicitly, + we started to exceed the 500 character TEXT field limit for our AppEngine model object. + We could change the type of the QueueStatus.message type, or we could + just teach statusserver.py how to clamp values (and warn when it does). + I chose the latter path. + + * Scripts/webkitpy/common/net/statusserver.py: + +2011-01-06 Steve Falkenburg + + Reviewed by Stephanie Lewis. + + Fix syntax error in script. + + Windows bots need to archive/unarchive builds to/from configuration-specific directories + https://bugs.webkit.org/show_bug.cgi?id=51996 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2011-01-06 Laszlo Gombos + + Unreviewed, fixing WinCE build after r75196. + + WinCE port does not (yet) support NPAPI. + + * Scripts/build-webkit: + +2011-01-06 Xan Lopez + + Reviewed by Darin Adler. + + File::Spec->rel2abs in sunspider-compare-results mangles parameters + https://bugs.webkit.org/show_bug.cgi?id=52015 + + * Scripts/sunspider-compare-results: call rel2abs on our arguments + after the platform has been detected, otherwise the script will + mangle things like '--gtk' into '/a/path/--gtk', breaking the + detection. + +2011-01-06 Laszlo Gombos + + Reviewed by Eric Seidel. + + Add ENABLE_NETSCAPE_PLUGIN_API, ENABLE_ORIENTATION_EVENTS and ENABLE_TOUCH_EVENTS flags to build-webkit + https://bugs.webkit.org/show_bug.cgi?id=51346 + + * Scripts/build-webkit: + +2011-01-06 Steve Falkenburg + + Reviewed by Adam Roben. + + Windows bots need to archive/unarchive builds to/from configuration-specific directories + https://bugs.webkit.org/show_bug.cgi?id=51996 + + After the configuration directory change, we were archiving the incorrect directory for + build product, so we were running tests on the wrong binaries. + + This change archives the correct directory, and also unarchives it into a configuration- + specific directory. + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Use a configuration-specific directory on Windows. + * BuildSlaveSupport/built-product-archive: Unarchive/archive to/from proper directory. + +2011-01-06 Eric Seidel + + Reviewed by Mihai Parparita. + + commit-queue mentions "Text diff mismatch" 4 times instead of once per failure + https://bugs.webkit.org/show_bug.cgi?id=52002 + + See an example of this here: + https://bugs.webkit.org/show_bug.cgi?id=51314#c2 + + It's due to the fact that we pass around TestFailure() instance + objects and yet expect them to all compare to be the same. + + This is bad. We should either have shared instances of these values + or we should just pass around the class names. There are already hacks + in place to make TestFailure objects pass equality tests, I just added + a __hash__ implementation so they can be used in sets as expected. + + * Scripts/webkitpy/common/net/layouttestresults_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: + +2011-01-06 Evan Martin + + Reviewed by Tony Chang. + + [gdb] handle inaccessible memory and UChar* + https://bugs.webkit.org/show_bug.cgi?id=52003 + + To pretty-print a UChar*, we just grope around in the memory + looking for a terminating NUL. We need to handle the exception + that can occur when we poke into an invalid location. + + Additionally, the logic for choosing which pretty-printer would + early return before hitting the point where we'd use the UChar* + printer. (Did this ever work? How did it regress?) + + * gdb/webkit.py: + +2011-01-05 Brian Weinstein + + Reviewed by Ada Chan. + + WebKit2: Should be able to call into injected bundle to ask if we should allow resource loads + https://bugs.webkit.org/show_bug.cgi?id=51969 + + Add shouldLoadResourceForFrame to WTR::InjectedBundlePage. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::shouldLoadResourceForFrame): Stub implementation. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2011-01-06 James Robinson + + Reviewed by Simon Fraser. + + Implement mozilla's animationTime property + https://bugs.webkit.org/show_bug.cgi?id=51952 + + Chromium DRT support for webkitAnimationTime. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::paintInvalidatedRegion): + +2011-01-06 Julie Parent + + Reviewed by Tony Chang. + + Test Result Server always truncates number of results to JSON_RESULTS_MAX_BUILDS + https://bugs.webkit.org/show_bug.cgi?id=51217 + + * TestResultServer/model/jsonresults.py: + Pass num_runs through to _remove_items_over_max_number_of_builds, and use the value. + Adds missing documentation. + * TestResultServer/model/jsonresults_unittest.py: + Add unit test to test that truncation happens at smaller value than JSON_RESULTS_MAX_BUILDS. + Update test_merge to take a number of builds to truncate at. + +2011-01-06 Adam Barth + + Reviewed by Eric Seidel. + + The EWS should log outside of the working directory + https://bugs.webkit.org/show_bug.cgi?id=51986 + + This patch prepare us for using git clean -x -d -f in the EWS wrapper + script, which will actually clean the working copy back to a pristine + state instead of leaving untracked directories and ignored files. + + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2011-01-05 Steve Falkenburg + + Windows build fix. + Back out attempted change to built-product-archive. + + * BuildSlaveSupport/built-product-archive: + +2011-01-05 Steve Falkenburg + + Windows build fix. + Include configuration name when unpacking a build archive. + + Needed, since we split Windows build results into configuration-specific directories + under WebKitOutputDir. + + * BuildSlaveSupport/built-product-archive: + +2011-01-05 Steve Falkenburg + + Reviewed by Darin Adler. + + Debug and Release builds on Windows clobber each other + https://bugs.webkit.org/show_bug.cgi?id=49185 + + Changes the structure of WebKitBuild build products directory so we + completely separate each build configuration into independent directories. + + Although we previously had per-configuration directories for obj, this change adds + per-configuration directories for bin, lib, obj, and include. Each configuration's + build products are stored within a directory inside of WebKitBuild. + + Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir), + defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName). + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops: + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPostBuild.cmd: + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPreBuild.cmd: + * DumpRenderTree/win/DumpRenderTreeCommon.vsprops: + * DumpRenderTree/win/DumpRenderTreePostBuild.cmd: + * DumpRenderTree/win/DumpRenderTreePreBuild.cmd: + * DumpRenderTree/win/ImageDiffCommon.vsprops: + * DumpRenderTree/win/ImageDiffPostBuild.cmd: + * DumpRenderTree/win/ImageDiffPreBuild.cmd: + * FindSafari/FindSafari.vcproj: + * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: + * MiniBrowser/MiniBrowserPostBuild.cmd: + * MiniBrowser/MiniBrowserPreBuild.cmd: + * Scripts/webkitdirs.pm: + * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops: + * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops: + * TestWebKitAPI/win/TestWebKitAPIPostBuild.cmd: + * TestWebKitAPI/win/TestWebKitAPIPreBuild.cmd: + * TestWebKitAPI/win/copy-resources.cmd: + * WebKitAPITest/WebKitAPITestCommon.vsprops: + * WebKitAPITest/WebKitAPITestPostBuild.cmd: + * WebKitAPITest/WebKitAPITestPreBuild.cmd: + * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: + * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops: + * WebKitTestRunner/win/InjectedBundle.vcproj: + * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops: + * WebKitTestRunner/win/InjectedBundlePostBuild.cmd: + * WebKitTestRunner/win/InjectedBundlePreBuild.cmd: + * WebKitTestRunner/win/WebKitTestRunnerPostBuild.cmd: + * WebKitTestRunner/win/WebKitTestRunnerPreBuild.cmd: + * WinLauncher/WinLauncherCommon.vsprops: + * WinLauncher/WinLauncherPostBuild.cmd: + * WinLauncher/WinLauncherPreBuild.cmd: + +2011-01-05 Jan Erik Hanssen + + Reviewed by Ariya Hidayat. + + [Qt] TestNetscapePlugin doesn't link on OS X + https://bugs.webkit.org/show_bug.cgi?id=51948 + + Only add a dependency on libX11 on X11 systems + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2011-01-05 Jeff Miller + + Reviewed by Adam Roben. + + check-webkit-style should allow unnecessary parameter names in WebKit2 APIs because we're matching CF's header style + https://bugs.webkit.org/show_bug.cgi?id=51970 + + * Scripts/webkitpy/style/checker.py: + Add -readability/naming for WebKit2 C API directories. + +2011-01-05 Eric Seidel + + Unreviewed, just fixing one more log error from my previous python patch. + + Move LayoutTestResults over to new-run-webkit-tests TestResult architecture + https://bugs.webkit.org/show_bug.cgi?id=51802 + + webkit-patch failure-reason was logging about parsing errors + due to my misunderstanding of how BeautifulSoup.findAll worked. + + Fixed, and added a unit test. + + * Scripts/webkitpy/common/net/layouttestresults.py: + * Scripts/webkitpy/common/net/layouttestresults_unittest.py: + +2011-01-05 Benjamin Poulain + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] [WK2] Add the possibility to open window from the WebProcess in Minibrowser + https://bugs.webkit.org/show_bug.cgi?id=51951 + + Set a function to QWKPage::setCreateNewPageFunction() in Minibrowser so there is a way + to create new window from WebKit. + + * MiniBrowser/qt/BrowserWindow.cpp: + (newPageFunction): + (BrowserWindow::BrowserWindow): + (BrowserWindow::page): Added to avoid the indirect access to QWKPage spread in the class + (BrowserWindow::newWindow): + (BrowserWindow::updateUserAgentList): + (BrowserWindow::showUserAgentDialog): + * MiniBrowser/qt/BrowserWindow.h: Add the global variable backingStoreTypeForNewWindow to + define the type of the backing store used for new windows. + * MiniBrowser/qt/main.cpp: + (main): + +2011-01-05 Eric Seidel + + Reviewed by Ojan Vafai. + + commit-queue should report failure type when reporting flaky tests + https://bugs.webkit.org/show_bug.cgi?id=51900 + + This patch was a ridiculous amount of plumbing. In the end I like + the NRWT-style TestResult class even less. But now we're passing + a list of TestResult objects from the queue to the FlakyTestReporter. + Thus the FlakyTestReporter can more easily report what type of failure + occurred. + + In the process, I found that I was not alone in finding TestResult + cumbersome to use. A bunch of code was trying to create a TestResult + object with default values. However since the constructor didn't make + this easy, some places were getting it wrong (including the TestResult unit test)! + I've fixed the TestResult constructor to have default values for non-essential + arguments. + + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + * Scripts/webkitpy/common/net/layouttestresults.py: + * Scripts/webkitpy/common/net/layouttestresults_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_results.py: + * Scripts/webkitpy/layout_tests/layout_package/test_results_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2011-01-05 Eric Seidel + + Unreviewed. + + Move LayoutTestResults over to new-run-webkit-tests TestResult architecture + https://bugs.webkit.org/show_bug.cgi?id=51802 + + Add another unit test to cover a previously missing import. + + * Scripts/webkitpy/common/net/layouttestresults.py: + * Scripts/webkitpy/common/net/layouttestresults_unittest.py: + +2011-01-05 Mihai Parparita + + Reviewed by David Levin. + + Add mihaip@chromium.org as a reviewer + https://bugs.webkit.org/show_bug.cgi?id=51966 + + Add myself as a reviewer. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-05 James Simonsen + + Unreviewed. Adding myself to the list of committers. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-05 Eric Seidel + + Unreviewed. + + Move LayoutTestResults over to new-run-webkit-tests TestResult architecture + https://bugs.webkit.org/show_bug.cgi?id=51802 + + Fix two exceptions seen on the bots after my original commit. + + * Scripts/webkitpy/common/net/layouttestresults.py: + * Scripts/webkitpy/common/net/layouttestresults_unittest.py: + +2011-01-05 Kundu Suchismita + + Reviewed by Andreas Kling. + + [Qt]Add local storage settings to QtTestBrowser command line arguments + https://bugs.webkit.org/show_bug.cgi?id=51750 + + * QtTestBrowser/main.cpp: + (LauncherApplication::handleUserOptions): + Local storage settings can be enable form command line arguments for + QtTestBrowser. + +2011-01-05 Chris Fleizach + + Reviewed by Martin Robinson. + + GTK: AX: DRT needs to use correct root object method. + https://bugs.webkit.org/show_bug.cgi?id=51911 + + * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: + (AccessibilityController::rootElement): + +2011-01-05 Gabor Rapcsanyi + + Rubber-stamped by Csaba Osztrogonác. + + Based on idea from Péter Gál. + + * Scripts/webkitpy/tool/bot/sheriff.py: Remove unnecessary apostrophes around revision numbers. + +2011-01-05 Gabor Rapcsanyi + + Reviewed by Adam Barth. + + sheriff-bot should be able to do multi-revision rollouts + https://bugs.webkit.org/show_bug.cgi?id=51176 + + * Scripts/webkitpy/tool/bot/irc_command.py: + * Scripts/webkitpy/tool/bot/sheriff.py: + * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: + +2011-01-05 Eric Seidel + + Reviewed by Adam Barth. + + queues.webkit.org should have per-bot status pages + https://bugs.webkit.org/show_bug.cgi?id=51906 + + Just adds a /queue-status/QUEUE_NAME/bots/BOT_ID page to show + statuses from a single queue. Now that we have many bots servicing + some queues (commit-queue, win-ews, etc.) its easy to have the messages + you care about scroll off the end of the 15-message limit on the main page. + + Eventually we should probably rename /queue-status to /queue or /queues, + but that's fodder for another patch. + + * QueueStatusServer/handlers/queuestatus.py: + * QueueStatusServer/index.yaml: + * QueueStatusServer/main.py: + * QueueStatusServer/templates/includes/singlequeuestatus.html: + - This probably should use a custom filter instead of hard-coding + the URL scheme here, but I couldn't figure out how to easily + create such a filter. Most filters work with "strings" so we can't + pass the status object. We could add a method to the status + object and call that, but that seemed a bit strange too. + * QueueStatusServer/templates/queuestatus.html: + +2011-01-05 Carlos Garcia Campos + + Unreviewed. Adding myself to the list of committers. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-04 Koan-Sin Tan + + Reviewed by David Levin. + + check-webkit-style treated some macros with parentheses after #elif as function calls + https://bugs.webkit.org/show_bug.cgi?id=51695 + + Ingore function call space checking in any preprocessor directives + (things starting with #). Change search() to match() because + preprocessor directives are supposed to be in the beginning of lines. + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: make sure there is no false positives for #elif cases + +2011-01-04 Søren Gjesse + + Reviewed by Tony Chang. + + Change the --multi-load test option to --stress-opt + https://bugs.webkit.org/show_bug.cgi?id=50751 + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (runTest): + (main): + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): + * DumpRenderTree/chromium/TestShell.h: + (TestShell::stressOpt): + (TestShell::setStressOpt): + (TestShell::stressDeopt): + (TestShell::setStressDeopt): + (TestShell::javaScriptFlags): + (TestShell::setJavaScriptFlags): + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2011-01-04 Chris Fleizach + + Reviewed by Sam Weinig. + + WK2: Support Accessibility + https://bugs.webkit.org/show_bug.cgi?id=51859 + + Use rootObject() method to get top of accessibility tree. + + * DumpRenderTree/mac/AccessibilityControllerMac.mm: + (AccessibilityController::focusedElement): + (AccessibilityController::rootElement): + +2011-01-03 Martin Robinson + + Reviewed by Darin Adler. + + Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr + https://bugs.webkit.org/show_bug.cgi?id=51846 + + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: Change usage of PlatformRefPtr + back to GRefPtr. + +2011-01-04 Zhe Su + + Reviewed by Kenneth Russell. + + Fix insertText, setMarkedText and unmarkText methods of + TextInputController to call corresponding methods of WebKit::WebView + rather than WebKit::WebFrame. This change matches the behavior of + chromium browser. + insertText corresponds to WebView::confirmComposition(text) + setMarkedText corresponds to WebView::setComposition(...) + unmarkText corresponds to WebView::confirmComposition() + https://bugs.webkit.org/show_bug.cgi?id=51693 + + * DumpRenderTree/chromium/TextInputController.cpp: + (TextInputController::insertText): + (TextInputController::setMarkedText): + (TextInputController::unmarkText): + +2011-01-04 Dihan Wickremasuriya + + Reviewed by Laszlo Gombos. + + [Qt] [Symbian] Do not remove 0 byte sized files from productDir + + On Symbian productDir points to the source directory. Removing all the + empty files from the productDir directory corrupts the svn repository. + + * Scripts/build-webkit: + +2011-01-03 Yi Shen + + Reviewed by Adam Barth. + + [Qt] Add SelectAll option to the context menu for the editor + https://bugs.webkit.org/show_bug.cgi?id=50049 + + Set shortcut for the SelectAll action. + + * QtTestBrowser/mainwindow.cpp: + (MainWindow::buildUI): + +2011-01-03 David Levin + + Reviewed by Eric Seidel. + + check-webkit-style shouldn't consider "value" automatically to be a meaningless name. + https://bugs.webkit.org/show_bug.cgi?id=51842 + + * Scripts/webkitpy/style/checkers/cpp.py: Remove the check for value. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Remove the test for value. + +2011-01-03 Patrick Gansterer + + Reviewed by David Kilzer. + + [WINCE] Adds a build slave. + https://bugs.webkit.org/show_bug.cgi?id=50523 + + * BuildSlaveSupport/build.webkit.org-config/config.json: Add an + entry for a release build of the WinCE port. + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Add platform + flag to build the WinCE port. + +2011-01-03 Patrick Gansterer + + Reviewed by David Kilzer. + + Add WinCE support to build-webkit + https://bugs.webkit.org/show_bug.cgi?id=51642 + + * Scripts/build-webkit: + * Scripts/webkitdirs.pm: + +2011-01-03 Eric Seidel + + Reviewed by Adam Barth. + + Move LayoutTestResults over to new-run-webkit-tests TestResult architecture + https://bugs.webkit.org/show_bug.cgi?id=51802 + + I'm not the biggest fan of the test_failures or test_results classes, + but it's better to have one shared set of classes, than separate ones + for new vs. old run-webkit-test result handling. + + This moves the ORWT results class "LayoutTestResults" over to using + TestResult and TestFailure classes, making it easy for us to + make all our sheriff-bot and other webkitpy code NRWT ready. + + This also makes it a trivial patch to generate results.json information + from ORWT results.html files (for flaky test analysis, etc.) as well + as making it a one-liner to report test failure types when the + commit-queue sees flaky tests. + + This patch tried not to add new functionality, but only to replace + the guts of LayoutTestResults, while adding unit tests and hoping + not to break anything. + + I also moved callers which assumed User.prompt* were static/class methods + to using them as instance methods (since we'll eventually want to make them such). + + In the process of re-writing things, I broke the rebaseline command, so I wrote + a unit test to catch my breakage were I do do so again in the future. + + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + * Scripts/webkitpy/common/net/layouttestresults.py: + * Scripts/webkitpy/common/net/layouttestresults_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: + * Scripts/webkitpy/layout_tests/layout_package/test_results.py: + * Scripts/webkitpy/tool/commands/queries.py: + * Scripts/webkitpy/tool/commands/rebaseline.py: + * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2011-01-03 Adam Barth + + Reviewed by Simon Fraser. + + webkit-patch shouldn't waste time cleaning a working directory that's already clean + https://bugs.webkit.org/show_bug.cgi?id=51840 + + * Scripts/webkitpy/common/checkout/scm.py: + +2011-01-03 Adam Barth + + Reviewed by Simon Fraser. + + webkit-patch should only hide update output if --quiet + https://bugs.webkit.org/show_bug.cgi?id=51838 + + As requested by smfr. + + * Scripts/webkitpy/tool/steps/update.py: + +2011-01-03 Adam Barth + + Reviewed by David Levin. + + commit-queue shouldn't reject patches twice if two bots process the same patch + https://bugs.webkit.org/show_bug.cgi?id=51805 + + Before raising an error, we first check whether the patch is still in + the commit-queue. This check is still racy, of course, but the time + window is much smaller. + + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + +2011-01-03 Sam Weinig + + Reviewed by Anders Carlsson. + + Make run-api-tests less chatty. + https://bugs.webkit.org/show_bug.cgi?id=51831 + + - Make script quiet by default and add --verbose option (replacing --quiet). + - When not verbose, pipe stdout and stderr to devnull. + + * Scripts/run-api-tests: + +2011-01-03 Pratik Solanki + + Unreviewed. Adding myself to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2011-01-03 Koan-Sin Tan + + Reviewed by Xan Lopez. + + "Tool/Scripts/run-launcher --gtk" stopped working after 74855 + https://bugs.webkit.org/show_bug.cgi?id=51806 + + Originally, the $libraryName is 'JavaScriptCore'. When building release + one, the $libraryDir was 'WebKitBuild/Release/JavaScriptCore/../.libs/' + which doesn't exist anymore ('WebKitBuild/Release/JavaScriptCore' + is 'WebKitBuild/Release/Source/JavaScriptCore' now), and + 'WebKitBuild/Release/Source/JavaScriptCore/../../.libs' looks weird, + so make it 'WebKitBuild/Release/.libs' + + * Scripts/webkitdirs.pm: + +2011-01-02 Patrick Gansterer + + Reviewed by Adam Barth. + + Make EFL a core builder + https://bugs.webkit.org/show_bug.cgi?id=51804 + + * Scripts/webkitpy/common/net/buildbot/buildbot.py: + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: + +2011-01-02 Csaba Osztrogonác + + [Qt] Unreviewed fix after r74855 and r74875. + + * BuildSlaveSupport/built-product-archive: + - Create directories explicitly. + - Pass shell=True to subprocess.call(). + +2011-01-02 Csaba Osztrogonác + + [Qt] Unreviewed fix after r74855. + + Move JavaScriptCore to Source + https://bugs.webkit.org/show_bug.cgi?id=51604 + + * BuildSlaveSupport/built-product-archive: JavaScriptCore -> Source/JavaScriptCore + +2011-01-02 Csaba Osztrogonác + + [Qt] Unreviewed run-javasriptcore-tests fix after r74855. + + Move JavaScriptCore to Source + https://bugs.webkit.org/show_bug.cgi?id=51604 + + * Scripts/webkitdirs.pm: + +2011-01-02 Robert Hogan + + Unreviewed, build fix. + + [Qt] Fix DRT build after 74855 + + * DumpRenderTree/qt/DumpRenderTree.pro: + +2011-01-01 Adam Barth + + Remove the assumption from the Qt and Gtk builds that every project is + in the root directory. + + * Scripts/build-webkit: + +2011-01-01 Adam Barth + + Reviewed by Eric Seidel. + + Teach svn-apply how to apply patches even though JavaScriptCore has moved + https://bugs.webkit.org/show_bug.cgi?id=51796 + + After this change, svn-apply will magically apply patches to + JavaScriptCore/foo to Source/JavaScriptCore/foo. + + * Scripts/VCSUtils.pm: + +2011-01-01 Adam Barth + + Reviewed by Eric Seidel. + + Move JavaScriptCore to Source + https://bugs.webkit.org/show_bug.cgi?id=51604 + + Update references to JavaScriptCore to point to the new location. + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + * DumpRenderTree/qt/DumpRenderTree.pro: + * DumpRenderTree/qt/ImageDiff.pro: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + * DumpRenderTree/wscript: + * Scripts/build-jsc: + * Scripts/build-webkit: + * Scripts/do-file-rename: + * Scripts/do-webcore-rename: + * Scripts/run-javascriptcore-tests: + * Scripts/update-javascriptcore-test-results: + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/common/config/build_unittest.py: + * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/style/checker_unittest.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: + * wx/build/settings.py: + +2011-01-01 Adam Barth + + Reviewed by Eric Seidel. + + Move Sources to Source + https://bugs.webkit.org/show_bug.cgi?id=51794 + + Update scripts to point to the new location. + + * Scripts/build-webkit: + * Scripts/do-file-rename: + * Scripts/do-webcore-rename: + * Scripts/webkitpy/common/config/build.py: + * Scripts/webkitpy/common/config/build_unittest.py: + +2010-12-31 Kent Tamura + + Reviewed by Eric Seidel. + + [DRT/Chromium] Enable mock spell checker on non-OSX + https://bugs.webkit.org/show_bug.cgi?id=51401 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::spellCheck): + +2010-12-31 Adam Barth + + Reviewed by Ariya Hidayat. + + Remove Tools/Scripts/wkstyle + https://bugs.webkit.org/show_bug.cgi?id=51774 + + This script appears to not have been touched in a while and seems to + have been replaced by check-webkit-style. + + * Scripts/wkstyle: Removed. + +2010-12-31 Ilya Tikhonovsky + + Unreviewed. Coding style fix. + + * DumpRenderTree/chromium/TestShell.h: + +2010-12-31 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Inspector's tests are very slow on Win(Dbg). + + It was a problem with Chromium DRT. DevToolsAgent object instance was + attached not only to the inspected page but to the DevTools window too. + As result all the inspector files were interpreted as a content of inspected page + and were transfered to the DevTools scripts panel for debugging etc. + + https://bugs.webkit.org/show_bug.cgi?id=51735 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): + (TestShell::bindJSObjectsToWindow): + (TestShell::createNewWindow): + * DumpRenderTree/chromium/TestShell.h: + +2010-12-31 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move PageLoadTests to PerformanceTests/PageLoad + https://bugs.webkit.org/show_bug.cgi?id=51771 + + Update references to PageLoadTests to point to the new location. + + * Scripts/run-pageloadtest: + * Scripts/webkitpy/common/config/build.py: + +2010-12-31 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move SunSpider into PerformanceTests + https://bugs.webkit.org/show_bug.cgi?id=51769 + + Update these scripts to point to the new location. + + * Scripts/run-sunspider: + * Scripts/sunspider-compare-results: + +2010-12-30 Mihai Parparita + + Reviewed by Kent Tamura. + + [Chromium] Add WebThemeEngineDRTMac so that Chromium DRT scrollbar rendering can match the Mac port's + https://bugs.webkit.org/show_bug.cgi?id=51728 + + Add implementation of the Mac WebThemeEngine that uses an NSScroller + to render top-level scrollbars. This makes them match the Mac port's + use of an NSScrollView, which means that we'll be able to share more + pixel baselines. + + The new rendering code will not be activated until the + USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define is fliped in + ScrollbarThemeChromiumMac. + + * DumpRenderTree/DumpRenderTree.gypi: + * DumpRenderTree/chromium/TestShellMac.mm: + (platformInit): + * DumpRenderTree/chromium/WebThemeEngineDRTMac.h: Added. + * DumpRenderTree/chromium/WebThemeEngineDRTMac.mm: Added. + (+[FakeActiveWindow alwaysActiveWindow]): + (+[FakeActiveWindow alwaysInactiveWindow]): + (-[FakeActiveWindow initWithActiveControls:]): + (-[FakeActiveWindow _hasActiveControls]): + (WebThemeEngineDRTMac::paintScrollbarThumb): + (stateToHIEnableState): + (WebThemeEngineDRTMac::paintHIThemeScrollbarThumb): + (WebThemeEngineDRTMac::paintNSScrollerScrollbarThumb): + +2010-12-30 Konstantin Tokarev + + Reviewed by David Kilzer. + + [Qt] Don't build wtf/TCSystemAlloc.cpp if --system-malloc option is + used + https://bugs.webkit.org/show_bug.cgi?id=51672 + + * DumpRenderTree/qt/DumpRenderTree.pro: Replaced USE_SYSTEM_MALLOC + with USE_SYSTEM_MALLOC=1 + * WebKitTestRunner/qt/WebKitTestRunner.pro: Replaced USE_SYSTEM_MALLOC + with USE_SYSTEM_MALLOC=1 + +2010-12-30 Laszlo Gombos + + Reviewed by David Kilzer. + + [Qt] [Symbian] Fix build-webkit script for Symbian + https://bugs.webkit.org/show_bug.cgi?id=51509 + + Set the OUTPUT_DIR for Symbian to be the same as the source + directory. + + * Scripts/webkitdirs.pm: + +2010-12-30 Martin Robinson + + Reviewed by Darin Adler. + + check-webkit-style should ignore NULL usage in calls to gtk_widget_style_get + https://bugs.webkit.org/show_bug.cgi?id=51758 + + Add a check-webkit-style exception for gtk_widget_style_get and NULL usage. + + * Scripts/webkitpy/style/checkers/cpp.py: Add the exception. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Add some tests for this. + +2010-12-29 Patrick Gansterer + + Unreviewed WinCE buildfix. + + * WinCELauncher/main.cpp: Add missing include. + +2010-12-29 Daniel Bates + + Reviewed by Darin Adler. + + svn-apply updates date of wrong change log entry for a change log diff that + contains two consecutive entries with the same author and date + https://bugs.webkit.org/show_bug.cgi?id=46061 + + Fixes an issue where the date of the wrong change log entry may be modified. + Moreover, changes fixChangeLogPatch() to move entries inserted earlier + in a ChangeLog file to the top of the file. + + Currently, fixChangeLogPatch() explicitly bails out and returns an unchanged + diff when it detects that the diff inserts a change log entry earlier in a + ChangeLog. It is unusual to land a patch that has such a deliberate ChangeLog + change. With the advent of the commit-queue this functionality of bailing out + and hence landing the patch as-is is harmful to the accuracy of the ChangeLog. + Instead, we should always move the change log entry to the top of the ChangeLog file. + + A side-effect of this change is that setChangeLogDateAndReviewer() now updates + the date line of the correct change log entry in a ChangeLog diff. + + * Scripts/VCSUtils.pm: Modified fixChangeLogPatch() to move entries inserted earlier to the top. + + * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl: + Updated the following unit tests now that we move entries inserted earlier to the top: + - "fixChangeLogPatch: New entry inserted in middle." + (formerly named "fixChangeLogPatch: [no change] New entry inserted in middle.") + + - "fixChangeLogPatch: New entry inserted earlier in the file, but after an entry with the same author and date." + (formerly named "fixChangeLogPatch: [no change] New entry inserted earlier in the file, but after an entry with the same author and date.") + + * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatchThenSetChangeLogDateAndReviewer.pl: Added. + +2010-12-29 Konstantin Tokarev + + Reviewed by Eric Seidel. + + [Qt] Fixed compatibility with gold linker on X11 platforms + https://bugs.webkit.org/show_bug.cgi?id=51700 + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + Linked TestNetscapePlugin with libX11 on Unix platforms + +2010-12-29 Ademar de Souza Reis Jr + + Reviewed by Darin Adler. + + Circular dependency in webkitpy.common.checkout.changelog module + https://bugs.webkit.org/show_bug.cgi?id=50475 + + Remove automatic import of api.Checkout module when any checkout/ + submodule is imported (e.g.: when checkout.scm.Git is imported). + + * Scripts/webkitpy/common/checkout/__init__.py: + +2010-12-29 Martin Robinson + + Reviewed by Ojan Vafai. + + prepare-ChangeLog should support the -g option for specifying the git-commit + https://bugs.webkit.org/show_bug.cgi?id=51708 + + Add a -g shortcut for the --git-commit prepare-ChangeLog option. This matches + webkit-patch, though the exact meaning of the two options remain different. + + * Scripts/prepare-ChangeLog: Add -g. + +2010-12-29 Kent Hansen + + Reviewed by Simon Hausmann. + + [Qt] Fix compilation with Qt in namespace + https://bugs.webkit.org/show_bug.cgi?id=51701 + + * QtTestBrowser/webview.h: + +2010-12-28 Daniel Bates + + Reviewed by Sam Weinig. + + Substitute // MARK: for compiler-specific #pragma mark + https://bugs.webkit.org/show_bug.cgi?id=51657 + + Fix future compilation warnings about "#pragma mark" on GTK+ bots by + substituting "// MARK:" for "#pragma mark", which provides + analogous code-bookmarking functionality under Xcode. + + Also, for consistency, we should substitute "// MARK:" for compiler- + specific "#pragma mark" in the source files for the Mac port. + + * DumpRenderTree/AccessibilityTextMarker.cpp: + * DumpRenderTree/cf/WebArchiveDumpSupport.h: + * DumpRenderTree/mac/AccessibilityTextMarkerMac.mm: + * DumpRenderTree/mac/ObjCController.m: + * MiniBrowser/mac/AppDelegate.m: + * MiniBrowser/mac/BrowserWindowController.m: + +2010-12-28 Xan Lopez + + Reviewed by Eric Seidel. + + Add --no-build option to run-sunspider + https://bugs.webkit.org/show_bug.cgi?id=51658 + + * Scripts/run-sunspider: add --no-build flag to skip building + phase. + +2010-12-27 Daniel Bates + + Rubber-stamped by Martin Robinson. + + Append the directory Tools/DumpRenderTree to the list of directories that + do-webcore-rename should search so that it can rename DRT files and + source code. + + * Scripts/do-webcore-rename: + +2010-12-27 Eric Seidel + + Reviewed by Adam Barth. + + build-webkit should detect missing Java SDK and explain how to install it + https://bugs.webkit.org/show_bug.cgi?id=51651 + + * Scripts/build-webkit: + +2010-12-26 Martin Robinson + + Reviewed by Daniel Bates. + + [GTK] Add support for build-jsc + https://bugs.webkit.org/show_bug.cgi?id=51625 + + Add GTK+ support to build-jsc now that building the jsc executable as + a standalone target is easy. + + * Scripts/build-jsc: Call buildGtkProject for the GTK+ case now. + * Scripts/build-webkit: Pass in the proper target name to buildGtkProject. + * Scripts/webkitdirs.pm: Actually process the project parameter in buildGtkProject + and pass it along to buildAutotoolsProject. + +2010-12-27 David Levin + + Reviewed by Eric Seidel. + + check-webkit-style check for meaningless variable names in function declarations. + https://bugs.webkit.org/show_bug.cgi?id=51523 + + * Scripts/webkitpy/style/checker.py: Exempted JavaScriptCore/jit/JITStubs.cpp + from the new check and whitespace/parens because the syntax is unusual and + produced a fair number of positives for these checks. + * Scripts/webkitpy/style/checkers/cpp.py: + (_convert_to_lower_with_underscores): Used as a canonical form for type names + and parameter names when determining if the parameter name is useless. + (_create_acronym): Used to check for redundant variable names in cases like "ExceptionCode ec" + (Parameter.lower_with_underscores_name): Gives back the parameter name in a lower_with_underscore + format. + (_check_parameter_name_against_text): Checks to see if the parameter name is in the + text or an acronym of it. + (check_function_definition): Checks function definitions for meaningless variable names. + (process_line): Added call to check_function_definition. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + (CppFunctionsTest.test_convert_to_lower_with_underscores): Test for _convert_to_lower_with_underscores. + (CppFunctionsTest.test_create_acronym): Test for _create_acronym. + (CppFunctionsTest.test_check_parameter_against_text): Test for _check_parameter_against_text. + (CppStyleTestBase.perform_single_line_lint): Removed the parameter name check + because when only checking a snippet, there are a lot of bogus functions. + (CppStyleTestBase.perform_multi_line_lint): Ditto and removed a bogus filter + that I put there previously and just noticed. + (WebKitStyleTest.test_parameter_names): Tests for the functionality -- both + check_function_definition and process_line. + +2010-12-27 Carlos Garcia Campos + + Reviewed by Martin Robinson. + + [GTK] Disable flash plugin in GtkLauncher when using gtk3 + https://bugs.webkit.org/show_bug.cgi?id=51591 + + Flash plugin uses gtk2 that is incompatible with gtk3 making + webkit crash when it's built with gtk3. + + * GtkLauncher/main.c: + (main): + +2010-12-25 Adam Barth + + Reviewed by Eric Seidel. + + Move ANGLE to Sources/ThirdParty + https://bugs.webkit.org/show_bug.cgi?id=51605 + + * Scripts/build-webkit: + - Point to the new ANGLE location. + +2010-12-26 David Levin + + Reviewed by Eric Seidel. + + check-webkit-style should be able to parse function declaration parameters. + https://bugs.webkit.org/show_bug.cgi?id=51451 + + * Scripts/webkitpy/style/checkers/cpp.py: + (Position.__init__): Holds simple position information (row, column). + (Parameter.__init__): Holds information about a parameter. + (SingleLineView.__init): Converts multiple lines into a single line for simpler searches. + (SingleLineView.convert_column_to_row): Returns the original row given a column. + (create_skeleton_parameters): Simplifies a parameter list for easier searching. + (find_parameter_name_index): Finds where the parameter name is. + (parameter_list): Generates the list of parameters for a function. + (_FunctionState.begin): Added information to allow determining the parameters + on demand. + (_FunctionState.get_parameter_list): Returns a tuple of function parameters. + (detect_functions): Improve function detection for operator functions and + determine where the parameters end and pass that to _FunctionState.begin. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + (CppFunctionsTest.test_parameter): Verifies Parameter functionality. + (CppFunctionsTest.test_single_line_view): Verifies SingleLineView functionality. + (CppFunctionsTest.test_create_skeleton_parameters): Verifies create_skeleton_parameters. + (CppFunctionsTest.test_find_parameter_name_index): Verifies find_parameter_name_index. + (CppFunctionsTest.test_parameter_list): Does some minimal verification for parameter list. + Much more thorough verification is done as part of FunctionDetectionTest.test_parameter_list. + (FunctionDetectionTest.perform_function_detection): Added support for verifying + the parameters found. + (FunctionDetectionTest.test_function_declaration_detection): Added more function + detection test to verify that we catch the operator functions. + (FunctionDetectionTest.test_ignore_macros): Verify that function detection ignores macros. + (FunctionDetectionTest.test_parameter_list): Added tests to verify the parameter parsing. + (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_bad_test_doesnt_break): Removed + because the error. The test is about the bad function name. Fixing the name makes the test exactly like + test_function_length_check_definition_severity1_for_test. + +2010-12-25 Patrick Gansterer + + Unreviewed WinCE buildfix after r74334. + + * CMakeListsWinCE.txt: + +2010-12-24 Sheriff Bot + + Unreviewed, rolling out r74632. + http://trac.webkit.org/changeset/74632 + https://bugs.webkit.org/show_bug.cgi?id=51600 + + makes test-webkitpy hang forever on GTK (Requested by philn-tp + on #webkit). + + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + +2010-12-24 Ryuan Choi + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Screen doesn't be rendered when changing size of EWebLauncher + https://bugs.webkit.org/show_bug.cgi?id=43528 + + Remove on_resize because ewk_view_fixed_layout_size_set should not be + called on callback of EVAS_CALLBACK_RESIZE. As it change size of + FrameView, rendering was ignored when _ewk_view_smart_calculate was + called. + + * EWebLauncher/main.c: + (browserCreate): + +2010-12-24 Eric Seidel + + Reviewed by Adam Barth. + + webkit-patch (or a pre-commit hook) needs to prevent bad ChangeLog changes + https://bugs.webkit.org/show_bug.cgi?id=28291 + + This is a start. At least now webkit-patch will prompt when your ChangeLog looks questionable. + We could do more advanced things, like parsing the ChangeLog (with changelog.py) and comparing that + to strings with find in the diff. + Since non-interactive always returns the default, this should cause patches with bad changelogs to fail on the commit-queue. + + * Scripts/webkitpy/common/checkout/api.py: + * Scripts/webkitpy/common/checkout/diff_parser.py: + * Scripts/webkitpy/tool/steps/abstractstep.py: + * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py: + * Scripts/webkitpy/tool/steps/validatechangelogs.py: Copied from Tools/Scripts/webkitpy/tool/steps/validatereviewer.py. + * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py: Copied from Tools/Scripts/webkitpy/tool/steps/cleanworkingdirectory.py. + * Scripts/webkitpy/tool/steps/validatereviewer.py: + +2010-12-24 Dirk Pranke + + Reviewed by Kenneth Russell. + + Modify new-run-webkit-tests to shut up and exit when all the threads + are wedged so that test runs complete faster and we don't end up + w/ enormous log files. + + https://bugs.webkit.org/show_bug.cgi?id=51572 + + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + +2010-12-24 Eric Seidel + + Reviewed by David Levin. + + commit-queue should better explain how it will re-open bugs and follow duplicate chains + https://bugs.webkit.org/show_bug.cgi?id=51549 + + I've had multiple people ask me about the commit-queue's behavior + regarding reporting flaky tests. I figured it would be best to just + have the queue explain itself in the bugs it files. + + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + +2010-12-24 Shinichiro Hamaji + + Reviewed by Eric Seidel. + + check-webkit-style: should ignore "wrong" namings in JavaScriptCore/qt + https://bugs.webkit.org/show_bug.cgi?id=51467 + + * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/style/checker_unittest.py: + +2010-12-23 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move JavaScriptGlue into Sources + https://bugs.webkit.org/show_bug.cgi?id=51583 + + These tools refer to JavaScriptGlue and need to be updated to its new + location. + + * Scripts/build-webkit: + * Scripts/do-file-rename: + * Scripts/do-webcore-rename: + * Scripts/webkitpy/common/config/build.py: + * Scripts/webkitpy/common/config/build_unittest.py: + +2010-12-23 Lucas Forschler + + Reviewed by Eric Seidel. + + Bug 51539 - update iexploder scripts to point to new location + + * Scripts/run-iexploder-tests: + * Scripts/update-iexploder-cssproperties: + +2010-12-23 Evan Martin + + Reviewed by Ryosuke Niwa. + + [chromium] LayoutTestController warning in float->int conversion + https://bugs.webkit.org/show_bug.cgi?id=51553 + + Rather than reading an int, converting to a float, then getting a compiler + warning on passing the float to something that expects an int, instead + just pass around ints. + + No tests, fixes a compiler warning. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (parsePageSizeParameters): + (LayoutTestController::pageNumberForElementById): + (LayoutTestController::numberOfPages): + +2010-12-23 Lucas Forschler + + Reviewed by Darin Adler. + + Bug 51537 - iexploder needs cleanup + + * iExploder/htdocs: Removed. + * iExploder/htdocs/config.rb: Removed. + * iExploder/htdocs/cssproperties.in: Removed. + * iExploder/htdocs/cssvalues.in: Removed. + * iExploder/htdocs/htmlattrs.in: Removed. + * iExploder/htdocs/htmltags.in: Removed. + * iExploder/htdocs/htmlvalues.in: Removed. + * iExploder/htdocs/iexploder.cgi: Removed. + * iExploder/htdocs/iexploder.rb: Removed. + * iExploder/htdocs/index.html: Removed. + * iExploder/htdocs/webserver.rb: Removed. + * iExploder/iexploder-1.7.2/output: Removed. + * iExploder/tools: Removed. + * iExploder/tools/lasthit.rb: Removed. + * iExploder/tools/osx_last_crash.rb: Removed. + * iExploder/tools/showtest.rb: Removed. + +2010-12-23 Lucas De Marchi + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Make 'single' the default backing store in EWebLauncher + https://bugs.webkit.org/show_bug.cgi?id=51534 + + 'single' is the simplest backing store and the one intended to be the + default in the test browser. By mistake the tiled backing store was + left as default in r72617. + + * EWebLauncher/main.c: + (browserCreate): ditto. + +2010-12-23 Lucas De Marchi + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Subject: [webkit 4/4] [EFL] Remove non-sense workaround + https://bugs.webkit.org/show_bug.cgi?id=51533 + + There's no point in concatenating env("HOME") with "blah", so remove + option from EWebLauncher. + + * EWebLauncher/main.c: + (main): ditto. + +2010-12-23 Ilya Tikhonovsky + + Reviewed by Eric Seidel. + + Web Inspector: chromium: inspector's tests are quite slow especially at windows(Debug). + + Almost all inspector's tests become flaky on chromium Win(dbg) after switching to DRT. + I just discovered that we have two additional GC runs per each WebViewHost. + Test_shell had no such calls. + These gc runs eat 15% of cpu time. + + https://bugs.webkit.org/show_bug.cgi?id=51479 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::~WebViewHost): + +2010-12-22 Dirk Pranke + + Reviewed by Ojan Vafai. + + This change splits out the TestRunner class into its own file. + When we fork the code for message passing, we will create a new + TestRunner, and this change will allow that to be more modular. + + While we're at it, split out TestInput and ResultSummary into + their own files, to reduce the size of run_webkit_tests to + something more managable. + + https://bugs.webkit.org/show_bug.cgi?id=51092 + + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/result_summary.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner.py: + * Scripts/webkitpy/layout_tests/layout_package/test_runner_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_input.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + + 2010-12-22 Dirk Pranke + + Reviewed by Ojan Vafai. + + nrwt multiprocessing - start over, prepare to fork the code + + This code cleans up the signatures and implementation of the + TestRunner class so we can easily fork it to run either the + stable implementation or the new, unstable message-passing + implementation. The two variants will have different + implementations of the run_tests() method. We will switch + between the two based on the setting for the '--worker-model' + switch. We rename the two currently valid values to 'old-inline' + and 'old-threads'. + + https://bugs.webkit.org/show_bug.cgi?id=51081 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-12-22 Victor Wang + + Reviewed by Darin Fisher. + + [Chromium] Update chromium archive test result url in rebaseline script. + + https://bugs.webkit.org/show_bug.cgi?id=51503 + + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + +2010-12-22 Lucas Forschler + + Reviewed by Alice Liu. + + record-memory-win needs to record memory used by the webprocess. + Verified on Chrome, Safari, and IE. + With this change, we will record memory from a parent browser window and all child processes. + + * record-memory-win/main.cpp: + (ProcessArgs): + (PrintUsage): + (getMemoryInfo): + (printProcessInfo): + (evalProcesses): + (UseImage): + (QueryContinuously): + (ElapsedTime): + +2010-12-22 Lucas Forschler + + Unreviewed rollout r74489, because it was missing changelog. + + * record-memory-win/main.cpp: + +2010-12-22 Ryosuke Niwa + + Adding myself as a reviewer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-12-22 Andrew Scherkus + + Unreviewed. Adding myself to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2010-12-22 Ariya Hidayat + + Reviewed by Kenneth Rohde Christiansen. + + TestNetscapePlugIn should use #if defined + https://bugs.webkit.org/show_bug.cgi?id=51471 + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NP_Initialize): + (NPP_New): + +2010-12-22 Ilya Tikhonovsky + + Reviewed by Yury Semikhatsky. + + Web Inspector: [chromium] DRT inspector layout tests are flaky in debug. + + DevTools window should be closed explicitly because it has custom deinitialization code. + + https://bugs.webkit.org/show_bug.cgi?id=50722 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::closeRemainingWindows): + +2010-12-22 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style shouldn't complaint about underscores in variables in objective C files. + https://bugs.webkit.org/show_bug.cgi?id=51452 + + * Scripts/webkitpy/style/checkers/cpp.py: + (_FileState.__init__): Added the information to determine if a file is C or Objective C. + Using the file extension if possible but falling back to the file contents if we have a header file. + (_FileState.is_objective_c): Determine if we have an Objective C by examining the file contents if needed. + (_FileState.is_c_or_objective_c): + (check_using_std): Changed to using _FileState to determine the file type. + (check_max_min_macros): Ditto. + (check_for_null): Ditto. + (check_style): Changed the parameters to various calls since they now need _FileState + to determine the file type. + (check_language): Added the file_state parameter so it could be passed + to check_identifier_name_in_declaration. + (check_identifier_name_in_declaration): Don't warn about underscores in variables if + this is an Objective C file. + (_process_lines): Added information for the _FileState constructor (and moved the + call to a place that had the information). + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + (CppFunctionsTest.test_is_c_or_objective_c): Changed the tests to use FileState and exercise + its functionality. + (WebKitStyleTest.test_names): Add tests for underscores in Objective C files. + +2010-12-21 Andy Estes + + Reviewed by Mark Rowe. + + Do not build non-Intel architectures for WebKit2-related projects. + https://bugs.webkit.org/show_bug.cgi?id=51440 + + * MiniBrowser/Configurations/Base.xcconfig: Only build for i386 and x86_64. + * TestWebKitAPI/Configurations/Base.xcconfig: Ditto. + * WebKitTestRunner/Configurations/Base.xcconfig: Ditto. + +2010-12-21 Mihai Parparita + + Reviewed by Darin Fisher. + + [Chromium] Rename WebThemeEngine/ControlDRT to WebThemeEngine/ControlDRTWin + https://bugs.webkit.org/show_bug.cgi?id=51406 + + Rename WebThemeControlDRT to WebThemeControlDRTWin and WebThemeEngineDRT + to WebThemeEngineDRTWin and update references everywhere. + + * DumpRenderTree/DumpRenderTree.gypi: + * DumpRenderTree/chromium/TestShellWin.cpp: + * DumpRenderTree/chromium/WebThemeControlDRTWin.cpp: Renamed from Tools/DumpRenderTree/chromium/WebThemeControlDRT.cpp. + * DumpRenderTree/chromium/WebThemeControlDRTWin.h: Renamed from Tools/DumpRenderTree/chromium/WebThemeControlDRT.h. + * DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp: Renamed from Tools/DumpRenderTree/chromium/WebThemeEngineDRT.cpp. + * DumpRenderTree/chromium/WebThemeEngineDRTWin.h: Renamed from Tools/DumpRenderTree/chromium/WebThemeEngineDRT.h. + +2010-12-21 Anders Carlsson + + Reviewed by John Sullivan. + + Clicking missing plug-in text does not show a sheet + https://bugs.webkit.org/show_bug.cgi?id=51403 + + Update for changes to the WebPageUIClient. + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + (WTR::TestController::initialize): + +2010-12-21 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue will report constant failures as flaky if other tests flake + https://bugs.webkit.org/show_bug.cgi?id=51272 + + This patch just removes functionality and adds testing. + Previously we attempted to report flaky tests when we had + two different tests fail in a row. However, since we stop + running the tests at the first failure, our code was wrong in + trying to determine flakiness from the incomplete runs. + + Originally I posted an alternate patch: + https://bug-51272-attachments.webkit.org/attachment.cgi?id=77078 + which fixed our flaky logic in this case, however it was decided + that that patch would be too difficult to maintain, so now + I'm just removing the broken logic. + + This will dramatically cut-down on our flaky-test false positives + at the (small) cost of the queues being unable to report + any flakiness if the tree is very flaky. (With at least one test + flaking on every run, we'll never report failures anymore.) I think + this is a tradeoff worth making. + + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: + +2010-12-20 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue wrongly rejects patches when it can't update itself + https://bugs.webkit.org/show_bug.cgi?id=46636 + + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-12-20 Adam Barth + + Move web sites to Websites directory + https://bugs.webkit.org/show_bug.cgi?id=51323 + + Update references to BugsSite to point to the new location. + + This patch was never officially reviewed (because it was too large to + upload to bugs.webkit.org), but it was discussed on webkit-dev and Mark + Rowe gave me the green light. + + * Scripts/old-run-webkit-tests: + * Scripts/webkitpy/common/config/build.py: + * Scripts/webkitpy/common/config/build_unittest.py: + * Scripts/webkitpy/common/prettypatch.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/style/main.py: + +2010-12-20 Adrienne Walker + + Unreviewed. Adding myself to the list of committers. + + * webkitpy/common/config/committers.py: + +2010-12-20 Mark Rowe + + Reviewed by Dan Bernstein. + + Don't install header files in to the Resources directory. + + * Scripts/check-for-inappropriate-files-in-framework: Don't allow .h files in the + Resources directory. + +2010-12-20 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue should include bot id when attaching failure diffs + https://bugs.webkit.org/show_bug.cgi?id=51280 + + This is a tiny change to include the bot id in the name of the attachment. + Most of this diff is just changing the unit test expectations + now that I hid the comment printing when the comment is None. + + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/upload_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-12-20 Jeff Miller + + Reviewed by Dan Bernstein. + + Tools/vcbin/midl.exe needs to be rebuilt + https://bugs.webkit.org/show_bug.cgi?id=51347 + + * vcbin/midl.exe: Rebuilt. + +2010-12-20 David Levin + + Reviewed by Ariya Hidayat. + + .gitignore and webkit-tools-completion.sh have references to WebKitTools that should be Tools. + https://bugs.webkit.org/show_bug.cgi?id=51343 + + Follow up from the WebKitTools -> Tools rename. + + * Scripts/webkit-tools-completion.sh: + +2010-12-20 Cosmin Truta + + Reviewed by James Robinson. + + new-run-webkit-tests ignores trailing EOL differences in text tests + https://bugs.webkit.org/show_bug.cgi?id=36983 + + Changed the handling of new-line characters within new-run-webkit-tests + to match old-run-webkit-tests. Differences in leading and trailing empty + lines in text expectation files are no longer ignored. + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/test.py: + Added unit tests. Removed old duplicate unit test entries. + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2010-12-20 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style should detect function declarations (and trivial functions). + https://bugs.webkit.org/show_bug.cgi?id=51303 + + * Scripts/webkitpy/style/checkers/cpp.py: + (_FunctionState.begin): Add is_declaration and changed the line count + start to begin at -1 (which will keep the results consistent, since + the starting line number passed in is one less in this change). + (detect_functions): changed function detection to now catch trivial + functions and declarations. + (check_pass_ptr_usage): Don't check for Pass*Ptr on the first line + of the function as this may look at return values (when processing + a declaration). + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + (FunctionDetectionTest.perform_function_detection): Basic mechanics + of testing the function detection. + (FunctionDetectionTest.test_basic_function_detection): Test a simple + function. + (FunctionDetectionTest.test_function_declaration_detection): Test a + declaration. + (FunctionDetectionTest.test_non_functions): A test case for a case + that caused the code to fail due to the { being in quotes. + (PassPtrTest.test_pass_ref_ptr_return_value): Added some more test + cases to help catch false alarms for return values. + (PassPtrTest.test_pass_ref_ptr_member_variable): Ensure that + we don't get false alarms for member variables either. + +2010-12-20 Ryuan Choi + + Reviewed by Antonio Gomes. + + [CMAKE] Rename WEBKITTOOLS_DIR to TOOLS_DIR + https://bugs.webkit.org/show_bug.cgi?id=51319 + + * CMakeListsEfl.txt: + +2010-12-18 Adam Barth + + Reviewed by Sam Weinig. + + Move WebKitExamplePlugins to Examples + https://bugs.webkit.org/show_bug.cgi?id=51291 + + * Scripts/webkitpy/common/config/build.py: + +2010-12-17 Csaba Osztrogonác + + Unreviewed Qt buildfix after r74301. + + Rename WebKitTools to Tools + https://bugs.webkit.org/show_bug.cgi?id=49861 + + * MiniBrowser/DerivedSources.pro: + * MiniBrowser/qt/MiniBrowser.pro: + +2010-12-17 Dan Bernstein + + Reviewed by Simon Fraser. + + Rename WebKitTools to Tools + https://bugs.webkit.org/show_bug.cgi?id=49861 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + * CodeCoverage/README: + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::initializeFonts): + * EWSTools/start-commit-queue.sh: + * EWSTools/start-queue.sh: + * GNUmakefile.am: + * MIDLWrapper/MIDLWrapper.cpp: + (wmain): + * MiniBrowser/qt/MiniBrowser.pro: + * Scripts/build-api-tests: + * Scripts/build-dumprendertree: + * Scripts/build-webkit: + * Scripts/build-webkittestrunner: + * Scripts/generate-coverage-data: + * Scripts/old-run-webkit-tests: + * Scripts/run-api-tests: + * Scripts/run-iexploder-tests: + * Scripts/run-javascriptcore-tests: + * Scripts/run-mangleme-tests: + * Scripts/run-sunspider: + * Scripts/run-webkit-websocketserver: + * Scripts/sunspider-compare-results: + * Scripts/test-webkitperl: + * Scripts/test-webkitpy: + * Scripts/update-iexploder-cssproperties: + * Scripts/update-webkit: + * Scripts/update-webkit-localizable-strings: + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + * Scripts/webkitpy/common/config/committervalidator.py: + * Scripts/webkitpy/common/config/committervalidator_unittest.py: + * Scripts/webkitpy/common/config/ports.py: + * Scripts/webkitpy/common/config/ports_unittest.py: + * Scripts/webkitpy/common/system/logutils_unittest.py: + * Scripts/webkitpy/common/system/ospath_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/config.py: + * Scripts/webkitpy/layout_tests/port/config_unittest.py: + * Scripts/webkitpy/layout_tests/port/http_server.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/style/checker_unittest.py: + * Scripts/webkitpy/tool/bot/feeders_unittest.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/steps/steps_unittest.py: + * WebKitTestRunner/DerivedSources.pro: + * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: + (WTR::activateFonts): + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * wx/build/build_utils.py: + +2010-12-16 Antonio Gomes + + Reviewed by Martin Robinson. + + Settings::editingBehaviorType() incorrectly returns mac for the gtk build when running tests + https://bugs.webkit.org/show_bug.cgi?id=51163 + + Since GTK+'s default editing behavior was changed to UNIX in r70975 (see webkitwebsettings.cpp), + GTK+'s DRT should also reset to UNIX after each test execution. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + +2010-12-17 David Levin + + Reviewed by Eric Seidel. + + check-webkit-style should understand WTF #include guards + https://bugs.webkit.org/show_bug.cgi?id=44911 + + * Scripts/webkitpy/style/checkers/cpp.py: + (get_header_guard_cpp_variable): modify to suggest the WTF style + of header guard when appropriate. + (check_for_header_guard): handle multiple return values from + get_header_guard_cpp_variable + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + (CppStyleTest.test_build_header_guard): Added tests for the WTF + header style. + +2010-12-16 David Levin + + Reviewed by Eric Seidel. + + test-webkitpy: unittest for the xml.py checker displays a decprecation warning. + https://bugs.webkit.org/show_bug.cgi?id=51210 + + The error only shows up when using python 2.6 or later. + + * Scripts/webkitpy/style/checkers/xml.py: Replace the usage of + the decprecated field error,message with something equivalent. + +2010-12-16 Mihai Parparita + + Reviewed by Eric Seidel. + + Add --exit-after-n-failures/crashes to NRWT + https://bugs.webkit.org/show_bug.cgi?id=51160 + + Abort test run (in a similar way to how control-C is handled) when + --exit-after-n-failures/crashes-or-timeouts are passed and we've reached + that number of unexpected failures/crashes/timeouts. + + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-12-16 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style unit tests has some duplicate boilerplate code. + https://bugs.webkit.org/show_bug.cgi?id=49519 + + * Scripts/webkitpy/style/checkers/cpp.py: + (update_include_state): Replaced the "io" parameter with the global + configuration _unit_test_config. This allowed not calling into + functions at a low level and also not plumbing through the injection + information through many levels of code. + (check_for_include_what_you_use): Ditto. + (process_file_data): Added the ability to set up the unit test config + to allow for injection. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + (ErrorCollector.__init__): Added support for having a filter for errors. + (ErrorCollector.__call__): Ditto. + (CppStyleTestBase.process_file_data): Added the ability to set unit_test_config. + (CppStyleTestBase.perform_lint): Consolidated logic for the perform functions. + (CppStyleTestBase.perform_single_line_lint): Replace specific calls to + functions in the cpp.py with generic processing and a filter that + indicates what errors should be kept. + (CppStyleTestBase.perform_multi_line_lint): Ditto. + (CppStyleTestBase.perform_language_rules_check): Ditto. + (CppStyleTestBase.perform_function_lengths_check): Ditto. + (CppStyleTestBase.perform_pass_ptr_check): Ditto. + (CppStyleTestBase.perform_include_what_you_use): Ditto. + (CppStyleTest.test_multi_line_comments): Added another + error message which applies to the test case. + (CppStyleTest.test_spacing_for_binary_ops): Fixed test + to not have config.h, since it is processed as a header file. + (CppStyleTest.test_static_or_global_stlstrings): Fixed variable name + style and indentation in checked code. + (OrderOfIncludesTest.test_check_preprocessor_in_include_section): + Fixed line number. + (NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error): + Ditto. + +2010-12-15 Sheriff Bot + + Unreviewed, rolling out r74136. + http://trac.webkit.org/changeset/74136 + https://bugs.webkit.org/show_bug.cgi?id=51135 + + r74136 breaks chromium canary bots because some tests are not + rebaselined correctly to resolve EOL differences (Requested by + jianli on #webkit). + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2010-12-15 Adam Roben + + Teach check-webkit-style to check .vcproj and .vsprops files for XML + syntax errors + + Fixes check-webkit-style should check for + XML syntax errors in .vcproj/.vsprops files + + Reviewed by Dave Levin. + + * Scripts/webkitpy/style/checker.py: Added lists of file extensions + that should be treated as XML and that should be allowed to contain + carriage returns. (These lists happen to be identical currently.) + (FileType): Added a new XML type. + (CheckerDispatcher.should_check_and_strip_carriage_returns): Added. + Just does a simple file extension check. + (CheckerDispatcher._file_type): Added a case for XML files. + (CheckerDispatcher._create_checker): Ditto. We use XMLChecker for XML + files (surprise!). + (StyleProcessor.process): Ask the dispatcher whether we should pass the + lines through the carriage checker. + + * Scripts/webkitpy/style/checker_unittest.py: + (CheckerDispatcherCarriageReturnTest.test_should_check_and_strip_carriage_returns): + Added. Checks a few file names to see if carriage returns are allowed + or not. + (CheckerDispatcherDispatchTest.assert_checker_xml): Added. Similar to + other assert_checker_* functions. + (CheckerDispatcherDispatchTest.test_xml_paths): Added. Similar to other + test_*_paths functions. + (CheckerDispatcherDispatchTest.test_xml_paths): Added. Similar to other + test_*_paths functions. + (CheckerDispatcherDispatchTest.test_none_paths): Removed the vcproj + file from this test case, as vcproj files now have a type. + (StyleProcessor_CodeCoverageTest.MockDispatcher.should_check_and_strip_carriage_returns): + Added. Similar to the other should_* functions. + (StyleProcessor_CodeCoverageTest.test_process__carriage_returns_not_stripped): + Added. Checks that carriage returns aren't checked for or stripped for + allowed files. + + * Scripts/webkitpy/style/checkers/xml.py: Added. + (XMLChecker.__init__): Simple init method. + (XMLChecker.check): Pass each line through the expat parser, and record + a style error for any errors thrown by the parser. + + * Scripts/webkitpy/style/checkers/xml_unittest.py: Added. + (XMLCheckerTest.assert_no_error): Checks that the given XML does not + produce a style error. + (XMLCheckerTest.assert_error): Checks that the given XML produces an + error of the given category on the given line. + (XMLCheckerTest.mock_handle_style_error): Does nothing. Used for + checking that the XMLChecker constructor works properly. + (XMLCheckerTest.test_conflict_marker): Tests that conflict markers + cause a style error (see, e.g., r73887). + (XMLCheckerTest.test_extra_closing_tag): Tests that extra closing tags + cause a style error (see, e.g., r73773). + (XMLCheckerTest.test_init): Tests that the XMLChecker constructor works + properly. + (XMLCheckerTest.test_missing_closing_tag): Tests that missing closing + tags cause a style error (see, e.g., r72795). + (XMLCheckerTest.test_no_error): Tests that valid XML does not cause a + style error. + +2010-12-15 Lucas Forschler + + Reviewed by Stephanie Lewis. + + https://bugs.webkit.org/show_bug.cgi?id=51117 + Add a new leopard test bot + really really commit to trunk this time. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2010-12-15 Sam Weinig + + Reviewed by Anders Carlsson. + + WebKit2: Can't add files to an + https://bugs.webkit.org/show_bug.cgi?id=51087 + + * MiniBrowser/mac/BrowserWindowController.m: + (runOpenPanel): + (-[BrowserWindowController awakeFromNib]): + Add simple implementation of runOpenPanel callback. + + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + (WTR::TestController::initialize): + Stub out runOpenPanel callback. + +2010-12-14 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue should upload failure diffs when tests flake + https://bugs.webkit.org/show_bug.cgi?id=51051 + + To make this testable I needed to pipe FileSystem down onto tool. + We've wanted it there for a long time anyway. + + This patch is kinda a big hack. But we don't have a nice + way to read results.html files. I think this will need further + revision before this code actually feels clean. + + As part of testing this change, I had to make MockBugzilla.create_bug + actually return an id (like it should) which required updating + a few other unit test results (for the better). + + The results_matching_keys change in layouttestresults/rebasline + was an alternate path which I decided not to use in the end, but + I left the change as it seemed an improvement. + + * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: + * Scripts/webkitpy/common/net/layouttestresults.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/rebaseline.py: + * Scripts/webkitpy/tool/main.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-12-15 Cosmin Truta + + Reviewed by James Robinson. + + new-run-webkit-tests ignores trailing EOL differences in text tests + https://bugs.webkit.org/show_bug.cgi?id=36983 + + Changed the handling of new-line characters within new-run-webkit-tests + to match old-run-webkit-tests. Differences in leading and trailing empty + lines in text expectation files are no longer ignored. + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/test.py: + Added unit tests. Removed old duplicate unit test entries. + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2010-12-15 Ojan Vafai + + Reviewed by Adam Barth. + + make status-bubble white-space:nowrap so we can measure it's width without wrapping + https://bugs.webkit.org/show_bug.cgi?id=51149 + + * QueueStatusServer/templates/statusbubble.html: + +2010-12-15 Ojan Vafai + + Reviewed by Adam Barth. + + have the statusbubble postMessage it's metrics so that embedders can properly size the iframe + https://bugs.webkit.org/show_bug.cgi?id=51125 + + * QueueStatusServer/templates/statusbubble.html: + +2010-12-15 Darin Adler + + * Scripts/webkitpy/common/net/buildbot: Added property svn:ignore. + +2010-12-15 Sheriff Bot + + Unreviewed, rolling out r74117. + http://trac.webkit.org/changeset/74117 + https://bugs.webkit.org/show_bug.cgi?id=51113 + + This broke the GTK1 build. (Requested by mrobinson on + #webkit). + + * Scripts/webkitdirs.pm: + +2010-12-15 Amruth Raj and Ravi Kasibhatla + + Reviewed by Martin Robinson. + + Change generate-forwarding-headers.pl for GTK port usage + (https://bugs.webkit.org/show_bug.cgi?id=37369) + + * Scripts/webkitdirs.pm: Added changes to build webkit2 for GTK port using build-webkit script. + +2010-12-14 Kent Tamura + + Reviewed by Jian Li. + + [DRT/Chromium] Remove another unnecessary error message + https://bugs.webkit.org/show_bug.cgi?id=51083 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::didInvalidateRect): + +2010-12-14 Lucas Forschler + + Reviewed by Stephanie Lewis. + + Add a new Leopard Debug Test WK2 Bot + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2010-12-14 Ojan Vafai + + Fix python unittests after http://trac.webkit.org/changeset/74070. + + * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: + +2010-12-14 Kent Tamura + + Reviewed by Jian Li. + + [DRT/Chromium] Remove a unnecessary error message + https://bugs.webkit.org/show_bug.cgi?id=51069 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::paintInvalidatedRegion): + +2010-12-14 Benjamin Kalman + + Reviewed by Ojan Vafai. + + Using BUG/BUGWK in test_expectations is error prone, should use BUGCR/BUGWK + https://bugs.webkit.org/show_bug.cgi?id=48926 + + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + Add presubmit check that BUG isn't used, either BUGCR/BUGWK/BUGV8_. + +2010-12-14 Laszlo Gombos + + Reviewed by Eric Seidel. + + [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported + https://bugs.webkit.org/show_bug.cgi?id=50231 + + Guard CONFIG+=link_pkgconfig with !symbian. + + * DumpRenderTree/qt/DumpRenderTree.pro: + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: + +2010-12-14 Philippe Normand + + Reviewed by Ojan Vafai. + + [new-run-webkit-tests] expectations parsing is slow + https://bugs.webkit.org/show_bug.cgi?id=50635 + + Avoid expensive iteration of all the tests when checking if a test + file is to be skipped or not. + + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + * Scripts/webkitpy/layout_tests/port/test.py: + +2010-12-14 Mario Sanchez Prada + + Reviewed by Xan Lopez. + + [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects + https://bugs.webkit.org/show_bug.cgi?id=27048 + + Add support in DRT for checking whether an accessibility UI + element is focusable and/or focused. Implemented for GTK. + + * DumpRenderTree/AccessibilityUIElement.cpp: + (getIsFocusedCallback): New. + (getIsFocusableCallback): New. + (AccessibilityUIElement::getJSClass): Add the new available + callbacks for isFocused and isFocusable. + * DumpRenderTree/AccessibilityUIElement.h: + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (AccessibilityUIElement::isFocused): New, implemented by checking + whether the related AtkState value is in the object's state set. + (AccessibilityUIElement::isFocusable): Ditto. + * DumpRenderTree/mac/AccessibilityUIElementMac.mm: + (AccessibilityUIElement::isFocused): New, dummy implementation. + (AccessibilityUIElement::isFocusable): Ditto. + * DumpRenderTree/win/AccessibilityUIElementWin.cpp: + (AccessibilityUIElement::isFocused): Ditto. + (AccessibilityUIElement::isFocusable): Ditto. + +2010-12-14 Eric Seidel + + Reviewed by Ojan Vafai. + + webkit-patch should warn users when they're using a 32-bit git on a 64-bit system + https://bugs.webkit.org/show_bug.cgi?id=50715 + + This patch makes webkit-patch print the following: + + Warning: This machine is 64-bit, but the git binary (/usr/local/git/bin/git) does not support 64-bit. + Install a 64-bit git for better performance, see: + https://lists.webkit.org/pipermail/webkit-dev/2010-December/015249.html + + I wrote this mostly because I have approximately 8 machines that I use + and making sure each one is using a good Git install seemed folly. + webkit-patch makes a lot of git calls, so using a fast git can shave + several seconds in every invocation. See the webkit-dev thread for more info. + + This message will print twice during 'webkit-patch upload', + once from webkit-patch and once from check-webkit-style. + + Unfortunately there is no good way to test this due to how machine-dependent + the code is. I considered writing a test for the log message, but it seemed not worth it. + + * Scripts/webkitpy/common/checkout/scm.py: + +2010-12-13 Eric Seidel + + Reviewed by Adam Barth. + + FlakyTestReporter doesn't understand bots running from multiple email addresses + https://bugs.webkit.org/show_bug.cgi?id=50960 + + This explains at least one of the dupes of: + https://bugs.webkit.org/show_bug.cgi?id=50863 + that we saw filed by the commit-queue this morning. + I think the other one was explained by my previous fix to result counting code. + + Since this is really hard to test with a unit test, instead I + create a new (possibly useful in the future) command + which given a layout test path will return you + the one bug which our tools would assume it the flaky test bug. + If some other script wants to use bug-for-test we'll + need to extend it with some options like --create-if-missing or similar. + + * Scripts/webkitpy/common/net/bugzilla/bug.py: + * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/commands/__init__.py: + * Scripts/webkitpy/tool/commands/bugfortest.py: Added. + +2010-12-13 Mihai Parparita + + Reviewed by James Robinson. + + Add option to build-webkit to not build WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=50988 + + Add support for a --no-webkit2 option to build-webkit. It seems to save + ~1 minute from clean builds and ~10 seconds from no-op builds. + + * Scripts/build-webkit: + +2010-12-13 Lucas Forschler + + Reviewed by Dave Kilzer. + + Update iexploder from 1.3.2 to 1.7.2 + Move 1.3.2 into its own subdir + Add 1.7.2 into its own subdir + update scripts to point to new 1.3.2 location (avoid breaking existing scripts) + + * Scripts/run-iexploder-tests: + * Scripts/update-iexploder-cssproperties: + * iExploder/CHANGELOG.txt: Removed. + * iExploder/LICENSE.txt: Removed. + * iExploder/README.txt: Removed. + * iExploder/htdocs: Removed. + * iExploder/iexploder-1.3.2: Added. + * iExploder/iexploder-1.3.2/CHANGELOG.txt: Copied from iExploder/CHANGELOG.txt. + * iExploder/iexploder-1.3.2/LICENSE.txt: Copied from iExploder/LICENSE.txt. + * iExploder/iexploder-1.3.2/README.txt: Copied from iExploder/README.txt. + * iExploder/iexploder-1.3.2/htdocs: Added. + * iExploder/iexploder-1.3.2/htdocs/config.rb: Copied from iExploder/htdocs/config.rb. + * iExploder/iexploder-1.3.2/htdocs/cssproperties.in: Copied from iExploder/htdocs/cssproperties.in. + * iExploder/iexploder-1.3.2/htdocs/cssvalues.in: Copied from iExploder/htdocs/cssvalues.in. + * iExploder/iexploder-1.3.2/htdocs/htmlattrs.in: Copied from iExploder/htdocs/htmlattrs.in. + * iExploder/iexploder-1.3.2/htdocs/htmltags.in: Copied from iExploder/htdocs/htmltags.in. + * iExploder/iexploder-1.3.2/htdocs/htmlvalues.in: Copied from iExploder/htdocs/htmlvalues.in. + * iExploder/iexploder-1.3.2/htdocs/iexploder.cgi: Copied from iExploder/htdocs/iexploder.cgi. + * iExploder/iexploder-1.3.2/htdocs/iexploder.rb: Copied from iExploder/htdocs/iexploder.rb. + * iExploder/iexploder-1.3.2/htdocs/index.html: Copied from iExploder/htdocs/index.html. + * iExploder/iexploder-1.3.2/htdocs/webserver.rb: Copied from iExploder/htdocs/webserver.rb. + * iExploder/iexploder-1.3.2/tools: Added. + * iExploder/iexploder-1.3.2/tools/lasthit.rb: Copied from iExploder/tools/lasthit.rb. + * iExploder/iexploder-1.3.2/tools/osx_last_crash.rb: Copied from iExploder/tools/osx_last_crash.rb. + * iExploder/iexploder-1.3.2/tools/showtest.rb: Copied from iExploder/tools/showtest.rb. + * iExploder/iexploder-1.7.2: Added. + * iExploder/iexploder-1.7.2/ChangeLog.txt: Added. + * iExploder/iexploder-1.7.2/LICENSE.txt: Added. + * iExploder/iexploder-1.7.2/README.txt: Added. + * iExploder/iexploder-1.7.2/output: Added. + * iExploder/iexploder-1.7.2/src: Added. + * iExploder/iexploder-1.7.2/src/browser_harness.rb: Added. + * iExploder/iexploder-1.7.2/src/config.yaml: Added. + * iExploder/iexploder-1.7.2/src/css-atrules: Added. + * iExploder/iexploder-1.7.2/src/css-atrules/mozilla: Added. + * iExploder/iexploder-1.7.2/src/css-atrules/webkit: Added. + * iExploder/iexploder-1.7.2/src/css-properties: Added. + * iExploder/iexploder-1.7.2/src/css-properties/dillo: Added. + * iExploder/iexploder-1.7.2/src/css-properties/gtkhtml: Added. + * iExploder/iexploder-1.7.2/src/css-properties/internet_explorer6: Added. + * iExploder/iexploder-1.7.2/src/css-properties/mozilla: Added. + * iExploder/iexploder-1.7.2/src/css-properties/webkit: Added. + * iExploder/iexploder-1.7.2/src/css-pseudo: Added. + * iExploder/iexploder-1.7.2/src/css-pseudo/mozilla: Added. + * iExploder/iexploder-1.7.2/src/css-pseudo/webkit: Added. + * iExploder/iexploder-1.7.2/src/css-values: Added. + * iExploder/iexploder-1.7.2/src/css-values/dillo: Added. + * iExploder/iexploder-1.7.2/src/css-values/gtkhtml: Added. + * iExploder/iexploder-1.7.2/src/css-values/mozilla: Added. + * iExploder/iexploder-1.7.2/src/css-values/other: Added. + * iExploder/iexploder-1.7.2/src/css-values/webkit: Added. + * iExploder/iexploder-1.7.2/src/headers: Added. + * iExploder/iexploder-1.7.2/src/headers/dillo: Added. + * iExploder/iexploder-1.7.2/src/headers/gtkhtml: Added. + * iExploder/iexploder-1.7.2/src/headers/mozilla: Added. + * iExploder/iexploder-1.7.2/src/headers/webkit: Added. + * iExploder/iexploder-1.7.2/src/html-attrs: Added. + * iExploder/iexploder-1.7.2/src/html-attrs/dillo: Added. + * iExploder/iexploder-1.7.2/src/html-attrs/gtkhtml: Added. + * iExploder/iexploder-1.7.2/src/html-attrs/internet_explorer6: Added. + * iExploder/iexploder-1.7.2/src/html-attrs/mozilla: Added. + * iExploder/iexploder-1.7.2/src/html-attrs/other: Added. + * iExploder/iexploder-1.7.2/src/html-attrs/webkit: Added. + * iExploder/iexploder-1.7.2/src/html-tags: Added. + * iExploder/iexploder-1.7.2/src/html-tags/dillo: Added. + * iExploder/iexploder-1.7.2/src/html-tags/gtkhtml: Added. + * iExploder/iexploder-1.7.2/src/html-tags/mozilla: Added. + * iExploder/iexploder-1.7.2/src/html-tags/other: Added. + * iExploder/iexploder-1.7.2/src/html-tags/webkit: Added. + * iExploder/iexploder-1.7.2/src/html-values: Added. + * iExploder/iexploder-1.7.2/src/html-values/dillo: Added. + * iExploder/iexploder-1.7.2/src/html-values/gtkhtml: Added. + * iExploder/iexploder-1.7.2/src/html-values/mozilla: Added. + * iExploder/iexploder-1.7.2/src/html-values/other: Added. + * iExploder/iexploder-1.7.2/src/html-values/webkit: Added. + * iExploder/iexploder-1.7.2/src/iexploder.cgi: Added. + * iExploder/iexploder-1.7.2/src/iexploder.rb: Added. + * iExploder/iexploder-1.7.2/src/index.html: Added. + * iExploder/iexploder-1.7.2/src/media: Added. + * iExploder/iexploder-1.7.2/src/media/blank.ogg: Added. + * iExploder/iexploder-1.7.2/src/media/blank.snd: Added. + * iExploder/iexploder-1.7.2/src/media/blank.wav: Added. + * iExploder/iexploder-1.7.2/src/media/bug.bmp: Added. + * iExploder/iexploder-1.7.2/src/media/bug.gif: Added. + * iExploder/iexploder-1.7.2/src/media/bug.ico: Added. + * iExploder/iexploder-1.7.2/src/media/bug.jng: Added. + * iExploder/iexploder-1.7.2/src/media/bug.jpg: Added. + * iExploder/iexploder-1.7.2/src/media/bug.png: Added. + * iExploder/iexploder-1.7.2/src/media/bug.svg: Added. + * iExploder/iexploder-1.7.2/src/media/bug.tiff: Added. + * iExploder/iexploder-1.7.2/src/media/bug.xbm: Added. + * iExploder/iexploder-1.7.2/src/media/bug.xpm: Added. + * iExploder/iexploder-1.7.2/src/mime-types: Added. + * iExploder/iexploder-1.7.2/src/mime-types/dillo: Added. + * iExploder/iexploder-1.7.2/src/mime-types/mozilla: Added. + * iExploder/iexploder-1.7.2/src/mime-types/webkit: Added. + * iExploder/iexploder-1.7.2/src/protocols: Added. + * iExploder/iexploder-1.7.2/src/protocols/dillo: Added. + * iExploder/iexploder-1.7.2/src/protocols/gtkhtml: Added. + * iExploder/iexploder-1.7.2/src/protocols/mozilla: Added. + * iExploder/iexploder-1.7.2/src/protocols/webkit: Added. + * iExploder/iexploder-1.7.2/src/scanner.rb: Added. + * iExploder/iexploder-1.7.2/src/version.rb: Added. + * iExploder/iexploder-1.7.2/src/webserver.rb: Added. + * iExploder/iexploder-1.7.2/testcases: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-Linux_x86_64_rv2.0b6pre_Gecko-20100904_Firefox-4.0b6pre-TEST-8375-1_59.html: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-Opera-9.80_Linux_x86_64_en_Presto-2.6.30_Version-10.61-16704-3_108,3.html: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-U_Intel_Mac_OS_X_10_6_4_en-US_AppleWebKit-534.8_Chrome-7.0.529.0-TEST-611-3_36,9.html: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-U_Intel_Mac_OS_X_10_6_4_en-US_AppleWebKit-534.8_hrome-7.0.529.0-TEST-55313622206-3_6,0.html: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.6_Chrome-7.0.503.1-TEST-120813-8_72,56,24,8,0.html: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.6_Chrome-7.0.503.1-TEST-121240-3_81,3.html: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.7_Chrome-7.0.513.0-4800-5_80,65,15.html: Added. + * iExploder/iexploder-1.7.2/testcases/testcase-U_Linux_x86_64_en-US_AppleWebKit-534.7_Chrome-7.0.513.0-TEST-23583190347-3_15,12.html: Added. + * iExploder/iexploder-1.7.2/tools: Added. + * iExploder/iexploder-1.7.2/tools/lasthit.rb: Added. + * iExploder/iexploder-1.7.2/tools/osx_last_crash.rb: Added. + * iExploder/iexploder-1.7.2/tools/release_src.sh: Added. + * iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh: Added. + * iExploder/tools: Removed. + +2010-12-13 Sam Weinig + + Reviewed by Anders Carlsson. + + Remove associated page concept from WKView constructor + https://bugs.webkit.org/show_bug.cgi?id=50983 + + Step 1: Remove associate page constructors from WKView and make + all views use the shared namespace for the context. + + * TestWebKitAPI/PlatformWebView.h: + * TestWebKitAPI/mac/PlatformWebViewMac.mm: + * TestWebKitAPI/win/PlatformWebViewWin.cpp: + * WebKitTestRunner/PlatformWebView.h: + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + * WebKitTestRunner/mac/PlatformWebViewMac.mm: + * WebKitTestRunner/qt/PlatformWebViewQt.cpp: + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + +2010-12-13 Sam Weinig + + Reviewed by Anders Carlsson. + + Change the WebKit2 public API so there is no explicit WKPageNamespace object + https://bugs.webkit.org/show_bug.cgi?id=50898 + + * MiniBrowser/mac/AppDelegate.h: + * MiniBrowser/mac/AppDelegate.m: + * MiniBrowser/mac/BrowserWindowController.h: + * MiniBrowser/mac/BrowserWindowController.m: + * MiniBrowser/win/BrowserView.cpp: + Convert MiniBrowser to not use PageNamespaces. + + * TestWebKitAPI/PlatformWebView.h: + * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: + * TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp: + * TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp: + * TestWebKitAPI/Tests/WebKit2/Find.cpp: + * TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp: + * TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp: + * TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp: + * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: + * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: + * TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp: + * TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: + * TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp: + * TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp: + * TestWebKitAPI/mac/PlatformWebViewMac.mm: + * TestWebKitAPI/win/PlatformWebViewWin.cpp: + Convert TestWebKitAPI to not use PageNamespaces. + + * WebKitTestRunner/PlatformWebView.h: + * WebKitTestRunner/TestController.cpp: + * WebKitTestRunner/TestController.h: + * WebKitTestRunner/mac/PlatformWebViewMac.mm: + * WebKitTestRunner/qt/PlatformWebViewQt.cpp: + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + Convert WebKitTestRunner to not use PageNamespaces. + +2010-12-13 Gabor Rapcsanyi + + Reviewed by Eric Seidel. + + webkit-patch rollout should be able to do multi-revision rollouts + https://bugs.webkit.org/show_bug.cgi?id=33336 + + Make it possible to pass more than one revision to webkit-patch. + + * Scripts/webkitpy/common/checkout/api.py: + * Scripts/webkitpy/common/checkout/changelog.py: + * Scripts/webkitpy/common/checkout/changelog_unittest.py: + * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py: + * Scripts/webkitpy/tool/commands/download.py: + * Scripts/webkitpy/tool/commands/download_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py: + * Scripts/webkitpy/tool/steps/revertrevision.py: + +2010-12-13 Eric Seidel + + Unreviewed. + + Teach webkit-patch how to search bugzilla + https://bugs.webkit.org/show_bug.cgi?id=50500 + + webkit-patch bug-search fails when there is only one result. + Turns out we needed a bit more logic in our result count parsing code. + + * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: + * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: + +2010-12-13 Antti Koivisto + + Reviewed by Alexey Proskuryakov. + + Add setSerializeHTTPLoads function to allow testing resource load order on OS X. + https://bugs.webkit.org/show_bug.cgi?id=50758 + + * DumpRenderTree/LayoutTestController.cpp: + (setSerializeHTTPLoadsCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setSerializeHTTPLoads): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetDefaultsToConsistentValues): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setSerializeHTTPLoads): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setSerializeHTTPLoads): + +2010-12-13 Dimitri Glazkov + + Reviewed by Ojan Vafai. + + Remove "use-drt" option from test step command line, since the option was removed in r73748. + https://bugs.webkit.org/show_bug.cgi?id=50936 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Removed the option. + +2010-12-13 Patrick Gansterer + + Reviewed by Csaba Osztrogonác. + + Add revlink to BuildBot status + https://bugs.webkit.org/show_bug.cgi?id=50914 + + This adds a hyperlink to trac changeset on the revision numbers. + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2010-12-13 Andras Becsi + + Reviewed by Csaba Osztrogonác. + + [Qt][WK2] Fix build if WebKitTools are not available + https://bugs.webkit.org/show_bug.cgi?id=50242 + + * MiniBrowser/qt/MiniBrowser.pro: Correct the comment. + * Scripts/webkitdirs.pm: Added WebKitTools/MiniBrowser to $subdirs. + * MiniBrowser/DerivedSources.pro: Added. + +2010-12-13 Eric Seidel + + Reviewed by Adam Barth. + + EWS Queues should remove orpahned pyc files before starting + https://bugs.webkit.org/show_bug.cgi?id=50904 + + A previous check added a platform.py which caused + EWS bots on some platforms to hit an import exception. + The platform.py file was removed in a subsequent commit, but + the EWS bots in question stayed stuck. This change will + fix those bots once restarted (and prevent this in the future). + + I also went ahead and unified start-queue and start-commit-queue + since they were nearly identical. I also added bot_id support + to both force all EWSes to have bot ids as well as get rid of the one + remaining reason why I had my own copies of these scripts. + Hopefully this will be enough to get all the other bot admins + (ahem, Adam, ahem) to move to using these checked in copies as well. + + * EWSTools/start-commit-queue.sh: Removed. + * EWSTools/start-queue.sh: + +2010-10-28 MORITA Hajime + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added LayoutTestController::setAsynchronousSpellCheckingEnabled() + to control the setting. + + * DumpRenderTree/LayoutTestController.cpp: + (setAsynchronousSpellCheckingEnabledCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::setAsynchronousSpellCheckingEnabled): + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setAsynchronousSpellCheckingEnabled): + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetDefaultsToConsistentValues): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setAsynchronousSpellCheckingEnabled): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setAsynchronousSpellCheckingEnabled): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setAsynchronousSpellCheckingEnabled): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setAsynchronousSpellCheckingEnabled): + +2010-12-12 Sam Weinig + + Reviewed by Anders Carlsson. + + Fix failing API test. It turns out that a pop-state event + is sent before every fragment navigation, so we have to test + for it in addition in PageLoadDidChangeLocationWithinPageForFrame. + + * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: + (TestWebKitAPI::didSameDocumentNavigationForFrame): + +2010-12-12 Alejandro G. Castro + + Reviewed by Eric Seidel. + + [GTK] Add new-run-webkit-tests support to gtk + https://bugs.webkit.org/show_bug.cgi?id=50681 + + Adding the basic support to run the new-run-webkit-tests. + + * Scripts/webkitpy/layout_tests/port/gtk.py: + +2010-10-11 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Mock DeviceOrientation client for DRT + https://bugs.webkit.org/show_bug.cgi?id=47490 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::DumpRenderTree): + (WebCore::DumpRenderTree::~DumpRenderTree): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setMockDeviceOrientation): + +2010-12-11 Philippe Normand + + Reviewed by Gustavo Noronha Silva. + + [GTK] launcher: disable the Mozilla-style fullscreen API + https://bugs.webkit.org/show_bug.cgi?id=50874 + + Disabling the fullscreen API until its implementation for GTK is + mature enough. The webview setting for it is already FALSE by + default. + + * GtkLauncher/main.c: + (createWindow): + +2010-12-10 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue flaky test messages show cryptic version information for mac os x + https://bugs.webkit.org/show_bug.cgi?id=50864 + + Turns out platform.platform() returns kernel version information + which isn't helpful, and just plain confusing on Mac + (OS X 10.6.5 uses Darwin Kernel 10.5.0). + + So I've updated PlatformInfo.display_name() to special case + mac. I also found a bad use of sys.platform in the process + and fixed that. (sys.platform always returns 'darwin' on mac). + + * Scripts/webkitpy/common/system/platforminfo.py: + * Scripts/webkitpy/common/system/user.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-12-10 Eric Seidel + + Unreviewed. + + Exception seen while reporting flaky test with commit-queue. + Just a missing include. + + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + +2010-12-10 Kinuko Yasuda + + Reviewed by Eric Seidel. + + [Chromium] Remove old JSONResultsGenerator script that existed for backward-compatibility + https://bugs.webkit.org/show_bug.cgi?id=50796 + + Also updating the test code to use JSONResultsGeneratorBase and + to improve test coverage for incremental cases. + + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: + +2010-12-10 Joseph Pecoraro + + Reviewed by Darin Adler. + + prepare-ChangeLog --help doesn't mention --bug shorthand -b + https://bugs.webkit.org/show_bug.cgi?id=50835 + + * Scripts/prepare-ChangeLog: be more explicit about -b and match file style. + +2010-12-10 Eric Seidel + + Reviewed by Adam Barth. + + Bugs created by the commit-queue should all block on a master bug + https://bugs.webkit.org/show_bug.cgi?id=50857 + + This makes all bugs created by the commit-queue block on: + https://bugs.webkit.org/show_bug.cgi?id=50856 + + In the process of testing this, I found that the existing + create_bug code was wrong. I also found that existing + unit tests for create-rollout used invalid values + for options.blocks. I fixed both issues and tested. + + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/commandtest.py: + * Scripts/webkitpy/tool/commands/download_unittest.py: + * Scripts/webkitpy/tool/commands/upload_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/options.py: + +2010-12-10 Eric Seidel + + Reviewed by Adam Barth. + + Teach webkitpy how to follow duplicate chains when posting comments on flake bugs + https://bugs.webkit.org/show_bug.cgi?id=50853 + + I also discovered when doing this that the code was posting + the comment on the wrong bug, but that's fixed here too. + + * Scripts/webkitpy/common/net/bugzilla/bug.py: + * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-12-10 Anders Carlsson + + Reviewed by John Sullivan. + + Make WKContextGetStatistics gather global statistics + https://bugs.webkit.org/show_bug.cgi?id=50850 + + Remove the code that gets the statistics and fills in the per context + statistics information for now. + + * MiniBrowser/mac/BrowserStatisticsWindowController.m: + (-[BrowserStatisticsWindowController refreshStatistics:]): + +2010-12-10 Eric Seidel + + Unreviewed. + + commit-queue should report port/platform information when commenting on flaky test bugs + https://bugs.webkit.org/show_bug.cgi?id=50839 + + Renamed platform.py to platforminfo.py. This broke import platform in executive.py + which was only used by new run webkit tests (and clearly not unit tested). + + * Scripts/webkitpy/common/system/platforminfo.py: Renamed from WebKitTools/Scripts/webkitpy/common/system/platform.py. + * Scripts/webkitpy/tool/main.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-12-10 Eric Seidel + + Reviewed by Tony Chang. + + commit-queue should report port/platform information when commenting on flaky test bugs + https://bugs.webkit.org/show_bug.cgi?id=50839 + + This was a suggestion from Tony Chang this morning. + I added a platform.py class so I could easily mock the platform call, + but that may not be the final solution for this mocking. + We'll try it and see. + + * Scripts/webkitpy/common/system/platform.py: Added. + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/main.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-12-10 Krithigassree Sambamurthy + + Reviewed by Joseph Pecoraro. + + Bug 43455 - [Qt]: Implement Application Cache Quotas + https://bugs.webkit.org/show_bug.cgi?id=43455 + + Introduce functions to allow new appcache layout test origin-quota.html + to work correctly under Qt. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::DumpRenderTree): + (WebCore::DumpRenderTree::dumpApplicationCacheQuota): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + + Introduce functions to allow new appcache layout test origin-quota.html + to be successful under qt. Changes required because LayoutTestControllerQt + does not inherit from LayoutController. + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::clearAllApplicationCaches): + (LayoutTestController::setApplicationCacheOriginQuota): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + (LayoutTestController::shouldDumpApplicationCacheDelegateCallbacks): + (LayoutTestController::dumpApplicationCacheDelegateCallbacks): + +2010-12-10 Eric Seidel + + Reviewed by Adam Barth. + + Move buildbot.py into its own module so we can split it out into one-file-per-class + https://bugs.webkit.org/show_bug.cgi?id=50806 + + We're adding more buildbot logic these days, so it makes sense + to give buildbot its own module. + + * Scripts/webkitpy/common/net/buildbot/__init__.py: Added. + * Scripts/webkitpy/common/net/buildbot/buildbot.py: Renamed from WebKitTools/Scripts/webkitpy/common/net/buildbot.py. + * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: Renamed from WebKitTools/Scripts/webkitpy/common/net/buildbot_unittest.py. + * Scripts/webkitpy/common/net/failuremap.py: + * Scripts/webkitpy/common/net/regressionwindow.py: + * Scripts/webkitpy/tool/commands/rebaseline.py: + +2010-12-10 Tony Chang + + Reviewed by Eric Seidel. + + Use FileSystem::remove when cleaning up http lock files + https://bugs.webkit.org/show_bug.cgi?id=50830 + + * Scripts/webkitpy/layout_tests/port/http_lock.py: + +2010-12-10 Joone Hur + + Reviewed by Martin Robinson. + + [GTK] DRT needs layoutTestController.setCacheModel + https://bugs.webkit.org/show_bug.cgi?id=50705 + + webkit_set_cache_mode() is called to set the cache model. + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setCacheModel): Set the cache model. + +2010-12-10 Tony Chang + + Reviewed by Ojan Vafai. + + [chromium] remove --use-drt and add --use-test-shell + https://bugs.webkit.org/show_bug.cgi?id=50701 + + * Scripts/webkitpy/common/config/ports.py: + * Scripts/webkitpy/common/config/ports_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: + * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/style/checkers/test_expectations.py: + * Scripts/webkitpy/tool/commands/queries.py: + +2010-12-10 John Knottenbelt + + Reviewed by Steve Block. + + [Chromium] Implement mocks for client-based geolocation + https://bugs.webkit.org/show_bug.cgi?id=46895 + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::setGeolocationPermission): + (LayoutTestController::setMockGeolocationPosition): + (LayoutTestController::setMockGeolocationError): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::geolocationClient): + (WebViewHost::geolocationClientMock): + (WebViewHost::reset): + * DumpRenderTree/chromium/WebViewHost.h: + +2010-12-10 Alejandro G. Castro + + Reviewed by Martin Robinson. + + [GTK] Add hasSpellingMarker support to the DRT + https://bugs.webkit.org/show_bug.cgi?id=50739 + + Implemented the hasSpellingMarker to support spelling tests. + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::hasSpellingMarker): + +2010-12-10 Eric Seidel + + Reviewed by Ojan Vafai. + + webkit-patch: not possible to use build-and-test with local commits + https://bugs.webkit.org/show_bug.cgi?id=33378 + + Make --no-clean not even check if we have local commits. + It's unclear to me why the code was originally written this way. + I was unable to dig up a reason from svn history. + + * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py: + * Scripts/webkitpy/tool/steps/cleanworkingdirectory_unittest.py: Copied from WebKitTools/Scripts/webkitpy/tool/steps/cleanworkingdirectory.py. + +2010-12-10 Mario Sanchez Prada + + Reviewed by Martin Robinson. + + [GTK] AX: implement isEnabled in DRT + https://bugs.webkit.org/show_bug.cgi?id=50814 + + Implement AccessibilityUIElement::isEnabled() for GTK. + + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (checkElementState): New function to refactor common code. + (AccessibilityUIElement::isEnabled): Implement this by checking + the current state of the AtkObject. + (AccessibilityUIElement::isSelected): Use the new + checkElementState function. + +2010-12-10 Jocelyn Turcotte + + Reviewed by Kenneth Rohde Christiansen. + + [Qt][WK2] Add the QWKContext API class to wrap the WebContext. + https://bugs.webkit.org/show_bug.cgi?id=50750 + + * MiniBrowser/qt/BrowserView.cpp: + (BrowserView::BrowserView): + * MiniBrowser/qt/BrowserView.h: + * WebKitTestRunner/qt/PlatformWebViewQt.cpp: + (WTR::WebView::WebView): + +2010-12-10 Joone Hur + + Reviewed by Xan Lopez. + + [GTK] Unskipping some test cases in userscripts dependent on addUserStyleSheet + https://bugs.webkit.org/show_bug.cgi?id=50808 + + Unskipping the following test cases: + userscripts/mixed-case-stylesheet.html + userscripts/simple-stylesheet.html + userscripts/user-style-all-frames.html + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::addUserStyleSheet): + +2010-12-10 Joone Hur + + Reviewed by Eric Seidel. + + [GTK] Add DRT support for pageProperty, isPageBoxVisible, pageSizeAndMarginsInPixels, and addUserStyleSheet + https://bugs.webkit.org/show_bug.cgi?id=50783 + + This patch allows to unskip the following test cases: + printing/page-rule-selection.html + printing/page-format-data.html + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::pageProperty): Added. + (LayoutTestController::isPageBoxVisible): Ditto. + (LayoutTestController::pageSizeAndMarginsInPixels): Ditto. + (LayoutTestController::addUserStyleSheet): Ditto. + +2010-12-10 Jocelyn Turcotte + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make QtTestBrowser spawn QNAM in a secondary thread. + + A menu allows to switch QNAM back to the same thread. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::initializeView): + (LauncherWindow::createChrome): + (LauncherWindow::toggleThreadedQnam): + * QtTestBrowser/launcherwindow.h: + (WindowOptions::WindowOptions): + * QtTestBrowser/webpage.cpp: + (WebPage::WebPage): + (WebPage::setQnamThreaded): + * QtTestBrowser/webpage.h: + (QnamThread::QnamThread): + (QnamThread::~QnamThread): + (QnamThread::networkAccessManager): + (QnamThread::run): + +2010-12-10 Martin Robinson + + Reviewed by Xan Lopez. + + [Gtk] style="font-family: courier" makes text disappear + https://bugs.webkit.org/show_bug.cgi?id=47452 + + Add a test that verifies that fonts without valid charmaps are + never selected. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (initializeFonts): Initialize DRT with our font (derived from Ahem) + that has no valid charmap. + * DumpRenderTree/gtk/fonts/FontWithNoValidEncoding.fon: Added. + * DumpRenderTree/gtk/fonts/fonts.conf: Updated settings to override users' + settings which may disable selection of bitmap fonts. + +2010-12-10 Eric Seidel + + Unreviewed. + + The commit-queue should file bugs about flaky tests it encounters + https://bugs.webkit.org/show_bug.cgi?id=50803 + + create_bug_for_flaky_test was insufficiently tested, thus buggy. + Now it's tested. + + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: + +2010-12-10 Eric Seidel + + Unreviewed. Somehow this last-minute edit didn't quite get committed. + + The commit-queue should file bugs about flaky tests it encounters + https://bugs.webkit.org/show_bug.cgi?id=50803 + + * Scripts/webkitpy/tool/bot/flakytestreporter.py: + +2010-12-09 Eric Seidel + + Reviewed by Adam Barth. + + The commit-queue should file bugs about flaky tests it encounters + https://bugs.webkit.org/show_bug.cgi?id=50803 + + This change got a bit big. I also added a new config.urls file + because I needed to share the view_source_url code with committervalidator.py. + + This adds a new class FlakyTestReporter which holds all the logic about + reporting flaky tests to bugzilla. + + Right now this code knows how to look up bugs for flaky tests. + If it can't find a bug filed from the commit-queue, it will open a new + one, ccing the relevant people and adding information about the failure. + + It is not yet smart enough to chase down duplicate chains, or to include + the actual failure diff. But those can be added in later iterations. + + * Scripts/webkitpy/common/checkout/api.py: + * Scripts/webkitpy/common/checkout/changelog.py: + * Scripts/webkitpy/common/checkout/commitinfo.py: + * Scripts/webkitpy/common/config/committervalidator.py: + * Scripts/webkitpy/common/config/urls.py: Copied from WebKitTools/Scripts/webkitpy/tool/comments.py. + * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: + * Scripts/webkitpy/tool/bot/flakytestreporter.py: Added. + * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py: Copied from WebKitTools/Scripts/webkitpy/tool/comments.py. + * Scripts/webkitpy/tool/bot/irc_command.py: + * Scripts/webkitpy/tool/bot/sheriff.py: + * Scripts/webkitpy/tool/commands/download.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/comments.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/commit.py: + +2010-12-09 Eric Seidel + + Reviewed by Adam Barth. + + Teach webkit-patch how to search bugzilla + https://bugs.webkit.org/show_bug.cgi?id=50500 + + This is a step towards teaching webkitpy how to file + new bugs for flaky tests and update them when new flakes occur. + + * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: + * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: + * Scripts/webkitpy/tool/commands/__init__.py: + * Scripts/webkitpy/tool/commands/bugsearch.py: Added. + +2010-12-09 Adam Barth + + Reviewed by Ojan Vafai. + + commit-queue errors out due to local commits + https://bugs.webkit.org/show_bug.cgi?id=50766 + + We seem to be tripping over having local commits in the working copy a + lot recently. I don't quite fully understand what the issue is, but + this patch attempts to solve the problem by adding an explicit clean + step before processing a patch. Previously, we did the cleaning as + part of the apply-attachment step, so this might not actually fix the + problem. + + * Scripts/webkitpy/tool/bot/commitqueuetask.py: + * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-12-09 Dirk Pranke + + Reviewed by Ojan Vafai. + + Make new-run-webkit-tests --lint-test-files log slightly better + messages and return -1 if lint fails. Remove the + 'suppress_errors' keyword param to the TestExpectationsFile + class, and clean up logging and exception raising for error + handling. Also add more unit tests and clean up the unit test code a bit. + + https://bugs.webkit.org/show_bug.cgi?id=50205 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/style/checkers/test_expectations.py: + * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: + +2010-12-09 Tony Chang + + Unreviewed, fix for windows code. We were catching the wrong + exception in Windows. + + * Scripts/webkitpy/common/system/filesystem.py: + +2010-12-09 Antonio Gomes + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk (part IV) + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Adjust call sites of webkit_thread_count to use the DumpRenderTreeSupportGtk version now. + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::workerThreadCount): + +2010-12-06 Philippe Normand + + Reviewed by Martin Robinson. + + [GTK] Support the Mozilla-style Fullscreen Javascript API + https://bugs.webkit.org/show_bug.cgi?id=50572 + + Enable the Javascript Fullscreen support in the GtkLauncher. Also + make DRT update the Chrome when the WebView settings have been + reset to consistent values. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * GtkLauncher/main.c: + (create_window): + * Scripts/build-webkit: + +2010-12-09 Koan-Sin Tan + + Reviewed by Tor Arne Vestbø + + [Qt] run-launcher doesn't start the browser on Mac OS X 10.6 + https://bugs.webkit.org/show_bug.cgi?id=50742 + + check not only QtWebKit.framework/QtWebKit but also libQtWebKit.dylib + + * Scripts/webkitdirs.pm: + +2010-12-09 Joone Hur + + Reviewed by Martin Robinson. + + [GTK] Support for viewport meta tag + https://bugs.webkit.org/show_bug.cgi?id=45443 + + Add support for testing the viewport properties for WebKitGtk. + + * DumpRenderTree/LayoutTestController.cpp: + (dumpConfigurationForViewportCallback): Added this JS callback to set the size of the visible viewport. + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::dumpConfigurationForViewport): Added this function to test the viewport properties. + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::dumpConfigurationForViewport): Ditto. + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::dumpConfigurationForViewport): Ditto. + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::dumpConfigurationForViewport): Ditto. + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::dumpConfigurationForViewport): Ditto. + +2010-12-08 William Siegrist + + Reviewed by Eric Seidel. + + Migrate buildbot.py from xmlrpc to json. + https://bugs.webkit.org/show_bug.cgi?id=50647 + + * Scripts/webkitpy/common/net/buildbot.py: + +2010-12-08 Tony Chang + + Reviewed by Eric Seidel. + + make starting the websocket server more reliable on windows + https://bugs.webkit.org/show_bug.cgi?id=50712 + + * Scripts/webkitpy/common/system/filesystem.py: + (remove): Substitute method for os.remove to retry on error on Windows + * Scripts/webkitpy/common/system/filesystem_unittest.py: + * Scripts/webkitpy/layout_tests/port/http_server_base.py: Use FileSystem.remove + +2010-12-08 Jessie Berlin + + Reviewed by Adam Roben. + + WebKit2: Implement WebChromeClient::exceededDatabaseQuota + https://bugs.webkit.org/show_bug.cgi?id=50656 + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + Indicate that exceededDatabaseQuota is not implemented. + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + Ditto. + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + Ditto. + (WTR::TestController::initialize): + Ditto. + +2010-12-08 Antonio Gomes + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk (part III) + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Moved the following methods from webkitprivate.h to DumpRenderTreeSupportGtk.cpp|h: + * webkit_gc_collect_javascript_objects; + * webkit_gc_collect_javascript_objects_on_alternate_thread; + * webkit_gc_count_javascript_objects; + * webkit_web_frame_layout. + + These were all only used by GTK+ DRT. + + * DumpRenderTree/gtk/EventSender.cpp: + (dispatchEvent): + * DumpRenderTree/gtk/GCControllerGtk.cpp: + (GCController::collect): + (GCController::collectOnAlternateThread): + (GCController::getJSObjectCount): + +2010-12-07 Tony Chang + + Reviewed by Ojan Vafai. + + [chromium] force NRWT to use DRT + https://bugs.webkit.org/show_bug.cgi?id=50359 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-12-06 Sam Weinig + + Reviewed by Anders Carlsson. + + Generalize didChangeLocationWithinPageForFrame for all same document navigations + https://bugs.webkit.org/show_bug.cgi?id=50584 + + * MiniBrowser/mac/BrowserWindowController.m: + (didSameDocumentNavigationForFrame): + (-[BrowserWindowController awakeFromNib]): + (-[BrowserWindowController didSameDocumentNavigationForFrame:]): + * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: + (TestWebKitAPI::didSameDocumentNavigationForFrame): + (TestWebKitAPI::TEST): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::didSameDocumentNavigationForFrame): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + +2010-12-06 Kinuko Yasuda + + Reviewed by Ojan Vafai. + + Make TestResultsServer return 404 for non-existing results files. + https://bugs.webkit.org/show_bug.cgi?id=50581 + + * TestResultServer/handlers/testfilehandler.py: + +2010-12-06 Tony Chang + + Reviewed by Ojan Vafai. + + [chromium] fix an assert hit in DRT + https://bugs.webkit.org/show_bug.cgi?id=50575 + + This class uses WTF's RefPtr, but expects chrome's base::RefPtr + semantics. + + Otherwise, we hit ASSERTION FAILED: !m_adoptionIsRequired + (third_party/WebKit/JavaScriptCore/wtf/RefCounted.h:37 void + WTF::RefCountedBase::ref()). + + * DumpRenderTree/chromium/TestWebWorker.h: + (TestWebWorker::TestWebWorker): + +2010-12-02 Ojan Vafai + + Reviewed by Eric Seidel. + + make webkit-patch command work when the git branch is not synced to the remote svn branch + https://bugs.webkit.org/show_bug.cgi?id=50424 + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + +2010-12-06 Patrick Gansterer + + Reviewed by Andreas Kling. + + [WINCE] Add build system + https://bugs.webkit.org/show_bug.cgi?id=50522 + + * CMakeListsWinCE.txt: Added. + +2010-12-03 Mihai Parparita + + Reviewed by Tony Chang. + + Allow the Chromium port to have Leopard-specific baselines + https://bugs.webkit.org/show_bug.cgi?id=50506 + + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + +2010-12-03 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] fix 2 bugs with inspector tests in DRT + https://bugs.webkit.org/show_bug.cgi?id=50492 + + Tasks can outlive the tasklist (even when canceled) so this was + causing a crash when ~WebTask() ran. Avoid this by unregistering + when a task is canceled. + + Also fix an assert when closing devtool windows by copying some + logic from test_shell. + + * DumpRenderTree/chromium/Task.cpp: + (WebTask::~WebTask): + (TaskList::revokeAll): + * DumpRenderTree/chromium/Task.h: Canceling a task now removes it from + the tasklist (since the task can outlive the tasklist). + * DumpRenderTree/chromium/TestShell.h: + (TestShell::devToolsWebView): + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::~WebViewHost): Don't load about:blank when closing + a window if the window has devtools loaded. This avoids an + ASSERT and matches test_shell. + +2010-12-06 Alejandro G. Castro + + Reviewed by Martin Robinson. + + [GTK] Fix GtkLauncher.c style, use webkit style + https://bugs.webkit.org/show_bug.cgi?id=50542 + + * GtkLauncher/main.c: + (activateUriEntryCb): + (updateTitle): + (linkHoverCb): + (notifyTitleCb): + (notifyLoadStatusCb): + (notifyProgressCb): + (destroyCb): + (goBackCb): + (goForwardCb): + (create_webViewCb): + (webViewReadyCb): + (closeWebViewCb): + (createBrowser): + (createStatusbar): + (createToolbar): + (createWindow): + (main): + +2010-12-04 Antonio Gomes + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk (Part II) + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Moved more private method declared with WEBKIT_API to + DumpRenderTreeSupportGtk, since they were only being used by DRT. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::addOriginAccessWhitelistEntry): + (LayoutTestController::execCommand): + (LayoutTestController::isCommandEnabled): + +2010-12-04 Antonio Gomes + + Reviewed by Andreas Kling. + + Removed extern webkit_web_view_set_group_name from gtk/DumpRenderTree.cpp + + Method was removed by http://trac.webkit.org/changeset/71604 + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + +2010-12-05 Alejandro G. Castro + + Reviewed by Xan Lopez. + + [GTK] Fix compilation warnings reported by clang + https://bugs.webkit.org/show_bug.cgi?id=50252 + + * GtkLauncher/main.c: + (create_window): The create_statusbar function does not have + parameters. + +2010-12-05 Robert Hogan + + Reviewed by Andreas Kling. + + [Qt] Zero-sized font does not yet work + + Fix fast/text/font-size-zero.html + + Copy other ports by setting minimumFontSize to 0 for DRT runs. + + https://bugs.webkit.org/show_bug.cgi?id=49759 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::WebPage): + +2010-12-04 Sam Weinig + + Reviewed by Jon Honeycutt. + + WebKit2: Need client functions to notify app when the url changes due to a fragment navigation + https://bugs.webkit.org/show_bug.cgi?id=50511 + + Update tools for new didChangeLocationWithinPageForFrame client function (and changed bundle + signature) and added a test for the functionality (PageLoadDidChangeLocationWithinPageForFrame.cpp) + + * MiniBrowser/mac/BrowserWindowController.m: + (didChangeLocationWithinPageForFrame): + (-[BrowserWindowController awakeFromNib]): + (-[BrowserWindowController didChangeLocationWithinPageForFrame:]): + * TestWebKitAPI/PlatformUtilities.cpp: + (TestWebKitAPI::Util::toWK): + * TestWebKitAPI/PlatformUtilities.h: + (TestWebKitAPI::Util::adoptWK): + * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: + * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: Added. + (TestWebKitAPI::nullJavaScriptCallback): + (TestWebKitAPI::didFinishLoadForFrame): + (TestWebKitAPI::didChangeLocationWithinPageForFrame): + (TestWebKitAPI::TEST): + * TestWebKitAPI/Tests/WebKit2/file-with-anchor.html: Added. + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * TestWebKitAPI/win/copy-resources.cmd: + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::didChangeLocationWithinPageForFrame): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + +2010-11-08 Antonio Gomes + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Made the previous calls to webkit_web_frame* functions defined as private + APIs in webkitprivate.h go through DRTSupportGtk. + + * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: + (AccessibilityController::focusedElement): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (dumpFramesAsText): + (resetDefaultsToConsistentValues): + (dump): + (webViewDocumentLoadFinished): + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::counterValueForElementById): + (LayoutTestController::pageNumberForElementById): + (LayoutTestController::numberOfPages): + (LayoutTestController::pauseAnimationAtTimeOnElementWithId): + (LayoutTestController::pauseTransitionAtTimeOnElementWithId): + (LayoutTestController::sampleSVGAnimationForElementAtTime): + (LayoutTestController::numberOfActiveAnimations): + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + (LayoutTestController::markerTextForListItem): + +2010-12-03 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: use pretty text diff output + https://bugs.webkit.org/show_bug.cgi?id=50484 + + Serve *-pretty-diff.html for text diff output. + + * Scripts/webkitpy/tool/commands/data/rebaselineserver/index.html: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: + * Scripts/webkitpy/tool/commands/rebaselineserver.py: + +2010-12-03 Sheriff Bot + + Unreviewed, rolling out r73302. + http://trac.webkit.org/changeset/73302 + https://bugs.webkit.org/show_bug.cgi?id=50499 + + Causes crashes in debug LayoutTests (Requested by xan_ on + #webkit). + + * DumpRenderTree/chromium/AccessibilityUIElement.cpp: + (AccessibilityUIElement::AccessibilityUIElement): + (AccessibilityUIElement::parentElementCallback): + * DumpRenderTree/chromium/AccessibilityUIElement.h: + * DumpRenderTree/chromium/CppBoundClass.cpp: + * DumpRenderTree/chromium/CppBoundClass.h: + +2010-12-03 Sam Weinig + + Reviewed by Maciej Stachowiak. + + Enable for Mac/Windows/WebKit2 builds + + https://bugs.webkit.org/show_bug.cgi?id=50488 + + * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: + (TestWebKitAPI::TEST): Test that the default value of + WKPreferencesGetHyperlinkAuditingEnabled is true. + +2010-12-03 Chris Guillory + + Reviewed by Chris Fleizach. + + Include the FrameView widget of a RenderWidget in the accessibility tree. + https://bugs.webkit.org/show_bug.cgi?id=49106 + + * DumpRenderTree/chromium/AccessibilityUIElement.cpp: + (AccessibilityUIElement::AccessibilityUIElement): + (AccessibilityUIElement::parentElementCallback): + (AccessibilityUIElement::isEqualCallback): + * DumpRenderTree/chromium/AccessibilityUIElement.h: + * DumpRenderTree/chromium/CppBoundClass.cpp: + (CppBoundClass::getFromCppVariant): + * DumpRenderTree/chromium/CppBoundClass.h: + +2010-12-03 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: organize tests by state, add dry run mode + https://bugs.webkit.org/show_bug.cgi?id=50473 + + Group tests in the menu by state, so that it's easier to see after + processing the queue which failed. + + Add support for the --dry-run flag so that it's easier to test changes + such as this (stubs out filesystem and SCM operations). + + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: + * Scripts/webkitpy/tool/commands/rebaselineserver.py: + +2010-12-03 Brady Eidson + + Reviewed by Anders Carlsson. + + Groundwork for and https://bugs.webkit.org/show_bug.cgi?id=50191 + WebKit2 Authentication Support + + Keep these builds working: + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + +2010-12-02 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: move existing baselines + https://bugs.webkit.org/show_bug.cgi?id=50421 + + Implement moving of existing baselines: move all files that are about + to be overwriten by update baselines. + + Also fix a typo in the UI JS. + + * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: + * Scripts/webkitpy/tool/commands/rebaselineserver.py: + * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: + +2010-12-03 Sheriff Bot + + Unreviewed, rolling out r73211. + http://trac.webkit.org/changeset/73211 + https://bugs.webkit.org/show_bug.cgi?id=50450 + + Broke Chromium's "Webkit Win (dbg)(2)" bot. (Requested by + yutak on #webkit). + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + +2010-12-03 Sheriff Bot + + Unreviewed, rolling out r73222. + http://trac.webkit.org/changeset/73222 + https://bugs.webkit.org/show_bug.cgi?id=50449 + + r73211 seemed to break Chromium's "Webkit Win (dbg)(2)" bot. + (Requested by yutak on #webkit). + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-12-03 Sheriff Bot + + Unreviewed, rolling out r73228. + http://trac.webkit.org/changeset/73228 + https://bugs.webkit.org/show_bug.cgi?id=50448 + + r73211 seemed to break Chromium's "Webkit Win (dbg)(2)" bot. + (Requested by yutak on #webkit). + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2010-12-03 Sheriff Bot + + Unreviewed, rolling out r73231. + http://trac.webkit.org/changeset/73231 + https://bugs.webkit.org/show_bug.cgi?id=50443 + + r73211 seemed to broke Chromium's "Webkit Win (dbg)(2)" bot. + (Requested by yutak on #webkit). + + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-12-03 David Levin + + Reviewed by Shinichiro Hamaji. + + check-webkit-style: false positive reported for #if macro + https://bugs.webkit.org/show_bug.cgi?id=48242 + + * Scripts/webkitpy/style/checkers/cpp.py: Adjusted check to avoid + all preprocessor commands. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added test. + +2010-12-02 Eric Seidel + + Reviewed by Adam Barth. + + Update the EWSTools scripts to use modern-style git repos + https://bugs.webkit.org/show_bug.cgi?id=50402 + + * EWSTools/create-webkit-git: + * EWSTools/start-commit-queue.sh: + * EWSTools/start-queue.sh: + +2010-12-02 Simon Fraser + + Fix Chromium Linux plugin tests by not logging + unconditionally from the event handling code. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (handleEventX11): + +2010-12-02 Dirk Pranke + + Reviewed by Tony Chang. + + nrwt multiprocessing - move logic back into run_webkit_tests + + This change moves a bunch of logic that I had put into + message_broker back into run_webkit_tests, in a slightly + different format. WorkerMessageBroker needed to become less aware of + the logic the TestRunner class uses, and more generic. + Eventually the MessageBroker will only do generic messaging and + thread/process-pooling, and (almost) all of the + run-webkit-tests-specific logic will be moved to + run_webkit_tests.py and dump_render_tree_thread.py. + + The biggest changes are that the Broker can now start a single + worker, but the responsibility for starting all of them is pushed + back to the TestRunner (Manager), and the logic for checking if + the threads are done or wedged is moved back to TestRunner. We + also remove WorkerMessageBroker.cleanup (not needed) and + cancel_workers (they have to be cancelled individually). + + The message_broker is now encapsulated inside + TestRunner._run_tests(); it only needs to exist while actually + running the tests. + + Also, delete a bunch of tests in message_broker_unittest that no + longer make much sense. + + This patch depends on bug 50372. + + https://bugs.webkit.org/show_bug.cgi?id=50374 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-12-02 Hayato Ito + + Reviewed by Eric Seidel. + + Refactor test_types's compare_output() method so that it takes a + TestInput object. + + compare_output() will need additional information included in a TestInput + object to support reftests. This change is a pre-requirement of that. + + https://bugs.webkit.org/show_bug.cgi?id=50362 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2010-12-02 Simon Fraser + + Reviewed by Anders Carlsson. + + Add the ability to run script on 'new' and 'paint' in the test plugin + https://bugs.webkit.org/show_bug.cgi?id=50425 + + Add "onnew" and "onpaintevent" attributes to the test plugin, + so that tests can run JS at these times. + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + (pluginAllocate): + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + (NPP_Destroy): + (handleEventCarbon): + (handleEventCocoa): + (NPP_HandleEvent): + +2010-12-02 Sam Weinig + + Fix Qt build. + + * WebKitTestRunner/qt/PlatformWebViewQt.cpp: + (WTR::PlatformWebView::PlatformWebView): + +2010-12-02 Sam Weinig + + Reviewed by Anders Carlsson. + + WebKit2 Preferences should be held off the PageGroup, not the Context + https://bugs.webkit.org/show_bug.cgi?id=50414 + + Update for API changes. + + * WebKitTestRunner/PlatformWebView.h: + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): + (WTR::TestController::initialize): + (WTR::TestController::resetStateToConsistentValues): + * WebKitTestRunner/TestController.h: + * WebKitTestRunner/mac/PlatformWebViewMac.mm: + (WTR::PlatformWebView::PlatformWebView): + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::PlatformWebView::PlatformWebView): + +2010-12-02 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: minor cleanup for multiprocessing work + + This change: + * moves worker naming into TestShellThread, eliminating a + parameter to the constructor and putting the responsibility in + the correct place. + * eliminates the _WorkerState() class in message_broker, because + it turns out that state really needs to be in run_webkit_tests + * renames the Broker classes to be module-private. + * fixes a bunch of minor commenting and whitespace issues to + make subsequent patches a bit clearer. + * Adds a Port hook for default_worker_model() so that we can + accomodate the potential for different worker models on + different ports. + * merge in the fix from 50420 for the brokenness introduced in + bug 50367. + + This patch depends on bug 50367. + + https://bugs.webkit.org/show_bug.cgi?id=50372 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-12-02 Dirk Pranke + + Reviewed by Tony Chang. + + This change is a bunch of cleanup / refactoring of the file + below. It moves a bunch of free functions to methods on the + TestShellThread class, and restructures other methods to be + closer to the structure we'll need for the multiprocessing + rewrite. + + It also makes the logic of --run-singly a *lot* easier to follow + by nestling all of the separate-thread logic into a single + routine. + + There should be no semantic changes in this patch, just cleanup. + + https://bugs.webkit.org/show_bug.cgi?id=50367 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + +2010-12-02 Tony Chang + + Unreviewed, rolling out r73164. + http://trac.webkit.org/changeset/73164 + https://bugs.webkit.org/show_bug.cgi?id=50359 + + broke debugger tests on win + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-11-30 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: add updating of baselines + https://bugs.webkit.org/show_bug.cgi?id=50305 + + Implements updating of baselines, where we copy -actual.* files over + the current -expected.* files. To do this, we need a + _get_actual_result_files method to get test results files and a + _rebaseline_test method to actually do the file copy and SCM operation. + _rebaseline_test logs output into a buffer, this is useful for both + showing result in the UI and for unit tests. + + To make passing around of the various test environment properties + (results directory, filesystem, SCM, etc) easier, add a TestConfig + class for them. + + Moving of existing baselines is not implemented yet, this patch is big + enough as it is. + + * Scripts/webkitpy/common/system/filesystem.py: + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: + * Scripts/webkitpy/tool/commands/rebaselineserver.py: + * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-12-02 Brent Fulgham + + Unreviewed build fix after vcproj updates. + + * DumpRenderTree/win/DumpRenderTreeCairo.vsprops: Make sure + that WIN_CAIRO is defined for this build. + * DumpRenderTree/win/DumpRenderTreePreBuild.cmd: Update file + to reflect new 'Debug_Cairo_CFLite' and 'Release_Cairo_CFLite' + (these were previously 'Debug_Cairo' and 'Release_Cairo' + +2010-12-02 Sam Weinig + + Reviewed by Anders Carlsson. + + WebKit2 needs API to turn on popup blocking + https://bugs.webkit.org/show_bug.cgi?id=50407 + + * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: + (TestWebKitAPI::TEST): + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::resetStateToConsistentValues): + +2010-12-01 Tony Chang + + Reviewed by Ojan Vafai. + + [chromium] force NRWT to use DRT + https://bugs.webkit.org/show_bug.cgi?id=50359 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-12-02 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] DumpRenderTree has two copies of JavaScriptCore + https://bugs.webkit.org/show_bug.cgi?id=49877 + + * GNUmakefile.am: Remove the second copy of JavaScriptCore from the + LDADD list for DumpRenderTree. + +2010-12-02 Sergio Villar Senin + + Unreviewed: Added myself to list of Committers. + + * Scripts/webkitpy/common/config/committers.py: + +2010-12-01 Mihai Parparita + + Reviewed by Adam Barth. + + build-webkit --chromium always updates DEPS and re-generates project files + https://bugs.webkit.org/show_bug.cgi?id=50340 + + Make build-webkit --chromium invoke update-webkit-chromium only when + --update-chromium is passed in, so that we don't add 20 seconds to all + builds. + + Making all invocations update was added with r61883, with the goal of + making EWS bots always update. The bots will switch to using this flag + (as will all other webkit-patch build steps) so nothing should change + for them. + + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/common/config/ports.py: + * Scripts/webkitpy/common/config/ports_unittest.py: + +2010-12-01 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add a --dry-run / -n flag + https://bugs.webkit.org/show_bug.cgi?id=50045 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-12-01 Steve Falkenburg + + Reviewed by Adam Roben. + + WinCairo build should not use link-time code generation (LTCG) + https://bugs.webkit.org/show_bug.cgi?id=50353 + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/win/DumpRenderTree.vcproj: + * DumpRenderTree/win/ImageDiff.vcproj: + * FindSafari/FindSafari.vcproj: + * MiniBrowser/MiniBrowser.vcproj: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * WebKitAPITest/WebKitAPITest.vcproj: + * WebKitLauncherWin/WebKitLauncherWin.vcproj: + * WebKitTestRunner/win/InjectedBundle.vcproj: + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + * WinLauncher/WinLauncher.vcproj: + * record-memory-win/record-memory-win.vcproj: + +2010-12-01 Martin Robinson + + Touch GetUserAgentWithNullNPPFromNPPNew.cpp in an effort to force + a rebuild of TestNetscapePlugin.la on GTK+. It seems that simply + adding the file to the sources list was not enough to force the rebuild. + + * DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp: + Remove an empty line at the end of this file to force a rebuild. + +2010-12-01 Sam Weinig + + Fix windows build. + + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + +2010-12-01 Martin Robinson + + Add missing file to the TestNetscapePlugin sources list after r73057. + + * GNUmakefile.am: Add missing file. + +2010-12-01 Sam Weinig + + Reviewed by Anders Carlsson. + + Add PageGrouping to WebKit2 API + https://bugs.webkit.org/show_bug.cgi?id=50332 + + - Update testing harnesses to deal with new PageGroup API. + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (WKBundleInitialize): + * TestWebKitAPI/InjectedBundleController.cpp: + (TestWebKitAPI::InjectedBundleController::initialize): + (TestWebKitAPI::InjectedBundleController::didInitializePageGroup): + (TestWebKitAPI::InjectedBundleController::initializeTestNamed): + * TestWebKitAPI/InjectedBundleController.h: + * TestWebKitAPI/InjectedBundleTest.h: + (TestWebKitAPI::InjectedBundleTest::initialize): + (TestWebKitAPI::InjectedBundleTest::didInitializePageGroup): + * TestWebKitAPI/PlatformUtilities.cpp: + (TestWebKitAPI::Util::createContextForInjectedBundleTest): + * TestWebKitAPI/PlatformUtilities.h: + * TestWebKitAPI/PlatformWebView.h: + * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: + (TestWebKitAPI::TEST): + * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp: + (TestWebKitAPI::DocumentStartUserScriptAlertCrashTest::initialize): + * TestWebKitAPI/mac/PlatformWebViewMac.mm: + (TestWebKitAPI::PlatformWebView::PlatformWebView): + * TestWebKitAPI/win/PlatformWebViewWin.cpp: + (TestWebKitAPI::PlatformWebView::PlatformWebView): + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::didInitializePageGroup): + (WTR::InjectedBundle::initialize): + (WTR::InjectedBundle::beginTesting): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + (WTR::InjectedBundle::pageGroup): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::addUserScript): + (WTR::LayoutTestController::addUserStyleSheet): + (WTR::LayoutTestController::setXSSAuditorEnabled): + * WebKitTestRunner/TestController.cpp: + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::PlatformWebView::PlatformWebView): + +2010-12-01 Steve Falkenburg + + Reviewed by Adam Roben. + + vcproj changes can't be applied cleanly by the Windows EWS bot + https://bugs.webkit.org/show_bug.cgi?id=50328 + + * CLWrapper/CLWrapper.sln: Modified property svn:eol-style. + * CLWrapper/CLWrapper.vcproj: Modified property svn:eol-style. + * DumpRenderTree/DumpRenderTree.sln: Modified property svn:eol-style. + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops: Added property svn:eol-style. + * DumpRenderTree/win/DumpRenderTree.vcproj: Modified property svn:eol-style. + * DumpRenderTree/win/DumpRenderTreeApple.vsprops: Added property svn:eol-style. + * DumpRenderTree/win/DumpRenderTreeCFLite.vsprops: Added property svn:eol-style. + * DumpRenderTree/win/DumpRenderTreeCairo.vsprops: Added property svn:eol-style. + * DumpRenderTree/win/DumpRenderTreeCommon.vsprops: Added property svn:eol-style. + * DumpRenderTree/win/ImageDiff.vcproj: Modified property svn:eol-style. + * DumpRenderTree/win/ImageDiffCommon.vsprops: Added property svn:eol-style. + * FindSafari/FindSafari.vcproj: Modified property svn:eol-style. + * FindSafari/FindSafariCommon.vsprops: Added property svn:eol-style. + * MIDLWrapper/MIDLWrapper.sln: Modified property svn:eol-style. + * MIDLWrapper/MIDLWrapper.vcproj: Modified property svn:eol-style. + * MiniBrowser/Configurations/MiniBrowserCFLite.vsprops: Added property svn:eol-style. + * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: Added property svn:eol-style. + * MiniBrowser/Configurations/MiniBrowserCoreFoundation.vsprops: Added property svn:eol-style. + * MiniBrowser/MiniBrowser.vcproj: Added property svn:eol-style. + * TestWebKitAPI/Configurations/TestWebKitAPICFLite.vsprops: Added property svn:eol-style. + * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops: Added property svn:eol-style. + * TestWebKitAPI/Configurations/TestWebKitAPICoreFoundation.vsprops: Added property svn:eol-style. + * TestWebKitAPI/win/TestWebKitAPI.sln: Added property svn:eol-style. + * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added property svn:eol-style. + * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: Added property svn:eol-style. + * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops: Added property svn:eol-style. + * WebKitAPITest/WebKitAPITest.vcproj: Added property svn:eol-style. + * WebKitAPITest/WebKitAPITestCommon.vsprops: Added property svn:eol-style. + * WebKitLauncherWin/WebKitLauncherWin.vcproj: Modified property svn:eol-style. + * WebKitLauncherWin/WebKitLauncherWinCommon.vsprops: Added property svn:eol-style. + * WebKitTestRunner/Configurations/InjectedBundleCFLite.vsprops: Added property svn:eol-style. + * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: Added property svn:eol-style. + * WebKitTestRunner/Configurations/InjectedBundleCoreFoundation.vsprops: Added property svn:eol-style. + * WebKitTestRunner/Configurations/WebKitTestRunnerCFLite.vsprops: Added property svn:eol-style. + * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops: Added property svn:eol-style. + * WebKitTestRunner/Configurations/WebKitTestRunnerCoreFoundation.vsprops: Added property svn:eol-style. + * WebKitTestRunner/WebKitTestRunner.sln: Added property svn:eol-style. + * WebKitTestRunner/win/InjectedBundle.vcproj: Added property svn:eol-style. + * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: Added property svn:eol-style. + * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops: Added property svn:eol-style. + * WebKitTestRunner/win/WebKitTestRunner.vcproj: Added property svn:eol-style. + * WinLauncher/WinLauncher.vcproj: Modified property svn:eol-style. + * WinLauncher/WinLauncherCommon.vsprops: Added property svn:eol-style. + * record-memory-win/record-memory-win-common.vsprops: Added property svn:eol-style. + * record-memory-win/record-memory-win.vcproj: Modified property svn:eol-style. + +2010-12-01 Anders Carlsson + + Reviewed by Darin Adler. + + Return a correct user agent if NPN_UserAgent is called with a null NPP from NPP_New. + https://bugs.webkit.org/show_bug.cgi?id=50336 + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + Add new test. + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: + (PluginTest::NPP_New): + Add default implementation/ + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: + * DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp: Added. + (GetUserAgentWithNullNPPFromNPPNew::GetUserAgentWithNullNPPFromNPPNew): + (GetUserAgentWithNullNPPFromNPPNew::NPP_New): + Get the user agent. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + Call PluginTest::NPP_New. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + Add new files. + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_new_instance): + Call PluginTest::NPP_New. + +2010-12-01 Kevin Ollivier + + [wx] Build fixes after recent trunk changes. + + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::findString): + * wx/build/settings.py: + +2010-12-01 Dan Bernstein + + Reviewed by Darin Adler. + + WebKitTestRunner needs layoutTestController.findString + https://bugs.webkit.org/show_bug.cgi?id=50238 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added findString(). + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::findString): Updated signature for autogenerated bindings. + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Ditto. + +2010-12-01 Steve Falkenburg + + Try using svn:eol-style native on a vcproj file. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: Modified property svn:eol-style. + +2010-12-01 Patrick Gansterer + + Reviewed by Adam Roben. + + [WINCE] Add WinCELauncher + https://bugs.webkit.org/show_bug.cgi?id=50217 + + * WinCELauncher/main.cpp: Added. + +2010-11-30 Benjamin Poulain + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Implement layoutTestController.findString + https://bugs.webkit.org/show_bug.cgi?id=50236 + + Add the missing function to the LayoutTestController. + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::findString): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-11-30 Tony Chang + + Reviewed by Adam Barth. + + [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn + https://bugs.webkit.org/show_bug.cgi?id=49036 + + * DumpRenderTree/chromium/LayoutTestController.cpp: Use IsNumber instead of IsInt32 + for CppVariants. + (LayoutTestController::cppVariantToBool): + (LayoutTestController::cppVariantToInt32): + (LayoutTestController::setDatabaseQuota): + (LayoutTestController::evaluateInWebInspector): + (LayoutTestController::setMockGeolocationError): + +2010-11-30 Eric Seidel + + Reviewed by Tony Chang. + + update-webkit should call git fetch before git svn rebase + https://bugs.webkit.org/show_bug.cgi?id=50273 + + After discussion on webkit-dev, we've decided to move the "default" + git setup to pulling updates from git.webkit.org in preference + to rebuilding the local svn index using git svn fetch every time. + + This change should have no effect on people using the "old" git setup + and should dramatically increase the speed of updates for those using + the "new" git setup along with update-webkit. I'm about to move the + EWS and other queues over to this setup once this lands. + + * Scripts/update-webkit: + +2010-11-30 Mario Sanchez Prada + + Reviewed by Xan Lopez. + + GTK: AX: implement press in DRT + https://bugs.webkit.org/show_bug.cgi?id=36146 + + Implement AccessibilityUIElement::press() for GTK. + + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (AccessibilityUIElement::press): Implemented. + +2010-11-29 Mihai Parparita + + Reviewed by Tony Chang. + + config.webkit_base_dir returns a path with a trailing slash + https://bugs.webkit.org/show_bug.cgi?id=50197 + + config.webkit_base_dir() should return a path without a trailing slash, + like all the other methods that return paths. + + Undoes MockFileSytem changes by r72640, since they're no longer + necessary for GetBaselinesTest to pass. + + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/config.py: + * Scripts/webkitpy/layout_tests/port/config_unittest.py: + +2010-11-30 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: baseline display tweaks + https://bugs.webkit.org/show_bug.cgi?id=50207 + + Determine which baselines were used when running the tests and highlight + them in the UI. Sort platform names alphabetically. + + Also makes the server URL be launched in the user's browser + automatically. + + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/util.js: + * Scripts/webkitpy/tool/commands/rebaselineserver.py: + * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: + +2010-11-30 Dan Bernstein + + Reviewed by Anders Carlsson. + + WebKitTestRunner needs layoutTestController.findString + https://bugs.webkit.org/show_bug.cgi?id=50238 + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::findString): Added. + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + +2010-11-30 Steve Falkenburg + + Reviewed by Adam Roben. + + All projects on Windows should use cmd files for build events + https://bugs.webkit.org/show_bug.cgi?id=50213 + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops: + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPostBuild.cmd: Added. + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPreBuild.cmd: Added. + * DumpRenderTree/win/DumpRenderTreeCommon.vsprops: + * DumpRenderTree/win/DumpRenderTreePostBuild.cmd: Added. + * DumpRenderTree/win/DumpRenderTreePreBuild.cmd: Added. + * DumpRenderTree/win/ImageDiffCommon.vsprops: + * DumpRenderTree/win/ImageDiffPostBuild.cmd: Added. + * DumpRenderTree/win/ImageDiffPreBuild.cmd: Added. + * MiniBrowser/Configurations/MiniBrowserCFLite.vsprops: + * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: + * MiniBrowser/Configurations/MiniBrowserCoreFoundation.vsprops: + * MiniBrowser/MiniBrowserPostBuild.cmd: Added. + * MiniBrowser/MiniBrowserPreBuild.cmd: Added. + * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops: + * TestWebKitAPI/win/TestWebKitAPIPostBuild.cmd: Added. + * TestWebKitAPI/win/TestWebKitAPIPreBuild.cmd: Added. + * WebKitAPITest/WebKitAPITestCommon.vsprops: + * WebKitAPITest/WebKitAPITestPostBuild.cmd: Added. + * WebKitAPITest/WebKitAPITestPreBuild.cmd: Added. + * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: + * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops: + * WebKitTestRunner/win/InjectedBundlePostBuild.cmd: Added. + * WebKitTestRunner/win/InjectedBundlePreBuild.cmd: Added. + * WebKitTestRunner/win/WebKitTestRunnerPostBuild.cmd: Added. + * WebKitTestRunner/win/WebKitTestRunnerPreBuild.cmd: Added. + * WinLauncher/WinLauncherCommon.vsprops: + * WinLauncher/WinLauncherPostBuild.cmd: Added. + * WinLauncher/WinLauncherPreBuild.cmd: Added. + +2010-11-29 Dan Bernstein + + GTK DumpRenderTree build fix after r72887. + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::findString): + +2010-11-29 Dan Bernstein + + Windows DumpRenderTree build fix after r72887. + + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::findString): Added empty implementation. + +2010-11-29 Dan Bernstein + + Reviewed by Darin Adler. + + DumpRenderTree changes for testing the text search API. + https://bugs.webkit.org/show_bug.cgi?id=50038 + + * DumpRenderTree/LayoutTestController.cpp: + (findStringCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::findString): + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController find:]): + +2010-11-29 Johnny Ding + + Unreviewed: Add myself to the list of Committers. + + * Scripts/webkitpy/common/config/committers.py: + +2010-11-29 Mark Rowe + + Reviewed by Adele Peterson. + + DumpRenderTree fails to build. + + * DumpRenderTree/mac/PerlSupport/Makefile: Skip generating wrappers. + +2010-11-29 Mark Rowe + + Reviewed by Adele Peterson. + + DumpRenderTree fails to build. + + * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportPregenerated.pm: Renamed from WebKitTools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm. + * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c: Renamed from WebKitTools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapTiger.c. + * DumpRenderTree/mac/PerlSupport/Makefile: + +2010-11-29 Mario Sanchez Prada + + Reviewed by Martin Robinson. + + [GTK] Null-check needed in DRT's AccessibilityUIElement::allAtributes() + https://bugs.webkit.org/show_bug.cgi?id=50154 + + Added missing checks to allAttributes(). + + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (AccessibilityUIElement::allAttributes): Added missing checks. + +2010-11-29 Laszlo Gombos + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Allow pre-generation for package builds for WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=50139 + + Use a build variable for the generated directory path and set the + value based on CONFIG just like for WebKit1. + + For non-package builds use a relative base path for the + genrated directory just like for WebKit1. + + * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: + * WebKitTestRunner/qt/WebKitTestRunner.pro: + +2010-11-28 Laszlo Gombos + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Move some build logic from Qt to platform independent code + https://bugs.webkit.org/show_bug.cgi?id=50134 + + Create target directories inside generate-forwarding-headers.pl. + + * Scripts/generate-forwarding-headers.pl: + +2010-11-24 Nicolas Dufresne + + Reviewed by Martin Robinson. + + [GTK] Windowless plugins gets broken key input + https://bugs.webkit.org/show_bug.cgi?id=49927 + + Convert the XEvent::keycode to ASCII before printing it. Not + doing this was causing false positive in + plugins/keyboard-events.html. + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (keycode_to_char): + (webkit_test_plugin_handle_event): + +2010-11-24 Jan Erik Hanssen + + Reviewed by Antonio Gomes. + + [Qt] Html autofocus not working with QGraphicsWebView + https://bugs.webkit.org/show_bug.cgi?id=43169 + + Tell the scene to set the webview item as the currently + focused item. This makes the input field with autofocus get + focus as it should. + + * QtTestBrowser/webview.cpp: + (WebViewGraphicsBased::WebViewGraphicsBased): + +2010-11-24 Dirk Pranke + + Reviewed by Tony Chang. + + nrwt - clean up create_driver interface and print out the + command line used for DumpRenderTree/TestShell. + + This patch adds a driver_cmd_line() call to the Port class in + order to retrive the command line to print it out (as part of + --print config). + + In addition, this patch cleans up the Port.create_driver() + signature and the Driver constructor interface to take a worker + number and no longer require the image_path argument (Chromium's + drivers now synthesize the image_path from the worker number + internally). + + https://bugs.webkit.org/show_bug.cgi?id=49934 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/base_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + * Scripts/webkitpy/layout_tests/port/dryrun.py: + * Scripts/webkitpy/layout_tests/port/port_testcase.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-11-24 Ojan Vafai + + Reviewed by Tony Chang. + + [chromium] improve memory usage for test results server and store fewer runs + https://bugs.webkit.org/show_bug.cgi?id=50035 + + Store fewer runs and don't pass full files around when we only need bools. + Greatly improves error rates on test-results.appspot.com. + + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * TestResultServer/handlers/testfilehandler.py: + * TestResultServer/model/dashboardfile.py: + * TestResultServer/model/jsonresults.py: + +2010-11-24 Dirk Pranke + + Reviewed by Tony Chang. + + This patch implements the first part of the manager side of the + Broker objects - it handles creating threads, waiting for them + to complete, and running a single-threaded loop as well. + + https://bugs.webkit.org/show_bug.cgi?id=49779 + + * Scripts/webkitpy/layout_tests/layout_package/message_broker.py: + * Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-11-24 Mihai Parparita + + Reviewed by David Levin. + + DRT should not generate pixel output for text/plain tests + https://bugs.webkit.org/show_bug.cgi?id=50002 + + Modify Mac, Windows and GTK DRT implementations to disable pixel output + when encountering a text/plain response (the Chromium one already does + this, and none of the other ports special-case text/plain output in + the first place). + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (dump): + * DumpRenderTree/mac/DumpRenderTree.mm: + (dump): + * DumpRenderTree/win/DumpRenderTree.cpp: + (dump): + +2010-11-24 Andras Becsi + + Unreviewed. + + Add my other email address to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2010-11-24 Andras Becsi + + Reviewed by Csaba Osztrogonác. + + Make build-webkit --minimal build with ENABLE_INSPECTOR=0 + https://bugs.webkit.org/show_bug.cgi?id=49975 + + * Scripts/build-webkit: Add ENABLE_INSPECTOR define to features, + to enable the script to define it 0 in case of a minimal build. + +2010-11-24 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient + https://bugs.webkit.org/show_bug.cgi?id=49143 + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (createWebView): Call the new connectEditingCallbacks function. + * DumpRenderTree/gtk/EditingCallbacks.cpp: Added. + (dumpNodePath): + (dumpRange): + (insertActionString): + (selectionAffinityString): + (shouldBeginEditing): + (shouldEndEditing): + (shouldInsertNode): + (shouldInsertText): + (shouldDeleteRange): + (shouldShowDeleteInterfaceForElement): + (shouldChangeSelectedRange): + (shouldApplyStyle): + (editingBegan): + (userChangedContents): + (editingEnded): + (selectionChanged): + (connectEditingCallbacks): + * DumpRenderTree/gtk/EditingCallbacks.h: Added. + * GNUmakefile.am: Added EditingCallbacks.{h,cpp} to the source list. + +2010-11-24 Yi Shen + + Reviewed by Andreas Kling. + + [Qt] Make QtTestBrowser remember the selected user agent + https://bugs.webkit.org/show_bug.cgi?id=50021 + + Set user agent for a new page by using the old page's + + * QtTestBrowser/mainwindow.cpp: + (MainWindow::setPage): + +2010-11-24 Patrick Gansterer + + Reviewed by Csaba Osztrogonác. + + Remove Bakefile build system files + https://bugs.webkit.org/show_bug.cgi?id=49983 + + r53757 only removed the content, but not the files. + This patch removes that empty files. + + * DumpRenderTree/wx/DumpRenderTree.bkl: Removed. + * wx/browser/browser.bkl: Removed. + * wx/build-wxwebkit: Removed. + +2010-11-23 Dirk Pranke + + Reviewed by Tony Chang. + + This patch cleans up the logic used to shard tests into groups a + bit and adds the --worker-model flag to NRWT. The flag is only + used at the moment to control whether to run single-threaded or + not, but eventually will also allow toggling between threads and + processes. + + Also add a minor cleanup with _test_is_slow(), which just + eliminates some repetition and gives slightly better encapsulation. + + https://bugs.webkit.org/show_bug.cgi?id=49773 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-11-23 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: list current baselines and platforms + https://bugs.webkit.org/show_bug.cgi?id=49991 + + List existing baselines (with Trac links) for tests. + + Add dropdowns for choosing with platform baselines to target (and what + to do with existing ones). + + Also fix MockFileSystem.join to behave more like os.path.join (unit + test was ending up with two consecutive slashes in a layout test + path). + + * Scripts/webkitpy/common/system/filesystem_mock.py: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/index.html: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/util.js: + * Scripts/webkitpy/tool/commands/rebaselineserver.py: + * Scripts/webkitpy/tool/commands/rebaselineserver_unittest.py: Added. + +2010-11-23 Ojan Vafai + + Reviewed by Tony Chang. + + remove timeout argument to urlopen + https://bugs.webkit.org/show_bug.cgi?id=49995 + + Apparently the version of python we have on the bots doesn't accept a timeout argument. + + * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py: + +2010-11-23 Sheriff Bot + + Unreviewed, rolling out r72628. + http://trac.webkit.org/changeset/72628 + https://bugs.webkit.org/show_bug.cgi?id=49994 + + This patch is causing layout-test failtures on GTK Linux + 64-bit Debug (Requested by ctguil on #webkit). + + * DumpRenderTree/chromium/AccessibilityUIElement.cpp: + (AccessibilityUIElement::AccessibilityUIElement): + (AccessibilityUIElement::parentElementCallback): + * DumpRenderTree/chromium/AccessibilityUIElement.h: + * DumpRenderTree/chromium/CppBoundClass.cpp: + * DumpRenderTree/chromium/CppBoundClass.h: + +2010-11-22 Ojan Vafai + + Reviewed by Tony Chang. + + speculative fix for upload errors: stop using mechanize to upload to test-results.appspot.com + https://bugs.webkit.org/show_bug.cgi?id=49944 + + * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py: + +2010-11-23 Chris Guillory + + Reviewed by Dimitri Glazkov. + + Include the FrameView widget of a RenderWidget in the accessibility tree. + https://bugs.webkit.org/show_bug.cgi?id=49106 + + * DumpRenderTree/chromium/AccessibilityUIElement.cpp: + (AccessibilityUIElement::AccessibilityUIElement): + (AccessibilityUIElement::parentElementCallback): + (AccessibilityUIElement::isEqualCallback): + * DumpRenderTree/chromium/AccessibilityUIElement.h: + * DumpRenderTree/chromium/CppBoundClass.cpp: + (CppBoundClass::getFromCppVariant): + * DumpRenderTree/chromium/CppBoundClass.h: + +2010-11-23 Alex Grilo + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Add tiled backing store to EWebLauncher + https://bugs.webkit.org/show_bug.cgi?id=45777 + + Allow EWebLauncher to choose between single and tiled backing store + + * EWebLauncher/main.c: + (on_key_down): + (browserCreate): + (main): + +2010-11-23 Simon Hausmann + + Reviewed by Tor Arne Vestbø. + + [Qt] Review the setUserPermission & friends API + https://bugs.webkit.org/show_bug.cgi?id=46810 + + Renamed requestPermissionFromUser to featurePermissionRequested + and cancelRequestsForPermission to featurePermissionRequestCanceled. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::WebPage): + * QtTestBrowser/webpage.cpp: + (WebPage::WebPage): + (WebPage::featurePermissionRequestCanceled): + * QtTestBrowser/webpage.h: + +2010-11-23 Simon Hausmann + + Reviewed by Tor Arne Vestbø. + + [Qt] Review the setUserPermission & friends API + https://bugs.webkit.org/show_bug.cgi?id=46810 + + Rename setUserPermission to setFeaturePermission + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::requestPermission): + (WebCore::WebPage::permissionSet): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::grantDesktopNotificationPermission): + * QtTestBrowser/webpage.cpp: + (WebPage::requestPermission): + +2010-11-23 Simon Hausmann + + Reviewed by Tor Arne Vestbø. + + [Qt] Review the setUserPermission & friends API + https://bugs.webkit.org/show_bug.cgi?id=46810 + + Rename PermissionDomain to Feature, NotificationsPermissionDomain to Notifications + and GeolocationPermissionDomain to Geolocation. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::WebPage): + (WebCore::WebPage::requestPermission): + (WebCore::WebPage::cancelPermission): + (WebCore::WebPage::permissionSet): + (WebCore::DumpRenderTree::geolocationPermissionSet): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::grantDesktopNotificationPermission): + * QtTestBrowser/webpage.cpp: + (WebPage::WebPage): + (WebPage::requestPermission): + (WebPage::cancelRequestsForPermission): + * QtTestBrowser/webpage.h: + +2010-11-23 Simon Hausmann + + Reviewed by Tor Arne Vestbø. + + [Qt] Review the setUserPermission & friends API + https://bugs.webkit.org/show_bug.cgi?id=46810 + + Add a ByUser suffix to PermissionGranted/Denied. In the future + we can add PermissionGrantedByDefault. + + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::requestPermission): + (WebCore::WebPage::permissionSet): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::grantDesktopNotificationPermission): + * QtTestBrowser/webpage.cpp: + (WebPage::requestPermission): + +2010-11-18 Satish Sampath + + Reviewed by Jeremy Orlow. + + For speech input event, send an event object containing all the recognition results and metadata. + https://bugs.webkit.org/show_bug.cgi?id=49736 + + Updated DRT by renaming the mock result method on all platforms to the new signature. + + * DumpRenderTree/LayoutTestController.cpp: + (addMockSpeechInputResultCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::addMockSpeechInputResult): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::addMockSpeechInputResult): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::addMockSpeechInputResult): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::addMockSpeechInputResult): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::addMockSpeechInputResult): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::addMockSpeechInputResult): + +2010-11-22 Dirk Pranke + + Reviewed by Tony Chang. + + Fix some spacing issues with log messages with + new-run-webkit-tests --verbose. + + https://bugs.webkit.org/show_bug.cgi?id=49936 + + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + +2010-11-22 Ojan Vafai + + Reviewed by Adam Barth. + + update scm to work with different remote branches + https://bugs.webkit.org/show_bug.cgi?id=49949 + + This works if there are multiple svn tracking branches + and/or if the tracking branch is refs/remots/origin/master + instead of refs/remotes/trunk which is the direction we're trying + to head since that makes fetches faster. + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + +2010-11-22 Hayato Ito + + Reviewed by Shinichiro Hamaji. + + Ignore reference files which will be used by reftests when collecting + test cases. + https://bugs.webkit.org/show_bug.cgi?id=49835 + + * Scripts/webkitpy/layout_tests/port/test_files.py: + * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: + +2010-11-22 Adam Roben + + Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files + + Apple's Windows build allows placing header files and import libraries for WebKit's + dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the + $WebKitLibrariesDir environment variable. This is both required for production builds and + convenient for Apple-internal developer builds. Apple's production builds also require that + WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production + builds, the files are copied into that directory tree by the + WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the + copying is done by + JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make. + + This .vsprops copying is problematic in one very important case: when a developer updates + their source tree and then tries to build. Visual Studio only reads .vsprops files when a + project is first loaded. So, when Visual Studio is first opened after the .vsprops files are + updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a + build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into + $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build + will proceed with out-of-date .vsprops files, which will likely result in a build failure. + + To fix this, we now use normal relative paths to access the .vsprops files in the source + tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment + variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is + unset, so the normal relative paths are used to read the .vsprops files out of the source + tree directly. In production builds, this environment variable is set to a fake directory + that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path + is resolved. + + For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops: + + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops + + In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the + files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds, + JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to + "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for + FeatureDefines.vsprops becomes: + + $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops + + which resolves to: + + $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops + + (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3" + actually exist since they are matched by an equal number of ".." path components.) + + Note that Visual Studio still won't pick up changes made to .vsprops files while Visual + Studio is open, but that problem hasn't seemed to cause developers many headaches so far. + + Fixes Windows build fails mysteriously when .vsprops files are + updated + + Reviewed by Dave Hyatt. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/win/DumpRenderTree.vcproj: + * DumpRenderTree/win/ImageDiff.vcproj: + * FindSafari/FindSafari.vcproj: + * MiniBrowser/MiniBrowser.vcproj: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: + * WebKitAPITest/WebKitAPITest.vcproj: + * WebKitLauncherWin/WebKitLauncherWin.vcproj: + * WebKitTestRunner/win/InjectedBundle.vcproj: + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + * WinLauncher/WinLauncher.vcproj: + * record-memory-win/record-memory-win.vcproj: + Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops + files. + +2010-11-22 Adam Roben + + Make it possible to run tests on Windows without Visual Studio or VC++ + Express installed + + webkitdir.pm::setupCygwinEnv dies when Visual Studio and VC++ Express + are not installed. But this function doesn't need to be called when we + already have a build available and are just trying to run the tests. + + Fixes New Windows 7 bot can't run tests + because Visual Studio/VC++ Express aren't installed + + Reviewed by Dave Hyatt. + + * Scripts/webkitdirs.pm: + (determineConfigurationForVisualStudio): Don't call setupCygwinEnv, as + it is not needed by this function. Also added a FIXME. + + (usingVisualStudioExpress): Call setupCygwinEnv directly rather than + relying on determineConfigurationForVisualStudio doing it. + +2010-11-19 Hayato Ito + + Reviewed by Shinichiro Hamaji. + + Simplify Driver.run_test() so that it takes only one parameter, TestInput. + + https://bugs.webkit.org/show_bug.cgi?id=49812 + + * Scripts/webkitpy/layout_tests/driver_test.py: + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/base_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/dryrun.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-11-22 Hayato Ito + + Reviewed by Tony Chang. + + [NRWT] Retry a few times in reading a png image to avoid a race condition. + + https://bugs.webkit.org/show_bug.cgi?id=49924 + + * Scripts/webkitpy/layout_tests/port/chromium.py: + +2010-11-22 João Paulo Rechi Vita + + Reviewed by Kenneth Rohde Christiansen. + + Fix EWebLauncher zoom discretization + https://bugs.webkit.org/show_bug.cgi?id=49810 + + * EWebLauncher/main.c: + (nearest_zoom_level_get): + (zoom_level_set): + (on_load_finished): + (on_key_down): + +2010-11-21 Sam Weinig + + Rubber-stamped by Dan Bernstein. + + Fix ~300 WebKit2 tests by enabling developer extras preference. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::resetStateToConsistentValues): + +2010-11-21 Sam Weinig + + Reviewed by Dan Bernstein. + + Textareas should be resizable by default + https://bugs.webkit.org/show_bug.cgi?id=49892 + + * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: + * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: Added. + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + Add preferences test. + +2010-11-19 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: checksum-only differences and prefetching + https://bugs.webkit.org/show_bug.cgi?id=49841 + + Add support for image test results where the only difference is in the + checksum. + + Add prefetching of the image results from the next test. + + * Scripts/webkitpy/tool/commands/data/rebaselineserver/index.html: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.css: + * Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js: + +2010-11-19 Dirk Pranke + + Reviewed by Tony Chang. + + nrwt multiprocessing - add 'worker number' concept, move stuff to worker thread + + Add the 'worker number' and 'worker name' concepts to the + TestShellThread objects, and move test_types and test_args from + the TestRunner to the TestShellThread. + + https://bugs.webkit.org/show_bug.cgi?id=49768 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-11-19 Dirk Pranke + + Reviewed by Ojan Vafai. + + Do some minor cleanup and bug fixing. + + https://bugs.webkit.org/show_bug.cgi?id=49777 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-11-19 Dirk Pranke + + Reviewed by Ojan Vafai. + + nrwt - config.build_directory() is busted + + Fixes a typo that was causing us to usually return the top level + directory WebKitBuild instead of WebKitBuild/{Debug,Release}. The + bug was hidden by test stubs that were too simplistic :(. + + https://bugs.webkit.org/show_bug.cgi?id=49815 + + * Scripts/webkitpy/common/system/executive_mock.py: + * Scripts/webkitpy/layout_tests/port/config.py: + * Scripts/webkitpy/layout_tests/port/config_unittest.py: + +2010-11-19 Steve Falkenburg + + Reviewed by Adam Roben. + + Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files + https://bugs.webkit.org/show_bug.cgi?id=49819 + + * DumpRenderTree/DumpRenderTree.sln: + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/win/DumpRenderTree.vcproj: + * DumpRenderTree/win/ImageDiff.vcproj: + * FindSafari/FindSafari.vcproj: + * MiniBrowser/MiniBrowser.vcproj: + * TestWebKitAPI/win/TestWebKitAPI.sln: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: + * WebKitAPITest/WebKitAPITest.vcproj: + * WebKitLauncherWin/WebKitLauncherWin.vcproj: + * WebKitTestRunner/win/InjectedBundle.vcproj: + * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + * WinLauncher/WinLauncher.vcproj: + * record-memory-win/record-memory-win.vcproj: + +2010-11-19 Adam Roben + + Add some more Windows slaves + + This is probably more than we will be using in the immediate future, + but having some extra slave names makes experimenting with different + configurations easier. + + Reviewed by Jon Honeycutt. + + * BuildSlaveSupport/build.webkit.org-config/config.json: Added 5 more + Windows slaves and distributed them among the three different Test + builders. + +2010-11-19 Kinuko Yasuda + + Reviewed by Ojan Vafai. + + [Chromium] REGRESSION: Record actual test results in the JSON result summary for non-layout tests + https://bugs.webkit.org/show_bug.cgi?id=49702 + + Re-landing r72357 with a test fix. + + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: + +2010-11-19 Avi Drissman + + Reviewed by Antonio Gomes. + + Complete support for Unix editing mode + https://bugs.webkit.org/show_bug.cgi?id=49757 + + * DumpRenderTree/LayoutTestController.cpp: + (setEditingBehaviorCallback): + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::setEditingBehavior): + +2010-11-19 Adam Roben + + Fix run-javascriptcore-tests when there's a space in the path to + testapi + + Reviewed by Sam Weinig. + + * Scripts/run-javascriptcore-tests: Use an indirect object when calling + system() to force it to interpret spaces in the path correctly. + +2010-11-19 Adam Roben + + Update scripts for .exe name changes after r72327 + + As of r72327, the "_debug" suffix is only used in Debug_All builds. + + Reviewed by Sam Weinig. + + * Scripts/run-javascriptcore-tests: + (testapiPath): + + * Scripts/sunspider-compare-results: + (pathToBuiltJSC): + + * Scripts/webkitdirs.pm: + (jscPath): + (safariPath): + +2010-11-19 Steve Falkenburg + + Reviewed by Darin Adler. + + Normalize Cairo/CFLite project/solution configuration names + https://bugs.webkit.org/show_bug.cgi?id=49818 + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/win/DumpRenderTree.vcproj: + * DumpRenderTree/win/ImageDiff.vcproj: + * MiniBrowser/MiniBrowser.vcproj: + * TestWebKitAPI/win/TestWebKitAPI.sln: + * TestWebKitAPI/win/TestWebKitAPI.vcproj: + * WebKitAPITest/WebKitAPITest.vcproj: + * WebKitTestRunner/win/InjectedBundle.vcproj: + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + * WinLauncher/WinLauncher.vcproj: + * Scripts/webkitdirs.pm: Updated cairo build configs. + +2010-11-18 Steve Falkenburg + + Reviewed by Adam Roben. + + Windows vcproj configuration names should be normalized across projects + https://bugs.webkit.org/show_bug.cgi?id=49776 + + * DumpRenderTree/DumpRenderTree.sln: + * FindSafari/FindSafari.vcproj: + * TestWebKitAPI/win/TestWebKitAPI.sln: + * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: + * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops: Added. + * WebKitAPITest/WebKitAPITest.vcproj: + * WebKitAPITest/WebKitAPITestCommon.vsprops: + * WebKitLauncherWin/WebKitLauncherWin.vcproj: + * WebKitTestRunner/WebKitTestRunner.sln: + * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: + * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops: Added. + * record-memory-win/record-memory-win.vcproj: + +2010-11-18 Gavin Barraclough + + Build fix - as per DRT-mac, always enabled developer extras, + in win/qt/gtk DRT. + + This is necessary to enable rich exception messages to be generated + following https://bugs.webkit.org/show_bug.cgi?id=49708. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (shouldEnableDeveloperExtras): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::shouldEnableDeveloperExtras): + * DumpRenderTree/win/DumpRenderTree.cpp: + (shouldEnableDeveloperExtras): + +2010-11-18 Sheriff Bot + + Unreviewed, rolling out r72357. + http://trac.webkit.org/changeset/72357 + https://bugs.webkit.org/show_bug.cgi?id=49784 + + It broke test-webkitpy tests since the patch didn't have the + corresponding test update (Requested by kinuko on #webkit). + + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + +2010-11-18 Mihai Parparita + + Reviewed by Tony Chang. + + Rebaseline server: add rebaseline queue + https://bugs.webkit.org/show_bug.cgi?id=49763 + + Add a UI queue (a multi-item onchange event on changes + https://bugs.webkit.org/show_bug.cgi?id=45192 + + Adds a selector on ObjCController for testing + -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:] and + its different uses. + + * DumpRenderTree/mac/ObjCController.m: + (+[ObjCController isSelectorExcludedFromWebScript:]): + (+[ObjCController webScriptNameForSelector:]): + (-[ObjCController setSelectElement:selectedIndex:allowingMultiple:]): + +2010-09-07 James Robinson + + Rubber-stamped by Dimitri Glazkov. + + Move myself from the committer to the reviewer list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-09-07 Tony Chang + + Reviewed by Darin Fisher. + + [chromium] Make a public flag for how DRT generates bitmaps on Linux + https://bugs.webkit.org/show_bug.cgi?id=45133 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::dumpImage): + +2010-09-07 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Implement --check-layout-test-sys-deps + https://bugs.webkit.org/show_bug.cgi?id=45283 + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (main): Check --check-layout-test-sys-deps and call checkLayoutTestSystemDependencies(). + * DumpRenderTree/chromium/TestShell.h: Declare checkLayoutTestSystemDependencies(). + * DumpRenderTree/chromium/TestShellGtk.cpp: + (checkLayoutTestSystemDependencies): Add an empty implementation. + * DumpRenderTree/chromium/TestShellMac.mm: + (checkLayoutTestSystemDependencies): Add an empty implementation. + * DumpRenderTree/chromium/TestShellWin.cpp: + (checkLayoutTestSystemDependencies): Port similar function of test_shell. + +2010-09-07 Jessie Berlin + + Unreviewed. Mac build fix. + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (didClearWindowObjectForFrame): + +2010-09-07 Jessie Berlin + + Reviewed by Darin Adler. + + Indicate which one of the ScriptWorlds for a Frame the Window Object has been cleared for + https://bugs.webkit.org/show_bug.cgi?id=45217 + + Make WebKitTestRunner work with this change. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didClearWindowForFrame): + Make sure the ScriptWorld here is the normal world, since that is no longer being done in + WebFrameLoaderClient. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2010-09-07 Philippe Normand + + Unreviewed, build fix. + + webkit-patch command to find the ports covering a specific layout test + https://bugs.webkit.org/show_bug.cgi?id=42832 + + * Scripts/webkitpy/layout_tests/port/chromium.py: Don't assume the + tests are present when building the expectations. This is needed + for the unittests. + +2010-09-06 Philippe Normand + + Reviewed by Adam Barth. + + webkit-patch command to find the ports covering a specific layout test + https://bugs.webkit.org/show_bug.cgi?id=42832 + + To use it: webkit-patch skipped-ports some/layout/test.html + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/base_unittest.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: + * Scripts/webkitpy/layout_tests/port/factory.py: + * Scripts/webkitpy/layout_tests/port/factory_unittest.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: + * Scripts/webkitpy/tool/commands/queries.py: + * Scripts/webkitpy/tool/commands/queries_unittest.py: + * Scripts/webkitpy/tool/main.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-09-07 Gabor Rapcsanyi + + Reviewed by Eric Seidel. + + [NRWT] Add temp directory to all running drivers. + https://bugs.webkit.org/show_bug.cgi?id=45261 + + * Scripts/webkitpy/layout_tests/port/webkit.py: + +2010-09-06 Dimitri Glazkov + + Reviewed by Kent Tamura. + + [Chromium/DRT] Empty out user stylesheet after each test run. + https://bugs.webkit.org/show_bug.cgi?id=45282 + + This should significantly cut down on the number of the mysterious flaky tests + whose diffs looked like the page was blown up to a very lage size. This + was indeed the dirty work of platform/mac/fast/loader/user-stylesheet-fast-path.html, + which set the base body font to 100px. + + Since the user stylesheet was never reset, _all_ pixel tests that ran after it in + the same thread failed. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetWebSettings): Set user stylesheet to an empty URL. + +2010-09-06 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Do not generate pixel results for text/plain resources + https://bugs.webkit.org/show_bug.cgi?id=45253 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::dump): Clear shouldGeneratePixelResults flag for text/plain. + +2010-09-06 Ojan Vafai + + Reviewed by Kent Tamura. + + print out correct error when a DRT thread dies in NRWT + https://bugs.webkit.org/show_bug.cgi?id=45281 + + Not sure why, but with the parens, python 2.6.5 on Linux + gives an error that raise takes 5 arguments and 0 were given. + Didn't test other platforms or python versions, but putting it + all on one line fixes it and correctly prints the exception + from the DRT thread. + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-09-06 Eric Seidel + + Unreviewed, just adding some emails from lists.webkit.org. + + Update committers.py to include emails from lists.webkit.org + as found by the validate-committer-lists script. + + * Scripts/webkitpy/common/config/committers.py: + +2010-09-06 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Small code cleanup in DumpRenderTreeGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=45213 + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (initializeFonts): Made this function do nothing for non-X11 platforms, so we don't + have to surround the invocation with #ifdefs. + (useLongRunningServerMode): Added. + (runTestingServerLoop): Added. + (initializeGlobalsFromCommandLineOptions): Added. + (runTest): Removed ifdefs. + (main): Use new helper functions. + +2010-09-06 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] EventSender should support modifier keys with mouseDown and mouseUp events + https://bugs.webkit.org/show_bug.cgi?id=45235 + + Add support for interpreting the modifier key arguments to the mouseDown and mouseUp + methods of the EventSender. + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): Allow passing in a modifier bitmask, which will be OR'd + with the current modifiers. + (contextClickCallback): Always send no modifiers when preparing the mouse event. + (gdkModifersFromJSValue): Added, converts a JSValue array into a GDK modifier bitmask. + (mouseDownCallback): Send in the requested modifiers to prepareMouseButtonEvent. + (mouseUpCallback): Ditto. + +2010-09-05 Peter Kasting + + Reviewed by Adam Barth. + + Make Chromium/Mac generate continuous mousewheel events with the same wheelDelta values as Safari/Mac. + https://bugs.webkit.org/show_bug.cgi?id=45155 + + * DumpRenderTree/chromium/EventSender.cpp: Modify Chromium DRT mousewheel event generation to match new behavior on Mac. + (EventSender::handleMouseWheel): + +2010-09-05 Yury Semikhatsky + + Reviewed by Joseph Pecoraro. + + Web Inspector: remove WebDevToolsAgentClient::forceRepaint which is not used + https://bugs.webkit.org/show_bug.cgi?id=45179 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + +2010-09-05 Andreas Kling + + Rubber-stamped by Daniel Bates. + + Adding myself as reviewer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-09-04 Daniel Bates + + Reviewed by Martin Robinson. + + Teach svn-apply/unapply about svn:mergeinfo + https://bugs.webkit.org/show_bug.cgi?id=45236 + + Recognize the svn:mergeinfo property and ignore it for now. + + Currently, svn-apply/unapply recognize only '+' and '-' + property changes within a diff. We should add support + to recognize "Merged" and "Reverse-merged" changes as well. + Because svn:mergeinfo is metadata that is used only by SVN + and tends to be error-prone and/or nuisance (*), we will ignore + it for now. + (*) See "Parting Thoughts" of . + + * Scripts/VCSUtils.pm: + - Modified parseSvnProperty() to recognize "Merged" and + "Reverse-merged" as the start of a property value. + * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: + - Added the following unit tests: + "simple: add svn:mergeinfo" + "simple: delete svn:mergeinfo" + "simple: modified svn:mergeinfo" + * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: + - Added the following unit tests: + "simple: add svn:mergeinfo" + "simple: delete svn:mergeinfo" + "simple: modified svn:mergeinfo" + "simple: modified svn:mergeinfo using SVN 1.4 syntax" + "'Merged' change followed by 'Merged' change" + "'Reverse-merged' change followed by 'Reverse-merged' change" + * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: + - Added the following unit tests: + "'Merged' change" + "'Reverse-merged' change" + "'Reverse-merged' change followed by 'Merge' change" + "'Merged' change followed by 'Merge' change" + "'Reverse-merged' change followed by 'Reverse-merged' change" + "'Reverse-merged' change followed by 'Reverse-merged' change followed by 'Merged' change" + +2010-09-04 Lucas De Marchi + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Move test browser to WebKitTools directory + https://bugs.webkit.org/show_bug.cgi?id=45212 + + Follow other ports like QT and GTK which moved the test browser to + WebKitTools directory. + + * CMakeListsEfl.txt: Added. + * EWebLauncher/main.c: Added. + (print_history): + (zoom_level_set): + (on_ecore_evas_resize): + (title_set): + (viewport_set): + (on_title_changed): + (on_progress): + (on_load_finished): + (on_toolbars_visible_set): + (on_toolbars_visible_get): + (on_statusbar_visible_set): + (on_statusbar_visible_get): + (on_scrollbars_visible_set): + (on_scrollbars_visible_get): + (on_menubar_visible_set): + (on_menubar_visible_get): + (on_tooltip_text_set): + (on_inputmethod_changed): + (on_viewport_changed): + (on_mouse_down): + (on_focus_out): + (on_focus_in): + (on_resized): + (on_key_down): + (on_browser_del): + (on_closeWindow): + (quit): + (browserCreate): + (browserDestroy): + (closeWindow): + (main_signal_exit): + (findThemePath): + (main): + +2010-09-03 Simon Fraser + + Reviewed by Adam Roben. + + Set project dependencies so that they build serially. This fixes + issues when running run-webkit-tests if DRT is not built yet. + + * DumpRenderTree/DumpRenderTree.sln: + +2010-09-03 Dimitri Glazkov + + Reviewed by Adam Barth. + + Fix reading configuraiton in NWRT to work on Windows. + https://bugs.webkit.org/show_bug.cgi?id=45180 + + * Scripts/webkitpy/layout_tests/port/base.py: Added 'perl' argument, because Windows doesn't know what to do + with the file otherwise. + +2010-09-03 Chris Rogers + + Unreviewed + + Add myself to the committers list + https://bugs.webkit.org/show_bug.cgi?id=45189 + + * Scripts/webkitpy/common/config/committers.py: + +2010-09-03 Andrey Kosyakov + + Reviewed by Yury Semikhatsky. + + http/tests/inspector/console-xhr-logging.html and http/tests/inspector/resource-har-conversion.html are failing on chromium win bot + Changed MIME type for .js to application/x-javascript for consistency with apache used on other platforms. + https://bugs.webkit.org/show_bug.cgi?id=45137 + + * Scripts/webkitpy/layout_tests/port/lighttpd.conf: + +2010-09-03 Gabor Rapcsanyi + + Reviewed by Eric Seidel. + + Add feature detection support to NRWT. + https://bugs.webkit.org/show_bug.cgi?id=41842 + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/qt.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added. + +2010-09-03 Hironori Bono + + Reviewed by Kent Tamura. + + Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests + and implements it for Mac. + https://bugs.webkit.org/show_bug.cgi?id=41832 + + * DumpRenderTree/mac/TextInputController.m: Added [TextInputController hasSpellingMarker:length:] + and bind it so we can call it from JavaScript. + (+[TextInputController isSelectorExcludedFromWebScript:]): + (+[TextInputController webScriptNameForSelector:]): + (-[TextInputController hasSpellingMarker:length:]): + +2010-09-02 Eric Seidel + + Reviewed by Adam Barth. + + Add a unit test for commit-queue retries + https://bugs.webkit.org/show_bug.cgi?id=45162 + + I think commit-queue retries are not correctly avoiding + build and test on retries. So I started testing the code. + Unfortunately this test did not find the bug. But now + that we have the test we might as well keep it. + I also fixed a broken import in validate-committer-lists. + + * Scripts/validate-committer-lists: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-09-02 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Remove dependency to base/task.h and base/timer.h + https://bugs.webkit.org/show_bug.cgi?id=45091 + + Task.{cpp,h} introduces a simpler version of Chromium + base/task.h. It doesn't have TupleN and Method. + + * DumpRenderTree/DumpRenderTree.gypi: + Add Task.cpp and Task.h + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + (DRTDevToolsAgent::DRTDevToolsAgent): + (DRTDevToolsAgent::reset): + (DRTDevToolsAgent::asyncCall): + (DRTDevToolsAgent::frontendLoaded): + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + (DRTDevToolsAgent::taskList): Added to use MethodTask. + * DumpRenderTree/chromium/DRTDevToolsClient.cpp: + (DRTDevToolsClient::DRTDevToolsClient): + (DRTDevToolsClient::~DRTDevToolsClient): + (DRTDevToolsClient::reset): + (DRTDevToolsClient::asyncCall): + * DumpRenderTree/chromium/DRTDevToolsClient.h: + (DRTDevToolsClient::taskList): Added to use MethodTask. + * DumpRenderTree/chromium/EventSender.cpp: + (EventSender::EventSender): + (EventSender::reset): + (EventSender::scheduleAsynchronousClick): + * DumpRenderTree/chromium/EventSender.h: + (EventSender::taskList): Added to use MethodTask. + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::WorkQueue::processWorkSoon): + (LayoutTestController::waitUntilDone): + (LayoutTestController::notifyDone): + (LayoutTestController::reset): + * DumpRenderTree/chromium/LayoutTestController.h: + (LayoutTestController::taskList): Added to use MethodTask. + (LayoutTestController::WorkQueue::taskList): Added to use MethodTask. + * DumpRenderTree/chromium/NotificationPresenter.cpp: + (deferredDisplayDispatch): + (NotificationPresenter::show): + * DumpRenderTree/chromium/Task.cpp: Added. + * DumpRenderTree/chromium/Task.h: Added. + +2010-09-02 Steve Block + + Reviewed by Adam Barth. + + Hook up LayoutTestController.setMockDeviceOrientation() on Mac. + https://bugs.webkit.org/show_bug.cgi?id=43181 + + * DumpRenderTree/mac/DumpRenderTree.mm: + (createWebViewAndOffscreenWindow): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setMockDeviceOrientation): + +2010-08-31 Adam Roben + + Fix flashiness when resizing the browser window on Windows + + Reviewed by Sam Weinig. + + * MiniBrowser/win/BrowserWindow.cpp: + (BrowserWindow::wndProc): Override WM_ERASEBKGND so Windows won't + periodically fill the window with white. + +2010-09-02 Peter Kasting + + Reviewed by Dimitri Glazkov. + + Implement [continuous]MouseScrollBy() on Chromium, and partly on GTK. + https://bugs.webkit.org/show_bug.cgi?id=45073 + + * DumpRenderTree/chromium/EventSender.cpp: + (EventSender::EventSender): + (EventSender::mouseScrollBy): + (EventSender::continuousMouseScrollBy): + (EventSender::sendCurrentTouchEvent): + (EventSender::handleMouseWheel): + * DumpRenderTree/chromium/EventSender.h: + * DumpRenderTree/gtk/EventSender.cpp: + (mouseScrollByCallback): + (continuousMouseScrollByCallback): + +2010-09-01 Dirk Pranke + + Reviewed by Tony Chang. + + Land a patched version of r66542 - change TestRunner to have an + separate cleanup method and fix the ordering of cleanup between + TestRunner and the printing module, and then wrap everything in a + try/finally block to ensure reliable cleanup without needing to + rely on stuff happening in the destructor of the TestRunner. + + Also refactor run_webkit_tests.run() to be much smaller and cleaner + by creating a bunch of helper methods and moving more stuff into + the TestRunner class. + + This fixes the crash at the end of the linux test run of + new-run-webkit-tests (and undoes the rollout in 66547). + + https://bugs.webkit.org/show_bug.cgi?id=44902 + + * Scripts/webkitpy/layout_tests/data/failures/expected/exception.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/keyboard.html: Added. + * Scripts/webkitpy/layout_tests/data/passes/error-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/passes/error.html: Added. + * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-09-01 Mark Rowe + + Reviewed by Adam Roben. + + Fix TestNetscapePlugIn to compile without access to QuickDraw private headers. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + +2010-09-01 Brian Weinstein + + Reviewed by Adam Roben. + + Have kill-old-processes kill debug and release variants of WebKit2WebWebProcess + and WebKitTestRunner. + + * BuildSlaveSupport/win/kill-old-processes: + +2010-09-01 Gabor Rapcsanyi + + Reviewed by Antonio Gomes. + + [Qt] Remove obsolete include path from DumpRenderTree.pro + + * DumpRenderTree/qt/DumpRenderTree.pro: + +2010-09-01 Mahesh Kulkarni + + Reviewed by Laszlo Gombos. + + [Qt] QWebPage::allowGeolocationRequest should be async API + https://bugs.webkit.org/show_bug.cgi?id=41364 + + Implements new async API for geolocation permission similar to + Notification. WebPage maintains list of geolocation permission request + QtWebkit and set's when LayoutTestController gets the access from test JS + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::WebPage): + (WebCore::WebPage::resetSettings): + (WebCore::WebPage::requestPermission): + (WebCore::WebPage::cancelPermission): + (WebCore::WebPage::permissionSet): + (WebCore::DumpRenderTree::DumpRenderTree): + (WebCore::DumpRenderTree::processLine): + (WebCore::DumpRenderTree::geolocationPermissionSet): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::setGeolocationPermission): + (LayoutTestController::setGeolocationPermissionCommon): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-09-01 Andras Becsi + + Reviewed by Antti Koivisto. + + [Qt] Auto-generate WebKit2 forwarding headers + https://bugs.webkit.org/show_bug.cgi?id=44692 + + * MiniBrowser/qt/BrowserWindow.h: use source style includes + * MiniBrowser/qt/MiniBrowser.pro: add missing include paths + * Scripts/enumerate-included-framework-headers: Removed. + +2010-08-31 Ademar de Souza Reis Jr + + Reviewed by Adam Barth. + + Allow Ctrl+C inside Bugzilla::fetch_bug_dictionary + https://bugs.webkit.org/show_bug.cgi?id=44789 + + * Scripts/webkitpy/common/net/bugzilla.py: + +2010-08-31 Leandro Pereira + + Reviewed by Adam Barth. + + ews: Add support for EFL-EWS + https://bugs.webkit.org/show_bug.cgi?id=44982 + + * QueueStatusServer/model/queues.py: Add "efl-ews" to queues list. + * Scripts/webkitpy/common/config/ports.py: Define a EflPort class + and add it to the ports dict. + * Scripts/webkitpy/tool/commands/earlywarningsystem.py: Define a + EflEWS class. + * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Add + a test case for the EFL EWS. + +2010-08-31 Alexey Proskuryakov + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=42195 + WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::setXSSAuditorEnabled): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + Added setXSSAuditorEnabled, calling through to an WKBundle private method. Calling this method + makes WebProcess use a different value for this preference than UIProcess thinks it uses. + + * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): + Reset xssAuditorEnabled. Even though the value doesn't change, this calls through to WebProcess, + which forgets its override. + +2010-08-31 Sam Weinig + + Reviewed by Gavin Barraclough. + + WebKitTestRunner needs layoutTestController.addUserStyleSheet + https://bugs.webkit.org/show_bug.cgi?id=42680 + + WebKitTestRunner needs layoutTestController.addUserScript + https://bugs.webkit.org/show_bug.cgi?id=42681 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::beginTesting): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::addUserScript): + (WTR::LayoutTestController::addUserStyleSheet): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + +2010-08-31 Dirk Pranke + + Unreviewed, rolling out r66542. + http://trac.webkit.org/changeset/66542 + https://bugs.webkit.org/show_bug.cgi?id=44902 + + r66542 - the weird logging dependencies in Python stuck again ... + + * Scripts/webkitpy/layout_tests/data/failures/expected/exception.html: Removed. + * Scripts/webkitpy/layout_tests/data/failures/expected/keyboard.html: Removed. + * Scripts/webkitpy/layout_tests/data/passes/error-expected.txt: Removed. + * Scripts/webkitpy/layout_tests/data/passes/error.html: Removed. + * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-08-31 Dumitru Daniliuc + + Reviewed by Tony Chang. + + Implementing LayoutTestController::markerTextForListItem() in Chromium's DRT. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::markerTextForListItem): + * DumpRenderTree/chromium/LayoutTestController.h: + +2010-08-31 Dirk Pranke + + Reviewed by Ojan Vafai. + + new-run-webkit-tests: add more unit tests + + Add more unit tests for new-run-webkit-tests; we now cover all but + the most obscure code paths in the generic code. We still need to + add coverage for the http server and web socket paths, and add better + coverage of the platform-specific logic. Note that the rebaselining + tool is still not well tested. + + Also clean up some of the configuration logic for the printing + module and the way it interacts with the Python logging module; that + is a crufty interface, to be certain. + + https://bugs.webkit.org/show_bug.cgi?id=44902 + + * Scripts/webkitpy/layout_tests/data/failures/expected/exception.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/keyboard.html: Added. + * Scripts/webkitpy/layout_tests/data/passes/error-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/passes/error.html: Added. + * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-08-31 Darin Adler + + Reviewed by Anders Carlsson. + + * Scripts/check-for-global-initializers: Add a file that ends up having global initializers + in a debug build when built with certain compilers. + +2010-08-31 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] Isolate all GTK+ typedefs into one file + https://bugs.webkit.org/show_bug.cgi?id=44900 + + * DumpRenderTree/gtk/EventSender.h: Remove GTK+ typedefs. + +2010-08-31 Eric Seidel + + Reviewed by Adam Barth. + + Show more status on queue status pages + https://bugs.webkit.org/show_bug.cgi?id=44938 + + I upped the number of status lines from 6 to 15 -- + this has been bugging me for a while... + + I also disabled showing the chromium-win EWS queue + since it's been down for almost 5 months now. + + * QueueStatusServer/handlers/dashboard.py: + * QueueStatusServer/handlers/queuestatus.py: + * QueueStatusServer/model/queues.py: + +2010-08-31 Zoltan Horvath + + Reviewed by Antonio Gomes. + + [Qt] Read command line arguments and open them as URLs in new windows + https://bugs.webkit.org/show_bug.cgi?id=44944 + + Extend MiniBrowser to accept command line arguments and open them as URLs in new browser windows. + + * MiniBrowser/qt/main.cpp: + (main): + +2010-08-31 Adrian Perez + + Reviewed by Martin Robinson. + + Support scripts to run Buildbot slaves under daemontools (gtk related) + https://bugs.webkit.org/show_bug.cgi?id=40053 + + * BuildSlaveSupport/gtk: Added. + * BuildSlaveSupport/gtk/README: Added. + * BuildSlaveSupport/gtk/buildbot: Added. + * BuildSlaveSupport/gtk/buildbot/log: Added. + * BuildSlaveSupport/gtk/buildbot/log/run: Added. + * BuildSlaveSupport/gtk/buildbot/run: Added. + * BuildSlaveSupport/gtk/crashmon: Added. + * BuildSlaveSupport/gtk/crashmon/crashmon: Added. + * BuildSlaveSupport/gtk/crashmon/log: Added. + * BuildSlaveSupport/gtk/crashmon/log/run: Added. + * BuildSlaveSupport/gtk/crashmon/run: Added. + * BuildSlaveSupport/gtk/daemontools-buildbot.conf: Added. + * BuildSlaveSupport/gtk/pulseaudio: Added. + * BuildSlaveSupport/gtk/pulseaudio/run: Added. + * BuildSlaveSupport/gtk/xvfb: Added. + * BuildSlaveSupport/gtk/xvfb/log: Added. + * BuildSlaveSupport/gtk/xvfb/log/run: Added. + * BuildSlaveSupport/gtk/xvfb/run: Added. + +2010-08-27 John Gregg + + Reviewed by David Levin. + + Notifications should support a click event. + Adds necessary hooks to chromium's DRT so that clicks on desktop notifications + can be simulated during a layout test. Requires storing a list of active + notifications so that they can be referred to later for clicking. + https://bugs.webkit.org/show_bug.cgi?id=44800 + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::simulateDesktopNotificationClick): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/chromium/NotificationPresenter.cpp: + (NotificationPresenter::simulateClick): + (NotificationPresenter::show): + (NotificationPresenter::cancel): + (NotificationPresenter::objectDestroyed): + * DumpRenderTree/chromium/NotificationPresenter.h: + +2010-08-30 Alice Liu + + Reviewed by Darin Adler. + + Add missing parts of didFinishDocumentLoadForFrame + https://bugs.webkit.org/show_bug.cgi?id=44913 + + * MiniBrowser/mac/BrowserWindowController.m: + (didFinishDocumentLoadForFrame): Added + (-[BrowserWindowController awakeFromNib]): Updated struct + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): Rearranged function ptr + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): Updated struct + +2010-08-30 Vangelis Kokkevis + + Unreviewed: Add myself to the list of Committers. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-30 Kent Tamura + + Reviewed by Adam Barth. + + Fix fast/notifications/notifications-display-close-events.html failure + https://bugs.webkit.org/show_bug.cgi?id=44585 + + Apply http://crrev.com/48893. We should dispatch display events + asynchronously. + + * DumpRenderTree/chromium/NotificationPresenter.cpp: + (deferredDisplayDispatch): + (NotificationPresenter::show): + +2010-08-30 Robert Hogan + + Reviewed by Simon Hausmann. + + allow ports with windowed plugins to support windowless plugin tests + + https://bugs.webkit.org/show_bug.cgi?id=40730 + + Ports that implement plugins windowed by default need to have a way of + supporting plugin tests that assume the plugin is windowless. Add this + feature to the tests and support it in the webkit test plugin. Also + add mouse and keyboard event logging to the webkit-test plugin on Unix. + + Unskip the following tests on Qt: + + plugins/mouse-events.html + plugins/keyboard-events.html + plugins/mouse-events-fixedpos.html + + * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: + (pluginSetProperty): + * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp: + (NPP_New): + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_handle_event): + +2010-08-30 Kevin Ollivier + + [wx] Build fix after addition of fileapi directory in WebCore. + + * wx/build/settings.py: + +2010-08-30 Alejandro G. Castro + + Reviewed by Xan Lopez. + + Fixed compilation error, now that we have included the + GtkVersioning.h we have to remove some version dependent code from + EventSender. + + * DumpRenderTree/gtk/EventSender.cpp: + +2010-08-30 Alejandro G. Castro + + Reviewed by Martin Robinson. + + [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer + are deprecated + https://bugs.webkit.org/show_bug.cgi?id=44787 + + We have replaced GtkVersioning.cpp with GtkVersioning.c and + created a function (getDefaultGDKPointerDevice) to get the pointer + of the window with the new APIs. We added that function to DRT and + copyandpaste unit test. + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): + (mouseMoveToCallback): + (keyDownCallback): + * GNUmakefile.am: + +2010-08-30 Zoltan Horvath + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Add new window menu to MiniBrowser + + Implement newWindow function and add a menu item for opening new window in MiniBrowser. + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::newWindow): + * MiniBrowser/qt/BrowserWindow.h: + * MiniBrowser/qt/main.cpp: + (main): + +2010-08-29 James Robinson + + Reviewed by David Levin. + + Make failing the download step fail the build + https://bugs.webkit.org/show_bug.cgi?id=44298 + + If the download step fails on a test bot, this ensures that + the build goes red instead of only the download step going red + and the overall build staying green. + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2010-08-29 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Remove dependency to base/keyboard_codes.h + https://bugs.webkit.org/show_bug.cgi?id=44847 + + * DumpRenderTree/chromium/EventSender.cpp: + Use webkit_support::VKEY_* instead of base::VKEY_*. + +2010-08-29 Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=40589 + + * Scripts/prepare-ChangeLog: Only prepend namespaces to non-empty + function names. + +2010-08-26 Holger Hans Peter Freyther + + Reviewed by Darin Adler. + + [iExploder] Add new CSS Properties and HTML Attributes + https://bugs.webkit.org/show_bug.cgi?id=44746 + + Updated the files with the update-iexploder-cssproperties script + and manually readded the -webkit-binding CSS Property to the list. + + * iExploder/htdocs/cssproperties.in: + * iExploder/htdocs/htmlattrs.in: + * iExploder/htdocs/htmltags.in: + +2010-08-26 Holger Hans Peter Freyther + + Reviewed by Darin Adler. + + Fix Coverage build after the addition of ANGLE + https://bugs.webkit.org/show_bug.cgi?id=44744 + + ANGLE is using libtool to build a static library and the version of + libtool on Leopard refuses to handle the -fprofile-arcs and -ftest-coverage + parameters. The easiest way to handle this is to not build ANGLE with + coverage information. + + This is achieved by applying the XCode options for each project + separately and exclude ANGLE. + + * Scripts/build-webkit: Remove -framework AppKit due link errors. + * Scripts/webkitdirs.pm: Do not apply the XCode options for ANGLE. + +2010-08-28 Kevin Ollivier + + [wx] Build fix after directory addition. + + * wx/build/settings.py: + +2010-08-28 Chris Guillory + + Reviewed by Chris Fleizach. + + Add AX notification for childrenChanged + https://bugs.webkit.org/show_bug.cgi?id=44472 + + * DumpRenderTree/chromium/AccessibilityController.cpp: + (AccessibilityController::AccessibilityController): + (AccessibilityController::reset): + (AccessibilityController::getRootElement): + (AccessibilityController::dumpAccessibilityNotifications): + * DumpRenderTree/chromium/AccessibilityController.h: + (AccessibilityController::shouldDumpAccessibilityNotifications): + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::didChangeAccessibilityObjectChildren): + * DumpRenderTree/chromium/WebViewHost.h: + +2010-08-28 Eric Seidel + + Reviewed by Adam Barth. + + Update commit-queue failure message + https://bugs.webkit.org/show_bug.cgi?id=44798 + + The commit-queue auto-restarts itself and has for a very long time. + No need for people to email me to request a restart anymore. + + * Scripts/webkitpy/common/net/bugzilla.py: + * Scripts/webkitpy/common/net/bugzilla_unittest.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-07-27 Jer Noble + + Reviewed by Eric Carlson. + + Add JavaScript API to allow a page to go fullscreen. + rdar://problem/6867795 + + Added basic full screen support to DumpRenderTree: when a webView requests + that DumpRenderTree go "full screen", just call the provided callback listener object's + will/did Enter/Exit full screen methods. Also, register a new user default which + enables full screen support. + + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetDefaultsToConsistentValues): + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate webView:supportsFullscreenForElement:]): + (-[UIDelegate webView:enterFullscreenForElement:listener:]): + (-[UIDelegate webView:exitFullscreenForElement:listener:]): + +2010-08-27 Benjamin Poulain + + Unreviewed. Add myself to the committers list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-27 Kent Tamura + + Reviewed by Pavel Feldman. + + [DRT/Chromium] Fix inspector test failures + https://bugs.webkit.org/show_bug.cgi?id=44748 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + (DRTDevToolsAgent::createClientMessageLoop): + Returns a valid WebKitClientMessageLoop instance + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + +2010-08-26 Jon Honeycutt + + Add Windows WebKit2 Tester to buildbot + + + Reviewed by Dan Bernstein. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2010-08-26 Philippe Normand + + Reviewed by Martin Robinson. + + [GTK] Needs DRT queueLoadHTMLString and setDeferMainResourceLoad-implementations + https://bugs.webkit.org/show_bug.cgi?id=42152 + + * DumpRenderTree/gtk/WorkQueueItemGtk.cpp: + (LoadHTMLStringItem::invoke): Implementation using + webkit_web_frame_load_string(). + +2010-08-25 Jon Honeycutt + + run-webkit-tests sometimes hangs when using + WebKitTestRunner (44331) + + Reviewed by Darin Adler. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + The hang occurs when WebKitTestRunner begins launching the WebKit2 + web process then exits before it finishes launching. Work around this by + looking for the --print-supported-features argument and exiting without + creating the web process. + +2010-08-26 Dirk Pranke + + Reviewed by Tony Chang. + + new-run-webkit-tests: add rebaselining tests for test_expectations + + This patch adds more unit tests for the rebaselining code in the + test_expectations module. It doesn't add any tests for + rebaseline_chromium_webkit_tests itself; that will come some other + time. + + https://bugs.webkit.org/show_bug.cgi?id=44648 + + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + +2010-08-26 Gustavo Noronha Silva + + Reviewed by Martin Robinson. + + [GTK] Add HTTP caching support + https://bugs.webkit.org/show_bug.cgi?id=44261 + + Ignore new soup API that we decided to merge into the soup backend + while it is being cooked. It follows the libsoup style, and will + be removed from WebKit as soon as it is merged into libsoup. + + * Scripts/webkitpy/style/checker.py: + +2010-08-26 Mahesh Kulkarni + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] DumpRenderTree runs only one test from command mode + https://bugs.webkit.org/show_bug.cgi?id=44012 + + Enables support to run multiple test files and single + folder containing html files in stand alone mode + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::DumpRenderTree): + (WebCore::DumpRenderTree::processArgsLine): + (WebCore::DumpRenderTree::loadNextTestInStandAloneMode): + (WebCore::DumpRenderTree::processLine): + (WebCore::DumpRenderTree::dump): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + (WebCore::DumpRenderTree::setStandAloneMode): + (WebCore::DumpRenderTree::isStandAloneMode): + * DumpRenderTree/qt/main.cpp: + (main): + +2010-08-25 Martin Robinson + + Updating webkitpy test expectations. + + * Scripts/webkitpy/tool/steps/steps_unittest.py: + +2010-08-25 Ojan Vafai + + Reviewed by Eric Seidel. + + fix the always squash git config + https://bugs.webkit.org/show_bug.cgi?id=44651 + + Fix help text and apparently underscores are not allowed + in git config keys. + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/tool/steps/commit.py: + +2010-08-25 Darin Adler + + Reviewed by John Sullivan. + + * Scripts/commit-log-editor: Fix perl warning for people who have no + value for SVN_LOG_EDITOR or CVS_LOG_EDITOR. + +2010-08-25 Ojan Vafai + + Reviewed by Eric Seidel. + + stop blocking commits when the bots are red + https://bugs.webkit.org/show_bug.cgi?id=44644 + + This check currently is just annoying. It doesn't actually + help keep the tree green. We can always add it back later + if we decide the tree is generally more green. + + * Scripts/webkitpy/tool/commands/download_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py: + +2010-08-25 Eric Seidel + + Reviewed by Simon Fraser. + + REGRESSION: media/video-loop.html is timing out on the commit-queue Leopard Bot + https://bugs.webkit.org/show_bug.cgi?id=38912 + + I know of nothing else to do but skip all media tests for the cq. + + * Scripts/webkitpy/tool/steps/runtests.py: + +2010-08-25 Dirk Pranke + + Reviewed by Ojan Vafai. + + new-run-webkit-tests: add more unit tests for test_expectations + This adds unit tests to cover (almost?) all of the non-rebaselining + functionality. + + https://bugs.webkit.org/show_bug.cgi?id=44579 + + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + +2010-08-25 Dirk Pranke + + Reviewed by Ojan Vafai. + + new-run-webkit-tests: add more unit tests + + This change adds more unit tests for the image_diff, test_failures, + and test_files modules, bringing them to 100% coverage (and adds a + couple tests to run_webkit_tests while we're at it). + + This test also turns on the "dryrun" port for testing when run on + the mac, increasing coverage in a few other places. + + https://bugs.webkit.org/show_bug.cgi?id=44578 + + * Scripts/webkitpy/layout_tests/data/failures/expected/checksum-expected.checksum: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/checksum-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/checksum-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/checksum.html: Copied from WebKitTools/Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum.html. + * Scripts/webkitpy/layout_tests/data/failures/expected/missing_check-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/missing_check-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/missing_check.html: Copied from WebKitTools/Scripts/webkitpy/layout_tests/data/failures/expected/missing_image.html. + * Scripts/webkitpy/layout_tests/data/failures/expected/timeout.html: Added. + * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: + * Scripts/webkitpy/layout_tests/data/resources/README.txt: Added. + * Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-08-25 Dirk Pranke + + Reviewed by Ojan Vafai. + + new-run-webkit-tests: add more unit tests for layout_package/printing.py + + This change adds more unit tests to get the test coverage to 100% + for the printing module. This code is actually pretty crufty and + has some layering violations that need to be cleaned up but I'll + save that for another CL after we get all the unit tests written and + we fix the multithreading issues. At least now we'll be able to tell + if we break things. + + https://bugs.webkit.org/show_bug.cgi?id=44576 + + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + +2010-08-25 Ojan Vafai + + Reviewed by Adam Barth. + + new-run-webkit-tests should respect set-webkit-configuration + https://bugs.webkit.org/show_bug.cgi?id=44633 + + Moves the getting of the configuration into the base Port so that + chromium ports use it as well. In the downstream chromium port, + this should still just return Release. + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + +2010-08-25 Tony Chang + + Not reviewed, changing svn props for a script. + + * Scripts/deduplicate-tests: Added properties svn:executable and svn:eol-style. + +2010-08-25 Adam Barth + + Reviewed by Eric Seidel. + + Remove WebKit2 from core builders + https://bugs.webkit.org/show_bug.cgi?id=44625 + + This builder was added to the core builders by accident. It doesn't + appear to be green enough to be a core builder yet. + + * Scripts/webkitpy/common/net/buildbot.py: + * Scripts/webkitpy/common/net/buildbot_unittest.py: + +2010-08-19 Adam Roben + + Test that NP_Initialize and NP_GetEntryPoints are called in the + correct order + + The order differs between Mac and Windows (see r38858). + + Fixes Crash in + NP_Initialize when loading QuickTime when running + plugins/embed-attributes-setting.html in WebKit2 on Windows + + Reviewed by John Sullivan. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: Added a CRASH macro and + a boolean to record whether NP_GetEntryPoints has been called. + (NP_Initialize): Crash on Windows if NP_GetEntryPoints hasn't been + called yet. This matches Flash and QuickTime's behavior. + (NP_GetEntryPoints): Crash on Mac if NP_Initialize hasn't been called + yet. This matches Silverlight's behavior. + +2010-08-25 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + Cairo and EFL port shouldn't depend on glib. + https://bugs.webkit.org/show_bug.cgi?id=44354 + + Replace occurrences of GRefPtr and adoptGRef with PlatformRefPtr and + adoptPlatformRef. + + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (AccessibilityUIElement::isSelected): + +2010-08-25 Ojan Vafai + + Fix order of Timothy's email address. The script, and + other tools all assume that the first email is the bugzilla address. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-24 Kent Tamura + + Reviewed by Pavel Feldman. + + [DRT/Chromium] Fix 26 inspector test crashes + https://bugs.webkit.org/show_bug.cgi?id=44580 + + - DRTDevToolsAgent has a reference to the main WebView. So we + should not clear it in closeDevTools() and should clear it in + ~TestShell(). + - DRTDevToolsClient has a reference to a DevTools WebView and no + way to update it. So we should delete DRTDevToolsClient instances + in closeDevTools(). + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::~TestShell): + (TestShell::closeDevTools): + +2010-08-24 Eric Seidel + + Reviewed by Adam Barth. + + unicode(Exception(\u"0x1234")) is busted in python 2.5, disable tests which hit this + https://bugs.webkit.org/show_bug.cgi?id=44584 + + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-08-24 Eric Seidel + + Reviewed by Adam Barth. + + commit-queue and EWS bots should report all failures + https://bugs.webkit.org/show_bug.cgi?id=41820 + + Right now commit-queue/EWS only report failures when the + patch under testing fails. We should report all failures + to the status server so that we can diagnose when the bots + are wedged w/o needing to log into the machines. + + I also reduced the amount of data we upload since we've seen + timeouts during status upload. + + * Scripts/webkitpy/common/system/executive.py: + * Scripts/webkitpy/tool/commands/earlywarningsystem.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-08-24 Eric Seidel + + Reviewed by Adam Barth. + + Remove HTML5 parser testing infrastructure now that we don't need it + https://bugs.webkit.org/show_bug.cgi?id=44581 + + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetDefaultsToConsistentValues): + (initializeGlobalsFromCommandLineOptions): + * Scripts/old-run-webkit-tests: + * Scripts/test-html5-parser: Removed. + +2010-08-24 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Fix 28 inspector test crashes + https://bugs.webkit.org/show_bug.cgi?id=44574 + + Reset DevToolsClient and DevToolsAgent before closing a DevTools + WebView in order to avoid accessing to a deleted WebView instance. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::closeDevTools): + +2010-08-24 Dirk Pranke + + Reviewed by Ojan Vafai. + + new-run-webkit-tests: clean up code for test_types, test_failures + + Add a bunch of unit tests for webkitpy.layout_tests.test_types and + webkitpy.layout_tests.layout_package.test_failures, and remove + some dead code and otherwise clean up things. + + https://bugs.webkit.org/show_bug.cgi?id=44559 + + * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: + * Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py: Added. + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py: Added. + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2010-08-24 Dirk Pranke + + Reviewed by Eric Seidel. + + new-run-webkit-tests: revise unit testing strategy for test failures + + This change revamps the way we store test data for new-run-webkit-tests. + Previously we had a few copies of test files from the main test tree. + Now we have a bunch of completely fake test data and use the test + data to generate different kinds of test failures, getting + much better coverage. + + https://bugs.webkit.org/show_bug.cgi?id=44556 + + * Scripts/webkitpy/layout_tests/data/failures/expected/crash.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image-expected.checksum: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum-expected.checksum: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/image_checksum.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/missing_image.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/missing_text.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/text-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/failures/expected/text.html: Added. + * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum-expected.checksum: Added. + * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/failures/unexpected/text-image-checksum.html: Added. + * Scripts/webkitpy/layout_tests/data/image/canvas-bg.html: Removed. + * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.checksum: Removed. + * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.png: Removed. + * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.txt: Removed. + * Scripts/webkitpy/layout_tests/data/image/canvas-zoom.html: Removed. + * Scripts/webkitpy/layout_tests/data/misc/crash-expected.txt: Removed. + * Scripts/webkitpy/layout_tests/data/misc/crash.html: Removed. + * Scripts/webkitpy/layout_tests/data/misc/missing-expectation.html: Removed. + * Scripts/webkitpy/layout_tests/data/misc/passing-expected.txt: Removed. + * Scripts/webkitpy/layout_tests/data/misc/passing.html: Removed. + * Scripts/webkitpy/layout_tests/data/passes/image-expected.checksum: Added. + * Scripts/webkitpy/layout_tests/data/passes/image-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/passes/image-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/passes/image.html: Added. + * Scripts/webkitpy/layout_tests/data/passes/platform_image-expected.checksum: Added. + * Scripts/webkitpy/layout_tests/data/passes/platform_image-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/passes/platform_image-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/passes/platform_image.html: Added. + * Scripts/webkitpy/layout_tests/data/passes/text-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/passes/text.html: Added. + * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.checksum: Removed. + * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.png: Removed. + * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.txt: Removed. + * Scripts/webkitpy/layout_tests/data/platform/test/passes/platform_image-expected.checksum: Added. + * Scripts/webkitpy/layout_tests/data/platform/test/passes/platform_image-expected.png: Added. + * Scripts/webkitpy/layout_tests/data/platform/test/passes/platform_image-expected.txt: Added. + * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: + * Scripts/webkitpy/layout_tests/data/text/article-element-expected.txt: Removed. + * Scripts/webkitpy/layout_tests/data/text/article-element.html: Removed. + * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: + +2010-08-24 Dirk Pranke + + Reviewed by Eric Seidel. + + speed up new-run-webkit-tests unit tests + + Add a --no-record-results flag that turns off generating the JSON + results file on every test run. Generating the file requires us to + fetch the old results down from the bots, which can be slow. This + flag is off by default. + + Reduce the sleep time in wait_for_threads_to_finish from 0.1s to 0.01s. + + These changes together shorten the test cycle from ~4.5s to ~1.5s + - a 3x speedup. + + https://bugs.webkit.org/show_bug.cgi?id=44553 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-08-24 Tony Chang + + Reviewed by Eric Seidel. + + [chromium] fix the platform result fallback order on mac/win + https://bugs.webkit.org/show_bug.cgi?id=44483 + + * Scripts/webkitpy/layout_tests/port/google_chrome.py: + +2010-08-24 Xan Lopez + + Reviewed by Martin Robinson. + + Set a device to the event struct when building with GTK+ 3.x, it's + mandatory. + + * DumpRenderTree/gtk/EventSender.cpp: + (keyDownCallback): + +2010-08-24 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] GTK3: EventSender and API tests should use gdk_event_new when synthesizing events + https://bugs.webkit.org/show_bug.cgi?id=44534 + + Fix two double-frees introduced in my previous commit. + + * DumpRenderTree/gtk/EventSender.cpp: + (contextClickCallback): Copy the event before using it again. + (keyDownCallback): Ditto. + +2010-08-24 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] GTK3: EventSender and API tests should use gdk_event_new when synthesizing events + https://bugs.webkit.org/show_bug.cgi?id=44534 + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): Use gdk_event_new and reference the reference the GdkWindow + when setting it on the event. It is dereferenced by gdk_event_free(...). + (contextClickCallback): Ditto. + (mouseDownCallback): Ditto. + (mouseUpCallback): Ditto. + (mouseMoveToCallback): Ditto. + (mouseWheelToCallback): Ditto. + (sendOrQueueEvent): Take a GdkEvent* instead of a GdkEvent. + (dispatchEvent): Ditto. Also free the event when we are done with it. + (keyDownCallback): Use gdk_event_new and reference the GdkWindow. + +2010-08-24 Andras Becsi + + [Qt] WebKit2 build fix. + + * Scripts/enumerate-included-framework-headers: + Remove stray global option form sed. + +2010-08-24 Kent Tamura + + Reviewed by Jeremy Orlow. + + [DRT/Chromium] Support for IndexedDB tests + https://bugs.webkit.org/show_bug.cgi?id=44490 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): Enable IndexedDB. + +2010-08-23 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] The 64-bit Release bot is showing crashes on tests that use mouse buttons + https://bugs.webkit.org/show_bug.cgi?id=44465 + + Initialize the axes field of mouse button and motion events to null. + This is the value that should be used for events originating from the + mouse device. + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): Initalize button event axes field to null. + (mouseMoveToCallback): Initialize motion event axes field to null. + +2010-08-23 Sheriff Bot + + Unreviewed, rolling out r65703. + http://trac.webkit.org/changeset/65703 + https://bugs.webkit.org/show_bug.cgi?id=44460 + + "Causing lots of crashes on Snow Leopard when running the + layout tests" (Requested by eseidel2 on #webkit). + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NP_Initialize): + (NP_GetEntryPoints): + +2010-08-23 Jon Honeycutt + + Layout tests do not run when using WebKitTestRunner in a Debug build. + https://bugs.webkit.org/show_bug.cgi?id=44409 + + Reviewed by Dan Bernstein. + + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::initializeInjectedBundlePath): + Use InjectedBundle_debug.dll when building Debug. + +2010-08-23 Xan Lopez + + Reviewed by Martin Robinson. + + [GTK] run-launcher fails if WebKitGTK+ compiled with GTK+-3.0 support + https://bugs.webkit.org/show_bug.cgi?id=42026 + + If a GTK+ 3.x build is present return that as the library to use, + otherwise fallback to the GTK+ 2.x build. + + * Scripts/webkitdirs.pm: + +2010-08-23 Balazs Kelemen + + Reviewed by Ariya Hidayat. + + [Qt] Find needed forwarding headers for WebKit2 automatically + https://bugs.webkit.org/show_bug.cgi?id=44336 + + * MiniBrowser/qt/BrowserWindow.cpp: Use normal (not framework style) includes here. + The new script does not satisfy the needs of this file however using normal includes + is generally better here. + * MiniBrowser/qt/MiniBrowser.pro: Added include paths. + * Scripts/enumerate-included-framework-headers: Enumerates headers included from the + given frameworks by files in the current directory (and subdirectories). + In the future this needs to be rewritten in perl for being able to use on Windows. + +2010-08-22 No'am Rosenthal + + Reviewed by Ariya Hidayat. + + [Qt] Qt test browser: enable a QGLWidget viewport with a command line argument + https://bugs.webkit.org/show_bug.cgi?id=43010 + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::applyPrefs): + * QtTestBrowser/main.cpp: + (LauncherApplication::handleUserOptions): + +2010-08-21 Sam Weinig + + Reviewed by Dan Bernstein. + + Remove specialized retain/release functions in favor of a single one for WKTypeRefs + https://bugs.webkit.org/show_bug.cgi?id=44386 + + * MiniBrowser/mac/AppDelegate.m: + (didRecieveMessageFromInjectedBundle): + (didNavigateWithNavigationData): + (-[BrowserAppDelegate init]): + (-[BrowserAppDelegate applicationWillTerminate:]): + * MiniBrowser/mac/BrowserStatisticsWindowController.m: + (-[BrowserStatisticsWindowController initWithThreadedWKContextRef:processWKContextRef:]): + (-[BrowserStatisticsWindowController dealloc]): + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController initWithPageNamespace:]): + (-[BrowserWindowController fetch:]): + (-[BrowserWindowController windowWillClose:]): + (-[BrowserWindowController applicationTerminating]): + (closePage): + (runJavaScriptAlert): + (runJavaScriptConfirm): + (runJavaScriptPrompt): + (-[BrowserWindowController updateProvisionalURLForFrame:]): + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (didClearWindowObjectForFrame): + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::goToURL): + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::PlatformWebView::~PlatformWebView): + +2010-08-20 Benjamin Poulain + + Reviewed by Kenneth Rohde Christiansen. + + WebKit does not build with Python 2.3 + https://bugs.webkit.org/show_bug.cgi?id=44373 + + Replaced the function sorted() by a call to sort() + on the entry list. + The function sorted() has been added to Python 2.4. + The function method sort() of List works with older + versions of Python. + + * Scripts/create-html-entity-table: + +2010-08-20 Martin Robinson + + Reviewed by Pavel Feldman. + + Web Inspector: Inspector tests were disabled for GTK. + https://bugs.webkit.org/show_bug.cgi?id=43977 + + * Scripts/old-run-webkit-tests: Set the WEBKIT_INSPECTOR_PATH to the appropriate + path before running tests. + +2010-08-20 Daniel Bates + + Reviewed by Eric Seidel. + + svn-apply doesn't detect empty line with Windows line endings + after property value + https://bugs.webkit.org/show_bug.cgi?id=43981 + + Part 2 of 2 + + Add unit tests that were not landed in the first commit. + + * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: + - Added the following test cases: + "SVN: binary file (isBinary true) using Windows line endings" + "SVN: property diff, followed by file change diff using Windows line endings" + "SVN: two consecutive property diffs using Windows line endings" + "SVN: binary file with executable bit change usng Windows line endings" + "SVN: binary file followed by property change on different file using Windows line endings" + "SVN: binary file followed by file change on different file using Windows line endings" + "SVN: file change diff with property change, followed by property change diff using Windows line endings" + "SVN: file change diff with property change, followed by file change diff using Windows line endings" + * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: + - Added the following test cases: + "add svn:executable, followed by empty line and start of next diff using Windows line endings" + "add svn:executable, followed by empty line and start of next property diff using Windows line endings" + "multi-line '+' change, followed by empty line and start of next diff using Windows line endings" + "multi-line '+' change, followed by empty line and start of next property diff using Windows line endings" + "add svn:executable, followed by empty line and start of binary patch using Windows line endings" + "multi-line '+' change, followed by empty line and start of binary patch using Windows line endings" + "multi-line '-' change, followed by multi-line '+' change, empty line, and start of binary patch using Windows line endings" + "single-line '+' with trailing new line using Windows line endings" + "single-line '+' with trailing new line, followed by empty line and start of binary patch using Windows line endings" + "single-line '-' change with trailing new line, and single-line '+' change using Windows line endings" + "multi-line '-' change with trailing new line, and multi-line '+' change using Windows line endings" + * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: + - Added the following test cases: + "single-line '-' change followed by empty line with Windows line endings" + "multi-line '+' change and start of binary patch with Windows line endings" + +2010-08-20 Daniel Bates + + Reviewed by Eric Seidel. + + svn-apply doesn't detect empty line with Windows line endings + after property value + https://bugs.webkit.org/show_bug.cgi?id=43981 + + Fixes an issue where an empty line following the property value + in an SVN property change diff would not be detected if it had + Windows line endings (i.e. ended in CRLF). Hence it was consumed + as if it was part of a multi-line property value. + + * Scripts/VCSUtils.pm: + - Modified parseSvnPropertyValue() to detect empty line + with Windows line endings. + - Added toWindowsLineEndings(). + * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: + - Added the following test cases: + "SVN: binary file (isBinary true) using Windows line endings" + "SVN: property diff, followed by file change diff using Windows line endings" + "SVN: two consecutive property diffs using Windows line endings" + "SVN: binary file with executable bit change usng Windows line endings" + "SVN: binary file followed by property change on different file using Windows line endings" + "SVN: binary file followed by file change on different file using Windows line endings" + "SVN: file change diff with property change, followed by property change diff using Windows line endings" + "SVN: file change diff with property change, followed by file change diff using Windows line endings" + * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: + - Added the following test cases: + "add svn:executable, followed by empty line and start of next diff using Windows line endings" + "add svn:executable, followed by empty line and start of next property diff using Windows line endings" + "multi-line '+' change, followed by empty line and start of next diff using Windows line endings" + "multi-line '+' change, followed by empty line and start of next property diff using Windows line endings" + "add svn:executable, followed by empty line and start of binary patch using Windows line endings" + "multi-line '+' change, followed by empty line and start of binary patch using Windows line endings" + "multi-line '-' change, followed by multi-line '+' change, empty line, and start of binary patch using Windows line endings" + "single-line '+' with trailing new line using Windows line endings" + "single-line '+' with trailing new line, followed by empty line and start of binary patch using Windows line endings" + "single-line '-' change with trailing new line, and single-line '+' change using Windows line endings" + "multi-line '-' change with trailing new line, and multi-line '+' change using Windows line endings" + * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: + - Added the following test cases: + "single-line '-' change followed by empty line with Windows line endings" + "multi-line '+' change and start of binary patch with Windows line endings" + +2010-08-19 David Kilzer + + BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins + + * MiniBrowser/mac/BrowserWindowController.m: + (decidePolicyForNavigationAction): Updated method signature. + (decidePolicyForNewWindowAction): Updated method signature. + +2010-08-19 Adam Roben + + Test that NP_Initialize and NP_GetEntryPoints are called in the + correct order + + The order differs between Mac and Windows (see r38858). + + Fixes Crash in + NP_Initialize when loading QuickTime when running + plugins/embed-attributes-setting.html in WebKit2 on Windows + + Reviewed by Sam Weinig. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: Added a CRASH macro and + a boolean to record whether NP_GetEntryPoints has been called. + (NP_Initialize): Crash on Windows if NP_GetEntryPoints hasn't been + called yet. This matches Flash and QuickTime's behavior. Crash on Mac + if NP_GetEntryPoints has been called already. This matches + Silverlight's behavior. + +2010-08-19 Adam Roben + + Make build-webkittestrunner build TestNetscapePlugIn on Windows + + Fixes + + Reviewed by Sam Weinig. + + * WebKitTestRunner/WebKitTestRunner.sln: Added TestNetscapePlugIn. + Threaded it in between ImageDiff and InjectedBundleGenerated. + +2010-08-19 Ojan Vafai + + Reviewed by Adam Barth. + + install rietveld's upload script from a versioned url + https://bugs.webkit.org/show_bug.cgi?id=44291 + + autoinstall expects the file at a given URL to never change. + In order to be able to update the file, we need to be able to + change the path. + + * Scripts/webkitpy/thirdparty/__init__.py: + +2010-08-19 Ojan Vafai + + Reviewed by Adam Barth. + + add --webkit_patch_id to reitveld uploads + https://bugs.webkit.org/show_bug.cgi?id=44289 + + This is the first step in having rietveld store which + patches have been uploaded and getting rid of the + in-rietveld flag. + + * Scripts/webkitpy/common/net/rietveld.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/postcodereview.py: + +2010-08-19 Kenneth Russell + + Reviewed by David Levin. + + Adjust my status from committer to reviewer + https://bugs.webkit.org/show_bug.cgi?id=44277 + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-19 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Chromium DevTools: remove injected script fetcher from test harness. + https://bugs.webkit.org/show_bug.cgi?id=44266 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + +2010-08-19 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Chromium DevTools: There is no need in resource-based InjectedScript.js source. + Now that we populate front-end after its onload handler, we don't need + to install injected script early. Exposing injected script source on the WebCore + level here. + https://bugs.webkit.org/show_bug.cgi?id=44029 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + (DRTDevToolsAgent::runtimePropertyChanged): + (DRTDevToolsAgent::delayedFrontendLoaded): + (DRTDevToolsAgent::frontendLoaded): + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + +2010-08-19 Gustavo Noronha Silva + + Reviewed by Kenneth Rohde Christiansen. + + [Gtk] Enable view mode media feature layout test + https://bugs.webkit.org/show_bug.cgi?id=43278 + + Add view mode media feature testing infrastructure, and add + placeholder methods for the other platforms' + LayoutTestControllers. + + * DumpRenderTree/LayoutTestController.cpp: + (setViewModeMediaFeatureCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setViewModeMediaFeature): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setViewModeMediaFeature): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setViewModeMediaFeature): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setViewModeMediaFeature): + +2010-08-18 Mark Rowe + + Reviewed by Sam Weinig. + + Make it so the WebKit2 test slave runs the WebKit2 tests + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2010-08-18 Sam Weinig + + Reviewed by Mark Rowe. + + Make run-webkit-tests --webkit-test-runner build DumpRenderTree + in addition to WebKitTestRunner to get the DumpRenderTreeSupport + module and the TestNetscapePlugin. + + * Scripts/old-run-webkit-tests: + +2010-08-18 Adam Roben + + Fix hang when saving crash logs on Windows + + * Scripts/old-run-webkit-tests: + (setUpWindowsCrashLogSaving): + (END): + Pass -s to regtool so it will write the Auto value as a string instead + of as a number. This was causing a "do you want to debug?" dialog to + appear. + +2010-08-17 Victor Wang + + Unreviewed. Fixed chromium incremental test json upload. + Quote builder name and test results server in url. + + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + +2010-08-17 Laszlo Gombos + + Reviewed by Ariya Hidayat. + + [Qt] [Symbian] Consistently use Q_OS_SYMBIAN to guard all Symbian platform dependencies + https://bugs.webkit.org/show_bug.cgi?id=44124 + + Q_WS_S60 is not defined for Symbian^4 devices as Q_WS_S60 used to guard + Avkon UI framework dependencies. Use Q_OS_SYMBIAN everywhere to mark + Symbian dependencies. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::open): + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::init): + (LauncherWindow::toggleFullScreenMode): + (LauncherWindow::showFPS): + (LauncherWindow::updateFPS): + * QtTestBrowser/launcherwindow.h: + (WindowOptions::WindowOptions): + * QtTestBrowser/mainwindow.cpp: + (MainWindow::buildUI): + +2010-08-17 Dirk Pranke + + Reviewed by David Levin. + + new-run-webkit-tests: remove --show-sources option + + --show-sources is pretty much obsolete with --trace everything, so + I'm removing it. + + Also rename a couple of methods in the TestTextDiff class to make their + intended visibility (private) more obvious. + + https://bugs.webkit.org/show_bug.cgi?id=44143 + + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: + * Scripts/webkitpy/layout_tests/test_types/text_diff.py: + +2010-08-17 Dirk Pranke + + Reviewed by David Levin. + + remove --fuzzy-image-diff in new-run-webkit-tests (it doesn't work) + + This code bit-rotted at some point more than a year ago, and nobody seems + to miss it. old-run-webkit-tests has a --tolerance flag that new-run-webkit-tests + should support instead, making this flag unnecessary anyway. + + https://bugs.webkit.org/show_bug.cgi?id=44141 + + * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py: Removed. + +2010-08-17 Victor Wang + + Reviewed by Ojan Vafai. + + Update json results generator to have incremental json including + results for tests that pass in current run but failed before. + + https://bugs.webkit.org/show_bug.cgi?id=44119 + + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-08-17 Dirk Pranke + + Reviewed by Eric Seidel. + + fix test-webkitpy, add easy way to find a checkout root + + test-webkitpy currently doesn't work right if run from someplace other + than the checkout root, and it spews a bunch of debug logging because + the deduplicate_tests tests contaminates the test environment. + + This patch cleans up the deduplicate_tests unit tests, and creates + two new methods in scm.py: find_checkout_root() and default_scm(), + both of which use a single algorithm for guessing what checkout root + to use if you aren't explicitly told one from a path. + + https://bugs.webkit.org/show_bug.cgi?id=44001 + + * Scripts/deduplicate-tests: + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + * Scripts/webkitpy/layout_tests/deduplicate_tests.py: + * Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py: + * Scripts/webkitpy/layout_tests/port/test.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: + * Scripts/webkitpy/tool/main.py: + +2010-08-17 Victor Wang + + Reviewed by Ojan Vafai. + + Add support to the test results server for downloading json that + contains test list only. + + This is for json results generator to generate incremental json + results so that it includes results not only for tests failed in + current run, but also tests failed before. + + Also set the results type to "N" (no data) instead of "P" (pass) + if test results cannot be found in incremental json file. + + https://bugs.webkit.org/show_bug.cgi?id=44117 + + * TestResultServer/handlers/testfilehandler.py: + * TestResultServer/model/jsonresults.py: + * TestResultServer/model/jsonresults_unittest.py: + +2010-08-17 Adam Roben + + Use the right path style + + * Scripts/old-run-webkit-tests: + +2010-08-17 Adam Roben + + Fix typo + + * Scripts/old-run-webkit-tests: + +2010-08-17 Adam Roben + + Don't hang when running run-webkit-tests as a non-Administrator on + Vista/7 + + * Scripts/old-run-webkit-tests: + (setUpWindowsCrashLogSaving): Use regtool to set NTSD as the + post-mortem debugger, rather than using NTSD itself. The latter waits + for user input when it fails to set the registry values; the former + does not. + +2010-08-17 Adam Roben + + Teach run-webkit-tests, DumpRenderTree, and WebKitTestRunner how to + save crash logs on Windows + + The crash logs are saved to /tmp/layout-test-results and have names + like CrashLog_02bc_2010-08-17_14-36-20-108.txt. + + Unfortunately, crashes in the WebKit2 web process are recorded as + time-outs by run-webkit-tests. Fixing this is covered by + . + + Fixes + DumpRenderTree should save a stack trace and/or dump file when it + crashes + + Reviewed by Sam Weinig. + + * DumpRenderTree/win/DumpRenderTree.cpp: + (exceptionFilter): + (main): + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::exceptionFilter): + (WTR::TestController::platformInitialize): + These changes set up an exception filter that prints #CRASHED to + stderr, then lets the exception propagate normally. This allows + run-webkit-tests to detect when we've crashed even when a post-mortem + debugger attaches to the process. + + * Scripts/old-run-webkit-tests: + (top level): Declared some variables used by the crash-log-saving + code. + (openDumpTool): Copy _NT_SYMBOL_PATH into the clean environment so + that the post-mortem debugger has access to it. + (toCygwinPath): Added. This is the opposite of toWindowsPath. + (readFromDumpToolWithTimer): If the dump tool prints #CRASHED to + stderr, consider it a crash. + (setUpWindowsCrashLogSaving): Added. Saves the current post-mortem + debugger, then sets ntsd as the post-mortem debugger. ntsd is + configured to save a crash log and then quit automatically. + (END): Added. Restores the previous post-mortem debugger when the + script exits. + +2010-08-17 Victor Wang + + Reviewed by ojan@chromium.org. + + Update test results server: + 1. Normalize test results and times after merging (prune tests where + all runs pass or do not have data, truncate all test items to max + number of builds) + 2. times should be int not string. + 3. when inserting a new test item, should keep old data regardless + whether or not they have same item type with new one. + + https://bugs.webkit.org/show_bug.cgi?id=43861 + + * TestResultServer/model/jsonresults.py: + * TestResultServer/model/jsonresults_unittest.py: + +2010-08-16 Sam Weinig + + Reviewed by Mark Rowe. + + Add WebKit2 Mac tester to buildbot. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + +2010-08-16 Paul Sawaya + + Reviewed by Chris Marrin. + + Added shader validation via ANGLE + https://bugs.webkit.org/show_bug.cgi?id=42405 + + Added ANGLE to webkit build + + * Scripts/build-webkit: + +2010-08-16 Kevin Ollivier + + [wx] Build fix, do not build WebCore as a convenience library as this leads to + errors in the Win build w/export symbols and causes problems with DOM bindings + debugging in gdb. + + * DumpRenderTree/wscript: + * Scripts/build-webkit: + * wx/browser/wscript: + * wx/build/settings.py: + * wx/build/waf_extensions.py: + +2010-08-16 Dan Bernstein + + Build fix. + + * WebKitTestRunner/TestController.cpp: + (WTR::createOtherPage): Initialize the contentsSizeChanged member. + (WTR::TestController::initialize): Ditto. + +2010-08-16 Balazs Kelemen + + Reviewed by Kenneth Rohde Christiansen. + + Handle content size change in WebKit2 + Re-landing after fix. + + https://bugs.webkit.org/show_bug.cgi?id=43198 + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): Initialize WKPageUICallback::contetsSizeChanged to 0. + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): Initialize WKPageUICallback::contetsSizeChanged to 0. + +2010-08-16 Sheriff Bot + + Unreviewed, rolling out r65419. + http://trac.webkit.org/changeset/65419 + https://bugs.webkit.org/show_bug.cgi?id=44053 + + Broke the Windows build (Requested by bbandix on #webkit). + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + +2010-08-16 Balazs Kelemen + + Reviewed by Kenneth Rohde Christiansen. + + Handle content size change in WebKit2 + + https://bugs.webkit.org/show_bug.cgi?id=43198 + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): Initialize WKPageUICallback::contetsSizeChanged to 0. + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): Initialize WKPageUICallback::contetsSizeChanged to 0. + +2010-08-16 Ariya Hidayat + + Add my new email address to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-16 Zoltan Horvath + + Add my old e-mail addresses to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-15 Jon Honeycutt + + WebEditorClient::didBeginEditing is never called in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=42939 + + Reviewed by Sam Weinig. + + * WebKitTestRunner/PlatformWebView.h: + Declare focus(). + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::resetStateToConsistentValues): + Focus the PlatformWebView. + + * WebKitTestRunner/mac/PlatformWebViewMac.mm: + (WTR::PlatformWebView::focus): + Stubbed. + + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::PlatformWebView::focus): + Focus the view. + +2010-08-15 Jon Honeycutt + + run-webkit-tests should not strip editing callbacks when using + WebKitTestRunner on Windows + https://bugs.webkit.org/show_bug.cgi?id=44000 + + Reviewed by Mark Rowe. + + * Scripts/old-run-webkit-tests: + Leave $stripEditingCallbacks undefined until we look for command-line + arguments. If using WebKit2, set it to 0 if not explicity set on the + command line. Later, set it to isCygwin() to match old behavior if it is + not yet defined. + +2010-08-15 Kevin Ollivier + + [wx] Build fix, remove define always set to the correct value by wtf/Platform.h. + + * wx/build/settings.py: + +2010-08-14 Martin Robinson + + Reviewed by Kenneth Rohde Christiansen. + + [GTK] autogen.sh not executed if build-webkit options change + https://bugs.webkit.org/show_bug.cgi?id=42266 + + Rerun autogen.sh in situations where the arguments to build-webkit have + changed since the previous build. This will fix some issues on the bots + where the build does not notice changes to default build-webkit arguments. + + * Scripts/webkitdirs.pm: Add special logic for detecting changes to build-webkit arguments. + +2010-08-14 Eric Seidel + + Unreviewed. Another fix to support python 2.3. + + Add support for MathML entities + https://bugs.webkit.org/show_bug.cgi?id=43949 + + * Scripts/webkitpy/thirdparty/simplejson/decoder.py: + - It looks like our simplejson is version 1.7.3 which + should be python 2.3 compatible. But someone modified + our copy slightly from the original source. + I've removed the relative import in hopes this fixes + the problem. + +2010-08-13 Eric Seidel + + Unreviewed. Build fix only. + + Add support for MathML entities + https://bugs.webkit.org/show_bug.cgi?id=43949 + + * Scripts/create-html-entity-table: + - Hack sys.path to avoid executing 2.5 dependent python + on systems (like chromium-win and Tiger) which do not have 2.5 python. + +2010-08-13 Adam Barth + + Reviewed by Eric Seidel. + + Rename some concepts in HTML entity search to be more self-documenting + https://bugs.webkit.org/show_bug.cgi?id=44004 + + Reflect name change in generator script. + + * Scripts/create-html-entity-table: + +2010-08-12 Adam Barth + + Reviewed by Eric Seidel. + + Add support for MathML entities + https://bugs.webkit.org/show_bug.cgi?id=43949 + + A script for generating the C++ state data structure describing all the + entities from a JSON description. + + * Scripts/create-html-entity-table: Added. + +2010-08-13 Dirk Pranke + + Reviewed by Eric Seidel. + + Rewrite new-run-webkit-test's wait_for_threads_to_finish loop to + check for exceptions on all threads, not just the first thread. + + This change also changes the logging behavior for wedged threads + to only dump the stacks of threads that are actually wedged. + + Refactor the thread classes in the dump_render_tree_thread module + to make the contract between TestRunner and TestShellThread clearer. + + Added a bunch of unit tests. + https://bugs.webkit.org/show_bug.cgi?id=38561 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: + +2010-08-13 Kenichi Ishibashi + + Reviewed by Shinichiro Hamaji. + + Add test_expectations.txt syntax checker to check-webkit-style. + https://bugs.webkit.org/show_bug.cgi?id=43899 + + Just utilizing layout_tests/layout_package/test_expectations.py for checking + the syntax of test_expectations.txt. + This change also moves tab checking class from style/checkers/text.py to + style/checkers/common.py for sharing code. + + * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: + * Scripts/webkitpy/style/checker.py: + * Scripts/webkitpy/style/checkers/common.py: + * Scripts/webkitpy/style/checkers/common_unittest.py: + * Scripts/webkitpy/style/checkers/test_expectations.py: Added. + * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Added. + * Scripts/webkitpy/style/checkers/text.py: + * Scripts/webkitpy/style_references.py: + +2010-08-12 Jon Honeycutt + + WebKitTestRunner does not correctly resize WebView for W3C SVG tests + https://bugs.webkit.org/show_bug.cgi?id=43945 + + Reviewed by Sam Weinig. + + * WebKitTestRunner/TestInvocation.cpp: + (WTR::sizeWebViewForCurrentTest): + Allow for a Windows-style path. + + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::PlatformWebView::resizeTo): + Call SetWindowPos to resize the view window. + +2010-08-12 David Levin + + Build break fix. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::resetStateToConsistentValues): Removed usage + of a variable that doesn't exist in the class. + +2010-08-12 Jon Honeycutt + + WebKitTestRunner needs to run tests without using native controls + https://bugs.webkit.org/show_bug.cgi?id=43772 + + Reviewed by Sam Weinig. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + Call platformInitializeContext(). + + * WebKitTestRunner/TestController.h: + Declare platformInitializeContext(). + + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::platformInitializeContext): + Stubbed. + + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::platformInitializeContext): + Call WKContextSetShouldPaintNativeControls() to disable native control + drawing. + +2010-08-12 Sam Weinig + + Reviewed by Alexey Proskuryakov. + + WebKitTestRunner should be more aggressive about ensuring consistent state between tests + https://bugs.webkit.org/show_bug.cgi?id=43653 + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::InjectedBundle): + (WTR::InjectedBundle::didReceiveMessage): + (WTR::InjectedBundle::beginTesting): + (WTR::InjectedBundle::done): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + (WTR::InjectedBundle::isTestRunning): + (WTR::InjectedBundle::): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::stopLoading): + (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): + (WTR::InjectedBundlePage::dump): + (WTR::InjectedBundlePage::didFinishLoadForFrame): + (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): + (WTR::InjectedBundlePage::didReceiveTitleForFrame): + (WTR::InjectedBundlePage::didClearWindowForFrame): + (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): + (WTR::InjectedBundlePage::willAddMessageToConsole): + (WTR::InjectedBundlePage::willSetStatusbarText): + (WTR::InjectedBundlePage::willRunJavaScriptAlert): + (WTR::InjectedBundlePage::willRunJavaScriptConfirm): + (WTR::InjectedBundlePage::shouldBeginEditing): + (WTR::InjectedBundlePage::shouldEndEditing): + (WTR::InjectedBundlePage::shouldInsertNode): + (WTR::InjectedBundlePage::shouldInsertText): + (WTR::InjectedBundlePage::shouldDeleteRange): + (WTR::InjectedBundlePage::shouldChangeSelectedRange): + (WTR::InjectedBundlePage::shouldApplyStyle): + (WTR::InjectedBundlePage::didBeginEditing): + (WTR::InjectedBundlePage::didEndEditing): + (WTR::InjectedBundlePage::didChange): + (WTR::InjectedBundlePage::didChangeSelection): + Don't do any work if we are not currently running a test. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + * WebKitTestRunner/StringFunctions.h: + (WTR::toCF): + Add conversion function for WKURLRef -> CFURLRef + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::TestController): + (WTR::TestController::initialize): + (WTR::TestController::resetStateToConsistentValues): + (WTR::TestController::runTest): + (WTR::TestController::didFinishLoadForFrame): + * WebKitTestRunner/TestController.h: + (WTR::TestController::): + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::invoke): + * WebKitTestRunner/TestInvocation.h: + Move resetting code to TestController. + + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::runUntil): + * WebKitTestRunner/mac/TestInvocationMac.mm: Removed. + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::runUntil): + * WebKitTestRunner/win/TestInvocationWin.cpp: Removed. + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + Move runUntil to TestController. + +2010-08-12 Lucas De Marchi + + Unreviewed. + + Adding myself to the committers list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-12 Hayato Ito + + Reviewed by Tony Chang. + + Merge pretty printers for gdb. + https://bugs.webkit.org/show_bug.cgi?id=43850 + + We need to update webcore.py because basic string classes have moved to WTF from WebCore. + It is good timing to merge webcore.py and wtf.py and name it 'webkit.py'. + webcore.py is left for backward compatibility. + + * gdb/webcore.py: + * gdb/webkit.py: Added. + * gdb/wtf.py: Removed. + +2010-08-11 Tony Chang + + Reviewed by David Levin. + + [chromium] add google-chrome layout test result directories + https://bugs.webkit.org/show_bug.cgi?id=43889 + + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + * Scripts/webkitpy/layout_tests/port/factory.py: + * Scripts/webkitpy/layout_tests/port/google_chrome.py: Added. + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + +2010-08-11 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Disable accelerated compositing + https://bugs.webkit.org/show_bug.cgi?id=43894 + + Disable accelerated compositing because DRT is not ready for + it. This change fixes hundreds of test crashes on Windows and + Linux. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetWebSettings): + +2010-08-11 Gustavo Noronha Silva + + Unreviewed. Adding my Collabora personality to the list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-11 Martin Robinson + + Adding myself as a reviewer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-11 Daniel Bates + + Reviewed by Darin Adler. + + Perl warnings when running commit-log-editor + https://bugs.webkit.org/show_bug.cgi?id=43856 + + Fixes Perl warnings introduced by the patch for Bug #40548. + + Perl doesn't have symbolic names for True/False. Instead, we + should use boolean values. Moreover, the variable installedEditorApplication + is not be used and should be renamed builtEditorApplication so that it + uses the existing machinery to set the commit log editor application. + + * Scripts/commit-log-editor: + +2010-08-11 Adam Barth + + Reviewed by Eric Seidel. + + Trying waiting for httpd lock in the EWS + https://bugs.webkit.org/show_bug.cgi?id=43833 + + If this works, we can probably run the tests on the mac-ews, which + would be very exciting. :) + + * Scripts/webkitpy/tool/steps/runtests.py: + +2010-08-11 Marcus Bulach + + Reviewed by Eric Seidel. + + Check in a script to list redundant test outputs. + https://bugs.webkit.org/show_bug.cgi?id=37630 + + If e.g. platform/mac-leopard is missing an expected test output, we + fall back on platform/mac. This means it's possible to grow redundant + test outputs, where we have the same expected data in both a platform + directory and another platform it falls back on. + (original patch by Evan Marting https://bugs.webkit.org/attachment.cgi?id=53398) + + * Scripts/deduplicate-tests: Added. + * Scripts/webkitpy/layout_tests/deduplicate_tests.py: Added. + * Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py: Added. + +2010-08-11 Antonio Gomes + + Reviewed by Ariya Hidayat. + + [Qt] QtTestBrowser: after switching between QWebView and QGraphicsWebView, rotation actions get broken + https://bugs.webkit.org/show_bug.cgi?id=43853 + + LauncherWindow::createChrome is connecting menu itens to WebViewGraphicsBased's slots directly. + It behaviors badly when user launches the QtTestBrowser in QWebView mode, since then switching to + QGraphicsWebView mode, createChrome is not called again, and menu items end up not getting connected + to slots at all. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + (LauncherWindow::animatedFlip): + (LauncherWindow::animatedYFlip): + * QtTestBrowser/launcherwindow.h: + +2010-08-11 Antonio Gomes + + Reviewed by Simon Hausmann. + + [Qt] QtTestBrowser: switching between QWebView and QGraphicsWebView modes is broken + https://bugs.webkit.org/show_bug.cgi?id=43851 + + All window options data (including the bool holding if the view is either QWebView or + QGraphicsWebView based) is stored in m_windowOptions, a class member of LauncherWindow. + When toggle the view from QWebView to QGraphicsWebView based (and vice-versa), we were + not updating LauncherWindow::WindowOptions::m_useGraphicsView bit, and then things were + getting broken. + + Patch addresses this issue. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + (LauncherWindow::toggleWebView): + (LauncherWindow::toggleAcceleratedCompositing): + +2010-08-10 Antonio Gomes + + Reviewed by Ariya Hidayat. + + [Qt] QtTestBrowser: lazy instantiate "YRotation" state machine and related objects + https://bugs.webkit.org/show_bug.cgi?id=43831 + + Only instantiate QStateMachine and friends associated to the YRotation action on demand. + + * QtTestBrowser/webview.cpp: + (WebViewGraphicsBased::WebViewGraphicsBased): + (WebViewGraphicsBased::animatedYFlip): + +2010-08-11 Darin Adler + + Reviewed by John Sullivan. + + Improved editor options for prepare-ChangeLog and commit-log-editor + https://bugs.webkit.org/show_bug.cgi?id=40548 + + * Scripts/commit-log-editor: Split editor strings on spaces so EDITOR + values like "xed --launch --wait" work properly. + + * Scripts/prepare-ChangeLog: Added a new CHANGE_LOG_EDITOR so we can + use a command line tool with the $openChangeLogs feature. + +2010-08-11 Yury Semikhatsky + + Reviewed by Pavel Feldman. + + Web Inspector: remove InjectDispatch.js + https://bugs.webkit.org/show_bug.cgi?id=43835 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + +2010-08-10 Dirk Pranke + + Reviewed by Eric Seidel. + + webkit-patch should refuse to run under Win32 Python + https://bugs.webkit.org/show_bug.cgi?id=40962 + + Given that there are lots of places in webkit-patch's code that + assume unix-style filenames (forward slashes), webkit-patch fails + with weird file-not-found errors when run under a native windows + Python. It would be nice if we just trapped this and errored out + at the beginning, rather than producing unpredictable errors. + + * Scripts/webkit-patch: + +2010-08-10 Kent Tamura + + Unreviewed, build fix. + + Chromium build fix for r65107. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + +2010-08-10 Sergio Villar Senin + + Reviewed by Xan Lopez. + + [GTK] http/tests/media/video-cookie.html fails + https://bugs.webkit.org/show_bug.cgi?id=42240 + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setAlwaysAcceptCookies): create the + SoupCookieJar if it does not exist. Otherwise the accept policy + won't be set. + +2010-08-10 Chris Marrin + + Reviewed by Oliver Hunt. + + Add suspendAnimations/resumeAnimation API to DRT + https://bugs.webkit.org/show_bug.cgi?id=43733 + + Adds suspendAnimations() and resumeAnimations() to LayoutTestController. + Calls functions with the same names on AnimationController for the + mainFrame. + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + * DumpRenderTree/LayoutTestController.cpp: + (suspendAnimationsCallback): + (resumeAnimationsCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::suspendAnimations): + (LayoutTestController::resumeAnimations): + +2010-08-10 Dimitri Glazkov + + Reviewed by Ojan Vafai. + + [Chromium/DRT] Enable saving layout test results. + https://bugs.webkit.org/show_bug.cgi?id=43796 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Added more + parameters to the new-run-webkit-tests, including the name + of the test results server. + +2010-08-10 Jian Li + + More chromium build fix. + + * DumpRenderTree/chromium/MockSpellCheck.cpp: + (MockSpellCheck::spellCheckWord): + (MockSpellCheck::initializeIfNeeded): + * DumpRenderTree/chromium/NotificationPresenter.cpp: + (NotificationPresenter::grantPermission): + (NotificationPresenter::show): + (NotificationPresenter::checkPermission): + +2010-08-10 Jian Li + + Chromium build fix. + + * DumpRenderTree/chromium/MockSpellCheck.cpp: + * DumpRenderTree/chromium/NotificationPresenter.cpp: + +2010-08-10 Victor Wang + + Reviewed by Ojan Vafai. + + Update test results server merge logic so the aggregated + results and times are updated for tests that are + in aggragated json but not in incremental json. + + Also update unittest to test this case. + + https://bugs.webkit.org/show_bug.cgi?id=43769 + + * TestResultServer/model/jsonresults.py: + * TestResultServer/model/jsonresults_unittest.py: + +2010-08-09 Antonio Gomes + + Reviewed by Ariya Hidayat. + + [Qt] QtTestBrowser: proper set scene rect + + When resizesToContents is ON scene's rect is set to the boundary of + the mainFrame. However, navigating to other web page should keep resizing + scene's rect according to the new document loaded. Patch addresses this issue. + + Now resizesToContents and scrolling properly work on QtTestBrowser. + + * QtTestBrowser/webview.cpp: + (WebViewGraphicsBased::setPage): + (WebViewGraphicsBased::contentsSizeChanged): + (WebViewGraphicsBased::setResizesToContents): + (WebViewGraphicsBased::resizeEvent): + * QtTestBrowser/webview.h: + +2010-08-09 Antonio Gomes + + Reviewed by Ariya Hidayat. + + [Qt] QtTestBrowser: Clean up LauncherWindow code. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::LauncherWindow): Moves applyPrefs methods call from the constructor to init(). + (LauncherWindow::init): Fixed comments. + (LauncherWindow::applyPrefs): Move the method around. + (LauncherWindow::createChrome): Move more code of this method around, for grouping, and fixing up comments. + +2010-08-09 Antonio Gomes + + Reviewed by Ariya Hidayat. + + [Qt] QtTestBrowser: make reset-zooming to animate when tiled backing store is on. + + It gets control+0 the same visual effect as control++ or control-. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::toggleZoomTextOnly): + +2010-08-09 Antonio Gomes + + Reviewed by Ariya Hidayat. + + [Qt] QtTestBrowser:: make m_zoomLevels a static member. + + Not all instances of LauncherWindow need its own m_zoomLevel. + + * QtTestBrowser/launcherwindow.cpp: + * QtTestBrowser/launcherwindow.h: + +2010-08-09 Sam Weinig + + Reviewed by Geoffrey Garen. + + Add zoom support for injected bundle + https://bugs.webkit.org/show_bug.cgi?id=43759 + + Use zoom factor SPI to implement zoom related eventSender functions. + + * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: + * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: + (WTR::EventSendingController::textZoomIn): + (WTR::EventSendingController::textZoomOut): + (WTR::EventSendingController::zoomPageIn): + (WTR::EventSendingController::zoomPageOut): + * WebKitTestRunner/InjectedBundle/EventSendingController.h: + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::reset): Reset zoom mode and level for each test. + +2010-08-09 Gavin Barraclough + + Speculative chromium build fix III. + + * DumpRenderTree/chromium/MockSpellCheck.h: + * DumpRenderTree/chromium/NotificationPresenter.h: + * DumpRenderTree/chromium/WebViewHost.h: + (WebViewHost::addClearHeader): + (WebViewHost::clearHeaders): + +2010-08-09 Ojan Vafai + + Reviewed by Tony Chang. + + increase the number of test results that we save + https://bugs.webkit.org/show_bug.cgi?id=43763 + + Now that we do incremental uploads, we can increase the number of + results that we save for http://test-results.appspot.com/dashboards/flakiness_dashboard.html. + + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + +2010-08-09 Evan Martin + + Reviewed by Tony Chang. + + [chromium] DRT error print statement incorrectly tries to print a FILE* + https://bugs.webkit.org/show_bug.cgi?id=43747 + + * DumpRenderTree/chromium/ImageDiff.cpp: + (writeFile): pass the correct pointer. + +2010-08-09 Victor Wang + + Reviewed by Ojan Vafai. + + Upload incremental test results json to server by default. + + https://bugs.webkit.org/show_bug.cgi?id=43743 + + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-08-09 Eric Seidel + + Reviewed by Adam Barth. + + EWS bots wait 2 minutes between patches + https://bugs.webkit.org/show_bug.cgi?id=43731 + + * Scripts/webkitpy/tool/bot/queueengine.py: + - Don't sleep after failures. This was a hold-over from + an earlier design. + * Scripts/webkitpy/tool/commands/earlywarningsystem.py: + - EWS bots were not properly reporting true/false from process_work_item. + They were always returning None, thus false, thus always logging + as a failure and sleeping 2 minutes after each patch. + +2010-08-09 Sam Weinig + + Reviewed by Anders Carlsson. + + Stub out EventSender for WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=43703 + + * WebKitTestRunner/DerivedSources.make: + * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: + Add ability to pass javascript arguments to the wrapped object. + + * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Added. + * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: Added. + (WTR::EventSendingController::create): + (WTR::EventSendingController::EventSendingController): + (WTR::EventSendingController::~EventSendingController): + (WTR::EventSendingController::wrapperClass): + (WTR::setExceptionForString): + (WTR::EventSendingController::mouseDown): + (WTR::EventSendingController::mouseUp): + (WTR::EventSendingController::mouseMoveTo): + (WTR::EventSendingController::keyDown): + (WTR::EventSendingController::contextClick): + (WTR::EventSendingController::leapForward): + (WTR::EventSendingController::textZoomIn): + (WTR::EventSendingController::textZoomOut): + (WTR::EventSendingController::zoomPageIn): + (WTR::EventSendingController::zoomPageOut): + (WTR::EventSendingController::makeWindowObject): + * WebKitTestRunner/InjectedBundle/EventSendingController.h: Added. + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::reset): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + (WTR::InjectedBundle::eventSendingController): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didClearWindowForFrame): + Add stubbed out EventSenderController. + + * WebKitTestRunner/InjectedBundle/GCController.h: + Remove incorrect comment. + + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + * WebKitTestRunner/win/InjectedBundle.vcproj: + Add new files. + +2010-08-08 Kent Tamura + + Unreviewed, trivial fix. + + Fix "WindowsError: [Error 32] The process cannot access the file + because it is being used by another process" introduced by r64959. + + * BuildSlaveSupport/test-result-archive: + +2010-08-08 Kent Tamura + + Reviewed by Tony Chang. + + Chromium buildbot: Avoid "zip" command dependency + https://bugs.webkit.org/show_bug.cgi?id=43470 + + * BuildSlaveSupport/test-result-archive: + For Chromium port, creates a zip archive with zipfile package of Python + instead of external "zip" command. We'd like to avoid additional + command installation. + +2010-08-08 Jon Honeycutt + + WebKitTestRunner should add the QuickTime dir to the PATH environment + variable + https://bugs.webkit.org/show_bug.cgi?id=43686 + + Reviewed by Dan Bernstein. + + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::addQTDirToPATH): + Copied from DRT. + (WTR::TestController::platformInitialize): + Call addQTDirToPath(). + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + Link to shlwapi.lib for SHGetValue. + +2010-08-07 Sam Weinig + + Reviewed by Maciej Stachowiak. + + WebKitTestRunner needs layoutTestController.dumpTitleChanges + + https://bugs.webkit.org/show_bug.cgi?id=42683 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didReceiveTitleForFrame): + (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::dumpTitleChanges): + (WTR::LayoutTestController::shouldDumpTitleChanges): + +2010-08-07 Sam Weinig + + Reviewed by Anders Carlsson. + + WebKitTestRunner needs to print onunload handler information + + https://bugs.webkit.org/show_bug.cgi?id=42703 + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::operator<<): + (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): + +2010-08-07 Sam Weinig + + Reviewed by Anders Carlsson. + + Add additional loader client functions need to complete WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=43684 + + Remove unnecessary and jarring underscores as well. + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (didClearWindowObjectForFrame): + (didCreatePage): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): + (WTR::InjectedBundlePage::didReceiveServerRedirectForProvisionalLoadForFrame): + (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): + (WTR::InjectedBundlePage::didCommitLoadForFrame): + (WTR::InjectedBundlePage::didFinishLoadForFrame): + (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): + (WTR::InjectedBundlePage::didReceiveTitleForFrame): + (WTR::InjectedBundlePage::didClearWindowForFrame): + (WTR::InjectedBundlePage::didCancelClientRedirectForFrame): + (WTR::InjectedBundlePage::willPerformClientRedirectForFrame): + (WTR::InjectedBundlePage::didChangeLocationWithinPageForFrame): + (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): + (WTR::InjectedBundlePage::didHandleOnloadEventsForFrame): + (WTR::InjectedBundlePage::didDisplayInsecureContentForFrame): + (WTR::InjectedBundlePage::didRunInsecureContentForFrame): + (WTR::InjectedBundlePage::willAddMessageToConsole): + (WTR::InjectedBundlePage::willSetStatusbarText): + (WTR::InjectedBundlePage::willRunJavaScriptAlert): + (WTR::InjectedBundlePage::willRunJavaScriptConfirm): + (WTR::InjectedBundlePage::willRunJavaScriptPrompt): + (WTR::InjectedBundlePage::shouldBeginEditing): + (WTR::InjectedBundlePage::shouldEndEditing): + (WTR::InjectedBundlePage::shouldInsertNode): + (WTR::InjectedBundlePage::shouldInsertText): + (WTR::InjectedBundlePage::shouldDeleteRange): + (WTR::InjectedBundlePage::shouldChangeSelectedRange): + (WTR::InjectedBundlePage::shouldApplyStyle): + (WTR::InjectedBundlePage::didBeginEditing): + (WTR::InjectedBundlePage::didEndEditing): + (WTR::InjectedBundlePage::didChange): + (WTR::InjectedBundlePage::didChangeSelection): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2010-08-07 Dan Bernstein + + Build fix. + + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Made the references + to JSGCController.{cpp,h} relative to the build root. + +2010-08-07 Sam Weinig + + Reviewed by Anders Carlsson. + + WebKitTestRunner needs GCController + + https://bugs.webkit.org/show_bug.cgi?id=42701 + + * WebKitTestRunner/DerivedSources.make: + * WebKitTestRunner/InjectedBundle/Bindings/GCController.idl: Added. + * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: + (WTR::setProperty): + * WebKitTestRunner/InjectedBundle/GCController.cpp: Added. + (WTR::GCController::create): + (WTR::GCController::GCController): + (WTR::GCController::~GCController): + (WTR::GCController::wrapperClass): + (WTR::GCController::collect): + (WTR::GCController::collectOnAlternateThread): + (WTR::GCController::getJSObjectCount): + (WTR::GCController::makeWindowObject): + * WebKitTestRunner/InjectedBundle/GCController.h: Added. + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::reset): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + (WTR::InjectedBundle::bundle): + (WTR::InjectedBundle::gcController): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didClearWindowForFrame): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::keepWebHistory): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + * WebKitTestRunner/win/InjectedBundle.vcproj: + +2010-08-05 Jon Honeycutt + + WebKitTestRunner needs to be able to set the font smoothing type + https://bugs.webkit.org/show_bug.cgi?id=43406 + + Reviewed by Adam Roben. + + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::resetPreferencesToConsistentValues): + Set the font smoothing level to + kWKFontSmoothingLevelNoSubpixelAntiAliasing to match DRT. + +2010-08-06 Jon Honeycutt + + Fix a missed variable rename. + + Unreviewed. + + * Scripts/old-run-webkit-tests: + +2010-08-06 Jon Honeycutt + + mac-wk2/Skipped should be used on Windows when running regression tests + https://bugs.webkit.org/show_bug.cgi?id=43494 + + Reviewed by Adam Roben. + + * Scripts/old-run-webkit-tests: + If the platform is win-wk2, also read the mac-wk2 skipped list. + +2010-08-06 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Should revoke scheduled tasks + https://bugs.webkit.org/show_bug.cgi?id=43560 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + (DRTDevToolsAgent::reset): Calls RevokeAll(). + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + * DumpRenderTree/chromium/DRTDevToolsClient.cpp: + (DRTDevToolsClient::reset): Calls RevokeAll(). + * DumpRenderTree/chromium/DRTDevToolsClient.h: + * DumpRenderTree/chromium/EventSender.cpp: + (EventSender::reset): Calls RevokeAll(). + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::reset): Calls RevokeAll(). + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetTestController): Calls DRTDevToolsAgent::reset() and DRTDevToolsClient::reset(). + +2010-08-06 Tor Arne Vestbø + + Reviewed by Antonio Gomes. + + [Qt] Fix the DRT build on Mac OS X + + * DumpRenderTree/qt/DumpRenderTree.pro: + +2010-08-06 Jochen Eisinger + + Reviewed by Pavel Feldman. + + Rietvield's upload.py moved to a different location. + https://bugs.webkit.org/show_bug.cgi?id=43613 + + * Scripts/webkitpy/thirdparty/__init__.py: + +2010-05-23 Eric Seidel + + Reviewed by Adam Barth. + + QueueStatusServer needs better queue-status pages + https://bugs.webkit.org/show_bug.cgi?id=39562 + + The primary goal of this patch is to display queue + positions somewhere on the site so that it's easier + for commit-queue users to know when their pach will + be landed. I also tried to improve the root page + to be more useful than the previous wall of status text. + + * QueueStatusServer/handlers/recentstatus.py: + * QueueStatusServer/main.py: + * QueueStatusServer/model/queues.py: + * QueueStatusServer/templates/recentstatus.html: + +2010-08-05 Victor Wang + + Reviewed by Ojan Vafai. + + Add option to generate/upload incremental json results to test result server. + Also refactor the json results generator unittest code to test + incremental and aggregated json results. + + https://bugs.webkit.org/show_bug.cgi?id=43519 + + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-08-05 Jian Li + + Reviewed by David Levin. + + Unify blob related feature defines to ENABLE(BLOB). + https://bugs.webkit.org/show_bug.cgi?id=43081 + + * Scripts/build-webkit: + +2010-08-05 Satish Sampath + + Reviewed by Jeremy Orlow. + + Add speech input controller mock in WebKit and a layout test. + https://bugs.webkit.org/show_bug.cgi?id=43477 + + Added LayoutTestController::setMockSpeechInputResultCallback method. + + * DumpRenderTree/LayoutTestController.cpp: + (setMockSpeechInputResultCallback): Wrapper invoking the member function. + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::setMockSpeechInputResult): Sets the mock result. + (LayoutTestController::speechInputController): Creates the mock controller. + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::speechInputController): Creates the mock controller. + * DumpRenderTree/chromium/WebViewHost.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setMockSpeechInputResult): dummy method. + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setMockSpeechInputResult): dummy method. + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setMockSpeechInputResult): dummy method. + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: dummy method. + (LayoutTestController::setMockSpeechInputResult): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: dummy method. + (LayoutTestController::setMockSpeechInputResult): + +2010-08-04 Adam Roben + + Fix the path to TestNetscapePlugin's directory on Windows + + Fixes WebKitTestRunner on Windows fails to + load TestNetscapePlugin + + Reviewed by Jon Honeycutt. + + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::initializeTestPluginDirectory): + TestNetscapePlugin is in a TestNetscapePlugin[_Debug] directory that's + next to WebKitTestRunner.exe. Previously we were passing the directory + that contains WebKitTestRunner.exe. Also fixed some leaks. + +2010-08-05 Kenichi Ishibashi + + Reviewed by Shinichiro Hamaji. + + check-webkit-style returns non-zero when patch is entirely minus lines. + https://bugs.webkit.org/show_bug.cgi?id=38169 + + * Scripts/check-webkit-style: + Check whether a patch contains modified files that are entirely minus lines. + * Scripts/webkitpy/style/filereader.py: + Add a variable that holds number of files that contain only deleted lines. + * Scripts/webkitpy/style/patchreader.py: + Count up modified files that contain only deleted lines. + +2010-08-05 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + DevTools: get rid of delayed command dispatching on front-end side. + + https://bugs.webkit.org/show_bug.cgi?id=43479 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + (DRTDevToolsAgent::detach): + (DRTDevToolsAgent::frontendLoaded): + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + * DumpRenderTree/chromium/DRTDevToolsClient.cpp: + (DRTDevToolsClient::~DRTDevToolsClient): + (DRTDevToolsClient::sendFrontendLoaded): + * DumpRenderTree/chromium/DRTDevToolsClient.h: + +2010-08-04 Kenichi Ishibashi + + Reviewed by Shinichiro Hamaji. + + Fixes check-webkit-style false positive on "new uint32_t." + https://bugs.webkit.org/show_bug.cgi?id=43077 + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-08-04 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Remove base/linked_ptr.h dependency + https://bugs.webkit.org/show_bug.cgi?id=43472 + + Replace linked_ptr with RefPtr. + We need to use RefPtr<> because m_pendingEntry points an object in + m_entries or not in m_entries. + + * DumpRenderTree/chromium/TestNavigationController.cpp: + (TestNavigationEntry::create): Added. + (TestNavigationController::activeEntry): + (TestNavigationController::didNavigateToEntry): + (TestNavigationController::discardPendingEntry): + (TestNavigationController::insertEntry): + (TestNavigationController::navigateToPendingEntry): + * DumpRenderTree/chromium/TestNavigationController.h: + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::loadURLForFrame): + Use TestNavigationEntry::create(). + (WebViewHost::updateURL): + Use RefPtr<>. + (WebViewHost::updateSessionHistory): + Remove unnecessary static_cast<>. + +2010-08-04 Kent Tamura + + Reviewed by Dimitri Glazkov. + + Fix a problem that "archived test results" step doesn't work on Chromium buildbots + https://bugs.webkit.org/show_bug.cgi?id=43333 + + * BuildSlaveSupport/test-result-archive: + - Make layoutTestResultsDir local and pass it to archiveTestResults() + - Adjust layoutTestResultsDir for Chromium + +2010-08-04 Kent Tamura + + Reviewed by Dimitri Glazkov. + + NRWT: websocket_server startup detection failure + https://bugs.webkit.org/show_bug.cgi?id=43466 + + * Scripts/webkitpy/layout_tests/port/websocket_server.py: + Increase timeout value: 5 second -> 10 second + +2010-08-04 Victor Wang + + Reviewed by Ojan Vafai. + + -. Add result.json incremental merging functionality to test results app engine. + -. blobstore is not suitable for AE data merging and there is no API to + programatically edit existing blob or write a new one yet, so replace blobstore + with datastore. If file is oversize (>1000*1000 bytes), store file data in + multiple datastore entries. + -. Fix styles. + + Test: jsonresults_unittest to test merging logics. + + https://bugs.webkit.org/show_bug.cgi?id=38599 + + * TestResultServer/handlers/dashboardhandler.py: + * TestResultServer/handlers/menu.py: + * TestResultServer/handlers/testfilehandler.py: + * TestResultServer/main.py: + * TestResultServer/model/dashboardfile.py: + * TestResultServer/model/datastorefile.py: Added. + * TestResultServer/model/jsonresults.py: Added. + * TestResultServer/model/jsonresults_unittest.py: Added. + * TestResultServer/model/testfile.py: + * TestResultServer/templates/uploadform.html: + +2010-08-04 Antonio Gomes + + Reviewed by Kenneth Christiansen. + + [Qt] [QtTestBrowser] Remove unneeded QAction class members + https://bugs.webkit.org/show_bug.cgi?id=43518 + + LauncherWindow class has two totally unneeded class members: m_flopAnimated and + m_flipYAnimated. Also, in initializeView method there are some dead code block + trying to connect them at the wrong time, when they have not been instanciated. + + This patch: + + - removes the two cited class members in favor of local variables in createChrome method; + - removes the dead code block. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::LauncherWindow): + (LauncherWindow::initializeView): + (LauncherWindow::createChrome): + * QtTestBrowser/launcherwindow.h: + +2010-08-04 Antonio Gomes + + Reviewed by Simon Hausmann and Kenneth Christiansen. + + [Qt] [QtTestBrowser] Clean up static and global menu state controls + https://bugs.webkit.org/show_bug.cgi?id=43448 + + After LauncherWindow class was refactored out of from main.cpp, all global variables that + were hanging in main.cpp became temporarily public static class members of newly added + LauncherWindow class. This design was not properly handling the initial purpose of the + global variables: newly created launcher windows should inherit the settings of the originating + one. + + In order to properly fix the problem, this patch introduces a WindowOptions class, as a POD. It + comprises all data needed to handling the goal described above. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::LauncherWindow): The class now receives an optional WindowOptions pointer object + holding all user settings configured in the menus and command line. + It also receices an optional QGraphicsScene points in case we are doing + a "Clone Window". + (LauncherWindow::init): Removed the usesGraphics parameter because the class member m_userData holds its + value. + (LauncherWindow::initializeView): Ditto. + (LauncherWindow::createChrome): Changed all references to gXXX to m_userData.XXX + (LauncherWindow::applyPrefs): Removed the "LauncherWindow* source" parameter. All data needed to properly + apply the preferences is provided by m_userData. + (LauncherWindow::toggleAcceleratedCompositing): Change gXXX by m_userData.XXX + (LauncherWindow::toggleResizesToContents): Ditto. + (LauncherWindow::toggleWebGL): Ditto. + (LauncherWindow::toggleFrameFlattening): Ditto. + (LauncherWindow::toggleQGLWidgetViewport): Ditto. + (LauncherWindow::changeViewportUpdateMode): Ditto. + (LauncherWindow::showFPS): Ditto. + (LauncherWindow::newWindow): Changed to pass the userData. + (LauncherWindow::cloneWindow): Ditto. + * QtTestBrowser/launcherwindow.h: + (WindowOptions::WindowOptions): + * QtTestBrowser/main.cpp: + (requiresGraphicsView): + (LauncherApplication::handleUserOptions): + (main): + +2010-08-04 Kevin Ollivier + + [wx] Build fix for gcc not importing all symbols from convenience libraries. + Works on 10.6 only for Mac until the build system is reworked. + + * wx/build/settings.py: + +2010-08-04 Markus Goetz + + Reviewed by Simon Hausmann. + + [Qt] Change wording in QtTestBrowser + https://bugs.webkit.org/show_bug.cgi?id=43241 + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + +2010-08-04 Aaron Boodman + + Reviewed by Eric Seidel. + + prepare-ChangeLog fails mysteriously if curl doesn't support ssl + https://bugs.webkit.org/show_bug.cgi?id=43460 + + * Scripts/prepare-ChangeLog: + +2010-08-03 MORITA Hajime + + Reviewed by Tony Chang. + + [DRT] Assertion failed when drag and move a draggable element. + https://bugs.webkit.org/show_bug.cgi?id=41695 + + mouseMoveToX() did call [WebHTMLView mouseDragged] even if dragging started. + But Cocoa doesn't call mouseDragged() until dragging is done. + Other part of DumpRenderTree also assumes Cocoa behavior and an assertion + on UIDelegate failed when mouseDragged() is called during dragging. + This change eliminated the mouseDragged() call when dragging begins, + which is implicated by draggingInfo instance. + + * DumpRenderTree/mac/EventSendingController.mm: + (-[EventSendingController mouseMoveToX:Y:]): + + Test: fast/events/dragging-mouse-moves.html + +2010-08-02 Steve Block + + Reviewed by Alexey Proskuryakov. + + Adds Geolocation LayoutTests for the case where permission is not granted or denied immediately + https://bugs.webkit.org/show_bug.cgi?id=40002 + + The code in LayoutTestController::setGeolocationPermission() was moved to + setGeolocationPermissionCommon() to allow each port to provide its own + implementation of setGeolocationPermission(). + + For the Mac port, setGeolocationPermission() notifies the UIDelegate of the + new permission, so it can call back to WebCore if permission requests are in + progress and are waiting for a response. A minor fix to the Mac + MockGeolocationProvider was also required to make sure that the mock provider + calls back to WebCore when it is first started. + + For other ports, LayoutTestController::setGeolocationPermission() is not + implemented. + + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::setGeolocationPermissionCommon): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setGeolocationPermission): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setGeolocationPermission): + * DumpRenderTree/mac/MockGeolocationProvider.mm: + (-[MockGeolocationProvider registerWebView:]): + * DumpRenderTree/mac/UIDelegate.h: + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]): + (-[UIDelegate setGeolocationPermission:]): + (-[UIDelegate dealloc]): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setGeolocationPermission): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setGeolocationPermission): + +2010-08-03 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Implement --testshell-startup-dialog + https://bugs.webkit.org/show_bug.cgi?id=40616 + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (main): Check --testshell-startup-dialog, and call openStartUpDialog() + if it is specfied. + * DumpRenderTree/chromium/TestShell.h: + Declare openStartUpDialog(). + * DumpRenderTree/chromium/TestShellGtk.cpp: + (openStartupDialog): + * DumpRenderTree/chromium/TestShellMac.mm: + (openStartupDialog): + * DumpRenderTree/chromium/TestShellWin.cpp: + (openStartupDialog): + +2010-08-03 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Remove dependency of base/md5.h + https://bugs.webkit.org/show_bug.cgi?id=43403 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::dumpImage): Use wtf/MD5.h + +2010-08-03 Joseph Pecoraro + + Reviewed by David Kilzer. + + Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) + https://bugs.webkit.org/show_bug.cgi?id=40627 + + Part 6 - LayoutTest and Cleanup + + Allow tests to delete application caches and set application cache + origin quotas, so they can be tested. + + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (dumpApplicationCacheDelegateCallbacksCallback): JavaScript callback, delegates to the controller. + (clearAllApplicationCachesCallback): should delete all application caches. + (setApplicationCacheOriginQuotaCallback): should set the origin quota for the localhost tests. + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + (LayoutTestController::dumpApplicationCacheDelegateCallbacks): accessor to see if application cache callbacks should be output. + (LayoutTestController::setDumpApplicationCacheDelegateCallbacks): enable or disable debug output when the application cache quota is reached. + + Mac implementation. + + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::clearAllApplicationCaches): delete application caches. + (LayoutTestController::setApplicationCacheOriginQuota): set the quota for localhost. + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]): style fix. + (-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]): reset the quota. + + Stub implementations for other platforms. + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::clearAllApplicationCaches): + (LayoutTestController::setApplicationCacheOriginQuota): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::clearAllApplicationCaches): + (LayoutTestController::setApplicationCacheOriginQuota): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::clearAllApplicationCaches): + (LayoutTestController::setApplicationCacheOriginQuota): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::clearAllApplicationCaches): + (LayoutTestController::setApplicationCacheOriginQuota): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::clearAllApplicationCaches): + (LayoutTestController::setApplicationCacheOriginQuota): + +2010-08-03 Joseph Pecoraro + + Reviewed by David Kilzer. + + Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) + https://bugs.webkit.org/show_bug.cgi?id=40627 + + Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers + + Change old style calls to make use of the managers. + + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setDatabaseQuota): + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]): + +2010-08-03 Mark Rowe + + Add a new Leopard build slave to run the release tests. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2010-08-03 Jon Honeycutt + + WebKitTestRunner needs to activate the Mac font ascent hack + https://bugs.webkit.org/show_bug.cgi?id=43404 + + Reviewed by Darin Adler. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::initialize): + Call WKBundleActivateMacFontAscentHack(). + +2010-08-03 Alex Milowski + + Reviewed by Beth Dakin. + + Changed the default for MathML support so that is is enabled by default. + + * Scripts/build-webkit: + +2010-08-03 Sam Weinig + + Roll r64566 back in this time with all the overloads in place.. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::shouldInsertNode): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + * WebKitTestRunner/StringFunctions.h: + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::resetPreferencesToConsistentValues): + (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-08-03 Sam Weinig + + Rollout r64566. It broke all the WebKit2 tests. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::operator<<): + (WTR::InjectedBundlePage::shouldInsertNode): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + * WebKitTestRunner/StringFunctions.h: Removed. + * WebKitTestRunner/TestInvocation.cpp: + (WTR::createWKURL): + (WTR::WKStringToUTF8): + (WTR::TestInvocation::resetPreferencesToConsistentValues): + (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-08-03 Sam Weinig + + Reviewed by Anders Carlsson. + + WTR: Move all the utility functions for working with strings to a shared header. + https://bugs.webkit.org/show_bug.cgi?id=43386 + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::shouldInsertNode): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + * WebKitTestRunner/StringFunctions.h: Added. + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::resetPreferencesToConsistentValues): + (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-08-02 Antonio Gomes + + Reviewed by Kenneth Christiansen. + + [Qt] QtTestBrowser not setting preferredContentsSize for resizesToContents + https://bugs.webkit.org/show_bug.cgi?id=43168 + + QGraphicsWebView resizesToContents property has to work together with QWebPage's + setPreferredContentsSize as stated by the docs. Patch addresses that for QtTestBrowser. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::applyPrefs): + * QtTestBrowser/webview.cpp: + (WebViewGraphicsBased::setResizesToContents): Properly handle scene, webview and viewport sizes + needed when toggle resizesToContents on/off. + (WebViewGraphicsBased::resizeEvent): + * QtTestBrowser/webview.h: + (WebViewGraphicsBased::setCustomLayoutSize): Setter helper. + (WebViewGraphicsBased::customLayoutSize): Getter helper. + +2010-08-03 Jochen Eisinger + + Unreviewed. Adding myself as committer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-02 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Chromium DevTools: Get rid of DevTools RPC. + + https://bugs.webkit.org/show_bug.cgi?id=43335 + + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: + (DRTDevToolsAgent::sendMessageToInspectorFrontend): + (DRTDevToolsAgent::call): + * DumpRenderTree/chromium/DRTDevToolsAgent.h: + * DumpRenderTree/chromium/DRTDevToolsCallArgs.h: + (DRTDevToolsCallArgs::DRTDevToolsCallArgs): + * DumpRenderTree/chromium/DRTDevToolsClient.cpp: + (DRTDevToolsClient::sendMessageToBackend): + (DRTDevToolsClient::call): + * DumpRenderTree/chromium/DRTDevToolsClient.h: + +2010-08-02 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Remove dependencies to some Chromium headers + https://bugs.webkit.org/show_bug.cgi?id=43396 + + * DumpRenderTree/chromium/CppVariant.h: + Remove base/basictypes.h because webkit_support.h contains it. + * DumpRenderTree/chromium/EventSender.cpp: + (getCurrentEventTimeSec): Use new wrapper function. + * DumpRenderTree/chromium/TestNavigationController.h: + Remove base/basictypes.h because webkit_support.h contains it. + * DumpRenderTree/chromium/TestShell.cpp: + (dumpHistoryItem): Use new wrapper function. + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::cancelledError): Use new wrapper function. + (WebViewHost::didFailResourceLoad): Use new wrapper function. + +2010-08-02 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] DRT implement execCommand() + https://bugs.webkit.org/show_bug.cgi?id=35351 + + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::execCommand): Implement using webkit_web_view_execute_core_command_by_name. + (LayoutTestController::isCommandEnabled): Implement using webkit_web_view_is_command_enabled. + (LayoutTestController::setCacheModel): Move below LayoutTestController::isCommandEnabled. + +2010-08-02 Sam Weinig + + Reviewed by Anders Carlsson. + + Add alias for run-webkit-tests --webkit-test-runner (run-webkit-tests -2). + + * Scripts/old-run-webkit-tests: + +2010-08-02 Jon Honeycutt + + WebKitTestRunner needs to support loading custom fonts (via the + WEBKIT_TESTFONTS environment variable) + https://bugs.webkit.org/show_bug.cgi?id=42782 + + Reviewed by Adam Roben. + + * WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: + (WTR::fontsPath): + Copied from DRT code. Removed the fallback to DumpRenderTree.resources/, + as this directory doesn't appear to be created anymore. + (WTR::activateFonts): + Loop through the fonts, and call AddFontResourceExW() for each. + +2010-08-02 Jon Honeycutt + + Restore the WebKitTestRunner.sln that was removed, and remove the + correct one. + + Rubber-stamped by Sam Weinig. + + * WebKitTestRunner/WebKitTestRunner.sln: Added. + * WebKitTestRunner/win/WebKitTestRunner.sln: Removed. + +2010-08-02 Jon Honeycutt + + Move InjectedBundle.vcproj to where the other WebKitTestRunner vcprojs live. + + Remove the unused WebKitTestRunner.sln. + + Reviewed by Sam Weinig. + + * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: Removed. + * WebKitTestRunner/WebKitTestRunner.sln: Removed. + * WebKitTestRunner/win/InjectedBundle.vcproj: Added. + * WebKitTestRunner/win/WebKitTestRunner.sln: + +2010-08-02 Sam Weinig + + Fix the windows build. + + * WebKitTestRunner/win/main.cpp: + +2010-07-29 Jon Honeycutt + + Add a Skipped list on Windows, and have run-webkit-tests respect it. + + Part of Fill WebKit2 Windows skipped list so + there are zero tests failing + https://bugs.webkit.org/show_bug.cgi?id=43374 + + Reviewed by Adam Roben. + + * Scripts/old-run-webkit-tests: + If using WebKitTestRunner and Apple Windows WebKit, set the platform to + win-wk2. When building the result hierarchy, if the platform is win-wk2, + add it first to the list of platforms. + +2010-08-02 Darin Adler + + Reviewed by Sam Weinig. + + WebKitTestRunner needs layoutTestController.setCanOpenWindows + https://bugs.webkit.org/show_bug.cgi?id=42321 + + WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete + https://bugs.webkit.org/show_bug.cgi?id=42779 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added + setCanOpenWindows, setCloseRemainingWindowsWhenComplete, and windowCount + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::InjectedBundle): Initialize m_mainPage to 0 instead of + waiting for the first call to didCreatePage. + (WTR::InjectedBundle::didCreatePage): Set m_mainPage only when the first page + is created. Put other pages into a map. + (WTR::InjectedBundle::willDestroyPage): Added code to handle the destruction + of the main page. + (WTR::InjectedBundle::closeOtherPages): Added. Closes all the pages other than + the main page. + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: Added pageCount and + closeOtherPages functions. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didFinishLoadForFrame): Don't let pages other than + the main page affect dumping. + (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): Ditto. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): Initialize the new + m_shouldCloseExtraWindows member. + (WTR::LayoutTestController::setCanOpenWindows): Added. Empty for now. + (WTR::LayoutTestController::windowCount): Added. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + Added setCanOpenWindows, setCloseRemainingWindowsWhenComplete, + windowCount, shouldCloseExtraWindowsAfterRunningTest, and + m_shouldCloseExtraWindows. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::shared): Return a pointer to the shared copy, but + don't allocate and leak it. This seemed cleaner than adding an explicit + finalize call to go along with the explicit initialize call. + (WTR::TestController::TestController): Added calls to the initialize and + run function, which are now done automatically. + (WTR::TestController::~TestController): Added, since it's called now. + (WTR::closeOtherPage): Added. Used to close pages other than the main page. + (WTR::createOtherPage): Added. Used to create pages other than the main page. + (WTR::TestController::initialize): Added code to set up createOtherPage. + (WTR::TestController::run): Removed unused return value. + * WebKitTestRunner/TestController.h: Made constructor and destructor public, + and initialize and run private. Changed m_mainWebView to be an OwnPtr. + + * WebKitTestRunner/mac/PlatformWebViewMac.mm: + (WTR::PlatformWebView::PlatformWebView): Added a call to setReleasedWhenClosed + to avoid releasing the window twice. Another way to handle it would be to + remove the release, but this approach is slightly more robust because it works + even if some other code calls the close method an extra time. + + * WebKitTestRunner/mac/main.mm: + (main): Use a stack-allocated TestController object instead of calling + initalize and run on a globally allocated one. + +2010-08-02 Tony Chang + + Reviewed by David Levin. + + add myself to the reviewers list + https://bugs.webkit.org/show_bug.cgi?id=43366 + + * Scripts/webkitpy/common/config/committers.py: + +2010-08-02 Anders Carlsson + + Reviewed by Sam Weinig. + + Cache JSNPObjects and fix bugs in the object map + https://bugs.webkit.org/show_bug.cgi?id=43368 + + Test that we correctly throw exceptions when trying to do things to a JSObject that used to + wrap an NPObject that came from a plug-in that is now destroyed. + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: + (PluginTest::Object::getProperty): + (PluginTest::Object::NP_GetProperty): + (PluginTest::Object::npClass): + * DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp: Added. + (NPRuntimeObjectFromDestroyedPlugin::NPRuntimeObjectFromDestroyedPlugin): + (NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::hasProperty): + (NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::getProperty): + (NPRuntimeObjectFromDestroyedPlugin::NPP_GetValue): + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + * GNUmakefile.am: + +2010-08-02 Martin Robinson + + Reviewed by Xan Lopez. + + [Gtk] DOM listeners get wrong keycodes for some keys + https://bugs.webkit.org/show_bug.cgi?id=35170 + + Add support to all event senders for simulating keypad insert + and print screen keys. + + * DumpRenderTree/chromium/EventSender.cpp: + (EventSender::keyDown): Add support for generating keypad insert and print screen. + * DumpRenderTree/gtk/EventSender.cpp: + (keyDownCallback): Ditto. + * DumpRenderTree/mac/EventSendingController.mm: + (-[EventSendingController keyDown:withModifiers:withLocation:]): Ditto. + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::keyDown): Ditto. + * DumpRenderTree/win/EventSender.cpp: + (keyDownCallback): Ditto. + +2010-08-02 Martin Robinson + + Build fix for building against development versions of GTK+. GTK 2.22 + has not yet been released, so these function definitions must be conditionalized + on the development version. + + * DumpRenderTree/gtk/EventSender.cpp: Fix GTK+ 2.21 build. + +2010-08-02 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] use ChromiumDriver on Linux when running webkit tests + https://bugs.webkit.org/show_bug.cgi?id=43273 + + * Scripts/webkitpy/layout_tests/port/chromium.py: + +2010-08-02 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Always initialize GTK + https://bugs.webkit.org/show_bug.cgi?id=43327 + + Call gtk_init() in order to fix plugin test crash. + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (main): Pass argc/argv to platformInit(). + * DumpRenderTree/chromium/TestShell.h: + * DumpRenderTree/chromium/TestShellGtk.cpp: + (platformInit): Update parameters, call gtk_init(). + * DumpRenderTree/chromium/TestShellMac.mm: + (platformInit): Update parameters. + * DumpRenderTree/chromium/TestShellWin.cpp: + (platformInit): Update parameters. + +2010-08-02 Balazs Kelemen + + Reviewed by Simon Hausmann. + + [Qt] Generate forwarding headers for WebKit2 + + https://bugs.webkit.org/show_bug.cgi?id=43336 + + * Scripts/webkitdirs.pm: Call make on WebKit2/Makefile.DerivedSources. + +2010-08-02 Fumitoshi Ukai + + Reviewed by Kent Tamura. + + WebSocket server should start with SO_REUSEADDR + https://bugs.webkit.org/show_bug.cgi?id=43329 + + Pulls in pywebsocket-0.5.2. + pywebsocket-0.5.2 includes a small fix to start server with SO_REUSE_ADDR. + http://code.google.com/p/pywebsocket/source/detail?r=273 + + * Scripts/webkitpy/thirdparty/__init__.py: Bump pywebsocket version + +2010-08-01 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Remove string_util.h dependency + https://bugs.webkit.org/show_bug.cgi?id=43312 + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::pathToLocalResource): + Use string::find() instead of StartsWithASCII(). + (LayoutTestController::cppVariantToInt32): + Use strtol() instead of StringToNumber(). + +2010-08-01 Sam Weinig + + Reviewed by Anders Carlsson. + + Add ability to reset frame names for WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=43316 + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::reset): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::reset): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2010-08-01 Anders Carlsson + + Reviewed by Sam Weinig. + + Implement NPN_RemoveProperty + https://bugs.webkit.org/show_bug.cgi?id=43315 + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + Add NPRuntimeRemoveProperty.cpp + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: + (PluginTest::NPN_GetStringIdentifier): + (PluginTest::NPN_GetIntIdentifier): + (PluginTest::NPN_RemoveProperty): + Add NPN_ helpers. + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: + Support more NPClass functions. + + * DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeRemoveProperty.cpp: Added. + (NPRuntimeRemoveProperty::NPRuntimeRemoveProperty): + Test for NPN_RemoveProperty. + + (NPRuntimeRemoveProperty::TestObject::hasMethod): + (NPRuntimeRemoveProperty::TestObject::invoke): + Add a testRemoveProperty method. + + (NPRuntimeRemoveProperty::NPP_GetValue): + Return the test object. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + * GNUmakefile.am: + Add NPRuntimeRemoveProperty.cpp + +2010-07-30 Anders Carlsson + + Reviewed by Sam Weinig. + + Add an NPObject class template helper to TestNetscapePlugin + https://bugs.webkit.org/show_bug.cgi?id=43288 + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: + Add some template magic to be able to figure out if a class has a member function of a given type. + + (PluginTest::Object::create): + Create an object. + + (PluginTest::Object::invokeDefault): + Add dummy function, this should never be called. + + (PluginTest::Object::Object): + Initialize m_pluginTest to 0. + + (PluginTest::Object::~Object): + Add virtual destructor. + + (PluginTest::Object::NP_Allocate): + Create a new object. + + (PluginTest::Object::NP_Deallocate): + Delete the object. + + (PluginTest::Object::NP_InvokeDefault): + Call invokeDefault. + + (PluginTest::Object::npClass): + Initialize the NPClass struct. + + * DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: + (DocumentOpenInDestroyStream::NPP_DestroyStream): + Move this inline. + + * DumpRenderTree/TestNetscapePlugIn/Tests/PluginScriptableNPObjectInvokeDefault.cpp: + (PluginScriptableNPObjectInvokeDefault::NPObjectWithInvokeDefault::invokeDefault): + (PluginScriptableNPObjectInvokeDefault::NPP_GetValue): + Use the PluginTest::Object class template. + +2010-07-31 Sam Weinig + + Reviewed by Dan Bernstein. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=43305 + Add back WKBundleFrameCopyInnerText to fix ~50 test failures + due to SVGElements not having the innerText function. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::dumpFrameText): + +2010-07-30 Sam Weinig + + Reviewed by Maciej Stachowiak. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=43290 + Add structured message passing from the injected bundle to UIProcess + + * MiniBrowser/mac/AppDelegate.m: + (didRecieveMessageFromInjectedBundle): + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (didClearWindowForFrame): + (didRecieveMessage): + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::done): + (WTR::InjectedBundle::didReceiveMessage): + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + (WTR::TestController::didReceiveMessageFromInjectedBundle): + * WebKitTestRunner/TestController.h: + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): + * WebKitTestRunner/TestInvocation.h: + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-07-30 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=43275 + Make WKArrayRef more usable. + + Remove now unnecessary const_casts. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::dumpDescendantFrameScrollPositions): + (WTR::dumpDescendantFramesText): + +2010-07-30 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=43274 + Add first pass of structured message passing. + + Update Minibrowser and WebKitTestRunner to work with the new post message + function. + + * MiniBrowser/mac/AppDelegate.m: + (didRecieveMessageFromInjectedBundle): + (-[BrowserAppDelegate init]): + * MiniBrowser/mac/MiniBrowser_Prefix.pch: + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (didStartProvisionalLoadForFrame): + (didReceiveServerRedirectForProvisionalLoadForFrame): + (didFailProvisionalLoadWithErrorForFrame): + (didCommitLoadForFrame): + (didFinishLoadForFrame): + (didFailLoadWithErrorForFrame): + (didReceiveTitleForFrame): + (didClearWindowForFrame): + (didCreatePage): + (willDestroyPage): + (didRecieveMessage): + (WKBundleInitialize): + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::_didReceiveMessage): + (WTR::InjectedBundle::didReceiveMessage): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::invoke): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-07-30 Anders Carlsson + + Try to fix the layout test failures. + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_get_value): + +2010-07-29 Anders Carlsson + + Reviewed by Adam Roben. + + Replace plugins/npruntime/bindings-test.html with a more sophisticated test + https://bugs.webkit.org/show_bug.cgi?id=43232 + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + Add PluginScriptableNPObjectInvokeDefault.cpp. + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + Remove invokeDefault callback function. + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: + (PluginTest::create): + Move this to the top of the file. + + (PluginTest::NPP_GetValue): + Add default implementation. + + (PluginTest::NPN_CreateObject): + Add NPN_ wrapper. + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: + (PluginTest::identifier): + Add identifier getter. + + * DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: + (DocumentOpenInDestroyStream::DocumentOpenInDestroyStream): + Add "using namespace std". + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_GetValue): + Give PluginTest a chance to return a value. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + * GNUmakefile.am: + Add PluginScriptableNPObjectInvokeDefault.cpp. + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_get_value): + Give PluginTest a chance to return a value. + +2010-07-30 Steve Block + + Reviewed by Steve Block. + + Add LayoutTestController methods to test DeviceOrientation + https://bugs.webkit.org/show_bug.cgi?id=39589 + + * DumpRenderTree/LayoutTestController.cpp: + (setMockDeviceOrientationCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setMockDeviceOrientation): + * Scripts/build-webkit: + +2010-07-29 Antonio Gomes + + Reviewed by Kenneth Christiansen. + + [Qt] QtTestBrowser: -resizes-to-contents command line parameter is broken + https://bugs.webkit.org/show_bug.cgi?id=43209 + + When -resizes-to-content was being passed as a command line parameter it was simply + not being set (although the corresponding menu item was marked as ON). + User had to toggle the menu OFF and then ON again for it to take place. + + Reason: LauncherWindow::applyPrefs method sets many user options passed in from + the command line, but not resizesToContents. Patch addresses that. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::createChrome): + (LauncherWindow::applyPrefs): + (LauncherWindow::toggleResizesToContents): + * QtTestBrowser/webview.h: + (WebViewGraphicsBased::resizesToContents): + +2010-07-29 Antonio Gomes + + Rubber-stamped by Simon Fraser. + + [Qt] QtTestBrowser: more method grouping and clean ups. + + Moving blocks of code around. Basically grouping related methods close to each. + + * QtTestBrowser/launcherwindow.cpp: + (LauncherWindow::initializeView): + (LauncherWindow::createChrome): + (LauncherWindow::changeViewportUpdateMode): + (LauncherWindow::showFPS): + (LauncherWindow::newWindow): + (LauncherWindow::cloneWindow): + * QtTestBrowser/launcherwindow.h: + +2010-07-30 Mahesh Kulkarni + + Reviewed by Tor Arne Vestbø. + + [QT][Symbian] QtTestBrowser missing location capabilities + https://bugs.webkit.org/show_bug.cgi?id=43235 + + QtTestBrowser missing capabilities to use QtMobility::QLocation. + + * QtTestBrowser/QtTestBrowser.pro: + +2010-07-29 Anders Carlsson + + Add PluginTest.cpp + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2010-07-29 Dirk Pranke + + Reviewed by Eric Seidel. + + Update download URLs for python irclib package; the old URLs + pointed at a specific mirror host and not the general sourceforge + URLs. + + https://bugs.webkit.org/show_bug.cgi?id=43228 + + * Scripts/webkitpy/thirdparty/__init__.py: + +2010-07-29 Anders Carlsson + + Fix typo. + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2010-07-29 Anders Carlsson + + Another attempt at fixing the Qt and GTK+ build. + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_new_instance): + (webkit_test_plugin_destroy_stream): + +2010-07-29 Anders Carlsson + + Another build fix attempt. + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_new_instance): + * GNUmakefile.am: + +2010-07-29 Anders Carlsson + + Try to fix Windows and Unix builds. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_new_instance): + (webkit_test_plugin_destroy_stream): + +2010-07-29 Anders Carlsson + + Reviewed by Sam Weinig. + + Refactor TestNetscapePlugin so tests can be split in separate files + https://bugs.webkit.org/show_bug.cgi?id=43220 + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp. + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + (pluginAllocate): + Initialize pluginTest to 0. Remove testDocumentOpenInDestroyStream. + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: + * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: Added. + (PluginTest::PluginTest): + Initialize m_npp and the test identifier. + + (PluginTest::createTestFunctions): + Return the map from identifiers to createTest functions. + + (PluginTest::registerCreateTestFunction): + Insert the identifier and create function pair in the map. + + (PluginTest::create): + Look for a createTest function. If one is found, call it. Otherwise create a vanilla PluginTest object. + + * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: Added. + (PluginTest::Register::Register): + Helper class template for registering plug-in tests. + + (PluginTest::Register::create): + Create a new test of the given type. + + * DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: Added. + (DocumentOpenInDestroyStream::DocumentOpenInDestroyStream): + Add a test that calls testDocumentOpen from its NPP_DestroyStream callback. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + Create a PluginTest given the identifier. Remove the check for "testdocumentopenindestroystream". + + (NPP_DestroyStream): + Call the plug-in test NPP_DestroyStream member function. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp. + +2010-07-29 Martin Robinson + + Unreviewed build fix. + + Add missing second argument to assert_lint in new style checker tests. + + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-07-29 Anders Carlsson + + Reviewed by Adam Roben. + + check-webkit-style shouldn't complain about NPAPI functions + https://bugs.webkit.org/show_bug.cgi?id=43211 + + Allow underscores in functions that start with NPN_, NPP_ or NP_. + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-07-29 Victor Wang + + Unreviewed, rolling out r64270. + http://trac.webkit.org/changeset/64270 + https://bugs.webkit.org/show_bug.cgi?id=39589 + + The patch breaks chromium webkit unittest + + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + * Scripts/build-webkit: + +2010-07-29 Antonio Gomes + + Reviewed by Kenneth Christiansen. + + [Qt] QtTestBrowser: Move WebPage class methods definitions from main.cpp to webpage.cpp + https://bugs.webkit.org/show_bug.cgi?id=43199 + + There is no sense in keeping WebPage method definitions in main.cpp once + webpage.cpp already exists. + + No behavior change. + + * QtTestBrowser/main.cpp: + * QtTestBrowser/webpage.cpp: + (WebPage::createWindow): + (WebPage::createPlugin): + +2010-07-29 Antonio Gomes + + Reviewed by Kenneth Christiansen. + + [Qt] Factor out LauncherWindow class out of main.cpp (QtTestBrowser) + https://bugs.webkit.org/show_bug.cgi?id=43170 + + Moving LauncherWindow class out of main.cpp to its own .cpp and .h files: + launcherwindow.{cpp|h} + + No behavior change. + + Also changed all global static variables (named "gXXX") from main.cpp to + static public variables of the LauncherWindow class. + + * QtTestBrowser/QtTestBrowser.pro: + * QtTestBrowser/launcherwindow.cpp: Added. + * QtTestBrowser/launcherwindow.h: Added. + * QtTestBrowser/main.cpp: + (LauncherApplication::handleUserOptions): + (main): + +2010-07-29 Martin Robinson + + Reviewed by Xan Lopez. + + Build fix for building against GTK+ 3.x. GSEAL requires that we + access internals of the GdkDragContext via methods. For older versions + of GTK+, define those methods. + + * DumpRenderTree/gtk/EventSender.cpp: + (gdk_drag_context_get_selected_action): Added. + (gdk_drag_context_get_actions): Added. + (dispatchEvent): Use the two new accessor methods. + +2010-07-29 Adam Roben + + Always say "plugins directory" when referring to a directory + containing one or more plugins + + Fixes WebKit2 often says "plugin + directory" when it means "plugins directory" + + Reviewed by John Sullivan. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): Updated for rename. + +2010-07-29 Adam Roben + + Always say "directory" when referring to a plugin directory + + Fixes WebKit2 often says "plugin path" + when it means "plugin directory" + + Reviewed by John Sullivan. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): Updated for renames. + + * WebKitTestRunner/TestController.h: Renamed m_testPluginPath to + m_testPluginDirectory. + (WTR::TestController::testPluginDirectory): Renamed from + testPluginPath. + + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::initializeTestPluginDirectory): + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::initializeTestPluginDirectory): + Renamed from initializeTestPluginPath and updated for rename. + +2010-07-29 Csaba Osztrogonác + + Reviewed by Antonio Gomes. + + Initialize all members of NPClass struct. + https://bugs.webkit.org/show_bug.cgi?id=43193 + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + +2010-07-29 Csaba Osztrogonác + + Reviewed by Antonio Gomes. + + Warning fix on platforms where XP_MACOSX is undefined. + https://bugs.webkit.org/show_bug.cgi?id=43192 + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: + Use #if defined(XP_MACOSX) instead of #if XP_MACOSX . + +2010-07-29 Adam Roben + + Give find-included-framework-headers our standard license + + * Scripts/find-included-framework-headers: Used the license from + WebCore/LICENSE-APPLE. + +2010-07-29 Adam Roben + + Speed up find-included-framework-headers + + We only do one invocation of find now, no longer pipe to grep, and + replace uniq with sort -u. + + Also added a license header. + + * Scripts/find-included-framework-headers: + +2010-07-29 Steve Block + + Reviewed by Jeremy Orlow. + + Add LayoutTestController methods to test DeviceOrientation + https://bugs.webkit.org/show_bug.cgi?id=39589 + + * DumpRenderTree/LayoutTestController.cpp: + (setMockDeviceOrientationCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::setMockDeviceOrientation): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setMockDeviceOrientation): + * Scripts/build-webkit: + +2010-07-28 Kenichi Ishibashi + + Reviewed by Shinichiro Hamaji. + + Fixed + check-webkit-style gives false positives in single-line functions. + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-07-28 Darin Adler + + Reviewed by Sam Weinig. + + WebKitTestRunner needs to support layoutTestController.execCommand + + + WebKitTestRunner needs layoutTestController.isCommandEnabled + + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + Added execCommand and isCommandEnabled. + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::execCommand): Added. + (WTR::LayoutTestController::isCommandEnabled): Added. + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Ditto. + +2010-07-28 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Introduce drt_expectations.txt for NRWT + https://bugs.webkit.org/show_bug.cgi?id=43123 + + Introduce LayoutTests/platform/chromium/drt_expectations.txt, + which overrides test expectations only for DumpRenderTree, in + order to manage what problems are investigated. + This change will be reverted when we switch to DRT completely. + + * Scripts/webkitpy/layout_tests/port/chromium.py: + Add drt_expectations.txt content to the result of + test_expectations_overrides() if --use-drt is specified. + +2010-07-28 Brady Eidson + + Reviewed by Darin Adler. + + First pass at visited link support for WK2 + https://bugs.webkit.org/show_bug.cgi?id=43157 + + * MiniBrowser/mac/AppDelegate.m: + (didNavigateWithNavigationData): + (didPerformClientRedirect): + (didPerformServerRedirect): + (didUpdateHistoryTitle): + (populateVisitedLinks): Added for the new version of the HistoryClient. + (-[BrowserAppDelegate init]): Set the HistoryClient right after creating the context(s) + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + +2010-07-28 Robin Dunn + + Reviewed by Kevin Ollivier. + + Add DOM bindings support for wx port. + + * DumpRenderTree/wscript: + * wx/browser/wscript: + * wx/build/settings.py: + +2010-07-28 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] cleanup temp files left by Linux DRT + https://bugs.webkit.org/show_bug.cgi?id=43062 + + * BuildSlaveSupport/build.webkit.org-config/config.json: Rename the chromium bots to include the OS + * BuildSlaveSupport/build.webkit.org-config/master.cfg: add a step on chromium-linux to delete temp files left + by crashed DRTs + +2010-07-28 Antonio Gomes + + Rubber-stamped by Kenneth Christiansen. + + More Developer menu items reordering. + + Grouping related menu items together, visually and logically (in the code). + + No behavior change. + + * QtTestBrowser/main.cpp: + (LauncherWindow::createChrome): + +2010-07-27 Kinuko Yasuda + + Reviewed by Ojan Vafai. + + Add FILE_SYSTEM build flag for FileSystem API + https://bugs.webkit.org/show_bug.cgi?id=42915 + + * Scripts/build-webkit: + +2010-07-27 Martin Robinson + + Reviewed by David Levin. + + Stylebot should not complain about NULL usage in calls to gdk_pixbuf_save_to + https://bugs.webkit.org/show_bug.cgi?id=43090 + + * Scripts/webkitpy/style/checkers/cpp.py: Add exemption for some GdkPixbuf methods. + * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added some tests for this behavior. + +2010-07-27 Kent Tamura + + Unreviewed, trivial typo fix. + + * Scripts/webkitpy/layout_tests/port/chromium.py: + Fix a wrong method name committed by r64109. + +2010-07-27 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=43087 + Clean up handling of strings at the WebKit2 API layer. + + * MiniBrowser/mac/BrowserWindowController.m: + (runJavaScriptAlert): + (runJavaScriptConfirm): + (runJavaScriptPrompt): + (didNavigateWithNavigationData): + (-[BrowserWindowController updateProvisionalURLForFrame:]): + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (_didClearWindowForFrame): + +2010-07-27 Ojan Vafai + + Reviewed by Eric Seidel. + + webkit-patch post-commits is broken: AttributeError: Values instance has no attribute 'no_squash' + https://bugs.webkit.org/show_bug.cgi?id=42984 + + squash and no_squash have been intentionally erroring for a couple weeks now. + But post-commits was just broken. Just remove squash/no_squash. + + * Scripts/webkitpy/tool/steps/abstractstep.py: + * Scripts/webkitpy/tool/steps/options.py: + +2010-07-27 Kevin Ollivier + + [wx] Build fix after introduction of EXECUTABLE_ALLOCATOR_DEMAND. + + * wx/build/settings.py: + +2010-07-27 Adam Roben + + Mac build fix + + * MiniBrowser/mac/BrowserWindowController.m: + (processDidExit): + (-[BrowserWindowController awakeFromNib]): + Added processDidExit support. + +2010-07-26 Antonio Gomes + + Rubber-stamped by Simon Hausmann. + + [Qt] Reorder some items in Developers' menu so QGraphicsView one is easier accessible. + + Move some less useful menu items on Developers menu from the top to the bottom, so + QGraphicsView menu goes to the top, and becomes more quickly accessible. + + * QtTestBrowser/main.cpp: + (LauncherWindow::createChrome): + +2010-07-26 Adam Roben + + Fix the path to InjectedBundle.dll in Debug_Internal builds + + Fixes WebKitTestRunner fails to load + InjectedBundle.dll in the Debug_Internal configuration + + Reviewed by Anders Carlsson. + + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::initializeInjectedBundlePath): Add the _debug + suffix only in Debug_All builds. + +2010-07-25 Mahesh Kulkarni + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42947 + Check for WEBKIT_TESTFONTS for qt, gtk and windows port and throw + error. Without which dumpRenderTree crashes. + + * Scripts/old-run-webkit-tests: + +2010-07-27 Kent Tamura + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=42956 + [DRT/Chromium] Fix "out of sync" assertion error + + Fix an assertion error on Windows like the following: + 100721 20:16:46 chromium.py:386 CRITICAL Test got out of sync: + |file:///c:/WebKitBuildSlave2/chromium-win-release-tests/build/LayoutTests/http/tests/local/blob/send-data-blob.html| + |file:///C:/WebKitBuildSlave2/chromium-win-release-tests/build/LayoutTests/http/tests/local/blob/send-data-blob.html| + + * Scripts/webkitpy/layout_tests/port/chromium.py: + If the url matches with "file:///[a-z]:", does case-ignore comparison. + GURL capitalize the driver letter of a file: URL. + +2010-07-26 Darin Adler + + Reviewed by Sam Weinig. + + WebKitTestRunner needs to support layoutTestController.counterValueForElementById + https://bugs.webkit.org/show_bug.cgi?id=42537 + + WebKitTestRunner needs layoutTestController.markerTextForListItem + https://bugs.webkit.org/show_bug.cgi?id=42549 + + * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: + Fixed _paramterExpression typo. Improved support for string type as a + return value, so we don't try to include DOMString.h and we can convert + the string to a JSValue by calling JSValueMakeStringOrNull. + + * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: + Added JSValueMakeStringOrNull, used by the code generator. + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + Added counterValueForElementById and markerTextForListItem. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + Moved constant to the top of the file. + (WTR::toCF): Added. Converts strings to CFStringRef. + (WTR::toWK): Added. Converts strings to WKStringRef. + (WTR::toJS): Added. Converts strings to JSStringRef. + (WTR::setProperty): Moved this function to the top of the file + rather than having it down where it's used inside the class. Also + renamed it so it's a separate function rather than an overload of + JSObjectSetProperty. + (WTR::propertyValue): Copied this here from InjectedBundlePage.cpp. + Should move it somewhere we can share it. + (WTR::propertyObject): Ditto. + (WTR::getElementById): Added. Calls getElementById through the magic + of JavaScript. + (WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId): + Chagned to use toWK instead of four local variables. + (WTR::LayoutTestController::counterValueForElementById): Added. + Calls WKBundleFrameCopyCounterValue. + (WTR::LayoutTestController::markerTextForListItem): Added. + Calls WKBundleFrameCopyMarkerText. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + Added counterValueForElementById and markerTextForListItem. + +2010-07-26 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] The EventSender should support simulating drop events + https://bugs.webkit.org/show_bug.cgi?id=39844 + + Add initial dropping support to the GTK+ EventSender. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (createWebView): Listen for some new drag-and-drop signals. + * DumpRenderTree/gtk/EventSender.cpp: Add currentDragSourceContext. + (dispatchEvent): + Detect situations where a drag is either starting or ending and massage + GTK+ into sending the appropriate signals to the WebView. + (replaySavedEvents): Remove comment. + (makeEventSender): Clear the currentDragSourceContext when creating a new EventSender. + (dragBeginCallback): Capture the new currentDragSourceContext when a drag begins. + (dragEndCallback): Clear the currentDragSourceContext when a drag ends. + (dragFailedCallback): Disable the GTK+ drag failed animation. + * DumpRenderTree/gtk/EventSender.h: Add declarations for new signal callbacks. + +2010-07-26 Daniel Bates + + Reviewed by Darin Adler. + + svn-unapply warns of uninitialized variable when unapplying + a patch that describes an svn move operation + https://bugs.webkit.org/show_bug.cgi?id=42036 + + Fixes Perl uninitialized variable warnings when un-applying + a patch that moves a file. + + * Scripts/svn-unapply: + - Modified patch() so that it initializes $patch to the empty + string when we don't have svnConvertedText (such as when + reversing a diff that represents a svn copy/move operation). + +2010-07-26 Sam Weinig + + Reviewed by Anders Carlsson. + + Move some non-APIish functions into private headers. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + +2010-07-26 Sam Weinig + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=42986 + Add prompt and confirm client functions to WebKit2 + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController awakeFromNib]): + +2010-07-26 Adam Roben + + Windows build fix + + * MiniBrowser/MiniBrowser.vcproj: + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: + Removed empty attributes so the values will be picked up from the + vsprops files. (Also removed a couple of attributes that accidentally + duplicated values from the vsprops files.) + +2010-07-26 Brian Weinstein + + Rubber-stamped by Adam Roben. + + Touch MiniBrowser's stdafx to fix the build. + + * MiniBrowser/win/stdafx.h: + +2010-07-26 Hayato Ito + + Reviewed by Shinichiro Hamaji. + + Add pretty printer of WTF::Vector for GDB 7. + + https://bugs.webkit.org/show_bug.cgi?id=40909 + + * gdb/wtf.py: Added. + +2010-07-26 Tor Arne Vestbø + + Reviewed by Simon Hausmann. + + [Qt] Fix feature detection regexp + + We were missing the last feature + + * Scripts/webkitdirs.pm: + +2010-07-25 Darin Adler + + Reviewed by Dan Bernstein. + + WebKitTestRunner needs to support layoutTestController.dumpSelectionRect + https://bugs.webkit.org/show_bug.cgi?id=42326 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + Added dumpSelectionRect. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::dumpSelectionRect): Added. For now, this + does nothing because its purpose is to change pixel test output and + we do not have pixel tests implemented yet. + +2010-07-25 Darin Adler + + Reviewed by Maciej Stachowiak. + + WebKitTestRunner needs to support layoutTestController.keepWebHistory + https://bugs.webkit.org/show_bug.cgi?id=42323 + + Added keepWebHistory and computedStyleIncludingVisitedInfo. + + Also fixed misspellings of the word "receive". + + Also tweaked the names of some of the LayoutTestController members. + + * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: + Added support for a type named "object" that is passed and returns as + a JSValueRef. + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + Added keepWebHistory and computedStyleIncludingVisitedInfo. Also + put setAcceptsEditing up nearer the top. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::_didReceiveMessage): Fixed mispellings of receive. + (WTR::InjectedBundle::initialize): Ditto. + (WTR::InjectedBundle::didReceiveMessage): Ditto. + (WTR::InjectedBundle::reset): Reset the state of visited links between + tests. Also eliminated the unused argument to the LayoutTestController + create function. + (WTR::InjectedBundle::setShouldTrackVisitedLinks): Added. + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: Ditto. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::shouldBeginEditing): Call shouldAllowEditing + instead of acceptsEditing. + (WTR::InjectedBundlePage::shouldEndEditing): Ditto. + (WTR::InjectedBundlePage::shouldInsertNode): Ditto. + (WTR::InjectedBundlePage::shouldInsertText): Ditto. + (WTR::InjectedBundlePage::shouldDeleteRange): Ditto. + (WTR::InjectedBundlePage::shouldChangeSelectedRange): Ditto. + (WTR::InjectedBundlePage::shouldApplyStyle): Ditto. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::create): Removed uneeded argument. + (WTR::LayoutTestController::LayoutTestController): Removed unneeded + argument. Updated for rename of m_acceptsEditing to m_shouldAllowEditing. + (WTR::LayoutTestController::numberOfActiveAnimations): Added some FIXMEs + about the fact that this works on the main frame. + (WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId): Ditto. + (WTR::LayoutTestController::keepWebHistory): Added. + (WTR::LayoutTestController::computedStyleIncludingVisitedInfo): Added. + (WTR::JSObjectSetProperty): Added. Helper to make the function below + cleaner. + (WTR::LayoutTestController::makeWindowObject): Changed to use the + overload of JSObjectSetProperty above. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Changes to + match above. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): Fixed mispellings of receive. + (WTR::TestController::_didReceiveMessageFromInjectedBundle): Ditto. + (WTR::TestController::didReceiveMessageFromInjectedBundle): Ditto. + * WebKitTestRunner/TestController.h: Ditto. + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Ditto. + * WebKitTestRunner/TestInvocation.h: Ditto. + +2010-07-25 Alexey Proskuryakov + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=42193 + Support layoutTestController.dumpEditingDelegates in WebKitTestRunner + + Step 2 - add the rest of editing delegates. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::operator<<): Fixed to not crash when range is null. + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::_shouldEndEditing): + (WTR::InjectedBundlePage::_shouldInsertNode): + (WTR::InjectedBundlePage::_shouldInsertText): + (WTR::InjectedBundlePage::_shouldDeleteRange): + (WTR::InjectedBundlePage::_shouldChangeSelectedRange): + (WTR::InjectedBundlePage::_shouldApplyStyle): + (WTR::InjectedBundlePage::_didBeginEditing): + (WTR::InjectedBundlePage::_didEndEditing): + (WTR::InjectedBundlePage::_didChange): + (WTR::InjectedBundlePage::_didChangeSelection): + (WTR::InjectedBundlePage::shouldEndEditing): + (WTR::InjectedBundlePage::shouldInsertNode): + (WTR::InjectedBundlePage::shouldInsertText): + (WTR::InjectedBundlePage::shouldDeleteRange): + (WTR::InjectedBundlePage::shouldChangeSelectedRange): + (WTR::InjectedBundlePage::shouldApplyStyle): + (WTR::InjectedBundlePage::didBeginEditing): + (WTR::InjectedBundlePage::didEndEditing): + (WTR::InjectedBundlePage::didChange): + (WTR::InjectedBundlePage::didChangeSelection): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2010-07-24 Chris Fleizach + + Reviewed by David Kilzer. + + AX: need a layout test testing misspelled words in attributed strings + https://bugs.webkit.org/show_bug.cgi?id=42899 + + * DumpRenderTree/AccessibilityUIElement.cpp: + (attributedStringForRangeCallback): + (attributedStringRangeIsMisspelledCallback): + (AccessibilityUIElement::getJSClass): + * DumpRenderTree/AccessibilityUIElement.h: + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (AccessibilityUIElement::attributedStringForRange): + (AccessibilityUIElement::attributedStringRangeIsMisspelled): + * DumpRenderTree/mac/AccessibilityUIElementMac.mm: + (AccessibilityUIElement::attributedStringForRange): + (AccessibilityUIElement::attributedStringRangeIsMisspelled): + * DumpRenderTree/win/AccessibilityUIElementWin.cpp: + (AccessibilityUIElement::attributedStringForRange): + (AccessibilityUIElement::attributedStringRangeIsMisspelled): + +2010-07-23 David Kilzer + + Update ruby tools to work with shallow framework bundles + + Reviewed by Mark Rowe. + + * Scripts/check-for-inappropriate-files-in-framework: Added + check for the SHALLOW_BUNDLE environment variable so that the + script will work with iOS WebKit builds. + * Scripts/check-for-webkit-framework-include-consistency: Ditto. + +2010-07-22 Darin Adler + + Reviewed by Sam Weinig. + + Eliminate unneeded WKBundleFrameCopyInnerText function from WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=42847 + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::operator<<): Replaced the WKStringToUTF8 function with + a set of overloaded stream operators. + (WTR::dumpPath): Changed to use ostringstream and return a string. + (WTR::propertyValue): Added. + (WTR::propertyObject): Added. + (WTR::propertyString): Added. + (WTR::numericWindowPropertyValue): Changed to call propertyValue. + (WTR::dumpFrameScrollPosition): Removed now unneeded WKStringToUTF8 sequence + since we now have suitable streaming functions. + (WTR::dumpFrameText): Use propertyObject and propertyString instead of + WKBundleFrameCopyInnerText. + (WTR::dumpDescendantFramesText): Removed now unneeded WKStringToUTF8 sequence + since we now have suitable streaming functions. + (WTR::InjectedBundlePage::dump): Ditto. + (WTR::InjectedBundlePage::willAddMessageToConsole): Ditto. + (WTR::InjectedBundlePage::willSetStatusbarText): Ditto. + (WTR::InjectedBundlePage::willRunJavaScriptAlert): Ditto. + (WTR::InjectedBundlePage::willRunJavaScriptConfirm): Ditto. + (WTR::InjectedBundlePage::willRunJavaScriptPrompt): Ditto. + +2010-07-22 Alexey Proskuryakov + + Reviewed by Sam Weinig and Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42193 + Support layoutTestController.dumpEditingDelegates in WebKitTestRunner + + Step 1: Add the method, and implement one actual delegate call as proof of concept. No tests + fixed, but this makes difference one line smaller on many editing tests. + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + Added dumpEditingCallbacks() and setAcceptsEditing(). + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::dumpPath): Dump path to a node in a format that's compatible with DumpRenderTree. + (WTR::operator<<): Print a range. + (WTR::InjectedBundlePage::InjectedBundlePage): Set editor client in addition to existing + clients. + (WTR::InjectedBundlePage::_shouldBeginEditing): The only client method implemented so far. + (WTR::InjectedBundlePage::shouldBeginEditing): Ditto. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Added a section for editor client + calls. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::dumpEditingCallbacks): + (WTR::LayoutTestController::setAcceptsEditing): + (WTR::LayoutTestController::acceptsEditing): + (WTR::LayoutTestController::shouldDumpEditingCallbacks): + Store m_acceptsEditing and m_dumpEditingCallbacks. + +2010-07-22 Yael Aharon + + Reviewed by Laszlo Gombos. + + [Qt] QtWebKit needs public API for Notifications. + https://bugs.webkit.org/show_bug.cgi?id=41413 + + Update DumpRenderTree and QtTestBrowser to use the new API. + Add new DRT API to flag that notifications permission requests should be ignored. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::WebPage): + (WebCore::WebPage::requestPermission): + (WebCore::WebPage::checkPermission): + (WebCore::WebPage::cancelRequestsForPermission): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::ignoreDesktopNotificationPermissionRequests): + (LayoutTestController::checkDesktopNotificationPermission): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + (LayoutTestController::ignoreReqestForPermission): + * QtTestBrowser/main.cpp: + (LauncherWindow::LauncherWindow): + * QtTestBrowser/webpage.cpp: + (WebPage::WebPage): + (WebPage::requestPermission): + (WebPage::checkPermission): + (WebPage::cancelRequestsForPermission): + * QtTestBrowser/webpage.h: + +2010-07-22 Darin Adler + + Reviewed by Sam Weinig. + + WebKitTestRunner needs to support layoutTestController.dumpChildFramesAsText + https://bugs.webkit.org/show_bug.cgi?id=42325 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + Added dumpChildFramesAsText. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::dumpFrameText): Added. + (WTR::dumpDescendantFramesText): Added. + (WTR::InjectedBundlePage::dumpAllFramesText): Added. + (WTR::InjectedBundlePage::dump): Changed to use the new whatToDump function + instead of the shouldDumpAsText function, and added a case for AllFramesText. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Added dumpAllFramesText. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): Replaced m_dumpAsText with + m_whatToDump. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Added + dumpChildFramesAsText. Removed shouldDumpAsText, shouldDumpDOMAsWebArchive, + and shouldDumpSourceAsWebArchive. Added whatToDump. + +2010-07-22 Adam Roben + + Windows build fix + + Inspired by r63881. + + * MiniBrowser/MiniBrowser.vcproj: + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: + Removed pre- and post-build events so they will be inherited from the + vsprops files. + +2010-07-21 Darin Adler + + Reviewed by Sam Weinig. + + WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions + https://bugs.webkit.org/show_bug.cgi?id=42548 + + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::numericWindowPropertyValue): Renamed this and moved it up higher in the file. + (WTR::dumpFrameScrollPosition): Added argument telling whether to dump the frame name. + Changed to a file-internal function instead of a member function. + (WTR::dumpDescendantFrameScrollPositions): Added. + (WTR::InjectedBundlePage::dumpAllFrameScrollPositions): Added. + (WTR::InjectedBundlePage::dump): Changed to call dumpAllFrameScrollPositions when + appropriate. Also streamlined all the WKStringToUTF8 call sites. + (WTR::InjectedBundlePage::willAddMessageToConsole): Streamlined use of WKStringToUTF8. + (WTR::InjectedBundlePage::willSetStatusbarText): Ditto. + (WTR::InjectedBundlePage::willRunJavaScriptAlert): Ditto. + (WTR::InjectedBundlePage::willRunJavaScriptConfirm): Ditto. + (WTR::InjectedBundlePage::willRunJavaScriptPrompt): Ditto. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Updated for above changes. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): Initialize + m_shouldDumpAllFrameScrollPositions. + (WTR::LayoutTestController::shouldDumpMainFrameScrollPosition): Renamed from + shouldDumpFrameScrollPositions. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Reorganized the file a + bit, added dumpChildFrameScrollPositions and shouldDumpAllFrameScrollPositions, + and renamed shouldDumpFrameScrollPositions to shouldDumpMainFrameScrollPosition. + +2010-07-21 Darin Adler + + Reviewed by Sam Weinig. + + WebKitTestRunner needs to support dumping of scroll position + https://bugs.webkit.org/show_bug.cgi?id=42514 + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (_didClearWindowForFrame): Use JSGlobalContextRef instead of JSContextRef. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::_didClearWindowForFrame): Use JSGlobalContextRef + instead of JSContextRef. + (WTR::InjectedBundlePage::dump): Call dumpFrameScrollPosition when appropriate. + (WTR::numericWindowProperty): Added. Helper for dumpFrameScrollPosition. + (WTR::InjectedBundlePage::dumpFrameScrollPosition): Added. + (WTR::InjectedBundlePage::didClearWindowForFrame): Use JSGlobalContextRef + instead of JSContextRef. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Removed names from + arguments that simply repeat the argument type. Added dumpFrameScrollPosition. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::shouldDumpDOMAsWebArchive): Added. Currently + returns false. + (WTR::LayoutTestController::shouldDumpSourceAsWebArchive): Added. Currently + returns false. + (WTR::LayoutTestController::shouldDumpFrameScrollPositions): Added. Matches + the logic in DumpRenderTree. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Updated for above changes. + + * WebKitTestRunner/WebKitTestRunner.xcodeproj: Added property svn:ignore. + +2010-07-21 Kevin Ollivier + + [wx] Build fix, adding the WebCore/bindings/generic dir to the list of build dirs. + + * wx/build/settings.py: + +2010-07-21 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42539 + WebKitTestRunner needs to support printing ALERT, PROMPT and CONFIRM messages + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::_willAddMessageToConsole): + (WTR::InjectedBundlePage::_willSetStatusbarText): + (WTR::InjectedBundlePage::_willRunJavaScriptAlert): + (WTR::InjectedBundlePage::_willRunJavaScriptConfirm): + (WTR::InjectedBundlePage::_willRunJavaScriptPrompt): + (WTR::InjectedBundlePage::willAddMessageToConsole): + (WTR::InjectedBundlePage::willSetStatusbarText): + (WTR::InjectedBundlePage::willRunJavaScriptAlert): + (WTR::InjectedBundlePage::willRunJavaScriptConfirm): + (WTR::InjectedBundlePage::willRunJavaScriptPrompt): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2010-07-21 Adam Roben + + Give InjectedBundle our standard set of configurations (minus the + *_Cairo variants) + + InjectedBundle's Debug_All configuration was the same as is Debug + configuration, and it was missing a Debug_Internal configuration. + + Fixes InjectedBundle's build + configurations are screwy + + Reviewed by Darin Adler. + + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: Added + debug_internal.vsprops and debug_all.vsprops to the Debug_All + configuration. Added a Debug_Internal configuration. + + * WebKitTestRunner/WebKitTestRunner.sln: Build the Debug_Internal + variant of InjectedBundle when we're using the Debug_Internal solution + configuration. + +2010-07-21 Adam Roben + + Move InjectedBundle's settings to a vsprops file + + This will make it easier to change settings for all configurations, + and to add new configurations. + + Fixes InjectedBundle should use vsprops + files + + Reviewed by Darin Adler. + + * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: Added. + Moved settings here... + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: ...from + here. + +2010-07-21 Adam Roben + + Give MiniBrowser our standard set of configurations (minus the *_Cairo + variants) + + MiniBrowser already had a configuration called "Release", but it was + using mostly the same settings as Debug. And its Debug configuration + was using the settings that Debug_Internal should be using. + + Fixes MiniBrowser's build configurations + are screwy + + Reviewed by Darin Adler. + + * MiniBrowser/MiniBrowser.vcproj: Removed debug_internal.vsprops from + the Debug configuration. Remove debug.vsprops and + debug_internal.vsprops from the Release configuration and replace them + with release.vsprops. Added Debug_Internal and Debug_All + configurations. + +2010-07-21 Adam Roben + + Move MiniBrowser's settings to a vsprops file + + This will make it easier to change settings for all configurations, + and to add new configurations. + + MiniBrowser should use vsprops files + https://bugs.webkit.org/show_bug.cgi?id=42745 + + Reviewed by Darin Adler. + + * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: Added. Moved + settings here... + * MiniBrowser/MiniBrowser.vcproj: ...from here. + +2010-07-21 Adam Roben + + Fix compiler warnings when building MiniBrowser + + Also cleaned up the .vcproj a bit. + + Fixes . + + Reviewed by Darin Adler. + + * MiniBrowser/MiniBrowser.vcproj: Removed all settings that are + already defined in .vsprops files. This also fixes a warning about + /EDITANDCONTINUE being incompatible with /SAFESEH. + + * MiniBrowser/win/MiniBrowser.rc: Replaced afxres.h with winresrc.h so + that we stop getting warnings about ID_FILE_OPEN and ID_FILE_CLOSE + being redefined. (I think this will also get us closer to building + with VC++ Express.) + +2010-07-20 Sam Weinig + + Reviewed by Jon Honeycutt. + + Fix obvious typo. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::setStatusbarText): Need to call ->data() to actually get the string value. + +2010-07-20 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] by default, dumpAsText should disable pixel results + https://bugs.webkit.org/show_bug.cgi?id=42715 + + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::dumpAsText): disable pixel results, but allow JS to override + +2010-07-20 Adam Roben + + Windows build fix + + * MiniBrowser/MiniBrowser.vcproj: Link against the new, shiny + WebKit.lib instead of the old, dusty WebKit2.lib. + +2010-07-20 Adam Roben + + Stop linking WebKitTestRunner against getopt + + Use of getopt was removed in r63700. + + Fixes WebKitTestRunner links against + getopt, but doesn't need to + + Reviewed by Sam Weinig. + + * WebKitTestRunner/win/WebKitTestRunner.vcproj: Removed getopt.lib + from all configurations. + +2010-07-20 Adam Roben + + Make run-webkit-tests --webkit-test-runner "work" on Windows + + WebKitTestRunner crashes on launch, but at least the scripts build and + launch it! + + Fixes run-webkit-tests + --webkit-test-runner bails with an error on Windows + + Reviewed by Anders Carlsson. + + * Scripts/build-webkittestrunner: Build WebKitTestRunner.sln on + Windows. + * WebKitTestRunner/WebKitTestRunner.sln: Added. Contains the following + projects (from first-built to last-built): FindSafari, ImageDiff, + InjectedBundleGenerated, InjectedBundle, WebKitTestRunner. + +2010-07-20 Adam Roben + + Change build-webkit back to building WebKit.sln on Windows + + WebKit.sln builds all the same projects as WebKit2.sln, and the latter + is being removed. + + Rubber-stamped in advance by Steve Falkenburg. + + * Scripts/build-webkit: + +2010-07-20 Adam Roben + + Windows build fix + + * MiniBrowser/win/BrowserWindow.cpp: Added missing #include. + +2010-07-20 Joseph Pecoraro + + Reviewed by Geoffrey Garen. + + WebScriptObject Should Allow Safely Checking For Key Existence + https://bugs.webkit.org/show_bug.cgi?id=42613 + + Normal ObjCController workflow for a WebScriptObject test. + + * DumpRenderTree/mac/ObjCController.m: + (+[ObjCController isSelectorExcludedFromWebScript:]): + (+[ObjCController webScriptNameForSelector:]): + (-[ObjCController testHasWebScriptKey:]): + +2010-07-20 Chris Marrin + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=42118 + Disable compositing/webgl tests if WebGL is not enabled + + * Scripts/old-run-webkit-tests: + +2010-07-20 Anton Muhin + + Reviewed by Darin Adler. + + Print additional information about exception if failed to connect to apache (in verbose mode). + https://bugs.webkit.org/show_bug.cgi?id=42627 + + * Scripts/webkitpy/layout_tests/port/http_server_base.py: + +2010-07-20 Tony Chang + + Reviewed by David Levin. + + [chromium] only pass --force to gclient sync if explicitly stated + https://bugs.webkit.org/show_bug.cgi?id=42581 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: bots should + always pass --force since it's hard to do manual cleanups + * Scripts/update-webkit-chromium: only pass --force if --force is + passed in + +2010-07-19 Anders Carlsson + + Fix build. + + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + Paths of generated files should be relative to the build product. + +2010-07-19 Daniel Bates + + Reviewed by Adam Roben. + + [Win] Implement LayoutTestController::markerTextForListItem() + https://bugs.webkit.org/show_bug.cgi?id=37930 + + Implements DRT support for markerTextForListItem in the Windows port. + + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::markerTextForListItem): Implemented. + +2010-07-19 Jessie Berlin + + Windows build fix. Unreviewed. + + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::initializeTestPluginPath): + +2010-07-19 Sam Weinig + + Reviewed by Jon Honeycutt. + + Remove dependency on getopt from WebKitTestRunner. + + - Simplify options parsing and eliminate unused options. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::TestController): + (WTR::TestController::initialize): + * WebKitTestRunner/TestController.h: + (WTR::TestController::testPluginPath): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::platformInitialize): + (WTR::TestController::initializeTestPluginPath): + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::platformInitialize): + (WTR::TestController::initializeTestPluginPath): + +2010-07-19 Diego Gonzalez + + Reviewed by Antonio Gomes. + + [Qt] MiniBrowser: Progress indication at address bar + https://bugs.webkit.org/show_bug.cgi?id=42565 + + Make possible to see load progress at address bar based on + QtTestBrowser solution + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + (BrowserWindow::loadProgress): + * MiniBrowser/qt/BrowserWindow.h: + +2010-07-19 Diego Gonzalez + + Reviewed by Antonio Gomes. + + [Qt] Add MiniBrowser features: urlChanged, titleChanged and from user input load + https://bugs.webkit.org/show_bug.cgi?id=42564 + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserView::load): + (BrowserWindow::BrowserWindow): + (BrowserWindow::titleChanged): + (BrowserWindow::urlChanged): + * MiniBrowser/qt/BrowserWindow.h: + +2010-07-19 Sam Weinig + + Reviewed by Adam Roben. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42532 + Auto-generate the JS bindings for WebKitTestRunner's script objects. + + * WebKitTestRunner/Configurations/Base.xcconfig: + * WebKitTestRunner/Configurations/DebugRelease.xcconfig: + * WebKitTestRunner/DerivedSources.make: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Added. + * WebKitTestRunner/InjectedBundle/Bindings: Added. + * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Added. + * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Added. + (WTR::JSWrappable::~JSWrappable): + * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Added. + (WTR::JSWrapper::wrap): + (WTR::JSWrapper::unwrap): + (WTR::unwrapObject): + (WTR::JSWrapper::initialize): + (WTR::JSWrapper::finalize): + * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Added. + (WTR::toJS): + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::dump): + (WTR::InjectedBundlePage::setStatusbarText): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::wrapperClass): + (WTR::LayoutTestController::waitUntilDone): + (WTR::LayoutTestController::makeWindowObject): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::shouldDumpAsText): + (WTR::LayoutTestController::dumpAsText): + (WTR::LayoutTestController::shouldDumpStatusCallbacks): + (WTR::LayoutTestController::dumpStatusCallbacks): + (WTR::LayoutTestController::waitToDump): + (WTR::LayoutTestController::testRepaint): + (WTR::LayoutTestController::repaintSweepHorizontally): + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: Added. + * WebKitTestRunner/win/build-generated-files.sh: Added. + +2010-07-19 Mark Rowe + + Clean up the buildbot configuration a little. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2010-07-19 Chris Marrin + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42118 + Disable WebGL on Leopard for now. + + LayoutTests fail on some graphics hardware on Leopard because one of the features we use, + GL_ARB_framebuffer_object, is not universally available in Leopard like it is in + SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a + software OpenGL driver on machines without this support. + + * Scripts/build-webkit: + +2010-07-19 Simon Fraser + + Reviewed by Brady Eidson. + + Fix MiniBrowser to update URL as you browse + https://bugs.webkit.org/show_bug.cgi?id=42591 + + Hook up various loading notifications to update the URL bar in MiniBrowser. + + * MiniBrowser/mac/BrowserWindowController.m: + (_didStartProvisionalLoadForFrame): + (_didReceiveServerRedirectForProvisionalLoadForFrame): + (_didFailProvisionalLoadWithErrorForFrame): + (_didCommitLoadForFrame): + (_didFailLoadWithErrorForFrame): + (-[BrowserWindowController updateProvisionalURLForFrame:]): + (-[BrowserWindowController didStartProvisionalLoadForFrame:]): + (-[BrowserWindowController didReceiveServerRedirectForProvisionalLoadForFrame:]): + (-[BrowserWindowController didFailProvisionalLoadWithErrorForFrame:]): + (-[BrowserWindowController didFailLoadWithErrorForFrame:]): + (-[BrowserWindowController didCommitLoadForFrame:]): + +2010-07-19 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42586 + Log all canceled authentication attempts in DumpRenderTree + + * DumpRenderTree/mac/ResourceLoadDelegate.mm: + (-[ResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): + * DumpRenderTree/win/ResourceLoadDelegate.cpp: + (ResourceLoadDelegate::didReceiveAuthenticationChallenge): + It's important to know whether an auth sheet appeared. Added logging to "no preset credentials" + case. + +2010-07-19 Sheriff Bot + + Unreviewed, rolling out r63671. + http://trac.webkit.org/changeset/63671 + https://bugs.webkit.org/show_bug.cgi?id=42575 + + broke windows (Requested by weinig on #webkit). + + * WebKitTestRunner/Configurations/Base.xcconfig: + * WebKitTestRunner/Configurations/DebugRelease.xcconfig: + * WebKitTestRunner/DerivedSources.make: Removed. + * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Removed. + * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Removed. + * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Removed. + * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Removed. + * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Removed. + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Removed. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::dump): + (WTR::InjectedBundlePage::setStatusbarText): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::setWaitToDump): + (WTR::displayCallback): + (WTR::dumpAsTextCallback): + (WTR::dumpStatusCallbacksCallback): + (WTR::waitUntilDoneCallback): + (WTR::notifyDoneCallback): + (WTR::numberOfActiveAnimationsCallback): + (WTR::pauseAnimationAtTimeOnElementWithIdCallback): + (WTR::repaintSweepHorizontallyCallback): + (WTR::testRepaintCallback): + (WTR::layoutTestControllerObjectFinalize): + (WTR::LayoutTestController::makeWindowObject): + (WTR::LayoutTestController::getJSClass): + (WTR::LayoutTestController::staticFunctions): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::dumpAsText): + (WTR::LayoutTestController::setDumpAsText): + (WTR::LayoutTestController::dumpStatusCallbacks): + (WTR::LayoutTestController::setDumpStatusCallbacks): + (WTR::LayoutTestController::setTestRepaint): + (WTR::LayoutTestController::setTestRepaintSweepHorizontally): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-07-19 Sam Weinig + + Reviewed by Adam Roben. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42532 + Auto-generate the JS bindings for WebKitTestRunner's script objects. + + * WebKitTestRunner/Configurations/Base.xcconfig: + * WebKitTestRunner/Configurations/DebugRelease.xcconfig: + * WebKitTestRunner/DerivedSources.make: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Added. + * WebKitTestRunner/InjectedBundle/Bindings: Added. + * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Added. + * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Added. + (WTR::JSWrappable::~JSWrappable): + * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Added. + (WTR::JSWrapper::wrap): + (WTR::JSWrapper::unwrap): + (WTR::unwrapObject): + (WTR::JSWrapper::initialize): + (WTR::JSWrapper::finalize): + * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Added. + (WTR::toJS): + * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::dump): + (WTR::InjectedBundlePage::setStatusbarText): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::wrapperClass): + (WTR::LayoutTestController::waitUntilDone): + (WTR::LayoutTestController::makeWindowObject): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::shouldDumpAsText): + (WTR::LayoutTestController::dumpAsText): + (WTR::LayoutTestController::shouldDumpStatusCallbacks): + (WTR::LayoutTestController::dumpStatusCallbacks): + (WTR::LayoutTestController::waitToDump): + (WTR::LayoutTestController::testRepaint): + (WTR::LayoutTestController::repaintSweepHorizontally): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-07-19 Tony Chang + + Reviewed by David Levin. + + fix chromium linux compile on ubuntu maverick + https://bugs.webkit.org/show_bug.cgi?id=42528 + + * Scripts/webkitdirs.pm: add a chomp to eat a newline that breaks the make command line + +2010-07-19 Adam Roben + + When dumping a response's MIME type, print its URL's last path + component rather than its suitable-for-test-result form + + This matches the Mac behavior. + + Fixes + http/tests/loading/preload-slow-loading.php and + http/tests/mime/uppercase-mime-type.html fail on Windows + + Reviewed by Anders Carlsson. + + * DumpRenderTree/win/DumpRenderTree.cpp: + (urlSuitableForTestResult): Moved code to actually extract the last + path component from here... + (lastPathComponent): ...to here. + + * DumpRenderTree/win/DumpRenderTreeWin.h: Added lastPathComponent. + + * DumpRenderTree/win/ResourceLoadDelegate.cpp: + (ResourceLoadDelegate::didReceiveResponse): Use the URL's last path + component, rather than its suitable-for-test-result form, to match + Mac. + +2010-07-19 Anders carlsson + + Reviewed by Adam Roben. + + WebKit2 does not have application cache + https://bugs.webkit.org/show_bug.cgi?id=42552 + + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::resetPreferencesToConsistentValues): + Set up default preferences. Right now just enables the web application cache. + + (WTR::TestInvocation::invoke): + Call resetPreferencesToConsistentValues. + + * WebKitTestRunner/TestInvocation.h: + +2010-07-19 Kent Tamura + + Reviewed by Adam Roben. + + Fix NewRunWebKitTests to work on Windows. + https://bugs.webkit.org/show_bug.cgi?id=41180 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + Specifying python explicitly. + +2010-07-18 Anders Carlsson + + Reviewed by Dan Bernstein. + + Add dumping of statusbar text to WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=42516 + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::_setStatusbarText): + (WTR::InjectedBundlePage::setStatusbarText): + Dump the statusbar text. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): + Initialize m_dumpStatusCallbacks to false. + + (WTR::dumpStatusCallbacksCallback): + Implement JSC callback. + + (WTR::LayoutTestController::staticFunctions): + Add dumpStatusCallbacks. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::dumpStatusCallbacks): + (WTR::LayoutTestController::setDumpStatusCallbacks): + Add setter and getter for m_dumpStatusCallbacks. + +2010-07-17 Anders Carlsson + + Reviewed by Maciej Stachowiak. + + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + Get the test plug-in path and set it on the context. + + * WebKitTestRunner/TestController.h: + * WebKitTestRunner/mac/TestControllerMac.mm: + (WTR::TestController::initializeInjectedBundlePath): + Simplify this code by using NSBundle. + + (WTR::TestController::testPluginPath): + Return the test plug-in path. + + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::testPluginPath): + Ditto. + +2010-07-16 Adam Barth + + Reviewed by Eric Seidel. + + Teach webkitpy about queues.webkit.org + https://bugs.webkit.org/show_bug.cgi?id=42492 + + * Scripts/webkitpy/common/net/statusserver.py: + +2010-07-16 Ada Chan + + Reviewed by Alice Liu. + + Fix Windows build. + + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: + +2010-07-16 Sam Weinig + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=42482 + + Add notification of when the BackForwardList changes + to aid invalidation of Back/Forward related UI elements. + + * MiniBrowser/mac/BrowserWindowController.m: + (_didStartProvisionalLoadForFrame): + (_didCommitLoadForFrame): + (_didFailLoadWithErrorForFrame): + (_didChangeBackForwardList): + (-[BrowserWindowController awakeFromNib]): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-07-16 Kent Tamura + + Reviewed by Darin Fisher. + + [Chromium] UI implementation for Windows + https://bugs.webkit.org/show_bug.cgi?id=42259 + + * DumpRenderTree/chromium/WebThemeEngineDRT.cpp: + (WebThemeEngineDRT::paintSpinButton): + Added. Check state consistency and use existing arrow painting code. + * DumpRenderTree/chromium/WebThemeEngineDRT.h: + +2010-07-16 Alice Liu + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=42430 + Make WebKitTestRunner on Windows actually load and run a test + + * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: Export WKBundleInitialize. + (WKBundleInitialize): + * WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj: Added. Output is a dll. + * WebKitTestRunner/TestInvocation.cpp: Create a Windows-style path on Windows + (WTR::createWKURL): + * WebKitTestRunner/WebKitTestRunnerPrefix.h: Change check for Windows platform to match + other existing checks, and avoid including Platform.h + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::registerWindowClass): Added. + (WTR::PlatformWebView::PlatformWebView): Implemented. + (WTR::PlatformWebView::~PlatformWebView): Implemented. + (WTR::PlatformWebView::page): Implemented. + * WebKitTestRunner/win/TestControllerWin.cpp: + (WTR::TestController::initializeInjectedBundlePath): Implemented. Provide build + configuration specific path to InjectedBundle.dll. + * WebKitTestRunner/win/TestInvocationWin.cpp: + (WTR::TestInvocation::runUntil): Implemented. + * WebKitTestRunner/win/WebKitTestRunner.sln: Added InjectedBundle project. + * WebKitTestRunner/win/WebKitTestRunner.vcproj: Cleaned up unnecessary dependencies. + +2010-07-16 Brady Eidson + + Reviewed by Sam Weinig. + + Make revalidation of back/forward work a little better with page loads + https://bugs.webkit.org/show_bug.cgi?id=42470 + + * MiniBrowser/mac/BrowserWindow.xib: + * MiniBrowser/mac/BrowserWindowController.h: + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController validateToolbar]): + (_didStartProvisionalLoadForFrame): + (_didCommitLoadForFrame): + (_didFailLoadWithErrorForFrame): + +2010-07-16 Nikolas Zimmermann + + Reviewed by Dirk Schulze. + + Add possibility to dumpAsText and generate a pixel test result + https://bugs.webkit.org/show_bug.cgi?id=42374 + + Add optional parameter to setDumpAsText() to allow generating a pixel test result even if dumpAsText mode. + setDumpAsText(true) will also generate a pixel test result now, when running run-webkit-tests --pixel-tests. + + This is needed for the svg/dynamic-updates tests, which don't want render tree dumps but text dumps + a pixel test result. + At some point DRT changed to not generate pixel test results when using dumpAsText - which makes sense, but breaks the svg/dynamic-updates test. + + Implemented for all DRT platforms, except Qt, as it's not clear how arguments to functions like "setDumpAsText" are handled. + (Qt always dumps pixel tests when using --pixel-tests mode, so it does not break anything) + + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (dumpAsTextAndPixelsCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + (LayoutTestController::dumpAsTextAndPixels): + (LayoutTestController::setDumpAsTextAndPixels): + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::dumpAsTextAndPixels): + (LayoutTestController::reset): + * DumpRenderTree/chromium/LayoutTestController.h: + (LayoutTestController::shouldDumpAsTextAndPixels): + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::dump): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (dump): + * DumpRenderTree/mac/DumpRenderTree.mm: + (dump): + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::dump): + * DumpRenderTree/win/DumpRenderTree.cpp: + (dump): + * DumpRenderTree/wx/DumpRenderTreeWx.cpp: + (dump): + +2010-07-16 Kent Hansen + + Unreviewed. Adding myself as committer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-16 Shinichiro Hamaji + + Another uneviewed attempt to fix build. + + Printing test results differ between machines, we should use ImageDiff instead + https://bugs.webkit.org/show_bug.cgi?id=20011 + + * DumpRenderTree/mac/PixelDumpSupportMac.mm: + (createPagedBitmapContext): + +2010-07-16 Shinichiro Hamaji + + Unreviewed tiger build fix. + + Printing test results differ between machines, we should use ImageDiff instead + https://bugs.webkit.org/show_bug.cgi?id=20011 + + * DumpRenderTree/mac/PixelDumpSupportMac.mm: + (createBitmapContext): + (createBitmapContextFromWebView): + +2010-07-15 Shinichiro Hamaji + + Unreviewed build fix. + + Printing test results differ between machines, we should use ImageDiff instead + https://bugs.webkit.org/show_bug.cgi?id=20011 + + * DumpRenderTree/PixelDumpSupport.cpp: + (dumpWebViewAsPixelsAndCompareWithExpected): + +2010-07-15 Shinichiro Hamaji + + Reviewed by Darin Adler. + + Printing test results differ between machines, we should use ImageDiff instead + https://bugs.webkit.org/show_bug.cgi?id=20011 + + * DumpRenderTree/PixelDumpSupport.cpp: + (dumpWebViewAsPixelsAndCompareWithExpected): + * DumpRenderTree/PixelDumpSupport.h: + * DumpRenderTree/mac/PixelDumpSupportMac.mm: + (createBitmapContext): This function was added to share bitmap context creation code. + (createBitmapContextFromWebView): + (createPagedBitmapContext): + +2010-07-15 Yuta Kitamura + + Reviewed by Kent Tamura. + + Pull in pywebsocket-0.5.1 + https://bugs.webkit.org/show_bug.cgi?id=42353 + + pywebsocket-0.5.1 contains a small bug fix (*) that should fix a worker test + in Chromium. There is no other functional change. + + (*) http://code.google.com/p/pywebsocket/source/detail?r=265 + + * Scripts/webkitpy/thirdparty/__init__.py: Bump pywebsocket version to 0.5.1. + +2010-07-15 Brady Eidson + + Reviewed by Sam Weinig. + + Add toolbar and toolbar item validation for MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=42422 + + * MiniBrowser/MBToolbarItem.h: Added. + * MiniBrowser/MBToolbarItem.m: Added. + (-[MBToolbarItem validate]): + + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController validateUserInterfaceItem:]): + + * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: + * MiniBrowser/mac/BrowserWindow.xib: + +2010-07-15 Victor Wang + + Unreviewed, add victorw irc nickname to committer list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-15 Adam Roben + + Make killing Apache more reliable (on both Mac and Windows) + + We previously had two ways of determining whether we had succeeded in + killing Apache: + 1) checking the return value of kill(0, $apachePID) + 2) checking whether Apache's PID file still exists + + On Cygwin, Apache doesn't always delete its PID file when it exits, + making (2) unreliable. We unfortunately misdiagnosed this as an + impotency of Perl's kill function, which led to r63177 and r63355. + + Now that we know that the real problem is that Apache doesn't always + delete its PID file on Windows, we can make a much better fix: always + use method (1) to determine whether we've killed Apache. + + Fixes Killing Apache is unreliable, + leading to regression test failures (and general annoyance). + + Reviewed by Anders Carlsson. + + * Scripts/webkitperl/httpd.pm: + (openHTTPD): Moved killing code from here to killHTTPD. Added a call + to delete the PID file in case Apache doesn't do this itself when + killed. Our later logic relies on the PID file being deleted after + this point. + (closeHTTPD): Removed killing logic and changed to just call killHTTPD + instead. killHTTPD's logic is a bit different from the logic we had + here, for the reasons stated above. + (killHTTPD): Added. Code came from openHTTPD. + (handleInterrupt): Bonus fix for Mac: don't hang when pressing Ctrl-C! + On Mac, don't try to kill Apache when we receive a signal, as Apache + will already have been killed by this point (though for some reason + this isn't detected by our killing logic in killHTTPD). On Cygwin, we + still need to kill Apache manually. + +2010-07-15 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42399 + Update MiniBrowser for WKFrameNavigationType + + * MiniBrowser/mac/BrowserWindowController.m: + (_decidePolicyForNavigationAction): + (_decidePolicyForNewWindowAction): + +2010-07-15 Stephanie Lewis + + Reviewed by Geoff Garen. + + http://bugs.webkit.org/show_bug.cgi?id=42406 + Make SunSpider work better with roots. + + * Scripts/sunspider-compare-results: fix argument bug + * Scripts/webkitdirs.pm: look inside JavaScriptCore if jsc isn't top-level. + +2010-07-15 Brady Eidson + + Reviewed by Sam Weinig. + + Hook up back/forward in MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=42397 + + * MiniBrowser/mac/BrowserWindow.xib: + * MiniBrowser/mac/BrowserWindowController.h: + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController goBack:]): + (-[BrowserWindowController goForward:]): + +2010-07-15 Daniel Bates + + Reviewed by Darin Adler. + + [Mac] Implement LayoutTestController::markerTextForListItem() + https://bugs.webkit.org/show_bug.cgi?id=37929 + + Implements DRT support for markerTextForListItem in the Mac port. + + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::markerTextForListItem): Implemented. + +2010-07-15 Adam Barth + + Unreviewed. + + Update the port names to be more specific. Before this patch, + port-specific results for Mac would end up in the wrong place. + + * Scripts/webkitpy/tool/commands/rebaseline.py: + * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: + +2010-07-14 Eric Seidel + + Reviewed by Adam Barth. + + WebKit needs a rebaselining tool (finally) + https://bugs.webkit.org/show_bug.cgi?id=42339 + + This is a very basic rebaselining tool. It's not + quite as fancy as chromium's as it will only handle + updating failing results. It cannot yet handle adding new + results, or updating results where the results should not + replace existing results. + + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/tool/commands/__init__.py: + * Scripts/webkitpy/tool/commands/queries.py: + * Scripts/webkitpy/tool/commands/rebaseline.py: Added. + * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Added. + +2010-07-14 Sheriff Bot + + Unreviewed, rolling out r63352. + http://trac.webkit.org/changeset/63352 + https://bugs.webkit.org/show_bug.cgi?id=42341 + + Broke plugin-initiate-popup-window.html and plugin-javascript- + access.html on snow leopard (Requested by abarth on #webkit). + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + (pluginAllocate): + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + (handleEventCarbon): + (handleEventCocoa): + +2010-07-14 Maciej Stachowiak + + Reviewed by Mark Rowe. + + Lower WebKitTestRunner notifyDone timeout to 6.0 for now, to make it easier to grind through the failures. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + +2010-07-14 Sheriff Bot + + Unreviewed, rolling out r63346. + http://trac.webkit.org/changeset/63346 + https://bugs.webkit.org/show_bug.cgi?id=42295 + + Broke lots of tests, some of which probably just need new + results (Requested by aroben on #webkit). + + * DumpRenderTree/win/DumpRenderTree.cpp: + (urlSuitableForTestResult): + +2010-07-14 Adam Roben + + Speed up killing of Apache on Windows + + Fixes Killing Apache (and thus quitting + run-webkit-tests) takes a long time on Windows + + Reviewed by Darin Adler and Jon Honeycutt. + + * Scripts/webkitperl/httpd.pm: + (closeHTTPD): Use taskkill to kill Apache and its child processes. + Perl's kill seems ineffectual. We were already using taskkill, but + only after trying kill 20 times. Since kill never works, let's just + skip it entirely. + +2010-07-14 Johnny Ding + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=41292 + Add a new parameter to the test plugin to allow to specify a script and a + mouse/keyboard event. The specified script will be evaluated in the browser + when the specified event is received by the plugin. + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + (pluginAllocate): + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + (handleEventCarbon): + (handleEventCocoa): + +2010-07-14 Adam Roben + + Make urlSuitableForTestResult work for http: URLs, too + + Fixes + http/tests/loading/preload-slow-loading.php and + http/tests/mime/uppercase-mime-type.html fail on Windows. + + Reviewed by Darin Adler. + + * DumpRenderTree/win/DumpRenderTree.cpp: + (urlSuitableForTestResult): Don't bail if the URL starts with http://. + We want this function to work for those URLs, too! + +2010-07-13 Maciej Stachowiak + + Reviewed by Oliver Hunt. + + Add placebo versions of some repaint test functions to WebKitTestRunner - good enough for non-pixel tests + https://bugs.webkit.org/show_bug.cgi?id=42227 + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): Initialize new bool + members. + (WTR::LayoutTestController::display): Dummy method. + (WTR::displayCallback): Call the dummy. + (WTR::repaintSweepHorizontallyCallback): ditto + (WTR::testRepaintCallback): ditto + (WTR::LayoutTestController::staticFunctions): Expose new methods. + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::setTestRepaint): Set the flag (which currently does + nothing). + (WTR::LayoutTestController::setTestRepaintSweepHorizontally): ditto + +2010-07-13 Andreas Kling + + Unreviewed. Adding myself as committer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-07 Tor Arne Vestbø + + Reviewed by Darin Adler. + + Prevent assertion/duplicate loads for non-deferred subtitute-data loads + + https://bugs.webkit.org/show_bug.cgi?id=30879 + + MainResourceLoader uses the member m_initialRequest to store requests for future + deferred loads. When doing the actual load in handleDataLoadNow(), we therefore + have to clear this request so that subsequent entries into the loader will not + start yet another load. + + This can happen as a result of a PageGroupLoadDeferrer going out of scope when + returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false), + but only in the case of using both substitute-data and non-deferred main resource + load together. That's why two new DRT functions were added: + + * queueLoadHTMLString() + * setDeferMainResourceLoad() + + The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac + and Win the hook uses new SPI in WebDataSource. For Qt a new static member was + added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt. + + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (queueLoadHTMLStringCallback): + (setDeferMainResourceDataLoadCallback): + (LayoutTestController::staticFunctions): + (LayoutTestController::queueLoadHTMLString): + * DumpRenderTree/LayoutTestController.h: + (LayoutTestController::deferMainResourceDataLoad): + (LayoutTestController::setDeferMainResourceDataLoad): + * DumpRenderTree/WorkQueueItem.h: + (LoadHTMLStringItem::LoadHTMLStringItem): + * DumpRenderTree/gtk/WorkQueueItemGtk.cpp: + (LoadHTMLStringItem::invoke): + * DumpRenderTree/mac/ResourceLoadDelegate.mm: + (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): + * DumpRenderTree/mac/WorkQueueItemMac.mm: + (LoadHTMLStringItem::invoke): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::setDeferMainResourceDataLoad): + (LayoutTestController::queueLoadHTMLString): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + * DumpRenderTree/qt/WorkQueueItemQt.cpp: + (LoadHTMLStringItem::invoke): + * DumpRenderTree/qt/WorkQueueItemQt.h: + (LoadHTMLStringItem::LoadHTMLStringItem): + * DumpRenderTree/win/ResourceLoadDelegate.cpp: + (ResourceLoadDelegate::willSendRequest): + * DumpRenderTree/win/WorkQueueItemWin.cpp: + (LoadHTMLStringItem::invoke): + * DumpRenderTree/wx/WorkQueueItemWx.cpp: + (LoadHTMLStringItem::invoke): + +2010-07-13 Maciej Stachowiak + + Reviewed by Nikolas Zimmermann. + + Activate test fonts for layout tests in WebKitTestRunner (on Mac) + https://bugs.webkit.org/show_bug.cgi?id=42153 + + * WebKitTestRunner/InjectedBundle/ActivateFonts.h: Added. + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::initialize): Activate fonts on startup. + * WebKitTestRunner/InjectedBundle/mac: Added. + * WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm: Added. + (WTR::activateFonts): Activate our fonts. + * WebKitTestRunner/InjectedBundle/win: Added. + * WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: Added. + (WTR::activateFonts): Dummy version. + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Copy fonts to bundle; + add more files. + * WebKitTestRunner/fonts: Added. + * WebKitTestRunner/fonts/AHEM____.TTF: Added. + * WebKitTestRunner/fonts/ColorBits-A.png: Added. + * WebKitTestRunner/fonts/ColorBits.ttf: Added. + * WebKitTestRunner/fonts/WebKit Layout Tests 2.ttf: Added. + * WebKitTestRunner/fonts/WebKit Layout Tests.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher100.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher200.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher300.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher400.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher500.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher600.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher700.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher800.ttf: Added. + * WebKitTestRunner/fonts/WebKitWeightWatcher900.ttf: Added. + +2010-07-13 Dumitru Daniliuc + + Reviewed by Eric Seidel. + + Remove check-header-includes, as it didn't turn out to be very useful. + https://bugs.webkit.org/show_bug.cgi?id=41970 + + * Scripts/check-header-includes: Removed. + +2010-07-12 Steve Falkenburg + + Reviewed by Maciej Stachowiak. + + Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots) + https://bugs.webkit.org/show_bug.cgi?id=40922 + + Always build WebKit2 on Windows. Necessary since our WebKit build on + Windows is packaged into a DLL with WebKit2. + + * Scripts/build-webkit: Always build WebKit2 on Windows. + +2010-07-12 Brian Weinstein + + Reviewed by Steve Falkenburg. + + One http test timing out on Windows can cause all future tests to time out + https://bugs.webkit.org/show_bug.cgi?id=42146 + + There have been multiple times on the Windows bots where one http test timing out causes all future + http tests to time out. This is because the httpd process becomes unresponsive. When an http test + times out, we should restart httpd on Cygwin to prevent this. + + * Scripts/old-run-webkit-tests: If an http test timed out on Cygwin, close httpd and restart it. + * Scripts/webkitperl/httpd.pm: Add additional logic to closeHTTPD to teach it about taskkill if + using kill fails. + +2010-07-12 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + Remove use of auto_ptr in WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=42134 + + Replaced auto_ptr with PassOwnPtr / OwnPtr. + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::WKStringToUTF8): + (WTR::InjectedBundlePage::dump): + (WTR::InjectedBundlePage::addMessageToConsole): + * WebKitTestRunner/TestInvocation.cpp: + (WTR::WKStringToUTF8): + (WTR::TestInvocation::didRecieveMessageFromInjectedBundle): + +2010-07-12 Maciej Stachowiak + + Reviewed by Sam Weinig. + + Need support for a WebKit2-specific Skipped list (and initially add accessibility tests to it) + https://bugs.webkit.org/show_bug.cgi?id=42132 + + * Scripts/old-run-webkit-tests: In --webkit-test-runner mode, add mac-wk2 to list of + platform directories. + +2010-07-12 Maciej Stachowiak + + Reviewed by Anders Carlsson. + + Make WebKitTestRunner resize the view specially for the W3C SVG tests. + https://bugs.webkit.org/show_bug.cgi?id=42126 + + * WebKitTestRunner/PlatformWebView.h: + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::TestInvocation): Store the path as a C + string for later use. + (WTR::TestInvocation::~TestInvocation): + (WTR::sizeWebViewForCurrentTest): Resize the WebView to the proper + size, depending on whether this is a W3C SVG test. + (WTR::TestInvocation::invoke): Call the size function. + * WebKitTestRunner/TestInvocation.h: + * WebKitTestRunner/mac/PlatformWebViewMac.mm: + (WTR::PlatformWebView::resizeTo): Implement. + * WebKitTestRunner/win/PlatformWebViewWin.cpp: + (WTR::PlatformWebView::resizeTo): Placeholder. + +2010-07-12 Mario Sanchez Prada + + Reviewed by Xan Lopez. + + Ensure DRT loads GAIL (Gtk+ module), for a11y tests + https://bugs.webkit.org/show_bug.cgi?id=38648 + + Add the GTK_MODULES envvar (set to "gail") to the clean + environment when running DRT for the Gtk+ port + + * Scripts/old-run-webkit-tests: + +2010-07-12 Martin Robinson + + Reviewed by Dirk Schulze. + + [GTK] Support pixel tests + https://bugs.webkit.org/show_bug.cgi?id=31518 + + Finish support for pixel tests on GTK+. + + * DumpRenderTree/PixelDumpSupport.cpp: Remove unecessary RetainPtr include (only + works on CoreFoundation systems) and add missing cstdio include. + * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: Switch to using the MD5 support found + in JSC library. MD5.cpp and MD5.h are only available for the Windows build. + (computeMD5HashStringForBitmapContext): The number of bytes per row should be the row stride + of the image, not the row stride multiplied by the width. Use JSC MD5 implementation to calculate + the MD5 hash here. According to glibc manpages, using snprintf to build a string in unsupported + by the ANSI standard and this fails on Linux, so unroll the loop here. + * DumpRenderTree/cairo/PixelDumpSupportCairo.h: Correct some constructor misbehavior. + (BitmapContext::BitmapContext): There is no reason to check the value of the + m_context member in the constructor and it certainly should not be freed. Instead + just initialize it with the incoming value. + * DumpRenderTree/gtk/DumpRenderTree.cpp: Fix the order of includes. + (dump): Actually call dumpWebViewAsPixelsAndCompareWithExpected when it is time to + dump pixels. + * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: Added. + (createBitmapContextFromWebView): + * GNUmakefile.am: Add new files to the build. + +2010-07-12 Adam Barth + + Unreviewed. + + Remove stray "raise e" that got included in a previous patch. This + caused the EWS bots to turn red instead of purple when a patch failed + to apply. + + * Scripts/webkitpy/tool/commands/stepsequence.py: + +2010-07-12 Sheriff Bot + + Unreviewed, rolling out r63101. + http://trac.webkit.org/changeset/63101 + https://bugs.webkit.org/show_bug.cgi?id=42103 + + Broke one API test (Requested by xan_ on #webkit). + + * Scripts/old-run-webkit-tests: + +2010-07-12 Alexey Proskuryakov + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=13075 + XMLHttpRequest with failed authentication should set status to 401 + + https://bugs.webkit.org/show_bug.cgi?id=6871 + 401 error page is never shown + + Fix crashes in Windows DumpRenderTree. + + * DumpRenderTree/win/ResourceLoadDelegate.cpp: (ResourceLoadDelegate::didReceiveAuthenticationChallenge): + If we return an error, WebKit will call continueWithoutCredentialForAuthenticationChallenge() + again on a destroyed sender. + +2010-07-12 Adam Roben + + Windows failure-to-launch fix + + * DumpRenderTree/win/DumpRenderTree.vcproj: Copy CoreVideo.dll and + CoreVideo.pdb into WebKitOutputDir in the post-build event, too, like + we already do for CoreFoundation, CFNetwork, etc. + +2010-07-12 Mario Sanchez Prada + + Reviewed by Xan Lopez. + + Ensure DRT loads GAIL (Gtk+ module), for a11y tests + https://bugs.webkit.org/show_bug.cgi?id=38648 + + Add the GTK_MODULES envvar (set to "gail") to the clean + environment when running DRT for the Gtk+ port + + * Scripts/old-run-webkit-tests: + +2010-07-09 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=13075 + XMLHttpRequest with failed authentication should set status to 401 + + https://bugs.webkit.org/show_bug.cgi?id=6871 + 401 error page is never shown + + * DumpRenderTree/mac/ResourceLoadDelegate.mm: + (-[ResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): + * DumpRenderTree/win/ResourceLoadDelegate.cpp: + (ResourceLoadDelegate::didReceiveAuthenticationChallenge): + Do respond even if handlesAuthenticationChallenges() is false. Pretend that the user pressed + the Cancel button. + +2010-07-12 Andreas Kling + + Reviewed by Tor Arne Vestbø. + + [Qt] Add location bar (Ctrl+L) shortcut in QtTestBrowser + https://bugs.webkit.org/show_bug.cgi?id=42082 + + * QtTestBrowser/main.cpp: + (LauncherWindow::createChrome): + * QtTestBrowser/mainwindow.cpp: + (MainWindow::openLocation): + * QtTestBrowser/mainwindow.h: + +2010-07-12 Adam Roben + + Make the Python autoinstaller not use a dead SourceForge server + + Fixes webkit-patch is broken due to + offline SourceForge server + + Reviewed by Anders Carlsson. + + * Scripts/webkitpy/thirdparty/__init__.py: Use + surfnet.dl.sourceforge.net instead of hivelocity.dl.sourceforge.net, + which seems to be down. + +2010-07-12 Adam Roben + + Make run-webkit-tests print how many tests timed out when exiting + early + + The number of timed-out tests is taken into account when deciding + whether to exit early. Leaving it out of the output just makes the + script look buggy (because it might say something like "Exiting early + after 0 crashes."). + + Fixes run-webkit-tests prints confusing + messages when exiting early due to crashes and time-outs + + Reviewed by Anders Carlsson. + + * Scripts/old-run-webkit-tests: + (stopRunningTestsEarlyIfNeeded): When stopping, print the number of + timed-out tests, too. + +2010-07-11 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + Implement animation-related methods for WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=42053 + + Implemented numberOfActiveAnimatiosn and pauseAnimationAtTimeOnElementWithId. Many + animation tests were hanging otherwise. + + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::numberOfActiveAnimations): + (WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId): + (WTR::numberOfActiveAnimationsCallback): + (WTR::pauseAnimationAtTimeOnElementWithIdCallback): + (WTR::LayoutTestController::staticFunctions): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + +2010-07-11 Daniel Bates + + Reviewed by David Kilzer. + + Enable executable support for svn-apply and svn-unapply + https://bugs.webkit.org/show_bug.cgi?id=39409 + + Connect up the Git and SVN executable bit support in parseDiff() so that + executable bit changes are propagated via the returned diff hash to the + patch function in svn-apply and svn-unapply. + + * Scripts/VCSUtils.pm: + - Modified parseDiff() to call parseSvnDiffProperties when + it finds the start of an SVN property change diff. + - Removed FIXME comment above parseSvnDiffProperties() since + it is now being used by parseDiff(). + - Export method scmToggleExecutableBit() now that we added the + executableBitDelta hash key. (This should have been exported + when we added this function in Bug #38423 ). + * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: + - Updated results for: + "rename (with executable bit change)" + - Test value of executableBitDelta (now that we have support). + "SVN: binary file (isBinary true)" + - Remove the property change diff from svnConvertedText. We plan + to remove svnConvertedText in the future. So, we decided + against adding such support to any new code, such as the + property parsing routines. Therefore, we do not keep SVN + converted text for property change diffs. + - Added unit tests: + "SVN: file change diff with property change diff" + "SVN: file change diff, followed by property change diff on different file" + "SVN: property diff, followed by file change diff" + "SVN: copied file with property change" + "SVN: two consecutive property diffs" + "SVN: binary file with executable bit change" + "SVN: binary file followed by property change on different file" + "SVN: binary file followed by file change on different file" + "SVN: file change diff with property change, followed by property change diff" + "SVN: file change diff with property change, followed by file change diff" + +2010-07-11 Maciej Stachowiak + + Reviewed by Dan Bernstein. + + Implement waitUntilDone and notifyDone for WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=42049 + + With this fix, most of the DOM tests pass. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::didCreatePage): Track the main page. Not + a great way to do it in the future case where we may get multiple + pages - we really need a way to send it over from the ui process. + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + (WTR::InjectedBundle::page): A way to get the main page. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): Initialize m_isLoading to false. + (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): Track that we + are loading. + (WTR::InjectedBundlePage::dump): Factor into a method so this can be + called by the layout test controller. Also, cancel any pending watchdogs. + (WTR::InjectedBundlePage::didFinishLoadForFrame): Note that we are done loading. + (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): Ditto. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + (WTR::InjectedBundlePage::isLoading): A way to track if we are loading. + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: + (WTR::LayoutTestController::LayoutTestController): Initialize m_waitToDump + to false. + (WTR::LayoutTestController::invalidateWaitToDumpWatchdog): Invalidate + the watchdog. + (WTR::waitUntilDoneWatchdogFired): Static helper for the watchdog timer. + (WTR::LayoutTestController::setWaitToDump): Set the flag. + (WTR::LayoutTestController::waitToDumpWatchdogTimerFired): Handle the case + where waitUntilDone times out. + (WTR::LayoutTestController::notifyDone): Dump, if loading is done. + (WTR::waitUntilDoneCallback): JS glue for waitUntilDone. + (WTR::notifyDoneCallback): JS glue for notifyDone. + (WTR::LayoutTestController::staticFunctions): Add waitUntilDone and notifyDone + to the layoutController. + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: + (WTR::LayoutTestController::waitToDump): Inline method to get the wait state. + +2010-07-09 Brian Weinstein + + Rubber-stamped by Dan Bernstein. + + Windows testers running Windows 7 were hanging during test_kill_process. Changing the + number of attempts from 3 to 10 fixes the problem on the new bots (and doesn't seem to + slow down the tests). + + * Scripts/webkitpy/common/system/executive.py: + +2010-07-09 Luiz Agostini + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Mac build fix + https://bugs.webkit.org/show_bug.cgi?id=41967 + + Adding file PluginObjectMac.mm and frameworks Cocoa and QuartzCore. + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2010-07-09 Diego Gonzalez + + Reviewed by Antonio Gomes. + + [Qt] [WebKit2] Add navigation actions to MiniBrowser toolbar + https://bugs.webkit.org/show_bug.cgi?id=41966 + + * MiniBrowser/qt/BrowserWindow.cpp: + (BrowserWindow::BrowserWindow): + +2010-07-09 Leon Clarke + + Reviewed by Adam Barth. + + add support for link prefetching + https://bugs.webkit.org/show_bug.cgi?id=3652 + + * Scripts/build-webkit: + +2010-07-09 Ojan Vafai + + Reviewed by Adam Barth. + + r63004 broke some python tests + https://bugs.webkit.org/show_bug.cgi?id=42007 + + AbstractStep now checks options.no_squash and options.squash, so + they needed to have real values. Mock would return an object for those, + which would then act as if the values were True. + + * Scripts/webkitpy/tool/commands/commandtest.py: + * Scripts/webkitpy/tool/commands/download_unittest.py: + * Scripts/webkitpy/tool/commands/stepsequence.py: + * Scripts/webkitpy/tool/commands/upload_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py: + * Scripts/webkitpy/tool/steps/preparechangelog_unittest.py: + * Scripts/webkitpy/tool/steps/steps_unittest.py: + * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py: + * Scripts/webkitpy/tool/steps/validatereviewer_unittest.py: + +2010-07-09 Ojan Vafai + + Reviewed by Adam Barth. + + --squash should go away and become the default + https://bugs.webkit.org/show_bug.cgi?id=39624 + + If there are local commits and working copy changes, then prompt the user + whether to continue. Setting git config webkit-patch.commit_should_always_squash + true bypasses the prompt. + + --git-commit=HEAD.. operates on working copy changes only. + --git-commit=committish operates on a range of commits as a single commit. + e.g. --git-commit=HEAD only operates on the HEAD commit. + --git-commit=HEAD~4..HEAD~2 will operate on HEAD~3 and HEAD~2 as a single commit. + + --no-squash and --squash are left in with descriptive error messages if used. + + * Scripts/check-webkit-style: + * Scripts/webkitpy/common/checkout/api.py: + * Scripts/webkitpy/common/checkout/api_unittest.py: + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + * Scripts/webkitpy/common/net/rietveld.py: + * Scripts/webkitpy/common/system/user.py: + * Scripts/webkitpy/style/optparser.py: + * Scripts/webkitpy/style_references.py: + * Scripts/webkitpy/tool/commands/download.py: + * Scripts/webkitpy/tool/commands/upload.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/abstractstep.py: + * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py: + * Scripts/webkitpy/tool/steps/checkstyle.py: + * Scripts/webkitpy/tool/steps/checkstyle_unittest.py: Removed. + * Scripts/webkitpy/tool/steps/commit.py: + * Scripts/webkitpy/tool/steps/options.py: + * Scripts/webkitpy/tool/steps/preparechangelog.py: + * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py: + * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py: + * Scripts/webkitpy/tool/steps/validatereviewer.py: + +2010-07-09 Mark Rowe + + Add two new Windows test build slaves. + + * BuildSlaveSupport/build.webkit.org-config/config.json: + +2010-07-09 Albert J. Wong + + Reviewed by David Levin. + + rebaseline_chromium_webkit_tests missing --use_drt option on linux + https://bugs.webkit.org/show_bug.cgi?id=41985 + + This adds in the --use_drt option for rebaseline_chromium_webkit_tests + so that it works on linux. This is essentially a "compile-fix" for the + script. + + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + +2010-07-09 Nico Weber + + Unreviewed. Adding myself as committer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-09 David Kilzer + + Revert " commit-log-editor: wrong ChangeLog read when invoked from subdir with git" + + This reverts commit r62692. + + * Scripts/commit-log-editor: + +2010-07-08 Kinuko Yasuda + + Reviewed by Ojan Vafai. + + cleanup json_results_generator dependencies so that non-layout-tests can also use it safely + https://bugs.webkit.org/show_bug.cgi?id=38693 + + Introduced a new base class JSONResultsGeneratorBase that doesn't + have any dependency on layout_tests packages. + Turned JSONResultsGenerator into a wrapper class of the base class + so that the old code can work with it during the cleanup. + + Added json_results_generator_unittest.py. + + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: Added + +2010-07-09 Abhishek Arya + + Unreviewed. + + Marking myself as a committer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-09 Kenneth Rohde Christiansen + + Reviewed by Antti Koivisto. + + Implement MiniBrowser for Qt. + https://bugs.webkit.org/show_bug.cgi?id=40233 + + * MiniBrowser/qt/BrowserWindow.cpp: Added. + (createNewPage): + (BrowserView::BrowserView): + (BrowserView::resizeEvent): + (BrowserView::load): + (BrowserView::view): + (BrowserWindow::BrowserWindow): + (BrowserWindow::load): + (BrowserWindow::changeLocation): + (BrowserWindow::~BrowserWindow): + * MiniBrowser/qt/BrowserWindow.h: Added. + (BrowserView::~BrowserView): + * MiniBrowser/qt/MiniBrowser.pro: Added. + * MiniBrowser/qt/main.cpp: Added. + (main): + +2010-07-09 Jedrzej Nowacki + + Reviewed by Simon Hausmann. + + Introduce the Qt autotest launcher. + + Qt autotests should be executed more frequently, ideally by the Qt + build bot. This is the first step to provide the tests more accessible. + + [Qt] It should be easier to run all Qt's autotests. + https://bugs.webkit.org/show_bug.cgi?id=31625 + + * Scripts/run-qtwebkit-tests: Added. + +2010-07-09 Adam Barth + + Reviewed by Eric Seidel. + + commit-queue should merge to TOT when checkout needs update + https://bugs.webkit.org/show_bug.cgi?id=41944 + + There are a bunch of different designs that are possible here. This + one merges to top of tree by cleaning out the working copy and + re-applying the patch. Once you decide to merge that way, you need to + decide who's going to retry. In this patch, we retry in the child + process instead of plumbing the failure reason to the master process. + + This patch is difficult to test end-to-end, but hopefully it will work. + :) + + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/stepsequence.py: + * Scripts/webkitpy/tool/multicommandtool.py: + * Scripts/webkitpy/tool/multicommandtool_unittest.py: + +2010-07-09 Dumitru Daniliuc + + Reviewed by Darin Adler. + + Add a script to check for unnecessary includes in header files. + https://bugs.webkit.org/show_bug.cgi?id=41894 + + * Scripts/check-header-includes: Added. + +2010-07-09 Adam Barth + + Reviewed by Eric Seidel. + + Add --html5-treebuilder option to run-webkit-tests + https://bugs.webkit.org/show_bug.cgi?id=41922 + + We're down to one or two regressions in the HTML5lib test suite. It's + getting to be time to look at fixing LayoutTests. + + * Scripts/old-run-webkit-tests: + +2010-07-08 Simon Fraser + + Fix Tiger plugin test failures; the #ifdefs were incorrect, resulting + in the drawing model never getting set on Tiger. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + +2010-07-08 Aaron Boodman + + Reviewed by Timothy Hatcher. + + Add the ability for user scripts and user styles to affect just the top frame. + + https://bugs.webkit.org/show_bug.cgi?id=41529 + + * DumpRenderTree/LayoutTestController.h: Added new allFrames param. + * DumpRenderTree/LayoutTestController.cpp: Ditto. + (addUserScriptCallback): + (addUserStyleSheetCallback): + * DumpRenderTree/chromium/LayoutTestController.cpp: Ditto. + (LayoutTestController::addUserScript): + (LayoutTestController::addUserStyleSheet): + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Ditto. + (LayoutTestController::addUserScript): + (LayoutTestController::addUserStyleSheet): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: Ditto. + (LayoutTestController::addUserScript): + (LayoutTestController::addUserStyleSheet): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: Ditto. + (LayoutTestController::addUserScript): + (LayoutTestController::addUserStyleSheet): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: Ditto. + (LayoutTestController::addUserScript): + (LayoutTestController::addUserStyleSheet): + +2010-07-08 Adele Peterson + + Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler. + + Test infrastructure for https://bugs.webkit.org/show_bug.cgi?id=41721 + Missing plug-in indicator should have a pressed state + + Log when the missing plugin button is pressed. + + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate webView:didPressMissingPluginButton:]): + * DumpRenderTree/win/UIDelegate.cpp: + (UIDelegate::QueryInterface): + (UIDelegate::createWebViewWithRequest): + (UIDelegate::drawBackground): + (UIDelegate::decidePolicyForGeolocationRequest): + (UIDelegate::didPressMissingPluginButton): + * DumpRenderTree/win/UIDelegate.h: + +2010-07-08 Simon Fraser + + Fix the Tiger build. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + +2010-07-08 Simon Fraser + + Fix windows build. + + #ifdef code for Mac. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + +2010-07-08 Simon Fraser + + Reviewed by Anders Carlsson. + + Allow the TestPlugin to use Core Animation rendering for testing + https://bugs.webkit.org/show_bug.cgi?id=41872 + + Add the ability for the TestPlugin to use the CoreAnimation rendering model + when available, based on the "drawingmodel" attribute of the embed tag: + drawingmodel="coreanimation" + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Add PluginObjectMac.mm + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Add some macros so we can detect + when building on Tiger. Add a void* coreAnimationLayer member. + + * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm: Added. + (createCoreAnimationLayer): Obj-C method to create the CALayer. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): Look for the drawingmodel attribute to decide which drawing + model to use. + (NPP_Destroy): Release the CALayer if we have one. + (NPP_GetValue): Return the retained CALayer. + +2010-07-08 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Support pixel tests + https://bugs.webkit.org/show_bug.cgi?id=31518 + + Convert this file from CRLF to NL line endings. It will soon + be used on more than just the WinCairo platform. + + * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: + (writeFunction): + (printPNG): + (computeMD5HashStringForBitmapContext): + (dumpBitmap): + +2010-07-08 Steve Falkenburg + + Reviewed by Darin Adler. + + Enable Data Execution Prevention for our test harnesses on Windows + https://bugs.webkit.org/show_bug.cgi?id=41882 + + * DumpRenderTree/win/DumpRenderTree.vcproj: + * DumpRenderTree/win/ImageDiff.vcproj: + * WebKitAPITest/WebKitAPITest.vcproj: + * WebKitTestRunner/win/WebKitTestRunner.vcproj: + +2010-07-07 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Add DRT support for pageProperty etc. + + https://bugs.webkit.org/show_bug.cgi?id=41584 + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::isPageBoxVisible): + (LayoutTestController::pageSizeAndMarginsInPixels): + (LayoutTestController::pageProperty): + (LayoutTestController::addUserStyleSheet): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-07-08 Martin Robinson + + Reviewed by Xan Lopez. + + Remove a warnings from the ImageDiff build by using the proper + printf format string for the gsize data type. + + * DumpRenderTree/gtk/ImageDiff.cpp: + (printImage): Use the proper printf format string for the gsize data type. + +2010-07-08 Alice Liu + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=41653 + Add new WebKitTestRunner project for Windows + + * WebKitTestRunner/WebKitTestRunnerPrefix.h: + Similar to how it's done in DumpRenderTree, define max and min early + on so that they don't get replaced by a macro requiring 2 arguments. + + * WebKitTestRunner/win: Added. + * WebKitTestRunner/win/WebKitTestRunner.sln: Added. + * WebKitTestRunner/win/WebKitTestRunner.vcproj: Added. + * WebKitTestRunner/win/main.cpp: Added. + (main): Implemented + + Added these files with stubbed out functions: + * WebKitTestRunner/win/PlatformWebViewWin.cpp: Added. + (WTR::PlatformWebView::PlatformWebView): + (WTR::PlatformWebView::~PlatformWebView): + (WTR::PlatformWebView::page): + * WebKitTestRunner/win/TestControllerWin.cpp: Added. + (WTR::TestController::initializeInjectedBundlePath): + * WebKitTestRunner/win/TestInvocationWin.cpp: Added. + (WTR::TestInvocation::runUntil): + +2010-07-07 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] Implement ImageDiff and add it to the build system + https://bugs.webkit.org/show_bug.cgi?id=41779 + + Add the initial implementation of the ImageDiff tool for the GTK+ + port. This is an essential tool for doing pixel tests. The implementation + is based on the Mac and Chromium ports. + + * DumpRenderTree/gtk/ImageDiff.cpp: Added. + (readPixbufFromStdin): Added. + (differenceImageFromDifferenceBuffer): Ditto. + (calculateDifference): Ditto. + (printImage): Ditto. + (printImageDifferences): Ditto. + (main): Ditto. + * GNUmakefile.am: Add ImageDiff to the WebKitTools build scripts. + +2010-07-08 Jay Civelli + + Unreviewed. Adding myself as a committer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-08 Adam Roben + + Make Windows stop running tests from platform/mac + + r62742 made a change (at my suggestion!) that caused us to start + looking for tests in platform/mac, rather than just looking for + expected results in platform/mac. This patch just undoes that part of + r62742. + + Fixes REGRESSION (r62742): Windows runs + tests from platform/mac, but shouldn't + + Reviewed by Antti Koivisto and Anders Carlsson. + + * Scripts/old-run-webkit-tests: + (top level): Removed "mac-snowleopard" and "mac" from @winPlatforms, + so we won't look in those directories for tests to run. + (expectedDirectoryForTest): Added back code from pre-r62742 to look in + platform/mac-snowleopard and platform/mac for expected results. + +2010-07-08 Antonio Gomes + + Unreviewed. Adding myself as a reviewer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-08 Tor Arne Vestbø + + Update my e-mail in committers.py + + * Scripts/webkitpy/common/config/committers.py: + +2010-07-07 Daniel Bates + + Reviewed by Dumitru Daniliuc. + + VCSUtils.pm complains about uninitialized value $newLine + https://bugs.webkit.org/show_bug.cgi?id=41333 + + Fixes an issue where VCSUtils::fixChangeLogPatch() may read off the end of + an array when fixing a change log entry that overlaps with an earlier + entry. In particular, when a patch contains a change log entry inserted + earlier in the change log file, but after an entry with the same author + and date. + + * Scripts/VCSUtils.pm: + - Added for-loop constraint to fixChangeLogPatch() so that it does not + read off the end of the @overlappingLines array. + * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl: Added unit test. + +2010-07-07 Anders Carlsson + + Comment out a part of TestNetscapePlugin that caused tests to fail on Tiger and Leopard. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + +2010-07-07 Kent Tamura + + Reviewed by Adam Barth. + + [DRT/Chromium] Support for indeterminate checkbox + https://bugs.webkit.org/show_bug.cgi?id=41747 + + Import http://src.chromium.org/viewvc/chrome?view=rev&revision=51499 + + * DumpRenderTree/chromium/WebThemeControlDRT.cpp: + (WebThemeControlDRT::draw): + * DumpRenderTree/chromium/WebThemeControlDRT.h: + (WebThemeControlDRT::): + * DumpRenderTree/chromium/WebThemeEngineDRT.cpp: + (WebThemeEngineDRT::paintButton): + +2010-07-07 Sam Weinig + + Reviewed by Mark Rowe. + + Clean up MiniBrowser Xcode project. + + - Use xcconfig files. + - Rename plists to canonical Info.plist + - Remove localizations. + + * MiniBrowser/Configurations: Added. + * MiniBrowser/Configurations/Base.xcconfig: Added. + * MiniBrowser/Configurations/DebugRelease.xcconfig: Added. + * MiniBrowser/Configurations/MiniBrowser.xcconfig: Added. + * MiniBrowser/Configurations/WebBundle.xcconfig: Added. + * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: + * MiniBrowser/WebBundle-Info.plist: Removed. + * MiniBrowser/mac/BrowserStatisticsWindowController.m: + (-[BrowserStatisticsWindowController initWithThreadedWKContextRef:processWKContextRef:]): + * MiniBrowser/mac/BrowserWindow.xib: Added. + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController initWithPageNamespace:]): + * MiniBrowser/mac/English.lproj: Removed. + * MiniBrowser/mac/English.lproj/BrowserWindow.xib: Removed. + * MiniBrowser/mac/English.lproj/InfoPlist.strings: Removed. + * MiniBrowser/mac/English.lproj/MainMenu.xib: Removed. + * MiniBrowser/mac/Info.plist: Copied from MiniBrowser/mac/MiniBrowser-Info.plist. + * MiniBrowser/mac/MainMenu.xib: Added. + * MiniBrowser/mac/MiniBrowser-Info.plist: Removed. + * MiniBrowser/mac/WebBundle/Info.plist: Copied from MiniBrowser/WebBundle-Info.plist. + +2010-07-07 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Fix two regressions + https://bugs.webkit.org/show_bug.cgi?id=41745 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::paintInvalidatedRegion): + Repaint three times to fix svg/W3C-SVG-1.1/struct-use-01-t.svg + and svg/custom/use-on-g-containing-foreignObject-and-image.svg + though test_shell does it twice. Probably DRT needs it because + DRT delays painting as possible. + +2010-07-07 Anders Carlsson + + Try to fix build. + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_destroy_stream): + +2010-07-07 Anders Carlsson + + Try to fix the GTK+ and Qt test failures by merging the newly added code from TestNetscapePlugin/main.cpp + + * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp: + (webkit_test_plugin_new_stream): + (webkit_test_plugin_destroy_stream): + (webkit_test_plugin_write_ready): + (webkit_test_plugin_write): + +2010-07-07 Sam Weinig + + Reviewed by Mark Rowe. + + Don't hard code the Mac OS X 10.6 SDK for MiniBrowser. + + * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: + +2010-07-07 Anders Carlsson + + Use the correct XP_MACOSX define instead of XP_MAC. This was causing test failures on some platforms. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_New): + (NPP_HandleEvent): + +2010-07-07 Brian Weinstein + + Reviewed by Adam Roben. + + Need to have a way to specify different results for Windows XP and 7 + https://bugs.webkit.org/show_bug.cgi?id=41776 + + Add the ability to have platform/win-xp, platform/win-vista, and platform/win-7 + subdirectories, so we can have different results for tests on Windows XP, Windows + Vista, and Windows 7. + + Windows XP will try the order: win-xp, win-vista, win-7, win, mac-snowleopard, mac. + Windows Vista will try the order: win-vista, win-7, win, mac-snowleopard, mac. + Windows 7 will try the order: win-7, win, mac-snowleopard, mac. + + This matches the behavior of the mac. + + * Scripts/old-run-webkit-tests: Add multiple platforms for Windows, and if we are on XP + or Vista, try looking in other win-* subdirectories before win. + * Scripts/webkitdirs.pm: Add some helper functions to determine what version of Windows + we are running. + +2010-07-07 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Remove ASSERT_NOT_REACHED in some functions + https://bugs.webkit.org/show_bug.cgi?id=41753 + + The original code of the following functions in + test_shell_devtools_client.cc have NOTIMPLEMENTED(), not + ASSERT_NOT_REACHED(). The program shouldn't stop at these + functions. + + * DumpRenderTree/chromium/DRTDevToolsClient.cpp: + (DRTDevToolsClient::activateWindow): + (DRTDevToolsClient::closeWindow): + (DRTDevToolsClient::dockWindow): + (DRTDevToolsClient::undockWindow): + +2010-07-07 Anders Carlsson + + Reviewed by Sam Weinig. + + Test that we call NPP_DestroyStream if a plug-in returns -1 from its NPP_Write function + https://bugs.webkit.org/show_bug.cgi?id=41821 + + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: + (pluginGetProperty): + (pluginSetProperty): + (pluginAllocate): + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: + Add and initialize the returnNegativeOneFromWrite property. + + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (NPP_NewStream): + Set the stream type to NP_NORMAL so we'll get write callbacks. + + (NPP_DestroyStream): + Treat the onstreamdestroy attribute as a function name and not a string. + + (NPP_WriteReady): + Have this return a nonzero value. + + (NPP_Write): + If returnNegativeOneFromWrite is true return -1. + +2010-07-07 Kevin Ollivier + + [wx] Build fix for machines with both MSVC 2005 and 2008 installed. Ensures the + latest version is selected by default, and allows the version to be specified. + + * wx/build/settings.py: + +2010-07-07 Chris Fleizach + + Reviewed by Darin Adler. + + AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area + https://bugs.webkit.org/show_bug.cgi?id=41810 + + * DumpRenderTree/mac/AccessibilityUIElementMac.mm: + (AccessibilityUIElement::selectedTextRange): + +2010-07-07 Martin Robinson + + Unreviewed. + + Build fix after r62700. + + * GNUmakefile.am: Update the source list to reflect the new TestNetscapePlugIn + source file locations. + +2010-07-07 Ojan Vafai + + Reviewed by David Levin. + + change --exit-after-n-crashes to --exit-after-n-crashes-or-timeouts + https://bugs.webkit.org/show_bug.cgi?id=41814 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + * Scripts/old-run-webkit-tests: + +2010-07-07 Ojan Vafai + + Reviewed by David Levin. + + add --exit-after-n-crashes to run-webkit-tests + https://bugs.webkit.org/show_bug.cgi?id=41811 + + Change the bots at build.webkit.org to use --exit-after-n-crashes + instead of --exit-after-n-failures since we want to be able to have + more than 20 failures on those bots, but more than 20 crashes means + something should be rolled out. + + * Scripts/old-run-webkit-tests: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-07-07 Brian Weinstein + + Fix the Windows build by removing win/TestNetscapePlugin/main.cpp from the + TestNetscapePlugin project, because this was removed from the tree. + + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + +2010-07-07 Anders Carlsson + + Reviewed by Simon Fraser. + + Unify Mac and Windows TestNetscapePlugin main.cpp files + https://bugs.webkit.org/show_bug.cgi?id=41798 + + * DumpRenderTree/DumpRenderTree.sln: + * DumpRenderTree/TestNetscapePlugIn/main.cpp: + (strcasecmp): + (NP_Initialize): + (NP_GetEntryPoints): + (NP_Shutdown): + (NPP_New): + (NPP_Destroy): + (NPP_HandleEvent): + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: + * DumpRenderTree/win/TestNetscapePlugin/main.cpp: Removed. + +2010-07-07 Kevin Ollivier + + [wx] Build fix. pageProperty needs to return a value. + + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::pageProperty): + +2010-07-07 David Kilzer + + commit-log-editor: wrong ChangeLog read when invoked from subdir with git + + Reviewed by Anders Carlsson. + + For both svn and git, commit-log-editor is invoked from the root + of the working directory. Unlike svn, git returns a list of + changed files that are relative to the directory where the + command was invoked. This caused the ChangeLog file in the root + directory to be read instead of the ChangeLog in the current + directory. + + The fix is to use $ENV{PWD} as the base directory when fixing + the path to the ChangeLog files. With svn, this has no net + effect since $ENV{PWD} is the root of the working directory and + the ChangeLog paths are already relative to that directory. + With git, $ENV{PWD} is the directory that the commit was invoked + from, which fixes the ChangeLog paths so that the correct files + are read when creating the commit log entry. + + Note that the call to makeFilePathRelative() was supposed to + address this issue, but it doesn't because (a) it does nothing + with svn working directories by design, and (b) it does nothing + with git working directories because it's invoked when the + current directory is the root of the working directory, thus + giving no relative path. + + * Scripts/commit-log-editor: Removed call to + makeFilePathRelative() since since it does nothing. Moved code + to fix up $changeLog path so that it's fixed before trying to + open the file, and use $ENV{PWD} as the base path. Also use + canonicalizePath() to clean up paths with "../" in them. + +2010-07-07 Anders Carlsson + + Another attempt at fixing the Qt build. + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2010-07-07 Anders Carlsson + + Try to fix Qt build. + + * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: + +2010-07-07 Anders Carlsson + + Reviewed by Simon Fraser. + + Rename TestNetscapePlugin.subproj and move platform specific files to subdirectories + https://bugs.webkit.org/show_bug.cgi?id=41781 + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp. + * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h. + * DumpRenderTree/TestNetscapePlugIn/TestObject.cpp: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp. + * DumpRenderTree/TestNetscapePlugIn/TestObject.h: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.h. + * DumpRenderTree/TestNetscapePlugIn/mac/Info.plist: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/Info.plist. + * DumpRenderTree/TestNetscapePlugIn/main.cpp: Renamed from WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp. + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.def. + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.rc. + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: Added. + * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin_debug.def: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin_debug.def. + * DumpRenderTree/TestNetscapePlugIn/win/resource.h: Renamed from WebKitTools/DumpRenderTree/win/TestNetscapePlugin/resource.h. + * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj: Removed. + +2010-07-07 Andras Becsi + + Unreviewed trivial fix. + + Remove DUMPRENDERTREE_TEMP environment variable from NRWT + which was checked in accidentally in r62635. + + * Scripts/webkitpy/layout_tests/port/webkit.py: + +2010-07-07 Gabor Rapcsanyi + + Reviewed by Eric Seidel. + + Pass port specific environment to server process. + https://bugs.webkit.org/show_bug.cgi?id=41593 + + * Scripts/webkitpy/layout_tests/port/qt.py: + * Scripts/webkitpy/layout_tests/port/webkit.py: + +2010-07-06 Kent Tamura + + Reviewed by Shinichiro Hamaji. + + Fix a wrong dup detection of rebaseline-chromium-webkit-tests + https://bugs.webkit.org/show_bug.cgi?id=41644 + + rebaseline-chromium-webkit-tests used ImageDiff with 0.1% + tolerance. We don't need tolerance for rebaseline. + + * Scripts/webkitpy/layout_tests/port/base.py: + Add optional tolerance parameter to diff_image(). + * Scripts/webkitpy/layout_tests/port/test.py: + Add optional tolerance parameter to diff_image(). + * Scripts/webkitpy/layout_tests/port/webkit.py: + Add optional tolerance parameter to diff_image(), and pass it to ImageDiff command. + * Scripts/webkitpy/layout_tests/test_types/image_diff.py: + diff_files() always calls diff_image() with tolerance=0. + diff_files() is used only by rebaseline-chromium-webkit-tests. + +2010-07-06 Sam Weinig + + Fix MiniBrowser build. + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + +2010-07-06 Sam Weinig + + Reviewed by Anders Carlsson. + + Add support for dumping the contents of messages to the console to WebKitTestRunner + + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::_addMessageToConsole): + (WTR::InjectedBundlePage::addMessageToConsole): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: + +2010-07-06 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41708 + Add dumpAsText support for WebKitTestRunner + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::InjectedBundle): + (WTR::InjectedBundle::reset): Reset the LayoutTestController for each test. + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::InjectedBundlePage::didFinishLoadForFrame): Use the new WKBundleFrameCopyInnerText + API to dump the main frames text. + +2010-07-06 Darin Adler + + Fix Chromium build. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::didCreateDataSource): Call leakPtr instead of release. + (WebViewHost::didNavigateWithinPage): Ditto. + (WebViewHost::updateURL): Ditto. + +2010-07-06 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] build-webkit should not run autogen.sh unconditionally + https://bugs.webkit.org/show_bug.cgi?id=41704 + + * Scripts/webkitdirs.pm: Only run autogen.sh during a build if GNUmakefile + doesn't exist. Autotools should re-run autogen.sh when necessary. Also do + some very minor cleanup. + +2010-07-06 Darin Adler + + Try to fix Chromium build. + + * DumpRenderTree/chromium/WebViewHost.cpp: Added include of PassOwnPtr.h. + +2010-07-06 Darin Adler + + Fix build. + + * WebKitAPITest/TestsController.cpp: + (WebKitAPITest::TestsController::addTest): Use leakPtr instead of release. + +2010-07-06 Roland Steiner + + Reviewed by Kent Tamura. + + Bug 40558 - [DRT/Chromium] Upstream TestShellDevTools for Chromium DRT + https://bugs.webkit.org/show_bug.cgi?id=40558 + + Upstream DevTools for Chromium DRT. + (original Chromium files rev. 51287) + + * DumpRenderTree/DumpRenderTree.gypi: + * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: Added. + (DRTDevToolsAgent::DRTDevToolsAgent): + (DRTDevToolsAgent::setWebView): + (DRTDevToolsAgent::sendMessageToFrontend): + (DRTDevToolsAgent::forceRepaint): + (DRTDevToolsAgent::runtimeFeatureStateChanged): + (DRTDevToolsAgent::injectedScriptSource): + (DRTDevToolsAgent::injectedScriptDispatcherSource): + (DRTDevToolsAgent::debuggerScriptSource): + (DRTDevToolsAgent::asyncCall): + (DRTDevToolsAgent::call): + (DRTDevToolsAgent::webDevToolsAgent): + (DRTDevToolsAgent::attach): + (DRTDevToolsAgent::detach): + (DRTDevToolsAgent::setTimelineProfilingEnabled): + (DRTDevToolsAgent::evaluateInWebInspector): + (DRTDevToolsAgent::dispatchMessageLoop): + * DumpRenderTree/chromium/DRTDevToolsAgent.h: Added. + (DRTDevToolsAgent::~DRTDevToolsAgent): + (DRTDevToolsAgent::hostIdentifier): + * DumpRenderTree/chromium/DRTDevToolsCallArgs.cpp: + * DumpRenderTree/chromium/DRTDevToolsCallArgs.h: + (DRTDevToolsCallArgs::DRTDevToolsCallArgs): + (DRTDevToolsCallArgs::~DRTDevToolsCallArgs): + (DRTDevToolsCallArgs::callsCount): + * DumpRenderTree/chromium/DRTDevToolsClient.cpp: Added. + (DRTDevToolsClient::DRTDevToolsClient): + (DRTDevToolsClient::~DRTDevToolsClient): + (DRTDevToolsClient::sendMessageToAgent): + (DRTDevToolsClient::sendDebuggerCommandToAgent): + (DRTDevToolsClient::activateWindow): + (DRTDevToolsClient::closeWindow): + (DRTDevToolsClient::dockWindow): + (DRTDevToolsClient::undockWindow): + (DRTDevToolsClient::asyncCall): + (DRTDevToolsClient::call): + (DRTDevToolsClient::allMessagesProcessed): + * DumpRenderTree/chromium/DRTDevToolsClient.h: + * DumpRenderTree/chromium/EventSender.cpp: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::closeWebInspector): + (LayoutTestController::setTimelineProfilingEnabled): + (LayoutTestController::evaluateInWebInspector): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): + (TestShell::~TestShell): + (TestShell::createDRTDevToolsClient): + (TestShell::showDevTools): + (TestShell::closeDevTools): + (TestShell::runFileTest): + (TestShell::createNewWindow): + * DumpRenderTree/chromium/TestShell.h: + (TestShell::drtDevToolsAgent): + (TestShell::drtDevToolsClient): + * DumpRenderTree/chromium/config.h: + +2010-07-06 Gabor Rapcsanyi + + Reviewed by Eric Seidel. + + Don't pass image hash to DRT when pixel tests are disabled. + https://bugs.webkit.org/show_bug.cgi?id=41597 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + +2010-07-05 Csaba Osztrogonác + + Reviewed by Eric Seidel. + + REGRESSION(r60652): WebKitTools/Scripts/ensure-valid-python should cleanup temporary directory + https://bugs.webkit.org/show_bug.cgi?id=41612 + + * Scripts/ensure-valid-python: File::Temp::tempdir call fixed. + +2010-07-05 Adam Barth + + Reviewed by Eric Seidel. + + We should be able to specify a bug to block for webkit-patch upload + https://bugs.webkit.org/show_bug.cgi?id=41648 + + This will be useful for working on the HTML5 parser. + + * Scripts/webkitpy/tool/steps/createbug.py: + * Scripts/webkitpy/tool/steps/options.py: + +2010-07-05 Martin Robinson + + Reviewed by Oliver Hunt. + + The style checker exempts gtk2drawing.h when it should exempt gtkdrawing.h + https://bugs.webkit.org/show_bug.cgi?id=41017 + + * Scripts/webkitpy/style/checker.py: Exempt gtkdrawing.h instead of gtk2drawing.h + * Scripts/webkitpy/style/checker_unittest.py: Update the unit test to reflect the change. + +2010-07-04 MORITA Hajime + + rebaseline-chromium-webkit-tests: UnicodeDecodeError + https://bugs.webkit.org/show_bug.cgi?id=41589 + + * run() method can result non-utf-8 bytes, that causes utf-8 + decoding fail. Fixed to disable decoding. + * Fixed Git.find_checkout_root() to make a test pass. + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + +2010-07-03 Patrick Gansterer + + Reviewed by Simon Hausmann. + + [Qt] Fix DumpRenderTree userStyleSheet handling. + https://bugs.webkit.org/show_bug.cgi?id=41570 + + DumpRenderTree did only set the userStyleSheet at + layoutTestController.setUserStyleSheetEnabled(). + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::setUserStyleSheetLocation): + (LayoutTestController::setUserStyleSheetEnabled): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-07-03 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] support dumpChildFrameScrollPositions + + https://bugs.webkit.org/show_bug.cgi?id=41088 + + Unskip: + + http/tests/navigation/anchor-subframeload.html + http/tests/navigation/relativeanchor-frames.html + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::dumpFrameScrollPosition): + (WebCore::DumpRenderTree::dump): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + (LayoutTestController::shouldDumpChildFrameScrollPositions): + (LayoutTestController::dumpChildFrameScrollPositions): + +2010-07-02 Sam Weinig + + Reviewed by Anders Carlsson. + + Rename new scripts so that they don't make autocompleting run-webkit-tests annoying. + + * Scripts/debug-test-runner: Copied from Scripts/debug-webkittestrunner. + * Scripts/debug-webkittestrunner: Removed. + * Scripts/run-test-runner: Copied from Scripts/run-webkittestrunner. + * Scripts/run-webkittestrunner: Removed. + +2010-07-02 Brian Weinstein + + Reviewed by Steve Falkenburg. + + Some http tests fail on Windows with Cygwin 1.7 + https://bugs.webkit.org/show_bug.cgi?id=41537 + + With Cygwin 1.7, the registry key at SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/ + doesn't exist anymore, because the mount points are stored in /etc/fstab. However, we + just need root mount point, which is defined in SOFTWARE\\Cygwin\\setup. + + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (resolveCygwinPath): Fall back to SOFTWARE\\Cygwin\\setup if + SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/ doesn't work. + +2010-06-23 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] Separate DerivedSources per-project + https://bugs.webkit.org/show_bug.cgi?id=41109 + + The JavaScriptCore cppflags used to include the top-level DerivedSources directory + allowing the tools to build as a side-effect. Now that the top-level directory + is no longer in the list of JavaScriptCore includes, include it explicitly. + + * GNUmakefile.am: + +2010-07-01 Tor Arne Vestbø + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make context menus show up in the right place in QTestBrowser + + Context menus were shown at scene-relative coordinates for + QGraphicsWebView while QMenu expects them to be global. The + change to the QWidget case was to get rid of the mapToGlobal. + + * QtTestBrowser/webview.cpp: + +2010-07-01 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] dump frames in ascending alphabetical order of title + + https://bugs.webkit.org/show_bug.cgi?id=41261 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::dumpHistoryItem): + +2010-07-01 Martin Robinson + + Unreviewed. + + Fix the GTK+ build after r62278. + + * Scripts/webkitdirs.pm: If the make arguments have already been specified, + let them override the automatic CPU detection for autotools builds. + +2010-07-01 Martin Robinson + + Unreviewed. + + Fix the Windows build after r62278. + + * Scripts/num-cpus: Use FindBin to add the Scripts directory to the list of library directories. + +2010-07-01 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] build-webkit does not detect the number of CPUs + https://bugs.webkit.org/show_bug.cgi?id=41469 + + Pass the appropriate -j<#> flag to make when building autotools builds. + This causes make to spawn that many number of child processes for doing + parallel builds. + + * Scripts/num-cpus: Use the newly abstracted numberOfCPUs to return the number + of CPUs. This makes the script work across more platforms. + * Scripts/webkitdirs.pm: Create a numberOfCPUs/determineNumberOfCPUs to determine the + number of CPUs across several platforms. Use this new function to determine the appropriate + arguments to pass to make for doing parallel builds with autotools build files. + +2010-07-01 Simon Hausmann + + Rubber-stamped by Laszlo Gombos. + + [Qt][Symbian] Bumped up the maximum heap size to 96MB + + * QtTestBrowser/QtTestBrowser.pro: Removed explicit heap size declaration + and use the one from WebKit.pri instead. + +2010-07-01 Adam Barth + + Reviewed by Eric Seidel. + + Promote webkit-patch land-safely to main help + https://bugs.webkit.org/show_bug.cgi?id=41446 + + I've been using this command a bunch and recommending it to folks. We + should show it in main help as it's past the experimental phase. + + * Scripts/webkitpy/tool/commands/upload.py: + +2010-06-28 MORITA Hajime + + Reviewed by Shinichiro Hamaji. + + rebaseline-chromium-webkit-tests doesn't do diffs right with a Git checkout of WebKit + https://bugs.webkit.org/show_bug.cgi?id=38775 + + - Introduced SCM.show_head() and SCM.diff_for_file(). + - Replaced direct svn invocations with newly implement SCM methods. + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + +2010-06-30 Simon Fraser + + Reviewed by Sam Weinig. + + Allow MiniBrowser to open local files + https://bugs.webkit.org/show_bug.cgi?id=41104 + + Wire up the openDocument: message with an NSOpenPanel, so we can open + local files. + + Also change the xib so that the window remembers its size. + + * MiniBrowser/mac/AppDelegate.m: + (-[BrowserAppDelegate frontmostBrowserWindowController]): + (-[BrowserAppDelegate openDocument:]): + (-[BrowserAppDelegate openPanelDidEnd:returnCode:contextInfo:]): + * MiniBrowser/mac/English.lproj/BrowserWindow.xib: + +2010-06-30 Sam Weinig + + Rubber-stamped by Anders Carlsson. + + Add debug-webkittestrunner and cleanup related scripts. + + * Scripts/debug-webkittestrunner: Added. + * Scripts/run-webkittestrunner: + * Scripts/webkitdirs.pm: + +2010-06-30 Kevin Ollivier + + [wx] Build fix after recent changes to LayoutTestController. + + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::pageSizeAndMarginsInPixels): + +2010-06-29 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41389 + Make WebKitTestRunner work with more than one test at a time. + + This converts WebKitTestRunner to a similar model as DumpRenderTree, + where there is a single WKView and each test is run it, rather than + the design I was using where each test got its own WKView. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::didRecieveMessage): + (WTR::InjectedBundle::reset): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + * WebKitTestRunner/TestController.cpp: + (WTR::TestController::initialize): + (WTR::TestController::runTest): + (WTR::TestController::_didRecieveMessageFromInjectedBundle): + (WTR::TestController::didRecieveMessageFromInjectedBundle): + * WebKitTestRunner/TestController.h: + (WTR::TestController::mainWebView): + (WTR::TestController::pageNamespace): + (WTR::TestController::context): + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::TestInvocation): + (WTR::TestInvocation::~TestInvocation): + (WTR::TestInvocation::invoke): + (WTR::TestInvocation::didRecieveMessageFromInjectedBundle): + * WebKitTestRunner/TestInvocation.h: + +2010-06-30 Simon Hausmann + + Reviewed by Laszlo Gombos. + + [Qt][Symbian] Only 10 websites can be loaded consecutively when using QtWebkit 2.0 + https://bugs.webkit.org/show_bug.cgi?id=40446 + + We quickly run out of memory on Symbian when loading web pages. This is + caused by the default heap size, which is not suited for a web browser. + + This change bumps the max heap size to 32MB. + + * QtTestBrowser/QtTestBrowser.pro: + +2010-06-30 Eric Seidel + + Reviewed by Adam Barth. + + webkit-patch land allow the user to continue even if the builders are red + https://bugs.webkit.org/show_bug.cgi?id=41395 + + I don't think it's good that we've been teaching people + to always pass --ignore-builders. At least land is now + useable w/o --ignore-builders. + + * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py: + +2010-06-29 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] support dumpResourceResponseMIMETypes + https://bugs.webkit.org/show_bug.cgi?id=41260 + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::dumpResourceResponseMIMETypes): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-06-29 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Resize scene when Qt DRT WebPage receives a geometry change request + https://bugs.webkit.org/show_bug.cgi?id=41173 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::setViewGeometry): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + +2010-06-29 Diego Gonzalez + + Reviewed by Simon Hausmann. + + [Qt] Deal with postEvent in case of graphics based DRT + https://bugs.webkit.org/show_bug.cgi?id=41174 + + QGraphicsScene does not have a postEvent method, so make scene + send the event, in case of graphics based DRT, and delete it after that. + + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::scheduleAsynchronousClick): + (EventSender::replaySavedEvents): + (EventSender::postEvent): + * DumpRenderTree/qt/EventSenderQt.h: + +2010-06-29 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make switchFocus() method works with QGraphicsWebView in Qt DRT + https://bugs.webkit.org/show_bug.cgi?id=41172 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::switchFocus): + +2010-06-29 Mario Sanchez Prada + + Reviewed by Xan Lopez. + + [Gtk] Make DRT more coherent with other ports to allow reusing more tests + https://bugs.webkit.org/show_bug.cgi?id=40009 + + Make sure "AXRole: ", "AXTitle: " and "AXDescription: " prefixes + are used when returning those values, for coherency with other ports. + + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (AccessibilityUIElement::role): + (AccessibilityUIElement::title): + (AccessibilityUIElement::description): + +2010-06-29 Sheriff Bot + + Unreviewed, rolling out r62106. + http://trac.webkit.org/changeset/62106 + https://bugs.webkit.org/show_bug.cgi?id=41346 + + "Broke editing tests" (Requested by xan_ on #webkit). + + * Scripts/old-run-webkit-tests: + +2010-06-29 Mario Sanchez Prada + + Reviewed by Xan Lopez. + + Ensure DRT loads GAIL (Gtk+ module), for a11y tests + https://bugs.webkit.org/show_bug.cgi?id=38648 + + Add the GTK_MODULES envvar (set to "gail") to the clean + environment when running DRT for the Gtk+ port + + * Scripts/old-run-webkit-tests: + +2010-06-28 Adam Barth + + Unreviewed. + + Switch test-html5-parser back to using runner.html. + + * Scripts/test-html5-parser: + +2010-06-28 Adam Barth + + Reviewed by Eric Seidel. + + Restore webkit-runner.html for use with new tree builder + https://bugs.webkit.org/show_bug.cgi?id=41317 + + For now, we just want to run webkit-runner when we test-html5-parser. + + * Scripts/test-html5-parser: + +2010-06-23 John Gregg + + Reviewed by Kent Tamura. + + add ENABLE_DIRECTORY_UPLOAD build support + https://bugs.webkit.org/show_bug.cgi?id=41100 + + * Scripts/build-webkit: + +2010-06-28 Gustavo Noronha Silva + + Rubber-stamped by Xan Lopez. + + Update webkitdirs's knowledge of our library's name. + + * Scripts/webkitdirs.pm: + +2010-06-28 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41299 + Build up WebKitTestRunner output in the InjectedBundle + + Simplify WebKitTestRunner by building up the output in the InjectedBundle + and sending it over postMessage when done, instead of using the async + WKPageRenderTreeExternalRepresentation. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: + (WTR::InjectedBundle::done): + (WTR::InjectedBundle::didRecieveMessage): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: + (WTR::InjectedBundle::os): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: + (WTR::WKStringToUTF8): + (WTR::InjectedBundlePage::didFinishLoadForFrame): + (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): + * WebKitTestRunner/TestInvocation.cpp: + (WTR::WKStringToUTF8): + (WTR::TestInvocation::TestInvocation): + (WTR::TestInvocation::invoke): + (WTR::TestInvocation::initializeMainWebView): + (WTR::TestInvocation::_didRecieveMessageFromInjectedBundle): + (WTR::TestInvocation::didRecieveMessageFromInjectedBundle): + * WebKitTestRunner/TestInvocation.h: + +2010-06-28 Robert Hogan + + Unreviewed, rolling out r62021. + http://trac.webkit.org/changeset/62021 + https://bugs.webkit.org/show_bug.cgi?id=41261 + + Broke http/navigation tests among other + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::dumpFramesAsText): + +2010-06-28 Sam Weinig + + Reviewed by Anders Carlsson. + + Add run-webkittestrunner to run WebKitTestRunner with the appropriate + environment. + + * Scripts/run-webkittestrunner: Added. + * Scripts/webkitdirs.pm: + +2010-06-28 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] dump frames in ascending alphabetical order of title + + https://bugs.webkit.org/show_bug.cgi?id=41261 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::dumpFramesAsText): + +2010-06-28 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] dump bf history of child windows + + https://bugs.webkit.org/show_bug.cgi?id=41266 + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::dumpBackForwardList): + (WebCore::DumpRenderTree::dump): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + +2010-06-28 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41288 + WebKit2: Add frame API for InjectedBundle code + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (_didClearWindowForFrame): + +2010-06-28 Jesus Sanchez-Palencia + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] QtTestBrowser does not have a "Load" button ; therefore, unable to load pages on touch only symbian devices (portrait mode). + https://bugs.webkit.org/show_bug.cgi?id=38597 + + Fix behavior so reload button really acts as a load and a reload button. + + * QtTestBrowser/mainwindow.cpp: + (MainWindow::changeLocation): + +2010-06-28 Xan Lopez + + Reviewed by Gustavo Noronha. + + [GTK] Does not compile with -DGSEAL_ENABLE + https://bugs.webkit.org/show_bug.cgi?id=37851 + + Fix build with GSEAL enabled. + + * DumpRenderTree/gtk/EventSender.cpp: + (gtk_widget_get_window): + (prepareMouseButtonEvent): + (mouseMoveToCallback): + (mouseWheelToCallback): + (keyDownCallback): + +2010-06-28 Xan Lopez + + Reviewed by Gustavo Noronha. + + [GTK] Add support for GTK+3 + https://bugs.webkit.org/show_bug.cgi?id=41253 + + Adapt build system for 3.x support. + + * GNUmakefile.am: + +2010-06-10 Mahesh Kulkarni + + Reviewed by Simon Hausmann. + + [QT][S60] build-webkit scripts picks wrong make spec for windows build + https://bugs.webkit.org/show_bug.cgi?id=41198 + + Instead of checking for existence of %EPOCROOT% on windows, mandatory use of --symbian flag for symbian builds. + + * Scripts/webkitdirs.pm: + (determineIsSymbian): remove check for %EPOCROOT% as one can build for windows port of QT as well + +2010-06-28 Eric Seidel + + Reviewed by Adam Barth. + + Make it possible to test the new HTML5 TreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41276 + + Adam was concerned that someone might make their port + depend on this setting (I guess we had some trouble with that + with the HTML5Parser setting), so I littered the code with warnings. + + test-html5-parser now tests this code path. + + * DumpRenderTree/mac/DumpRenderTree.mm: + (resetDefaultsToConsistentValues): + (initializeGlobalsFromCommandLineOptions): + * Scripts/test-html5-parser: + +2010-06-27 MORITA Hajime + + Unreviewed. + + Some never-called @staticmethods touched self. + Fixed it to replace these self with a class. + + * Scripts/webkitpy/common/checkout/scm.py: + +2010-06-27 MORITA Hajime + + Unreviewed. + + Fixed exception raising syntax that is pointed out at + https://bugs.webkit.org/show_bug.cgi?id=41153 + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + Removed a bad line that I accidentally checked-in at last revision. + +2010-06-24 MORITA Hajime + + Reviewed by Eric Seidel. + + rebaseline-chromium-webkit-tests should add or remove files to local git repository + https://bugs.webkit.org/show_bug.cgi?id=41153 + + - Added SCM.add() and SCM.remove() + - Replaced "svn add" and "svn remove" + rebaseline_chromium_webkit_tests.py: in with SCM method equivalents. + - add "-U" and "-q" options to rebaseline_chromium_webkit_tests.py + for debugging purpose. + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: + +2010-06-25 Yuzo Fujishima + + Reviewed by Shinichiro Hamaji. + + Improve default value handling for page format properties. + https://bugs.webkit.org/show_bug.cgi?id=41150 + + * DumpRenderTree/LayoutTestController.cpp: + (parsePageNumber): + (parsePageNumberSizeMarings): + (pageSizeAndMarginsInPixelsCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::pageSizeAndMarginsInPixels): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::pageSizeAndMarginsInPixels): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::pageSizeAndMarginsInPixels): + +2010-06-21 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] DRT Support for setCustomPolicyDelegate + + https://bugs.webkit.org/show_bug.cgi?id=39564 + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setCustomPolicyDelegate): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-06-26 Robert Hogan + + Unreviewed, Qt build fix following http://trac.webkit.org/changeset/61879 + + Remove qwebscriptworld.h from LayoutTestControllerQt.cpp - it is no longer + exported. + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + +2010-06-26 Tony Gentilcore + + Reviewed by Dimitri Glazkov. + + Add a build-webkit option for enabling Web Timing support. + https://bugs.webkit.org/show_bug.cgi?id=38924 + + * Scripts/build-webkit: + +2010-06-25 Jesus Sanchez-Palencia + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] QtTestBrowser does not have a "Load" button ; therefore, unable to load pages on touch only symbian devices (portrait mode). + https://bugs.webkit.org/show_bug.cgi?id=38597 + + Make the reload button act as a load button as well. + + * QtTestBrowser/mainwindow.cpp: + (MainWindow::buildUI): + (MainWindow::changeLocation): + +2010-06-25 Prasad Tammana + + Reviewed by Dmitry Titov. + + Add empty abortModal() method to all platforms. + https://bugs.webkit.org/show_bug.cgi?id=40864 + + Add an empty abortModal() stub to LayoutTestController on all platforms to get rid of platform specific #ifs in + platform independent LayoutTestController code. Without this change, layout tests using LayoutTestController tests + that use abortModal will become mac specific which is not desirable. + + * DumpRenderTree/LayoutTestController.cpp: + (abortModalCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::LayoutTestController): + (LayoutTestController::abortModal): + * DumpRenderTree/chromium/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::abortModal): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + (LayoutTestController::abortModal): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::abortModal): + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::abortModal): + +2010-06-25 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41226 + Flesh out injected bundle code for WebKitTestRunner and add basic LayoutTestController. + + * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: Added. + (WTR::InjectedBundle::shared): + (WTR::InjectedBundle::InjectedBundle): + (WTR::InjectedBundle::_didCreatePage): + (WTR::InjectedBundle::_willDestroyPage): + (WTR::InjectedBundle::_didRecieveMessage): + (WTR::InjectedBundle::initialize): + (WTR::InjectedBundle::didCreatePage): + (WTR::InjectedBundle::willDestroyPage): + (WTR::InjectedBundle::didRecieveMessage): + * WebKitTestRunner/InjectedBundle/InjectedBundle.h: Added. + (WTR::InjectedBundle::layoutTestController): + * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: + (WKBundleInitialize): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Added. + (WTR::InjectedBundlePage::InjectedBundlePage): + (WTR::InjectedBundlePage::~InjectedBundlePage): + (WTR::InjectedBundlePage::_didStartProvisionalLoadForFrame): + (WTR::InjectedBundlePage::_didReceiveServerRedirectForProvisionalLoadForFrame): + (WTR::InjectedBundlePage::_didFailProvisionalLoadWithErrorForFrame): + (WTR::InjectedBundlePage::_didCommitLoadForFrame): + (WTR::InjectedBundlePage::_didFinishLoadForFrame): + (WTR::InjectedBundlePage::_didFailLoadWithErrorForFrame): + (WTR::InjectedBundlePage::_didReceiveTitleForFrame): + (WTR::InjectedBundlePage::_didClearWindowForFrame): + (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): + (WTR::InjectedBundlePage::didReceiveServerRedirectForProvisionalLoadForFrame): + (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): + (WTR::InjectedBundlePage::didCommitLoadForFrame): + (WTR::InjectedBundlePage::didFinishLoadForFrame): + (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): + (WTR::InjectedBundlePage::didReceiveTitleForFrame): + (WTR::InjectedBundlePage::didClearWindowForFrame): + * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Added. + (WTR::InjectedBundlePage::page): + * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: Added. + (WTR::LayoutTestController::create): + (WTR::LayoutTestController::LayoutTestController): + (WTR::LayoutTestController::~LayoutTestController): + (WTR::dumpAsTextCallback): + (WTR::layoutTestControllerObjectFinalize): + (WTR::LayoutTestController::makeWindowObject): + (WTR::LayoutTestController::getJSClass): + (WTR::LayoutTestController::staticFunctions): + * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Added. + (WTR::LayoutTestController::dumpAsText): + (WTR::LayoutTestController::setDumpAsText): + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + +2010-06-25 Sam Weinig + + Reviewed by Anders Carlsson. + + Make WebKitTestRunner really work with run-webkit-tests. + + - Add Forwarding headers to allow some cleanup. + + * WebKitTestRunner/ForwardingHeaders: Added. + * WebKitTestRunner/ForwardingHeaders/wtf: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/ASCIICType.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/Assertions.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/Atomics.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/FastMalloc.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/HashMap.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/HashSet.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/HashTraits.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/Locker.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/MainThread.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/MathExtras.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/Noncopyable.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/OwnPtr.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/OwnPtrCommon.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/PassOwnPtr.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/PassRefPtr.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/Platform.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/RefCounted.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/RefPtr.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/RetainPtr.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/StringExtras.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/ThreadSafeShared.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/Threading.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/ThreadingPrimitives.h: Added. + * WebKitTestRunner/ForwardingHeaders/wtf/Vector.h: Added. + * WebKitTestRunner/TestInvocation.cpp: + (WTR::TestInvocation::dump): Dump the right number of #EOFs. + * WebKitTestRunner/TestInvocation.h: + +2010-06-25 Sam Weinig + + Reviewed by Mark Rowe. + + Add support for WebKitTestRunner to old-run-webkit-tests + + - Also adds a script to build WebKitTestRunner for old-run-webkit-tests to use. + + * Scripts/build-webkittestrunner: Added. + * Scripts/old-run-webkit-tests: + +2010-06-25 Adam Barth + + Reviewed by David Levin. + + Incremental build failed on Chromium ews + https://bugs.webkit.org/show_bug.cgi?id=41011 + + The division of responsibility between update-webkit --chromium and + build-webkit --chromium is slightly unclear. In this patch, we make + build-webkit --chromium also update DEPS and re-run GYP in case the + developer has changed either since they updated. + + This change is also helpful for the EWS, which wants to update DEPS and + re-run GYP after applying patches, but the EWS doesn't want to run + update-webkit --chromium because it has a dirty working copy. + + * Scripts/webkitdirs.pm: + +2010-06-25 Robert Hogan + + Reviewed by Simon Hausmann. + + [Qt] Support evaluateScriptInIsolatedWorld() + + https://bugs.webkit.org/show_bug.cgi?id=40079 + + Remove evaluateScriptInIsolatedWorld() from QtWebKit API. + Remove QWebScriptWorld from exported headers. + Confine support to DumpRenderTreeSupportQt so that the tests can pass. + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::evaluateScriptInIsolatedWorld): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-06-25 Anders Carlsson + + Revert accidental part and add a newline. + + * MiniBrowser/mac/AppDelegate.m: + * MiniBrowser/mac/MiniBrowser_Prefix.pch: + +2010-06-25 Anders Carlsson + + Rubber-stamped by Dan Bernstein. + + Add a LOG macro that expands to a no-op by default. + + * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: + * MiniBrowser/mac/AppDelegate.m: + (_didRecieveMessageFromInjectedBundle): + * MiniBrowser/mac/BrowserWindowController.m: + (-[BrowserWindowController windowShouldClose:]): + (_didStartProvisionalLoadForFrame): + (_didReceiveServerRedirectForProvisionalLoadForFrame): + (_didFailProvisionalLoadWithErrorForFrame): + (_didCommitLoadForFrame): + (_didFinishLoadForFrame): + (_didFailLoadWithErrorForFrame): + (_didReceiveTitleForFrame): + (_didFirstLayoutForFrame): + (_didFirstVisuallyNonEmptyLayoutForFrame): + (_didBecomeUnresponsive): + (_didBecomeResponsive): + (_decidePolicyForNavigationAction): + (_decidePolicyForNewWindowAction): + (_createNewPage): + (_showPage): + (_closePage): + (_didNavigateWithNavigationData): + (_didPerformClientRedirect): + (_didPerformServerRedirect): + (_didUpdateHistoryTitle): + * MiniBrowser/mac/MiniBrowser_Prefix.pch: + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (_didClearWindowForFrame): + (_didCreatePage): + (_willDestroyPage): + (_didRecieveMessage): + +2010-06-24 Adam Barth + + Reviewed by Eric Seidel. + + commit-queue is taking too long to land patches because of red trees + https://bugs.webkit.org/show_bug.cgi?id=41194 + + Instead of checking for the tree to be green, we'll just spin hot + trying to land patches. This is probably too extreme in ignoring the + tree, but I think we should try it for a while to see if we have + trouble. That will help us find the right balance. + + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + +2010-06-24 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Clean up the use of gdk_window_get_root_coords in EventSender + https://bugs.webkit.org/show_bug.cgi?id=40843 + + Define the version for old GTK+s in a way that is forward-compatible + and clean up the logic a bit. + + * DumpRenderTree/gtk/EventSender.cpp: + (gdk_window_get_root_coords): Renamed and cleaned up. + (prepareMouseButtonEvent): Remove #ifdefs. + (mouseMoveToCallback): Remove #ifdefs. + +2010-06-24 Dimitri Glazkov + + Reviewed by Eric Seidel. + + Fix NewRunWebKitTests to work on Windows. + https://bugs.webkit.org/show_bug.cgi?id=41180 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: Added "perl" as first arguments, + because Windows fails to understand what we're asking of it. + +2010-06-24 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] The url passed to the WebView during layout tests is invalid + https://bugs.webkit.org/show_bug.cgi?id=40832 + + Set the test URL to the full real file URL and do a small cleanup. + Previously a URL like file://relative/path/to/test.html was passed + to the WebView. This malformed file URL would be returned by + webkit_web_view_get_url and webkit_web_frame_get_url. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (shouldLogFrameLoadDelegates): Change to take a const string& as the argument. + (shouldOpenWebInspector): Change to take a const string& as the argument. + (shouldEnableDeveloperExtras): Change to take a const string& as the argument. + (runTest): Pass the full file:// URL to the view. Remove the superfluous url variable. + +2010-06-24 Sam Weinig + + Reviewed by Anders Carlsson. + + Fix WebKitTestRunner Makefile typos. + + * WebKitTestRunner/Makefile: + +2010-06-24 Adele Peterson + + Reviewed by Eric Carlson. + + DumpRenderTree part of testing "Paste and Match Style" should fire paste events + https://bugs.webkit.org/show_bug.cgi?id=41085 + + * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): + Clear the general pasteboard in between tests so Cut,Copy, and setData on ClipboardData won't have lasting effects. + +2010-06-23 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41086 + Add new WebKitTestRunner project (ie. DRT for WebKit2). + + - Mac only. + - run-webkit-tests has not been modified to call it yet. + - Only dumps the render tree at this time. + + * WebKitTestRunner: Added. + * WebKitTestRunner/Configurations: Added. + * WebKitTestRunner/Configurations/Base.xcconfig: Added. + * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Added. + * WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Added. + * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Added. + * WebKitTestRunner/InjectedBundle: Added. + * WebKitTestRunner/InjectedBundle-Info.plist: Added. + * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: Added. + (_didStartProvisionalLoadForFrame): + (_didReceiveServerRedirectForProvisionalLoadForFrame): + (_didFailProvisionalLoadWithErrorForFrame): + (_didCommitLoadForFrame): + (_didFinishLoadForFrame): + (_didFailLoadWithErrorForFrame): + (_didReceiveTitleForFrame): + (_didClearWindow): + (_didCreatePage): + (_willDestroyPage): + (_didRecieveMessage): + (WKBundleInitialize): + * WebKitTestRunner/Makefile: Added. + * WebKitTestRunner/PlatformWebView.h: Added. + (WTR::PlatformWebView::platformView): + * WebKitTestRunner/TestController.cpp: Added. + (WTR::TestController::shared): + (WTR::TestController::TestController): + (WTR::TestController::initialize): + (WTR::TestController::runTest): + (WTR::TestController::runTestingServerLoop): + (WTR::TestController::run): + * WebKitTestRunner/TestController.h: Added. + (WTR::TestController::verbose): + (WTR::TestController::injectedBundlePath): + * WebKitTestRunner/TestInvocation.cpp: Added. + (WTR::createWKURL): + (WTR::TestInvocation::TestInvocation): + (WTR::TestInvocation::~TestInvocation): + (WTR::TestInvocation::invoke): + (WTR::TestInvocation::dump): + (WTR::TestInvocation::initializeMainWebView): + (WTR::TestInvocation::didStartProvisionalLoadForFrame): + (WTR::TestInvocation::didReceiveServerRedirectForProvisionalLoadForFrame): + (WTR::TestInvocation::didFailProvisionalLoadWithErrorForFrame): + (WTR::TestInvocation::didCommitLoadForFrame): + (WTR::TestInvocation::didFinishLoadForFrame): + (WTR::TestInvocation::didFailLoadForFrame): + (WTR::TestInvocation::renderTreeExternalRepresentationFunction): + (WTR::TestInvocation::renderTreeExternalRepresentationDisposeFunction): + * WebKitTestRunner/TestInvocation.h: Added. + * WebKitTestRunner/WebKitTestRunner.xcodeproj: Added. + * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added. + * WebKitTestRunner/WebKitTestRunnerPrefix.h: Added. + * WebKitTestRunner/mac: Added. + * WebKitTestRunner/mac/PlatformWebViewMac.mm: Added. + (WTR::PlatformWebView::PlatformWebView): + (WTR::PlatformWebView::~PlatformWebView): + (WTR::PlatformWebView::page): + * WebKitTestRunner/mac/TestInvocationMac.mm: Added. + (WTR::TestInvocation::runUntil): + * WebKitTestRunner/mac/main.mm: Added. + (main): + +2010-06-24 Luiz Agostini + + Unreviewed. Adding myself to the committers list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-23 Kevin Ollivier + + [wx] Build fix, adding new LayoutTestController methods and enabling SVG_FOREIGN_OBJECT. + + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::isPageBoxVisible): + (LayoutTestController::pageAreaRectInPixels): + (LayoutTestController::preferredPageSizeInPixels): + * wx/build/settings.py: + +2010-06-23 James Robinson + + Unreviewed. Add my IRC handle to committers.py so the sheriffbot can yell at me. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-23 Kent Tamura + + Reviewed by Dimitri Glazkov. + + Correct Chromium test configuration + https://bugs.webkit.org/show_bug.cgi?id=41057 + + * BuildSlaveSupport/build.webkit.org-config/master.cfg: + - Add "--use-drt" option for NRWT. It is required for Chromium and + ignored for other platforms. + - Skip JSC test on Chromium + * BuildSlaveSupport/test-result-archive: + Add Chromium support. + +2010-06-23 Sam Weinig + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=41073 + WebKit2: Flesh out more of the InjectedBundle client API + + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (_didStartProvisionalLoadForFrame): + (_didReceiveServerRedirectForProvisionalLoadForFrame): + (_didFailProvisionalLoadWithErrorForFrame): + (_didCommitLoadForFrame): + (_didFinishLoadForFrame): + (_didFailLoadWithErrorForFrame): + (_didReceiveTitleForFrame): + (_didClearWindowForFrame): + (_didCreatePage): + (_willDestroyPage): + (WKBundleInitialize): + +2010-06-23 Yuzo Fujishima + + Reviewed by Shinichiro Hamaji. + + Implement page format data programming interface. + Add methods for testing. + https://bugs.webkit.org/show_bug.cgi?id=37538 + + * DumpRenderTree/LayoutTestController.cpp: + (parsePageNumber): + (isPageBoxVisibleCallback): + (pageAreaRectInPixelsCallback): + (preferredPageSizeInPixelsCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::isPageBoxVisible): + (LayoutTestController::pageAreaRectInPixels): + (LayoutTestController::preferredPageSizeInPixels): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::isPageBoxVisible): + (LayoutTestController::pageAreaRectInPixels): + (LayoutTestController::preferredPageSizeInPixels): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::isPageBoxVisible): + (LayoutTestController::pageAreaRectInPixels): + (LayoutTestController::preferredPageSizeInPixels): + +2010-06-23 Sam Magnuson + + Reviewed by Shinichiro Hamaji. + + Follow proper convention for if/switch/while as I've discovered + them to be through my review processes. + https://bugs.webkit.org/show_bug.cgi?id=40723 + + Modified test so that if( foo ) is not allowed as it appears not + to be the accepted convention. + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-06-22 Eric Seidel + + Reviewed by Adam Barth. + + Run clean-header-guards to fix some header guards + https://bugs.webkit.org/show_bug.cgi?id=41044 + + No functional changes, thus no tests. + + This entire change was generated by running + clean-header-guards, and then reverting changes + to files which shouldn't be changed. Those which + are left all should be updated. + + Some of these changes are just fixing 755 permissions + to be 644, since it seems various files have the wrong + execute bit which don't need it. clean-header-guards + made those (welcome) permission fixes unintentionally. + + * DumpRenderTree/chromium/WebThemeControlDRT.h: + * DumpRenderTree/chromium/WebThemeEngineDRT.h: + * QtTestBrowser/fpstimer.h: + +2010-06-22 Adam Barth + + Reviewed by Eric Seidel. + + Rename HTMLDocumentParser to LegacyHTMLDocumentParser + https://bugs.webkit.org/show_bug.cgi?id=41043 + + Update the hash. + + * Scripts/do-webcore-rename: + +2010-06-22 Sam Magnuson + + Reviewed by Shinichiro Hamaji. + + Follow proper convention for variable declaration spacing. + https://bugs.webkit.org/show_bug.cgi?id=40724 + + Modified test so that 'int a;' is not allowed. + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-06-22 Eric Seidel + + Unreviewed. Add Tony Gentilcore now that he's a committer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-22 Eric Seidel + + Reviewed by Adam Barth. + + Remove Gtk 64-Release bot from core since it's broken + https://bugs.webkit.org/show_bug.cgi?id=41022 + + This bot alone has been responsible for more than 72 hours of + commit-queue blockage in the last week. The bot is broken -- keeps + losing its display server or similar. Until the Gtk folks can fix the + bot, we need to remove it from core. The WebKit community can't keep + it green as is. + + * Scripts/webkitpy/common/net/buildbot.py: + * Scripts/webkitpy/common/net/buildbot_unittest.py: + +2010-06-21 Dumitru Daniliuc + + Reviewed by Eric Seidel. + + Fix the Windows build. + https://bugs.webkit.org/show_bug.cgi?id=40972 + + * DumpRenderTree/win/ImageDiff.vcproj: + +2010-06-21 Prasad Tammana + + Reviewed by Darin Adler, Dmitry Titov. + + DumpRenderTree should allow tests with modal dialogs + https://bugs.webkit.org/show_bug.cgi?id=35350 + + * DumpRenderTree/LayoutTestController.cpp: + (abortModalCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::abortModal): + Add abortModal method to LayoutTestController and make it available from script. + + * DumpRenderTree/mac/UIDelegate.mm: Add support for showModalDialog. + (-[UIDelegate modalWindowWillClose:]): Observer for NSWindowWillCloseNotifications to call + abortModal from when modal window closes. + (-[UIDelegate webViewRunModal:]): Delegate method for showModalDialog to run the modal loop. + +2010-06-21 Simon Fraser + + Reviewed by Anders Carlsson. + + Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea + https://bugs.webkit.org/show_bug.cgi?id=40948 + + Have the script look in WebKit2. + + * Scripts/do-webcore-rename: + +2010-06-21 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Unskip plugins/get-url-that-the-resource-load-delegate-will-disallow.html + + It's a Mac-specific test so just add the required LayoutTestController + function as a no-op to avoid failing. Similar approach adopted by other + ports. + + https://bugs.webkit.org/show_bug.cgi?id=33344 + + * DumpRenderTree/qt/LayoutTestControllerQt.h: + (LayoutTestController::addDisallowedURL): + +2010-06-21 Sam Weinig + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=40940 + Add message passing support to the WebKit2 API. + + - Add some test messages. + + * MiniBrowser/mac/AppDelegate.m: + (_didRecieveMessageFromInjectedBundle): + (-[BrowserAppDelegate init]): + * MiniBrowser/mac/WebBundle/WebBundleMain.m: + (_didClearWindow): + (_didCreatePage): + (_didRecieveMessage): + (WKBundleInitialize): + +2010-06-21 Drew Wilson + + Unreviewed. + + Rolling back 61551 and 61555 due to test failures. + + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setEditingBehavior): + * DumpRenderTree/mac/UIDelegate.mm: + +2010-06-21 Anders Carlsson + + Reviewed by Sam Weinig. + + Make DumpRenderTree build with clang++ + + * DumpRenderTree/mac/DumpRenderTreePasteboard.m: + (-[LocalPasteboard setPropertyList:forType:]): + * DumpRenderTree/mac/DumpRenderTreeWindow.mm: + (-[DumpRenderTreeWindow keyDown:]): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::elementDoesAutoCompleteForElementWithId): + (LayoutTestController::isCommandEnabled): + +2010-06-21 Satish Sampath + + Reviewed by Steve Block. + + Speech Input Patch 0: Added compilation argument to conditionally compile pending patches. + https://bugs.webkit.org/show_bug.cgi?id=40878 + + * Scripts/build-webkit: + +2010-06-21 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Initialization for http/tests/loading/ + https://bugs.webkit.org/show_bug.cgi?id=40902 + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::runFileTest): + +2010-06-21 Jocelyn Turcotte + + Unreviewed. + + Adding myself to the committers list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-20 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Add --allow-external-pages option + https://bugs.webkit.org/show_bug.cgi?id=40762 + + Add --allow-external-pages introduced by Chromium r45403. + http://src.chromium.org/viewvc/chrome?view=rev&revision=45403 + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (main): + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): + * DumpRenderTree/chromium/TestShell.h: + (TestShell::allowExternalPages): + (TestShell::setAllowExternalPages): + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::willSendRequest): + +2010-06-20 Joseph Pecoraro + + Reviewed by Adam Barth. + + Sheriffbot: Should allow "r" in SVN_REVISION + https://bugs.webkit.org/show_bug.cgi?id=40889 + + * Scripts/webkitpy/tool/bot/irc_command.py: remove a leading "r" from SVN_REVISION if it exists + * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: test an SVN_REVISION with a leading r. + +2010-06-20 Joseph Pecoraro + + Reviewed by Dimitri Glazkov. + + Python Tests Fail after r61508 + https://bugs.webkit.org/show_bug.cgi?id=40891 + + Test's regex list needed to be updated to match the new + regex list in the source code. Added new bots to the + example_buildbots list. + + Regex list fixed in r61512. Updated bot list. + + * Scripts/webkitpy/common/net/buildbot_unittest.py: + +2010-06-20 Dimitri Glazkov + + Unreviewed, build fix. + + Tweak test regexp list to match the change in http://trac.webkit.org/changeset/61508. + + * Scripts/webkitpy/common/net/buildbot_unittest.py: Tweaked regexp. + +2010-06-19 Justin Schuh + + Unreviewed. + + Adding myself to the committers list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-19 Sam Weinig + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=40882 + Add ability to have a WebProcess per WebContext. + + Move to use new shared contexts API. + + * MiniBrowser/mac/AppDelegate.h: + * MiniBrowser/mac/AppDelegate.m: + (-[BrowserAppDelegate init]): + (-[BrowserAppDelegate getCurrentPageNamespace]): + (-[BrowserAppDelegate validateMenuItem:]): + (-[BrowserAppDelegate _setProcessModel:]): + (-[BrowserAppDelegate setSharedProcessProcessModel:]): + (-[BrowserAppDelegate setSharedThreadProcessModel:]): + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + +2010-06-02 Robert Hogan + + Reviewed by Adam Barth. + + [Qt] Support evaluateScriptInIsolatedWorld() + + https://bugs.webkit.org/show_bug.cgi?id=40079 + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::evaluateScriptInIsolatedWorld): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-06-18 Dimitri Glazkov + + Reviewed by Darin Adler. + + Add three more non-core Chromium builders to start testing DumpRenderTree. + https://bugs.webkit.org/show_bug.cgi?id=40335 + + * BuildSlaveSupport/build.webkit.org-config/config.json: Added 3 builders. + +2010-06-18 Drew Wilson + + Reviewed by Darin Fisher. + + [Chromium] Plumbing for top-level frame names + https://bugs.webkit.org/show_bug.cgi?id=40430 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::reset): + Changed obsolete call to clearName() to use setName(WebString()) instead. + +2010-06-18 Sam Weinig + + Rolling http://trac.webkit.org/changeset/61297 back in. + + * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: + * MiniBrowser/mac/WebBundle/WebBundleMain.c: Removed. + * MiniBrowser/mac/WebBundle/WebBundleMain.m: Added. + (_didClearWindow): + (_didCreatePage): + (WKBundleInitialize): + +2010-06-18 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=40803 + TestNetscapePlugin has an incorrect implementation of "property" property + + * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (pluginGetProperty): Don't + pass a static string back, it's going to be released by NPAPI implementation. + +2010-06-18 Leandro Pereira + + Unreviewed. + + Adding myself to the committers list. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-17 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] cleanup redundant DEPS value and remove buildbot cleanup code + https://bugs.webkit.org/show_bug.cgi?id=40615 + + * Scripts/update-webkit-chromium: remove directory removal of third_party in old checkouts + +2010-06-17 Ada Chan + + Rolling out http://trac.webkit.org/changeset/61297 due to build errors. + + * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: + * MiniBrowser/mac/WebBundle/WebBundleMain.c: Copied from MiniBrowser/mac/WebBundle/WebBundleMain.c. + * MiniBrowser/mac/WebBundle/WebBundleMain.m: Removed. + +2010-06-17 Darin Adler + + One more try at fix for Chromium build. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): Use set again instead of =. + +2010-06-17 Darin Adler + + Fix Chromium build. + + I didn't realize that neither Chromium nor Qt share the DumpRenderTree + code with all the other platforms! Wow, that should be fixed at some point. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): Changed back to using "new". + * DumpRenderTree/chromium/TestShell.h: Changed back to OwnPtr. + +2010-06-17 Simon Hausmann + + Unreviewed Qt build fix. + + LayoutTestController in the Qt DRT is not using refs :) + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::DumpRenderTree): + +2010-06-17 Darin Adler + + Reviewed by Sam Weinig. + + Use adoptRef and create functions in more code paths + https://bugs.webkit.org/show_bug.cgi?id=40760 + + * DumpRenderTree/DumpRenderTree.h: Change gLayoutTestController to a RefPtr. + + * DumpRenderTree/LayoutTestController.cpp: + (LayoutTestController::create): Added. + * DumpRenderTree/LayoutTestController.h: Declare the create function. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::TestShell): Use create instead of new. + * DumpRenderTree/chromium/TestShell.h: Use RefPtr instead of OwnPtr. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (runTest): Use RefPtr and create instead of OwnPtr and new. + + * DumpRenderTree/mac/DumpRenderTree.mm: + (runTest): Use RefPtr and create instead of OwnPtr and new. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::DumpRenderTree): Use create and releaseRef + instead of new. + + * DumpRenderTree/win/DumpRenderTree.cpp: + (runTest): Use RefPtr and create instead of OwnPtr and new. + + * DumpRenderTree/wx/DumpRenderTreeWx.cpp: + (runTest): Use RefPtr and create instead of OwnPtr and new. + (MyApp::OnInit): Removed unneeded code to delete the layout + test controller. This is done during each test. + +2010-06-17 Kent Tamura + + Reviewed by Shinichiro Hamaji. + + [DRT/Chromium] Fix a bug of Windows pixel tests + https://bugs.webkit.org/show_bug.cgi?id=40763 + + * DumpRenderTree/chromium/TestEventPrinter.cpp: + (TestShellPrinter::handleImage): + +2010-06-16 Kent Tamura + + Reviewed by Shinichiro Hamaji. + + [DRT/Chromium] Fix crash on Mac Release + https://bugs.webkit.org/show_bug.cgi?id=40759 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::paintRect): We should not use m_canvas directly because + it is created lazily in canvas(). + +2010-06-16 Kevin Ollivier + + [wx] Build fix after new method addition. + + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::pageProperty): + +2010-06-16 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Set current working directory for each of tests + https://bugs.webkit.org/show_bug.cgi?id=40668 + + This change fixes tests with eventSender.beginDragWithFiles(). + + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (runTest): + +2010-06-16 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] r60803 broke media/controls-drag-timebar.html + https://bugs.webkit.org/show_bug.cgi?id=40269 + + Only queue events while the mouse button is down, if drag mode is enabled. Some + tests may disable drag mode, to prevent the queuing of events in this situation. + + * DumpRenderTree/gtk/EventSender.cpp: + (sendOrQueueEvent): Only queue events here if dragMode is true. + +2010-06-16 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] Remove the abuse of GDK_CURRENT_TIME in the DRT + https://bugs.webkit.org/show_bug.cgi?id=40600 + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): Remove logic adding an offset to GDK_CURRENT_TIME. + +2010-06-16 Adam Barth + + Reviewed by Dimitri Glazkov. + + Add a hidden land-cowboy command to webkit-patch to help land quick + build fixes. + + * Scripts/webkitpy/tool/commands/download.py: + * Scripts/webkitpy/tool/steps/preparechangelog.py: + +2010-06-16 Adam Roben + + Convert console messages to UTF-8 before printing them + + Speculative fix for REGRESSION (r61234): + http/tests/security/xssAuditor/embed-tag-null-char.html and + http/tests/security/xssAuditor/object-embed-tag-null-char.html fail on + Windows. (I can't test the fix because Apache is crashing on my + computer.) + + Reviewed by Alexey Proskuryakov. + + * DumpRenderTree/win/DumpRenderTree.cpp: + (toUTF8): Extracted the code into an overload that takes a wide string + and a length, then added an overload that takes a wstring. + + * DumpRenderTree/win/DumpRenderTreeWin.h: Declare the new toUTF8 + overload. + + * DumpRenderTree/win/UIDelegate.cpp: + (UIDelegate::webViewAddMessageToConsole): Use toUTF8 to convert to + UTF-8 instead of letting printf convert to the current code page. + +2010-06-16 Drew Wilson + + Reviewed by Kent Tamura. + + [Chromium] Plumbing for top-level frame names + https://bugs.webkit.org/show_bug.cgi?id=40430 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::createView): + Migrate to new createView() API. + * DumpRenderTree/chromium/WebViewHost.h: + Remove obsolete createView() methods, add new createView() API that takes a frameName parameter. + +2010-06-16 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Scroll wheel event support to graphics based DRT + https://bugs.webkit.org/show_bug.cgi?id=40577 + + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::continuousMouseScrollBy): + (EventSender::createGraphicsSceneWheelEvent): + * DumpRenderTree/qt/EventSenderQt.h: + +2010-06-16 Adam Roben + + Remove a stray newline from the Windows version of TestNetscapePlugin + + Reviewed by Alexey Proskuryakov. + + Fixes + plugins/geturlnotify-during-document-teardown.html fails on Windows + + * DumpRenderTree/win/TestNetscapePlugin/main.cpp: + (NPP_Destroy): Removed extra newline that the Mac version doesn't + have. + +2010-06-16 Adam Roben + + Respect LayoutTestController::isPrinting on Windows + + This gets some printing tests closer to passing (like + printing/page-rule-in-media-query.html). + + Fixes . + + Reviewed by Dan Bernstein. + + * DumpRenderTree/win/DumpRenderTree.cpp: + (dump): Pass LayoutTestController::isPrinting to + IWebFramePrivate::renderTreeAsExternalRepresentation. + +2010-06-15 Adam Barth + + Reviewed by Eric Seidel. + + Enable HTML5 lexer + https://bugs.webkit.org/show_bug.cgi?id=40650 + + * DumpRenderTree/mac/DumpRenderTree.mm: + (initializeGlobalsFromCommandLineOptions): + +2010-06-10 Yuzo Fujishima + + Reviewed by Shinichiro Hamaji. + + Implement render style selection for pages to support CSS3 Paged Media. + https://bugs.webkit.org/show_bug.cgi?id=35961 + + * DumpRenderTree/LayoutTestController.cpp: + (parsePagePropertyParameters): + (pagePropertyCallback): + (LayoutTestController::staticFunctions): + * DumpRenderTree/LayoutTestController.h: + * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: + (LayoutTestController::pageProperty): + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::pageProperty): + * DumpRenderTree/win/LayoutTestControllerWin.cpp: + (LayoutTestController::pageProperty): + +2010-06-15 Sam Weinig + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=40630 + WebKit2: Add mechanism to inject code into the WebProcess on startup + + Add initial InjectedBundle support. + + * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: + * MiniBrowser/WebBundle-Info.plist: Added. + Add test InjectedBundle to the project. + + * MiniBrowser/mac/AppDelegate.m: + (-[BrowserAppDelegate init]): + Get the path to the WebBundle from the the main bundle and pass it to the new + WKContextCreateWithInjectedBundlePath function. + + * MiniBrowser/mac/BrowserWindowController.m: + (_didChangeProgress): + Fix the build. This has been broken for a while. + + * MiniBrowser/mac/WebBundle: Added. + * MiniBrowser/mac/WebBundle/WebBundleMain.c: Added. + (_didCreatePage): + (WKBundleInitialize): + Add really basic InjectedBundle. + + * MiniBrowser/win/BrowserView.cpp: + (BrowserView::create): + Switch from WKContextCreateWithProcessModel to WKContextCreate and remove commented out code. + +2010-06-15 Dumitru Daniliuc + + Reviewed by Darin Adler. + + Adding myself to the reviewers list. + https://bugs.webkit.org/show_bug.cgi?id=40693 + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-15 Martin Robinson + + Reviewed by Xan Lopez. + + Switch to using GIO methods instead of realpath in GtkLauncher to determine + the file URI. This should remove warnings about realpath being undefined + when compiling with '-ansi'. + + * GtkLauncher/main.c: + (filenameToURL): Use GIO instead of realpath to determine file URI. + +2010-06-15 Adam Roben + + Remove the redundant set-apple-windows-environment-variables script + + Apparently update-webkit does this for you these days. + + Rubber-stamped by Steve Falkenburg. + + * Scripts/set-apple-windows-environment-variables: Removed. + +2010-06-14 Adam Roben + + Add a script to set the WebKitOutputDir and WebKitLibrariesDir + environment variables + + Fixes . + + Reviewed by Steve Falkenburg. + + * Scripts/set-apple-windows-environment-variables: Added. + (to_windows_path): Passes the passed-in path through cygpath to + generate a Windows-style path. + (main): Sets the WebKitOutputDir and WebKitLibrariesDir environment + variables to their defaults, if they aren't already set. + +2010-06-14 Adam Roben + + Speed up run-safari/debug-safari on Windows + + Fixes . + + Reviewed by Steve Falkenburg. + + * Scripts/webkitdirs.pm: + (runSafari): When debugging, set up the environment to run Safari + using the built WebKit.dll, then use "devenv /debugexe Safari.exe" to + actually launch the debugger. When not debugging, just run WebKit.exe + and it will do the rest for us. + +2010-06-15 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] DRT EventSender support to graphics context events + https://bugs.webkit.org/show_bug.cgi?id=40324 + + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::contextClick): + +2010-06-14 Tony Chang + + Reviewed by Darin Fisher. + + [chromium] checkout chromium third_party directly + https://bugs.webkit.org/show_bug.cgi?id=40556 + + * Scripts/update-webkit-chromium: some migration code for the bots + +2010-06-14 Alexey Proskuryakov + + Chromium build fix. + + * DumpRenderTree/chromium/EventSender.cpp: (EventSender::keyDown): Chromium uses differently + named constants for Windows virtual key codes, replacing VK_DELETE with VKEY_DELETE. + +2010-06-14 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=40529 + eventSender.keyDown("delete") incorrectly sends a backspace on some platforms + + * DumpRenderTree/mac/EventSendingController.mm: + (-[EventSendingController keyDown:withModifiers:withLocation:]): We were sending a broken + event for "delete" - it had virtual key code from forward delete, and text from backspace. + Fixed "delete" to mean forward delete. + + * DumpRenderTree/chromium/EventSender.cpp: (EventSender::keyDown): + * DumpRenderTree/gtk/EventSender.cpp: (keyDownCallback): + * DumpRenderTree/win/EventSender.cpp: (keyDownCallback): + Mac DRT confusion has propagated to other platforms, fixing those. + +2010-06-14 Martin Robinson + + Reviewed by Xan Lopez. + + Small GtkLauncher build fix for some systems. + + * GtkLauncher/main.c: Add include. + +2010-06-14 Mahesh Kulkarni + + Reviewed by Laszlo Gombos. + + [Qt] navigator.geolocation support for Qt port + https://bugs.webkit.org/show_bug.cgi?id=39724 + + Implementation for geolocation cases to DumpRenderTreeQt + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::allowGeolocationRequest): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setGeolocationPermission): + (LayoutTestController::setMockGeolocationError): + (LayoutTestController::setMockGeolocationPosition): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + (LayoutTestController::isGeolocationPermissionSet): + (LayoutTestController::geolocationPermission): + +2010-06-13 Nathan Lawrence + + Reviewed by Darin Adler. + + Outside of Xcode (make or WebKitTools/Scripts), there doesn't seem to + be a way of overwriting the Xcode system path. Making + $WEBKITOUTPUTDIR take precedence over the system default would make + this possible. + + * Scripts/webkitdirs.pm: + +2010-06-13 Chris Fleizach + + Reviewed by Darin Adler. + + AX: link won't return linked element if URL contains # + https://bugs.webkit.org/show_bug.cgi?id=40192 + + * DumpRenderTree/AccessibilityUIElement.cpp: + (linkedUIElementAtIndexCallback): + (AccessibilityUIElement::getJSClass): + * DumpRenderTree/AccessibilityUIElement.h: + * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: + (AccessibilityUIElement::linkedUIElementAtIndex): + * DumpRenderTree/mac/AccessibilityUIElementMac.mm: + (AccessibilityUIElement::linkedUIElementAtIndex): + * DumpRenderTree/win/AccessibilityUIElementWin.cpp: + (AccessibilityUIElement::linkedUIElementAtIndex): + +2010-06-13 Adam Barth + + Reviewed by Darin Adler. + + webkit-patch should add a bug URL to ChangeLogs if they don't have one yet + https://bugs.webkit.org/show_bug.cgi?id=39550 + + This can cause an extra request to bugs.webkit.org durig upload, but it + shouldn't be too bad. Also, this won't work if you remove the + boilerplate created by prepare-ChangeLog. + + * Scripts/webkitpy/common/checkout/changelog.py: + * Scripts/webkitpy/common/checkout/changelog_unittest.py: + * Scripts/webkitpy/common/net/bugzilla.py: + * Scripts/webkitpy/tool/steps/abstractstep.py: + * Scripts/webkitpy/tool/steps/preparechangelog.py: + * Scripts/webkitpy/tool/steps/preparechangelog_unittest.py: Added. + +2010-06-08 Robert Hogan + + Reviewed by Eric Seidel. + + [Qt] Add support for callShouldCloseOnWebView() to DRT + https://bugs.webkit.org/show_bug.cgi?id=40330 + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::callShouldCloseOnWebView): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + (LayoutTestController::setCallCloseOnWebViews): + +2010-06-12 Eric Seidel + + Reviewed by Daniel Bates. + + do-webcore-rename should have a --verbose option + https://bugs.webkit.org/show_bug.cgi?id=40497 + + * Scripts/do-webcore-rename: + - Unified how we handle skipping files/directories + this will allow us to "black list" certain files and + directories when performing renames. + - Made do-webcore-rename log what it's skipping when passed --verbose. + +2010-06-12 Darin Adler + + * Scripts/run-bindings-tests: Fixed a typo in a message. + +2010-06-12 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [Chromium] new-run-webkit-tests --use-drt should work with Chromium checkout + https://bugs.webkit.org/show_bug.cgi?id=40402 + + _build_path() of each Chromium port check existence of build path + of Chromium checkout first, then check existence of build path of + WebKit-only checkout. + + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + * Scripts/webkitpy/layout_tests/port/chromium_mac.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + +2010-06-12 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Back-forward list dumping is incorrect + + https://bugs.webkit.org/show_bug.cgi?id=36392 + + Support dumping child history items in DRT. + + Unskip: + + fast/loader/frame-src-change-added-to-history.html + fast/loader/frame-src-change-not-added-to-history.html + fast/loader/frame-location-change-not-added-to-history.html + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::dumpHistoryItem): + +2010-06-10 Ojan Vafai + + Reviewed by Eric Seidel. + + upload all patches that lack in-rietveld to rietveld + https://bugs.webkit.org/show_bug.cgi?id=40444 + + If it's a patch, then we'll try to upload it as long as it + doesn't have in-rietveld set. No longer set in-rietveld? since + it's not needed. + + * Scripts/webkitpy/common/net/bugzilla.py: + +2010-06-10 Ojan Vafai + + Reviewed by Darin Fisher. + + Fix rietveld upload when message length > 100 characters + https://bugs.webkit.org/show_bug.cgi?id=40457 + + * Scripts/webkitpy/common/net/rietveld.py: + +2010-06-11 Yael Aharon + + Reviewed by Laszlo Gombos. + + [Qt] There should be a way to enable popups in QtTestBrowser + https://bugs.webkit.org/show_bug.cgi?id=40427 + + * QtTestBrowser/main.cpp: + (LauncherWindow::toggleJavascriptCanOpenWindows): + (LauncherWindow::createChrome): + +2010-06-10 Adam Barth + + Reviewed by Daniel Bates. + + Make SheriffBot more chatty + https://bugs.webkit.org/show_bug.cgi?id=40463 + + People seem to like to talk to SheriffBot, so let's make him chat back. + + * Scripts/webkitpy/thirdparty/__init__.py: + * Scripts/webkitpy/tool/bot/irc_command.py: + * Scripts/webkitpy/tool/bot/irc_command_unittest.py: Added. + * Scripts/webkitpy/tool/bot/sheriffircbot.py: + * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: + +2010-06-10 Brian Weinstein + + Reviewed by Darin Adler. + + Fix the Windows buildbot when WebKitAuxiliaryLibs.zip cannot be found on our server. + + Robustify update-webkit-auxiliary-libs to be able to handle the case when WebKitAuxiliaryLibs.zip doesn't exist, + and allow the script to fall back to an existing file, only failing if there is no fallback file. Also switch to checking + WEXITSTATUS on $result instead of just comparing $result to 0. + + * Scripts/update-webkit-auxiliary-libs: + +2010-06-10 Ojan Vafai + + Reviewed by Alexey Proskuryakov. + + don't use Exception.message as it's deprecated in python 2.6+ + https://bugs.webkit.org/show_bug.cgi?id=40449 + + * Scripts/webkitpy/tool/commands/queues.py: + +2010-06-10 Ojan Vafai + + Reviewed by Adam Barth. + + fix handle_script_error in rietveld upload queue and add testing for handle_script_error + https://bugs.webkit.org/show_bug.cgi?id=40436 + + * Scripts/webkitpy/common/system/outputcapture.py: + * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/commands/queuestest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-06-10 Jarkko Sakkinen + + Reviewed by Simon Hausmann. + + [Qt] *All* WebGL layout tests fail! + https://bugs.webkit.org/show_bug.cgi?id=40296 + + Added test for WebKitWebGLEnabled to + LayoutTestController::overridePreference(). + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::overridePreference): + +2010-06-10 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] DRT EventSender support to graphics mouse events activation + https://bugs.webkit.org/show_bug.cgi?id=40017 + + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::mouseDown): + (EventSender::mouseUp): + (EventSender::mouseMoveTo): + (EventSender::keyDown): + (EventSender::contextClick): + (EventSender::sendTouchEvent): + (EventSender::sendOrQueueEvent): + (EventSender::eventFilter): + (EventSender::createGraphicsSceneMouseEvent): + (EventSender::sendEvent): + * DumpRenderTree/qt/EventSenderQt.h: + (EventSender::isGraphicsBased): + +2010-06-09 Adam Barth + + Reviewed by Ojan Vafai. + + webkit-patch upload fails for security bugs because there's no rietveld flag + https://bugs.webkit.org/show_bug.cgi?id=40309 + + There's probably a more elegant way of seeing whether the form control + exists, but this seems to work. + + * Scripts/webkitpy/common/net/bugzilla.py: + +2010-06-09 Ojan Vafai + + Reviewed by Adam Barth. + + make rietveld upload faster and avoid posting to bug on errors + https://bugs.webkit.org/show_bug.cgi?id=40389 + + Only grab the first item of the upload queue instead of trying + to compute the whole list upfront (which is O(n) bugzilla lookups!). + + Also, don't post comments to the bug when uploading fails. + + * Scripts/webkitpy/common/net/bugzilla.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/commands/stepsequence.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-06-09 Ojan Vafai + + Reviewed by Adam Barth. + + Rietveld upload queue fails when setting in-rietveld flag + https://bugs.webkit.org/show_bug.cgi?id=40371 + + Make the comment arguments to set_flag_on_attachment optional + and add it to the MockBugzilla. + + * Scripts/webkitpy/common/net/bugzilla.py: + * Scripts/webkitpy/tool/bot/queueengine.py: + * Scripts/webkitpy/tool/commands/download_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + +2010-06-09 Kenneth Russell + + Reviewed by Dimitri Glazkov. + + Rename FloatArray to Float32Array + https://bugs.webkit.org/show_bug.cgi?id=40323 + + Used do-webcore-rename to perform renaming. Manually undid + incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp, + WebCore/manual-tests/resources/ArrayParameterTestApplet.java and + ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran + all layout tests on Safari; built Chromium and ran selected WebGL + tests. + + * Scripts/do-webcore-rename: + +2010-06-08 Tony Chang + + Reviewed by David Levin. + + [chromium] compile linux chromium in WebKit/out instead of WebKit/WebKit/chromium/out + https://bugs.webkit.org/show_bug.cgi?id=40285 + + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + +2010-06-03 Roland Steiner + + Reviewed by Tamura Kent. + + Bug 40052 - [DRT/Chromium] Upstream test_shell_webthemeengine as WebThemeEngineDRT + https://bugs.webkit.org/show_bug.cgi?id=40052 + + Add WebThemeEngineDRT and WebThemeControlDRT ported from Chromium rev. 48907 + + * DumpRenderTree/DumpRenderTree.gypi: + * DumpRenderTree/chromium/TestShellWin.cpp: + (platformInit): + * DumpRenderTree/chromium/WebThemeControlDRT.cpp: Added. + (WebKit::): + (WebKit::WebThemeControlDRT::WebThemeControlDRT): + (WebKit::WebThemeControlDRT::~WebThemeControlDRT): + (WebKit::WebThemeControlDRT::box): + (WebKit::WebThemeControlDRT::line): + (WebKit::WebThemeControlDRT::triangle): + (WebKit::WebThemeControlDRT::roundRect): + (WebKit::WebThemeControlDRT::oval): + (WebKit::WebThemeControlDRT::circle): + (WebKit::WebThemeControlDRT::nestedBoxes): + (WebKit::WebThemeControlDRT::markState): + (WebKit::WebThemeControlDRT::draw): + (WebKit::WebThemeControlDRT::drawTextField): + (WebKit::WebThemeControlDRT::drawProgressBar): + * DumpRenderTree/chromium/WebThemeControlDRT.h: Added. + (WebKit::WebThemeControlDRT::): + * DumpRenderTree/chromium/WebThemeEngineDRT.cpp: Added. + (WebKit::): + (WebKit::WebThemeEngineDRT::paintButton): + (WebKit::WebThemeEngineDRT::paintMenuList): + (WebKit::WebThemeEngineDRT::paintScrollbarArrow): + (WebKit::WebThemeEngineDRT::paintScrollbarThumb): + (WebKit::WebThemeEngineDRT::paintScrollbarTrack): + (WebKit::WebThemeEngineDRT::paintTextField): + (WebKit::WebThemeEngineDRT::paintTrackbar): + (WebKit::WebThemeEngineDRT::paintProgressBar): + * DumpRenderTree/chromium/WebThemeEngineDRT.h: Added. + (WebKit::WebThemeEngineDRT::WebThemeEngineDRT): + +2010-06-08 Sheriff Bot + + Unreviewed, rolling out r60878. + http://trac.webkit.org/changeset/60878 + https://bugs.webkit.org/show_bug.cgi?id=40349 + + broke linux build (Requested by tony^work on #webkit). + + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + +2010-06-08 Tony Chang + + Reviewed by David Levin. + + [chromium] compile linux chromium in WebKit/out instead of WebKit/WebKit/chromium/out + https://bugs.webkit.org/show_bug.cgi?id=40285 + + * Scripts/webkitdirs.pm: + * Scripts/webkitpy/layout_tests/port/chromium_linux.py: + +2010-06-08 Kenneth Russell + + Unreviewed, build fix. + + Fix build breakage from 38145 + https://bugs.webkit.org/show_bug.cgi?id=40346 + + The fix for bug 38145 broke the Chromium Win build because + Microsoft's cmath doesn't define log2. Suggested fix by zmo is to + change log2(x) to log(x) / log(2). Built and ran WebGL layout + tests in Safari on Mac OS X. Changed download mirrors for + python-irclib to working ones. + + * Scripts/webkitpy/thirdparty/__init__.py: + +2010-06-08 Fumitoshi Ukai + + Reviewed by Eric Seidel. + + old-run-webkit-tests should use ensure-valid-python to check if it can run the websockets tests + https://bugs.webkit.org/show_bug.cgi?id=39058 + + * Scripts/old-run-webkit-tests: + use sourceDir() to find ensure-valid-python in checkPythonVersion() + +2010-06-08 Andras Becsi + + Unreviewed buildfix after r60479. + + [GTK] Move the declaration of getRootCoords higher up to fix the build on GTK + versions other than 2.17.3. + + * DumpRenderTree/gtk/EventSender.cpp: + (getRootCoords): + +2010-06-07 Martin Robinson + + Reviewed by Oliver Hunt. + + [GTK] Mouse movement should not trigger a replay of saved events in the event sender + https://bugs.webkit.org/show_bug.cgi?id=40267 + + When a mouse button is down, automatically queue mouse motion events and + do not play them back until the mouse button is released. This matches the + behavior of other ports' EventSenders. + + * DumpRenderTree/gtk/EventSender.cpp: + (mouseMoveToCallback): Don't automatically replaySavedEvents for mouse motion. + (sendOrQueueEvent): Add a shouldReplaySavedEvents argument defaulting to true. + +2010-06-07 Nikolas Zimmermann + + Reviewed by Sam Weinig. + + Add CPP bindings generator + https://bugs.webkit.org/show_bug.cgi?id=38279 + + Integrate CPP bindings in run-bindings-tests. + + * Scripts/run-bindings-tests: + +2010-06-04 Tony Gentilcore + + Reviewed by Ojan Vafai. + + Rename 'svn_merge_base' -> 'remote_merge_base'. This was left out of r60633. + https://bugs.webkit.org/show_bug.cgi?id=40183 + + * Scripts/webkitpy/tool/steps/preparechangelog.py: + +2010-06-04 Martin Robinson + + Unreviewed. + + Add my new email and IRC nick to committers.py. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-04 Kinuko Yasuda + + Unreviewed. + + Revert changes in json_results_generator.py's _get_svn_revision. + + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + +2010-06-04 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] GtkLauncher should support relative file paths + https://bugs.webkit.org/show_bug.cgi?id=39944 + + Allow GtkLauncher to handle relative file paths passed via command-line arguments. + + * GtkLauncher/main.c: + (filename_to_url): Added. + (main): Try to resolve arguments as relative file URLs first. + +2010-06-04 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] EventSender should call gtk_main_do_event instead of invoking signal handlers directly + https://bugs.webkit.org/show_bug.cgi?id=40182 + + Instead of invoking signal handlers directly via g_signal_emit_by_name, call + gtk_main_do_event. This will allow us to call gtk_get_current_event() in WebKit + without breaking DRT. + + * DumpRenderTree/gtk/EventSender.cpp: + (dispatchEvent): Use gtk_main_do_event instead of invoking signal handlers directly. + (keyDownCallback): Use dispatchEvent here which now uses gtk_main_do_event. + +2010-06-04 Anders Carlsson + + Reviewed by David Hyatt. + + Make the editing/spelling/context-menu-suggestions.html test more robust + https://bugs.webkit.org/show_bug.cgi?id=40178 + + Change the contextClick method to return an array of strings describing the context menu items. + + * DumpRenderTree/mac/EventSendingController.mm: + (+[EventSendingController isSelectorExcludedFromWebScript:]): + (+[EventSendingController webScriptNameForSelector:]): + (-[EventSendingController contextClick]): + +2010-06-03 Kinuko Yasuda + + Reviewed by Shinichiro Hamaji. + + Clean up chromium-specific code from json_results_generator.py. + https://bugs.webkit.org/show_bug.cgi?id=39665 + + * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: + * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: + * Scripts/webkitpy/layout_tests/port/base.py: + * Scripts/webkitpy/layout_tests/port/chromium.py: + +2010-06-04 Tony Gentilcore + + Reviewed by Adam Barth. + + Utilize new takeFirst() method where appropriate. + https://bugs.webkit.org/show_bug.cgi?id=40089 + + * DumpRenderTree/chromium/EventSender.cpp: + (EventSender::replaySavedEvents): + * DumpRenderTree/chromium/LayoutTestController.cpp: + (LayoutTestController::WorkQueue::processWork): + (LayoutTestController::WorkQueue::reset): + +2010-06-04 Yael Aharon + + Reviewed by Simon Hausmann. + + [Qt] QtTestLauncher should allow notifications by default. + https://bugs.webkit.org/show_bug.cgi?id=40078 + + * QtTestBrowser/main.cpp: + (NotificationsPermissionController::NotificationsPermissionController): + (NotificationsPermissionController::checkPermission): + (NotificationsPermissionController::requestPermission): + (LauncherWindow::LauncherWindow): + +2010-06-04 Tony Gentilcore + + Reviewed by Adam Barth. + + Detect whether the user's environment can open a browser. + https://bugs.webkit.org/show_bug.cgi?id=40136 + + Some environments like cygwin silently fail webbrowser.open() causing + webkit-patch upload not to display any diff. This detects environments + where webbrowser.open() would fail by testing if webbrowser.get() + raises an exception. + + * Scripts/webkitpy/common/system/user.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/confirmdiff.py: + +2010-06-03 Tony Gentilcore + + Reviewed by David Levin. + + Add dependencies required to link with VS Express 2005. + https://bugs.webkit.org/show_bug.cgi?id=40038 + + Visual Studio implicitly links against these libs. + VC++ Express does not. + + * WebKitAPITest/WebKitAPITestCommon.vsprops: + * WinLauncher/WinLauncher.vcproj: + +2010-06-03 Fumitoshi Ukai + + Reviewed by David Levin. + + bad codecs.open in webkitpy/layout_tests/ports/websocket_server.py + https://bugs.webkit.org/show_bug.cgi?id=40105 + + * Scripts/webkitpy/layout_tests/port/websocket_server.py: + - kill pywebsocket process when url is not alive and the process is not + terminated, not to leave pywebsocket server running. + - fix codecs.open parameters. + +2010-06-03 Fumitoshi Ukai + + Reviewed by Alexey Proskuryakov. + + old-run-webkit-tests should use ensure-valid-python to check if it can run the websockets tests + https://bugs.webkit.org/show_bug.cgi?id=39058 + + * Scripts/ensure-valid-python: + - Perl 5.8 doesn't have File::Temp->newdir(). Use File::Temp->tempdir() instead. + - Add --check-only and --help option. + - --check-only option only checks python version and don't try to install Python 2.5. + - Set executable bit. + * Scripts/old-run-webkit-tests: + - Check if it can run the websocket tests by calling ensure-valid-python --check-only. + +2010-05-14 Ojan Vafai + + Reviewed by Adam Barth. + + add a RietveldUploadQueue to upload in-rietveld? patches to rietveld + https://bugs.webkit.org/show_bug.cgi?id=38918 + + Patches with in-rietveld? get uploaded to rietveld and get marked + in-rietveld+. If the upload fails, they are marked in-rietveld- + and an error is logged to the bug, like the commit-queue. + + Also, get rid of --fancy-review and the ability to upload to rietveld + using webkit-patch upload/post. + + * Scripts/webkitpy/common/net/bugzilla.py: + * Scripts/webkitpy/common/net/bugzilla_unittest.py: + * Scripts/webkitpy/tool/commands/download.py: + * Scripts/webkitpy/tool/commands/download_unittest.py: + * Scripts/webkitpy/tool/commands/queues.py: + * Scripts/webkitpy/tool/commands/queues_unittest.py: + * Scripts/webkitpy/tool/commands/upload.py: + * Scripts/webkitpy/tool/commands/upload_unittest.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/options.py: + * Scripts/webkitpy/tool/steps/postcodereview.py: + +2010-05-24 Ojan Vafai + + Reviewed by Chris Jerdonek. + + many webkit-patch commands fail in a non-svn tracking git checkout + https://bugs.webkit.org/show_bug.cgi?id=38156 + + If the svn-tracking-branch (trunk) doesn't exist, fallback to the git remote-tracking-branch (master). + If neither exists, then error out. This makes webkit-patch work + for anyone that follows the intructions at http://trac.webkit.org/wiki/UsingGitWithWebKit + to checkout webkit. The fallback to master is for people who don't + do the steps on that page for tracking svn. + + * Scripts/webkitpy/common/checkout/scm.py: + * Scripts/webkitpy/common/checkout/scm_unittest.py: + +2010-06-03 Mike Fenton + + Unreviewed. + + Reverse e-mail for myself in committers.py to correspond with bugzilla account. + + * Scripts/webkitpy/common/config/committers.py: + +2010-06-03 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: a number of fixes that make InspectorController + happy with null redirects. + + https://bugs.webkit.org/show_bug.cgi?id=40109 + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (runTest): + * DumpRenderTree/mac/DumpRenderTree.mm: + (runTest): + * DumpRenderTree/win/DumpRenderTree.cpp: + (runTest): + +2010-06-02 Tasuku Suzuki + + Reviewed by Shinichiro Hamaji. + + [Qt] Fix compilation with QT_NO_PROPERTIES + https://bugs.webkit.org/show_bug.cgi?id=38324 + + * QtTestBrowser/main.cpp: + (LauncherWindow::init): + +2010-06-02 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make possible run DRT with QGraphicsWebView + https://bugs.webkit.org/show_bug.cgi?id=40016 + + Make possible to use a environment variable for switching backend. + Usage: QT_DRT_WEBVIEW_MODE=graphics WebKitTools/Scripts/run-webkit-tests --qt + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebViewGraphicsBased::WebViewGraphicsBased): + (WebCore::DumpRenderTree::DumpRenderTree): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + (WebCore::DumpRenderTree::setGraphicsBased): + (WebCore::DumpRenderTree::isGraphicsBased): + (WebCore::WebViewGraphicsBased::graphicsView): + (WebCore::WebViewGraphicsBased::setPage): + * Scripts/old-run-webkit-tests: + +2010-06-02 Csaba Osztrogonác + + Reviewed by Eric Seidel. + + Slave lost shouldn't be recognized as build failed. + https://bugs.webkit.org/show_bug.cgi?id=39282 + + * Scripts/webkitpy/common/net/buildbot.py: Treat slave lost as green. + * Scripts/webkitpy/common/net/buildbot_unittest.py: Add unit test for slave lost. + +2010-06-01 Yael Aharon + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Fix the lifecycle of notification objects + https://bugs.webkit.org/show_bug.cgi?id=40003 + + Remove the dependency of notifications on QWebPage. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::requestPermissionCallback): + (WebCore::WebPage::WebPage): + (WebCore::DumpRenderTree::requestPermission): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + +2010-06-02 Sheriff Bot + + Unreviewed, rolling out r60559. + http://trac.webkit.org/changeset/60559 + https://bugs.webkit.org/show_bug.cgi?id=40055 + + It broke python unit test (Requested by Ossy on #webkit). + + * Scripts/webkitpy/common/net/buildbot.py: + +2010-06-02 Csaba Osztrogonác + + Reviewed by Eric Seidel. + + Slave lost shouldn't be recognized as build failed. + https://bugs.webkit.org/show_bug.cgi?id=39282 + + * Scripts/webkitpy/common/net/buildbot.py: + +2010-06-02 Tony Gentilcore + + Reviewed by Eric Seidel. + + Fix crash caused when assigned_to is disabled + https://bugs.webkit.org/show_bug.cgi?id=40039 + + * Scripts/webkitpy/common/net/bugzilla.py: + +2010-06-02 Sterling Swigart + + Reviewed by David Levin. + + Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches. + https://bugs.webkit.org/show_bug.cgi?id=39906 + + * Scripts/build-webkit: + +2010-06-01 Raine Makelainen + + Reviewed by Simon Hausmann. + + Fixed tests to use QWebSettings::JavascriptCanAccessClipboard instead of QWebSettings::JavaScriptCanAccessClipboard. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::WebPage::WebPage): + (WebCore::WebPage::resetSettings): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setJavaScriptCanAccessClipboard): + +2010-06-01 Alexey Proskuryakov + + Reviewed by Mark Rowe. + + A nicer Tiger build fix. + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: + * DumpRenderTree/mac/Configurations/Base.xcconfig: + Enable GCC_OBJC_CALL_CXX_CDTORS via .xcconfig. + +2010-06-01 Alexey Proskuryakov + + A real Tiger build fix. + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Enable GCC_OBJC_CALL_CXX_CDTORS + for all configurations, not just debug. + +2010-06-01 Alexey Proskuryakov + + Tiger build fix. + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Enable GCC_OBJC_CALL_CXX_CDTORS. + +2010-06-01 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Get more mouse tests passing + https://bugs.webkit.org/show_bug.cgi?id=39040 + + Reproduce the logic from the Windows EventSender for mapping + button numbers to GDK button numbers. Move this logic to the + prepareMouseButtonEvent helper. + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): Reproduce Windows logic. + (contextClickCallback): Move mapping logic to prepareMouseButtonEvent. + (mouseDownCallback): Ditto. + (mouseUpCallback): Ditto. + +2010-06-01 Alexey Proskuryakov + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=39434 + REGRESSION (r59811): Geolocation callbacks cannot be created + + * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added MockGeolocationProvider. + + * DumpRenderTree/mac/DumpRenderTree.mm: + (createWebViewAndOffscreenWindow): Tell the view to use MockGeolocationProvider. + (resetWebViewToConsistentStateBeforeTesting): Make sure that mock notifications don't leak + into subsequent tests. + + * DumpRenderTree/mac/LayoutTestControllerMac.mm: + (LayoutTestController::setMockGeolocationPosition): Changed to use MockGeolocationProvider. + (LayoutTestController::setMockGeolocationError): Ditto. + + * DumpRenderTree/mac/MockGeolocationProvider.h: Added. + * DumpRenderTree/mac/MockGeolocationProvider.mm: Added. + (+[MockGeolocationProvider shared]): + (-[MockGeolocationProvider dealloc]): + (-[MockGeolocationProvider setPosition:]): + (-[MockGeolocationProvider setError:]): + (-[MockGeolocationProvider registerWebView:]): + (-[MockGeolocationProvider unregisterWebView:]): + (-[MockGeolocationProvider lastPosition]): + (-[MockGeolocationProvider stopTimer]): + (-[MockGeolocationProvider timerFired]): + + * DumpRenderTree/mac/UIDelegate.mm: + (-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]): + This delegate method must send a response. I'm not sure what the two-stage check is supposed + to achieve, it seems unnecessary. + +2010-05-12 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Double clicks cause three button press events + https://bugs.webkit.org/show_bug.cgi?id=38853 + + WebKit now filters the extra GDK_BUTTON_PRESS before GDK_2BUTTON_PRESS + and GDK_3BUTTON_PRESS via gdk_event_peek(). Since EventSender bypasses + the GDK event queue entirely, we simply do not send the extra event. + + * DumpRenderTree/gtk/EventSender.cpp: + (mouseDownCallback): Do not send extra event. Send GDK_3BUTTON_PRESS appropriately. + (dispatchEvent): Properly handle GDK_3BUTTON_PRESS. + +2010-06-01 Martin Robinson + + Not reviewed. Build fix. + + Fix GTK+ build caused by a bad merge. + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): Use the GdkEvent union as a pointer here. + +2010-06-01 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Double clicks cause three button press events + https://bugs.webkit.org/show_bug.cgi?id=38853 + + Small EventSender cleanups. Consolidate some common code. Style fixes. + + * DumpRenderTree/gtk/EventSender.cpp: + (prepareMouseButtonEvent): Added. + (contextClickCallback): Use prepareMouseButtonEvent. + (mouseDownCallback): Use prepareMouseButtonEvent. + (mouseUpCallback): Use prepareMouseButtonEvent. + (mouseMoveToCallback): Small style fix. + +2010-06-01 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Double clicks cause three button press events + https://bugs.webkit.org/show_bug.cgi?id=38853 + + Add rudimentary leapForward support to the GTK+ DRT. leapForward allows a test + to pause for a specified amount of time. It is used in the processing of drag- + -and-drop data as well as to separate distinct mouse double-clicks in some tests. + This patch enables tests that rely on the latter behavior to pass. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (webViewWindowObjectCleared): Only initialize the EventSender when loading the top frame. + * DumpRenderTree/gtk/EventSender.cpp: + (leapForwardCallback): Add support for adjusting the time offset on leapForward(). + (contextClickCallback): Use sendOrQueueEvent. + (updateClickCount): Take the time offset into account when counting clicks. + (mouseDownCallback): Use sendOrQueueEvent. + (getStateFlags): Change down/currentEventButton into buttonCurrentlyDown/lastClickButton. + (mouseUpCallback): Use sendOrQueueEvent. + (mouseMoveToCallback): Ditto. + (mouseWheelToCallback): Ditto. + (sendOrQueueEvent): Added. + (dispatchEvent): Added. + (replaySavedEvents): Pause when an event has a delay and defer to dispatchEvent. + (makeEventSender): Only initialize the EventSender when loading the top frame. + * DumpRenderTree/gtk/EventSender.h: Ditto. + +2010-06-01 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] css1/color_and_background/background_attachment.html fails on the 32-bit debug bot + https://bugs.webkit.org/show_bug.cgi?id=39101 + + Work around timing issues for render tree dumps by pumping the + main loop before doing the dump. Resize events are asynchronous + in GTK+, so sometimes resize requests are still pending when DRT + dumps the tree. + + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (dump): Pump the main loop before dumping the render tree. + +2010-05-31 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Fix crash of a test after another test with multiple windows + https://bugs.webkit.org/show_bug.cgi?id=39942 + + If a test opens multiple windows, focuses on non-main window, and + the focused window is closed, TestShell::m_focusedWidget points a + deleted object. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::closeWindow): Clear m_focusedWidget. + +2010-05-30 Kent Tamura + + Reviewed by Dimitri Glazkov. + + new-run-webkit-tests: Support DRT on Chromium-win + https://bugs.webkit.org/show_bug.cgi?id=39810 + + Add --test-shell flag to DRT/Chromium, and it changes DRT so that + it behaves like test_shell about command analysis, printing + format, pixel dumping, and timeout handling. + + chromium.py and chromium_win.py supports the --test-shell flag and + DRT/Chromium-win binary names. + + * DumpRenderTree/DumpRenderTree.gypi: Add new files. + * DumpRenderTree/chromium/DumpRenderTree.cpp: + (runTest): Support for test_shell-style command. + (main): Introduce --test-shell. + * DumpRenderTree/chromium/TestEventPrinter.cpp: Added. + * DumpRenderTree/chromium/TestEventPrinter.h: Added. + TestEventPrinter class manages stdio output and image output. + TestEventPrinter.cpp has two implementations; DRTPrinter and + TestShellPrinter. + * DumpRenderTree/chromium/TestShell.cpp: + Some changes for TestEventPrinter. + (TestShell::TestShell): + (TestShell::runFileTest): + (TestShell::testTimedOut): + (TestShell::dump): + (TestShell::dumpImage): + * DumpRenderTree/chromium/TestShell.h: + (TestShell::printer): + (TestShell::layoutTestTimeout): + (TestShell::layoutTestTimeoutForWatchDog): + (TestShell::setLayoutTestTimeout): + * DumpRenderTree/chromium/TestShellWin.cpp: + (watchDogThread): Use TestShell::layoutTestTimeoutForWatchDog(). + * Scripts/webkitpy/layout_tests/port/chromium.py: + * Scripts/webkitpy/layout_tests/port/chromium_win.py: + +2010-05-30 Robert Hogan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Enhance Qt DRT implementation to support platform scroll wheel events. + + https://bugs.webkit.org/show_bug.cgi?id=36004 + + * DumpRenderTree/qt/EventSenderQt.cpp: + (EventSender::EventSender): QApplication::setWheelScrollLines(2) in order to match + Scrollbar::pixelsPerLineStep() for DRT testing. + (EventSender::mouseScrollBy): Added + (EventSender::continuousMouseScrollBy): Added + * DumpRenderTree/qt/EventSenderQt.h: + +2010-05-28 Adam Barth + + Reviewed by David Levin. + + webkit-patch should support CHANGE_LOG_EDIT_APPLICATION + https://bugs.webkit.org/show_bug.cgi?id=39546 + + One sublty is that we want to wait for the user to finish editing the + ChangeLog before moving on to the next step. That means we want to pass + -W to open. However, if the user is using Xcode to edit the ChangeLog, + we don't want them to have to exit the Xcode application. For this reason, + we create a new instance of the application with -n. + + Overall, xed seems like a better solution, so we recommend that too. + + * Scripts/webkitpy/common/system/user.py: + * Scripts/webkitpy/tool/mocktool.py: + * Scripts/webkitpy/tool/steps/editchangelog.py: + +2010-05-21 Dirk Pranke + + Reviewed by Ojan Vafai. + + new-run-webkit-tests: fix handling of Ctrl-C to exit even if some + threads are wedged. Also, the script will print the results of the + tests completed when the interrupt occurs. + + https://bugs.webkit.org/show_bug.cgi?id=33238 + + * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: + * Scripts/webkitpy/layout_tests/layout_package/printing.py: + * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: + * Scripts/webkitpy/layout_tests/run_webkit_tests.py: + +2010-05-28 Darin Adler + + Ignore more Python messiness. + + * Scripts/webkitpy/layout_tests/data/platform/test: Added property svn:ignore. + * Scripts/webkitpy/layout_tests/layout_package: Added property svn:ignore. + * Scripts/webkitpy/layout_tests/test_types: Added property svn:ignore. + * Scripts/webkitpy/test: Added property svn:ignore. + * Scripts/webkitpy/thirdparty/simplejson: Added property svn:ignore. + +2010-05-28 Chris Fleizach + + Reviewed by Beth Dakin. + + Adding myself as a reviewer. + + * Scripts/webkitpy/common/config/committers.py: + +2010-05-28 Chris Fleizach + + Build fix. No review. + + AX: need to catch NSAccessibilityExceptions in DRT + https://bugs.webkit.org/show_bug.cgi?id=39881 + + It looks like Tiger doesn't like seeing a NSMakeRange inside a @try. + + * DumpRenderTree/mac/AccessibilityUIElementMac.mm: + (AccessibilityUIElement::rowIndexRange): + (AccessibilityUIElement::columnIndexRange): + (AccessibilityUIElement::selectedTextRange): + +2010-05-28 Chris Fleizach + + Reviewed by Darin Adler. + + AX: need to catch NSAccessibilityExceptions in DRT + https://bugs.webkit.org/show_bug.cgi?id=39881 + + Normally, accessibility exceptions are caught in the AX Runtime on the Mac, but + because DRT is its own AX client, no one is there to catch these otherwise innocuous exceptions. + + So DRT should wrap exception handlers around its AX related calls. + + * DumpRenderTree/mac/AccessibilityUIElementMac.mm: + (attributesOfElement): + (AccessibilityUIElement::getLinkedUIElements): + (AccessibilityUIElement::getDocumentLinks): + (AccessibilityUIElement::getChildren): + (AccessibilityUIElement::getChildrenWithRange): + (AccessibilityUIElement::ariaOwnsElementAtIndex): + (AccessibilityUIElement::ariaFlowToElementAtIndex): + (AccessibilityUIElement::disclosedRowAtIndex): + (AccessibilityUIElement::selectedRowAtIndex): + (AccessibilityUIElement::titleUIElement): + (AccessibilityUIElement::parentElement): + (AccessibilityUIElement::disclosedByRow): + (AccessibilityUIElement::stringAttributeValue): + (AccessibilityUIElement::boolAttributeValue): + (AccessibilityUIElement::isAttributeSettable): + (AccessibilityUIElement::isAttributeSupported): + (AccessibilityUIElement::role): + (AccessibilityUIElement::subrole): + (AccessibilityUIElement::roleDescription): + (AccessibilityUIElement::title): + (AccessibilityUIElement::description): + (AccessibilityUIElement::orientation): + (AccessibilityUIElement::stringValue): + (AccessibilityUIElement::language): + (AccessibilityUIElement::helpText): + (AccessibilityUIElement::x): + (AccessibilityUIElement::y): + (AccessibilityUIElement::width): + (AccessibilityUIElement::height): + (AccessibilityUIElement::clickPointX): + (AccessibilityUIElement::clickPointY): + (AccessibilityUIElement::intValue): + (AccessibilityUIElement::minValue): + (AccessibilityUIElement::maxValue): + (AccessibilityUIElement::valueDescription): + (AccessibilityUIElement::insertionPointLineNumber): + (AccessibilityUIElement::isActionSupported): + (AccessibilityUIElement::isEnabled): + (AccessibilityUIElement::isRequired): + (AccessibilityUIElement::isSelected): + (AccessibilityUIElement::isExpanded): + (AccessibilityUIElement::hierarchicalLevel): + (AccessibilityUIElement::ariaIsGrabbed): + (AccessibilityUIElement::ariaDropEffects): + (AccessibilityUIElement::lineForIndex): + (AccessibilityUIElement::boundsForRange): + (AccessibilityUIElement::stringForRange): + (AccessibilityUIElement::attributesOfColumnHeaders): + (AccessibilityUIElement::attributesOfRowHeaders): + (AccessibilityUIElement::attributesOfColumns): + (AccessibilityUIElement::attributesOfRows): + (AccessibilityUIElement::attributesOfVisibleCells): + (AccessibilityUIElement::attributesOfHeader): + (AccessibilityUIElement::rowCount): + (AccessibilityUIElement::columnCount): + (AccessibilityUIElement::indexInTable): + (AccessibilityUIElement::rowIndexRange): + (AccessibilityUIElement::columnIndexRange): + (AccessibilityUIElement::cellForColumnAndRow): + (AccessibilityUIElement::selectedTextRange): + (AccessibilityUIElement::setSelectedTextRange): + (AccessibilityUIElement::increment): + (AccessibilityUIElement::decrement): + (AccessibilityUIElement::showMenu): + (AccessibilityUIElement::press): + (AccessibilityUIElement::url): + (AccessibilityUIElement::hasPopup): + +2010-05-28 Yael Aharon + + Reviewed by Laszlo Gombos. + + [Qt] Pass all web notification layout tests + https://bugs.webkit.org/show_bug.cgi?id=39146 + + Mimic Chromium's test_shell security model in Qt's DRT. + It makes a list of origins which were granted permission to display + notifications, and only those origins can display notifications. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::checkPermissionCallback): + (WebCore::requestPermissionCallback): + (WebCore::WebPage::WebPage): + (WebCore::DumpRenderTree::checkPermission): + (WebCore::DumpRenderTree::requestPermission): + * DumpRenderTree/qt/DumpRenderTreeQt.h: + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::reset): + (LayoutTestController::grantDesktopNotificationPermission): + (LayoutTestController::checkDesktopNotificationPermission): + * DumpRenderTree/qt/LayoutTestControllerQt.h: + +2010-05-27 Philippe Normand + + Reviewed by Shinichiro Hamaji. + + check-webkit-style complains about use of NULL in GTK function calls that require sentinels + https://bugs.webkit.org/show_bug.cgi?id=39372 + + Don't warn about NULL in g_*() calls. Zero can't be used instead + for calls like g_build_filename and g_object_get/set. + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-05-27 Luiz Agostini + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Platform plugin example + https://bugs.webkit.org/show_bug.cgi?id=39489 + + Exempting directory WebKit/qt/examples/ from style guide. + + * Scripts/webkitpy/style/checker.py: + +2010-05-26 Philippe Normand + + Reviewed by David Levin. + + [style] Allow usage of NULL in gst_*_many() + https://bugs.webkit.org/show_bug.cgi?id=39740 + + Don't warn if NULL is used by gst_*_many() functions. Zero can't + be used for the reason explained in Bug 32858. + + * Scripts/webkitpy/style/checkers/cpp.py: + * Scripts/webkitpy/style/checkers/cpp_unittest.py: + +2010-05-27 Adam Barth + + Reviewed by Eric Seidel. + + Update script to run the normal version of the parser tests. + + * Scripts/test-html5-parser: + +2010-05-27 Adam Barth + + Reviewed by Eric Seidel. + + Add HTML5 parser support to run-webkit-tests + https://bugs.webkit.org/show_bug.cgi?id=39815 + + * Scripts/old-run-webkit-tests: + +2010-05-26 Adam Barth + + Reviewed by Eric Seidel. + + Make HTML5 lexer not ASSERT when resuming partial parses + https://bugs.webkit.org/show_bug.cgi?id=39755 + + Add webkit-resumer.html to the HTML5 parser test suite. + + * Scripts/test-html5-parser: + +2010-05-24 Tony Chang + + Reviewed by Kent Tamura. + + [chromium] setup fonts on chromium linux DRT + https://bugs.webkit.org/show_bug.cgi?id=39644 + + * DumpRenderTree/chromium/TestShellGtk.cpp: + (setupFontconfig): + (platformInit): + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::paintRect): Fix a bug where in release builds, we didn't initialize m_canvas. + * DumpRenderTree/chromium/fonts.conf: Added. + +2010-05-24 Dirk Pranke + + Reviewed by Dimitri Glazkov. + + Re-commit r58765 - it had been rolled out to see if it was causing + a perf regression (in r59787 and r59789), but that does not seem to + have been the case. + + https://bugs.webkit.org/show_bug.cgi?id=39605 + + * DumpRenderTree/chromium/NotificationPresenter.cpp: + (NotificationPresenter::show): + +2010-05-25 Ojan Vafai + + Reviewed by Chris Jerdonek. + + remove suppression of rietveld logging + https://bugs.webkit.org/show_bug.cgi?id=39693 + + Now that we only upload to rietveld explicitly, e.g. on the bot + or via webkit-patch post-attachment-to-rietveld, we should print + all the rietveld logging. It was suppressed before to avoid making + webkit-patch upload too noisy. + + * Scripts/webkitpy/common/net/rietveld.py: + +2010-05-25 Antonio Gomes + + Reviewed by Ojan Vafai. + + [Qt] Expose the editing behavior setting in DRT to test all editing code paths + https://bugs.webkit.org/show_bug.cgi?id=39680 + + Implement LayoutTestController::setEditingBehavior in Qt's DRT. + + * DumpRenderTree/qt/DumpRenderTreeQt.cpp: + (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::setEditingBehavior): + +2010-05-25 Kevin Ollivier + + [wx] Build fix after API change and addition of WebCore/platform/text/transcoder dir. + + * DumpRenderTree/wx/LayoutTestControllerWx.cpp: + (LayoutTestController::setEditingBehavior): + * wx/build/settings.py: + +2010-05-24 Antonio Gomes + + Reviewed by Eric Seidel and Kent Tamura (for the Chromium part). + + editingBehavior settings needs to be set back to a reasonable default between tests + https://bugs.webkit.org/show_bug.cgi?id=39433 + + Similarly to r59861, hard code the default setting during reset for Gtk and Chromium, + so that the serialized version of the setting stays in sync with expectations. + + * DumpRenderTree/chromium/TestShell.cpp: + (TestShell::resetWebSettings): + * DumpRenderTree/gtk/DumpRenderTree.cpp: + (resetDefaultsToConsistentValues): + +2010-05-24 Eric Seidel + + Reviewed by Adam Barth. + + webkit-patch land calls scm.changed_files 4 times! + https://bugs.webkit.org/show_bug.cgi?id=39584 + + * Scripts/webkitpy/tool/commands/download_unittest.py: + - Assert that we don't call modified_changelogs too often. + * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py: + - Use cached changelogs list instead of calling modified_changelogs directly. + * Scripts/webkitpy/tool/steps/validatereviewer.py: + - ditto. + +2010-05-24 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Import layout_test_helper for Windows + https://bugs.webkit.org/show_bug.cgi?id=39581 + + Import Chromium win/layout_test_helper.cc as LayoutTestHelperWin.cpp. + http://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/test_shell/win/layout_test_helper.cc + + * DumpRenderTree/chromium/LayoutTestHelperWin.cpp: Added. + +2010-05-24 Kent Tamura + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Reset frame name + https://bugs.webkit.org/show_bug.cgi?id=39586 + + This change fixes about 70 unexpected results. + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::reset): + +2010-05-24 Marcus Bulach + + Reviewed by Kent Tamura. + + [chromium] Adds WebGeolocationServiceMockImpl to remove public dependency on wtf/HashMap.h + https://bugs.webkit.org/show_bug.cgi?id=39587 + + * DumpRenderTree/chromium/WebViewHost.cpp: + (WebViewHost::geolocationService): + +2010-05-24 Robert Hogan + + Reviewed by Laszlo Gombos. + + [Qt] DRT Support for removeOriginAccessWhitelistEntry + + Unskips http/tests/xmlhttprequest/origin-whitelisting-removal.html + + [Qt] DRT Support for removeOriginAccessWhitelistEntry + https://bugs.webkit.org/show_bug.cgi?id=39565 + + * DumpRenderTree/qt/LayoutTestControllerQt.cpp: + (LayoutTestController::removeOriginAccessWhitelistEntry): + +2010-05-24 Marcus Bulach + + Reviewed by Ojan Vafai. + + _svn_branch_has_extra_commits needs to check for ^HEAD instead of ^head. + https://bugs.webkit.org/show_bug.cgi?id=39603 + + * Scripts/webkitpy/common/checkout/scm.py: + +== Rolled over to ChangeLog-2010-05-24 == diff --git a/Tools/DumpRenderTree/DumpRenderTree.gypi b/Tools/DumpRenderTree/DumpRenderTree.gypi index 3c3384d..a3f0520 100644 --- a/Tools/DumpRenderTree/DumpRenderTree.gypi +++ b/Tools/DumpRenderTree/DumpRenderTree.gypi @@ -11,8 +11,6 @@ 'chromium/CppVariant.h', 'chromium/DRTDevToolsAgent.cpp', 'chromium/DRTDevToolsAgent.h', - 'chromium/DRTDevToolsCallArgs.cpp', - 'chromium/DRTDevToolsCallArgs.h', 'chromium/DRTDevToolsClient.cpp', 'chromium/DRTDevToolsClient.h', 'chromium/DumpRenderTree.cpp', @@ -54,6 +52,7 @@ 'TestNetscapePlugIn/TestObject.h', 'TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp', 'TestNetscapePlugIn/Tests/EvaluateJSAfterRemovingPluginElement.cpp', + 'TestNetscapePlugIn/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp', 'TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp', 'TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp', 'TestNetscapePlugIn/Tests/NPRuntimeRemoveProperty.cpp', diff --git a/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj b/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj index 34ff710..000d83a 100644 --- a/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj +++ b/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj @@ -36,6 +36,7 @@ 1A215A8211F2609C008AD0F5 /* PluginTest.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A215A8011F2609C008AD0F5 /* PluginTest.h */; }; 1A215BE711F27658008AD0F5 /* DocumentOpenInDestroyStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A215A7511F26072008AD0F5 /* DocumentOpenInDestroyStream.cpp */; }; 1A24BAA9120734EE00FBB059 /* NPRuntimeObjectFromDestroyedPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A24BAA8120734EE00FBB059 /* NPRuntimeObjectFromDestroyedPlugin.cpp */; }; + 1A3E28AA1311D73B00501349 /* GetURLWithJavaScriptURLDestroyingPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3E28A91311D73B00501349 /* GetURLWithJavaScriptURLDestroyingPlugin.cpp */; }; 1A8F02E80BB9B4EC008CFA34 /* TestObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8F024C0BB9B056008CFA34 /* TestObject.h */; }; 1AC6C8490D07638600CD3161 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC6C77F0D07589B00CD3161 /* main.cpp */; }; 1AC6C84A0D07638600CD3161 /* PluginObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC6C7800D07589B00CD3161 /* PluginObject.cpp */; }; @@ -205,6 +206,7 @@ 1A215A7F11F2609C008AD0F5 /* PluginTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginTest.cpp; sourceTree = ""; }; 1A215A8011F2609C008AD0F5 /* PluginTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginTest.h; sourceTree = ""; }; 1A24BAA8120734EE00FBB059 /* NPRuntimeObjectFromDestroyedPlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPRuntimeObjectFromDestroyedPlugin.cpp; sourceTree = ""; }; + 1A3E28A91311D73B00501349 /* GetURLWithJavaScriptURLDestroyingPlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GetURLWithJavaScriptURLDestroyingPlugin.cpp; sourceTree = ""; }; 1A8F024C0BB9B056008CFA34 /* TestObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestObject.h; sourceTree = ""; }; 1AC6C77F0D07589B00CD3161 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; 1AC6C7800D07589B00CD3161 /* PluginObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginObject.cpp; sourceTree = ""; }; @@ -467,6 +469,7 @@ children = ( 1A215A7511F26072008AD0F5 /* DocumentOpenInDestroyStream.cpp */, C0E720741281C828004EF533 /* EvaluateJSAfterRemovingPluginElement.cpp */, + 1A3E28A91311D73B00501349 /* GetURLWithJavaScriptURLDestroyingPlugin.cpp */, 1AD4CB2012A6D1350027A7AF /* GetUserAgentWithNullNPPFromNPPNew.cpp */, 1A24BAA8120734EE00FBB059 /* NPRuntimeObjectFromDestroyedPlugin.cpp */, 1AC77DCE120605B6005C19EF /* NPRuntimeRemoveProperty.cpp */, @@ -759,6 +762,7 @@ C0EC3C9C12787F0500939164 /* NullNPPGetValuePointer.cpp in Sources */, C0E720751281C828004EF533 /* EvaluateJSAfterRemovingPluginElement.cpp in Sources */, 1AD4CB2212A6D1350027A7AF /* GetUserAgentWithNullNPPFromNPPNew.cpp in Sources */, + 1A3E28AA1311D73B00501349 /* GetURLWithJavaScriptURLDestroyingPlugin.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Tools/DumpRenderTree/LayoutTestController.cpp b/Tools/DumpRenderTree/LayoutTestController.cpp index 29eeeb0..9f1877c 100644 --- a/Tools/DumpRenderTree/LayoutTestController.cpp +++ b/Tools/DumpRenderTree/LayoutTestController.cpp @@ -83,6 +83,7 @@ LayoutTestController::LayoutTestController(const std::string& testPathOrURL, con , m_handlesAuthenticationChallenges(false) , m_isPrinting(false) , m_deferMainResourceDataLoad(true) + , m_shouldPaintBrokenImage(true) , m_testPathOrURL(testPathOrURL) , m_expectedPixelHash(expectedPixelHash) { @@ -146,14 +147,21 @@ static JSValueRef dumpConfigurationForViewportCallback(JSContextRef context, JSO if (argumentCount < 2) return JSValueMakeUndefined(context); - double availableWidth = JSValueToNumber(context, arguments[0], exception); + + double deviceDPI = JSValueToNumber(context, arguments[0], exception); + ASSERT(!*exception); + double deviceWidth = JSValueToNumber(context, arguments[1], exception); + ASSERT(!*exception); + double deviceHeight = JSValueToNumber(context, arguments[2], exception); ASSERT(!*exception); - double availableHeight = JSValueToNumber(context, arguments[1], exception); + double availableWidth = JSValueToNumber(context, arguments[3], exception); + ASSERT(!*exception); + double availableHeight = JSValueToNumber(context, arguments[4], exception); ASSERT(!*exception); LayoutTestController* controller = static_cast(JSObjectGetPrivate(thisObject)); - controller->dumpConfigurationForViewport(static_cast(availableWidth), static_cast(availableHeight)); - + controller->dumpConfigurationForViewport(static_cast(deviceDPI), static_cast(deviceWidth), static_cast(deviceHeight), static_cast(availableWidth), static_cast(availableHeight)); + return JSValueMakeUndefined(context); } @@ -1424,6 +1432,21 @@ static JSValueRef setUserStyleSheetLocationCallback(JSContextRef context, JSObje return JSValueMakeUndefined(context); } +static JSValueRef setValueForUserCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) +{ + // Has mac implementation + if (argumentCount != 2) + return JSValueMakeUndefined(context); + + JSRetainPtr value(Adopt, JSValueToStringCopy(context, arguments[1], exception)); + ASSERT(!*exception); + + LayoutTestController* controller = static_cast(JSObjectGetPrivate(thisObject)); + controller->setValueForUser(context, arguments[0], value.get()); + + return JSValueMakeUndefined(context); +} + static JSValueRef setViewModeMediaFeatureCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { // Has mac implementation @@ -1780,6 +1803,18 @@ static JSValueRef addUserStyleSheetCallback(JSContextRef context, JSObjectRef, J return JSValueMakeUndefined(context); } +static JSValueRef setShouldPaintBrokenImageCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) +{ + // Has Mac implementation + if (argumentCount < 1) + return JSValueMakeUndefined(context); + + LayoutTestController* controller = static_cast(JSObjectGetPrivate(thisObject)); + controller->setShouldPaintBrokenImage(JSValueToBoolean(context, arguments[0])); + + return JSValueMakeUndefined(context); +} + static JSValueRef apiTestNewWindowDataLoadBaseURLCallback(JSContextRef context, JSObjectRef, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { if (argumentCount != 2) @@ -1926,6 +1961,20 @@ static bool setGlobalFlagCallback(JSContextRef context, JSObjectRef thisObject, return true; } +static JSValueRef setMinimumTimerIntervalCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) +{ + if (argumentCount < 1) + return JSValueMakeUndefined(context); + + double minimum = JSValueToNumber(context, arguments[0], exception); + ASSERT(!*exception); + + LayoutTestController* controller = static_cast(JSObjectGetPrivate(thisObject)); + controller->setMinimumTimerInterval(minimum); + + return JSValueMakeUndefined(context); +} + static void layoutTestControllerObjectFinalize(JSObjectRef object) { LayoutTestController* controller = static_cast(JSObjectGetPrivate(object)); @@ -2073,6 +2122,7 @@ JSStaticFunction* LayoutTestController::staticFunctions() { "setIconDatabaseEnabled", setIconDatabaseEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setJavaScriptProfilingEnabled", setJavaScriptProfilingEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setMainFrameIsFirstResponder", setMainFrameIsFirstResponderCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, + { "setMinimumTimerInterval", setMinimumTimerIntervalCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setMockDeviceOrientation", setMockDeviceOrientationCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setMockGeolocationError", setMockGeolocationErrorCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setMockGeolocationPosition", setMockGeolocationPositionCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, @@ -2094,6 +2144,7 @@ JSStaticFunction* LayoutTestController::staticFunctions() { "setUseDashboardCompatibilityMode", setUseDashboardCompatibilityModeCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setUserStyleSheetEnabled", setUserStyleSheetEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setUserStyleSheetLocation", setUserStyleSheetLocationCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, + { "setValueForUser", setValueForUserCallback, kJSPropertyAttributeDontDelete }, { "setViewModeMediaFeature", setViewModeMediaFeatureCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setWebViewEditable", setWebViewEditableCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setWillSendRequestClearHeader", setWillSendRequestClearHeaderCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, @@ -2112,6 +2163,7 @@ JSStaticFunction* LayoutTestController::staticFunctions() { "addOriginAccessWhitelistEntry", addOriginAccessWhitelistEntryCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "setScrollbarPolicy", setScrollbarPolicyCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "authenticateSession", authenticateSessionCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, + { "setShouldPaintBrokenImage", setShouldPaintBrokenImageCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { 0, 0, 0 } }; @@ -2201,5 +2253,10 @@ const std::string& LayoutTestController::redirectionDestinationForURL(std::strin return m_URLsToRedirect[origin]; } +void LayoutTestController::setShouldPaintBrokenImage(bool shouldPaintBrokenImage) +{ + m_shouldPaintBrokenImage = shouldPaintBrokenImage; +} + const unsigned LayoutTestController::maxViewWidth = 800; const unsigned LayoutTestController::maxViewHeight = 600; diff --git a/Tools/DumpRenderTree/LayoutTestController.h b/Tools/DumpRenderTree/LayoutTestController.h index 11558dd..4b1c04e 100644 --- a/Tools/DumpRenderTree/LayoutTestController.h +++ b/Tools/DumpRenderTree/LayoutTestController.h @@ -111,6 +111,7 @@ public: void setUseDashboardCompatibilityMode(bool flag); void setUserStyleSheetEnabled(bool flag); void setUserStyleSheetLocation(JSStringRef path); + void setValueForUser(JSContextRef, JSValueRef nodeObject, JSStringRef value); void setViewModeMediaFeature(JSStringRef mode); void setXSSAuditorEnabled(bool flag); void setFrameFlatteningEnabled(bool enable); @@ -291,8 +292,8 @@ public: bool hasSpellingMarker(int from, int length); - void dumpConfigurationForViewport(int availableWidth, int availableHeight); - + void dumpConfigurationForViewport(int deviceDPI, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight); + static void setSerializeHTTPLoads(bool serialize); // The following API test functions should probably be moved to platform-specific @@ -307,9 +308,14 @@ public: JSRetainPtr markerTextForListItem(JSContextRef context, JSValueRef nodeObject) const; + void setShouldPaintBrokenImage(bool); + bool shouldPaintBrokenImage() const { return m_shouldPaintBrokenImage; } + static const unsigned maxViewWidth; static const unsigned maxViewHeight; + void setMinimumTimerInterval(double); + private: LayoutTestController(const std::string& testPathOrURL, const std::string& expectedPixelHash); @@ -356,6 +362,7 @@ private: bool m_handlesAuthenticationChallenges; bool m_isPrinting; bool m_deferMainResourceDataLoad; + bool m_shouldPaintBrokenImage; std::string m_authenticationUsername; std::string m_authenticationPassword; diff --git a/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp b/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp index 0dd9da6..23120c4 100644 --- a/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp +++ b/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp @@ -79,11 +79,21 @@ NPError PluginTest::NPP_SetWindow(NPP, NPWindow*) return NPERR_NO_ERROR; } +int16_t PluginTest::NPP_HandleEvent(void*) +{ + return 0; +} + void PluginTest::NPN_InvalidateRect(NPRect* invalidRect) { browser->invalidaterect(m_npp, invalidRect); } +NPError PluginTest::NPN_GetURL(const char* url, const char* target) +{ + return browser->geturl(m_npp, url, target); +} + NPIdentifier PluginTest::NPN_GetStringIdentifier(const NPUTF8 *name) { return browser->getstringidentifier(name); diff --git a/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.h b/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.h index 2c06079..7c3a53e 100644 --- a/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.h +++ b/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.h @@ -60,8 +60,11 @@ public: virtual NPError NPP_DestroyStream(NPStream* stream, NPReason reason); virtual NPError NPP_GetValue(NPPVariable, void* value); virtual NPError NPP_SetWindow(NPP, NPWindow*); + virtual int16_t NPP_HandleEvent(void* event); // NPN functions. + NPError NPN_GetURL(const char* url, const char* target); + void NPN_InvalidateRect(NPRect* invalidRect); NPIdentifier NPN_GetStringIdentifier(const NPUTF8* name); NPIdentifier NPN_GetIntIdentifier(int32_t intid); diff --git a/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp b/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp new file mode 100644 index 0000000..9d63198 --- /dev/null +++ b/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "PluginTest.h" + +using namespace std; + +// From NPP_New, call NPN_GetURL to evaluate JavaScript that destroys the plug-in. + +class GetURLWithJavaScriptURLDestroyingPlugin : public PluginTest { +public: + GetURLWithJavaScriptURLDestroyingPlugin(NPP npp, const string& identifier) + : PluginTest(npp, identifier) + { + } + +private: + + virtual NPError NPP_New(NPMIMEType pluginType, uint16_t mode, int16_t argc, char *argn[], char *argv[], NPSavedData *saved) + { + NPN_GetURL("javascript:removePlugin()", 0); + return NPERR_NO_ERROR; + } +}; + +static PluginTest::Register getURLWithJavaScriptURLDestroyingPlugin("get-url-with-javascript-url-destroying-plugin"); diff --git a/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/win/WindowlessPaintRectCoordinates.cpp b/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/win/WindowlessPaintRectCoordinates.cpp new file mode 100644 index 0000000..ffc92ea --- /dev/null +++ b/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/win/WindowlessPaintRectCoordinates.cpp @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "PluginTest.h" + +#include "PluginObject.h" + +using namespace std; + +// The rect passed in the WM_PAINT event for a windowless plugin should be relative to the page's +// HWND and clipped to the plugin's bounds. + +class WindowlessPaintRectCoordinates : public PluginTest { +public: + WindowlessPaintRectCoordinates(NPP, const string& identifier); + +private: + virtual NPError NPP_New(NPMIMEType, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData*); + virtual int16_t NPP_HandleEvent(void* event); +}; + +static PluginTest::Register registrar("windowless-paint-rect-coordinates"); + +WindowlessPaintRectCoordinates::WindowlessPaintRectCoordinates(NPP npp, const string& identifier) + : PluginTest(npp, identifier) +{ +} + +NPError WindowlessPaintRectCoordinates::NPP_New(NPMIMEType, uint16_t, int16_t, char*[], char*[], NPSavedData*) +{ + browser->setvalue(m_npp, NPPVpluginWindowBool, 0); + return NPERR_NO_ERROR; +} + +int16_t WindowlessPaintRectCoordinates::NPP_HandleEvent(void* typelessEvent) +{ + NPEvent* event = static_cast(typelessEvent); + if (!event) { + pluginLog(m_npp, "NPP_HandleEvent was passed a null event pointer"); + return 0; + } + + if (event->event != WM_PAINT) + return 0; + + RECT* paintRect = reinterpret_cast(event->lParam); + if (!paintRect) { + pluginLog(m_npp, "A null paint rect was passed in the WM_PAINT event"); + return 1; + } + + // Keep these values in sync with windowless-paint-rect-coordinates.html. + RECT expectedRect = { 100, 100, 200, 200 }; + + if (::EqualRect(paintRect, &expectedRect)) + pluginLog(m_npp, "Success"); + else + pluginLog(m_npp, "Expected paint rect {left=%d, top=%d, right=%d, bottom=%d}, but got {left=%d, top=%d, right=%d, bottom=%d}", expectedRect.left, expectedRect.top, expectedRect.right, expectedRect.bottom, paintRect->left, paintRect->top, paintRect->right, paintRect->bottom); + + return 1; +} diff --git a/Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp b/Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp index 7635a09..b523fcb 100644 --- a/Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp +++ b/Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp @@ -697,6 +697,9 @@ int16_t NPP_HandleEvent(NPP instance, void *event) { PluginObject* obj = static_cast(instance->pdata); + if (obj->pluginTest->NPP_HandleEvent(event) == 1) + return 1; + #ifdef XP_MACOSX #ifndef NP_NO_CARBON if (obj->eventModel == NPEventModelCarbon) diff --git a/Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj b/Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj index 11c9723..58a0a1f 100644 --- a/Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj +++ b/Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj @@ -398,6 +398,10 @@ > + + @@ -441,6 +445,10 @@ > + + diff --git a/Tools/DumpRenderTree/chromium/AccessibilityController.cpp b/Tools/DumpRenderTree/chromium/AccessibilityController.cpp index 5601d9d..fc8855a 100644 --- a/Tools/DumpRenderTree/chromium/AccessibilityController.cpp +++ b/Tools/DumpRenderTree/chromium/AccessibilityController.cpp @@ -41,7 +41,8 @@ using namespace WebKit; AccessibilityController::AccessibilityController(TestShell* shell) - : m_shell(shell) + : m_dumpAccessibilityNotifications(false) + , m_shell(shell) { bindMethod("dumpAccessibilityNotifications", &AccessibilityController::dumpAccessibilityNotifications); diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp b/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp index 78c86e7..76aa781 100644 --- a/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp +++ b/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp @@ -31,12 +31,10 @@ #include "config.h" #include "DRTDevToolsAgent.h" -#include "DRTDevToolsCallArgs.h" #include "DRTDevToolsClient.h" #include "WebCString.h" #include "WebDevToolsAgent.h" -#include "WebString.h" #include "WebView.h" #include "webkit/support/webkit_support.h" @@ -63,13 +61,13 @@ void DRTDevToolsAgent::setWebView(WebView* webView) m_webView = webView; } -void DRTDevToolsAgent::sendMessageToInspectorFrontend(const WebKit::WebString& data) +void DRTDevToolsAgent::sendMessageToInspectorFrontend(const WebString& data) { if (m_drtDevToolsClient) - m_drtDevToolsClient->asyncCall(DRTDevToolsCallArgs(data)); + m_drtDevToolsClient->asyncCall(data); } -void DRTDevToolsAgent::runtimePropertyChanged(const WebKit::WebString& name, const WebKit::WebString& value) +void DRTDevToolsAgent::runtimePropertyChanged(const WebString& name, const WebString& value) { // FIXME: Implement. } @@ -84,18 +82,16 @@ WebDevToolsAgentClient::WebKitClientMessageLoop* DRTDevToolsAgent::createClientM return webkit_support::CreateDevToolsMessageLoop(); } -void DRTDevToolsAgent::asyncCall(const DRTDevToolsCallArgs& args) +void DRTDevToolsAgent::asyncCall(const WebString& args) { postTask(new AsyncCallTask(this, args)); } -void DRTDevToolsAgent::call(const DRTDevToolsCallArgs &args) +void DRTDevToolsAgent::call(const WebString& args) { WebDevToolsAgent* agent = webDevToolsAgent(); if (agent) - agent->dispatchOnInspectorBackend(args.m_data); - if (DRTDevToolsCallArgs::callsCount() == 1 && m_drtDevToolsClient) - m_drtDevToolsClient->allMessagesProcessed(); + agent->dispatchOnInspectorBackend(args); } void DRTDevToolsAgent::delayedFrontendLoaded() diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h b/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h index 665435c..4cbc8bc 100644 --- a/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h +++ b/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h @@ -31,9 +31,9 @@ #ifndef DRTDevToolsAgent_h #define DRTDevToolsAgent_h -#include "DRTDevToolsCallArgs.h" #include "Task.h" #include "WebDevToolsAgentClient.h" +#include "WebString.h" #include #include @@ -41,7 +41,6 @@ namespace WebKit { class WebCString; class WebDevToolsAgent; -class WebString; class WebView; struct WebDevToolsMessageData; @@ -65,7 +64,7 @@ public: virtual WebKit::WebCString debuggerScriptSource(); virtual WebKitClientMessageLoop* createClientMessageLoop(); - void asyncCall(const DRTDevToolsCallArgs&); + void asyncCall(const WebKit::WebString& args); void attach(DRTDevToolsClient*); void detach(); @@ -76,18 +75,18 @@ public: TaskList* taskList() { return &m_taskList; } private: - void call(const DRTDevToolsCallArgs&); + void call(const WebKit::WebString& args); void delayedFrontendLoaded(); static void dispatchMessageLoop(); WebKit::WebDevToolsAgent* webDevToolsAgent(); class AsyncCallTask: public MethodTask { public: - AsyncCallTask(DRTDevToolsAgent* object, const DRTDevToolsCallArgs& args) + AsyncCallTask(DRTDevToolsAgent* object, const WebKit::WebString& args) : MethodTask(object), m_args(args) {} virtual void runIfValid() { m_object->call(m_args); } private: - DRTDevToolsCallArgs m_args; + WebKit::WebString m_args; }; struct DelayedFrontendLoadedTask: public MethodTask { diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.cpp b/Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.cpp deleted file mode 100644 index dacd6f7..0000000 --- a/Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#include "DRTDevToolsCallArgs.h" - -// static -int DRTDevToolsCallArgs::m_callsCount = 0; - diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h b/Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h deleted file mode 100644 index a548159..0000000 --- a/Tools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef DRTDevToolsCallArgs_h -#define DRTDevToolsCallArgs_h - -#include "WebString.h" -#include - -class DRTDevToolsCallArgs { -public: - DRTDevToolsCallArgs(const WebKit::WebString& data) - : m_data(data) - { - ++m_callsCount; - } - - DRTDevToolsCallArgs(const DRTDevToolsCallArgs& args) - : m_data(args.m_data) - { - ++m_callsCount; - } - - ~DRTDevToolsCallArgs() - { - --m_callsCount; - ASSERT(m_callsCount >= 0); - } - - static int callsCount() { return m_callsCount; } - - WebKit::WebString m_data; - -private: - static int m_callsCount; -}; - -#endif // DRTDevToolsCallArgs_h diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsClient.cpp b/Tools/DumpRenderTree/chromium/DRTDevToolsClient.cpp index acccf18..27f0091 100644 --- a/Tools/DumpRenderTree/chromium/DRTDevToolsClient.cpp +++ b/Tools/DumpRenderTree/chromium/DRTDevToolsClient.cpp @@ -32,13 +32,11 @@ #include "DRTDevToolsClient.h" #include "DRTDevToolsAgent.h" -#include "DRTDevToolsCallArgs.h" #include "WebDevToolsAgent.h" #include "WebDevToolsFrontend.h" #include "WebFrame.h" #include "WebScriptSource.h" -#include "WebString.h" #include "WebView.h" #include "webkit/support/webkit_support.h" @@ -76,7 +74,7 @@ void DRTDevToolsClient::sendFrontendLoaded() { void DRTDevToolsClient::sendMessageToBackend(const WebString& data) { if (m_drtDevToolsAgent) - m_drtDevToolsAgent->asyncCall(DRTDevToolsCallArgs(data)); + m_drtDevToolsAgent->asyncCall(data); } void DRTDevToolsClient::sendDebuggerCommandToAgent(const WebString& command) @@ -104,21 +102,13 @@ void DRTDevToolsClient::undockWindow() // Not implemented. } -void DRTDevToolsClient::asyncCall(const DRTDevToolsCallArgs& args) +void DRTDevToolsClient::asyncCall(const WebString& args) { postTask(new AsyncCallTask(this, args)); } -void DRTDevToolsClient::call(const DRTDevToolsCallArgs& args) +void DRTDevToolsClient::call(const WebString& args) { - m_webDevToolsFrontend->dispatchOnInspectorFrontend(args.m_data); - if (DRTDevToolsCallArgs::callsCount() == 1) - allMessagesProcessed(); + m_webDevToolsFrontend->dispatchOnInspectorFrontend(args); } -void DRTDevToolsClient::allMessagesProcessed() -{ - m_webView->mainFrame()->executeScript( - WebKit::WebScriptSource(WebString::fromUTF8( - "if (window.WebInspector && WebInspector.queuesAreEmpty) WebInspector.queuesAreEmpty();"))); -} diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h b/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h index 0cba51c..8a93ee0 100644 --- a/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h +++ b/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h @@ -31,17 +31,15 @@ #ifndef DRTDevToolsClient_h #define DRTDevToolsClient_h -#include "DRTDevToolsCallArgs.h" #include "Task.h" #include "WebDevToolsFrontendClient.h" +#include "WebString.h" #include #include - namespace WebKit { class WebDevToolsFrontend; struct WebDevToolsMessageData; -class WebString; class WebView; } // namespace WebKit @@ -65,20 +63,20 @@ public: virtual void dockWindow(); virtual void undockWindow(); - void asyncCall(const DRTDevToolsCallArgs&); + void asyncCall(const WebKit::WebString& args); void allMessagesProcessed(); TaskList* taskList() { return &m_taskList; } private: - void call(const DRTDevToolsCallArgs&); + void call(const WebKit::WebString& args); class AsyncCallTask: public MethodTask { public: - AsyncCallTask(DRTDevToolsClient* object, const DRTDevToolsCallArgs& args) + AsyncCallTask(DRTDevToolsClient* object, const WebKit::WebString& args) : MethodTask(object), m_args(args) {} virtual void runIfValid() { m_object->call(m_args); } private: - DRTDevToolsCallArgs m_args; + WebKit::WebString m_args; }; TaskList m_taskList; diff --git a/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp b/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp index 7e9010f..e008432 100644 --- a/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp +++ b/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp @@ -58,7 +58,19 @@ static const char optionEnableAccelerated2DCanvas[] = "--enable-accelerated-2d-c static const char optionStressOpt[] = "--stress-opt"; static const char optionStressDeopt[] = "--stress-deopt"; static const char optionJavaScriptFlags[] = "--js-flags="; -static const char optionNoTimeout[] = "--no-timeout="; +static const char optionNoTimeout[] = "--no-timeout"; + +class WebKitSupportTestEnvironment { +public: + WebKitSupportTestEnvironment() + { + webkit_support::SetUpTestEnvironment(); + } + ~WebKitSupportTestEnvironment() + { + webkit_support::TearDownTestEnvironment(); + } +}; static void runTest(TestShell& shell, TestParams& params, const string& testName, bool testShellMode) { @@ -109,7 +121,7 @@ static void runTest(TestShell& shell, TestParams& params, const string& testName int main(int argc, char* argv[]) { - webkit_support::SetUpTestEnvironment(); + WebKitSupportTestEnvironment testEnvironment; platformInit(&argc, &argv); TestParams params; @@ -144,7 +156,7 @@ int main(int argc, char* argv[]) else if (argument == optionStartupDialog) startupDialog = true; else if (argument == optionCheckLayoutTestSystemDeps) - exit(checkLayoutTestSystemDependencies() ? EXIT_SUCCESS : EXIT_FAILURE); + return checkLayoutTestSystemDependencies() ? EXIT_SUCCESS : EXIT_FAILURE; else if (argument == optionHardwareAcceleratedGL) hardwareAcceleratedGL = true; else if (argument == optionEnableAcceleratedCompositing) @@ -157,7 +169,7 @@ int main(int argc, char* argv[]) stressDeopt = true; else if (!argument.find(optionJavaScriptFlags)) javaScriptFlags = argument.substr(strlen(optionJavaScriptFlags)); - else if (!argument.find(optionNoTimeout)) + else if (argument == optionNoTimeout) noTimeout = true; else if (argument.size() && argument[0] == '-') fprintf(stderr, "Unknown option: %s\n", argv[i]); @@ -218,6 +230,5 @@ int main(int argc, char* argv[]) shell.resetTestController(); } - webkit_support::TearDownTestEnvironment(); return EXIT_SUCCESS; } diff --git a/Tools/DumpRenderTree/chromium/EventSender.cpp b/Tools/DumpRenderTree/chromium/EventSender.cpp index 77760ba..c5b7aa9 100644 --- a/Tools/DumpRenderTree/chromium/EventSender.cpp +++ b/Tools/DumpRenderTree/chromium/EventSender.cpp @@ -528,6 +528,9 @@ void EventSender::keyDown(const CppArgumentList& arguments, CppVariant* result) code = webkit_support::VKEY_END; else if ("printScreen" == codeStr) code = webkit_support::VKEY_SNAPSHOT; + else if ("menu" == codeStr) + // FIXME: Change this to webkit_support::VKEY_APPS. + code = 0x5D; else { // Compare the input string with the function-key names defined by the // DOM spec (i.e. "F1",...,"F24"). If the input string is a function-key diff --git a/Tools/DumpRenderTree/chromium/LayoutTestController.cpp b/Tools/DumpRenderTree/chromium/LayoutTestController.cpp index 59537c6..b891d1e 100644 --- a/Tools/DumpRenderTree/chromium/LayoutTestController.cpp +++ b/Tools/DumpRenderTree/chromium/LayoutTestController.cpp @@ -147,6 +147,7 @@ LayoutTestController::LayoutTestController(TestShell* shell) bindMethod("setGeolocationPermission", &LayoutTestController::setGeolocationPermission); bindMethod("setIconDatabaseEnabled", &LayoutTestController::setIconDatabaseEnabled); bindMethod("setJavaScriptCanAccessClipboard", &LayoutTestController::setJavaScriptCanAccessClipboard); + bindMethod("setMinimumTimerInterval", &LayoutTestController::setMinimumTimerInterval); bindMethod("setMockDeviceOrientation", &LayoutTestController::setMockDeviceOrientation); bindMethod("setMockGeolocationError", &LayoutTestController::setMockGeolocationError); bindMethod("setMockGeolocationPosition", &LayoutTestController::setMockGeolocationPosition); @@ -1593,3 +1594,11 @@ void LayoutTestController::hasSpellingMarker(const CppArgumentList& arguments, C return; result->set(m_shell->webView()->mainFrame()->selectionStartHasSpellingMarkerFor(arguments[0].toInt32(), arguments[1].toInt32())); } + +void LayoutTestController::setMinimumTimerInterval(const CppArgumentList& arguments, CppVariant* result) +{ + result->setNull(); + if (arguments.size() < 1 || !arguments[0].isNumber()) + return; + m_shell->webView()->settings()->setMinimumTimerInterval(arguments[0].toDouble()); +} diff --git a/Tools/DumpRenderTree/chromium/LayoutTestController.h b/Tools/DumpRenderTree/chromium/LayoutTestController.h index 0ef8607..6150133 100644 --- a/Tools/DumpRenderTree/chromium/LayoutTestController.h +++ b/Tools/DumpRenderTree/chromium/LayoutTestController.h @@ -335,12 +335,15 @@ public: void markerTextForListItem(const CppArgumentList&, CppVariant*); void hasSpellingMarker(const CppArgumentList&, CppVariant*); + void setMinimumTimerInterval(const CppArgumentList&, CppVariant*); + public: // The following methods are not exposed to JavaScript. void setWorkQueueFrozen(bool frozen) { m_workQueue.setFrozen(frozen); } WebKit::WebSpeechInputController* speechInputController(WebKit::WebSpeechInputListener*); bool shouldDumpAsText() { return m_dumpAsText; } + void setShouldDumpAsText(bool value) { m_dumpAsText = value; } bool shouldDumpEditingCallbacks() { return m_dumpEditingCallbacks; } bool shouldDumpFrameLoadCallbacks() { return m_dumpFrameLoadCallbacks; } void setShouldDumpFrameLoadCallbacks(bool value) { m_dumpFrameLoadCallbacks = value; } @@ -356,6 +359,7 @@ public: bool shouldDumpChildFrameScrollPositions() { return m_dumpChildFrameScrollPositions; } bool shouldDumpChildFramesAsText() { return m_dumpChildFramesAsText; } bool shouldGeneratePixelResults() { return m_generatePixelResults; } + void setShouldGeneratePixelResults(bool value) { m_generatePixelResults = value; } bool acceptsEditing() { return m_acceptsEditing; } bool canOpenWindows() { return m_canOpenWindows; } bool shouldAddFileToPasteboard() { return m_shouldAddFileToPasteboard; } diff --git a/Tools/DumpRenderTree/chromium/Task.cpp b/Tools/DumpRenderTree/chromium/Task.cpp index 007a479..8638915 100644 --- a/Tools/DumpRenderTree/chromium/Task.cpp +++ b/Tools/DumpRenderTree/chromium/Task.cpp @@ -33,7 +33,6 @@ #include "WebKit.h" #include "WebKitClient.h" -#include "webkit/support/webkit_support.h" WebTask::WebTask(TaskList* list): m_taskList(list) { m_taskList->registerTask(this); } WebTask::~WebTask() @@ -69,7 +68,7 @@ void postTask(WebTask* task) void postDelayedTask(WebTask* task, int64_t ms) { - webkit_support::PostDelayedTask(invokeTask, static_cast(task), ms); + webkit_support::PostDelayedTask(task, ms); } diff --git a/Tools/DumpRenderTree/chromium/Task.h b/Tools/DumpRenderTree/chromium/Task.h index f29dc7d..57d27ea 100644 --- a/Tools/DumpRenderTree/chromium/Task.h +++ b/Tools/DumpRenderTree/chromium/Task.h @@ -31,13 +31,15 @@ #ifndef Task_h #define Task_h +#include "webkit/support/webkit_support.h" +#include #include class TaskList; // WebTask represents a task which can run by postTask() or postDelayedTask(). // it is named "WebTask", not "Task", to avoid conflist with base/task.h. -class WebTask { +class WebTask : public webkit_support::TaskAdaptor { public: WebTask(TaskList*); // The main code of this task. @@ -45,6 +47,10 @@ public: virtual void run() = 0; virtual void cancel() = 0; virtual ~WebTask(); + +private: + virtual void Run() { run(); } + protected: TaskList* m_taskList; }; diff --git a/Tools/DumpRenderTree/chromium/TestShell.cpp b/Tools/DumpRenderTree/chromium/TestShell.cpp index 11a598f..2574abc 100644 --- a/Tools/DumpRenderTree/chromium/TestShell.cpp +++ b/Tools/DumpRenderTree/chromium/TestShell.cpp @@ -173,16 +173,18 @@ void TestShell::runFileTest(const TestParams& params) m_params = params; string testUrl = m_params.testUrl.spec(); - bool inspectorTestMode = testUrl.find("/inspector/") != string::npos - || testUrl.find("\\inspector\\") != string::npos; - m_prefs.developerExtrasEnabled = inspectorTestMode; - applyPreferences(); - if (testUrl.find("loading/") != string::npos || testUrl.find("loading\\") != string::npos) m_layoutTestController->setShouldDumpFrameLoadCallbacks(true); - if (inspectorTestMode) + if (testUrl.find("/dumpAsText/") != string::npos + || testUrl.find("\\dumpAsText\\") != string::npos) { + m_layoutTestController->setShouldDumpAsText(true); + m_layoutTestController->setShouldGeneratePixelResults(false); + } + + if (testUrl.find("/inspector/") != string::npos + || testUrl.find("\\inspector\\") != string::npos) showDevTools(); if (m_dumpWhenFinished) @@ -222,6 +224,7 @@ void TestShell::resetTestController() m_drtDevToolsAgent->reset(); if (m_drtDevToolsClient) m_drtDevToolsClient->reset(); + webView()->mainFrame()->clearOpener(); } void TestShell::loadURL(const WebURL& url) diff --git a/Tools/DumpRenderTree/chromium/WebPreferences.cpp b/Tools/DumpRenderTree/chromium/WebPreferences.cpp index 7c274c3..71f5ec7 100644 --- a/Tools/DumpRenderTree/chromium/WebPreferences.cpp +++ b/Tools/DumpRenderTree/chromium/WebPreferences.cpp @@ -73,7 +73,7 @@ void WebPreferences::reset() allowFileAccessFromFileURLs = true; authorAndUserStylesEnabled = true; defaultTextEncodingName = WebString::fromUTF8("ISO-8859-1"); - developerExtrasEnabled = false; + developerExtrasEnabled = true; experimentalWebGLEnabled = false; javaEnabled = false; javaScriptCanAccessClipboard = true; @@ -148,6 +148,8 @@ void WebPreferences::applyTo(WebView* webView) // tabbing to links by default. webView->setTabsToLinks(tabsToLinks); settings->setCaretBrowsingEnabled(caretBrowsingEnabled); + settings->setAcceleratedCompositingEnabled(acceleratedCompositingEnabled); + settings->setAccelerated2dCanvasEnabled(accelerated2dCanvasEnabled); // Fixed values. settings->setShouldPaintCustomScrollbars(true); @@ -160,7 +162,6 @@ void WebPreferences::applyTo(WebView* webView) settings->setTextDirectionSubmenuInclusionBehaviorNeverIncluded(); settings->setUsesEncodingDetector(false); settings->setImagesEnabled(true); - settings->setAcceleratedCompositingEnabled(acceleratedCompositingEnabled); - settings->setAccelerated2dCanvasEnabled(accelerated2dCanvasEnabled); + settings->setInteractiveFormValidationEnabled(true); } diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.cpp b/Tools/DumpRenderTree/chromium/WebViewHost.cpp index e1a2fcb..a0ed6da 100644 --- a/Tools/DumpRenderTree/chromium/WebViewHost.cpp +++ b/Tools/DumpRenderTree/chromium/WebViewHost.cpp @@ -228,12 +228,6 @@ static string textAffinityDescription(WebTextAffinity affinity) return "(UNKNOWN AFFINITY)"; } -static void invokeFinishLastTextCheck(void* context) -{ - WebViewHost* wvh = static_cast(context); - wvh->finishLastTextCheck(); -} - // WebViewClient ------------------------------------------------------------- WebView* WebViewHost::createView(WebFrame*, const WebURLRequest&, const WebWindowFeatures&, const WebString&) @@ -422,7 +416,7 @@ void WebViewHost::requestCheckingOfText(const WebString& text, WebTextCheckingCo { m_lastRequestedTextCheckingCompletion = completion; m_lastRequestedTextCheckString = text; - webkit_support::PostDelayedTask(invokeFinishLastTextCheck, static_cast(this), 0); + postDelayedTask(new HostMethodTask(this, &WebViewHost::finishLastTextCheck), 0); } void WebViewHost::finishLastTextCheck() @@ -663,15 +657,9 @@ void WebViewHost::scheduleComposite() } #if ENABLE(REQUEST_ANIMATION_FRAME) -static void invokeScheduleComposite(void* context) -{ - WebViewHost* wvh = static_cast(context); - wvh->scheduleComposite(); -} - void WebViewHost::scheduleAnimation() { - webkit_support::PostDelayedTask(invokeScheduleComposite, this, 0); + postDelayedTask(new HostMethodTask(this, &WebViewHost::scheduleComposite), 0); } #endif @@ -716,15 +704,9 @@ void WebViewHost::closeWidget() // No more code here, we should be deleted at this point. } -static void invokeCloseWidget(void* context) -{ - WebViewHost* wvh = static_cast(context); - wvh->closeWidget(); -} - void WebViewHost::closeWidgetSoon() { - webkit_support::PostDelayedTask(invokeCloseWidget, static_cast(this), 0); + postDelayedTask(new HostMethodTask(this, &WebViewHost::closeWidget), 0); } void WebViewHost::didChangeCursor(const WebCursorInfo& cursorInfo) @@ -1226,8 +1208,10 @@ void WebViewHost::reset() m_windowRect = WebRect(); m_paintRect = WebRect(); - if (m_webWidget) + if (m_webWidget) { webView()->mainFrame()->setName(WebString()); + webView()->settings()->setMinimumTimerInterval(webkit_support::GetForegroundTabTimerInterval()); + } } void WebViewHost::setSelectTrailingWhitespaceEnabled(bool enabled) diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.h b/Tools/DumpRenderTree/chromium/WebViewHost.h index e6d82ae..4fc3400 100644 --- a/Tools/DumpRenderTree/chromium/WebViewHost.h +++ b/Tools/DumpRenderTree/chromium/WebViewHost.h @@ -32,6 +32,7 @@ #define WebViewHost_h #include "MockSpellCheck.h" +#include "Task.h" #include "TestNavigationController.h" #include "WebAccessibilityNotification.h" #include "WebCursorInfo.h" @@ -216,7 +217,25 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient, // Geolocation client mocks for LayoutTestController WebKit::WebGeolocationClientMock* geolocationClientMock(); + // Pending task list, Note taht the method is referred from MethodTask class. + TaskList* taskList() { return &m_taskList; } + private: + + class HostMethodTask : public MethodTask { + public: + typedef void (WebViewHost::*CallbackMethodType)(); + HostMethodTask(WebViewHost* object, CallbackMethodType callback) + : MethodTask(object) + , m_callback(callback) + { } + + virtual void runIfValid() { (m_object->*m_callback)(); } + + private: + CallbackMethodType m_callback; + }; + LayoutTestController* layoutTestController() const; // Called the title of the page changes. @@ -327,6 +346,8 @@ private: WebKit::WebString m_lastRequestedTextCheckString; WebKit::WebTextCheckingCompletion* m_lastRequestedTextCheckingCompletion; + + TaskList m_taskList; }; #endif // WebViewHost_h diff --git a/Tools/DumpRenderTree/config.h b/Tools/DumpRenderTree/config.h index 55e2dc1..351a2b1 100644 --- a/Tools/DumpRenderTree/config.h +++ b/Tools/DumpRenderTree/config.h @@ -41,7 +41,7 @@ #endif #if PLATFORM(MAC) -#define WTF_PLATFORM_CF 1 +#define WTF_USE_CF 1 #if !defined(MAC_OS_X_VERSION_10_5) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 #define BUILDING_ON_TIGER 1 @@ -53,7 +53,7 @@ #endif // PLATFORM(MAC) #if PLATFORM(WIN) -#define WTF_PLATFORM_CF 1 +#define WTF_USE_CF 1 #if defined(WIN_CAIRO) #define WTF_PLATFORM_CAIRO 1 #define WTF_USE_CURL 1 diff --git a/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp b/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp index ff3327f..3f70b49 100644 --- a/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp +++ b/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp @@ -105,6 +105,11 @@ static bool shouldOpenWebInspector(const string& pathOrURL) return pathOrURL.find("inspector/") != string::npos; } +static bool shouldDumpAsText(const string& pathOrURL) +{ + return pathOrURL.find("dumpAsText/") != string::npos; +} + static bool shouldEnableDeveloperExtras(const string& pathOrURL) { return true; @@ -232,6 +237,13 @@ static void initializeFonts(const char* testURL = 0) if (!FcConfigAppFontAddFile(config, reinterpret_cast(ahemFontFilename.get()))) g_error("Could not load font at %s!", ahemFontFilename.get()); + for (int i = 1; i <= 9; i++) { + GOwnPtr fontFilename(g_strdup_printf("WebKitWeightWatcher%i00.ttf", i)); + GOwnPtr fontPath(g_build_filename(FONTS_CONF_DIR, "..", "..", "fonts", fontFilename.get(), NULL)); + if (!FcConfigAppFontAddFile(config, reinterpret_cast(fontPath.get()))) + g_error("Could not load font at %s!", fontPath.get()); + } + // A font with no valid Fontconfig encoding to test https://bugs.webkit.org/show_bug.cgi?id=47452 GOwnPtr fontWithNoValidEncodingFilename(g_build_filename(FONTS_CONF_DIR, "FontWithNoValidEncoding.fon", NULL)); if (!FcConfigAppFontAddFile(config, reinterpret_cast(fontWithNoValidEncodingFilename.get()))) @@ -428,6 +440,7 @@ static void resetDefaultsToConsistentValues() g_object_set(G_OBJECT(inspector), "javascript-profiling-enabled", FALSE, NULL); webkit_web_view_set_zoom_level(webView, 1.0); + DumpRenderTreeSupportGtk::setMinimumTimerInterval(webView, DumpRenderTreeSupportGtk::defaultMinimumTimerInterval()); DumpRenderTreeSupportGtk::resetOriginAccessWhiteLists(); @@ -446,9 +459,12 @@ static void resetDefaultsToConsistentValues() DumpRenderTreeSupportGtk::setLinksIncludedInFocusChain(true); DumpRenderTreeSupportGtk::setIconDatabaseEnabled(false); + DumpRenderTreeSupportGtk::setSelectTrailingWhitespaceEnabled(false); if (axController) axController->resetToConsistentState(); + + DumpRenderTreeSupportGtk::clearOpener(mainFrame); } static bool useLongRunningServerMode(int argc, char *argv[]) @@ -504,7 +520,7 @@ void dump() gchar* responseMimeType = webkit_web_frame_get_response_mime_type(mainFrame); if (g_str_equal(responseMimeType, "text/plain")) { - gLayoutTestController->setDumpAsText(true); + gLayoutTestController->setDumpAsText(true); gLayoutTestController->setGeneratePixelResults(false); } g_free(responseMimeType); @@ -630,6 +646,10 @@ static void runTest(const string& testPathOrURL) gLayoutTestController->setDeveloperExtrasEnabled(true); if (shouldOpenWebInspector(testURL)) gLayoutTestController->showWebInspector(); + if (shouldDumpAsText(testURL)) { + gLayoutTestController->setDumpAsText(true); + gLayoutTestController->setGeneratePixelResults(false); + } } WorkQueue::shared()->clear(); @@ -1004,6 +1024,17 @@ static void frameCreatedCallback(WebKitWebView* webView, WebKitWebFrame* webFram g_signal_connect(webFrame, "notify::load-status", G_CALLBACK(webFrameLoadStatusNotified), NULL); } +static void willSendRequestCallback(WebKitWebView* webView, WebKitWebFrame*, WebKitWebResource*, WebKitNetworkRequest* request, WebKitNetworkResponse*) +{ + SoupMessage* soupMessage = webkit_network_request_get_message(request); + + if (soupMessage) { + const set& clearHeaders = gLayoutTestController->willSendRequestClearHeaders(); + for (set::const_iterator header = clearHeaders.begin(); header != clearHeaders.end(); ++header) + soup_message_headers_remove(soupMessage->request_headers, header->c_str()); + } +} + static WebKitWebView* createWebView() { WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new()); @@ -1032,6 +1063,7 @@ static WebKitWebView* createWebView() "signal::drag-end", dragEndCallback, 0, "signal::drag-failed", dragFailedCallback, 0, "signal::frame-created", frameCreatedCallback, 0, + "signal::resource-request-starting", willSendRequestCallback, 0, NULL); connectEditingCallbacks(view); diff --git a/Tools/DumpRenderTree/gtk/EventSender.cpp b/Tools/DumpRenderTree/gtk/EventSender.cpp index 10e129c..068dd5a 100644 --- a/Tools/DumpRenderTree/gtk/EventSender.cpp +++ b/Tools/DumpRenderTree/gtk/EventSender.cpp @@ -229,6 +229,29 @@ static JSValueRef contextClickCallback(JSContextRef context, JSObjectRef functio return valueRef; } +static gboolean sendClick(gpointer) +{ + GdkEvent* pressEvent = gdk_event_new(GDK_BUTTON_PRESS); + + if (!prepareMouseButtonEvent(pressEvent, 1, 0)) { + gdk_event_free(pressEvent); + return FALSE; + } + + GdkEvent* releaseEvent = gdk_event_copy(pressEvent); + dispatchEvent(pressEvent); + releaseEvent->type = GDK_BUTTON_RELEASE; + dispatchEvent(releaseEvent); + + return FALSE; +} + +static JSValueRef scheduleAsynchronousClickCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) +{ + g_idle_add(sendClick, 0); + return JSValueMakeUndefined(context); +} + static void updateClickCount(int button) { if (lastClickPositionX != lastMousePositionX @@ -644,6 +667,8 @@ static JSValueRef keyDownCallback(JSContextRef context, JSObjectRef function, JS gdkKeySym = GDK_Delete; else if (JSStringIsEqualToUTF8CString(character, "printScreen")) gdkKeySym = GDK_Print; + else if (JSStringIsEqualToUTF8CString(character, "menu")) + gdkKeySym = GDK_Menu; else if (JSStringIsEqualToUTF8CString(character, "F1")) gdkKeySym = GDK_F1; else if (JSStringIsEqualToUTF8CString(character, "F2")) @@ -776,6 +801,7 @@ static JSStaticFunction staticFunctions[] = { { "textZoomOut", textZoomOutCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "zoomPageIn", zoomPageInCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { "zoomPageOut", zoomPageOutCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, + { "scheduleAsynchronousClick", scheduleAsynchronousClickCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, { 0, 0, 0 } }; diff --git a/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp b/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp index 56d75f7..77d6ae1 100644 --- a/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp +++ b/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp @@ -50,7 +50,6 @@ #include extern "C" { -void webkit_application_cache_set_maximum_size(unsigned long long size); void webkit_web_inspector_execute_script(WebKitWebInspector* inspector, long callId, const gchar* script); } @@ -333,6 +332,11 @@ void LayoutTestController::setUserStyleSheetLocation(JSStringRef path) setUserStyleSheetEnabled(true); } +void LayoutTestController::setValueForUser(JSContextRef context, JSValueRef element, JSStringRef value) +{ + // FIXME: implement +} + void LayoutTestController::setViewModeMediaFeature(JSStringRef mode) { WebKitWebView* view = webkit_web_frame_get_web_view(mainFrame); @@ -508,7 +512,7 @@ void LayoutTestController::setJavaScriptProfilingEnabled(bool flag) void LayoutTestController::setSelectTrailingWhitespaceEnabled(bool flag) { - // FIXME: implement + DumpRenderTreeSupportGtk::setSelectTrailingWhitespaceEnabled(flag); } void LayoutTestController::setPopupBlockingEnabled(bool flag) @@ -869,14 +873,20 @@ bool LayoutTestController::hasSpellingMarker(int from, int length) return DumpRenderTreeSupportGtk::webkitWebFrameSelectionHasSpellingMarker(mainFrame, from, length); } -void LayoutTestController::dumpConfigurationForViewport(int availableWidth, int availableHeight) +void LayoutTestController::dumpConfigurationForViewport(int deviceDPI, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight) { WebKitWebView* webView = webkit_web_frame_get_web_view(mainFrame); ASSERT(webView); - DumpRenderTreeSupportGtk::dumpConfigurationForViewport(webView, availableWidth, availableHeight); + DumpRenderTreeSupportGtk::dumpConfigurationForViewport(webView, deviceDPI, deviceWidth, deviceHeight, availableWidth, availableHeight); } void LayoutTestController::setSerializeHTTPLoads(bool) { // FIXME: Implement if needed for https://bugs.webkit.org/show_bug.cgi?id=50758. } + +void LayoutTestController::setMinimumTimerInterval(double minimumTimerInterval) +{ + WebKitWebView* webView = webkit_web_frame_get_web_view(mainFrame); + DumpRenderTreeSupportGtk::setMinimumTimerInterval(webView, minimumTimerInterval); +} diff --git a/Tools/DumpRenderTree/mac/AccessibilityControllerMac.mm b/Tools/DumpRenderTree/mac/AccessibilityControllerMac.mm index d41f01d..475b839 100644 --- a/Tools/DumpRenderTree/mac/AccessibilityControllerMac.mm +++ b/Tools/DumpRenderTree/mac/AccessibilityControllerMac.mm @@ -50,7 +50,6 @@ AccessibilityUIElement AccessibilityController::elementAtPoint(int x, int y) AccessibilityUIElement AccessibilityController::focusedElement() { - // FIXME: we could do some caching here. id accessibilityObject = [[mainFrame accessibilityRoot] accessibilityFocusedUIElement]; return AccessibilityUIElement(accessibilityObject); } @@ -58,7 +57,11 @@ AccessibilityUIElement AccessibilityController::focusedElement() AccessibilityUIElement AccessibilityController::rootElement() { // FIXME: we could do some caching here. - id accessibilityObject = [mainFrame accessibilityRoot]; + + // Layout tests expect that the root element will be the scroll area + // containing the web area object. That will be the parent of the accessibilityRoot on WK1. + + id accessibilityObject = [[mainFrame accessibilityRoot] accessibilityAttributeValue:NSAccessibilityParentAttribute]; return AccessibilityUIElement(accessibilityObject); } diff --git a/Tools/DumpRenderTree/mac/CheckedMalloc.cpp b/Tools/DumpRenderTree/mac/CheckedMalloc.cpp index faef760..bb45c23 100644 --- a/Tools/DumpRenderTree/mac/CheckedMalloc.cpp +++ b/Tools/DumpRenderTree/mac/CheckedMalloc.cpp @@ -31,8 +31,10 @@ #import "config.h" #import "CheckedMalloc.h" +#import +#import +#import #import -#import static void* (*savedMalloc)(malloc_zone_t*, size_t); static void* (*savedRealloc)(malloc_zone_t*, void*, size_t); @@ -51,14 +53,30 @@ static void* checkedRealloc(malloc_zone_t* zone, void* ptr, size_t size) return savedRealloc(zone, ptr, size); } +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) +static vm_prot_t protectionOfRegion(mach_vm_address_t address) +{ + mach_vm_size_t regionSize = 0; + vm_region_basic_info_64 regionInfo; + mach_msg_type_number_t regionInfoCount = VM_REGION_BASIC_INFO_COUNT_64; + mach_port_t objectName; + if (mach_vm_region(mach_task_self(), &address, ®ionSize, VM_REGION_BASIC_INFO_64, (vm_region_info_t)®ionInfo, ®ionInfoCount, &objectName)) + CRASH(); + return regionInfo.protection; +} +#endif + void makeLargeMallocFailSilently() { malloc_zone_t* zone = malloc_default_zone(); #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) - vm_address_t pageStart = reinterpret_cast(zone) & static_cast(~(getpagesize() - 1)); + mach_vm_address_t pageStart = reinterpret_cast(zone) & static_cast(~(getpagesize() - 1)); + vm_prot_t initialProtection = protectionOfRegion(pageStart); + vm_size_t len = reinterpret_cast(zone) - pageStart + sizeof(malloc_zone_t); - mprotect(reinterpret_cast(pageStart), len, PROT_READ | PROT_WRITE); + if (mach_vm_protect(mach_task_self(), pageStart, len, 0, initialProtection | VM_PROT_WRITE)) + CRASH(); #endif savedMalloc = zone->malloc; @@ -67,6 +85,7 @@ void makeLargeMallocFailSilently() zone->realloc = checkedRealloc; #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) - mprotect(reinterpret_cast(pageStart), len, PROT_READ); + if (mach_vm_protect(mach_task_self(), pageStart, len, 0, initialProtection)) + CRASH(); #endif } diff --git a/Tools/DumpRenderTree/mac/DumpRenderTree.mm b/Tools/DumpRenderTree/mac/DumpRenderTree.mm index eab3742..dca0d38 100644 --- a/Tools/DumpRenderTree/mac/DumpRenderTree.mm +++ b/Tools/DumpRenderTree/mac/DumpRenderTree.mm @@ -407,6 +407,7 @@ static void resetDefaultsToConsistentValues() [defaults setBool:NO forKey:@"AppleScrollAnimationEnabled"]; [defaults setBool:NO forKey:@"NSOverlayScrollersEnabled"]; + [defaults setObject:@"Always" forKey:@"AppleShowScrollBars"]; if (initialValue) CFPreferencesSetValue(CFSTR("AppleScrollBarVariant"), initialValue.get(), kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost); @@ -995,6 +996,11 @@ static bool shouldOpenWebInspector(const char* pathOrURL) return strstr(pathOrURL, "inspector/"); } +static bool shouldDumpAsText(const char* pathOrURL) +{ + return strstr(pathOrURL, "dumpAsText/"); +} + static bool shouldEnableDeveloperExtras(const char* pathOrURL) { return true; @@ -1017,6 +1023,7 @@ static void resetWebViewToConsistentStateBeforeTesting() [[webView undoManager] removeAllActions]; [WebView _removeAllUserContentFromGroup:[webView groupName]]; [[webView window] setAutodisplay:NO]; + [webView _setMinimumTimerInterval:[WebView _defaultMinimumTimerInterval]]; resetDefaultsToConsistentValues(); @@ -1030,6 +1037,8 @@ static void resetWebViewToConsistentStateBeforeTesting() // Clear the contents of the general pasteboard [[NSPasteboard generalPasteboard] declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil]; + + [mainFrame _clearOpener]; } static void runTest(const string& testPathOrURL) @@ -1088,6 +1097,10 @@ static void runTest(const string& testPathOrURL) gLayoutTestController->setDeveloperExtrasEnabled(true); if (shouldOpenWebInspector(pathOrURL.c_str())) gLayoutTestController->showWebInspector(); + if (shouldDumpAsText(pathOrURL.c_str())) { + gLayoutTestController->setDumpAsText(true); + gLayoutTestController->setGeneratePixelResults(false); + } } if ([WebHistory optionalSharedHistory]) diff --git a/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm b/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm index a691951..72ec759 100644 --- a/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm +++ b/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm @@ -479,6 +479,16 @@ void LayoutTestController::setUserStyleSheetLocation(JSStringRef path) [[WebPreferences standardPreferences] setUserStyleSheetLocation:url]; } +void LayoutTestController::setValueForUser(JSContextRef context, JSValueRef nodeObject, JSStringRef value) +{ + DOMElement *element = [DOMElement _DOMElementFromJSContext:context value:nodeObject]; + if (!element || ![element isKindOfClass:[DOMHTMLInputElement class]]) + return; + + RetainPtr valueCF(AdoptCF, JSStringCopyCFString(kCFAllocatorDefault, value)); + [(DOMHTMLInputElement *)element _setValueForUser:(NSString *)valueCF.get()]; +} + void LayoutTestController::setViewModeMediaFeature(JSStringRef mode) { // FIXME: implement @@ -994,7 +1004,7 @@ bool LayoutTestController::hasSpellingMarker(int from, int length) { return [mainFrame hasSpellingMarker:from length:length]; } -void LayoutTestController::dumpConfigurationForViewport(int /*availableWidth*/, int /*availableHeight*/) +void LayoutTestController::dumpConfigurationForViewport(int /*deviceDPI*/, int /*deviceWidth*/, int /*deviceHeight*/, int /*availableWidth*/, int /*availableHeight*/) { } @@ -1003,3 +1013,8 @@ void LayoutTestController::setSerializeHTTPLoads(bool serialize) { [WebView _setLoadResourcesSerially:serialize]; } + +void LayoutTestController::setMinimumTimerInterval(double minimumTimerInterval) +{ + [[mainFrame webView] _setMinimumTimerInterval:minimumTimerInterval]; +} diff --git a/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm b/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm index 2854ca4..f5a2121 100644 --- a/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm +++ b/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm @@ -245,4 +245,15 @@ using namespace std; return response; } +-(BOOL)webView: (WebView*)webView shouldPaintBrokenImageForURL:(NSURL*)imageURL +{ + // Only log the message when shouldPaintBrokenImage() returns NO; this avoids changing results of layout tests with failed + // images, e.g., security/block-test-no-port.html. + if (!done && gLayoutTestController->dumpResourceLoadCallbacks() && !gLayoutTestController->shouldPaintBrokenImage()) { + NSString *string = [NSString stringWithFormat:@"%@ - shouldPaintBrokenImage: NO", [imageURL _drt_descriptionSuitableForTestResult]]; + printf("%s\n", [string UTF8String]); + } + + return gLayoutTestController->shouldPaintBrokenImage(); +} @end diff --git a/Tools/DumpRenderTree/mac/UIDelegate.mm b/Tools/DumpRenderTree/mac/UIDelegate.mm index 6194c26..06a71f8 100644 --- a/Tools/DumpRenderTree/mac/UIDelegate.mm +++ b/Tools/DumpRenderTree/mac/UIDelegate.mm @@ -57,7 +57,7 @@ DumpRenderTreeDraggingInfo *draggingInfo = nil; return m_frame; } -- (void)webView:(WebView *)sender addMessageToConsole:(NSDictionary *)dictionary +- (void)webView:(WebView *)sender addMessageToConsole:(NSDictionary *)dictionary withSource:(NSString *)source { NSString *message = [dictionary objectForKey:@"message"]; NSNumber *lineNumber = [dictionary objectForKey:@"lineNumber"]; diff --git a/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp b/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp index 7d20f47..6af6fc2 100644 --- a/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp +++ b/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp @@ -205,6 +205,8 @@ void WebPage::resetSettings() QWebSettings::setMaximumPagesInCache(0); // reset to default settings()->setUserStyleSheetUrl(QUrl()); // reset to default + DumpRenderTreeSupportQt::setMinimumTimerInterval(this, DumpRenderTreeSupportQt::defaultMinimumTimerInterval()); + m_pendingGeolocationRequests.clear(); } @@ -416,11 +418,12 @@ DumpRenderTree::DumpRenderTree() , m_graphicsBased(false) , m_persistentStoragePath(QString(getenv("DUMPRENDERTREE_TEMP"))) { - QByteArray viewMode = getenv("QT_DRT_WEBVIEW_MODE"); if (viewMode == "graphics") setGraphicsBased(true); + // Set running in DRT mode for qwebpage to create testable objects. + DumpRenderTreeSupportQt::setDumpRenderTreeModeEnabled(true); DumpRenderTreeSupportQt::overwritePluginDirectories(); DumpRenderTreeSupportQt::activeMockDeviceOrientationClient(true); QWebSettings::enablePersistentStorage(m_persistentStoragePath); @@ -578,6 +581,8 @@ void DumpRenderTree::resetToConsistentStateBeforeTesting(const QUrl& url) #ifndef Q_OS_WINCE setlocale(LC_ALL, ""); #endif + + DumpRenderTreeSupportQt::clearOpener(m_page->mainFrame()); } static bool isGlobalHistoryTest(const QUrl& url) @@ -594,6 +599,14 @@ static bool isWebInspectorTest(const QUrl& url) return false; } +static bool isDumpAsTextTest(const QUrl& url) +{ + if (url.path().contains("dumpAsText/")) + return true; + return false; +} + + void DumpRenderTree::open(const QUrl& url) { DumpRenderTreeSupportQt::dumpResourceLoadCallbacksPath(QFileInfo(url.toString()).path()); @@ -605,6 +618,11 @@ void DumpRenderTree::open(const QUrl& url) if (isWebInspectorTest(url)) layoutTestController()->showWebInspector(); + if (isDumpAsTextTest(url)) { + layoutTestController()->dumpAsText(); + setDumpPixels(false); + } + if (isGlobalHistoryTest(url)) layoutTestController()->dumpHistoryCallbacks(); diff --git a/Tools/DumpRenderTree/qt/EventSenderQt.cpp b/Tools/DumpRenderTree/qt/EventSenderQt.cpp index 6449484..ef89e02 100644 --- a/Tools/DumpRenderTree/qt/EventSenderQt.cpp +++ b/Tools/DumpRenderTree/qt/EventSenderQt.cpp @@ -352,6 +352,9 @@ void EventSender::keyDown(const QString& string, const QStringList& modifiers, u } else if (string == QLatin1String("printScreen")) { s = QString(); code = Qt::Key_Print; + } else if (string == QLatin1String("menu")) { + s = QString(); + code = Qt::Key_Menu; } } QKeyEvent event(QEvent::KeyPress, code, modifs, s); diff --git a/Tools/DumpRenderTree/qt/ImageDiff.cpp b/Tools/DumpRenderTree/qt/ImageDiff.cpp index 9282e2f..def1294 100644 --- a/Tools/DumpRenderTree/qt/ImageDiff.cpp +++ b/Tools/DumpRenderTree/qt/ImageDiff.cpp @@ -142,6 +142,8 @@ int main(int argc, char* argv[]) fflush(stdout); } + actualImage = QImage(); + baselineImage = QImage(); } } diff --git a/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp b/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp index a11bc60..74055e2 100644 --- a/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp +++ b/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp @@ -86,6 +86,7 @@ void LayoutTestController::reset() DumpRenderTreeSupportQt::setCustomPolicyDelegate(false, false); DumpRenderTreeSupportQt::dumpHistoryCallbacks(false); DumpRenderTreeSupportQt::dumpVisitedLinksCallbacks(false); + DumpRenderTreeSupportQt::resetGeolocationMock(m_drt->webPage()); setIconDatabaseEnabled(false); clearAllDatabases(); @@ -235,9 +236,9 @@ QString LayoutTestController::pathToLocalResource(const QString& url) return QDir::toNativeSeparators(url); } -void LayoutTestController::dumpConfigurationForViewport(int availableWidth, int availableHeight) +void LayoutTestController::dumpConfigurationForViewport(int deviceDPI, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight) { - QString res = DumpRenderTreeSupportQt::viewportAsText(m_drt->webPage(), QSize(availableWidth, availableHeight)); + QString res = DumpRenderTreeSupportQt::viewportAsText(m_drt->webPage(), deviceDPI, QSize(deviceWidth, deviceHeight), QSize(availableWidth, availableHeight)); fputs(qPrintable(res), stdout); } @@ -620,7 +621,7 @@ void LayoutTestController::overridePreference(const QString& name, const QVarian void LayoutTestController::setUserStyleSheetLocation(const QString& url) { - m_userStyleSheetLocation = QUrl(url); + m_userStyleSheetLocation = QUrl::fromEncoded(url.toAscii(), QUrl::StrictMode); if (m_userStyleSheetEnabled) setUserStyleSheetEnabled(true); @@ -762,7 +763,7 @@ void LayoutTestController::setMockDeviceOrientation(bool canProvideAlpha, double void LayoutTestController::setGeolocationPermission(bool allow) { setGeolocationPermissionCommon(allow); - emit geolocationPermissionSet(); + DumpRenderTreeSupportQt::setMockGeolocationPermission(m_drt->webPage(), allow); } void LayoutTestController::setGeolocationPermissionCommon(bool allow) @@ -773,12 +774,12 @@ void LayoutTestController::setGeolocationPermissionCommon(bool allow) void LayoutTestController::setMockGeolocationError(int code, const QString& message) { - DumpRenderTreeSupportQt::setMockGeolocationError(code, message); + DumpRenderTreeSupportQt::setMockGeolocationError(m_drt->webPage(), code, message); } void LayoutTestController::setMockGeolocationPosition(double latitude, double longitude, double accuracy) { - DumpRenderTreeSupportQt::setMockGeolocationPosition(latitude, longitude, accuracy); + DumpRenderTreeSupportQt::setMockGeolocationPosition(m_drt->webPage(), latitude, longitude, accuracy); } void LayoutTestController::addMockSpeechInputResult(const QString& result, double confidence, const QString& language) @@ -836,5 +837,10 @@ void LayoutTestController::addURLToRedirect(const QString& origin, const QString DumpRenderTreeSupportQt::addURLToRedirect(origin, destination); } +void LayoutTestController::setMinimumTimerInterval(double minimumTimerInterval) +{ + DumpRenderTreeSupportQt::setMinimumTimerInterval(m_drt->webPage(), minimumTimerInterval); +} + const unsigned LayoutTestController::maxViewWidth = 800; const unsigned LayoutTestController::maxViewHeight = 600; diff --git a/Tools/DumpRenderTree/qt/LayoutTestControllerQt.h b/Tools/DumpRenderTree/qt/LayoutTestControllerQt.h index bc62c51..0b5bbba 100644 --- a/Tools/DumpRenderTree/qt/LayoutTestControllerQt.h +++ b/Tools/DumpRenderTree/qt/LayoutTestControllerQt.h @@ -114,7 +114,7 @@ public slots: void dumpResourceLoadCallbacks(); void dumpResourceResponseMIMETypes(); void dumpHistoryCallbacks(); - void dumpConfigurationForViewport(int availableWidth, int availableHeight); + void dumpConfigurationForViewport(int deviceDPI, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight); void setWillSendRequestReturnsNullOnRedirect(bool enabled); void setWillSendRequestReturnsNull(bool enabled); void setWillSendRequestClearHeader(const QStringList& headers); @@ -252,6 +252,8 @@ public slots: QString pageProperty(const QString& propertyName, int pageNumber); void addUserStyleSheet(const QString& sourceCode); + void setMinimumTimerInterval(double); + private slots: void processWork(); diff --git a/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro b/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro index 176c4c4..96f0fc5 100644 --- a/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro +++ b/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro @@ -30,6 +30,7 @@ SOURCES = PluginObject.cpp \ TestObject.cpp \ Tests/DocumentOpenInDestroyStream.cpp \ Tests/EvaluateJSAfterRemovingPluginElement.cpp \ + Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp \ Tests/GetUserAgentWithNullNPPFromNPPNew.cpp \ Tests/NPRuntimeObjectFromDestroyedPlugin.cpp \ Tests/NPRuntimeRemoveProperty.cpp \ diff --git a/Tools/DumpRenderTree/win/DumpRenderTree.cpp b/Tools/DumpRenderTree/win/DumpRenderTree.cpp index a8028c5..66e7311 100644 --- a/Tools/DumpRenderTree/win/DumpRenderTree.cpp +++ b/Tools/DumpRenderTree/win/DumpRenderTree.cpp @@ -40,6 +40,7 @@ #include "WorkQueueItem.h" #include "WorkQueue.h" +#include #include #include #include @@ -131,12 +132,40 @@ bool setAlwaysAcceptCookies(bool alwaysAcceptCookies) #endif } -wstring urlSuitableForTestResult(const wstring& url) +static RetainPtr substringFromIndex(CFStringRef string, CFIndex index) { - if (url.find(L"file://") == wstring::npos) - return url; + return RetainPtr(AdoptCF, CFStringCreateWithSubstring(kCFAllocatorDefault, string, CFRangeMake(index, CFStringGetLength(string) - index))); +} + +wstring urlSuitableForTestResult(const wstring& urlString) +{ + RetainPtr url(AdoptCF, CFURLCreateWithBytes(kCFAllocatorDefault, reinterpret_cast(urlString.c_str()), urlString.length() * sizeof(wstring::value_type), kCFStringEncodingUTF16, 0)); + + RetainPtr scheme(AdoptCF, CFURLCopyScheme(url.get())); + if (scheme && CFStringCompare(scheme.get(), CFSTR("file"), kCFCompareCaseInsensitive) != kCFCompareEqualTo) + return urlString; + + COMPtr dataSource; + if (FAILED(frame->dataSource(&dataSource))) { + if (FAILED(frame->provisionalDataSource(&dataSource))) + return urlString; + } + + COMPtr request; + if (FAILED(dataSource->request(&request))) + return urlString; + + _bstr_t requestURLString; + if (FAILED(request->URL(requestURLString.GetAddress()))) + return urlString; + + RetainPtr requestURL(AdoptCF, CFURLCreateWithBytes(kCFAllocatorDefault, reinterpret_cast(requestURLString.GetBSTR()), requestURLString.length() * sizeof(OLECHAR), kCFStringEncodingUTF16, 0)); + RetainPtr baseURL(AdoptCF, CFURLCreateCopyDeletingLastPathComponent(kCFAllocatorDefault, requestURL.get())); + + RetainPtr basePath(AdoptCF, CFURLCopyPath(baseURL.get())); + RetainPtr path(AdoptCF, CFURLCopyPath(url.get())); - return lastPathComponent(url); + return cfStringRefToWString(substringFromIndex(path.get(), CFStringGetLength(basePath.get())).get()); } wstring lastPathComponent(const wstring& url) @@ -168,6 +197,14 @@ string toUTF8(const wstring& wideString) return toUTF8(wideString.c_str(), wideString.length()); } +wstring cfStringRefToWString(CFStringRef cfStr) +{ + Vector v(CFStringGetLength(cfStr)); + CFStringGetCharacters(cfStr, CFRangeMake(0, CFStringGetLength(cfStr)), (UniChar *)v.data()); + + return wstring(v.data(), v.size()); +} + static LRESULT CALLBACK DumpRenderTreeWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { @@ -763,6 +800,11 @@ static bool shouldOpenWebInspector(const char* pathOrURL) return strstr(pathOrURL, "/inspector/") || strstr(pathOrURL, "\\inspector\\"); } +static bool shouldDumpAsText(const char* pathOrURL) +{ + return strstr(pathOrURL, "/dumpAsText/") || strstr(pathOrURL, "\\dumpAsText\\"); +} + static bool shouldEnableDeveloperExtras(const char* pathOrURL) { return true; @@ -866,6 +908,10 @@ static void resetWebViewToConsistentStateBeforeTesting() if (!webViewPrivate) return; + double minimumInterval = 0; + if (SUCCEEDED(webViewPrivate->defaultMinimumTimerInterval(&minimumInterval))) + webViewPrivate->setMinimumTimerInterval(minimumInterval); + COMPtr inspector; if (SUCCEEDED(webViewPrivate->inspector(&inspector))) inspector->setJavaScriptProfilingEnabled(FALSE); @@ -886,6 +932,10 @@ static void resetWebViewToConsistentStateBeforeTesting() sharedUIDelegate->resetUndoManager(); sharedFrameLoadDelegate->resetToConsistentState(); + + COMPtr framePrivate; + if (SUCCEEDED(frame->QueryInterface(&framePrivate))) + framePrivate->clearOpener(); } static void runTest(const string& testPathOrURL) @@ -954,6 +1004,10 @@ static void runTest(const string& testPathOrURL) if (shouldOpenWebInspector(pathOrURL.c_str())) gLayoutTestController->showWebInspector(); } + if (shouldDumpAsText(pathOrURL.c_str())) { + gLayoutTestController->setDumpAsText(true); + gLayoutTestController->setGeneratePixelResults(false); + } prevTestBFItem = 0; if (webView) { @@ -1245,6 +1299,11 @@ static LONG WINAPI exceptionFilter(EXCEPTION_POINTERS*) int main(int argc, char* argv[]) { + // Cygwin calls ::SetErrorMode(SEM_FAILCRITICALERRORS), which we will inherit. This is bad for + // testing/debugging, as it causes the post-mortem debugger not to be invoked. We reset the + // error mode here to work around Cygwin's behavior. See . + ::SetErrorMode(0); + ::SetUnhandledExceptionFilter(exceptionFilter); leakChecking = false; diff --git a/Tools/DumpRenderTree/win/DumpRenderTreeWin.h b/Tools/DumpRenderTree/win/DumpRenderTreeWin.h index 27edaa6..c64c3bf 100644 --- a/Tools/DumpRenderTree/win/DumpRenderTreeWin.h +++ b/Tools/DumpRenderTree/win/DumpRenderTreeWin.h @@ -52,6 +52,8 @@ std::wstring urlSuitableForTestResult(const std::wstring& url); std::wstring lastPathComponent(const std::wstring&); std::string toUTF8(BSTR); std::string toUTF8(const std::wstring&); +std::wstring cfStringRefToWString(CFStringRef); + IWebView* createWebViewAndOffscreenWindow(HWND* webViewWindow = 0); Vector& openWindows(); typedef HashMap > WindowToWebViewMap; diff --git a/Tools/DumpRenderTree/win/EditingDelegate.cpp b/Tools/DumpRenderTree/win/EditingDelegate.cpp index 71859cb..3552ecd 100644 --- a/Tools/DumpRenderTree/win/EditingDelegate.cpp +++ b/Tools/DumpRenderTree/win/EditingDelegate.cpp @@ -357,7 +357,7 @@ HRESULT STDMETHODCALLTYPE EditingDelegate::webViewDidChangeSelection( static int indexOfFirstWordCharacter(const TCHAR* text) { const TCHAR* cursor = text; - while (*cursor && !isalpha(*cursor)) + while (*cursor && !iswalpha(*cursor)) ++cursor; return *cursor ? (cursor - text) : -1; }; @@ -365,7 +365,7 @@ static int indexOfFirstWordCharacter(const TCHAR* text) static int wordLength(const TCHAR* text) { const TCHAR* cursor = text; - while (*cursor && isalpha(*cursor)) + while (*cursor && iswalpha(*cursor)) ++cursor; return cursor - text; }; diff --git a/Tools/DumpRenderTree/win/EventSender.cpp b/Tools/DumpRenderTree/win/EventSender.cpp index 94f0945..e1c5cd5 100644 --- a/Tools/DumpRenderTree/win/EventSender.cpp +++ b/Tools/DumpRenderTree/win/EventSender.cpp @@ -473,6 +473,8 @@ static JSValueRef keyDownCallback(JSContextRef context, JSObjectRef function, JS virtualKeyCode = VK_DELETE; else if (JSStringIsEqualToUTF8CString(character, "printScreen")) virtualKeyCode = VK_SNAPSHOT; + else if (JSStringIsEqualToUTF8CString(character, "menu")) + virtualKeyCode = VK_APPS; else { charCode = JSStringGetCharactersPtr(character)[0]; virtualKeyCode = LOBYTE(VkKeyScan(charCode)); diff --git a/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp b/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp index a84e0f3..9f0de91 100644 --- a/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp +++ b/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp @@ -206,12 +206,26 @@ void FrameLoadDelegate::resetToConsistentState() m_accessibilityController->resetToConsistentState(); } -static void CALLBACK processWorkTimer(HWND, UINT, UINT_PTR id, DWORD) +typedef Vector > DelegateVector; +static DelegateVector& delegatesWithDelayedWork() { - ::KillTimer(0, id); - FrameLoadDelegate* d = g_delegateWaitingOnTimer; - g_delegateWaitingOnTimer = 0; - d->processWork(); + DEFINE_STATIC_LOCAL(DelegateVector, delegates, ()); + return delegates; +} + +static UINT_PTR processWorkTimerID; + +static void CALLBACK processWorkTimer(HWND hwnd, UINT, UINT_PTR id, DWORD) +{ + ASSERT_ARG(id, id == processWorkTimerID); + ::KillTimer(hwnd, id); + processWorkTimerID = 0; + + DelegateVector delegates; + delegates.swap(delegatesWithDelayedWork()); + + for (size_t i = 0; i < delegates.size(); ++i) + delegates[i]->processWork(); } void FrameLoadDelegate::locationChangeDone(IWebError*, IWebFrame* frame) @@ -226,9 +240,9 @@ void FrameLoadDelegate::locationChangeDone(IWebError*, IWebFrame* frame) return; if (WorkQueue::shared()->count()) { - ASSERT(!g_delegateWaitingOnTimer); - g_delegateWaitingOnTimer = this; - ::SetTimer(0, 0, 0, processWorkTimer); + if (!processWorkTimerID) + processWorkTimerID = ::SetTimer(0, 0, 0, processWorkTimer); + delegatesWithDelayedWork().append(this); return; } diff --git a/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp b/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp index 1dabf03..12a3a55 100644 --- a/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp +++ b/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp @@ -711,14 +711,6 @@ static bool resolveCygwinPath(const wstring& cygwinPath, wstring& windowsPath) return true; } -static wstring cfStringRefToWString(CFStringRef cfStr) -{ - Vector v(CFStringGetLength(cfStr)); - CFStringGetCharacters(cfStr, CFRangeMake(0, CFStringGetLength(cfStr)), (UniChar *)v.data()); - - return wstring(v.data(), v.size()); -} - void LayoutTestController::setUserStyleSheetLocation(JSStringRef jsURL) { COMPtr webView; @@ -763,6 +755,11 @@ void LayoutTestController::setUserStyleSheetLocation(JSStringRef jsURL) SysFreeString(resultPathBSTR); } +void LayoutTestController::setValueForUser(JSContextRef context, JSValueRef element, JSStringRef value) +{ + // FIXME: implement +} + void LayoutTestController::setViewModeMediaFeature(JSStringRef mode) { // FIXME: implement @@ -1421,7 +1418,7 @@ bool LayoutTestController::hasSpellingMarker(int from, int length) return ret; } -void LayoutTestController::dumpConfigurationForViewport(int /*availableWidth*/, int /*availableHeight*/) +void LayoutTestController::dumpConfigurationForViewport(int /*deviceDPI*/, int /*deviceWidth*/, int /*deviceHeight*/, int /*availableWidth*/, int /*availableHeight*/) { // FIXME: Implement this. } @@ -1430,3 +1427,16 @@ void LayoutTestController::setSerializeHTTPLoads(bool) { // FIXME: Implement. } + +void LayoutTestController::setMinimumTimerInterval(double minimumTimerInterval) +{ + COMPtr webView; + if (FAILED(frame->webView(&webView))) + return; + + COMPtr viewPrivate(Query, webView); + if (!viewPrivate) + return; + + viewPrivate->setMinimumTimerInterval(minimumTimerInterval); +} diff --git a/Tools/DumpRenderTree/win/UIDelegate.cpp b/Tools/DumpRenderTree/win/UIDelegate.cpp index 1e7669f..a734a84 100755 --- a/Tools/DumpRenderTree/win/UIDelegate.cpp +++ b/Tools/DumpRenderTree/win/UIDelegate.cpp @@ -486,7 +486,7 @@ HRESULT STDMETHODCALLTYPE UIDelegate::webViewAddMessageToConsole( newMessage = message; size_t fileProtocol = newMessage.find(L"file://"); if (fileProtocol != wstring::npos) - newMessage = newMessage.substr(0, fileProtocol) + urlSuitableForTestResult(newMessage.substr(fileProtocol)); + newMessage = newMessage.substr(0, fileProtocol) + lastPathComponent(newMessage.substr(fileProtocol)); } printf("CONSOLE MESSAGE: line %d: %s\n", lineNumber, toUTF8(newMessage).c_str()); diff --git a/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp b/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp index 1befb77..a95aa50 100644 --- a/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp +++ b/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp @@ -135,6 +135,11 @@ void LayoutTestController::setUserStyleSheetLocation(JSStringRef path) { } +void LayoutTestController::setValueForUser(JSContextRef context, JSValueRef element, JSStringRef value) +{ + // FIXME: implement +} + void LayoutTestController::setViewModeMediaFeature(JSStringRef mode) { // FIXME: implement @@ -511,7 +516,7 @@ bool LayoutTestController::hasSpellingMarker(int, int) return false; } -void LayoutTestController::dumpConfigurationForViewport(int /*availableWidth*/, int /*availableHeight*/) +void LayoutTestController::dumpConfigurationForViewport(int /*deviceDPI*/, int /*deviceWidth*/, int /*deviceHeight*/, int /*availableWidth*/, int /*availableHeight*/) { // FIXME: Implement } @@ -549,3 +554,8 @@ void LayoutTestController::setSerializeHTTPLoads(bool) { // FIXME: Implement. } + +void LayoutTestController::setMinimumTimerInterval(double interval) { + +} + diff --git a/Tools/EWebLauncher/main.c b/Tools/EWebLauncher/main.c index 79bc043..4a9e1ba 100644 --- a/Tools/EWebLauncher/main.c +++ b/Tools/EWebLauncher/main.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia * Copyright (C) 2009, 2010 ProFUSION embedded systems - * Copyright (C) 2009, 2010 Samsung Electronics + * Copyright (C) 2009, 2010, 2011 Samsung Electronics * * All rights reserved. * @@ -99,7 +99,7 @@ static const Ecore_Getopt options = { "0.0.1", "(C)2008 INdT (The Nokia Technology Institute)\n" "(C)2009, 2010 ProFUSION embedded systems\n" - "(C)2009, 2010 Samsung Electronics", + "(C)2009, 2010, 2011 Samsung Electronics", "GPL", "Test Web Browser using the Enlightenment Foundation Libraries of WebKit", EINA_TRUE, { @@ -111,6 +111,8 @@ static const Ecore_Getopt options = { ECORE_GETOPT_CHOICE ('b', "backing-store", "choose backing store to use.", backingStores), ECORE_GETOPT_STORE_DEF_BOOL + ('f', "flattening", "frame flattening.", 0), + ECORE_GETOPT_STORE_DEF_BOOL ('F', "fullscreen", "fullscreen mode.", 0), ECORE_GETOPT_CALLBACK_ARGS ('g', "geometry", "geometry to use in x:y:w:h form.", "X:Y:W:H", @@ -153,12 +155,13 @@ typedef struct _ELauncher { const char *theme; const char *userAgent; const char *backingStore; + unsigned char isFlattening; Viewport viewport; } ELauncher; static void browserDestroy(Ecore_Evas *ee); static void closeWindow(Ecore_Evas *ee); -static int browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Rectangle geometry, const char *engine, const char *backingStore, unsigned char isFullscreen, const char *databasePath); +static int browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Rectangle geometry, const char *engine, const char *backingStore, unsigned char isFlattening, unsigned char isFullscreen, const char *databasePath); static void print_history(Eina_List *list) @@ -568,11 +571,10 @@ on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) } else if (!strcmp(ev->key, "F6")) { info("Stop (F6) was pressed, stop loading.\n"); ewk_view_stop(obj); - /* } FIXME: uncomment code below after Bug 18662 lands upstream. - else if (!strcmp(ev->key, "F12")) { - bool status = ewk_webframe_object_keyboard_navigation_get(page); - ewk_webframe_object_keyboard_navigation_set(page, !status); - info("Command::keyboard navigation toggle\n");*/ + } else if (!strcmp(ev->key, "F12")) { + Eina_Bool status = ewk_view_setting_spatial_navigation_get(obj); + ewk_view_setting_spatial_navigation_set(obj, !status); + info("Command::keyboard navigation toggle\n"); } else if (!strcmp(ev->key, "F7")) { info("Zoom out (F7) was pressed.\n"); if (currentZoomLevel > MIN_ZOOM_LEVEL && zoom_level_set(obj, currentZoomLevel - 1)) @@ -586,7 +588,7 @@ on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) Eina_Rectangle geometry = {0, 0, 0, 0}; browserCreate("http://www.google.com", app->theme, app->userAgent, geometry, app-> backingStore, - NULL, 0, NULL); + NULL, app->isFlattening, 0, NULL); } else if (!strcmp(ev->key, "F10")) { Evas_Coord x, y, w, h; Evas_Object *frame = ewk_view_frame_main_get(obj); @@ -650,7 +652,7 @@ quit(Eina_Bool success, const char *msg) } static int -browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Rectangle geometry, const char *engine, const char *backingStore, unsigned char isFullscreen, const char *databasePath) +browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Rectangle geometry, const char *engine, const char *backingStore, unsigned char isFlattening, unsigned char isFullscreen, const char *databasePath) { if ((geometry.w <= 0) && (geometry.h <= 0)) { geometry.w = DEFAULT_WIDTH; @@ -681,6 +683,7 @@ browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Re app->theme = theme; app->userAgent = userAgent; app->backingStore = backingStore; + app->isFlattening = isFlattening; app->bg = evas_object_rectangle_add(app->evas); evas_object_name_set(app->bg, "bg"); @@ -702,6 +705,7 @@ browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Re if (userAgent) ewk_view_setting_user_agent_set(app->browser, userAgent); ewk_view_setting_local_storage_database_path_set(app->browser, databasePath); + ewk_view_setting_enable_frame_flattening_set(app->browser, isFlattening); evas_object_name_set(app->browser, "browser"); @@ -821,6 +825,7 @@ main(int argc, char *argv[]) char *backingStore = (char *)backingStores[0]; unsigned char quitOption = 0; + unsigned char isFlattening = 0; unsigned char isFullscreen = 0; int args; @@ -828,6 +833,7 @@ main(int argc, char *argv[]) ECORE_GETOPT_VALUE_STR(engine), ECORE_GETOPT_VALUE_BOOL(quitOption), ECORE_GETOPT_VALUE_STR(backingStore), + ECORE_GETOPT_VALUE_BOOL(isFlattening), ECORE_GETOPT_VALUE_BOOL(isFullscreen), ECORE_GETOPT_VALUE_PTR_CAST(geometry), ECORE_GETOPT_VALUE_STR(theme), @@ -879,7 +885,7 @@ main(int argc, char *argv[]) if (proxyUri) ewk_settings_proxy_uri_set(proxyUri); - browserCreate(url, themePath, userAgent, geometry, engine, backingStore, isFullscreen, path); + browserCreate(url, themePath, userAgent, geometry, engine, backingStore, isFlattening, isFullscreen, path); ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, &windows); ecore_main_loop_begin(); diff --git a/Tools/GNUmakefile.am b/Tools/GNUmakefile.am index a208afe..87f5429 100644 --- a/Tools/GNUmakefile.am +++ b/Tools/GNUmakefile.am @@ -178,6 +178,7 @@ TestNetscapePlugin_libtestnetscapeplugin_la_SOURCES = \ Tools/DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp \ Tools/DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp \ Tools/DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSAfterRemovingPluginElement.cpp \ + Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp \ Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp \ Tools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp \ Tools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeRemoveProperty.cpp \ diff --git a/Tools/MiniBrowser/mac/BrowserWindowController.m b/Tools/MiniBrowser/mac/BrowserWindowController.m index fd6f2e0..5c4efef 100644 --- a/Tools/MiniBrowser/mac/BrowserWindowController.m +++ b/Tools/MiniBrowser/mac/BrowserWindowController.m @@ -370,7 +370,7 @@ static void decidePolicyForNewWindowAction(WKPageRef page, WKFrameRef frame, WKF WKFramePolicyListenerUse(listener); } -static void decidePolicyForMIMEType(WKPageRef page, WKFrameRef frame, WKStringRef MIMEType, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) +static void decidePolicyForResponse(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) { WKFramePolicyListenerUse(listener); } @@ -597,7 +597,8 @@ static void runOpenPanel(WKPageRef page, WKFrameRef frame, WKOpenPanelParameters didBecomeUnresponsive, didBecomeResponsive, processDidExit, - didChangeBackForwardList + didChangeBackForwardList, + 0 // shouldGoToBackForwardItem }; WKPageSetPageLoaderClient(_webView.pageRef, &loadClient); @@ -606,7 +607,8 @@ static void runOpenPanel(WKPageRef page, WKFrameRef frame, WKOpenPanelParameters self, /* clientInfo */ decidePolicyForNavigationAction, decidePolicyForNewWindowAction, - decidePolicyForMIMEType + decidePolicyForResponse, + 0 /* unableToImplementPolicy */ }; WKPageSetPagePolicyClient(_webView.pageRef, &policyClient); diff --git a/Tools/MiniBrowser/qt/BrowserWindow.cpp b/Tools/MiniBrowser/qt/BrowserWindow.cpp index 0405e9e..67d5696 100644 --- a/Tools/MiniBrowser/qt/BrowserWindow.cpp +++ b/Tools/MiniBrowser/qt/BrowserWindow.cpp @@ -197,6 +197,8 @@ void BrowserWindow::loadProgress(int progress) void BrowserWindow::urlChanged(const QUrl& url) { m_addressBar->setText(url.toString()); + m_browser->setFocus(); + m_browser->view()->setFocus(); } void BrowserWindow::openFile() diff --git a/Tools/MiniBrowser/qt/MiniBrowser.pro b/Tools/MiniBrowser/qt/MiniBrowser.pro index cefa678..0038823 100644 --- a/Tools/MiniBrowser/qt/MiniBrowser.pro +++ b/Tools/MiniBrowser/qt/MiniBrowser.pro @@ -47,7 +47,7 @@ linux-* { } symbian { - TARGET.UID3 = 0xA000E543 + TARGET.UID3 = 0xA000E545 TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices } diff --git a/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp b/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp index 4ed7895..d68d299 100644 --- a/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp +++ b/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp @@ -58,7 +58,7 @@ void MiniBrowserApplication::handleUserOptions() << "[-r list]" << "[-robot-timeout seconds]" << "[-robot-extra-time seconds]" - << "[-tiled-backing-store]" + << "[-chunked-drawing-area]" << "[-separate-web-process-per-window]" << "URLs"; appQuit(0); @@ -87,8 +87,8 @@ void MiniBrowserApplication::handleUserOptions() if (robotExtraTimeIndex != -1) m_robotExtraTimeSeconds = takeOptionValue(&args, robotExtraTimeIndex).toInt(); - if (args.contains("-tiled-backing-store")) - m_windowOptions.useTiledBackingStore = true; + if (args.contains("-chunked-drawing-area")) + m_windowOptions.useTiledBackingStore = false; if (args.contains("-separate-web-process-per-window")) m_windowOptions.useSeparateWebProcessPerWindow = true; diff --git a/Tools/MiniBrowser/qt/MiniBrowserApplication.h b/Tools/MiniBrowser/qt/MiniBrowserApplication.h index 2039764..45dbde9 100644 --- a/Tools/MiniBrowser/qt/MiniBrowserApplication.h +++ b/Tools/MiniBrowser/qt/MiniBrowserApplication.h @@ -34,7 +34,7 @@ struct WindowOptions { WindowOptions() - : useTiledBackingStore(false) + : useTiledBackingStore(true) , useSeparateWebProcessPerWindow(false) { } diff --git a/Tools/MiniBrowser/win/BrowserView.cpp b/Tools/MiniBrowser/win/BrowserView.cpp index b9aaadc..f9ccfe7 100644 --- a/Tools/MiniBrowser/win/BrowserView.cpp +++ b/Tools/MiniBrowser/win/BrowserView.cpp @@ -123,6 +123,8 @@ void BrowserView::create(RECT webViewRect, BrowserWindow* parentWindow) }; WKPageSetPageUIClient(WKViewGetPage(m_webView), &uiClient); + + WKViewSetIsInWindow(m_webView, true); } void BrowserView::setFrame(RECT rect) diff --git a/Tools/QtTestBrowser/launcherwindow.cpp b/Tools/QtTestBrowser/launcherwindow.cpp index bd332fc..d76ad3a 100644 --- a/Tools/QtTestBrowser/launcherwindow.cpp +++ b/Tools/QtTestBrowser/launcherwindow.cpp @@ -56,9 +56,6 @@ LauncherWindow::LauncherWindow(WindowOptions* data, QGraphicsScene* sharedScene) LauncherWindow::~LauncherWindow() { grabZoomKeys(false); - - if (page()) - page()->setQnamThreaded(false); } void LauncherWindow::init() @@ -99,7 +96,6 @@ void LauncherWindow::initializeView() m_inputUrl = addressUrl(); QUrl url = page()->mainFrame()->url(); setPage(new WebPage(this)); - page()->setQnamThreaded(m_windowOptions.useThreadedQnam); QSplitter* splitter = static_cast(centralWidget()); @@ -246,10 +242,6 @@ void LauncherWindow::createChrome() toggleWebGL->setCheckable(true); toggleWebGL->setChecked(settings->testAttribute(QWebSettings::WebGLEnabled)); - QAction* toggleThreadedQnam = toolsMenu->addAction("Toggle threaded network", this, SLOT(toggleThreadedQnam(bool))); - toggleThreadedQnam->setCheckable(true); - toggleThreadedQnam->setChecked(m_windowOptions.useThreadedQnam); - QAction* spatialNavigationAction = toolsMenu->addAction("Toggle Spatial Navigation", this, SLOT(toggleSpatialNavigation(bool))); spatialNavigationAction->setCheckable(true); spatialNavigationAction->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_S)); @@ -757,12 +749,6 @@ void LauncherWindow::toggleWebGL(bool toggle) page()->settings()->setAttribute(QWebSettings::WebGLEnabled, toggle); } -void LauncherWindow::toggleThreadedQnam(bool toggle) -{ - m_windowOptions.useThreadedQnam = toggle; - page()->setQnamThreaded(toggle); -} - void LauncherWindow::animatedFlip() { qobject_cast(m_view)->animatedFlip(); diff --git a/Tools/QtTestBrowser/launcherwindow.h b/Tools/QtTestBrowser/launcherwindow.h index e13858e..0b8e87d 100644 --- a/Tools/QtTestBrowser/launcherwindow.h +++ b/Tools/QtTestBrowser/launcherwindow.h @@ -89,7 +89,6 @@ public: #else , useFrameFlattening(false) #endif - , useThreadedQnam(true) , cacheWebView(false) , showFrameRate(false) , resizesToContents(false) @@ -109,7 +108,6 @@ public: bool useTiledBackingStore; bool useWebGL; bool useFrameFlattening; - bool useThreadedQnam; bool cacheWebView; bool showFrameRate; bool resizesToContents; @@ -165,7 +163,6 @@ protected slots: void toggleTiledBackingStore(bool toggle); void toggleResizesToContents(bool toggle); void toggleWebGL(bool toggle); - void toggleThreadedQnam(bool toggle); void toggleSpatialNavigation(bool b); void toggleFullScreenMode(bool enable); void toggleFrameFlattening(bool toggle); diff --git a/Tools/QtTestBrowser/useragentlist.txt b/Tools/QtTestBrowser/useragentlist.txt index 1c424d9..0b29d40 100644 --- a/Tools/QtTestBrowser/useragentlist.txt +++ b/Tools/QtTestBrowser/useragentlist.txt @@ -2,6 +2,7 @@ Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/533.3 (KHTML, like Gecko) QtTestB Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0; en-GB) AppleWebKit/533.3 (KHTML, like Gecko) QtTestBrowser/0.1 Mobile Safari/533.3 Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/125.8 Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 +Mozilla/5.0 (Unknown; like Android 2.2; U; Intel Mac OS X 10_6; en-gb) AppleWebKit/533.3 (KHTML, like Gecko) Version/4.0.3 Mobile Safari/533.3 Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10 Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10 diff --git a/Tools/QtTestBrowser/webpage.cpp b/Tools/QtTestBrowser/webpage.cpp index 400355e..9088ce2 100644 --- a/Tools/QtTestBrowser/webpage.cpp +++ b/Tools/QtTestBrowser/webpage.cpp @@ -45,10 +45,11 @@ WebPage::WebPage(QObject* parent) : QWebPage(parent) , m_userAgent() , m_interruptingJavaScriptEnabled(false) - , m_qnamThread(0) { applyProxy(); + connect(networkAccessManager(), SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), + this, SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*))); connect(this, SIGNAL(featurePermissionRequested(QWebFrame*, QWebPage::Feature)), this, SLOT(requestPermission(QWebFrame*, QWebPage::Feature))); connect(this, SIGNAL(featurePermissionRequestCanceled(QWebFrame*, QWebPage::Feature)), this, SLOT(featurePermissionRequestCanceled(QWebFrame*, QWebPage::Feature))); } @@ -122,30 +123,6 @@ QString WebPage::userAgentForUrl(const QUrl& url) const return QWebPage::userAgentForUrl(url); } -void WebPage::setQnamThreaded(bool threaded) -{ - bool alreadyThreaded = networkAccessManager()->thread() != thread(); - if (threaded == alreadyThreaded) - return; - - if (threaded) { - if (!m_qnamThread) - m_qnamThread = new QtNAMThread(this); - m_qnamThread->start(); - setNetworkAccessManager(m_qnamThread->networkAccessManager()); - } else { - setNetworkAccessManager(0); - delete m_qnamThread; - m_qnamThread = 0; - } - - Qt::ConnectionType connectionType = threaded ? Qt::BlockingQueuedConnection : Qt::DirectConnection; - connect(networkAccessManager(), SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), - this, SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*)), - connectionType); - applyProxy(); -} - bool WebPage::shouldInterruptJavaScript() { if (!m_interruptingJavaScriptEnabled) diff --git a/Tools/QtTestBrowser/webpage.h b/Tools/QtTestBrowser/webpage.h index 3b856c9..01f3f6a 100644 --- a/Tools/QtTestBrowser/webpage.h +++ b/Tools/QtTestBrowser/webpage.h @@ -33,15 +33,9 @@ #ifndef webpage_h #define webpage_h -#include -#include -#include -#include #include #include -class QtNAMThread; - class WebPage : public QWebPage { Q_OBJECT @@ -57,7 +51,6 @@ public: QString userAgentForUrl(const QUrl& url) const; void setInterruptingJavaScriptEnabled(bool enabled) { m_interruptingJavaScriptEnabled = enabled; } - void setQnamThreaded(bool threaded); public slots: void openUrlInDefaultBrowser(const QUrl& url = QUrl()); @@ -71,46 +64,6 @@ private: void applyProxy(); QString m_userAgent; bool m_interruptingJavaScriptEnabled; - QtNAMThread* m_qnamThread; -}; - - -class QtNAMThread : public QThread { -public: - QtNAMThread(QObject *parent = 0) - : QThread(parent) - , m_qnam(0) - { - } - ~QtNAMThread() - { - quit(); - wait(); - } - - QNetworkAccessManager* networkAccessManager() - { - QMutexLocker lock(&m_mutex); - while (!m_qnam) - m_waitCondition.wait(&m_mutex); - return m_qnam; - } -protected: - void run() - { - Q_ASSERT(!m_qnam); - { - QMutexLocker lock(&m_mutex); - m_qnam = new QNetworkAccessManager; - m_waitCondition.wakeAll(); - } - exec(); - delete m_qnam; - } -private: - QNetworkAccessManager* m_qnam; - QMutex m_mutex; - QWaitCondition m_waitCondition; }; #endif diff --git a/Tools/Scripts/VCSUtils.pm b/Tools/Scripts/VCSUtils.pm index 70e9acd..a05a75d 100644 --- a/Tools/Scripts/VCSUtils.pm +++ b/Tools/Scripts/VCSUtils.pm @@ -59,6 +59,7 @@ BEGIN { &gitBranch &gitdiff2svndiff &isGit + &isGitSVN &isGitBranchBuild &isGitDirectory &isSVN @@ -88,6 +89,7 @@ our @EXPORT_OK; my $gitBranch; my $gitRoot; my $isGit; +my $isGitSVN; my $isGitBranchBuild; my $isSVN; my $svnVersion; @@ -201,6 +203,18 @@ sub isGit() return $isGit; } +sub isGitSVN() +{ + return $isGitSVN if defined $isGitSVN; + + # There doesn't seem to be an officially documented way to determine + # if you're in a git-svn checkout. The best suggestions seen so far + # all use something like the following: + my $output = `git config --get svn-remote.svn.fetch 2>& 1`; + $isGitSVN = $output ne ''; + return $isGitSVN; +} + sub gitBranch() { unless (defined $gitBranch) { diff --git a/Tools/Scripts/bisect-builds b/Tools/Scripts/bisect-builds index 063b61e..cd34899 100755 --- a/Tools/Scripts/bisect-builds +++ b/Tools/Scripts/bisect-builds @@ -1,6 +1,6 @@ #!/usr/bin/perl -w -# Copyright (C) 2007, 2008 Apple Inc. All rights reserved. +# Copyright (C) 2007, 2008, 2011 Apple Inc. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -57,6 +57,7 @@ sub max($$) { return $_[0] > $_[1] ? $_[0] : $_[1]; } sub mountAndRunNightly($$$$); sub parseRevisions($$;$); sub printStatus($$$); +sub printTracLink($$); sub promptForTest($); loadSettings(); @@ -197,6 +198,8 @@ while (abs($endIndex - $startIndex) > 1) { printStatus($nightlies[$startIndex]->{rev}, $nightlies[$endIndex]->{rev}, $isProgression); } +printTracLink($nightlies[$startIndex]->{rev}, $nightlies[$endIndex]->{rev}); + unlink $tempFile if $tempFile; exit 0; @@ -420,6 +423,12 @@ sub printStatus($$$) $isProgression ? "Works" : "Fails", $endRevision; } +sub printTracLink($$) +{ + my ($startRevision, $endRevision) = @_; + printf("http://trac.webkit.org/log/trunk/?rev=%s&stop_rev=%s\n", $endRevision, $startRevision + 1); +} + sub promptForTest($) { my ($revision) = @_; diff --git a/Tools/Scripts/build-webkit b/Tools/Scripts/build-webkit index 74015ec..d5b4777 100755 --- a/Tools/Scripts/build-webkit +++ b/Tools/Scripts/build-webkit @@ -41,9 +41,9 @@ use webkitdirs; use webkitperl::features; use POSIX; +sub checkForJavaSDK(); sub formatBuildTime($); sub writeCongrats(); -sub checkForJavaSDK(); my $originalWorkingDirectory = getcwd(); chdirWebKit(); @@ -70,6 +70,7 @@ my ( $databaseSupport, $datagridSupport, $datalistSupport, + $dataTransferItemsSupport, $deviceOrientationSupport, $directoryUploadSupport, $domStorageSupport, @@ -148,6 +149,9 @@ my @features = ( { option => "datalist", desc => "Toggle HTML5 datalist support", define => "ENABLE_DATALIST", default => 1, value => \$datalistSupport }, + { option => "data-transfer-items", desc => "Toggle HTML5 data transfer items support", + define => "ENABLE_DATA_TRANSFER_ITEMS", default => 0, value => \$dataTransferItemsSupport }, + { option => "device-orientation", desc => "Toggle DeviceOrientation support", define => "ENABLE_DEVICE_ORIENTATION", default => 0, value => \$deviceOrientationSupport }, @@ -200,7 +204,7 @@ my @features = ( define => "ENABLE_MEDIA_STATISTICS", default => 0, value => \$mediaStatisticsSupport }, { option => "meter-tag", desc => "Meter Tag support", - define => "ENABLE_METER_TAG", default => !isGtk() && !isAppleWinWebKit(), value => \$meterTagSupport }, + define => "ENABLE_METER_TAG", default => !isAppleWinWebKit(), value => \$meterTagSupport }, { option => "netscape-plugin", desc => "Netscape Plugin support", define => "ENABLE_NETSCAPE_PLUGIN_API", default => !isEfl(), value => \$netscapePluginSupport }, @@ -286,6 +290,13 @@ my @features = ( # Update defaults from Qt's project file if (isQt()) { + # Take a sneek peek at the arguments, since we will need the qmake binary early + # on to do profile parsing. + foreach (@ARGV) { + if (/^--qmake=(.*)/) { + setQmakeBinaryPath($1); + } + } my %qtDefaults = qtFeatureDefaults(); foreach (@features) { $_->{default} = $qtDefaults{$_->{define}} || 0; @@ -372,10 +383,14 @@ setConfiguration(); my $productDir = productDir(); +# Remove Qt makefiles from productDir. +# https://bugs.webkit.org/show_bug.cgi?id=54466 +File::Find::find(sub {unlink $File::Find::name if $File::Find::name =~ m/Makefile/;}, $productDir) if (isQt() && !isSymbian() && -e $productDir); + # Remove 0 byte sized files from productDir after slave lost for Qt buildbots. File::Find::find(\&unlinkZeroFiles, $productDir) if (isQt() && !isSymbian() && -e $productDir); -sub unlinkZeroFiles () +sub unlinkZeroFiles() { my $file = $File::Find::name; if (! -s $file) { @@ -606,7 +621,7 @@ sub checkForJavaSDK() } print "\nCan't find required $jniHeader, build will fail.\n\n"; print "After installing \"Java for Mac OS X 10.6 Update 3\", the Java Developer Package is required to build WebKit.\n"; - print "Please install the package from http://connect.apple.com (found under Dowloads > Java).\n\n"; + print "Please install the package from http://connect.apple.com (found under Downloads > Java).\n\n"; print "For more information, see:\n"; print "https://lists.webkit.org/pipermail/webkit-dev/2010-October/014867.html\n"; print "https://webkit.org/building/tools.html\n\n"; diff --git a/Tools/Scripts/check-for-global-initializers b/Tools/Scripts/check-for-global-initializers index 102fa09..7f90577 100755 --- a/Tools/Scripts/check-for-global-initializers +++ b/Tools/Scripts/check-for-global-initializers @@ -124,6 +124,12 @@ for my $file (sort @files) { next if $shortName eq "HostedNetscapePluginStream.o"; next if $shortName eq "NetscapePluginInstanceProxy.o"; } + if ($target eq "WebKit2") { + next if $shortName eq "WebContext.o"; + next if $shortName eq "WebFrame.o"; + next if $shortName eq "WebPage.o"; + next if $shortName eq "WebPageProxy.o"; + } } print "ERROR: $shortName has one or more global initializers in it! ($file), near @globals\n"; diff --git a/Tools/Scripts/check-for-inappropriate-files-in-framework b/Tools/Scripts/check-for-inappropriate-files-in-framework index 1ab71b2..41e7c84 100755 --- a/Tools/Scripts/check-for-inappropriate-files-in-framework +++ b/Tools/Scripts/check-for-inappropriate-files-in-framework @@ -27,7 +27,9 @@ base_directory = ENV['TARGET_BUILD_DIR'] or throw "Unable to find TARGET_BUILD_D project_name = ENV['PROJECT_NAME'] or throw "Unable to find PROJECT_NAME in the environment!" is_shallow_bundle = (ENV['SHALLOW_BUNDLE'] || "NO").upcase == "YES" -$INAPPROPRIATE_FILES = { "WebCore" => { "Resources" => ["*.css", "*.in", "*.idl", "*.h"] } } +$INAPPROPRIATE_FILES = { "WebCore" => { "Resources" => ["*.css", "*.in", "*.idl", "*.h"] }, + "WebKit2" => { "Resources" => ["*.in", "*.h"] }, + } Dir.chdir base_directory diff --git a/Tools/Scripts/find-mismatched-layout-test-results b/Tools/Scripts/find-mismatched-layout-test-results new file mode 100755 index 0000000..4543171 --- /dev/null +++ b/Tools/Scripts/find-mismatched-layout-test-results @@ -0,0 +1,96 @@ +#!/usr/bin/env python +# Copyright (c) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Finds .png expectations without .checksums or .checksum expectations +without .pngs.""" + +import optparse +import os + +from webkitpy.common.checkout import scm + +def parse_args(): + """Returns a 2-tuple (options, paths) where options contains the + parsed arguments and paths is a list of directories to search.""" + option_list = [ + optparse.make_option("-p", "--missing-pngs", dest="missing_pngs", + action="store_true", default=False, help="Only list missing pngs."), + optparse.make_option("-c", "--missing-checksums", + dest="missing_checksums", action="store_true", default=False, + help="Only list missing checksums."), + ] + + option_parser = optparse.OptionParser(option_list=option_list, + description=__doc__) + options, paths = option_parser.parse_args() + if not options.missing_pngs and not options.missing_checksums: + option_parser.error( + "Please specify either --missing-pngs or --missing-checksums.") + + if not paths: + paths = [os.path.join(scm.find_checkout_root(), 'LayoutTests')] + return options, paths + +def find_mismatched_results(dirpath, filenames, options): + """Prints mismatched results to stdout. + dirpath is the directory we are searching + filenames is a list of the filenames in dirpath. + options is the parsed arguments.""" + checksum_files = set() + png_files = set() + + for filename in filenames: + name, extension = os.path.splitext(filename) + if not name.endswith("-expected"): + continue + if extension == ".checksum": + checksum_files.add(name) + elif extension == ".png": + png_files.add(name) + + if options.missing_pngs: + missing_pngs = checksum_files.difference(png_files) + for missing_png in missing_pngs: + print os.path.normpath(os.path.join(dirpath, missing_png) + ) + '.checksum' + + if options.missing_checksums: + missing_checksums = png_files.difference(checksum_files) + for missing_checksum in missing_checksums: + print os.path.normpath(os.path.join(dirpath, missing_checksum) + ) + '.png' + +def main(): + options, paths = parse_args() + + for path in paths: + for dirpath, dirnames, filenames in os.walk(path): + find_mismatched_results(dirpath, filenames, options) +if __name__ == "__main__": + main() diff --git a/Tools/Scripts/make-gypi b/Tools/Scripts/make-gypi new file mode 100755 index 0000000..cebac27 --- /dev/null +++ b/Tools/Scripts/make-gypi @@ -0,0 +1,72 @@ +#!/usr/bin/env python +# Copyright (c) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import os +import re +import sys + +GYPI_TEMPLATE = """{ + 'variables': { + '%s': [ +%s + ] + } +}""" + +def find_source_code(): + source_code_regexp = re.compile(r'\.(cpp|h|m|mm)$') + + collected_files = [] + for directory_path, directory_names, file_names in os.walk('.'): + for file_name in file_names: + if source_code_regexp.search(file_name): + relative_path = os.path.join(directory_path, file_name) + collected_files.append(os.path.relpath(relative_path, '.')) + + return collected_files + +def build_file_line(file_name, indent): + return indent + "'%s'," % file_name + +def build_file_list(source_code, indent): + return '\n'.join([build_file_line(file_name, indent) for file_name in sorted(source_code)]) + +def build_gypi(project): + key = project.lower() + '_files' + value = build_file_list(find_source_code(), ' ' * 3) + return GYPI_TEMPLATE % (key, value) + +def main(): + if len(sys.argv) < 2: + print 'Usage: %s project_name' % sys.argv[0] + return + print build_gypi(sys.argv[1]) + +if __name__ == "__main__": + main() diff --git a/Tools/Scripts/new-run-webkit-tests b/Tools/Scripts/new-run-webkit-tests index 9fcacaa..142505e 100755 --- a/Tools/Scripts/new-run-webkit-tests +++ b/Tools/Scripts/new-run-webkit-tests @@ -28,14 +28,25 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Wrapper around webkitpy/layout_tests/run_webkit_tests.py""" -import signal +import os +import subprocess import sys -import webkitpy.layout_tests.run_webkit_tests as run_webkit_tests - if __name__ == '__main__': - try: - sys.exit(run_webkit_tests.main()) - except KeyboardInterrupt: - # this mirrors what the shell normally does - sys.exit(signal.SIGINT + 128) + # In order for the multiprocessing module to spawn children correctly on + # Windows, we need to be running a Python module that can be imported + # (which means a file in sys.path that ends in .py). We also make surei + # that sys.path / PYTHONPATH is set and propagating correctly. + script_dir = os.path.dirname(os.path.abspath(__file__)) + env = os.environ + if env.has_key('PYTHONPATH'): + if script_dir not in env['PYTHONPATH']: + env_separator = ':' + if sys.platform == 'win32': + env_separator = ';' + env['PYTHONPATH'] = env['PYTHONPATH'] + env_separator + script_dir + else: + env['PYTHONPATH'] = script_dir + module_path = os.path.join(script_dir, 'webkitpy', 'layout_tests', 'run_webkit_tests.py') + cmd = [sys.executable, module_path] + sys.argv[1:] + sys.exit(subprocess.call(cmd, env=env)) diff --git a/Tools/Scripts/old-run-webkit-tests b/Tools/Scripts/old-run-webkit-tests index c56cb1c..a0c9d21 100755 --- a/Tools/Scripts/old-run-webkit-tests +++ b/Tools/Scripts/old-run-webkit-tests @@ -77,7 +77,7 @@ use POSIX; sub buildPlatformResultHierarchy(); sub buildPlatformTestHierarchy(@); -sub captureSavedCrashLog($); +sub captureSavedCrashLog($$); sub checkPythonVersion(); sub closeCygpaths(); sub closeDumpTool(); @@ -403,8 +403,6 @@ $testMedia = 0 if $shouldCheckLeaks && isTiger(); # Generating remote links causes a lot of unnecessary spew on GTK build bot $useRemoteLinksToTests = 0 if isGtk(); -setUpWindowsCrashLogSaving() if isCygwin(); - setConfigurationProductDir(Cwd::abs_path($root)) if (defined($root)); my $productDir = productDir(); $productDir .= "/bin" if isQt(); @@ -464,17 +462,20 @@ if (isAppleMacWebKit()) { if (system("/usr/bin/make", "-C", "$javaTestsDirectory")) { exit 1; } +} elsif (isCygwin()) { + setUpWindowsCrashLogSaving(); } - print "Running tests from $testDirectory\n"; if ($pixelTests) { print "Enabling pixel tests with a tolerance of $tolerance%\n"; if (isDarwin()) { - print "WARNING: Temporarily changing the main display color profile:\n"; - print "\tThe colors on your screen will change for the duration of the testing.\n"; - print "\tThis allows the pixel tests to have consistent color values across all machines.\n"; - + if (!$useWebKitTestRunner) { + print "WARNING: Temporarily changing the main display color profile:\n"; + print "\tThe colors on your screen will change for the duration of the testing.\n"; + print "\tThis allows the pixel tests to have consistent color values across all machines.\n"; + } + if (isPerianInstalled()) { print "WARNING: Perian's QuickTime component is installed and this may affect pixel test results!\n"; print "\tYou should avoid generating new pixel results in this environment.\n"; @@ -766,7 +767,7 @@ for my $test (@tests) { print OUT "$errorMessagePath\n"; } } - } elsif ($test !~ /^http\/tests\/local\// && $test !~ /^http\/tests\/ssl\// && $test !~ /^http\/tests\/wml\// && $test !~ /^http\/tests\/media\//) { + } elsif ($test !~ /^http\/tests\/local\// && $test !~ /^http\/tests\/ssl\// && $test !~ /^http\/tests\/wml\//) { my $path = canonpath($test); $path =~ s/^http\/tests\///; print OUT "http://127.0.0.1:$httpdPort/$path$suffixExpectedHash\n"; @@ -1165,6 +1166,7 @@ if (isGtk()) { $testResults = "/" . toWindowsPath($testResults); $testResults =~ s/\\/\//g; } + push(@configurationArgs, '-2') if $useWebKitTestRunner; system "Tools/Scripts/run-launcher", @configurationArgs, "file://".$testResults if $launchSafari; } elsif (isCygwin()) { system "cygstart", $testResults if $launchSafari; @@ -1459,6 +1461,7 @@ sub openDumpTool() } $CLEAN_ENV{HOME} = $ENV{'HOME'}; + $CLEAN_ENV{LANG} = $ENV{'LANG'}; if (defined $ENV{'LD_LIBRARY_PATH'}) { $CLEAN_ENV{LD_LIBRARY_PATH} = $ENV{'LD_LIBRARY_PATH'}; @@ -1733,11 +1736,13 @@ sub testCrashedOrTimedOut($$$$$$) recordActualResultsAndDiff($base, $actual); - kill 9, $dumpToolPID unless $didCrash; + # There's no point in killing the dump tool when it's crashed. And it will kill itself when the + # web process crashes. + kill 9, $dumpToolPID unless $didCrash || $webProcessCrashed; closeDumpTool(); - captureSavedCrashLog($base) if $didCrash; + captureSavedCrashLog($base, $webProcessCrashed) if $didCrash || $webProcessCrashed; return unless isCygwin() && !$didCrash && $base =~ /^http/; # On Cygwin, http tests timing out can be a symptom of a non-responsive httpd. @@ -1746,9 +1751,9 @@ sub testCrashedOrTimedOut($$$$$$) configureAndOpenHTTPDIfNeeded(); } -sub captureSavedCrashLog($) +sub captureSavedCrashLog($$) { - my ($base) = @_; + my ($base, $webProcessCrashed) = @_; my $crashLog; @@ -1756,7 +1761,14 @@ sub captureSavedCrashLog($) if (isCygwin()) { $glob = File::Spec->catfile($testResultsDirectory, $windowsCrashLogFilePrefix . "*.txt"); } elsif (isAppleMacWebKit()) { - $glob = File::Spec->catfile("~", "Library", "Logs", "CrashReporter", $dumpToolName . "_*.crash"); + my $crashLogDirectoryName; + if (isTiger() || isLeopard()) { + $crashLogDirectoryName = "CrashReporter"; + } else { + $crashLogDirectoryName = "DiagnosticReports"; + } + + $glob = File::Spec->catfile("~", "Library", "Logs", $crashLogDirectoryName, ($webProcessCrashed ? "WebProcess" : $dumpToolName) . "_*.crash"); # Even though the dump tool has exited, CrashReporter might still be running. We need to # wait for it to exit to ensure it has saved its crash log to disk. For simplicitly, we'll @@ -1768,6 +1780,8 @@ sub captureSavedCrashLog($) } } + return unless $glob; + # We assume that the newest crash log in matching the glob is the one that corresponds to the crash that just occurred. if (my $newestCrashLog = findNewestFileMatchingGlob($glob)) { # The crash log must have been created after this script started running. @@ -1784,7 +1798,7 @@ sub findNewestFileMatchingGlob($) my ($glob) = @_; my @paths = glob $glob; - return unless @paths; + return unless scalar(@paths); my @pathsAndTimes = map { [$_, -M $_] } @paths; @pathsAndTimes = sort { $b->[1] <=> $a->[1] } @pathsAndTimes; @@ -2558,9 +2572,10 @@ sub stopRunningTestsEarlyIfNeeded() } my $crashCount = $counts{crash} || 0; + my $webProcessCrashCount = $counts{webProcessCrash} || 0; my $timeoutCount = $counts{timedout} || 0; - if ($exitAfterNCrashesOrTimeouts && $crashCount + $timeoutCount >= $exitAfterNCrashesOrTimeouts) { - print "\nExiting early after $crashCount crashes and $timeoutCount timeouts. $count tests run."; + if ($exitAfterNCrashesOrTimeouts && $crashCount + $webProcessCrashCount + $timeoutCount >= $exitAfterNCrashesOrTimeouts) { + print "\nExiting early after $crashCount crashes, $webProcessCrashCount web process crashes, and $timeoutCount timeouts. $count tests run."; closeDumpTool(); return 1; } @@ -2599,6 +2614,25 @@ sub createDebuggerCommandFile() return $commandFile; } +sub readRegistryString($) +{ + my ($valueName) = @_; + chomp(my $string = `regtool --wow32 get "$valueName"`); + return $string; +} + +sub writeRegistryString($$) +{ + my ($valueName, $string) = @_; + + my $error = system "regtool", "--wow32", "set", "-s", $valueName, $string; + + # On Windows Vista/7 with UAC enabled, regtool will fail to modify the registry, but will still + # return a successful exit code. So we double-check here that the value we tried to write to the + # registry was really written. + return !$error && readRegistryString($valueName) eq $string; +} + sub setUpWindowsCrashLogSaving() { return unless isCygwin(); @@ -2638,9 +2672,8 @@ sub setUpWindowsCrashLogSaving() ); foreach my $value (keys %values) { - chomp($previousWindowsPostMortemDebuggerValues{$value} = `regtool get "$windowsPostMortemDebuggerKey/$value"`); - my $result = system "regtool", "set", "-s", "$windowsPostMortemDebuggerKey/$value", $values{$value}; - next unless $result; + $previousWindowsPostMortemDebuggerValues{$value} = readRegistryString("$windowsPostMortemDebuggerKey/$value"); + next if writeRegistryString("$windowsPostMortemDebuggerKey/$value", $values{$value}); print "Failed to set \"$windowsPostMortemDebuggerKey/$value\". Crash logs will not be saved.\nSee .\n"; return; @@ -2653,7 +2686,7 @@ END { return unless isCygwin(); foreach my $value (keys %previousWindowsPostMortemDebuggerValues) { - my $result = system "regtool", "set", "-s", "$windowsPostMortemDebuggerKey/$value", $previousWindowsPostMortemDebuggerValues{$value}; - !$result or print "Failed to restore \"$windowsPostMortemDebuggerKey/$value\" to its previous value \"$previousWindowsPostMortemDebuggerValues{$value}\"\n."; + next if writeRegistryString("$windowsPostMortemDebuggerKey/$value", $previousWindowsPostMortemDebuggerValues{$value}); + print "Failed to restore \"$windowsPostMortemDebuggerKey/$value\" to its previous value \"$previousWindowsPostMortemDebuggerValues{$value}\"\n."; } } diff --git a/Tools/Scripts/prepare-ChangeLog b/Tools/Scripts/prepare-ChangeLog index b5e2efe..a4b3d6b 100755 --- a/Tools/Scripts/prepare-ChangeLog +++ b/Tools/Scripts/prepare-ChangeLog @@ -99,6 +99,7 @@ sub decodeEntities($); # Project time zone for Cupertino, CA, US my $changeLogTimeZone = "PST8PDT"; +my $bugDescription; my $bugNumber; my $name; my $emailAddress; @@ -114,6 +115,7 @@ my $updateChangeLogs = 1; my $parseOptionsResult = GetOptions("diff|d!" => \$spewDiff, "bug|b:i" => \$bugNumber, + "description:s" => \$bugDescription, "name:s" => \$name, "email:s" => \$emailAddress, "merge-base:s" => \$mergeBase, @@ -127,6 +129,7 @@ my $parseOptionsResult = if (!$parseOptionsResult || $showHelp) { print STDERR basename($0) . " [-b|--bug=] [-d|--diff] [-h|--help] [-o|--open] [-g|--git-commit=] [--git-reviewer=] [svndir1 [svndir2 ...]]\n"; print STDERR " -b|--bug Fill in the ChangeLog bug information from the given bug.\n"; + print STDERR " --description One-line description that matches the bug title.\n"; print STDERR " -d|--diff Spew diff to stdout when running\n"; print STDERR " --merge-base Populate the ChangeLogs with the diff to this branch\n"; print STDERR " -g|--git-commit Populate the ChangeLogs from the specified git commit\n"; @@ -254,10 +257,12 @@ $emailAddress = changeLogEmailAddressFromArgs($emailAddress); print STDERR " Change author: $name <$emailAddress>.\n"; -my $bugDescription; my $bugURL; if ($bugNumber) { $bugURL = "https://bugs.webkit.org/show_bug.cgi?id=$bugNumber"; +} + +if ($bugNumber && !$bugDescription) { my $bugXMLURL = "$bugURL&ctype=xml"; # Perl has no built in XML processing, so we'll fetch and parse with curl and grep # Pass --insecure because some cygwin installs have no certs we don't diff --git a/Tools/Scripts/run-api-tests b/Tools/Scripts/run-api-tests index b8d388d..9713662 100755 --- a/Tools/Scripts/run-api-tests +++ b/Tools/Scripts/run-api-tests @@ -157,7 +157,7 @@ sub runTest($$) close(DEVNULL) unless ($verbose); waitpid($pid, 0); - my $result = $?; + $result = $?; } elsif (isAppleWinWebKit()) { my $apiTesterNameSuffix; if (configurationForVisualStudio() ne "Debug_All") { @@ -178,7 +178,6 @@ sub runTest($$) } } - sub populateTests() { my @tests; diff --git a/Tools/Scripts/run-launcher b/Tools/Scripts/run-launcher index 414d4af..731fbc0 100755 --- a/Tools/Scripts/run-launcher +++ b/Tools/Scripts/run-launcher @@ -47,7 +47,11 @@ checkFrameworks(); # Set paths according to the build system used if (isQt()) { my $libDir = catdir(productDir(), 'lib'); - $launcherPath = catdir($launcherPath, "bin", "QtTestBrowser"); + if (isWK2()) { + $launcherPath = catdir($launcherPath, "bin", "MiniBrowser"); + } else { + $launcherPath = catdir($launcherPath, "bin", "QtTestBrowser"); + } $ENV{QTWEBKIT_PLUGIN_PATH} = catdir($libDir, 'plugins'); diff --git a/Tools/Scripts/run-qtwebkit-tests b/Tools/Scripts/run-qtwebkit-tests index 77bdd04..95dc941 100644 --- a/Tools/Scripts/run-qtwebkit-tests +++ b/Tools/Scripts/run-qtwebkit-tests @@ -207,6 +207,8 @@ class Main(Log): self._Pool = Pool def run(self): + """ We need to set this system variable in order to load the proper plugin for the qml tests """ + os.putenv("QML_IMPORT_PATH", self._options.path + "../../../imports") """ Find && execute && publish results of all test. "All in one" function. """ self.debug("Searching executables...") tests_executables = self.find_tests_paths(self._options.path) diff --git a/Tools/Scripts/run-sunspider b/Tools/Scripts/run-sunspider index 3b7ee17..176491c 100755 --- a/Tools/Scripts/run-sunspider +++ b/Tools/Scripts/run-sunspider @@ -43,7 +43,7 @@ my $runShark20 = 0; my $runSharkCache = 0; my $suite = ""; my $ubench = 0; -my $v8 = 0; +my $v8suite = 0; my $parseonly = 0; my $setBaseline = 0; my $showHelp = 0; @@ -76,7 +76,7 @@ GetOptions('root=s' => sub { my ($x, $value) = @_; $root = $value; setConfigurat 'shark-cache' => \$runSharkCache, 'suite=s' => \$suite, 'ubench' => \$ubench, - 'v8' => \$v8, + 'v8-suite' => \$v8suite, 'parse-only' => \$parseonly, 'tests=s' => \$testsPattern, 'help' => \$showHelp, @@ -127,7 +127,7 @@ push @args, "--shark20" if $runShark20; push @args, "--shark-cache" if $runSharkCache; push @args, "--suite=${suite}" if $suite; push @args, "--ubench" if $ubench; -push @args, "--v8" if $v8; +push @args, "--v8-suite" if $v8suite; push @args, "--parse-only" if $parseonly; push @args, "--tests", $testsPattern if $testsPattern; diff --git a/Tools/Scripts/update-webkit b/Tools/Scripts/update-webkit index aca56b8..c6e54f3 100755 --- a/Tools/Scripts/update-webkit +++ b/Tools/Scripts/update-webkit @@ -126,5 +126,11 @@ sub runGitUpdate() # Doing a git fetch first allows setups with svn-remote.svn.fetch = trunk:refs/remotes/origin/master # to perform the rebase much much faster. system("git", "fetch") == 0 or die; - system("git", "svn", "rebase") == 0 or die; + if (isGitSVN()) { + system("git", "svn", "rebase") == 0 or die; + } else { + # This will die if branch.$BRANCHNAME.merge isn't set, which is + # almost certainly what we want. + system("git", "pull") == 0 or die; + } } diff --git a/Tools/Scripts/webkitdirs.pm b/Tools/Scripts/webkitdirs.pm index aa7bab7..1820f1e 100644 --- a/Tools/Scripts/webkitdirs.pm +++ b/Tools/Scripts/webkitdirs.pm @@ -60,6 +60,7 @@ my $sourceDir; my $currentSVNRevision; my $osXVersion; my $isQt; +my $qmakebin = "qmake"; # Allow override of the qmake binary from $PATH my $isSymbian; my %qtFeatureDefaults; my $isGtk; @@ -69,6 +70,7 @@ my $isEfl; my @wxArgs; my $isChromium; my $isInspectorFrontend; +my $isWK2; # Variables for Win32 support my $vcBuildPath; @@ -106,6 +108,11 @@ sub currentPerlPath() return $thisPerl; } +sub setQmakeBinaryPath($) +{ + ($qmakebin) = @_; +} + # used for scripts which are stored in a non-standard location sub setSourceDir($) { @@ -587,7 +594,7 @@ sub builtDylibPathForName $libraryName .= "d"; } - my $mkspec = `qmake -query QMAKE_MKSPECS`; + my $mkspec = `$qmakebin -query QMAKE_MKSPECS`; $mkspec =~ s/[\n|\r]$//g; my $qtMajorVersion = retrieveQMakespecVar("$mkspec/qconfig.pri", "QT_MAJOR_VERSION"); if (not $qtMajorVersion) { @@ -610,7 +617,7 @@ sub builtDylibPathForName return $libraryDir . "libwebkitgtk-1.0.$extension"; } if (isEfl()) { - return "$configurationProductDir/$libraryName/../.libs/libewebkit.so"; + return "$configurationProductDir/$libraryName/../WebKit/libewebkit.so"; } if (isWinCE()) { return "$configurationProductDir/$libraryName"; @@ -681,10 +688,10 @@ sub commandExists($) sub determineQtFeatureDefaults() { return if %qtFeatureDefaults; - die "ERROR: qmake missing but required to build WebKit.\n" if not commandExists("qmake"); + die "ERROR: qmake missing but required to build WebKit.\n" if not commandExists($qmakebin); my $originalCwd = getcwd(); chdir File::Spec->catfile(sourceDir(), "Source", "WebCore"); - my $defaults = `qmake CONFIG+=compute_defaults 2>&1`; + my $defaults = `$qmakebin CONFIG+=compute_defaults 2>&1`; chdir $originalCwd; while ($defaults =~ m/(\S+?)=(\S+?)/gi) { @@ -714,6 +721,18 @@ sub checkForArgumentAndRemoveFromArrayRef return $#indicesToRemove > -1; } +sub isWK2() +{ + if (defined($isWK2)) { + return $isWK2; + } + if (checkForArgumentAndRemoveFromARGV("-2")) { + $isWK2 = 1; + } else { + $isWK2 = 0; + } + return $isWK2; +} sub determineIsQt() { @@ -1549,7 +1568,6 @@ sub buildQMakeProject($@) my @buildArgs = ("-r"); - my $qmakebin = "qmake"; # Allow override of the qmake binary from $PATH my $makeargs = ""; my $installHeaders; my $installLibs; @@ -1823,7 +1841,7 @@ sub setPathForRunningWebKitApp if (isAppleWinWebKit()) { $env->{PATH} = join(':', productDir(), dirname(installedSafariPath()), appleApplicationSupportPath(), $env->{PATH} || ""); } elsif (isQt()) { - my $qtLibs = `qmake -query QT_INSTALL_LIBS`; + my $qtLibs = `$qmakebin -query QT_INSTALL_LIBS`; $qtLibs =~ s/[\n|\r]$//g; $env->{PATH} = join(';', $qtLibs, productDir() . "/lib", $env->{PATH} || ""); } diff --git a/Tools/Scripts/webkitperl/httpd.pm b/Tools/Scripts/webkitperl/httpd.pm index b73904d..5795340 100644 --- a/Tools/Scripts/webkitperl/httpd.pm +++ b/Tools/Scripts/webkitperl/httpd.pm @@ -94,6 +94,7 @@ sub getDefaultConfigForTestDirectory my $httpdConfig = getHTTPDConfigPathForTestDirectory($testDirectory); my $documentRoot = "$testDirectory/http/tests"; my $jsTestResourcesDirectory = $testDirectory . "/fast/js/resources"; + my $mediaResourcesDirectory = $testDirectory . "/media"; my $typesConfig = "$testDirectory/http/conf/mime.types"; my $httpdLockFile = File::Spec->catfile($httpdPidDir, "httpd.lock"); my $httpdScoreBoardFile = File::Spec->catfile($httpdPidDir, "httpd.scoreboard"); @@ -103,6 +104,7 @@ sub getDefaultConfigForTestDirectory "-C", "DocumentRoot \"$documentRoot\"", # Setup a link to where the js test templates are stored, use -c so that mod_alias will already be loaded. "-c", "Alias /js-test-resources \"$jsTestResourcesDirectory\"", + "-c", "Alias /media-resources \"$mediaResourcesDirectory\"", "-c", "TypesConfig \"$typesConfig\"", "-c", "PidFile \"$httpdPidFile\"", "-c", "ScoreBoardFile \"$httpdScoreBoardFile\"", diff --git a/Tools/Scripts/webkitpy/common/checkout/changelog.py b/Tools/Scripts/webkitpy/common/checkout/changelog.py index c81318c..ccdf9ca 100644 --- a/Tools/Scripts/webkitpy/common/checkout/changelog.py +++ b/Tools/Scripts/webkitpy/common/checkout/changelog.py @@ -43,6 +43,9 @@ class ChangeLogEntry(object): # e.g. 2009-06-03 Eric Seidel date_line_regexp = r'^(?P\d{4}-\d{2}-\d{2})\s+(?P.+?)\s+<(?P[^<>]+)>$' + # e.g. == Rolled over to ChangeLog-2011-02-16 == + rolled_over_regexp = r'^== Rolled over to ChangeLog-\d{4}-\d{2}-\d{2} ==$' + def __init__(self, contents, committer_list=CommitterList()): self._contents = contents self._committer_list = committer_list @@ -101,6 +104,7 @@ class ChangeLog(object): unicode strings. Use codecs.open or StringIO(unicode()) to pass file objects to this class.""" date_line_regexp = re.compile(ChangeLogEntry.date_line_regexp) + rolled_over_regexp = re.compile(ChangeLogEntry.rolled_over_regexp) entry_lines = [] # The first line should be a date line. first_line = changelog_file.readline() @@ -111,7 +115,7 @@ class ChangeLog(object): for line in changelog_file: # If we've hit the next entry, return. - if date_line_regexp.match(line): + if date_line_regexp.match(line) or rolled_over_regexp.match(line): # Remove the extra newline at the end return ChangeLogEntry(''.join(entry_lines[:-1])) entry_lines.append(line) diff --git a/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py b/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py index 299d509..cef33d8 100644 --- a/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py +++ b/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py @@ -54,6 +54,8 @@ class ChangeLogTest(unittest.TestCase): * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj: ''' + _rolled_over_footer = '== Rolled over to ChangeLog-2009-06-16 ==' + # More example text than we need. Eventually we need to support parsing this all and write tests for the parsing. _example_changelog = u"""2009-08-17 Tor Arne Vestb\xf8 @@ -99,6 +101,13 @@ class ChangeLogTest(unittest.TestCase): self.assertEquals(latest_entry.reviewer_text(), u"Tor Arne Vestb\xf8") self.assertTrue(latest_entry.reviewer()) # Make sure that our UTF8-based lookup of Tor works. + def test_latest_entry_parse_single_entry(self): + changelog_contents = u"%s\n%s" % (self._example_entry, self._rolled_over_footer) + changelog_file = StringIO(changelog_contents) + latest_entry = ChangeLog.parse_latest_entry_from_file(changelog_file) + self.assertEquals(latest_entry.contents(), self._example_entry) + self.assertEquals(latest_entry.author_name(), "Peter Kasting") + @staticmethod def _write_tmp_file_with_contents(byte_array): assert(isinstance(byte_array, str)) diff --git a/Tools/Scripts/webkitpy/common/checkout/scm.py b/Tools/Scripts/webkitpy/common/checkout/scm.py index 3fa2db5..70f65b5 100644 --- a/Tools/Scripts/webkitpy/common/checkout/scm.py +++ b/Tools/Scripts/webkitpy/common/checkout/scm.py @@ -747,20 +747,12 @@ class Git(SCM): return "git" def prepend_svn_revision(self, diff): - revision = None - tries = 0 - while not revision and tries < 10: - # If the git checkout is not tracking an SVN repo, then svn_revision_from_git_commit throws. - try: - revision = self.svn_revision_from_git_commit('HEAD~' + str(tries)) - except: - return diff - tries += 1 - - if not revision: + git_log = self.run(['git', 'log', '-25']) + match = re.search("^\s*git-svn-id:.*@(?P\d+)\ ", git_log, re.MULTILINE) + if not match: return diff - return "Subversion Revision: " + str(revision) + '\n' + diff + return "Subversion Revision: " + str(match.group('svn_revision')) + '\n' + diff def create_patch(self, git_commit=None, changed_files=None): """Returns a byte array (str()) representing the patch file. diff --git a/Tools/Scripts/webkitpy/common/checkout/scm_unittest.py b/Tools/Scripts/webkitpy/common/checkout/scm_unittest.py index decfae0..79b354d 100644 --- a/Tools/Scripts/webkitpy/common/checkout/scm_unittest.py +++ b/Tools/Scripts/webkitpy/common/checkout/scm_unittest.py @@ -1138,6 +1138,16 @@ class GitSVNTest(SCMTest): self.assertTrue(re.search(r'test_file_commit1', patch)) self.assertTrue(re.search(r'Subversion Revision: 5', patch)) + def test_create_patch_after_merge(self): + run_command(['git', 'checkout', '-b', 'dummy-branch', 'trunk~3']) + self._one_local_commit() + run_command(['git', 'merge', 'trunk']) + + scm = detect_scm_system(self.git_checkout_path) + patch = scm.create_patch() + self.assertTrue(re.search(r'test_file_commit1', patch)) + self.assertTrue(re.search(r'Subversion Revision: 5', patch)) + def test_create_patch_with_changed_files(self): self._one_local_commit_plus_working_copy_changes() scm = detect_scm_system(self.git_checkout_path) diff --git a/Tools/Scripts/webkitpy/common/config/build.py b/Tools/Scripts/webkitpy/common/config/build.py index 2b27c85..355fa96 100644 --- a/Tools/Scripts/webkitpy/common/config/build.py +++ b/Tools/Scripts/webkitpy/common/config/build.py @@ -83,10 +83,10 @@ def _should_file_trigger_build(target_platform, file): ] patterns = [ # Patterns that shouldn't trigger builds on any bots. + (r"(?:^|/)ChangeLog.*$", []), (r"(?:^|/)Makefile$", []), (r"/ARM", []), (r"/CMake.*", []), - (r"/ChangeLog.*$", []), (r"/LICENSE[^/]+$", []), (r"ARM(?:v7)?\.(?:cpp|h)$", []), (r"MIPS\.(?:cpp|h)$", []), @@ -94,10 +94,10 @@ def _should_file_trigger_build(target_platform, file): (r"\.(?:bkl|mk)$", []), # Patterns that should trigger builds on only some bots. - (r"/GNUmakefile\.am$", ["gtk"]), + (r"(?:^|/)GNUmakefile\.am$", ["gtk"]), (r"/\w+Chromium\w*\.(?:cpp|h|mm)$", ["chromium"]), (r"Mac\.(?:cpp|h|mm)$", ["mac"]), - (r"\.exp$", ["mac"]), + (r"\.exp(?:\.in)?$", ["mac"]), (r"\.gypi?", ["chromium"]), (r"\.order$", ["mac"]), (r"\.pr[io]$", ["qt"]), diff --git a/Tools/Scripts/webkitpy/common/config/build_unittest.py b/Tools/Scripts/webkitpy/common/config/build_unittest.py index e07d42f..1e075be 100644 --- a/Tools/Scripts/webkitpy/common/config/build_unittest.py +++ b/Tools/Scripts/webkitpy/common/config/build_unittest.py @@ -27,12 +27,15 @@ from webkitpy.common.config import build class ShouldBuildTest(unittest.TestCase): _should_build_tests = [ + (["ChangeLog", "Source/WebCore/ChangeLog", "Source/WebKit2/ChangeLog-2011-02-11"], []), + (["GNUmakefile.am", "Source/WebCore/GNUmakefile.am"], ["gtk"]), (["Websites/bugs.webkit.org/foo", "Source/WebCore/bar"], ["*"]), (["Websites/bugs.webkit.org/foo"], []), (["Source/JavaScriptCore/JavaScriptCore.xcodeproj/foo"], ["mac-leopard", "mac-snowleopard"]), (["Source/JavaScriptGlue/foo", "Source/WebCore/bar"], ["*"]), (["Source/JavaScriptGlue/foo"], ["mac-leopard", "mac-snowleopard"]), (["LayoutTests/foo"], ["*"]), + (["LayoutTests/canvas/philip/tests/size.attributes.parse.exp-expected.txt", "LayoutTests/canvas/philip/tests/size.attributes.parse.exp.html"], ["*"]), (["LayoutTests/platform/chromium-linux/foo"], ["chromium-linux"]), (["LayoutTests/platform/chromium-win/fast/compact/001-expected.txt"], ["chromium-win"]), (["LayoutTests/platform/mac-leopard/foo"], ["mac-leopard"]), @@ -42,6 +45,7 @@ class ShouldBuildTest(unittest.TestCase): (["LayoutTests/platform/win-xp/foo"], ["win"]), (["LayoutTests/platform/win-wk2/foo"], ["win"]), (["LayoutTests/platform/win/foo"], ["win"]), + (["Source/WebCore.exp.in", "Source/WebKit/mac/WebKit.exp"], ["mac"]), (["Source/WebCore/mac/foo"], ["chromium-mac", "mac-leopard", "mac-snowleopard"]), (["Source/WebCore/win/foo"], ["chromium-win", "win"]), (["Source/WebCore/platform/graphics/gpu/foo"], ["mac-leopard", "mac-snowleopard"]), diff --git a/Tools/Scripts/webkitpy/common/config/committers.py b/Tools/Scripts/webkitpy/common/config/committers.py index 5c571ab..76f4741 100644 --- a/Tools/Scripts/webkitpy/common/config/committers.py +++ b/Tools/Scripts/webkitpy/common/config/committers.py @@ -83,15 +83,15 @@ committers_unable_to_review = [ Committer("Balazs Kelemen", "kbalazs@webkit.org", "kbalazs"), Committer("Ben Murdoch", "benm@google.com", "benm"), Committer("Benjamin C Meyer", ["ben@meyerhome.net", "ben@webkit.org"], "icefox"), + Committer("Benjamin Kalman", ["kalman@chromium.org", "kalman@google.com"], "kalman"), Committer("Benjamin Otte", ["otte@gnome.org", "otte@webkit.org"], "otte"), - Committer("Benjamin Poulain", ["benjamin.poulain@nokia.com", "ikipou@gmail.com"]), Committer("Brent Fulgham", "bfulgham@webkit.org", "bfulgham"), Committer("Brett Wilson", "brettw@chromium.org", "brettx"), Committer("Brian Weinstein", "bweinstein@apple.com", "bweinstein"), Committer("Cameron McCormack", "cam@webkit.org", "heycam"), Committer("Carlos Garcia Campos", ["cgarcia@igalia.com", "carlosgc@gnome.org", "carlosgc@webkit.org"], "KaL"), Committer("Carol Szabo", "carol.szabo@nokia.com"), - Committer("Chang Shu", ["Chang.Shu@nokia.com", "cshu@webkit.org"], "cshu"), + Committer("Chang Shu", ["cshu@webkit.org", "Chang.Shu@nokia.com"], "cshu"), Committer("Chris Evans", "cevans@google.com"), Committer("Chris Petersen", "cpetersen@apple.com", "cpetersen"), Committer("Chris Rogers", "crogers@google.com", "crogers"), @@ -104,6 +104,7 @@ committers_unable_to_review = [ Committer("Dirk Pranke", "dpranke@chromium.org", "dpranke"), Committer("Drew Wilson", "atwilson@chromium.org", "atwilson"), Committer("Eli Fidler", "eli@staikos.net", "QBin"), + Committer("Emil A Eklund", "eae@chromium.org", "eae"), Committer("Enrica Casucci", "enrica@apple.com"), Committer("Erik Arvidsson", "arv@chromium.org", "arv"), Committer("Eric Roman", "eroman@chromium.org", "eroman"), @@ -121,6 +122,7 @@ committers_unable_to_review = [ Committer("Gyuyoung Kim", ["gyuyoung.kim@samsung.com", "gyuyoung@gmail.com", "gyuyoung@webkit.org"], "gyuyoung"), Committer("Hans Wennborg", "hans@chromium.org", "hwennborg"), Committer("Hayato Ito", "hayato@chromium.org", "hayato"), + Committer("Helder Correia", "helder@sencha.com", "helder"), Committer("Hin-Chung Lam", ["hclam@google.com", "hclam@chromium.org"]), Committer("Ilya Tikhonovsky", "loislo@chromium.org", "loislo"), Committer("Ivan Krsti\u0107", "ike@apple.com"), @@ -129,6 +131,8 @@ committers_unable_to_review = [ Committer("James Hawkins", ["jhawkins@chromium.org", "jhawkins@google.com"], "jhawkins"), Committer("James Simonsen", "simonjam@chromium.org", "simonjam"), Committer("Jay Civelli", "jcivelli@chromium.org", "jcivelli"), + Committer("Jeff Miller", "jeffm@apple.com", "jeffm"), + Committer("Jenn Braithwaite", "jennb@chromium.org", "jennb"), Committer("Jens Alfke", ["snej@chromium.org", "jens@apple.com"]), Committer("Jer Noble", "jer.noble@apple.com", "jernoble"), Committer("Jeremy Moskovich", ["playmobil@google.com", "jeremy@chromium.org"], "jeremymos"), @@ -184,6 +188,7 @@ committers_unable_to_review = [ Committer("Pierre d'Herbemont", ["pdherbemont@free.fr", "pdherbemont@apple.com"], "pdherbemont"), Committer("Pierre-Olivier Latour", "pol@apple.com", "pol"), Committer("Pratik Solanki", "psolanki@apple.com", "psolanki"), + Committer("Qi Zhang", ["qi.2.zhang@nokia.com", "qi.zhang02180@gmail.com"], "qi"), Committer("Renata Hodovan", "reni@webkit.org", "reni"), Committer("Robert Hogan", ["robert@webkit.org", "robert@roberthogan.net", "lists@roberthogan.net"], "mwenge"), Committer("Roland Steiner", "rolandsteiner@chromium.org"), @@ -230,6 +235,7 @@ reviewers_list = [ Reviewer("Antonio Gomes", ["tonikitoo@webkit.org", "agomes@rim.com"], "tonikitoo"), Reviewer("Antti Koivisto", ["koivisto@iki.fi", "antti@apple.com", "antti.j.koivisto@nokia.com"], "anttik"), Reviewer("Ariya Hidayat", ["ariya.hidayat@gmail.com", "ariya@sencha.com", "ariya@webkit.org"], "ariya"), + Reviewer("Benjamin Poulain", ["benjamin@webkit.org", "benjamin.poulain@nokia.com", "ikipou@gmail.com"], "benjaminp"), Reviewer("Beth Dakin", "bdakin@apple.com", "dethbakin"), Reviewer("Brady Eidson", "beidson@apple.com", "bradee-oh"), Reviewer("Cameron Zwarich", ["zwarich@apple.com", "cwzwarich@apple.com", "cwzwarich@webkit.org"]), diff --git a/Tools/Scripts/webkitpy/common/net/bugzilla/bug.py b/Tools/Scripts/webkitpy/common/net/bugzilla/bug.py index af258eb..a751a7e 100644 --- a/Tools/Scripts/webkitpy/common/net/bugzilla/bug.py +++ b/Tools/Scripts/webkitpy/common/net/bugzilla/bug.py @@ -44,6 +44,7 @@ class Bug(object): return self.bug_dictionary["id"] def title(self): + # FIXME: Do we need to HTML unescape the title? return self.bug_dictionary["title"] def reporter_email(self): diff --git a/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py b/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py index 76cd31d..9dd165c 100644 --- a/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py +++ b/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py @@ -268,8 +268,9 @@ class BuildBot(object): "SnowLeopard.*Build", "SnowLeopard.*\(Test", "SnowLeopard.*\(WebKit2 Test", - "Leopard", + "Leopard.*Release", "Windows.*Build", + "WinCE", "EFL", "GTK.*32", "GTK.*64.*Debug", # Disallow the 64-bit Release bot which is broken. diff --git a/Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py b/Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py index f158827..6addb56 100644 --- a/Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py +++ b/Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py @@ -240,7 +240,6 @@ class BuildBotTest(unittest.TestCase): {'name': u'GTK Linux 64-bit Release', }, {'name': u'Qt Linux Release', }, {'name': u'Qt Linux Release minimal', }, - {'name': u'Qt Linux ARMv5 Release', }, {'name': u'Qt Linux ARMv7 Release', }, {'name': u'Qt Windows 32-bit Release', }, {'name': u'Qt Windows 32-bit Debug', }, @@ -256,8 +255,9 @@ class BuildBotTest(unittest.TestCase): "SnowLeopard.*Build", "SnowLeopard.*\(Test", "SnowLeopard.*\(WebKit2 Test", - "Leopard", + "Leopard.*Release", "Windows.*Build", + "WinCE", "EFL", "GTK.*32", "GTK.*64.*Debug", # Disallow the 64-bit Release bot which is broken. @@ -267,8 +267,6 @@ class BuildBotTest(unittest.TestCase): expected_builders = [ {'name': u'Leopard Intel Release (Build)', }, {'name': u'Leopard Intel Release (Tests)', }, - {'name': u'Leopard Intel Debug (Build)', }, - {'name': u'Leopard Intel Debug (Tests)', }, {'name': u'SnowLeopard Intel Release (Build)', }, {'name': u'SnowLeopard Intel Release (Tests)', }, {'name': u'SnowLeopard Intel Release (WebKit2 Tests)', }, @@ -279,7 +277,6 @@ class BuildBotTest(unittest.TestCase): {'name': u'GTK Linux 64-bit Debug', }, {'name': u'Qt Linux Release', }, {'name': u'Qt Linux Release minimal', }, - {'name': u'Qt Linux ARMv5 Release', }, {'name': u'Qt Linux ARMv7 Release', }, {'name': u'Qt Windows 32-bit Release', }, {'name': u'Qt Windows 32-bit Debug', }, diff --git a/Tools/Scripts/webkitpy/common/net/testoutput.py b/Tools/Scripts/webkitpy/common/net/testoutput.py index 37c1445..7e181ed 100644 --- a/Tools/Scripts/webkitpy/common/net/testoutput.py +++ b/Tools/Scripts/webkitpy/common/net/testoutput.py @@ -48,13 +48,13 @@ class TestOutput(object): def _extract_platform(self, filename): """Calculates the platform from the name of the file if it isn't known already""" - path = re.split(os.path.sep, filename) + path = filename.split(os.path.sep) if 'platform' in path: return path[path.index('platform') + 1] return None def _extract_test_name(self, filename): - path = re.split(os.path.sep, filename) + path = filename.split(os.path.sep) if 'LayoutTests' in path: path = path[1 + path.index('LayoutTests'):] if 'layout-test-results' in path: diff --git a/Tools/Scripts/webkitpy/common/net/testoutput_unittest.py b/Tools/Scripts/webkitpy/common/net/testoutput_unittest.py index ad38ca6..6b820c6 100644 --- a/Tools/Scripts/webkitpy/common/net/testoutput_unittest.py +++ b/Tools/Scripts/webkitpy/common/net/testoutput_unittest.py @@ -22,7 +22,9 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +import os import re +import sys import testoutput import unittest @@ -60,10 +62,19 @@ class FakeTestOutput(testoutput.TestOutput): class TestOutputTest(unittest.TestCase): def _check_name(self, filename, expected_test_name): + # FIXME: should consider using MockFileSystem here so as to not + # have to worry about platform-specific path separators. + if sys.platform == 'win32': + filename = filename.replace('/', os.path.sep) + expected_test_name = expected_test_name.replace('/', os.path.sep) r = testoutput.TextTestOutput(None, FakeFile(filename)) self.assertEquals(expected_test_name, r.name()) def _check_platform(self, filename, expected_platform): + # FIXME: should consider using MockFileSystem here so as to not + # have to worry about platform-specific path separators. + if sys.platform == 'win32': + filename = filename.replace('/', os.path.sep) r = testoutput.TextTestOutput(None, FakeFile(filename)) self.assertEquals(expected_platform, r.platform()) diff --git a/Tools/Scripts/webkitpy/common/net/testoutputset_unittest.py b/Tools/Scripts/webkitpy/common/net/testoutputset_unittest.py index a70a539..f33850c 100644 --- a/Tools/Scripts/webkitpy/common/net/testoutputset_unittest.py +++ b/Tools/Scripts/webkitpy/common/net/testoutputset_unittest.py @@ -22,6 +22,8 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +import sys + from webkitpy.common.system.zip_mock import MockZip import testoutputset import unittest @@ -72,6 +74,11 @@ class TestOutputSetTest(unittest.TestCase): self.assertEquals(2, len(b.outputs_for('fast/dom/test'))) def test_can_infer_platform_from_path_if_none_provided(self): + # FIXME: unclear what the right behavior on win32 is. + # https://bugs.webkit.org/show_bug.cgi?id=54525. + if sys.platform == 'win32': + return + zip = MockZip() zip.insert('platform/win/some-test-expected.png', '') zip.insert('platform/win/some-test-expected.checksum', 'abc123') diff --git a/Tools/Scripts/webkitpy/common/prettypatch_unittest.py b/Tools/Scripts/webkitpy/common/prettypatch_unittest.py index 1307856..6a3c79a 100644 --- a/Tools/Scripts/webkitpy/common/prettypatch_unittest.py +++ b/Tools/Scripts/webkitpy/common/prettypatch_unittest.py @@ -34,6 +34,13 @@ from webkitpy.common.prettypatch import PrettyPatch class PrettyPatchTest(unittest.TestCase): + def check_ruby(self): + executive = Executive() + try: + result = executive.run_command(['ruby', '--version']) + except OSError, e: + return False + return True _diff_with_multiple_encodings = """ Index: utf8_test @@ -59,12 +66,18 @@ Index: latin1_test return webkit_root def test_pretty_diff_encodings(self): + if not self.check_ruby(): + return + pretty_patch = PrettyPatch(Executive(), self._webkit_root()) pretty = pretty_patch.pretty_diff(self._diff_with_multiple_encodings) self.assertTrue(pretty) # We got some output self.assertTrue(isinstance(pretty, str)) # It's a byte array, not unicode def test_pretty_print_empty_string(self): + if not self.check_ruby(): + return + # Make sure that an empty diff does not hang the process. pretty_patch = PrettyPatch(Executive(), self._webkit_root()) self.assertEqual(pretty_patch.pretty_diff(""), "") diff --git a/Tools/Scripts/webkitpy/common/system/executive_mock.py b/Tools/Scripts/webkitpy/common/system/executive_mock.py index 943b70c..367732c 100644 --- a/Tools/Scripts/webkitpy/common/system/executive_mock.py +++ b/Tools/Scripts/webkitpy/common/system/executive_mock.py @@ -35,8 +35,9 @@ from webkitpy.common.system import executive class MockExecutive2(object): def __init__(self, output='', exit_code=0, exception=None, - run_command_fn=None): + run_command_fn=None, stderr=''): self._output = output + self._stderr = stderr self._exit_code = exit_code self._exception = exception self._run_command_fn = run_command_fn @@ -51,7 +52,7 @@ class MockExecutive2(object): pass def run_command(self, arg_list, error_handler=None, return_exit_code=False, - decode_output=False): + decode_output=False, return_stderr=False): if self._exception: raise self._exception if return_exit_code: @@ -63,5 +64,6 @@ class MockExecutive2(object): exit_code=self._exit_code, output=self._output) error_handler(script_error) - + if return_stderr: + return self._output + self._stderr return self._output diff --git a/Tools/Scripts/webkitpy/common/system/executive_unittest.py b/Tools/Scripts/webkitpy/common/system/executive_unittest.py index a43b4dc..1dadc36 100644 --- a/Tools/Scripts/webkitpy/common/system/executive_unittest.py +++ b/Tools/Scripts/webkitpy/common/system/executive_unittest.py @@ -123,10 +123,12 @@ class ExecutiveTest(unittest.TestCase): executive.kill_process(process.pid) # Note: Can't use a ternary since signal.SIGKILL is undefined for sys.platform == "win32" if sys.platform == "win32": - expected_exit_code = 1 + # FIXME: https://bugs.webkit.org/show_bug.cgi?id=54790 + # We seem to get either 0 or 1 here for some reason. + self.assertTrue(process.wait() in (0, 1)) else: expected_exit_code = -signal.SIGKILL - self.assertEqual(process.wait(), expected_exit_code) + self.assertEqual(process.wait(), expected_exit_code) # Killing again should fail silently. executive.kill_process(process.pid) @@ -153,11 +155,14 @@ class ExecutiveTest(unittest.TestCase): # Note: Can't use a ternary since signal.SIGTERM is undefined for sys.platform == "win32" if sys.platform == "cygwin": expected_exit_code = 0 # os.kill results in exit(0) for this process. + self.assertEqual(process.wait(), expected_exit_code) elif sys.platform == "win32": - expected_exit_code = 1 + # FIXME: https://bugs.webkit.org/show_bug.cgi?id=54790 + # We seem to get either 0 or 1 here for some reason. + self.assertTrue(process.wait() in (0, 1)) else: expected_exit_code = -signal.SIGTERM - self.assertEqual(process.wait(), expected_exit_code) + self.assertEqual(process.wait(), expected_exit_code) # Killing again should fail silently. executive.kill_all(never_ending_command()[0]) diff --git a/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests.py b/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests.py index 86649b6..5472dfe 100644 --- a/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests.py +++ b/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests.py @@ -55,9 +55,7 @@ def port_fallbacks(): back on. All platforms fall back on 'base'. """ fallbacks = {_BASE_PLATFORM: []} - platform_dir = os.path.join(scm.find_checkout_root(), 'LayoutTests', - 'platform') - for port_name in os.listdir(platform_dir): + for port_name in port_factory.all_port_names(): try: platforms = port_factory.get(port_name).baseline_search_path() except NotImplementedError: @@ -67,6 +65,7 @@ def port_fallbacks(): continue fallbacks[port_name] = [os.path.basename(p) for p in platforms][1:] fallbacks[port_name].append(_BASE_PLATFORM) + return fallbacks @@ -119,6 +118,15 @@ def cluster_file_hashes(glob_pattern): return parse_git_output(git_output, glob_pattern) +def dirname_to_platform(dirname): + if dirname == 'chromium-linux': + return 'chromium-linux-x86' + elif dirname == 'chromium-win': + return 'chromium-win-win7' + elif dirname == 'chromium-mac': + return 'chromium-mac-snowleopard' + return dirname + def extract_platforms(paths): """Extracts the platforms from a list of paths matching ^platform/(.*?)/. Args: @@ -130,7 +138,7 @@ def extract_platforms(paths): for path in paths: match = re.match(r'^platform/(.*?)/', path) if match: - platform = match.group(1) + platform = dirname_to_platform(match.group(1)) else: platform = _BASE_PLATFORM platforms[platform] = path @@ -154,10 +162,11 @@ def has_intermediate_results(test, fallbacks, matching_platform, path_exists: Optional parameter that allows us to stub out os.path.exists for testing. """ - for platform in fallbacks: + for dirname in fallbacks: + platform = dirname_to_platform(dirname) if platform == matching_platform: return False - test_path = os.path.join('LayoutTests', 'platform', platform, test) + test_path = os.path.join('LayoutTests', 'platform', dirname, test) if path_exists(test_path): return True return False @@ -199,7 +208,10 @@ def find_dups(hashes, port_fallbacks, relative_to): # See if any of the platforms are redundant with each other. for platform in platforms.keys(): - for fallback in port_fallbacks[platform]: + if platform not in port_factory.all_port_names(): + continue + for dirname in port_fallbacks[platform]: + fallback = dirname_to_platform(dirname) if fallback not in platforms.keys(): continue # We have to verify that there isn't an intermediate result @@ -215,7 +227,7 @@ def find_dups(hashes, port_fallbacks, relative_to): yield { 'test': test, 'platform': platform, - 'fallback': fallback, + 'fallback': dirname, 'path': path, } diff --git a/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py b/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py index 47dc8a2..29ff8d5 100644 --- a/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/deduplicate_tests_unittest.py @@ -95,7 +95,7 @@ class ListDuplicatesTest(unittest.TestCase): # intermediate results. (False, ('fast/foo-expected.txt', ['chromium-win', 'chromium', 'base'], - 'chromium-win', + 'chromium-win-win7', lambda path: True)), # Since chromium-win has a result, we have an intermediate result. (True, ('fast/foo-expected.txt', @@ -159,12 +159,12 @@ class ListDuplicatesTest(unittest.TestCase): self.assertEquals({'test': 'animage.png', 'path': 'LayoutTests/platform/chromium-linux/animage.png', 'fallback': 'chromium-win', - 'platform': 'chromium-linux'}, + 'platform': 'chromium-linux-x86'}, result[0]) self.assertEquals({'test': 'foo-expected.txt', 'path': 'LayoutTests/platform/chromium-linux/foo-expected.txt', 'fallback': 'chromium-win', - 'platform': 'chromium-linux'}, + 'platform': 'chromium-linux-x86'}, result[1]) result = deduplicate_tests.deduplicate('*.txt') @@ -174,7 +174,7 @@ class ListDuplicatesTest(unittest.TestCase): self.assertEquals({'test': 'foo-expected.txt', 'path': 'LayoutTests/platform/chromium-linux/foo-expected.txt', 'fallback': 'chromium-win', - 'platform': 'chromium-linux'}, + 'platform': 'chromium-linux-x86'}, result[0]) result = deduplicate_tests.deduplicate('*.png') @@ -184,7 +184,7 @@ class ListDuplicatesTest(unittest.TestCase): self.assertEquals({'test': 'animage.png', 'path': 'LayoutTests/platform/chromium-linux/animage.png', 'fallback': 'chromium-win', - 'platform': 'chromium-linux'}, + 'platform': 'chromium-linux-x86'}, result[0]) def test_get_relative_test_path(self): diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py index 7ddd7b0..83b2215 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py @@ -40,13 +40,13 @@ import thread import threading import time -from webkitpy.layout_tests.layout_package.single_test_runner import SingleTestRunner +from webkitpy.layout_tests.layout_package import worker_mixin _log = logging.getLogger("webkitpy.layout_tests.layout_package." "dump_render_tree_thread") -class TestShellThread(threading.Thread): +class TestShellThread(threading.Thread, worker_mixin.WorkerMixin): def __init__(self, port, options, worker_number, worker_name, filename_list_queue, result_queue): """Initialize all the local state for this DumpRenderTree thread. @@ -130,6 +130,7 @@ class TestShellThread(threading.Thread): def run(self): """Delegate main work to a helper method and watch for uncaught exceptions.""" + self._covered_run() def _covered_run(self): @@ -175,23 +176,16 @@ class TestShellThread(threading.Thread): If test_runner is not None, then we call test_runner.UpdateSummary() with the results of each test.""" - single_test_runner = SingleTestRunner(self._options, self._port, - self._name, self._worker_number) - - batch_size = self._options.batch_size - batch_count = 0 - # Append tests we're running to the existing tests_run.txt file. - # This is created in run_webkit_tests.py:_PrepareListsAndPrintOutput. - tests_run_filename = self._port._filesystem.join(self._options.results_directory, - "tests_run%d.txt" % self._worker_number) - tests_run_file = self._port._filesystem.open_text_file_for_writing(tests_run_filename, append=False) + # Initialize the real state of the WorkerMixin now that we're executing + # in the child thread. Technically, we could have called this during + # __init__(), but we wait until now to match Worker.run(). + self.safe_init(self._port) while True: if self._canceled: _log.debug('Testing cancelled') - tests_run_file.close() - single_test_runner.cleanup() + self.cleanup() return if len(self._filename_list) is 0: @@ -204,16 +198,15 @@ class TestShellThread(threading.Thread): self._current_group, self._filename_list = \ self._filename_list_queue.get_nowait() except Queue.Empty: - tests_run_file.close() - single_test_runner.cleanup() + self.cleanup() return if self._current_group == "tests_to_http_lock": self._http_lock_wait_begin = time.time() - single_test_runner.start_servers_with_lock() + self.start_servers_with_lock() self._http_lock_wait_end = time.time() - elif single_test_runner.has_http_lock: - single_test_runner.stop_servers_with_lock() + elif self._has_http_lock: + self.stop_servers_with_lock() self._num_tests_in_current_group = len(self._filename_list) self._current_group_start_time = time.time() @@ -221,33 +214,13 @@ class TestShellThread(threading.Thread): test_input = self._filename_list.pop() # We have a url, run tests. - batch_count += 1 self._num_tests += 1 - timeout = single_test_runner.timeout(test_input) - result = single_test_runner.run_test(test_input, timeout) - - tests_run_file.write(test_input.filename + "\n") - test_name = self._port.relative_test_filename(test_input.filename) - if result.failures: - # Check and kill DumpRenderTree if we need to. - if any([f.should_kill_dump_render_tree() for f in result.failures]): - single_test_runner.kill_dump_render_tree() - # Reset the batch count since the shell just bounced. - batch_count = 0 - - # Print the error message(s). - _log.debug("%s %s failed:" % (self._name, test_name)) - for f in result.failures: - _log.debug("%s %s" % (self._name, f.message())) - else: - _log.debug("%s %s passed" % (self._name, test_name)) - self._result_queue.put(result.dumps()) + result = self.run_test_with_timeout(test_input, self.timeout(test_input)) - if batch_size > 0 and batch_count >= batch_size: - # Bounce the shell and reset count. - single_test_runner.kill_dump_render_tree() - batch_count = 0 + self.clean_up_after_test(test_input, result) + self._test_results.append(result) + self._result_queue.put(result.dumps()) if test_runner: test_runner.update_summary(result_summary) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py index 8226ed0..19b02e8 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py @@ -42,10 +42,10 @@ class JSONLayoutResultsGenerator(json_results_generator.JSONResultsGeneratorBase # Additional JSON fields. WONTFIX = "wontfixCounts" - # Note that we omit test_expectations.FAIL from this list because - # it should never show up (it's a legacy input expectation, never - # an output expectation). - FAILURE_TO_CHAR = {test_expectations.CRASH: "C", + FAILURE_TO_CHAR = {test_expectations.PASS: json_results_generator.JSONResultsGeneratorBase.PASS_RESULT, + test_expectations.SKIP: json_results_generator.JSONResultsGeneratorBase.SKIP_RESULT, + test_expectations.FAIL: "Y", + test_expectations.CRASH: "C", test_expectations.TIMEOUT: "T", test_expectations.IMAGE: "I", test_expectations.TEXT: "F", diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py index 05662c2..e7f804f 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py @@ -42,6 +42,26 @@ import webkitpy.thirdparty.simplejson as simplejson _log = logging.getLogger("webkitpy.layout_tests.layout_package.json_results_generator") +_JSON_PREFIX = "ADD_RESULTS(" +_JSON_SUFFIX = ");" + + +def strip_json_wrapper(json_content): + return json_content[len(_JSON_PREFIX):len(json_content) - len(_JSON_SUFFIX)] + + +def load_json(filesystem, file_path): + content = filesystem.read_text_file(file_path) + content = strip_json_wrapper(content) + return simplejson.loads(content) + + +def write_json(filesystem, json_object, file_path): + # Specify separators in order to get compact encoding. + json_data = simplejson.dumps(json_object, separators=(',', ':')) + json_string = _JSON_PREFIX + json_data + _JSON_SUFFIX + filesystem.write_text_file(file_path, json_string) + # FIXME: We already have a TestResult class in test_results.py class TestResult(object): """A simple class that represents a single test result.""" @@ -80,8 +100,6 @@ class JSONResultsGeneratorBase(object): MAX_NUMBER_OF_BUILD_RESULTS_TO_LOG = 750 # Min time (seconds) that will be added to the JSON. MIN_TIME = 1 - JSON_PREFIX = "ADD_RESULTS(" - JSON_SUFFIX = ");" # Note that in non-chromium tests those chars are used to indicate # test modifiers (FAILS, FLAKY, etc) but not actual test results. @@ -109,6 +127,7 @@ class JSONResultsGeneratorBase(object): ALL_FIXABLE_COUNT = "allFixableCount" RESULTS_FILENAME = "results.json" + FULL_RESULTS_FILENAME = "full_results.json" INCREMENTAL_RESULTS_FILENAME = "incremental_results.json" URL_FOR_TEST_LIST_JSON = \ @@ -151,10 +170,6 @@ class JSONResultsGeneratorBase(object): self._build_number = build_number self._builder_base_url = builder_base_url self._results_directory = results_file_base_path - self._results_file_path = self._fs.join(results_file_base_path, - self.RESULTS_FILENAME) - self._incremental_results_file_path = self._fs.join( - results_file_base_path, self.INCREMENTAL_RESULTS_FILENAME) self._test_results_map = test_results_map self._test_results = test_results_map.values() @@ -172,8 +187,26 @@ class JSONResultsGeneratorBase(object): def generate_json_output(self): json = self.get_json() if json: - self._generate_json_file( - json, self._incremental_results_file_path) + file_path = self._fs.join(self._results_directory, self.INCREMENTAL_RESULTS_FILENAME) + write_json(self._fs, json, file_path) + + def generate_full_results_file(self): + # Use the same structure as the compacted version of TestRunner.summarize_results. + # For now we only include the times as this is only used for treemaps and + # expected/actual don't make sense for gtests. + results = {} + results['version'] = 1 + + tests = {} + + for test in self._test_results_map: + time_seconds = self._test_results_map[test].time + tests[test] = {} + tests[test]['time_ms'] = int(1000 * time_seconds) + + results['tests'] = tests + file_path = self._fs.join(self._results_directory, self.FULL_RESULTS_FILENAME) + write_json(self._fs, results, file_path) def get_json(self): """Gets the results for the results.json file.""" @@ -249,12 +282,6 @@ class JSONResultsGeneratorBase(object): _log.info("JSON files uploaded.") - def _generate_json_file(self, json, file_path): - # Specify separators in order to get compact encoding. - json_data = simplejson.dumps(json, separators=(',', ':')) - json_string = self.JSON_PREFIX + json_data + self.JSON_SUFFIX - self._fs.write_text_file(file_path, json_string) - def _get_test_timing(self, test_name): """Returns test timing data (elapsed time) in second for the given test_name.""" @@ -357,8 +384,7 @@ class JSONResultsGeneratorBase(object): if old_results: # Strip the prefix and suffix so we can get the actual JSON object. - old_results = old_results[len(self.JSON_PREFIX): - len(old_results) - len(self.JSON_SUFFIX)] + old_results = strip_json_wrapper(old_results) try: results_json = simplejson.loads(old_results) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py index 95da8fb..9d786d9 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py @@ -106,6 +106,10 @@ class JSONGeneratorTest(unittest.TestCase): incremental_json, 1) + # We don't verify the results here, but at least we make sure the code runs without errors. + generator.generate_json_output() + generator.generate_full_results_file() + def _verify_json_results(self, tests_set, test_timings, failed_count_map, PASS_count, DISABLED_count, FLAKY_count, fixable_count, diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py index a0f252c..4886c30 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py @@ -52,17 +52,13 @@ import time # Handle Python < 2.6 where multiprocessing isn't available. -# -# _Multiprocessing_Process is needed so that _MultiProcessWorker -# can be defined with or without multiprocessing. try: import multiprocessing - _Multiprocessing_Process = multiprocessing.Process except ImportError: multiprocessing = None - _Multiprocessing_Process = threading.Thread +from webkitpy.common.system import stack_utils from webkitpy.layout_tests import port from webkitpy.layout_tests.layout_package import message_broker2 @@ -219,6 +215,18 @@ class _WorkerConnection(message_broker2.BrokerConnection): message_broker2.BrokerConnection.__init__(self, broker, self._client, ANY_WORKER_TOPIC, MANAGER_TOPIC) + def cancel(self): + raise NotImplementedError + + def is_alive(self): + raise NotImplementedError + + def join(self, timeout): + raise NotImplementedError + + def log_wedged_worker(self, test_name): + raise NotImplementedError + def yield_to_broker(self): pass @@ -226,11 +234,26 @@ class _WorkerConnection(message_broker2.BrokerConnection): class _InlineWorkerConnection(_WorkerConnection): def __init__(self, broker, port, manager_client, worker_class, worker_number): _WorkerConnection.__init__(self, broker, worker_class, worker_number, port._options) + self._alive = False self._port = port self._manager_client = manager_client + def cancel(self): + self._client.cancel() + + def is_alive(self): + return self._alive + + def join(self, timeout): + assert not self._alive + + def log_wedged_worker(self, test_name): + assert False, "_InlineWorkerConnection.log_wedged_worker() called" + def run(self): + self._alive = True self._client.run(self._port) + self._alive = False def yield_to_broker(self): self._broker.run_all_pending(MANAGER_TOPIC, self._manager_client) @@ -243,6 +266,12 @@ class _Thread(threading.Thread): self._port = port self._client = client + def cancel(self): + return self._client.cancel() + + def log_wedged_worker(self, test_name): + stack_utils.log_thread_state(_log.error, self._client.name(), self.ident, " is wedged on test %s" % test_name) + def run(self): # FIXME: We can remove this once everyone is on 2.6. if not hasattr(self, 'ident'): @@ -255,22 +284,40 @@ class _ThreadedWorkerConnection(_WorkerConnection): _WorkerConnection.__init__(self, broker, worker_class, worker_number, port._options) self._thread = _Thread(self, port, self._client) + def cancel(self): + return self._thread.cancel() + + def is_alive(self): + # FIXME: Change this to is_alive once everyone is on 2.6. + return self._thread.isAlive() + + def join(self, timeout): + return self._thread.join(timeout) + + def log_wedged_worker(self, test_name): + return self._thread.log_wedged_worker(test_name) + def start(self): self._thread.start() -class _Process(_Multiprocessing_Process): - def __init__(self, worker_connection, platform_name, options, client): - _Multiprocessing_Process.__init__(self) - self._worker_connection = worker_connection - self._platform_name = platform_name - self._options = options - self._client = client +if multiprocessing: - def run(self): - logging.basicConfig() - port_obj = port.get(self._platform_name, self._options) - self._client.run(port_obj) + class _Process(multiprocessing.Process): + def __init__(self, worker_connection, platform_name, options, client): + multiprocessing.Process.__init__(self) + self._worker_connection = worker_connection + self._platform_name = platform_name + self._options = options + self._client = client + + def log_wedged_worker(self, test_name): + _log.error("%s (pid %d) is wedged on test %s" % (self.name, self.pid, test_name)) + + def run(self): + logging.basicConfig() + port_obj = port.get(self._platform_name, self._options) + self._client.run(port_obj) class _MultiProcessWorkerConnection(_WorkerConnection): @@ -278,5 +325,17 @@ class _MultiProcessWorkerConnection(_WorkerConnection): _WorkerConnection.__init__(self, broker, worker_class, worker_number, options) self._proc = _Process(self, platform_name, options, self._client) + def cancel(self): + return self._proc.terminate() + + def is_alive(self): + return self._proc.is_alive() + + def join(self, timeout): + return self._proc.join(timeout) + + def log_wedged_worker(self, test_name): + return self._proc.log_wedged_worker(test_name) + def start(self): self._proc.start() diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py index ffbe081..c32f880 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker_unittest.py @@ -43,14 +43,34 @@ from webkitpy.layout_tests import port from webkitpy.layout_tests.layout_package import manager_worker_broker from webkitpy.layout_tests.layout_package import message_broker2 +# In order to reliably control when child workers are starting and stopping, +# we use a pair of global variables to hold queues used for messaging. Ideally +# we wouldn't need globals, but we can't pass these through a lexical closure +# because those can't be Pickled and sent to a subprocess, and we'd prefer not +# to have to pass extra arguments to the worker in the start_worker() call. +starting_queue = None +stopping_queue = None + + +def make_broker(manager, worker_model, start_queue=None, stop_queue=None): + global starting_queue + global stopping_queue + starting_queue = start_queue + stopping_queue = stop_queue + options = get_options(worker_model) + return manager_worker_broker.get(port.get("test"), options, manager, _TestWorker) + -class TestWorker(manager_worker_broker.AbstractWorker): +class _TestWorker(manager_worker_broker.AbstractWorker): def __init__(self, broker_connection, worker_number, options): self._broker_connection = broker_connection self._options = options self._worker_number = worker_number self._name = 'TestWorker/%d' % worker_number self._stopped = False + self._canceled = False + self._starting_queue = starting_queue + self._stopping_queue = stopping_queue def handle_stop(self, src): self._stopped = True @@ -61,15 +81,20 @@ class TestWorker(manager_worker_broker.AbstractWorker): self._broker_connection.post_message('test', 2, 'hi, everybody') def is_done(self): - return self._stopped + return self._stopped or self._canceled def name(self): return self._name - def start(self): - pass + def cancel(self): + self._canceled = True def run(self, port): + if self._starting_queue: + self._starting_queue.put('') + + if self._stopping_queue: + self._stopping_queue.get() try: self._broker_connection.run_message_loop() self._broker_connection.yield_to_broker() @@ -85,11 +110,6 @@ def get_options(worker_model): return options -def make_broker(manager, worker_model): - options = get_options(worker_model) - return manager_worker_broker.get(port.get("test"), options, manager, - TestWorker) - class FunctionTests(unittest.TestCase): def test_get__inline(self): @@ -99,6 +119,10 @@ class FunctionTests(unittest.TestCase): self.assertTrue(make_broker(self, 'threads') is not None) def test_get__processes(self): + # This test sometimes fails on Windows. See . + if sys.platform in ('cygwin', 'win32'): + return + if multiprocessing: self.assertTrue(make_broker(self, 'processes') is not None) else: @@ -112,18 +136,12 @@ class _TestsMixin(object): """Mixin class that implements a series of tests to enforce the contract all implementations must follow.""" - # - # Methods to implement the Manager side of the ClientInterface - # def name(self): return 'Tester' def is_done(self): return self._done - # - # Handlers for the messages the TestWorker may send. - # def handle_done(self, src): self._done = True @@ -135,9 +153,6 @@ class _TestsMixin(object): self._exception = exc_info self._done = True - # - # Testing helper methods - # def setUp(self): self._an_int = None self._a_str = None @@ -146,33 +161,58 @@ class _TestsMixin(object): self._exception = None self._worker_model = None - def make_broker(self): - self._broker = make_broker(self, self._worker_model) + def make_broker(self, starting_queue=None, stopping_queue=None): + self._broker = make_broker(self, self._worker_model, starting_queue, + stopping_queue) + + def test_cancel(self): + self.make_broker() + worker = self._broker.start_worker(0) + worker.cancel() + self._broker.post_message('test', 1, 'hello, world') + worker.join(0.5) + self.assertFalse(worker.is_alive()) - # - # Actual unit tests - # def test_done(self): - if not self._worker_model: - return self.make_broker() worker = self._broker.start_worker(0) self._broker.post_message('test', 1, 'hello, world') self._broker.post_message('stop') self._broker.run_message_loop() + worker.join(0.5) + self.assertFalse(worker.is_alive()) self.assertTrue(self.is_done()) self.assertEqual(self._an_int, 2) self.assertEqual(self._a_str, 'hi, everybody') + def test_log_wedged_worker(self): + starting_queue = self.queue() + stopping_queue = self.queue() + self.make_broker(starting_queue, stopping_queue) + oc = outputcapture.OutputCapture() + oc.capture_output() + try: + worker = self._broker.start_worker(0) + starting_queue.get() + worker.log_wedged_worker('test_name') + stopping_queue.put('') + self._broker.post_message('stop') + self._broker.run_message_loop() + worker.join(0.5) + self.assertFalse(worker.is_alive()) + self.assertTrue(self.is_done()) + finally: + oc.restore_output() + def test_unknown_message(self): - if not self._worker_model: - return self.make_broker() worker = self._broker.start_worker(0) self._broker.post_message('unknown') self._broker.run_message_loop() + worker.join(0.5) self.assertTrue(self.is_done()) + self.assertFalse(worker.is_alive()) self.assertEquals(self._exception[0], ValueError) self.assertEquals(self._exception[1], "TestWorker/0: received message 'unknown' it couldn't handle") @@ -183,17 +223,22 @@ class InlineBrokerTests(_TestsMixin, unittest.TestCase): _TestsMixin.setUp(self) self._worker_model = 'inline' + def test_log_wedged_worker(self): + self.make_broker() + worker = self._broker.start_worker(0) + self.assertRaises(AssertionError, worker.log_wedged_worker, None) -class MultiProcessBrokerTests(_TestsMixin, unittest.TestCase): - def setUp(self): - _TestsMixin.setUp(self) - if multiprocessing: + +# FIXME: https://bugs.webkit.org/show_bug.cgi?id=54520. +if multiprocessing and sys.platform not in ('cygwin', 'win32'): + + class MultiProcessBrokerTests(_TestsMixin, unittest.TestCase): + def setUp(self): + _TestsMixin.setUp(self) self._worker_model = 'processes' - else: - self._worker_model = None - def queue(self): - return multiprocessing.Queue() + def queue(self): + return multiprocessing.Queue() class ThreadedBrokerTests(_TestsMixin, unittest.TestCase): @@ -201,6 +246,9 @@ class ThreadedBrokerTests(_TestsMixin, unittest.TestCase): _TestsMixin.setUp(self) self._worker_model = 'threads' + def queue(self): + return Queue.Queue() + class FunctionsTest(unittest.TestCase): def test_runtime_options(self): @@ -222,6 +270,16 @@ class InterfaceTest(unittest.TestCase): obj = manager_worker_broker._ManagerConnection(broker._broker, None, self, None) self.assertRaises(NotImplementedError, obj.start_worker, 0) + def test_workerconnection_is_abstract(self): + # Test that all the base class methods are abstract and have the + # signature we expect. + broker = make_broker(self, 'inline') + obj = manager_worker_broker._WorkerConnection(broker._broker, _TestWorker, 0, None) + self.assertRaises(NotImplementedError, obj.cancel) + self.assertRaises(NotImplementedError, obj.is_alive) + self.assertRaises(NotImplementedError, obj.join, None) + self.assertRaises(NotImplementedError, obj.log_wedged_worker, None) + if __name__ == '__main__': unittest.main() diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py index 7ab6da8..8f63edd 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py @@ -513,8 +513,7 @@ class Testprinter(unittest.TestCase): retry.add(self.get_result('passes/text.html'), True) retry.add(self.get_result('failures/expected/timeout.html'), True) retry.add(self.get_result('failures/expected/crash.html'), True) - unexpected_results = test_runner.summarize_unexpected_results( - self._port, exp, rs, retry) + unexpected_results = test_runner.summarize_results(self._port, exp, rs, retry, test_timings={}, only_unexpected=True) return unexpected_results tests = ['passes/text.html', 'failures/expected/timeout.html', diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/result_summary.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/result_summary.py index 80fd6ac..0cee4f1 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/result_summary.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/result_summary.py @@ -81,7 +81,7 @@ class ResultSummary(object): if expected: self.expected += 1 else: - self.unexpected_results[result.filename] = result.type + self.unexpected_results[result.filename] = result self.unexpected += 1 if len(result.failures): self.unexpected_failures += 1 diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py index 96e3ee6..d755f67 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py @@ -28,21 +28,22 @@ import logging -import threading import time from webkitpy.layout_tests.port import base - -from webkitpy.layout_tests.test_types import text_diff -from webkitpy.layout_tests.test_types import image_diff - from webkitpy.layout_tests.layout_package import test_failures +from webkitpy.layout_tests.layout_package import test_result_writer from webkitpy.layout_tests.layout_package.test_results import TestResult _log = logging.getLogger(__name__) +def run_single_test(port, options, test_input, driver, worker_name): + runner = SingleTestRunner(options, port, driver, test_input, worker_name) + return runner.run() + + class ExpectedDriverOutput: """Groups information about an expected driver output.""" def __init__(self, text, image, image_hash): @@ -53,111 +54,14 @@ class ExpectedDriverOutput: class SingleTestRunner: - def __init__(self, options, port, worker_name, worker_number): + def __init__(self, options, port, driver, test_input, worker_name): self._options = options self._port = port + self._driver = driver + self._filename = test_input.filename + self._timeout = test_input.timeout self._worker_name = worker_name - self._worker_number = worker_number - self._driver = None - self._test_types = [] - self.has_http_lock = False - for cls in self._get_test_type_classes(): - self._test_types.append(cls(self._port, - self._options.results_directory)) - - def cleanup(self): - self.kill_dump_render_tree() - if self.has_http_lock: - self.stop_servers_with_lock() - - def _get_test_type_classes(self): - classes = [text_diff.TestTextDiff] - if self._options.pixel_tests: - classes.append(image_diff.ImageDiff) - return classes - - def timeout(self, test_input): - # We calculate how long we expect the test to take. - # - # The DumpRenderTree watchdog uses 2.5x the timeout; we want to be - # larger than that. We also add a little more padding if we're - # running tests in a separate thread. - # - # Note that we need to convert the test timeout from a - # string value in milliseconds to a float for Python. - driver_timeout_sec = 3.0 * float(test_input.timeout) / 1000.0 - if not self._options.run_singly: - return driver_timeout_sec - - thread_padding_sec = 1.0 - thread_timeout_sec = driver_timeout_sec + thread_padding_sec - return thread_timeout_sec - - def run_test(self, test_input, timeout): - if self._options.run_singly: - return self._run_test_in_another_thread(test_input, timeout) - else: - return self._run_test_in_this_thread(test_input) - return result - - def _run_test_in_another_thread(self, test_input, thread_timeout_sec): - """Run a test in a separate thread, enforcing a hard time limit. - - Since we can only detect the termination of a thread, not any internal - state or progress, we can only run per-test timeouts when running test - files singly. - - Args: - test_input: Object containing the test filename and timeout - thread_timeout_sec: time to wait before killing the driver process. - Returns: - A TestResult - """ - worker = self - result = None - - driver = worker._port.create_driver(worker._worker_number) - driver.start() - - class SingleTestThread(threading.Thread): - def run(self): - result = worker.run(test_input, driver) - - thread = SingleTestThread() - thread.start() - thread.join(thread_timeout_sec) - if thread.isAlive(): - # If join() returned with the thread still running, the - # DumpRenderTree is completely hung and there's nothing - # more we can do with it. We have to kill all the - # DumpRenderTrees to free it up. If we're running more than - # one DumpRenderTree thread, we'll end up killing the other - # DumpRenderTrees too, introducing spurious crashes. We accept - # that tradeoff in order to avoid losing the rest of this - # thread's results. - _log.error('Test thread hung: killing all DumpRenderTrees') - - driver.stop() - - if not result: - result = TestResult(test_input.filename, failures=[], - test_run_time=0, total_time_for_all_diffs=0, time_for_diffs={}) - return result - - def _run_test_in_this_thread(self, test_input): - """Run a single test file using a shared DumpRenderTree process. - - Args: - test_input: Object containing the test filename, uri and timeout - - Returns: a TestResult object. - """ - # poll() is not threadsafe and can throw OSError due to: - # http://bugs.python.org/issue1731717 - if not self._driver or self._driver.poll() is not None: - self._driver = self._port.create_driver(self._worker_number) - self._driver.start() - return self._run(self._driver, test_input) + self._testname = port.relative_test_filename(test_input.filename) def _expected_driver_output(self): return ExpectedDriverOutput(self._port.expected_text(self._filename), @@ -168,11 +72,7 @@ class SingleTestRunner: return (self._options.pixel_tests and not (self._options.new_baseline or self._options.reset_results)) - def _driver_input(self, test_input): - self._filename = test_input.filename - self._timeout = test_input.timeout - self._testname = self._port.relative_test_filename(test_input.filename) - + def _driver_input(self): # The image hash is used to avoid doing an image dump if the # checksums match, so it should be set to a blank value if we # are generating a new baseline. (Otherwise, an image from a @@ -182,17 +82,21 @@ class SingleTestRunner: image_hash = self._port.expected_checksum(self._filename) return base.DriverInput(self._filename, self._timeout, image_hash) - def _run(self, driver, test_input): + def run(self): if self._options.new_baseline or self._options.reset_results: - return self._run_rebaseline(driver, test_input) - return self._run_compare_test(driver, test_input) + return self._run_rebaseline() + return self._run_compare_test() - def _run_compare_test(self, driver, test_input): - driver_output = self._driver.run_test(self._driver_input(test_input)) - return self._process_output(driver_output) + def _run_compare_test(self): + driver_output = self._driver.run_test(self._driver_input()) + expected_driver_output = self._expected_driver_output() + test_result = self._compare_output(driver_output, expected_driver_output) + test_result_writer.write_test_result(self._port, self._options.results_directory, self._filename, + driver_output, expected_driver_output, test_result.failures) + return test_result - def _run_rebaseline(self, driver, test_input): - driver_output = self._driver.run_test(self._driver_input(test_input)) + def _run_rebaseline(self): + driver_output = self._driver.run_test(self._driver_input()) failures = self._handle_error(driver_output) # FIXME: It the test crashed or timed out, it might be bettter to avoid # to write new baselines. @@ -223,7 +127,7 @@ class SingleTestRunner: generate_new_baseline: whether to enerate a new, platform-specific baseline, or update the existing one """ - + assert data is not None port = self._port fs = port._filesystem if generate_new_baseline: @@ -250,6 +154,7 @@ class SingleTestRunner: failures.append(test_failures.FailureCrash()) _log.debug("%s Stacktrace for %s:\n%s" % (self._worker_name, self._testname, driver_output.error)) + # FIXME: Use test_result_writer module. stack_filename = fs.join(self._options.results_directory, self._testname) stack_filename = fs.splitext(stack_filename)[0] + "-stack.txt" fs.maybe_make_directory(fs.dirname(stack_filename)) @@ -259,64 +164,49 @@ class SingleTestRunner: driver_output.error)) return failures - def _run_test(self): - driver_output = self._driver.run_test(self._driver_input()) - return self._process_output(driver_output) - - def _process_output(self, driver_output): - """Receives the output from a DumpRenderTree process, subjects it to a - number of tests, and returns a list of failure types the test produced. - Args: - driver_output: a DriverOutput object containing the output from the driver - - Returns: a TestResult object - """ - fs = self._port._filesystem - failures = self._handle_error(driver_output) - expected_driver_output = self._expected_driver_output() + def _compare_output(self, driver_output, expected_driver_output): + failures = [] + failures.extend(self._handle_error(driver_output)) - # Check the output and save the results. - start_time = time.time() - time_for_diffs = {} - for test_type in self._test_types: - start_diff_time = time.time() - new_failures = test_type.compare_output( - self._port, self._filename, self._options, driver_output, - expected_driver_output) - # Don't add any more failures if we already have a crash, so we don't - # double-report those tests. We do double-report for timeouts since - # we still want to see the text and image output. - if not driver_output.crash: - failures.extend(new_failures) - time_for_diffs[test_type.__class__.__name__] = ( - time.time() - start_diff_time) + if driver_output.crash: + # Don't continue any more if we already have a crash. + # In case of timeouts, we continue since we still want to see the text and image output. + return TestResult(self._filename, failures, driver_output.test_time) - total_time_for_all_diffs = time.time() - start_diff_time - return TestResult(self._filename, failures, driver_output.test_time, - total_time_for_all_diffs, time_for_diffs) + failures.extend(self._compare_text(driver_output.text, expected_driver_output.text)) + if self._options.pixel_tests: + failures.extend(self._compare_image(driver_output, expected_driver_output)) + return TestResult(self._filename, failures, driver_output.test_time) - def start_servers_with_lock(self): - _log.debug('Acquiring http lock ...') - self._port.acquire_http_lock() - _log.debug('Starting HTTP server ...') - self._port.start_http_server() - _log.debug('Starting WebSocket server ...') - self._port.start_websocket_server() - self.has_http_lock = True + def _compare_text(self, actual_text, expected_text): + failures = [] + if self._port.compare_text(self._get_normalized_output_text(actual_text), + # Assuming expected_text is already normalized. + expected_text): + if expected_text == '': + failures.append(test_failures.FailureMissingResult()) + else: + failures.append(test_failures.FailureTextMismatch()) + return failures - def stop_servers_with_lock(self): - """Stop the servers and release http lock.""" - if self.has_http_lock: - _log.debug('Stopping HTTP server ...') - self._port.stop_http_server() - _log.debug('Stopping WebSocket server ...') - self._port.stop_websocket_server() - _log.debug('Releasing server lock ...') - self._port.release_http_lock() - self.has_http_lock = False + def _get_normalized_output_text(self, output): + """Returns the normalized text output, i.e. the output in which + the end-of-line characters are normalized to "\n".""" + # Running tests on Windows produces "\r\n". The "\n" part is helpfully + # changed to "\r\n" by our system (Python/Cygwin), resulting in + # "\r\r\n", when, in fact, we wanted to compare the text output with + # the normalized text expectation files. + return output.replace("\r\r\n", "\r\n").replace("\r\n", "\n") - def kill_dump_render_tree(self): - """Kill the DumpRenderTree process if it's running.""" - if self._driver: - self._driver.stop() - self._driver = None + def _compare_image(self, driver_output, expected_driver_outputs): + failures = [] + # If we didn't produce a hash file, this test must be text-only. + if driver_output.image_hash is None: + return failures + if not expected_driver_outputs.image: + failures.append(test_failures.FailureMissingImage()) + elif not expected_driver_outputs.image_hash: + failures.append(test_failures.FailureMissingImageHash()) + elif driver_output.image_hash != expected_driver_outputs.image_hash: + failures.append(test_failures.FailureImageHashMismatch()) + return failures diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_expectations.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_expectations.py index 494395a..132ccc2 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_expectations.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_expectations.py @@ -242,10 +242,6 @@ class TestExpectationsFile: SKIP: Doesn't run the test. SLOW: The test takes a long time to run, but does not timeout indefinitely. WONTFIX: For tests that we never intend to pass on a given platform. - DEBUG: Expectations apply only to the debug build. - RELEASE: Expectations apply only to release build. - LINUX/WIN/WIN-XP/WIN-VISTA/WIN-7/MAC: Expectations apply only to these - platforms. Notes: -A test cannot be both SLOW and TIMEOUT @@ -496,9 +492,9 @@ class TestExpectationsFile: # Do not add tags WIN-7 and WIN-VISTA to test expectations # if the original line does not specify the platform # option. - # TODO(victorw): Remove WIN-VISTA and WIN-7 once we have + # TODO(victorw): Remove WIN-VISTA and WIN-WIN7 once we have # reliable Win 7 and Win Vista buildbots setup. - if not p in (platform.upper(), 'WIN-VISTA', 'WIN-7'): + if not p in (platform.upper(), 'WIN-VISTA', 'WIN-WIN7'): new_options = parts[0] + p + ' ' new_line = ('%s:%s' % (new_options, parts[1])) f_new.append(new_line) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py new file mode 100644 index 0000000..882da91 --- /dev/null +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py @@ -0,0 +1,195 @@ +# Copyright (C) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +import logging +import os + +from webkitpy.layout_tests.layout_package import test_failures + + +_log = logging.getLogger(__name__) + + +def write_test_result(port, root_output_dir, filename, driver_output, + expected_driver_output, failures): + """Write the test result to the result output directory.""" + checksums_mismatch_but_images_are_same = False + imagehash_mismatch_failure = None + writer = TestResultWriter(port, root_output_dir, filename) + for failure in failures: + # FIXME: Instead of this long 'if' block, each failure class might + # have a responsibility for writing a test result. + if isinstance(failure, (test_failures.FailureMissingResult, + test_failures.FailureTextMismatch)): + writer.write_text_files(driver_output.text, expected_driver_output.text) + writer.create_text_diff_and_write_result(driver_output.text, expected_driver_output.text) + elif isinstance(failure, test_failures.FailureMissingImage): + writer.write_image_files(driver_output.image, expected_image=None) + writer.write_image_hashes(driver_output.image_hash, expected_driver_output.image_hash) + elif isinstance(failure, test_failures.FailureMissingImageHash): + writer.write_image_files(driver_output.image, expected_driver_output.image) + writer.write_image_hashes(driver_output.image_hash, expected_image_hash=None) + elif isinstance(failure, test_failures.FailureImageHashMismatch): + writer.write_image_files(driver_output.image, expected_driver_output.image) + writer.write_image_hashes(driver_output.image_hash, expected_driver_output.image_hash) + images_are_different = writer.create_image_diff_and_write_result( + driver_output.image, expected_driver_output.image) + if not images_are_different: + checksums_mismatch_but_images_are_same = True + imagehash_mismatch_failure = failure + elif isinstance(failure, test_failures.FailureCrash): + writer.write_crash_report(driver_output.error) + else: + assert isinstance(failure, (test_failures.FailureTimeout,)) + + # FIXME: This is an ugly hack to handle FailureImageHashIncorrect case. + # Ideally, FailureImageHashIncorrect case should be detected before this + # function is called. But it requires calling create_diff_image() to detect + # whether two images are same or not. So we need this hack until we have a better approach. + if checksums_mismatch_but_images_are_same: + # Replace FailureImageHashMismatch with FailureImageHashIncorrect. + failures.remove(imagehash_mismatch_failure) + failures.append(test_failures.FailureImageHashIncorrect()) + + +class TestResultWriter(object): + """A class which handles all writing operations to the result directory.""" + + # Filename pieces when writing failures to the test results directory. + FILENAME_SUFFIX_ACTUAL = "-actual" + FILENAME_SUFFIX_EXPECTED = "-expected" + FILENAME_SUFFIX_DIFF = "-diff" + FILENAME_SUFFIX_WDIFF = "-wdiff.html" + FILENAME_SUFFIX_PRETTY_PATCH = "-pretty-diff.html" + FILENAME_SUFFIX_IMAGE_DIFF = "-diff.png" + + def __init__(self, port, root_output_dir, filename): + self._port = port + self._root_output_dir = root_output_dir + self._filename = filename + self._testname = port.relative_test_filename(filename) + + def _make_output_directory(self): + """Creates the output directory (if needed) for a given test filename.""" + fs = self._port._filesystem + output_filename = fs.join(self._root_output_dir, self._testname) + self._port.maybe_make_directory(fs.dirname(output_filename)) + + def output_filename(self, modifier): + """Returns a filename inside the output dir that contains modifier. + + For example, if test name is "fast/dom/foo.html" and modifier is "-expected.txt", + the return value is "//fast/dom/foo-expected.txt". + + Args: + modifier: a string to replace the extension of filename with + + Return: + The absolute path to the output filename + """ + fs = self._port._filesystem + output_filename = fs.join(self._root_output_dir, self._testname) + return fs.splitext(output_filename)[0] + modifier + + def write_output_files(self, file_type, output, expected): + """Writes the test output, the expected output in the results directory. + + The full output filename of the actual, for example, will be + -actual + For instance, + my_test-actual.txt + + Args: + file_type: A string describing the test output file type, e.g. ".txt" + output: A string containing the test output + expected: A string containing the expected test output + """ + self._make_output_directory() + actual_filename = self.output_filename(self.FILENAME_SUFFIX_ACTUAL + file_type) + expected_filename = self.output_filename(self.FILENAME_SUFFIX_EXPECTED + file_type) + + fs = self._port._filesystem + if output: + fs.write_binary_file(actual_filename, output) + if expected: + fs.write_binary_file(expected_filename, expected) + + def write_crash_report(self, error): + """Write crash information.""" + fs = self._port._filesystem + filename = self.output_filename("-stack.txt") + fs.maybe_make_directory(fs.dirname(filename)) + fs.write_text_file(filename, error) + + def write_text_files(self, actual_text, expected_text): + self.write_output_files(".txt", actual_text, expected_text) + + def create_text_diff_and_write_result(self, actual_text, expected_text): + # FIXME: This function is actually doing the diffs as well as writing results. + # It might be better to extract code which does 'diff' and make it a separate function. + if not actual_text or not expected_text: + return + + self._make_output_directory() + file_type = '.txt' + actual_filename = self.output_filename(self.FILENAME_SUFFIX_ACTUAL + file_type) + expected_filename = self.output_filename(self.FILENAME_SUFFIX_EXPECTED + file_type) + fs = self._port._filesystem + # We treat diff output as binary. Diff output may contain multiple files + # in conflicting encodings. + diff = self._port.diff_text(expected_text, actual_text, expected_filename, actual_filename) + diff_filename = self.output_filename(self.FILENAME_SUFFIX_DIFF + file_type) + fs.write_binary_file(diff_filename, diff) + + # Shell out to wdiff to get colored inline diffs. + wdiff = self._port.wdiff_text(expected_filename, actual_filename) + wdiff_filename = self.output_filename(self.FILENAME_SUFFIX_WDIFF) + fs.write_binary_file(wdiff_filename, wdiff) + + # Use WebKit's PrettyPatch.rb to get an HTML diff. + pretty_patch = self._port.pretty_patch_text(diff_filename) + pretty_patch_filename = self.output_filename(self.FILENAME_SUFFIX_PRETTY_PATCH) + fs.write_binary_file(pretty_patch_filename, pretty_patch) + + def write_image_files(self, actual_image, expected_image): + self.write_output_files('.png', actual_image, expected_image) + + def write_image_hashes(self, actual_image_hash, expected_image_hash): + self.write_output_files('.checksum', actual_image_hash, expected_image_hash) + + def create_image_diff_and_write_result(self, actual_image, expected_image): + """Writes the visual diff of the expected/actual PNGs. + + Returns True if the images are different. + """ + # FIXME: This function is actually doing the diff as well as writing a result. + # It might be better to extract 'diff' code and make it a separate function. + # To do so, we have to change port.diff_image() as well. + diff_filename = self.output_filename(self.FILENAME_SUFFIX_IMAGE_DIFF) + return self._port.diff_image(actual_image, expected_image, diff_filename) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results.py index 055f65b..b3840af 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results.py @@ -38,22 +38,17 @@ class TestResult(object): def loads(str): return cPickle.loads(str) - def __init__(self, filename, failures=None, test_run_time=None, total_time_for_all_diffs=None, time_for_diffs=None): + def __init__(self, filename, failures=None, test_run_time=None): self.filename = filename self.failures = failures or [] self.test_run_time = test_run_time or 0 - self.total_time_for_all_diffs = total_time_for_all_diffs or 0 - self.time_for_diffs = time_for_diffs or {} # FIXME: Why is this a dictionary? - # FIXME: Setting this in the constructor makes this class hard to mutate. self.type = test_failures.determine_result_type(failures) def __eq__(self, other): return (self.filename == other.filename and self.failures == other.failures and - self.test_run_time == other.test_run_time and - self.time_for_diffs == other.time_for_diffs and - self.total_time_for_all_diffs == other.total_time_for_all_diffs) + self.test_run_time == other.test_run_time) def __ne__(self, other): return not (self == other) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results_unittest.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results_unittest.py index c8fcf64..81107d3 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_results_unittest.py @@ -37,15 +37,11 @@ class Test(unittest.TestCase): self.assertEqual(result.filename, 'foo') self.assertEqual(result.failures, []) self.assertEqual(result.test_run_time, 0) - self.assertEqual(result.total_time_for_all_diffs, 0) - self.assertEqual(result.time_for_diffs, {}) def test_loads(self): result = TestResult(filename='foo', failures=[], - test_run_time=1.1, - total_time_for_all_diffs=0.5, - time_for_diffs={}) + test_run_time=1.1) s = result.dumps() new_result = TestResult.loads(s) self.assertTrue(isinstance(new_result, TestResult)) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner.py index e3bd4ad..0859f68 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner.py @@ -37,6 +37,7 @@ create a final report. from __future__ import with_statement +import copy import errno import logging import math @@ -45,17 +46,17 @@ import random import sys import time -from result_summary import ResultSummary -from test_input import TestInput - -import dump_render_tree_thread -import json_layout_results_generator -import message_broker -import printing -import test_expectations -import test_failures -import test_results -import test_results_uploader +from webkitpy.layout_tests.layout_package import dump_render_tree_thread +from webkitpy.layout_tests.layout_package import json_layout_results_generator +from webkitpy.layout_tests.layout_package import json_results_generator +from webkitpy.layout_tests.layout_package import message_broker +from webkitpy.layout_tests.layout_package import printing +from webkitpy.layout_tests.layout_package import test_expectations +from webkitpy.layout_tests.layout_package import test_failures +from webkitpy.layout_tests.layout_package import test_results +from webkitpy.layout_tests.layout_package import test_results_uploader +from webkitpy.layout_tests.layout_package.result_summary import ResultSummary +from webkitpy.layout_tests.layout_package.test_input import TestInput from webkitpy.thirdparty import simplejson from webkitpy.tool import grammar @@ -68,8 +69,7 @@ BUILDER_BASE_URL = "http://build.chromium.org/buildbot/layout_test_results/" TestExpectationsFile = test_expectations.TestExpectationsFile -def summarize_unexpected_results(port_obj, expectations, result_summary, - retry_summary): +def summarize_results(port_obj, expectations, result_summary, retry_summary, test_timings, only_unexpected): """Summarize any unexpected results as a dict. FIXME: split this data structure into a separate class? @@ -79,6 +79,8 @@ def summarize_unexpected_results(port_obj, expectations, result_summary, expectations: test_expectations.TestExpectations object result_summary: summary object from initial test runs retry_summary: summary object from final test run of retried tests + test_timings: a list of TestResult objects which contain test runtimes in seconds + only_unexpected: whether to return a summary only for the unexpected results Returns: A dictionary containing a summary of the unexpected results from the run, with the following fields: @@ -88,11 +90,13 @@ def summarize_unexpected_results(port_obj, expectations, result_summary, 'num_regressions': # of non-flaky failures 'num_flaky': # of flaky failures 'num_passes': # of unexpected passes - 'tests': a dict of tests -> {'expected': '...', 'actual': '...'} + 'tests': a dict of tests -> {'expected': '...', 'actual': '...', 'time_ms': ...} """ results = {} results['version'] = 1 + test_timings_map = dict((test_result.filename, test_result.test_run_time) for test_result in test_timings) + tbe = result_summary.tests_by_expectation tbt = result_summary.tests_by_timeline results['fixable'] = len(tbt[test_expectations.NOW] - @@ -104,31 +108,36 @@ def summarize_unexpected_results(port_obj, expectations, result_summary, num_flaky = 0 num_regressions = 0 keywords = {} - for k, v in TestExpectationsFile.EXPECTATIONS.iteritems(): - keywords[v] = k.upper() + for expecation_string, expectation_enum in TestExpectationsFile.EXPECTATIONS.iteritems(): + keywords[expectation_enum] = expecation_string.upper() + + for modifier_string, modifier_enum in TestExpectationsFile.MODIFIERS.iteritems(): + keywords[modifier_enum] = modifier_string.upper() tests = {} - for filename, result in result_summary.unexpected_results.iteritems(): + original_results = result_summary.unexpected_results if only_unexpected else result_summary.results + + for filename, result in original_results.iteritems(): # Note that if a test crashed in the original run, we ignore # whether or not it crashed when we retried it (if we retried it), # and always consider the result not flaky. test = port_obj.relative_test_filename(filename) expected = expectations.get_expectations_string(filename) - actual = [keywords[result]] + result_type = result.type + actual = [keywords[result_type]] - if result == test_expectations.PASS: + if result_type == test_expectations.PASS: num_passes += 1 - elif result == test_expectations.CRASH: + elif result_type == test_expectations.CRASH: num_regressions += 1 - else: + elif filename in result_summary.unexpected_results: if filename not in retry_summary.unexpected_results: - actual.extend(expectations.get_expectations_string( - filename).split(" ")) + actual.extend(expectations.get_expectations_string(filename).split(" ")) num_flaky += 1 else: - retry_result = retry_summary.unexpected_results[filename] - if result != retry_result: - actual.append(keywords[retry_result]) + retry_result_type = retry_summary.unexpected_results[filename].type + if result_type != retry_result_type: + actual.append(keywords[retry_result_type]) num_flaky += 1 else: num_regressions += 1 @@ -137,6 +146,10 @@ def summarize_unexpected_results(port_obj, expectations, result_summary, tests[test]['expected'] = expected tests[test]['actual'] = " ".join(actual) + if filename in test_timings_map: + time_seconds = test_timings_map[filename] + tests[test]['time_ms'] = int(1000 * time_seconds) + results['tests'] = tests results['num_passes'] = num_passes results['num_flaky'] = num_flaky @@ -150,6 +163,9 @@ class TestRunInterruptedException(Exception): def __init__(self, reason): self.reason = reason + def __reduce__(self): + return self.__class__, (self.reason,) + class TestRunner: """A class for managing running a series of tests on a series of layout @@ -683,17 +699,19 @@ class TestRunner: result_summary.expected, result_summary.unexpected) - unexpected_results = summarize_unexpected_results(self._port, - self._expectations, result_summary, retry_summary) + unexpected_results = summarize_results(self._port, + self._expectations, result_summary, retry_summary, individual_test_timings, only_unexpected=True) self._printer.print_unexpected_results(unexpected_results) # FIXME: remove record_results. It's just used for testing. There's no need # for it to be a commandline argument. if (self._options.record_results and not self._options.dry_run and - not interrupted): + not keyboard_interrupted): # Write the same data to log files and upload generated JSON files # to appengine server. - self._upload_json_files(unexpected_results, result_summary, + summarized_results = summarize_results(self._port, + self._expectations, result_summary, retry_summary, individual_test_timings, only_unexpected=False) + self._upload_json_files(unexpected_results, summarized_results, result_summary, individual_test_timings) # Write the summary to disk (results.html) and display it if requested. @@ -782,14 +800,22 @@ class TestRunner: """ failed_results = {} for test, result in result_summary.unexpected_results.iteritems(): - if (result == test_expectations.PASS or - result == test_expectations.CRASH and not include_crashes): + if (result.type == test_expectations.PASS or + result.type == test_expectations.CRASH and not include_crashes): continue - failed_results[test] = result + failed_results[test] = result.type return failed_results - def _upload_json_files(self, unexpected_results, result_summary, + def _char_for_result(self, result): + result = result.lower() + if result in TestExpectationsFile.EXPECTATIONS: + result_enum_value = TestExpectationsFile.EXPECTATIONS[result] + else: + result_enum_value = TestExpectationsFile.MODIFIERS[result] + return json_layout_results_generator.JSONLayoutResultsGenerator.FAILURE_TO_CHAR[result_enum_value] + + def _upload_json_files(self, unexpected_results, summarized_results, result_summary, individual_test_timings): """Writes the results of the test run as JSON files into the results dir and upload the files to the appengine server. @@ -803,19 +829,22 @@ class TestRunner: Args: unexpected_results: dict of unexpected results + summarized_results: dict of results result_summary: full summary object individual_test_timings: list of test times (used by the flakiness dashboard). """ - results_directory = self._options.results_directory - _log.debug("Writing JSON files in %s." % results_directory) - unexpected_json_path = self._fs.join(results_directory, "unexpected_results.json") - with self._fs.open_text_file_for_writing(unexpected_json_path) as file: - simplejson.dump(unexpected_results, file, sort_keys=True, indent=2) + _log.debug("Writing JSON files in %s." % self._options.results_directory) + + unexpected_json_path = self._fs.join(self._options.results_directory, "unexpected_results.json") + json_results_generator.write_json(self._fs, unexpected_results, unexpected_json_path) + + full_results_path = self._fs.join(self._options.results_directory, "full_results.json") + json_results_generator.write_json(self._fs, summarized_results, full_results_path) # Write a json file of the test_expectations.txt file for the layout # tests dashboard. - expectations_path = self._fs.join(results_directory, "expectations.json") + expectations_path = self._fs.join(self._options.results_directory, "expectations.json") expectations_json = \ self._expectations.get_expectations_json_for_all_platforms() self._fs.write_text_file(expectations_path, @@ -832,7 +861,7 @@ class TestRunner: _log.debug("Finished writing JSON files.") - json_files = ["expectations.json", "incremental_results.json"] + json_files = ["expectations.json", "incremental_results.json", "full_results.json"] generator.upload_json_files(json_files) @@ -930,34 +959,9 @@ class TestRunner: Args: individual_test_timings: List of TestResults for all tests. """ - test_types = [] # Unit tests don't actually produce any timings. - if individual_test_timings: - test_types = individual_test_timings[0].time_for_diffs.keys() - times_for_dump_render_tree = [] - times_for_diff_processing = [] - times_per_test_type = {} - for test_type in test_types: - times_per_test_type[test_type] = [] - - for test_stats in individual_test_timings: - times_for_dump_render_tree.append(test_stats.test_run_time) - times_for_diff_processing.append( - test_stats.total_time_for_all_diffs) - time_for_diffs = test_stats.time_for_diffs - for test_type in test_types: - times_per_test_type[test_type].append( - time_for_diffs[test_type]) - - self._print_statistics_for_test_timings( - "PER TEST TIME IN TESTSHELL (seconds):", - times_for_dump_render_tree) - self._print_statistics_for_test_timings( - "PER TEST DIFF PROCESSING TIMES (seconds):", - times_for_diff_processing) - for test_type in test_types: - self._print_statistics_for_test_timings( - "PER TEST TIMES BY TEST TYPE: %s" % test_type, - times_per_test_type[test_type]) + times_for_dump_render_tree = [test_stats.test_run_time for test_stats in individual_test_timings] + self._print_statistics_for_test_timings("PER TEST TIME IN TESTSHELL (seconds):", + times_for_dump_render_tree) def _print_individual_test_times(self, individual_test_timings, result_summary): diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py index f097b83..0522d39 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py @@ -34,25 +34,65 @@ workers and receive their completion messages accordingly. """ import logging +import time +from webkitpy.tool import grammar from webkitpy.layout_tests.layout_package import manager_worker_broker from webkitpy.layout_tests.layout_package import test_runner from webkitpy.layout_tests.layout_package import worker + _log = logging.getLogger(__name__) +class _WorkerState(object): + """A class for the TestRunner/manager to use to track the current state + of the workers.""" + def __init__(self, number, worker_connection): + self.worker_connection = worker_connection + self.number = number + self.done = False + self.current_test_name = None + self.next_timeout = None + self.wedged = False + self.stats = {} + self.stats['name'] = worker_connection.name + self.stats['num_tests'] = 0 + self.stats['total_time'] = 0 + + def __repr__(self): + return "_WorkerState(" + str(self.__dict__) + ")" + + class TestRunner2(test_runner.TestRunner): def __init__(self, port, options, printer): test_runner.TestRunner.__init__(self, port, options, printer) self._all_results = [] self._group_stats = {} self._current_result_summary = None - self._done = False + + # This maps worker names to the state we are tracking for each of them. + self._worker_states = {} def is_done(self): - return self._done + worker_states = self._worker_states.values() + return worker_states and all(self._worker_is_done(worker_state) for worker_state in worker_states) + + def _worker_is_done(self, worker_state): + t = time.time() + if worker_state.done or worker_state.wedged: + return True + + next_timeout = worker_state.next_timeout + WEDGE_PADDING = 40.0 + if next_timeout and t > next_timeout + WEDGE_PADDING: + _log.error('') + worker_state.worker_connection.log_wedged_worker(worker_state.current_test_name) + _log.error('') + worker_state.wedged = True + return True + return False def name(self): return 'TestRunner2' @@ -60,8 +100,9 @@ class TestRunner2(test_runner.TestRunner): def _run_tests(self, file_list, result_summary): """Runs the tests in the file_list. - Return: A tuple (keyboard_interrupted, thread_timings, test_timings, - individual_test_timings) + Return: A tuple (interrupted, keyboard_interrupted, thread_timings, + test_timings, individual_test_timings) + interrupted is whether the run was interrupted keyboard_interrupted is whether someone typed Ctrl^C thread_timings is a list of dicts with the total runtime of each thread with 'name', 'num_tests', 'total_time' properties @@ -72,58 +113,118 @@ class TestRunner2(test_runner.TestRunner): result_summary: summary object to populate with the results """ self._current_result_summary = result_summary + self._all_results = [] + self._group_stats = {} + self._worker_states = {} + + num_workers = self._num_workers() + keyboard_interrupted = False + interrupted = False + thread_timings = [] + + self._printer.print_update('Sharding tests ...') + test_lists = self._shard_tests(file_list, + num_workers > 1 and not self._options.experimental_fully_parallel) + _log.debug("Using %d shards" % len(test_lists)) - # FIXME: shard properly. + manager_connection = manager_worker_broker.get(self._port, self._options, + self, worker.Worker) - # FIXME: should shard_tests return a list of objects rather than tuples? - test_lists = self._shard_tests(file_list, False) + if self._options.dry_run: + return (keyboard_interrupted, interrupted, thread_timings, + self._group_stats, self._all_results) - manager_connection = manager_worker_broker.get(self._port, self._options, self, worker.Worker) + self._printer.print_update('Starting %s ...' % + grammar.pluralize('worker', num_workers)) + for worker_number in xrange(num_workers): + worker_connection = manager_connection.start_worker(worker_number) + worker_state = _WorkerState(worker_number, worker_connection) + self._worker_states[worker_connection.name] = worker_state - # FIXME: start all of the workers. - manager_connection.start_worker(0) + # FIXME: If we start workers up too quickly, DumpRenderTree appears + # to thrash on something and time out its first few tests. Until + # we can figure out what's going on, sleep a bit in between + # workers. + time.sleep(0.1) + self._printer.print_update("Starting testing ...") for test_list in test_lists: manager_connection.post_message('test_list', test_list[0], test_list[1]) - manager_connection.post_message('stop') + # We post one 'stop' message for each worker. Because the stop message + # are sent after all of the tests, and because each worker will stop + # reading messsages after receiving a stop, we can be sure each + # worker will get a stop message and hence they will all shut down. + for i in xrange(num_workers): + manager_connection.post_message('stop') - keyboard_interrupted = False - interrupted = False - if not self._options.dry_run: - while not self._check_if_done(): + try: + while not self.is_done(): + # We loop with a timeout in order to be able to detect wedged threads. manager_connection.run_message_loop(delay_secs=1.0) - # FIXME: implement stats. - thread_timings = [] + if any(worker_state.wedged for worker_state in self._worker_states.values()): + _log.error('') + _log.error('Remaining workers are wedged, bailing out.') + _log.error('') + else: + _log.debug('No wedged threads') + + # Make sure all of the workers have shut down (if possible). + for worker_state in self._worker_states.values(): + if not worker_state.wedged and worker_state.worker_connection.is_alive(): + worker_state.worker_connection.join(0.5) + assert not worker_state.worker_connection.is_alive() + + except KeyboardInterrupt: + _log.info("Interrupted, exiting") + self.cancel_workers() + keyboard_interrupted = True + except test_runner.TestRunInterruptedException, e: + _log.info(e.reason) + self.cancel_workers() + interrupted = True + except: + # Unexpected exception; don't try to clean up workers. + _log.info("Exception raised, exiting") + raise + + thread_timings = [worker_state.stats for worker_state in self._worker_states.values()] # FIXME: should this be a class instead of a tuple? - return (keyboard_interrupted, interrupted, thread_timings, + return (interrupted, keyboard_interrupted, thread_timings, self._group_stats, self._all_results) - def _check_if_done(self): - """Returns true iff all the workers have either completed or wedged.""" - # FIXME: implement to check for wedged workers. - return self._done + def cancel_workers(self): + for worker_state in self._worker_states.values(): + worker_state.worker_connection.cancel() - def handle_started_test(self, src, test_info, hang_timeout): - # FIXME: implement - pass + def handle_started_test(self, source, test_info, hang_timeout): + worker_state = self._worker_states[source] + worker_state.current_test_name = self._port.relative_test_filename(test_info.filename) + worker_state.next_timeout = time.time() + hang_timeout - def handle_done(self, src): - # FIXME: implement properly to handle multiple workers. - self._done = True - pass + def handle_done(self, source): + worker_state = self._worker_states[source] + worker_state.done = True - def handle_exception(self, src, exception_info): - raise exception_info + def handle_exception(self, source, exception_info): + exception_type, exception_value, exception_traceback = exception_info + raise exception_type, exception_value, exception_traceback - def handle_finished_list(self, src, list_name, num_tests, elapsed_time): - # FIXME: update stats - pass + def handle_finished_list(self, source, list_name, num_tests, elapsed_time): + self._group_stats[list_name] = (num_tests, elapsed_time) - def handle_finished_test(self, src, result, elapsed_time): - self._update_summary_with_result(self._current_result_summary, result) + def handle_finished_test(self, source, result, elapsed_time): + worker_state = self._worker_states[source] + worker_state.next_timeout = None + worker_state.current_test_name = None + worker_state.stats['total_time'] += elapsed_time + worker_state.stats['num_tests'] += 1 + + if worker_state.wedged: + # This shouldn't happen if we have our timeouts tuned properly. + _log.error("%s unwedged", w.name) - # FIXME: update stats. self._all_results.append(result) + self._update_summary_with_result(self._current_result_summary, result) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py index 47d4fbd..bf77526 100644 --- a/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py @@ -35,41 +35,63 @@ import time from webkitpy.common.system import stack_utils from webkitpy.layout_tests.layout_package import manager_worker_broker -from webkitpy.layout_tests.layout_package import test_results +from webkitpy.layout_tests.layout_package import worker_mixin _log = logging.getLogger(__name__) -class Worker(manager_worker_broker.AbstractWorker): +class Worker(manager_worker_broker.AbstractWorker, worker_mixin.WorkerMixin): def __init__(self, worker_connection, worker_number, options): self._worker_connection = worker_connection self._worker_number = worker_number self._options = options self._name = 'worker/%d' % worker_number self._done = False + self._canceled = False self._port = None - def _deferred_init(self, port): - self._port = port + def __del__(self): + self.cleanup() + + def cancel(self): + """Attempt to abort processing (best effort).""" + self._canceled = True def is_done(self): - return self._done + return self._done or self._canceled def name(self): return self._name def run(self, port): - self._deferred_init(port) + self.safe_init(port) + exception_msg = "" _log.debug("%s starting" % self._name) - # FIXME: need to add in error handling, better logging. - self._worker_connection.run_message_loop() - self._worker_connection.post_message('done') + try: + self._worker_connection.run_message_loop() + if not self.is_done(): + raise AssertionError("%s: ran out of messages in worker queue." + % self._name) + except KeyboardInterrupt: + exception_msg = ", interrupted" + except: + exception_msg = ", exception raised" + finally: + _log.debug("%s done%s" % (self._name, exception_msg)) + if exception_msg: + exception_type, exception_value, exception_traceback = sys.exc_info() + stack_utils.log_traceback(_log.error, exception_traceback) + # FIXME: Figure out how to send a message with a traceback. + self._worker_connection.post_message('exception', + (exception_type, exception_value, None)) + self._worker_connection.post_message('done') def handle_test_list(self, src, list_name, test_list): - # FIXME: check to see if we need to get the http lock. + if list_name == "tests_to_http_lock": + self.start_servers_with_lock() start_time = time.time() num_tests = 0 @@ -81,24 +103,20 @@ class Worker(manager_worker_broker.AbstractWorker): elapsed_time = time.time() - start_time self._worker_connection.post_message('finished_list', list_name, num_tests, elapsed_time) - # FIXME: release the lock if necessary + if self._has_http_lock: + self.stop_servers_with_lock() def handle_stop(self, src): self._done = True def _run_test(self, test_input): - - # FIXME: get real timeout value from SingleTestRunner - test_timeout_sec = int(test_input.timeout) / 1000 + test_timeout_sec = self.timeout(test_input) start = time.time() self._worker_connection.post_message('started_test', test_input, test_timeout_sec) - # FIXME: actually run the test. - result = test_results.TestResult(test_input.filename, failures=[], - test_run_time=0, total_time_for_all_diffs=0, time_for_diffs={}) + result = self.run_test_with_timeout(test_input, test_timeout_sec) elapsed_time = time.time() - start - - # FIXME: update stats, check for failures. - self._worker_connection.post_message('finished_test', result, elapsed_time) + + self.clean_up_after_test(test_input, result) diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py new file mode 100644 index 0000000..7876f91 --- /dev/null +++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py @@ -0,0 +1,208 @@ +# Copyright (C) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import logging +import sys +import threading +import time + +from webkitpy.layout_tests.layout_package import single_test_runner +from webkitpy.layout_tests.layout_package import test_results + +_log = logging.getLogger(__name__) + + +class WorkerMixin(object): + """This class holds logic common to Worker and TestShellThread that + doesn't directly have to do with running the tests (which is + SingleTestRunner's responsibility. This class cannot stand on its own.""" + def __init__(self): + assert False, "WorkerMixin can't be directly instantiated" + + def safe_init(self, port): + """This method should only be called when it is is safe for the mixin + to create state that can't be Pickled. + + This routine exists so that the mixin can be created and then marshaled + across into a child process.""" + self._port = port + self._filesystem = port._filesystem + self._batch_count = 0 + self._batch_size = self._options.batch_size + self._driver = None + tests_run_filename = self._filesystem.join(self._options.results_directory, + "tests_run%d.txt" % self._worker_number) + self._tests_run_file = self._filesystem.open_text_file_for_writing(tests_run_filename) + + # FIXME: it's goofy that we have to track this at all, but it's due to + # the awkward logic in TestShellThread._run(). When we remove that + # file, we should rewrite this code so that caller keeps track of whether + # the lock is held. + self._has_http_lock = False + + def cleanup(self): + if self._driver: + self.kill_driver() + if self._has_http_lock: + self.stop_servers_with_lock() + if self._tests_run_file: + self._tests_run_file.close() + self._tests_run_file = None + + def timeout(self, test_input): + """Compute the appropriate timeout value for a test.""" + # The DumpRenderTree watchdog uses 2.5x the timeout; we want to be + # larger than that. We also add a little more padding if we're + # running tests in a separate thread. + # + # Note that we need to convert the test timeout from a + # string value in milliseconds to a float for Python. + driver_timeout_sec = 3.0 * float(test_input.timeout) / 1000.0 + if not self._options.run_singly: + return driver_timeout_sec + + thread_padding_sec = 1.0 + thread_timeout_sec = driver_timeout_sec + thread_padding_sec + return thread_timeout_sec + + def start_servers_with_lock(self): + _log.debug('Acquiring http lock ...') + self._port.acquire_http_lock() + _log.debug('Starting HTTP server ...') + self._port.start_http_server() + _log.debug('Starting WebSocket server ...') + self._port.start_websocket_server() + self._has_http_lock = True + + def stop_servers_with_lock(self): + if self._has_http_lock: + _log.debug('Stopping HTTP server ...') + self._port.stop_http_server() + _log.debug('Stopping WebSocket server ...') + self._port.stop_websocket_server() + _log.debug('Releasing server lock ...') + self._port.release_http_lock() + self._has_http_lock = False + + def kill_driver(self): + if self._driver: + self._driver.stop() + self._driver = None + + def run_test_with_timeout(self, test_input, timeout): + if self._options.run_singly: + return self._run_test_in_another_thread(test_input, timeout) + else: + return self._run_test_in_this_thread(test_input) + return result + + def clean_up_after_test(self, test_input, result): + self._batch_count += 1 + self._tests_run_file.write(test_input.filename + "\n") + test_name = self._port.relative_test_filename(test_input.filename) + + if result.failures: + # Check and kill DumpRenderTree if we need to. + if any([f.should_kill_dump_render_tree() for f in result.failures]): + self.kill_driver() + # Reset the batch count since the shell just bounced. + self._batch_count = 0 + + # Print the error message(s). + _log.debug("%s %s failed:" % (self._name, test_name)) + for f in result.failures: + _log.debug("%s %s" % (self._name, f.message())) + else: + _log.debug("%s %s passed" % (self._name, test_name)) + + if self._batch_size > 0 and self._batch_count >= self._batch_size: + # Bounce the shell and reset count. + self.kill_driver() + self._batch_count = 0 + + def _run_test_in_another_thread(self, test_input, thread_timeout_sec): + """Run a test in a separate thread, enforcing a hard time limit. + + Since we can only detect the termination of a thread, not any internal + state or progress, we can only run per-test timeouts when running test + files singly. + + Args: + test_input: Object containing the test filename and timeout + thread_timeout_sec: time to wait before killing the driver process. + Returns: + A TestResult + """ + worker = self + result = None + + driver = worker._port.create_driver(worker._worker_number) + driver.start() + + class SingleTestThread(threading.Thread): + def run(self): + result = worker._run_single_test(driver, test_input) + + thread = SingleTestThread() + thread.start() + thread.join(thread_timeout_sec) + if thread.isAlive(): + # If join() returned with the thread still running, the + # DumpRenderTree is completely hung and there's nothing + # more we can do with it. We have to kill all the + # DumpRenderTrees to free it up. If we're running more than + # one DumpRenderTree thread, we'll end up killing the other + # DumpRenderTrees too, introducing spurious crashes. We accept + # that tradeoff in order to avoid losing the rest of this + # thread's results. + _log.error('Test thread hung: killing all DumpRenderTrees') + + driver.stop() + + if not result: + result = test_results.TestResult(test_input.filename, failures=[], test_run_time=0) + return result + + def _run_test_in_this_thread(self, test_input): + """Run a single test file using a shared DumpRenderTree process. + + Args: + test_input: Object containing the test filename, uri and timeout + + Returns: a TestResult object. + """ + # poll() is not threadsafe and can throw OSError due to: + # http://bugs.python.org/issue1731717 + if not self._driver or self._driver.poll() is not None: + self._driver = self._port.create_driver(self._worker_number) + self._driver.start() + return self._run_single_test(self._driver, test_input) + + def _run_single_test(self, driver, test_input): + return single_test_runner.run_single_test(self._port, self._options, + test_input, driver, self._name) diff --git a/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py b/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py index 46617f6..05a2338 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py @@ -75,6 +75,7 @@ class LayoutTestApacheHttpd(http_server_base.HttpServerBase): test_dir = self._port_obj.layout_tests_dir() js_test_resources_dir = self._cygwin_safe_join(test_dir, "fast", "js", "resources") + media_resources_dir = self._cygwin_safe_join(test_dir, "media") mime_types_path = self._cygwin_safe_join(test_dir, "http", "conf", "mime.types") cert_file = self._cygwin_safe_join(test_dir, "http", "conf", @@ -92,6 +93,7 @@ class LayoutTestApacheHttpd(http_server_base.HttpServerBase): '-f', "\"%s\"" % self._get_apache_config_file_path(test_dir, output_dir), '-C', "\'DocumentRoot \"%s\"\'" % document_root, '-c', "\'Alias /js-test-resources \"%s\"'" % js_test_resources_dir, + '-c', "\'Alias /media-resources \"%s\"'" % media_resources_dir, '-C', "\'Listen %s\'" % "127.0.0.1:8000", '-C', "\'Listen %s\'" % "127.0.0.1:8081", '-c', "\'TypesConfig \"%s\"\'" % mime_types_path, @@ -194,6 +196,7 @@ class LayoutTestApacheHttpd(http_server_base.HttpServerBase): # FIXME: We should not need to be joining shell arguments into strings. # shell=True is a trail of tears. # Note: Not thread safe: http://bugs.python.org/issue2320 + _log.debug('Starting http server, cmd="%s"' % str(self._start_cmd)) self._httpd_proc = subprocess.Popen(self._start_cmd, stderr=subprocess.PIPE, shell=True) diff --git a/Tools/Scripts/webkitpy/layout_tests/port/base.py b/Tools/Scripts/webkitpy/layout_tests/port/base.py index 5ff4bff..247a260 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/base.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/base.py @@ -38,6 +38,12 @@ import shlex import sys import time +# Handle Python < 2.6 where multiprocessing isn't available. +try: + import multiprocessing +except ImportError: + multiprocessing = None + import apache_http_server import config as port_config import http_lock @@ -83,6 +89,7 @@ class Port(object): config=None, **kwargs): self._name = port_name + self._architecture = 'x86' self._options = options if self._options is None: # FIXME: Ideally we'd have a package-wide way to get a @@ -124,6 +131,7 @@ class Port(object): if not hasattr(self._options, 'configuration') or self._options.configuration is None: self._options.configuration = self.default_configuration() self._test_configuration = None + self._multiprocessing_is_available = (multiprocessing is not None) def default_child_processes(self): """Return the number of DumpRenderTree instances to use for this @@ -356,9 +364,8 @@ class Port(object): # Make http/tests/local run as local files. This is to mimic the # logic in run-webkit-tests. # - # TODO(dpranke): remove the media reference and the SSL reference? - if (port and not relative_path.startswith("local/") and - not relative_path.startswith("media/")): + # TODO(dpranke): remove the SSL reference? + if (port and not relative_path.startswith("local/")): if relative_path.startswith("ssl/"): port += 443 protocol = "https" @@ -641,9 +648,12 @@ class Port(object): "chromium-mac" on the Chromium ports.""" raise NotImplementedError('Port.test_platform_name_to_name') + def architecture(self): + return self._architecture + def version(self): """Returns a string indicating the version of a given platform, e.g. - '-leopard' or '-xp'. + 'leopard' or 'xp'. This is used to help identify the exact port when parsing test expectations, determining search paths, and logging information.""" @@ -891,6 +901,7 @@ class Driver: driver_input: a DriverInput object Returns a DriverOutput object. + Note that DriverOutput.image will be '' (empty string) if a test crashes. """ raise NotImplementedError('Driver.run_test') @@ -928,13 +939,12 @@ class TestConfiguration(object): # FIXME: We can get the O/S and version from test_platform_name() # and version() for now, but those should go away and be cleaned up # with more generic methods like operation_system() and os_version() - # or something. Note that we need to strip the leading '-' off the - # version string if it is present. + # or something. if port: port_version = port.version() - self.os = os or port.test_platform_name().replace(port_version, '') - self.version = version or port_version[1:] - self.architecture = architecture or 'x86' + self.os = os or port.test_platform_name().replace('-' + port_version, '') + self.version = version or port_version + self.architecture = architecture or port.architecture() self.build_type = build_type or port._options.configuration.lower() self.graphics_type = graphics_type or port.graphics_type() @@ -945,7 +955,7 @@ class TestConfiguration(object): return self.__dict__.keys() def __str__(self): - return ("<%(os)s, %(version)s, %(build_type)s, %(graphics_type)s>" % + return ("<%(os)s, %(version)s, %(architecture)s, %(build_type)s, %(graphics_type)s>" % self.__dict__) def __repr__(self): @@ -977,7 +987,8 @@ class TestConfiguration(object): ('win', 'xp', 'x86'), ('win', 'vista', 'x86'), ('win', 'win7', 'x86'), - ('linux', 'hardy', 'x86')) + ('linux', 'hardy', 'x86'), + ('linux', 'hardy', 'x86_64')) def all_build_types(self): return ('debug', 'release') diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium.py index 7d56fa2..baf1893 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium.py @@ -423,10 +423,10 @@ class ChromiumDriver(base.Driver): def _output_image(self): """Returns the image output which driver generated.""" png_path = self._image_path - if png_path and self._port._filesystem.isfile(png_path): + if png_path and self._port._filesystem.exists(png_path): return self._port._filesystem.read_binary_file(png_path) else: - return None + return '' def _output_image_with_retry(self): # Retry a few more times because open() sometimes fails on Windows, @@ -443,6 +443,11 @@ class ChromiumDriver(base.Driver): raise e return self._output_image() + def _clear_output_image(self): + png_path = self._image_path + if png_path and self._port._filesystem.exists(png_path): + self._port._filesystem.remove(png_path) + def run_test(self, driver_input): output = [] error = [] @@ -450,7 +455,7 @@ class ChromiumDriver(base.Driver): timeout = False actual_uri = None actual_checksum = None - + self._clear_output_image() start_time = time.time() uri = self._port.filename_to_uri(driver_input.filename) @@ -497,9 +502,10 @@ class ChromiumDriver(base.Driver): (line, crash) = self._write_command_and_read_line(input=None) run_time = time.time() - start_time - return base.DriverOutput( - ''.join(output), self._output_image_with_retry(), actual_checksum, - crash, run_time, timeout, ''.join(error)) + output_image = self._output_image_with_retry() + assert output_image is not None + return base.DriverOutput(''.join(output), output_image, actual_checksum, + crash, run_time, timeout, ''.join(error)) def stop(self): if self._proc: diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py index e8c75c4..167f23e 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py @@ -48,11 +48,11 @@ def get(platform=None, port_name='chromium-gpu', **kwargs): else: raise NotImplementedError('unsupported platform: %s' % platform) - if port_name == 'chromium-gpu-linux': + if port_name.startswith('chromium-gpu-linux'): return ChromiumGpuLinuxPort(port_name=port_name, **kwargs) - if port_name == 'chromium-gpu-mac': + if port_name.startswith('chromium-gpu-mac'): return ChromiumGpuMacPort(port_name=port_name, **kwargs) - if port_name == 'chromium-gpu-win': + if port_name.startswith('chromium-gpu-win'): return ChromiumGpuWinPort(port_name=port_name, **kwargs) raise NotImplementedError('unsupported port: %s' % port_name) @@ -73,7 +73,7 @@ def _set_gpu_options(port): def _tests(port, paths): if not paths: - paths = ['compositing', 'platform/chromium/compositing'] + paths = ['compositing', 'platform/chromium/compositing', 'media'] if not port.name().startswith('chromium-gpu-mac'): # Canvas is not yet accelerated on the Mac, so there's no point # in running the tests there. @@ -84,11 +84,26 @@ def _tests(port, paths): return test_files.find(port, paths) +def _test_platform_names(self): + return ('mac', 'win', 'linux') + + +def _test_platform_name_to_name(self, test_platform_name): + if test_platform_name in self.test_platform_names(): + return 'chromium-gpu-' + test_platform_name + raise ValueError('Unsupported test_platform_name: %s' % + test_platform_name) + + class ChromiumGpuLinuxPort(chromium_linux.ChromiumLinuxPort): def __init__(self, port_name='chromium-gpu-linux', **kwargs): chromium_linux.ChromiumLinuxPort.__init__(self, port_name=port_name, **kwargs) _set_gpu_options(self) + def baseline_path(self): + # GPU baselines aren't yet versioned. + return self._webkit_baseline_path('chromium-gpu-linux') + def baseline_search_path(self): # Mimic the Linux -> Win expectations fallback in the ordinary Chromium port. return (map(self._webkit_baseline_path, ['chromium-gpu-linux', 'chromium-gpu-win', 'chromium-gpu']) + @@ -103,6 +118,14 @@ class ChromiumGpuLinuxPort(chromium_linux.ChromiumLinuxPort): def tests(self, paths): return _tests(self, paths) + def test_platform_name(self): + return 'linux' + + def test_platform_names(self): + return _test_platform_names(self) + + def test_platform_name_to_name(self, name): + return _test_platform_name_to_name(self, name) class ChromiumGpuMacPort(chromium_mac.ChromiumMacPort): @@ -110,6 +133,10 @@ class ChromiumGpuMacPort(chromium_mac.ChromiumMacPort): chromium_mac.ChromiumMacPort.__init__(self, port_name=port_name, **kwargs) _set_gpu_options(self) + def baseline_path(self): + # GPU baselines aren't yet versioned. + return self._webkit_baseline_path('chromium-gpu-mac') + def baseline_search_path(self): return (map(self._webkit_baseline_path, ['chromium-gpu-mac', 'chromium-gpu']) + chromium_mac.ChromiumMacPort.baseline_search_path(self)) @@ -123,6 +150,14 @@ class ChromiumGpuMacPort(chromium_mac.ChromiumMacPort): def tests(self, paths): return _tests(self, paths) + def test_platform_name(self): + return 'mac' + + def test_platform_names(self): + return _test_platform_names(self) + + def test_platform_name_to_name(self, name): + return _test_platform_name_to_name(self, name) class ChromiumGpuWinPort(chromium_win.ChromiumWinPort): @@ -130,6 +165,10 @@ class ChromiumGpuWinPort(chromium_win.ChromiumWinPort): chromium_win.ChromiumWinPort.__init__(self, port_name=port_name, **kwargs) _set_gpu_options(self) + def baseline_path(self): + # GPU baselines aren't yet versioned. + return self._webkit_baseline_path('chromium-gpu-win') + def baseline_search_path(self): return (map(self._webkit_baseline_path, ['chromium-gpu-win', 'chromium-gpu']) + chromium_win.ChromiumWinPort.baseline_search_path(self)) @@ -142,3 +181,12 @@ class ChromiumGpuWinPort(chromium_win.ChromiumWinPort): def tests(self, paths): return _tests(self, paths) + + def test_platform_name(self): + return 'win' + + def test_platform_names(self): + return _test_platform_names(self) + + def test_platform_name_to_name(self, name): + return _test_platform_name_to_name(self, name) diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py index 96962ec..9c5dae7 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py @@ -29,6 +29,7 @@ import unittest from webkitpy.tool import mocktool import chromium_gpu +from webkitpy.layout_tests.port import factory class ChromiumGpuTest(unittest.TestCase): def test_get_chromium_gpu_linux(self): @@ -66,8 +67,7 @@ class ChromiumGpuTest(unittest.TestCase): self.assertEqual(port.default_child_processes(), 1) self.assertEqual(port._options.builder_name, 'foo - GPU') - # We don't support platform-specific versions of the GPU port yet. - self.assertEqual(port.name(), port_name) + self.assertTrue(port.name().startswith(port_name)) # test that it has the right directories in front of the search path. paths = port.baseline_search_path() @@ -96,6 +96,31 @@ class ChromiumGpuTest(unittest.TestCase): self.assertTrue(port._filesystem.exists(path)) self.assertFalse(path in files) + def test_chromium_gpu__vista(self): + port = factory.get('chromium-gpu-win-vista') + self.assertEquals(port.name(), 'chromium-gpu-win-vista') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-gpu-win')) + + def test_chromium_gpu__xp(self): + port = factory.get('chromium-gpu-win-xp') + self.assertEquals(port.name(), 'chromium-gpu-win-xp') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-gpu-win')) + + def test_chromium_gpu__win7(self): + port = factory.get('chromium-gpu-win-win7') + self.assertEquals(port.name(), 'chromium-gpu-win-win7') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-gpu-win')) + + def test_chromium_gpu__leopard(self): + port = factory.get('chromium-gpu-mac-leopard') + self.assertEquals(port.name(), 'chromium-gpu-mac-leopard') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-gpu-mac')) + + def test_chromium_gpu__snowleopard(self): + port = factory.get('chromium-gpu-mac-snowleopard') + self.assertEquals(port.name(), 'chromium-gpu-mac-snowleopard') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-gpu-mac')) + if __name__ == '__main__': unittest.main() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux.py index c3c5a21..a8e1bb2 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux.py @@ -40,13 +40,62 @@ _log = logging.getLogger("webkitpy.layout_tests.port.chromium_linux") class ChromiumLinuxPort(chromium.ChromiumPort): """Chromium Linux implementation of the Port class.""" - - def __init__(self, **kwargs): - kwargs.setdefault('port_name', 'chromium-linux') - chromium.ChromiumPort.__init__(self, **kwargs) + SUPPORTED_ARCHITECTURES = ('x86', 'x86_64') + + FALLBACK_PATHS = { + 'x86_64': ['chromium-linux-x86_64', 'chromium-linux', 'chromium-win', 'chromium', 'win', 'mac'], + 'x86': ['chromium-linux', 'chromium-win', 'chromium', 'win', 'mac'], + } + + def __init__(self, port_name=None, rebaselining=False, **kwargs): + port_name = port_name or 'chromium-linux' + chromium.ChromiumPort.__init__(self, port_name=port_name, **kwargs) + + # We re-set the port name once the base object is fully initialized + # in order to be able to find the DRT binary properly. + if port_name.endswith('-linux') and not rebaselining: + self._architecture = self._determine_architecture() + # FIXME: this is an ugly hack to avoid renaming the GPU port. + if port_name == 'chromium-linux': + port_name = port_name + '-' + self._architecture + elif rebaselining: + self._architecture = 'x86' + else: + base, arch = port_name.rsplit('-', 1) + assert base in ('chromium-linux', 'chromium-gpu-linux') + self._architecture = arch + assert self._architecture in self.SUPPORTED_ARCHITECTURES + assert port_name in ('chromium-linux', 'chromium-gpu-linux', + 'chromium-linux-x86', 'chromium-linux-x86_64') + self._name = port_name + + def _determine_architecture(self): + driver_path = self._path_to_driver() + file_output = '' + if self._filesystem.exists(driver_path): + file_output = self._executive.run_command(['file', driver_path], + return_stderr=True) + + if 'ELF 32-bit LSB executable' in file_output: + return 'x86' + if 'ELF 64-bit LSB executable' in file_output: + return 'x86_64' + if file_output: + _log.warning('Could not determine architecture from "file" output: %s' % file_output) + + # We don't know what the architecture is; default to 'x86' because + # maybe we're rebaselining and the binary doesn't actually exist, + # or something else weird is going on. It's okay to do this because + # if we actually try to use the binary, check_build() should fail. + return 'x86' + + def baseline_path(self): + if self._architecture == 'x86_64': + return self._webkit_baseline_path(self._name) + return self._webkit_baseline_path('chromium-linux') def baseline_search_path(self): - port_names = ["chromium-linux", "chromium-win", "chromium", "win", "mac"] + port_names = self.FALLBACK_PATHS[self._architecture] return map(self._webkit_baseline_path, port_names) def check_build(self, needs_http): @@ -65,13 +114,18 @@ class ChromiumLinuxPort(chromium.ChromiumPort): 'LinuxBuildInstructions') return result + def default_worker_model(self): + if self._multiprocessing_is_available: + return 'processes' + return 'old-threads' + def test_platform_name(self): # We use 'linux' instead of 'chromium-linux' in test_expectations.txt. return 'linux' def version(self): - # We don't have different versions on linux. - return '' + # FIXME: add support for Lucid. + return 'hardy' # # PROTECTED METHODS diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py new file mode 100644 index 0000000..05ec067 --- /dev/null +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py @@ -0,0 +1,104 @@ +# Copyright (C) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import unittest + +from webkitpy.common.system import executive_mock +from webkitpy.common.system import filesystem_mock + +from webkitpy.layout_tests.port import chromium_linux +from webkitpy.layout_tests.port import port_testcase + + +class ChromiumLinuxPortTest(port_testcase.PortTestCase): + def port_maker(self, platform): + if platform != 'linux': + return None + return chromium_linux.ChromiumLinuxPort + + def assert_architecture(self, port_name=None, file_output=None, + expected_architecture=None): + filesystem = filesystem_mock.MockFileSystem() + filesystem.exists = lambda x: 'DumpRenderTree' in x + executive = None + if file_output: + executive = executive_mock.MockExecutive2(file_output) + + port = chromium_linux.ChromiumLinuxPort(port_name=port_name, + executive=executive, filesystem=filesystem) + self.assertEquals(port.architecture(), expected_architecture) + if expected_architecture == 'x86': + self.assertTrue(port.baseline_path().endswith('chromium-linux')) + self.assertTrue(port.baseline_search_path()[0].endswith('chromium-linux')) + else: + self.assertTrue(port.baseline_path().endswith('chromium-linux-x86_64')) + self.assertTrue(port.baseline_search_path()[0].endswith('chromium-linux-x86_64')) + self.assertTrue(port.baseline_search_path()[1].endswith('chromium-linux')) + + def test_architectures(self): + self.assert_architecture(port_name='chromium-linux-x86', + expected_architecture='x86') + self.assert_architecture(port_name='chromium-linux-x86_64', + expected_architecture='x86_64') + self.assert_architecture(file_output='ELF 32-bit LSB executable', + expected_architecture='x86') + self.assert_architecture(file_output='ELF 64-bit LSB executable', + expected_architecture='x86_64') + + def test_check_illegal_port_names(self): + # FIXME: Check that, for now, these are illegal port names. + # Eventually we should be able to do the right thing here. + self.assertRaises(AssertionError, chromium_linux.ChromiumLinuxPort, + port_name='chromium-x86-linux') + self.assertRaises(AssertionError, chromium_linux.ChromiumLinuxPort, + port_name='chromium-linux-x86-gpu') + + def test_determine_architecture_fails(self): + # Test that we default to 'x86' if the driver doesn't exist. + filesystem = filesystem_mock.MockFileSystem() + port = chromium_linux.ChromiumLinuxPort(filesystem=filesystem) + self.assertEquals(port.architecture(), 'x86') + + # Test that we default to 'x86' on an unknown architecture. + filesystem = filesystem_mock.MockFileSystem() + filesystem.exists = lambda x: True + executive = executive_mock.MockExecutive2('win32') + port = chromium_linux.ChromiumLinuxPort(filesystem=filesystem, + executive=executive) + self.assertEquals(port.architecture(), 'x86') + + # Test that we raise errors if something weird happens. + filesystem = filesystem_mock.MockFileSystem() + filesystem.exists = lambda x: True + executive = executive_mock.MockExecutive2(exception=AssertionError) + self.assertRaises(AssertionError, chromium_linux.ChromiumLinuxPort, + filesystem=filesystem, executive=executive) + + +if __name__ == '__main__': + unittest.main() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py index 17862a2..78a6682 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py @@ -31,10 +31,10 @@ import logging import os -import platform import signal -import chromium +from webkitpy.layout_tests.port import mac +from webkitpy.layout_tests.port import chromium from webkitpy.common.system.executive import Executive @@ -43,20 +43,51 @@ _log = logging.getLogger("webkitpy.layout_tests.port.chromium_mac") class ChromiumMacPort(chromium.ChromiumPort): """Chromium Mac implementation of the Port class.""" + SUPPORTED_OS_VERSIONS = ('leopard', 'snowleopard') + + FALLBACK_PATHS = { + 'leopard': ['chromium-mac-leopard', 'chromium-mac-snowleopard', 'chromium-mac', 'chromium', + 'mac-leopard', 'mac-snowleopard', 'mac'], + 'snowleopard': ['chromium-mac-snowleopard', 'chromium-mac', 'chromium', + 'mac-snowleopard', 'mac'], + '': ['chromium-mac', 'chromium', 'mac'], + } + + def __init__(self, port_name=None, os_version_string=None, rebaselining=False, **kwargs): + # We're a little generic here because this code is reused by the + # 'google-chrome' port as well as the 'mock-' and 'dryrun-' ports. + port_name = port_name or 'chromium-mac' + + if port_name.endswith('-mac'): + # FIXME: The rebaselining flag is an ugly hack that lets us create an + # "chromium-mac" port that is not version-specific. It should only be + # used by rebaseline-chromium-webkit-tests to explicitly put files into + # the generic directory. In theory we shouldn't need this, because + # the newest mac port should be using 'chromium-mac' as the baseline + # directory. However, we also don't have stable SL bots :( + # + # When we remove this FIXME, we also need to remove '' as a valid + # fallback key in self.FALLBACK_PATHS. + if rebaselining: + self._version = '' + else: + self._version = mac.os_version(os_version_string, self.SUPPORTED_OS_VERSIONS) + port_name = port_name + '-' + self._version + else: + self._version = port_name[port_name.index('-mac-') + 5:] + assert self._version in self.SUPPORTED_OS_VERSIONS + + chromium.ChromiumPort.__init__(self, port_name=port_name, **kwargs) - def __init__(self, **kwargs): - kwargs.setdefault('port_name', 'chromium-mac') - chromium.ChromiumPort.__init__(self, **kwargs) + def baseline_path(self): + if self.version() == 'snowleopard': + # We treat Snow Leopard as the newest version of mac, + # so it gets the base dir. + return self._webkit_baseline_path('chromium-mac') + return self._webkit_baseline_path(self.name()) def baseline_search_path(self): - port_names = [ - "chromium-mac" + self.version(), - "chromium-mac", - "chromium", - "mac" + self.version(), - "mac", - ] - return map(self._webkit_baseline_path, port_names) + return map(self._webkit_baseline_path, self.FALLBACK_PATHS[self._version]) def check_build(self, needs_http): result = chromium.ChromiumPort.check_build(self, needs_http) @@ -80,25 +111,22 @@ class ChromiumMacPort(chromium.ChromiumPort): return chromium.ChromiumPort.default_child_processes(self) + def default_worker_model(self): + if self._multiprocessing_is_available: + return 'processes' + return 'old-threads' + def driver_name(self): return "DumpRenderTree" def test_platform_name(self): # We use 'mac' instead of 'chromium-mac' + + # FIXME: Get rid of this method after rebaseline_chromium_webkit_tests dies. return 'mac' def version(self): - # FIXME: It's strange that this string is -version, not just version. - os_version_string = platform.mac_ver()[0] # e.g. "10.5.6" - if not os_version_string: - return '-leopard' - release_version = int(os_version_string.split('.')[1]) - # we don't support 'tiger' or earlier releases - if release_version == 5: - return '-leopard' - elif release_version == 6: - return '-snowleopard' - return '' + return self._version # # PROTECTED METHODS diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py index d63faa0..12011c6 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py @@ -26,15 +26,65 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import chromium_mac import unittest from webkitpy.thirdparty.mock import Mock +from webkitpy.layout_tests.port import chromium_mac +from webkitpy.layout_tests.port import port_testcase -class ChromiumMacPortTest(unittest.TestCase): + +class ChromiumMacPortTest(port_testcase.PortTestCase): + def port_maker(self, platform): + if platform != 'darwin': + return None + return chromium_mac.ChromiumMacPort def test_check_wdiff_install(self): port = chromium_mac.ChromiumMacPort() + # Currently is always true, just logs if missing. self.assertTrue(port._check_wdiff_install()) + + def assert_name(self, port_name, os_version_string, expected): + port = chromium_mac.ChromiumMacPort(port_name=port_name, + os_version_string=os_version_string) + self.assertEquals(expected, port.name()) + + def test_versions(self): + port = chromium_mac.ChromiumMacPort() + self.assertTrue(port.name() in ('chromium-mac-leopard', 'chromium-mac-snowleopard')) + + self.assert_name(None, '10.5.3', 'chromium-mac-leopard') + self.assert_name('chromium-mac', '10.5.3', 'chromium-mac-leopard') + self.assert_name('chromium-mac-leopard', '10.5.3', 'chromium-mac-leopard') + self.assert_name('chromium-mac-leopard', '10.6.3', 'chromium-mac-leopard') + + self.assert_name(None, '10.6.3', 'chromium-mac-snowleopard') + self.assert_name('chromium-mac', '10.6.3', 'chromium-mac-snowleopard') + self.assert_name('chromium-mac-snowleopard', '10.5.3', 'chromium-mac-snowleopard') + self.assert_name('chromium-mac-snowleopard', '10.6.3', 'chromium-mac-snowleopard') + + self.assertRaises(KeyError, self.assert_name, None, '10.7.1', 'chromium-mac-leopard') + self.assertRaises(AssertionError, self.assert_name, None, '10.4.1', 'chromium-mac-leopard') + + def test_generic_rebaselining_port(self): + port = chromium_mac.ChromiumMacPort(rebaselining=True) + self.assertEquals(port.name(), 'chromium-mac') + self.assertEquals(port.version(), '') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path(port.name())) + + port = chromium_mac.ChromiumMacPort(port_name='chromium-mac-leopard', rebaselining=True) + self.assertEquals(port.name(), 'chromium-mac-leopard') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path(port.name())) + + def test_baseline_path(self): + port = chromium_mac.ChromiumMacPort(port_name='chromium-mac-leopard') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-mac-leopard')) + + port = chromium_mac.ChromiumMacPort(port_name='chromium-mac-snowleopard') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-mac')) + + +if __name__ == '__main__': + unittest.main() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py index b89c8cc..b287875 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py @@ -90,8 +90,8 @@ class ChromiumPortTest(unittest.TestCase): class TestMacPort(chromium_mac.ChromiumMacPort): def __init__(self, options): chromium_mac.ChromiumMacPort.__init__(self, - port_name='test-port', - options=options) + options=options, + filesystem=filesystem_mock.MockFileSystem()) def default_configuration(self): self.default_configuration_called = True @@ -100,7 +100,6 @@ class ChromiumPortTest(unittest.TestCase): class TestLinuxPort(chromium_linux.ChromiumLinuxPort): def __init__(self, options): chromium_linux.ChromiumLinuxPort.__init__(self, - port_name='test-port', options=options, filesystem=filesystem_mock.MockFileSystem()) @@ -108,16 +107,27 @@ class ChromiumPortTest(unittest.TestCase): self.default_configuration_called = True return 'default' + class TestWinPort(chromium_win.ChromiumWinPort): + def __init__(self, options): + chromium_win.ChromiumWinPort.__init__(self, + options=options, + filesystem=filesystem_mock.MockFileSystem()) + + def default_configuration(self): + self.default_configuration_called = True + return 'default' + def test_path_to_image_diff(self): mock_options = mocktool.MockOptions() port = ChromiumPortTest.TestLinuxPort(options=mock_options) self.assertTrue(port._path_to_image_diff().endswith( - '/out/default/ImageDiff'), msg=port._path_to_image_diff()) + '/out/default/ImageDiff')) port = ChromiumPortTest.TestMacPort(options=mock_options) self.assertTrue(port._path_to_image_diff().endswith( '/xcodebuild/default/ImageDiff')) - # FIXME: Figure out how this is going to work on Windows. - #port = chromium_win.ChromiumWinPort('test-port', options=MockOptions()) + port = ChromiumPortTest.TestWinPort(options=mock_options) + self.assertTrue(port._path_to_image_diff().endswith( + '/default/ImageDiff.exe')) def test_skipped_layout_tests(self): mock_options = mocktool.MockOptions() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py index f4cbf80..e7c6e49 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py @@ -37,12 +37,60 @@ import chromium _log = logging.getLogger("webkitpy.layout_tests.port.chromium_win") +def os_version(windows_version=None): + if not windows_version: + if hasattr(sys, 'getwindowsversion'): + windows_version = tuple(sys.getwindowsversion()[:2]) + else: + # Make up something for testing. + windows_version = (5, 1) + + version_strings = { + (6, 1): 'win7', + (6, 0): 'vista', + (5, 1): 'xp', + } + return version_strings[windows_version] + + class ChromiumWinPort(chromium.ChromiumPort): """Chromium Win implementation of the Port class.""" - - def __init__(self, **kwargs): - kwargs.setdefault('port_name', 'chromium-win' + self.version()) - chromium.ChromiumPort.__init__(self, **kwargs) + # FIXME: Figure out how to unify this with base.TestConfiguration.all_systems()? + SUPPORTED_VERSIONS = ('xp', 'vista', 'win7') + + # FIXME: Do we need mac-snowleopard here, like the base win port? + FALLBACK_PATHS = { + 'xp': ['chromium-win-xp', 'chromium-win-vista', 'chromium-win', 'chromium', 'win', 'mac'], + 'vista': ['chromium-win-vista', 'chromium-win', 'chromium', 'win', 'mac'], + 'win7': ['chromium-win', 'chromium', 'win', 'mac'], + '': ['chromium-win', 'chromium', 'win', 'mac'], + } + + def __init__(self, port_name=None, windows_version=None, rebaselining=False, **kwargs): + # We're a little generic here because this code is reused by the + # 'google-chrome' port as well as the 'mock-' and 'dryrun-' ports. + port_name = port_name or 'chromium-win' + + if port_name.endswith('-win'): + # FIXME: The rebaselining flag is an ugly hack that lets us create an + # "chromium-win" port that is not version-specific. It should only be + # used by rebaseline-chromium-webkit-tests to explicitly put files into + # the generic directory. In theory we shouldn't need this, because + # the newest win port should be using 'chromium-win' as the baseline + # directory. However, we also don't have stable Win 7 bots :( + # + # When we remove this FIXME, we also need to remove '' as a valid + # fallback key in self.FALLBACK_PATHS. + if rebaselining: + self._version = '' + else: + self._version = os_version(windows_version) + port_name = port_name + '-' + self._version + else: + self._version = port_name[port_name.index('-win-') + 5:] + assert self._version in self.SUPPORTED_VERSIONS + + chromium.ChromiumPort.__init__(self, port_name=port_name, **kwargs) def setup_environ_for_server(self): env = chromium.ChromiumPort.setup_environ_for_server(self) @@ -54,21 +102,21 @@ class ChromiumWinPort(chromium.ChromiumPort): # python executable to run cgi program. env["CYGWIN_PATH"] = self.path_from_chromium_base( "third_party", "cygwin", "bin") - if (sys.platform == "win32" and self.get_option('register_cygwin')): + if (sys.platform in ("cygwin", "win32") and self.get_option('register_cygwin')): setup_mount = self.path_from_chromium_base("third_party", "cygwin", "setup_mount.bat") self._executive.run_command([setup_mount]) return env + def baseline_path(self): + if self.version() == 'win7': + # Win 7 is the newest version of windows, so it gets the base dir. + return self._webkit_baseline_path('chromium-win') + return self._webkit_baseline_path(self.name()) + def baseline_search_path(self): - port_names = [] - if self._name.endswith('-win-xp'): - port_names.append("chromium-win-xp") - if self._name.endswith('-win-xp') or self._name.endswith('-win-vista'): - port_names.append("chromium-win-vista") - # FIXME: This may need to include mac-snowleopard like win.py. - port_names.extend(["chromium-win", "chromium", "win", "mac"]) + port_names = self.FALLBACK_PATHS[self.version()] return map(self._webkit_baseline_path, port_names) def check_build(self, needs_http): @@ -87,19 +135,14 @@ class ChromiumWinPort(chromium.ChromiumPort): def test_platform_name(self): # We return 'win-xp', not 'chromium-win-xp' here, for convenience. - return 'win' + self.version() + + # FIXME: Get rid of this method after rebaseline_chromium_webkit_tests dies. + if self.version() == '': + return 'win' + return 'win-' + self.version() def version(self): - if not hasattr(sys, 'getwindowsversion'): - return '' - winver = sys.getwindowsversion() - if winver[0] == 6 and (winver[1] == 1): - return '-7' - if winver[0] == 6 and (winver[1] == 0): - return '-vista' - if winver[0] == 5 and (winver[1] == 1 or winver[1] == 2): - return '-xp' - return '' + return self._version # # PROTECTED ROUTINES diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py index d677589..8ea7060 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py @@ -29,16 +29,19 @@ import os import sys import unittest -import chromium_win + from webkitpy.common.system import outputcapture from webkitpy.tool import mocktool +from webkitpy.layout_tests.port import chromium_win +from webkitpy.layout_tests.port import port_testcase -class ChromiumWinTest(unittest.TestCase): +class ChromiumWinTest(port_testcase.PortTestCase): class RegisterCygwinOption(object): def __init__(self): self.register_cygwin = True + self.results_directory = '/' def setUp(self): self.orig_platform = sys.platform @@ -47,11 +50,26 @@ class ChromiumWinTest(unittest.TestCase): sys.platform = self.orig_platform self._port = None + def port_maker(self, platform): + if platform not in ('cygwin', 'win32'): + return None + return chromium_win.ChromiumWinPort + def _mock_path_from_chromium_base(self, *comps): return self._port._filesystem.join("/chromium/src", *comps) + def test_default_worker_model(self): + port = self.make_port() + if not port: + return + + self.assertEqual(port.default_worker_model(), 'old-threads') + def test_setup_environ_for_server(self): - port = chromium_win.ChromiumWinPort() + port = self.make_port() + if not port: + return + port._executive = mocktool.MockExecutive(should_log=True) self._port = port port.path_from_chromium_base = self._mock_path_from_chromium_base @@ -62,16 +80,74 @@ class ChromiumWinTest(unittest.TestCase): self.assertNotEqual(env["PATH"], os.environ["PATH"]) def test_setup_environ_for_server_register_cygwin(self): - sys.platform = "win32" - port = chromium_win.ChromiumWinPort( - options=ChromiumWinTest.RegisterCygwinOption()) + port = self.make_port(options=ChromiumWinTest.RegisterCygwinOption()) + if not port: + return + port._executive = mocktool.MockExecutive(should_log=True) port.path_from_chromium_base = self._mock_path_from_chromium_base self._port = port setup_mount = self._mock_path_from_chromium_base("third_party", - "cygwin", - "setup_mount.bat") + "cygwin", + "setup_mount.bat") expected_stderr = "MOCK run_command: %s\n" % [setup_mount] output = outputcapture.OutputCapture() output.assert_outputs(self, port.setup_environ_for_server, expected_stderr=expected_stderr) + + def assert_name(self, port_name, windows_version, expected): + port = chromium_win.ChromiumWinPort(port_name=port_name, + windows_version=windows_version) + self.assertEquals(expected, port.name()) + + def test_versions(self): + port = chromium_win.ChromiumWinPort() + self.assertTrue(port.name() in ('chromium-win-xp', 'chromium-win-vista', 'chromium-win-win7')) + + self.assert_name(None, (5, 1), 'chromium-win-xp') + self.assert_name('chromium-win', (5, 1), 'chromium-win-xp') + self.assert_name('chromium-win-xp', (5, 1), 'chromium-win-xp') + self.assert_name('chromium-win-xp', (6, 0), 'chromium-win-xp') + self.assert_name('chromium-win-xp', (6, 1), 'chromium-win-xp') + + self.assert_name(None, (6, 0), 'chromium-win-vista') + self.assert_name('chromium-win', (6, 0), 'chromium-win-vista') + self.assert_name('chromium-win-vista', (5, 1), 'chromium-win-vista') + self.assert_name('chromium-win-vista', (6, 0), 'chromium-win-vista') + self.assert_name('chromium-win-vista', (6, 1), 'chromium-win-vista') + + self.assert_name(None, (6, 1), 'chromium-win-win7') + self.assert_name('chromium-win', (6, 1), 'chromium-win-win7') + self.assert_name('chromium-win-win7', (5, 1), 'chromium-win-win7') + self.assert_name('chromium-win-win7', (6, 0), 'chromium-win-win7') + self.assert_name('chromium-win-win7', (6, 1), 'chromium-win-win7') + + self.assertRaises(KeyError, self.assert_name, None, (4, 0), 'chromium-win-xp') + self.assertRaises(KeyError, self.assert_name, None, (5, 0), 'chromium-win-xp') + self.assertRaises(KeyError, self.assert_name, None, (5, 2), 'chromium-win-xp') + self.assertRaises(KeyError, self.assert_name, None, (7, 1), 'chromium-win-xp') + + def test_generic_rebaselining_port(self): + port = chromium_win.ChromiumWinPort(rebaselining=True) + self.assertEquals(port.name(), 'chromium-win') + self.assertEquals(port.version(), '') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path(port.name())) + + port = chromium_win.ChromiumWinPort(port_name='chromium-win-xp', rebaselining=True) + self.assertEquals(port.name(), 'chromium-win-xp') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path(port.name())) + + def test_baseline_path(self): + port = chromium_win.ChromiumWinPort(port_name='chromium-win-xp') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-win-xp')) + + port = chromium_win.ChromiumWinPort(port_name='chromium-win-vista') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-win-vista')) + + port = chromium_win.ChromiumWinPort(port_name='chromium-win-win7') + self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-win')) + + + +if __name__ == '__main__': + unittest.main() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/config_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/config_unittest.py index 2cce3cc..8f1e0d4 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/config_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/config_unittest.py @@ -189,7 +189,10 @@ class ConfigTest(unittest.TestCase): self.assertNotEqual(base_dir[-1], '/') orig_cwd = os.getcwd() - os.chdir(os.environ['HOME']) + if sys.platform == 'win32': + os.chdir(os.environ['USERPROFILE']) + else: + os.chdir(os.environ['HOME']) c = config.Config(executive.Executive(), filesystem.FileSystem()) try: base_dir_2 = c.webkit_base_dir() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/factory.py b/Tools/Scripts/webkitpy/layout_tests/port/factory.py index 7ae6eb6..683dba3 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/factory.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/factory.py @@ -32,9 +32,26 @@ import sys -ALL_PORT_NAMES = ['test', 'dryrun', 'mac', 'win', 'gtk', 'qt', 'chromium-mac', - 'chromium-linux', 'chromium-win', 'google-chrome-win', - 'google-chrome-mac', 'google-chrome-linux32', 'google-chrome-linux64'] + +def all_port_names(): + """Return a list of all valid, fully-specified, "real" port names. + + This is the list of directories that are used as actual baseline_paths() + by real ports. This does not include any "fake" names like "test" + or "mock-mac", and it does not include any directories that are not .""" + # FIXME: There's probably a better way to generate this list ... + return ['chromium-gpu-linux', + 'chromium-gpu-mac-snowleopard', 'chromium-gpu-mac-leopard', + 'chromium-gpu-win-xp', 'chromium-gpu-win-vista', 'chromium-gpu-win-win7', + 'chromium-linux-x86_64', 'chromium-linux-x86', + 'chromium-mac-leopard', 'chromium-mac-snowleopard', + 'chromium-win-xp', 'chromium-win-vista', 'chromium-win-win7', + 'google-chrome-linux32', 'google-chrome-linux64', + 'gtk', + 'mac-tiger', 'mac-leopard', 'mac-snowleopard', 'mac-wk2', + 'qt-linux', 'qt-mac', 'qt-win', 'qt-wk2', + 'win-xp', 'win', 'win-wk2', + ] def get(port_name=None, options=None, **kwargs): @@ -109,8 +126,3 @@ def _get_kwargs(**kwargs): else: raise NotImplementedError('unsupported port: %s' % port_to_use) return maker(**kwargs) - -def get_all(options=None): - """Returns all the objects implementing the Port interface.""" - return dict([(port_name, get(port_name, options=options)) - for port_name in ALL_PORT_NAMES]) diff --git a/Tools/Scripts/webkitpy/layout_tests/port/factory_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/factory_unittest.py index 978a557..e4a2cd4 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/factory_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/factory_unittest.py @@ -152,24 +152,6 @@ class FactoryTest(unittest.TestCase): self.assert_platform_port("cygwin", self.chromium_options, chromium_win.ChromiumWinPort) - def test_get_all_ports(self): - ports = factory.get_all() - for name in factory.ALL_PORT_NAMES: - self.assertTrue(name in ports.keys()) - self.assert_port("test", test.TestPort, ports["test"]) - self.assert_port("dryrun-test", dryrun.DryRunPort, ports["dryrun"]) - self.assert_port("dryrun-mac", dryrun.DryRunPort, ports["dryrun"]) - self.assert_port("mac", mac.MacPort, ports["mac"]) - self.assert_port("win", win.WinPort, ports["win"]) - self.assert_port("gtk", gtk.GtkPort, ports["gtk"]) - self.assert_port("qt", qt.QtPort, ports["qt"]) - self.assert_port("chromium-mac", chromium_mac.ChromiumMacPort, - ports["chromium-mac"]) - self.assert_port("chromium-linux", chromium_linux.ChromiumLinuxPort, - ports["chromium-linux"]) - self.assert_port("chromium-win", chromium_win.ChromiumWinPort, - ports["chromium-win"]) - def test_unknown_specified(self): # Test what happens when you specify an unknown port. orig_platform = sys.platform diff --git a/Tools/Scripts/webkitpy/layout_tests/port/google_chrome.py b/Tools/Scripts/webkitpy/layout_tests/port/google_chrome.py index ae90374..811e7e0 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/google_chrome.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/google_chrome.py @@ -45,6 +45,8 @@ def GetGoogleChromePort(**kwargs): """Some tests have slightly different results when compiled as Google Chrome vs Chromium. In those cases, we prepend an additional directory to to the baseline paths.""" + # FIXME: This whole routine is a tremendous hack that needs to be cleaned up. + port_name = kwargs['port_name'] del kwargs['port_name'] if port_name == 'google-chrome-linux32': @@ -62,7 +64,10 @@ def GetGoogleChromePort(**kwargs): return _test_expectations_overrides(self, chromium_linux.ChromiumLinuxPort) - return GoogleChromeLinux32Port(**kwargs) + def architecture(self): + return 'x86' + + return GoogleChromeLinux32Port(port_name='chromium-linux-x86', **kwargs) elif port_name == 'google-chrome-linux64': import chromium_linux @@ -78,7 +83,12 @@ def GetGoogleChromePort(**kwargs): return _test_expectations_overrides(self, chromium_linux.ChromiumLinuxPort) - return GoogleChromeLinux64Port(**kwargs) + def architecture(self): + return 'x86_64' + + # We use chromium-linux-x86 here in order to skip over the linux-x86_64 + # baselines. + return GoogleChromeLinux64Port(port_name='chromium-linux-x86', **kwargs) elif port_name.startswith('google-chrome-mac'): import chromium_mac diff --git a/Tools/Scripts/webkitpy/layout_tests/port/http_server.py b/Tools/Scripts/webkitpy/layout_tests/port/http_server.py index bd75e27..752b099 100755 --- a/Tools/Scripts/webkitpy/layout_tests/port/http_server.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/http_server.py @@ -74,9 +74,13 @@ class Lighttpd(http_server_base.HttpServerBase): self._port_obj.layout_tests_dir(), 'http', 'tests') self._js_test_resource = os.path.join( self._port_obj.layout_tests_dir(), 'fast', 'js', 'resources') + self._media_resource = os.path.join( + self._port_obj.layout_tests_dir(), 'media') + except: self._webkit_tests = None self._js_test_resource = None + self._media_resource = None # Self generated certificate for SSL server (for client cert get # \chrome\test\data\ssl\certs\root_ca_cert.crt) @@ -147,6 +151,10 @@ class Lighttpd(http_server_base.HttpServerBase): f.write(('alias.url = ( "/js-test-resources" => "%s" )\n\n') % (self._js_test_resource)) + # Setup a link to where the media resources are stored. + f.write(('alias.url += ( "/media-resources" => "%s" )\n\n') % + (self._media_resource)) + # dump out of virtual host config at the bottom. if self._root: if self._port: @@ -199,7 +207,7 @@ class Lighttpd(http_server_base.HttpServerBase): os.path.join(tmp_module_path, lib_file)) env = self._port_obj.setup_environ_for_server() - _log.debug('Starting http server') + _log.debug('Starting http server, cmd="%s"' % str(start_cmd)) # FIXME: Should use Executive.run_command self._process = subprocess.Popen(start_cmd, env=env) diff --git a/Tools/Scripts/webkitpy/layout_tests/port/mac.py b/Tools/Scripts/webkitpy/layout_tests/port/mac.py index 1398ed3..0168ec7 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/mac.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/mac.py @@ -38,12 +38,50 @@ from webkitpy.layout_tests.port.webkit import WebKitPort _log = logging.getLogger("webkitpy.layout_tests.port.mac") +def os_version(os_version_string=None, supported_versions=None): + # We only support Tiger, Leopard, and Snow Leopard. + if not os_version_string: + if hasattr(platform, 'mac_ver') and platform.mac_ver()[0]: + os_version_string = platform.mac_ver()[0] + else: + # Make up something for testing. + os_version_string = "10.5.6" + release_version = int(os_version_string.split('.')[1]) + version_strings = { + 4: 'tiger', + 5: 'leopard', + 6: 'snowleopard', + } + version_string = version_strings[release_version] + if supported_versions: + assert version_string in supported_versions + return version_string + + class MacPort(WebKitPort): """WebKit Mac implementation of the Port class.""" + # FIXME: 'wk2' probably shouldn't be a version, it should probably be + # a modifier, like 'chromium-gpu' is to 'chromium'. + SUPPORTED_VERSIONS = ('tiger', 'leopard', 'snowleopard', 'wk2') + + FALLBACK_PATHS = { + 'tiger': ['mac-tiger', 'mac-leopard', 'mac-snowleopard', 'mac'], + 'leopard': ['mac-leopard', 'mac-snowleopard', 'mac'], + 'snowleopard': ['mac-snowleopard', 'mac'], + 'wk2': ['mac-wk2', 'mac'], + } + + def __init__(self, port_name=None, os_version_string=None, **kwargs): + port_name = port_name or 'mac' + + if port_name == 'mac': + self._version = os_version(os_version_string) + port_name = port_name + '-' + self._version + else: + self._version = port_name[4:] + assert self._version in self.SUPPORTED_VERSIONS - def __init__(self, **kwargs): - kwargs.setdefault('port_name', 'mac' + self.version()) - WebKitPort.__init__(self, **kwargs) + WebKitPort.__init__(self, port_name=port_name, **kwargs) def default_child_processes(self): # FIXME: new-run-webkit-tests is unstable on Mac running more than @@ -54,16 +92,13 @@ class MacPort(WebKitPort): return 4 return child_processes + def default_worker_model(self): + if self._multiprocessing_is_available: + return 'processes' + return 'old-threads' + def baseline_search_path(self): - port_names = [] - if self._name == 'mac-tiger': - port_names.append("mac-tiger") - if self._name in ('mac-tiger', 'mac-leopard'): - port_names.append("mac-leopard") - if self._name in ('mac-tiger', 'mac-leopard', 'mac-snowleopard'): - port_names.append("mac-snowleopard") - port_names.append("mac") - return map(self._webkit_baseline_path, port_names) + return map(self._webkit_baseline_path, self.FALLBACK_PATHS[self._version]) def path_to_test_expectations_file(self): return self.path_from_webkit_base('LayoutTests', 'platform', @@ -73,7 +108,7 @@ class MacPort(WebKitPort): # FIXME: This method will need to be made work for non-mac # platforms and moved into base.Port. skipped_files = [] - if self._name in ('mac-tiger', 'mac-leopard', 'mac-snowleopard'): + if self._name in ('mac-leopard', 'mac-snowleopard'): skipped_files.append(self._filesystem.join( self._webkit_baseline_path(self._name), 'Skipped')) skipped_files.append(self._filesystem.join(self._webkit_baseline_path('mac'), @@ -81,20 +116,10 @@ class MacPort(WebKitPort): return skipped_files def test_platform_name(self): - return 'mac' + self.version() + return 'mac-' + self.version() def version(self): - os_version_string = platform.mac_ver()[0] # e.g. "10.5.6" - if not os_version_string: - return '-leopard' - release_version = int(os_version_string.split('.')[1]) - if release_version == 4: - return '-tiger' - elif release_version == 5: - return '-leopard' - elif release_version == 6: - return '-snowleopard' - return '' + return self._version def _build_java_test_support(self): java_tests_path = self._filesystem.join(self.layout_tests_dir(), "java") diff --git a/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py index ef04679..4586a23 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py @@ -30,23 +30,18 @@ import StringIO import sys import unittest -import mac -import port_testcase +from webkitpy.layout_tests.port import mac +from webkitpy.layout_tests.port import port_testcase class MacTest(port_testcase.PortTestCase): - def make_port(self, port_name=None, options=port_testcase.mock_options): - if sys.platform != 'darwin': + def port_maker(self, platform): + if platform != 'darwin': return None - port_obj = mac.MacPort(port_name=port_name, options=options) - port_obj._options.results_directory = port_obj.results_directory() - port_obj._options.configuration = 'Release' - return port_obj + return mac.MacPort def assert_skipped_files_for_version(self, port_name, expected_paths): - port = self.make_port(port_name) - if not port: - return + port = mac.MacPort(port_name=port_name) skipped_paths = port._skipped_file_paths() # FIXME: _skipped_file_paths should return WebKit-relative paths. # So to make it unit testable, we strip the WebKit directory from the path. @@ -54,8 +49,11 @@ class MacTest(port_testcase.PortTestCase): self.assertEqual(relative_paths, expected_paths) def test_skipped_file_paths(self): - self.assert_skipped_files_for_version('mac', - ['/LayoutTests/platform/mac/Skipped']) + # We skip this on win32 because we use '/' as the dir separator and it's + # not worth making platform-independent. + if sys.platform == 'win32': + return None + self.assert_skipped_files_for_version('mac-snowleopard', ['/LayoutTests/platform/mac-snowleopard/Skipped', '/LayoutTests/platform/mac/Skipped']) self.assert_skipped_files_for_version('mac-leopard', @@ -78,11 +76,40 @@ svg/batik/text/smallFonts.svg ] def test_tests_from_skipped_file_contents(self): - port = self.make_port() - if not port: - return + port = mac.MacPort() self.assertEqual(port._tests_from_skipped_file_contents(self.example_skipped_file), self.example_skipped_tests) + def assert_name(self, port_name, os_version_string, expected): + port = mac.MacPort(port_name=port_name, + os_version_string=os_version_string) + self.assertEquals(expected, port.name()) + + def test_versions(self): + port = self.make_port() + if port: + self.assertTrue(port.name() in ('mac-tiger', 'mac-leopard', 'mac-snowleopard')) + + self.assert_name(None, '10.4.8', 'mac-tiger') + self.assert_name('mac', '10.4.8', 'mac-tiger') + self.assert_name('mac-tiger', '10.4.8', 'mac-tiger') + self.assert_name('mac-tiger', '10.5.3', 'mac-tiger') + self.assert_name('mac-tiger', '10.6.3', 'mac-tiger') + + self.assert_name(None, '10.5.3', 'mac-leopard') + self.assert_name('mac', '10.5.3', 'mac-leopard') + self.assert_name('mac-leopard', '10.4.8', 'mac-leopard') + self.assert_name('mac-leopard', '10.5.3', 'mac-leopard') + self.assert_name('mac-leopard', '10.6.3', 'mac-leopard') + + self.assert_name(None, '10.6.3', 'mac-snowleopard') + self.assert_name('mac', '10.6.3', 'mac-snowleopard') + self.assert_name('mac-snowleopard', '10.4.3', 'mac-snowleopard') + self.assert_name('mac-snowleopard', '10.5.3', 'mac-snowleopard') + self.assert_name('mac-snowleopard', '10.6.3', 'mac-snowleopard') + + self.assertRaises(KeyError, self.assert_name, None, '10.7.1', 'mac-leopard') + self.assertRaises(KeyError, self.assert_name, None, '10.3.1', 'mac-leopard') + if __name__ == '__main__': unittest.main() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py index 1506315..71de14b 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py @@ -29,6 +29,7 @@ """Unit tests for MockDRT.""" +import sys import unittest from webkitpy.common import newstringio @@ -41,8 +42,15 @@ from webkitpy.layout_tests.port import test class MockDRTPortTest(port_testcase.PortTestCase): def make_port(self): + if sys.platform == 'win32': + # We use this because the 'win' port doesn't work yet. + return mock_drt.MockDRTPort(port_name='mock-chromium-win') return mock_drt.MockDRTPort() + def test_default_worker_model(self): + # only overridding the default test; we don't care about this one. + pass + def test_port_name_in_constructor(self): self.assertTrue(mock_drt.MockDRTPort(port_name='mock-test')) diff --git a/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py b/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py index 4146d40..d37fdc0 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py @@ -28,8 +28,15 @@ """Unit testing base class for Port implementations.""" +import sys import unittest +# Handle Python < 2.6 where multiprocessing isn't available. +try: + import multiprocessing +except ImportError: + multiprocessing = None + from webkitpy.tool import mocktool mock_options = mocktool.MockOptions(results_directory='layout-test-results', use_apache=True, @@ -40,10 +47,34 @@ mock_options = mocktool.MockOptions(results_directory='layout-test-results', class PortTestCase(unittest.TestCase): """Tests the WebKit port implementation.""" - def make_port(self, options=mock_options): - """Override in subclass.""" + def port_maker(self, platform): + """Override to return the class object of the port to be tested, + or None if a valid port object cannot be constructed on the specified + platform.""" raise NotImplementedError() + def make_port(self, options=mock_options): + """This routine should be used for tests that should only be run + when we can create a full, valid port object.""" + maker = self.port_maker(sys.platform) + if not maker: + return None + + port = maker(options=options) + if hasattr(options, "results_directory"): + port._options.results_directory = port.results_directory() + return port + + def test_default_worker_model(self): + port = self.make_port() + if not port: + return + + if multiprocessing: + self.assertEqual(port.default_worker_model(), 'processes') + else: + self.assertEqual(port.default_worker_model(), 'old-threads') + def test_driver_cmd_line(self): port = self.make_port() if not port: @@ -100,3 +131,9 @@ class PortTestCase(unittest.TestCase): if not port: return self.assertTrue(len(port.all_test_configurations()) > 0) + + def test_baseline_search_path(self): + port = self.make_port() + if not port: + return + self.assertTrue(port.baseline_path() in port.baseline_search_path()) diff --git a/Tools/Scripts/webkitpy/layout_tests/port/qt.py b/Tools/Scripts/webkitpy/layout_tests/port/qt.py index 1695b60..e159bf7 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/qt.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/qt.py @@ -114,6 +114,6 @@ class QtPort(WebKitPort): return None def setup_environ_for_server(self): - env = webkit.WebKitPort.setup_environ_for_server(self) + env = WebKitPort.setup_environ_for_server(self) env['QTWEBKIT_PLUGIN_PATH'] = self._build_path('lib/plugins') return env diff --git a/Tools/Scripts/webkitpy/layout_tests/port/test.py b/Tools/Scripts/webkitpy/layout_tests/port/test.py index b94c378..d323ed5 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/test.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/test.py @@ -348,9 +348,9 @@ class TestPort(base.Port): def version(self): version_map = { - 'test-win-xp': '-xp', - 'test-win': '-7', - 'test-mac': '-leopard', + 'test-win-xp': 'xp', + 'test-win': 'win7', + 'test-mac': 'leopard', } return version_map[self._name] diff --git a/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py b/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py index 567975c..24b8c97 100644 --- a/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py +++ b/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py @@ -66,11 +66,17 @@ ARCHIVE_DIR_NAME_DICT = {'win': 'Webkit_Win__deps_', 'win-xp': 'Webkit_Win__deps_', 'mac': 'Webkit_Mac10_5__deps_', 'linux': 'Webkit_Linux__deps_', + 'win-canary': 'Webkit_Win', 'win-vista-canary': 'webkit-dbg-vista', 'win-xp-canary': 'Webkit_Win', 'mac-canary': 'Webkit_Mac10_5', - 'linux-canary': 'Webkit_Linux'} + 'linux-canary': 'Webkit_Linux', + + 'gpu-mac-canary': 'Webkit_Mac10_5_-_GPU', + 'gpu-win-canary': 'Webkit_Win_-_GPU', + 'gpu-linux-canary': 'Webkit_Linux_-_GPU', +} def log_dashed_string(text, platform, logging_level=logging.INFO): @@ -160,9 +166,11 @@ class Rebaseliner(object): self._filesystem = running_port._filesystem self._target_port = target_port + # FIXME: See the comments in chromium_{win,mac}.py about why we need + # the 'rebaselining' keyword. self._rebaseline_port = port.get( self._target_port.test_platform_name_to_name(platform), options, - filesystem=self._filesystem) + filesystem=self._filesystem, rebaselining=True) self._rebaselining_tests = [] self._rebaselined_tests = [] @@ -274,7 +282,7 @@ class Rebaseliner(object): _log.info('Latest revision: "%s"', revisions[len(revisions) - 1]) return revisions[len(revisions) - 1] - def _get_archive_dir_name(self, platform, webkit_canary): + def _get_archive_dir_name(self, platform): """Get name of the layout test archive directory. Returns: @@ -282,9 +290,6 @@ class Rebaseliner(object): None on failure """ - if webkit_canary: - platform += '-canary' - if platform in ARCHIVE_DIR_NAME_DICT: return ARCHIVE_DIR_NAME_DICT[platform] else: @@ -303,8 +308,13 @@ class Rebaseliner(object): if self._options.force_archive_url: return self._options.force_archive_url - dir_name = self._get_archive_dir_name(self._platform, - self._options.webkit_canary) + platform = self._platform + if self._options.webkit_canary: + platform += '-canary' + if self._options.gpu: + platform = 'gpu-' + platform + + dir_name = self._get_archive_dir_name(platform) if not dir_name: return None @@ -620,6 +630,7 @@ class HtmlGenerator(object): self._html_directory = options.html_directory self._port = port self._target_port = target_port + self._options = options self._platforms = platforms self._rebaselining_tests = rebaselining_tests self._filesystem = port._filesystem @@ -802,8 +813,12 @@ def parse_options(args): action='store_true', help='Suppress result HTML viewing') + option_parser.add_option('-g', '--gpu', + action='store_true', default=False, + help='Rebaseline the GPU versions') + option_parser.add_option('-p', '--platforms', - default='mac,win,win-xp,win-vista,linux', + default=None, help=('Comma delimited list of platforms ' 'that need rebaselining.')) @@ -845,6 +860,11 @@ def parse_options(args): '("mac", "chromium", "qt", etc.). Defaults ' 'to "chromium".')) options = option_parser.parse_args(args)[0] + if options.platforms == None: + if options.gpu: + options.platforms = 'mac,win,linux' + else: + options.platforms = 'mac,win,win-xp,win-vista,linux' target_options = copy.copy(options) if options.target_platform == 'chromium': @@ -867,7 +887,10 @@ def main(args): '%(levelname)s %(message)s'), datefmt='%y%m%d %H:%M:%S') - target_port_obj = port.get(None, target_options) + target_port_name = None + if options.gpu and options.target_platform == 'chromium': + target_port_name = 'chromium-gpu' + target_port_obj = port.get(target_port_name, target_options) host_port_obj = get_host_port_object(options) if not host_port_obj or not target_port_obj: return 1 diff --git a/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py b/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py index 730220b..c50e1c4 100644 --- a/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py @@ -70,7 +70,8 @@ def test_options(): target_platform='chromium', verbose=False, quiet=False, - platforms='mac,win,win-xp') + platforms='mac,win,win-xp', + gpu=False) def test_host_port_and_filesystem(options, expectations): diff --git a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py index 2d55b93..d27ea1e 100755 --- a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py +++ b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py @@ -37,6 +37,7 @@ import os import signal import sys +from layout_package import json_results_generator from layout_package import printing from layout_package import test_runner from layout_package import test_runner2 @@ -171,11 +172,9 @@ def _gather_unexpected_results(filesystem, options): """Returns the unexpected results from the previous run, if any.""" last_unexpected_results = [] if options.print_last_failures or options.retest_last_failures: - unexpected_results_filename = filesystem.join( - options.results_directory, "unexpected_results.json") + unexpected_results_filename = filesystem.join(options.results_directory, "unexpected_results.json") if filesystem.exists(unexpected_results_filename): - content = filesystem.read_text_file(unexpected_results_filename) - results = simplejson.loads(content) + results = json_results_generator.load_json(filesystem, unexpected_results_filename) last_unexpected_results = results['tests'].keys() return last_unexpected_results @@ -234,7 +233,7 @@ def parse_args(args=None): help="Don't check the system dependencies (themes)"), optparse.make_option("--accelerated-compositing", action="store_true", - help="Use hardware-accelated compositing for rendering"), + help="Use hardware-accelerated compositing for rendering"), optparse.make_option("--no-accelerated-compositing", action="store_false", dest="accelerated_compositing", @@ -376,12 +375,12 @@ def parse_args(args=None): optparse.make_option("--experimental-fully-parallel", action="store_true", default=False, help="run all tests in parallel"), - optparse.make_option("--exit-after-n-failures", type="int", nargs=1, + optparse.make_option("--exit-after-n-failures", type="int", default=500, help="Exit after the first N failures instead of running all " "tests"), optparse.make_option("--exit-after-n-crashes-or-timeouts", type="int", - nargs=1, help="Exit after the first N crashes instead of running " - "all tests"), + default=20, help="Exit after the first N crashes instead of " + "running all tests"), # FIXME: consider: --iterations n # Number of times to run the set of tests (e.g. ABCABCABC) optparse.make_option("--print-last-failures", action="store_true", diff --git a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py index 84f5718..3fe7b14 100644 --- a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py @@ -42,6 +42,11 @@ import time import threading import unittest +try: + import multiprocessing +except ImportError: + multiprocessing = None + from webkitpy.common import array_stream from webkitpy.common.system import outputcapture from webkitpy.common.system import filesystem_mock @@ -231,6 +236,11 @@ class MainTest(unittest.TestCase): self.assertRaises(KeyboardInterrupt, logging_run, ['failures/expected/keyboard.html'], tests_included=True) + def test_keyboard_interrupt_inline_worker_model(self): + self.assertRaises(KeyboardInterrupt, logging_run, + ['failures/expected/keyboard.html', '--worker-model', 'inline'], + tests_included=True) + def test_last_results(self): fs = port.unit_test_filesystem() # We do a logging run here instead of a passing run in order to @@ -347,6 +357,18 @@ class MainTest(unittest.TestCase): self.assertFalse(err.empty()) self.assertEqual(user.opened_urls, ['/tmp/layout-test-results/results.html']) + def test_exit_after_n_failures_upload(self): + fs = port.unit_test_filesystem() + (res, buildbot_output, regular_output, user) = logging_run([ + 'failures/unexpected/text-image-checksum.html', + 'passes/text.html', + '--exit-after-n-failures', '1', + ], + tests_included=True, + record_results=True, + filesystem=fs) + self.assertTrue('/tmp/layout-test-results/incremental_results.json' in fs.files) + def test_exit_after_n_failures(self): # Unexpected failures should result in tests stopping. tests_run = get_tests_run([ @@ -399,6 +421,17 @@ class MainTest(unittest.TestCase): flatten_batches=True) self.assertEquals(['failures/expected/crash.html', 'passes/text.html'], tests_run) + def test_exit_after_n_crashes_inline_worker_model(self): + tests_run = get_tests_run([ + 'failures/unexpected/timeout.html', + 'passes/text.html', + '--exit-after-n-crashes-or-timeouts', '1', + '--worker-model', 'inline', + ], + tests_included=True, + flatten_batches=True) + self.assertEquals(['failures/unexpected/timeout.html'], tests_run) + def test_results_directory_absolute(self): # We run a configuration that should fail, to generate output, then # look for what the output results url was. @@ -467,9 +500,15 @@ class MainTest(unittest.TestCase): self.assertTrue(passing_run(['--worker-model', 'old-threads'])) def test_worker_model__processes(self): - if compare_version(sys, '2.6')[0] >= 0: + # FIXME: remove this when we fix test-webkitpy to work properly + # with the multiprocessing module (bug 54520). + if multiprocessing and sys.platform not in ('cygwin', 'win32'): self.assertTrue(passing_run(['--worker-model', 'processes'])) + def test_worker_model__processes_and_dry_run(self): + if multiprocessing and sys.platform not in ('cygwin', 'win32'): + self.assertTrue(passing_run(['--worker-model', 'processes', '--dry-run'])) + def test_worker_model__threads(self): self.assertTrue(passing_run(['--worker-model', 'threads'])) diff --git a/Tools/Scripts/webkitpy/layout_tests/test_types/__init__.py b/Tools/Scripts/webkitpy/layout_tests/test_types/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/Tools/Scripts/webkitpy/layout_tests/test_types/image_diff.py b/Tools/Scripts/webkitpy/layout_tests/test_types/image_diff.py deleted file mode 100644 index 1d7e107..0000000 --- a/Tools/Scripts/webkitpy/layout_tests/test_types/image_diff.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2010 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -"""Compares the image output of a test to the expected image output. - -Compares hashes for the generated and expected images. If the output doesn't -match, returns FailureImageHashMismatch and outputs both hashes into the layout -test results directory. -""" - -import errno -import logging - -from webkitpy.layout_tests.layout_package import test_failures -from webkitpy.layout_tests.test_types import test_type_base - -# Cache whether we have the image_diff executable available. -_compare_available = True -_compare_msg_printed = False - -_log = logging.getLogger("webkitpy.layout_tests.test_types.image_diff") - - -class ImageDiff(test_type_base.TestTypeBase): - - def _copy_image(self, filename, actual_image, expected_image): - self.write_output_files(filename, '.png', - output=actual_image, expected=expected_image, - encoding=None, print_text_diffs=False) - - def _copy_image_hash(self, filename, actual_image_hash, expected_image_hash): - self.write_output_files(filename, '.checksum', - actual_image_hash, expected_image_hash, - encoding="ascii", print_text_diffs=False) - - def _create_diff_image(self, port, filename, actual_image, expected_image): - """Creates the visual diff of the expected/actual PNGs. - - Returns True if the images are different. - """ - diff_filename = self.output_filename(filename, - self.FILENAME_SUFFIX_COMPARE) - return port.diff_image(actual_image, expected_image, diff_filename) - - def compare_output(self, port, filename, options, actual_driver_output, - expected_driver_output): - """Implementation of CompareOutput that checks the output image and - checksum against the expected files from the LayoutTest directory. - """ - failures = [] - - # If we didn't produce a hash file, this test must be text-only. - if actual_driver_output.image_hash is None: - return failures - - if not expected_driver_output.image: - # Report a missing expected PNG file. - self._copy_image(filename, actual_driver_output.image, expected_image=None) - self._copy_image_hash(filename, actual_driver_output.image_hash, - expected_driver_output.image_hash) - failures.append(test_failures.FailureMissingImage()) - return failures - if not expected_driver_output.image_hash: - # Report a missing expected checksum file. - self._copy_image(filename, actual_driver_output.image, - expected_driver_output.image) - self._copy_image_hash(filename, actual_driver_output.image_hash, - expected_image_hash=None) - failures.append(test_failures.FailureMissingImageHash()) - return failures - - if actual_driver_output.image_hash == expected_driver_output.image_hash: - # Hash matched (no diff needed, okay to return). - return failures - - self._copy_image(filename, actual_driver_output.image, - expected_driver_output.image) - self._copy_image_hash(filename, actual_driver_output.image_hash, - expected_driver_output.image_hash) - - # Even though we only use the result in one codepath below but we - # still need to call CreateImageDiff for other codepaths. - images_are_different = self._create_diff_image(port, filename, - actual_driver_output.image, - expected_driver_output.image) - if not images_are_different: - failures.append(test_failures.FailureImageHashIncorrect()) - else: - failures.append(test_failures.FailureImageHashMismatch()) - - return failures diff --git a/Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base.py b/Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base.py deleted file mode 100644 index 09bfc31..0000000 --- a/Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base.py +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2010 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -"""Defines the interface TestTypeBase which other test types inherit from. -""" - -import cgi -import errno -import logging - -_log = logging.getLogger("webkitpy.layout_tests.test_types.test_type_base") - - -# Python bug workaround. See the wdiff code in WriteOutputFiles for an -# explanation. -_wdiff_available = True - - -class TestTypeBase(object): - - # Filename pieces when writing failures to the test results directory. - FILENAME_SUFFIX_ACTUAL = "-actual" - FILENAME_SUFFIX_EXPECTED = "-expected" - FILENAME_SUFFIX_DIFF = "-diff" - FILENAME_SUFFIX_WDIFF = "-wdiff.html" - FILENAME_SUFFIX_PRETTY_PATCH = "-pretty-diff.html" - FILENAME_SUFFIX_COMPARE = "-diff.png" - - def __init__(self, port, root_output_dir): - """Initialize a TestTypeBase object. - - Args: - port: object implementing port-specific information and methods - root_output_dir: The unix style path to the output dir. - """ - self._root_output_dir = root_output_dir - self._port = port - - def _make_output_directory(self, filename): - """Creates the output directory (if needed) for a given test - filename.""" - fs = self._port._filesystem - output_filename = fs.join(self._root_output_dir, - self._port.relative_test_filename(filename)) - fs.maybe_make_directory(fs.dirname(output_filename)) - - def output_filename(self, filename, modifier): - """Returns a filename inside the output dir that contains modifier. - - For example, if filename is c:/.../fast/dom/foo.html and modifier is - "-expected.txt", the return value is - c:/cygwin/tmp/layout-test-results/fast/dom/foo-expected.txt - - Args: - filename: absolute filename to test file - modifier: a string to replace the extension of filename with - - Return: - The absolute windows path to the output filename - """ - fs = self._port._filesystem - output_filename = fs.join(self._root_output_dir, - self._port.relative_test_filename(filename)) - return fs.splitext(output_filename)[0] + modifier - - def compare_output(self, port, filename, options, actual_driver_output, - expected_driver_output): - """Method that compares the output from the test with the - expected value. - - This is an abstract method to be implemented by all sub classes. - - Args: - port: object implementing port-specific information and methods - filename: absolute filename to test file - options: command line argument object from optparse - actual_driver_output: a DriverOutput object which represents actual test - output - expected_driver_output: a ExpectedDriverOutput object which represents a - expected test output - - Return: - a list of TestFailure objects, empty if the test passes - """ - raise NotImplementedError - - def _write_into_file_at_path(self, file_path, contents, encoding): - """This method assumes that byte_array is already encoded - into the right format.""" - fs = self._port._filesystem - if encoding is None: - fs.write_binary_file(file_path, contents) - return - fs.write_text_file(file_path, contents) - - def write_output_files(self, filename, file_type, - output, expected, encoding, - print_text_diffs=False): - """Writes the test output, the expected output and optionally the diff - between the two to files in the results directory. - - The full output filename of the actual, for example, will be - -actual - For instance, - my_test-actual.txt - - Args: - filename: The test filename - file_type: A string describing the test output file type, e.g. ".txt" - output: A string containing the test output - expected: A string containing the expected test output - print_text_diffs: True for text diffs. (FIXME: We should be able to get this from the file type?) - """ - self._make_output_directory(filename) - actual_filename = self.output_filename(filename, self.FILENAME_SUFFIX_ACTUAL + file_type) - expected_filename = self.output_filename(filename, self.FILENAME_SUFFIX_EXPECTED + file_type) - # FIXME: This function is poorly designed. We should be passing in some sort of - # encoding information from the callers. - if output: - self._write_into_file_at_path(actual_filename, output, encoding) - if expected: - self._write_into_file_at_path(expected_filename, expected, encoding) - - if not output or not expected: - return - - if not print_text_diffs: - return - - # Note: We pass encoding=None for all diff writes, as we treat diff - # output as binary. Diff output may contain multiple files in - # conflicting encodings. - diff = self._port.diff_text(expected, output, expected_filename, actual_filename) - diff_filename = self.output_filename(filename, self.FILENAME_SUFFIX_DIFF + file_type) - self._write_into_file_at_path(diff_filename, diff, encoding=None) - - # Shell out to wdiff to get colored inline diffs. - wdiff = self._port.wdiff_text(expected_filename, actual_filename) - wdiff_filename = self.output_filename(filename, self.FILENAME_SUFFIX_WDIFF) - self._write_into_file_at_path(wdiff_filename, wdiff, encoding=None) - - # Use WebKit's PrettyPatch.rb to get an HTML diff. - pretty_patch = self._port.pretty_patch_text(diff_filename) - pretty_patch_filename = self.output_filename(filename, self.FILENAME_SUFFIX_PRETTY_PATCH) - self._write_into_file_at_path(pretty_patch_filename, pretty_patch, encoding=None) diff --git a/Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py b/Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py deleted file mode 100644 index 7af4d9c..0000000 --- a/Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright (C) 2010 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -""""Tests stray tests not covered by regular code paths.""" - -import test_type_base -import unittest - -from webkitpy.thirdparty.mock import Mock - - -class Test(unittest.TestCase): - - def test_compare_output_notimplemented(self): - test_type = test_type_base.TestTypeBase(None, None) - self.assertRaises(NotImplementedError, test_type.compare_output, - None, "foo.txt", '', - {}, 'Debug') - - -if __name__ == '__main__': - unittest.main() diff --git a/Tools/Scripts/webkitpy/layout_tests/test_types/text_diff.py b/Tools/Scripts/webkitpy/layout_tests/test_types/text_diff.py deleted file mode 100644 index 07c3d03..0000000 --- a/Tools/Scripts/webkitpy/layout_tests/test_types/text_diff.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2010 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -"""Compares the text output of a test to the expected text output. - -If the output doesn't match, returns FailureTextMismatch and outputs the diff -files into the layout test results directory. -""" - -import errno -import logging - -from webkitpy.layout_tests.layout_package import test_failures -from webkitpy.layout_tests.test_types import test_type_base - -_log = logging.getLogger("webkitpy.layout_tests.test_types.text_diff") - - -class TestTextDiff(test_type_base.TestTypeBase): - - def _get_normalized_output_text(self, output): - """Returns the normalized text output, i.e. the output in which - the end-of-line characters are normalized to "\n".""" - # Running tests on Windows produces "\r\n". The "\n" part is helpfully - # changed to "\r\n" by our system (Python/Cygwin), resulting in - # "\r\r\n", when, in fact, we wanted to compare the text output with - # the normalized text expectation files. - return output.replace("\r\r\n", "\r\n").replace("\r\n", "\n") - - def compare_output(self, port, filename, options, actual_driver_output, - expected_driver_output): - """Implementation of CompareOutput that checks the output text against - the expected text from the LayoutTest directory.""" - failures = [] - - # Normalize text to diff - actual_text = self._get_normalized_output_text(actual_driver_output.text) - # Assuming expected_text is already normalized. - expected_text = expected_driver_output.text - - # Write output files for new tests, too. - if port.compare_text(actual_text, expected_text): - # Text doesn't match, write output files. - self.write_output_files(filename, ".txt", actual_text, - expected_text, encoding=None, - print_text_diffs=True) - - if expected_text == '': - failures.append(test_failures.FailureMissingResult()) - else: - failures.append(test_failures.FailureTextMismatch()) - - return failures diff --git a/Tools/Scripts/webkitpy/layout_tests/update_webgl_conformance_tests.py b/Tools/Scripts/webkitpy/layout_tests/update_webgl_conformance_tests.py index 7267aa6..256d081 100755 --- a/Tools/Scripts/webkitpy/layout_tests/update_webgl_conformance_tests.py +++ b/Tools/Scripts/webkitpy/layout_tests/update_webgl_conformance_tests.py @@ -53,7 +53,9 @@ def translate_includes(text): for filename, path in include_mapping.items(): search = r'(?:[^"\'= ]*/)?' + re.escape(filename) - replace = os.path.join(path, filename) + # We use '/' instead of os.path.join in order to produce consistent + # output cross-platform. + replace = path + '/' + filename text = re.sub(search, replace, text) return text diff --git a/Tools/Scripts/webkitpy/style/checker.py b/Tools/Scripts/webkitpy/style/checker.py index 23b9ab3..975432b 100644 --- a/Tools/Scripts/webkitpy/style/checker.py +++ b/Tools/Scripts/webkitpy/style/checker.py @@ -123,14 +123,11 @@ _PATH_RULES_SPECIFIER = [ # The API test harnesses have no config.h and use funny macros like # TEST_CLASS_NAME. "Tools/WebKitAPITest/", - "Tools/TestWebKitAPI/"], + "Tools/TestWebKitAPI/", + "Source/WebKit/qt/tests/qdeclarativewebview"], ["-build/include", "-readability/naming"]), - ([# The EFL APIs use EFL naming style, which includes - # both lower-cased and camel-cased, underscore-sparated - # values. - "Source/WebKit/efl/ewk/", - # There is no clean way to avoid "yy_*" names used by flex. + ([# There is no clean way to avoid "yy_*" names used by flex. "Source/WebCore/css/CSSParser.cpp", # Qt code uses '_' in some places (such as private slots # and on test xxx_data methos on tests) @@ -144,13 +141,16 @@ _PATH_RULES_SPECIFIER = [ "Tools/MiniBrowser/qt"], ["-build/include"]), ([# The GTK+ APIs use GTK+ naming style, which includes - # lower-cased, underscore-separated values. + # lower-cased, underscore-separated values, whitespace before + # parens for function calls, and always having variable names. # Also, GTK+ allows the use of NULL. "Source/WebCore/bindings/scripts/test/GObject", - "WebKit/gtk/webkit/", + "Source/WebKit/gtk/webkit/", "Tools/DumpRenderTree/gtk/"], ["-readability/naming", - "-readability/null"]), + "-readability/parameter_name", + "-readability/null", + "-whitespace/parens"]), ([# Header files in ForwardingHeaders have no header guards or # exceptional header guards (e.g., WebCore_FWD_Debugger_h). "/ForwardingHeaders/"], @@ -164,6 +164,13 @@ _PATH_RULES_SPECIFIER = [ ["-readability/parameter_name", "-whitespace/parens"]), + ([# The EFL APIs use EFL naming style, which includes + # both lower-cased and camel-cased, underscore-sparated + # values. + "Source/WebKit/efl/ewk/"], + ["-readability/naming", + "-readability/parameter_name"]), + # WebKit2 rules: # WebKit2 and certain directories have idiosyncracies. ([# NPAPI has function names with underscores. @@ -253,7 +260,7 @@ _SKIPPED_FILES_WITH_WARNING = [ # This list should be in addition to files with FileType.NONE. Files # with FileType.NONE are automatically skipped without warning. _SKIPPED_FILES_WITHOUT_WARNING = [ - "LayoutTests/", + "LayoutTests" + os.path.sep, ] # Extensions of files which are allowed to contain carriage returns. @@ -475,7 +482,7 @@ class CheckerDispatcher(object): elif file_extension in _XML_FILE_EXTENSIONS: return FileType.XML elif (os.path.basename(file_path).startswith('ChangeLog') or - (not file_extension and "Tools/Scripts/" in file_path) or + (not file_extension and os.path.join("Tools", "Scripts") in file_path) or file_extension in _TEXT_FILE_EXTENSIONS): return FileType.TEXT else: diff --git a/Tools/Scripts/webkitpy/style/checkers/cpp.py b/Tools/Scripts/webkitpy/style/checkers/cpp.py index 671fd56..7f8a9ea 100644 --- a/Tools/Scripts/webkitpy/style/checkers/cpp.py +++ b/Tools/Scripts/webkitpy/style/checkers/cpp.py @@ -1565,21 +1565,40 @@ def _check_parameter_name_against_text(parameter, text, error): return True -def check_function_definition(clean_lines, line_number, function_state, error): +def check_function_definition(filename, file_extension, clean_lines, line_number, function_state, error): """Check that function definitions for style issues. Specifically, check that parameter names in declarations add information. Args: + filename: Filename of the file that is being processed. + file_extension: The current file extension, without the leading dot. clean_lines: A CleansedLines instance containing the file. line_number: The number of the line to check. function_state: Current function name and lines in body so far. error: The function to call with any errors found. """ - # Only do checks when we have a function declaration. - if line_number != function_state.body_start_position.row or not function_state.is_declaration: + if line_number != function_state.body_start_position.row: return + modifiers_and_return_type = function_state.modifiers_and_return_type() + if filename.find('/chromium/') != -1 and search(r'\bWEBKIT_API\b', modifiers_and_return_type): + if filename.find('/chromium/public/') == -1: + error(function_state.function_name_start_position.row, 'readability/webkit_api', 5, + 'WEBKIT_API should only appear in the chromium public directory.') + elif not file_extension == "h": + error(function_state.function_name_start_position.row, 'readability/webkit_api', 5, + 'WEBKIT_API should only be used in header files.') + elif not function_state.is_declaration or search(r'\binline\b', modifiers_and_return_type): + error(function_state.function_name_start_position.row, 'readability/webkit_api', 5, + 'WEBKIT_API should not be used on a function with a body.') + elif function_state.is_pure: + error(function_state.function_name_start_position.row, 'readability/webkit_api', 5, + 'WEBKIT_API should not be used with a pure virtual function.') + + # Do checks specific to function declaractions. + if not function_state.is_declaration: + return parameter_list = function_state.parameter_list() for parameter in parameter_list: if not parameter.name: @@ -1707,7 +1726,7 @@ def check_spacing(file_extension, clean_lines, line_number, error): error(line_number, 'whitespace/blank_line', 3, 'Blank line at the end of a code block. Is this needed?') - # Next, we complain if there's a comment too near the text + # Next, we check for proper spacing with respect to comments. comment_position = line.find('//') if comment_position != -1: # Check if the // may be in quotes. If so, ignore it @@ -1735,6 +1754,11 @@ def check_spacing(file_extension, clean_lines, line_number, error): error(line_number, 'whitespace/comments', 4, 'Should have a space between // and comment') + # There should only be one space after punctuation in a comment. + if search('[.!?,;:]\s\s', line[comment_position:]): + error(line_number, 'whitespace/comments', 5, + 'Should only a single space after a punctuation in a comment.') + line = clean_lines.elided[line_number] # get rid of comments and strings # Don't try to do spacing checks for operator methods @@ -2108,7 +2132,8 @@ def check_braces(clean_lines, line_number, error): # We check if a closed brace has started a line to see if a # one line control statement was previous. previous_line = clean_lines.elided[line_number - 2] - if (previous_line.find('{') > 0 and previous_line.find('}') < 0 + last_open_brace = previous_line.rfind('{') + if (last_open_brace != -1 and previous_line.find('}', last_open_brace) == -1 and search(r'\b(if|for|foreach|while|else)\b', previous_line)): error(line_number, 'whitespace/braces', 4, 'One line control clauses should not use braces.') @@ -3313,7 +3338,7 @@ def process_line(filename, file_extension, check_for_function_lengths(clean_lines, line, function_state, error) if search(r'\bNOLINT\b', raw_lines[line]): # ignore nolint lines return - check_function_definition(clean_lines, line, function_state, error) + check_function_definition(filename, file_extension, clean_lines, line, function_state, error) check_pass_ptr_usage(clean_lines, line, function_state, error) check_for_multiline_comments_and_strings(clean_lines, line, error) check_style(clean_lines, line, file_extension, class_state, file_state, error) @@ -3404,6 +3429,7 @@ class CppChecker(object): 'readability/streams', 'readability/todo', 'readability/utf8', + 'readability/webkit_api', 'runtime/arrays', 'runtime/casting', 'runtime/explicit', diff --git a/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py b/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py index 53670d7..2d2abbf 100644 --- a/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py +++ b/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py @@ -1002,9 +1002,9 @@ class CppStyleTest(CppStyleTestBase): mock_header_contents = [''] message = self.perform_include_what_you_use( '''#include "config.h" - #include "%s/a.h" + #include "%s%sa.h" - std::set foo;''' % os.path.basename(os.getcwd()), + std::set foo;''' % (os.path.basename(os.getcwd()), os.path.sep), filename='a.cpp', io=MockIo(mock_header_contents)) self.assertEquals(message, 'Add #include for set<> ' @@ -1779,7 +1779,7 @@ class CppStyleTest(CppStyleTestBase): self.assert_multi_line_lint('#endif\n );', '') - def test_two_spaces_between_code_and_comments(self): + def test_one_spaces_between_code_and_comments(self): self.assert_lint('} // namespace foo', '') self.assert_lint('}// namespace foo', @@ -1806,6 +1806,24 @@ class CppStyleTest(CppStyleTestBase): self.assert_lint('printf("\\"%s // In quotes.")', '') self.assert_lint('printf("%s", "// In quotes.")', '') + def test_one_spaces_after_punctuation_in_comments(self): + self.assert_lint('int a; // This is a sentence.', + '') + self.assert_lint('int a; // This is a sentence. This is a another sentence.', + '') + self.assert_lint('int a; // This is a sentence. This is a another sentence.', + 'Should only a single space after a punctuation in a comment. [whitespace/comments] [5]') + self.assert_lint('int a; // This is a sentence! This is a another sentence.', + 'Should only a single space after a punctuation in a comment. [whitespace/comments] [5]') + self.assert_lint('int a; // Why did I write this? This is a another sentence.', + 'Should only a single space after a punctuation in a comment. [whitespace/comments] [5]') + self.assert_lint('int a; // Elementary, my dear.', + 'Should only a single space after a punctuation in a comment. [whitespace/comments] [5]') + self.assert_lint('int a; // The following should be clear: Is it?', + 'Should only a single space after a punctuation in a comment. [whitespace/comments] [5]') + self.assert_lint('int a; // Look at the follow semicolon; I hope this gives an error.', + 'Should only a single space after a punctuation in a comment. [whitespace/comments] [5]') + def test_space_after_comment_marker(self): self.assert_lint('//', '') self.assert_lint('//x', 'Should have a space between // and comment' @@ -3616,6 +3634,21 @@ class WebKitStyleTest(CppStyleTestBase): ['More than one command on the same line in if [whitespace/parens] [4]', 'One line control clauses should not use braces. [whitespace/braces] [4]']) self.assert_multi_line_lint( + 'if (condition)\n' + ' doSomething();\n' + 'else {\n' + ' doSomethingElse();\n' + '}\n', + 'One line control clauses should not use braces. [whitespace/braces] [4]') + self.assert_multi_line_lint( + 'if (condition) {\n' + ' doSomething1();\n' + ' doSomething2();\n' + '} else {\n' + ' doSomethingElse();\n' + '}\n', + 'One line control clauses should not use braces. [whitespace/braces] [4]') + self.assert_multi_line_lint( 'void func()\n' '{\n' ' while (condition) { }\n' @@ -4332,6 +4365,48 @@ class WebKitStyleTest(CppStyleTestBase): 'One space before end of line comments' ' [whitespace/comments] [5]') + def test_webkit_api_check(self): + webkit_api_error_rules = ('-', + '+readability/webkit_api') + self.assertEquals('', + self.perform_lint('WEBKIT_API int foo();\n', + 'WebKit/chromium/public/test.h', + webkit_api_error_rules)) + self.assertEquals('WEBKIT_API should only be used in header files. [readability/webkit_api] [5]', + self.perform_lint('WEBKIT_API int foo();\n', + 'WebKit/chromium/public/test.cpp', + webkit_api_error_rules)) + self.assertEquals('WEBKIT_API should only appear in the chromium public directory. [readability/webkit_api] [5]', + self.perform_lint('WEBKIT_API int foo();\n', + 'WebKit/chromium/src/test.h', + webkit_api_error_rules)) + self.assertEquals('WEBKIT_API should not be used on a function with a body. [readability/webkit_api] [5]', + self.perform_lint('WEBKIT_API int foo() { }\n', + 'WebKit/chromium/public/test.h', + webkit_api_error_rules)) + self.assertEquals('WEBKIT_API should not be used on a function with a body. [readability/webkit_api] [5]', + self.perform_lint('WEBKIT_API inline int foo()\n' + '{\n' + '}\n', + 'WebKit/chromium/public/test.h', + webkit_api_error_rules)) + self.assertEquals('WEBKIT_API should not be used with a pure virtual function. [readability/webkit_api] [5]', + self.perform_lint('{}\n' + 'WEBKIT_API\n' + 'virtual\n' + 'int\n' + 'foo() = 0;\n', + 'WebKit/chromium/public/test.h', + webkit_api_error_rules)) + self.assertEquals('', + self.perform_lint('{}\n' + 'WEBKIT_API\n' + 'virtual\n' + 'int\n' + 'foo() = 0;\n', + 'test.h', + webkit_api_error_rules)) + def test_other(self): # FIXME: Implement this. pass diff --git a/Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py b/Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py index f0813e1..9d03acc 100644 --- a/Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py +++ b/Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py @@ -67,7 +67,7 @@ class TestExpectationsTestCase(unittest.TestCase): def setUp(self): self._error_collector = ErrorCollector() port_obj = port.get('test') - self._test_file = os.path.join(port_obj.layout_tests_dir(), 'passes/text.html') + self._test_file = port_obj._filesystem.join(port_obj.layout_tests_dir(), 'passes/text.html') def process_expectations(self, expectations, overrides=None): self._checker = TestExpectationsChecker() diff --git a/Tools/Scripts/webkitpy/test/main.py b/Tools/Scripts/webkitpy/test/main.py index 1038d82..080e0e5 100644 --- a/Tools/Scripts/webkitpy/test/main.py +++ b/Tools/Scripts/webkitpy/test/main.py @@ -79,6 +79,20 @@ class Tester(object): return modules + def _win32_blacklist(self, module_path): + # FIXME: Remove this once https://bugs.webkit.org/show_bug.cgi?id=54526 is resolved. + if any([module_path.startswith(package) for package in [ + 'webkitpy.tool', + 'webkitpy.common.checkout', + 'webkitpy.common.config', + ]]): + return False + + return module_path not in [ + # FIXME: This file also requires common.checkout to work + 'webkitpy.layout_tests.deduplicate_tests_unittest', + ] + def run_tests(self, sys_argv, external_package_paths=None): """Run the unit tests in all *_unittest.py modules in webkitpy. @@ -130,6 +144,9 @@ class Tester(object): _log.info("Excluding: %s (use --all to include)" % excluded_module) modules.remove(excluded_module) + if sys.platform == 'win32': + modules = filter(self._win32_blacklist, modules) + sys_argv.extend(modules) # We pass None for the module because we do not want the unittest diff --git a/Tools/Scripts/webkitpy/tool/bot/flakytestreporter.py b/Tools/Scripts/webkitpy/tool/bot/flakytestreporter.py index 270a656..bec593b 100644 --- a/Tools/Scripts/webkitpy/tool/bot/flakytestreporter.py +++ b/Tools/Scripts/webkitpy/tool/bot/flakytestreporter.py @@ -158,22 +158,26 @@ If you would like to track this test fix with another bug, please close this bug return archived_path return None - def _attach_failure_diff(self, flake_bug_id, flaky_test, results_archive): + def _attach_failure_diff(self, flake_bug_id, flaky_test, results_archive_zip): results_diff_path = self._results_diff_path_for_test(flaky_test) # Check to make sure that the path makes sense. # Since we're not actually getting this path from the results.html # there is a chance it's wrong. bot_id = self._tool.status_server.bot_id or "bot" - archive_path = self._find_in_archive(results_diff_path, results_archive) + archive_path = self._find_in_archive(results_diff_path, results_archive_zip) if archive_path: - results_diff = results_archive.read(archive_path) + results_diff = results_archive_zip.read(archive_path) description = "Failure diff from %s" % bot_id self._tool.bugs.add_attachment_to_bug(flake_bug_id, results_diff, description, filename="failure.diff") else: _log.warn("%s does not exist in results archive, uploading entire archive." % results_diff_path) description = "Archive of layout-test-results from %s" % bot_id # results_archive is a ZipFile object, grab the File object (.fp) to pass to Mechanize for uploading. - self._tool.bugs.add_attachment_to_bug(flake_bug_id, results_archive.fp, description, filename="layout-test-results.zip") + results_archive_file = results_archive_zip.fp + # Rewind the file object to start (since Mechanize won't do that automatically) + # See https://bugs.webkit.org/show_bug.cgi?id=54593 + results_archive_file.seek(0) + self._tool.bugs.add_attachment_to_bug(flake_bug_id, results_archive_file, description, filename="layout-test-results.zip") def report_flaky_tests(self, patch, flaky_test_results, results_archive): message = "The %s encountered the following flaky tests while processing attachment %s:\n\n" % (self._bot_name, patch.id()) diff --git a/Tools/Scripts/webkitpy/tool/bot/irc_command.py b/Tools/Scripts/webkitpy/tool/bot/irc_command.py index 67a1c44..af109e4 100644 --- a/Tools/Scripts/webkitpy/tool/bot/irc_command.py +++ b/Tools/Scripts/webkitpy/tool/bot/irc_command.py @@ -30,6 +30,7 @@ import random from webkitpy.common.config import irc as config_irc from webkitpy.common.config import urls +from webkitpy.common.config.committers import CommitterList from webkitpy.common.net.bugzilla import parse_bug_id from webkitpy.common.system.executive import ScriptError from webkitpy.tool.bot.queueengine import TerminateQueue @@ -109,6 +110,19 @@ class Hi(IRCCommand): return random.choice(quips) +class Whois(IRCCommand): + def execute(self, nick, args, tool, sheriff): + if len(args) != 1: + return "%s: Usage: BUGZILLA_EMAIL" % nick + email = args[0] + committer = CommitterList().committer_by_email(email) + if not committer: + return "%s: Sorry, I don't know %s. Maybe you could introduce me?" % (nick, email) + if not committer.irc_nickname: + return "%s: %s hasn't told me their nick. Boo hoo :-(" % (nick, email) + return "%s: %s is %s. Why do you ask?" % (nick, email, committer.irc_nickname) + + class Eliza(IRCCommand): therapist = None @@ -123,9 +137,10 @@ class Eliza(IRCCommand): # FIXME: Lame. We should have an auto-registering CommandCenter. commands = { + "help": Help, + "hi": Hi, "last-green-revision": LastGreenRevision, "restart": Restart, "rollout": Rollout, - "help": Help, - "hi": Hi, + "whois": Whois, } diff --git a/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py b/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py index 7aeb6a0..f3c63ec 100644 --- a/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py +++ b/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py @@ -36,3 +36,16 @@ class IRCCommandTest(unittest.TestCase): eliza = Eliza() eliza.execute("tom", "hi", None, None) eliza.execute("tom", "bye", None, None) + + def test_whois(self): + whois = Whois() + self.assertEquals("tom: Usage: BUGZILLA_EMAIL", + whois.execute("tom", [], None, None)) + self.assertEquals("tom: Usage: BUGZILLA_EMAIL", + whois.execute("tom", ["Adam", "Barth"], None, None)) + self.assertEquals("tom: Sorry, I don't know unknown@example.com. Maybe you could introduce me?", + whois.execute("tom", ["unknown@example.com"], None, None)) + self.assertEquals("tom: tonyg@chromium.org is tonyg-cr. Why do you ask?", + whois.execute("tom", ["tonyg@chromium.org"], None, None)) + self.assertEquals("tom: vicki@apple.com hasn't told me their nick. Boo hoo :-(", + whois.execute("tom", ["vicki@apple.com"], None, None)) diff --git a/Tools/Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py b/Tools/Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py index ccb8ac2..5368ca4 100644 --- a/Tools/Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py +++ b/Tools/Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py @@ -51,7 +51,7 @@ class SheriffIRCBotTest(unittest.TestCase): OutputCapture().assert_outputs(self, run, args=["hi"], expected_stderr=expected_stderr) def test_help(self): - expected_stderr = "MOCK: irc.post: mock_nick: Available commands: rollout, hi, help, restart, last-green-revision\n" + expected_stderr = "MOCK: irc.post: mock_nick: Available commands: whois, hi, last-green-revision, rollout, restart, help\n" OutputCapture().assert_outputs(self, run, args=["help"], expected_stderr=expected_stderr) def test_lgr(self): diff --git a/Tools/Scripts/webkitpy/tool/commands/rebaselineserver.py b/Tools/Scripts/webkitpy/tool/commands/rebaselineserver.py index 56780b5..c79d790 100644 --- a/Tools/Scripts/webkitpy/tool/commands/rebaselineserver.py +++ b/Tools/Scripts/webkitpy/tool/commands/rebaselineserver.py @@ -47,6 +47,7 @@ from optparse import make_option from wsgiref.handlers import format_date_time from webkitpy.common import system +from webkitpy.layout_tests.layout_package import json_results_generator from webkitpy.layout_tests.port import factory from webkitpy.layout_tests.port.webkit import WebKitPort from webkitpy.tool.multicommandtool import AbstractDeclarativeCommand @@ -414,11 +415,8 @@ class RebaselineServer(AbstractDeclarativeCommand): scm.add = no_op_add print 'Parsing unexpected_results.json...' - results_json_path = filesystem.join( - results_directory, 'unexpected_results.json') - with codecs.open(results_json_path, "r") as results_json_file: - results_json_file = file(results_json_path) - results_json = simplejson.load(results_json_file) + results_json_path = filesystem.join(results_directory, 'unexpected_results.json') + results_json = json_results_generator.load_json(filesystem, results_json_path) port = factory.get() layout_tests_directory = port.layout_tests_dir() diff --git a/Tools/Scripts/webkitpy/tool/steps/preparechangelog.py b/Tools/Scripts/webkitpy/tool/steps/preparechangelog.py index 392cd32..17e996c 100644 --- a/Tools/Scripts/webkitpy/tool/steps/preparechangelog.py +++ b/Tools/Scripts/webkitpy/tool/steps/preparechangelog.py @@ -64,6 +64,7 @@ class PrepareChangeLog(AbstractStep): args = [self._tool.port().script_path("prepare-ChangeLog")] if state.get("bug_id"): args.append("--bug=%s" % state["bug_id"]) + args.append("--description=%s" % self._tool.bugs.fetch_bug(state["bug_id"]).title()) if self._options.email: args.append("--email=%s" % self._options.email) diff --git a/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebug.vsprops b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebug.vsprops new file mode 100644 index 0000000..565455e --- /dev/null +++ b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebug.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugAll.vsprops b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugAll.vsprops new file mode 100644 index 0000000..4b9ffac --- /dev/null +++ b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugAll.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugCairoCFLite.vsprops b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugCairoCFLite.vsprops new file mode 100644 index 0000000..a218ec7 --- /dev/null +++ b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIDebugCairoCFLite.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/Tools/TestWebKitAPI/Configurations/TestWebKitAPIInjectedBundleCommon.vsprops b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIInjectedBundleCommon.vsprops new file mode 100644 index 0000000..2819359 --- /dev/null +++ b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIInjectedBundleCommon.vsprops @@ -0,0 +1,11 @@ + + + + diff --git a/Tools/TestWebKitAPI/Configurations/TestWebKitAPIRelease.vsprops b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIRelease.vsprops new file mode 100644 index 0000000..f98fbfc --- /dev/null +++ b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIRelease.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/Tools/TestWebKitAPI/Configurations/TestWebKitAPIReleaseCairoCFLite.vsprops b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIReleaseCairoCFLite.vsprops new file mode 100644 index 0000000..512eca6 --- /dev/null +++ b/Tools/TestWebKitAPI/Configurations/TestWebKitAPIReleaseCairoCFLite.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/Tools/TestWebKitAPI/InjectedBundleController.h b/Tools/TestWebKitAPI/InjectedBundleController.h index b84be4b..c9923bb 100644 --- a/Tools/TestWebKitAPI/InjectedBundleController.h +++ b/Tools/TestWebKitAPI/InjectedBundleController.h @@ -46,6 +46,8 @@ public: typedef InjectedBundleTest* (*CreateInjectedBundleTestFunction)(const std::string&); void registerCreateInjectedBundleTestFunction(const std::string&, CreateInjectedBundleTestFunction); + WKBundleRef bundle() const { return m_bundle; } + private: InjectedBundleController(); ~InjectedBundleController(); diff --git a/Tools/TestWebKitAPI/JavaScriptTest.cpp b/Tools/TestWebKitAPI/JavaScriptTest.cpp index 08418c2..11b2d99 100644 --- a/Tools/TestWebKitAPI/JavaScriptTest.cpp +++ b/Tools/TestWebKitAPI/JavaScriptTest.cpp @@ -27,7 +27,9 @@ #include "PlatformUtilities.h" #include "Test.h" +#include #include +#include namespace TestWebKitAPI { @@ -39,12 +41,26 @@ struct JavaScriptCallbackContext { bool didMatchExpectedString; }; -static void javaScriptCallback(WKStringRef string, WKErrorRef error, void* ctx) +static void javaScriptCallback(WKSerializedScriptValueRef resultSerializedScriptValue, WKErrorRef error, void* ctx) { + TEST_ASSERT(resultSerializedScriptValue); + JavaScriptCallbackContext* context = static_cast(ctx); + JSGlobalContextRef scriptContext = JSGlobalContextCreate(0); + TEST_ASSERT(scriptContext); + + JSValueRef scriptValue = WKSerializedScriptValueDeserialize(resultSerializedScriptValue, scriptContext, 0); + TEST_ASSERT(scriptValue); + + JSStringRef scriptString = JSValueToStringCopy(scriptContext, scriptValue, 0); + TEST_ASSERT(scriptString); + context->didFinish = true; - context->didMatchExpectedString = WKStringIsEqualToUTF8CString(string, context->expectedString); + context->didMatchExpectedString = JSStringIsEqualToUTF8CString(scriptString, context->expectedString); + + JSStringRelease(scriptString); + JSGlobalContextRelease(scriptContext); TEST_ASSERT(!error); } diff --git a/Tools/TestWebKitAPI/PlatformUtilities.h b/Tools/TestWebKitAPI/PlatformUtilities.h index 9fecdd5..219a5dc 100644 --- a/Tools/TestWebKitAPI/PlatformUtilities.h +++ b/Tools/TestWebKitAPI/PlatformUtilities.h @@ -36,6 +36,8 @@ namespace Util { // Runs a platform runloop until the 'done' is true. void run(bool* done); +void sleep(double seconds); + WKContextRef createContextForInjectedBundleTest(const std::string&, WKTypeRef userData = 0); WKStringRef createInjectedBundlePath(); @@ -47,7 +49,6 @@ bool isKeyDown(WKNativeEventPtr); std::string toSTD(WKStringRef string); WKRetainPtr toWK(const char* utf8String); - template static inline WKRetainPtr adoptWK(T item) { return WKRetainPtr(AdoptWK, item); diff --git a/Tools/TestWebKitAPI/PlatformWebView.h b/Tools/TestWebKitAPI/PlatformWebView.h index 312168d..3d1698f 100644 --- a/Tools/TestWebKitAPI/PlatformWebView.h +++ b/Tools/TestWebKitAPI/PlatformWebView.h @@ -27,6 +27,7 @@ #define PlatformWebView_h #include +#include #ifdef __APPLE__ #ifdef __OBJC__ @@ -61,6 +62,7 @@ public: void simulateSpacebarKeyPress(); void simulateAltKeyPress(); + void simulateRightClick(unsigned x, unsigned y); #if PLATFORM(WIN) void setParentWindowMessageObserver(WindowMessageObserver* observer) { m_parentWindowMessageObserver = observer; } diff --git a/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj b/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj index 99bb29f..079b7ff 100644 --- a/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj +++ b/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj @@ -10,7 +10,11 @@ 1A02C84F125D4A8400E3F4BD /* Find.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A02C84E125D4A8400E3F4BD /* Find.cpp */; }; 1A02C870125D4CFD00E3F4BD /* find.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 1A02C84B125D4A5E00E3F4BD /* find.html */; }; 1A5FEFDD1270E2A3000E2921 /* EvaluateJavaScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A5FEFDC1270E2A3000E2921 /* EvaluateJavaScript.cpp */; }; + 1ADBEFAE130C689C00D61D19 /* ForceRepaint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ADBEFAD130C689C00D61D19 /* ForceRepaint.cpp */; }; + 1ADBEFE3130C6AA100D61D19 /* simple-accelerated-compositing.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 1ADBEFBC130C6A0100D61D19 /* simple-accelerated-compositing.html */; }; 333B9CE21277F23100FEFCE3 /* PreventEmptyUserAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 333B9CE11277F23100FEFCE3 /* PreventEmptyUserAgent.cpp */; }; + 4BFDFFA71314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFDFFA61314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp */; }; + 4BFDFFA9131477770061F24B /* HitTestResultNodeHandle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFDFFA8131477770061F24B /* HitTestResultNodeHandle.cpp */; }; BC131885117114B600B69727 /* PlatformUtilitiesMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC131884117114B600B69727 /* PlatformUtilitiesMac.mm */; }; BC131A9B1171316900B69727 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC131A9A1171316900B69727 /* main.mm */; }; BC131AA9117131FC00B69727 /* TestsController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC131AA8117131FC00B69727 /* TestsController.cpp */; }; @@ -48,6 +52,8 @@ C0ADBE7C12FCA4D000D2C129 /* JavaScriptTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0ADBE7A12FCA4D000D2C129 /* JavaScriptTest.cpp */; }; C0ADBE8312FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0ADBE8212FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp */; }; C0ADBE9612FCA79B00D2C129 /* simple-form.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = C0ADBE8412FCA6B600D2C129 /* simple-form.html */; }; + C0BD669D131D3CF700E18F2A /* ResponsivenessTimerDoesntFireEarly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0BD669C131D3CF700E18F2A /* ResponsivenessTimerDoesntFireEarly.cpp */; }; + C0BD669F131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0BD669E131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -82,6 +88,7 @@ C0ADBE9612FCA79B00D2C129 /* simple-form.html in Copy Resources */, C01A23F21266156700C9ED55 /* spacebar-scrolling.html in Copy Resources */, BC2D006412AA04CE00E732A3 /* file-with-anchor.html in Copy Resources */, + 1ADBEFE3130C6AA100D61D19 /* simple-accelerated-compositing.html in Copy Resources */, ); name = "Copy Resources"; runOnlyForDeploymentPostprocessing = 0; @@ -92,7 +99,11 @@ 1A02C84B125D4A5E00E3F4BD /* find.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = find.html; sourceTree = ""; }; 1A02C84E125D4A8400E3F4BD /* Find.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Find.cpp; sourceTree = ""; }; 1A5FEFDC1270E2A3000E2921 /* EvaluateJavaScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EvaluateJavaScript.cpp; sourceTree = ""; }; + 1ADBEFAD130C689C00D61D19 /* ForceRepaint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ForceRepaint.cpp; sourceTree = ""; }; + 1ADBEFBC130C6A0100D61D19 /* simple-accelerated-compositing.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "simple-accelerated-compositing.html"; sourceTree = ""; }; 333B9CE11277F23100FEFCE3 /* PreventEmptyUserAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PreventEmptyUserAgent.cpp; sourceTree = ""; }; + 4BFDFFA61314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HitTestResultNodeHandle_Bundle.cpp; sourceTree = ""; }; + 4BFDFFA8131477770061F24B /* HitTestResultNodeHandle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HitTestResultNodeHandle.cpp; sourceTree = ""; }; 8DD76FA10486AA7600D96B5E /* TestWebKitAPI */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TestWebKitAPI; sourceTree = BUILT_PRODUCTS_DIR; }; BC131883117114A800B69727 /* PlatformUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformUtilities.h; sourceTree = ""; }; BC131884117114B600B69727 /* PlatformUtilitiesMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformUtilitiesMac.mm; sourceTree = ""; }; @@ -140,6 +151,8 @@ C0ADBE7B12FCA4D000D2C129 /* JavaScriptTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptTest.h; sourceTree = ""; }; C0ADBE8212FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RestoreSessionStateContainingFormData.cpp; sourceTree = ""; }; C0ADBE8412FCA6B600D2C129 /* simple-form.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "simple-form.html"; sourceTree = ""; }; + C0BD669C131D3CF700E18F2A /* ResponsivenessTimerDoesntFireEarly.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResponsivenessTimerDoesntFireEarly.cpp; sourceTree = ""; }; + C0BD669E131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResponsivenessTimerDoesntFireEarly_Bundle.cpp; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -249,13 +262,18 @@ 1A5FEFDC1270E2A3000E2921 /* EvaluateJavaScript.cpp */, BCC8B95A12611F4700DE46A4 /* FailedLoad.cpp */, 1A02C84E125D4A8400E3F4BD /* Find.cpp */, + 1ADBEFAD130C689C00D61D19 /* ForceRepaint.cpp */, BCBD370F125AA2EB00D2C29F /* FrameMIMETypeHTML.cpp */, BCBD3760125ABCFE00D2C29F /* FrameMIMETypePNG.cpp */, + 4BFDFFA8131477770061F24B /* HitTestResultNodeHandle.cpp */, + 4BFDFFA61314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp */, BC575AAC126E83B9006F0F12 /* InjectedBundleBasic.cpp */, BC575AAF126E83C8006F0F12 /* InjectedBundleBasic_Bundle.cpp */, BC909779125571AB00083756 /* PageLoadBasic.cpp */, BC2D004812A9FDFA00E732A3 /* PageLoadDidChangeLocationWithinPageForFrame.cpp */, 333B9CE11277F23100FEFCE3 /* PreventEmptyUserAgent.cpp */, + C0BD669C131D3CF700E18F2A /* ResponsivenessTimerDoesntFireEarly.cpp */, + C0BD669E131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp */, C0ADBE8212FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp */, C02B77F1126612140026BF0F /* SpacebarScrolling.cpp */, BC7B619A1299FE9E00D174A4 /* WKPreferences.cpp */, @@ -279,8 +297,9 @@ BC2D004A12A9FEB300E732A3 /* file-with-anchor.html */, 1A02C84B125D4A5E00E3F4BD /* find.html */, BCBD372E125ABBE600D2C29F /* icon.png */, - BC909778125571AB00083756 /* simple.html */, + 1ADBEFBC130C6A0100D61D19 /* simple-accelerated-compositing.html */, C0ADBE8412FCA6B600D2C129 /* simple-form.html */, + BC909778125571AB00083756 /* simple.html */, C02B7882126615410026BF0F /* spacebar-scrolling.html */, ); name = Resources; @@ -407,6 +426,9 @@ BC2D004912A9FDFA00E732A3 /* PageLoadDidChangeLocationWithinPageForFrame.cpp in Sources */, C0ADBE7C12FCA4D000D2C129 /* JavaScriptTest.cpp in Sources */, C0ADBE8312FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp in Sources */, + 1ADBEFAE130C689C00D61D19 /* ForceRepaint.cpp in Sources */, + 4BFDFFA9131477770061F24B /* HitTestResultNodeHandle.cpp in Sources */, + C0BD669D131D3CF700E18F2A /* ResponsivenessTimerDoesntFireEarly.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -420,6 +442,8 @@ BC575BD9126F58E2006F0F12 /* PlatformUtilities.cpp in Sources */, BC575BE0126F590D006F0F12 /* PlatformUtilitiesMac.mm in Sources */, BCB68042126FBFF100642A61 /* DocumentStartUserScriptAlertCrash_Bundle.cpp in Sources */, + 4BFDFFA71314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp in Sources */, + C0BD669F131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp index 32bd563..c5d1745 100644 --- a/Tools/TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp +++ b/Tools/TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp @@ -27,17 +27,19 @@ #include "PlatformUtilities.h" #include "PlatformWebView.h" +#include #include #include +#include namespace TestWebKitAPI { static bool testDone; -static void didRunJavaScript(WKStringRef resultString, WKErrorRef error, void* context) +static void didRunJavaScript(WKSerializedScriptValueRef resultSerializedScriptValue, WKErrorRef error, void* context) { TEST_ASSERT(context == reinterpret_cast(0x1234578)); - TEST_ASSERT(WKStringIsEmpty(resultString)); + TEST_ASSERT(!resultSerializedScriptValue); // FIXME: We should also check the error, but right now it's always null. // Assert that it's null so we can revisit when this changes. diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp new file mode 100644 index 0000000..499a40a --- /dev/null +++ b/Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "Test.h" + +#include "PlatformUtilities.h" +#include "PlatformWebView.h" +#include +#include + +namespace TestWebKitAPI { + +static bool test1Done; +static bool test2Done; + +void didForceRepaint(WKErrorRef error, void*) +{ + TEST_ASSERT(!error); + test2Done = true; +} + +static void didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) +{ + test1Done = true; + WKPageForceRepaint(page, 0, didForceRepaint); +} + +TEST(WebKit2, ForceRepaint) +{ + WKRetainPtr context(AdoptWK, WKContextCreate()); + PlatformWebView webView(context.get()); + + WKPageLoaderClient loaderClient; + memset(&loaderClient, 0, sizeof(loaderClient)); + + loaderClient.version = 0; + loaderClient.didFinishLoadForFrame = didFinishLoadForFrame; + WKPageSetPageLoaderClient(webView.page(), &loaderClient); + + WKRetainPtr url(AdoptWK, Util::createURLForResource("simple-accelerated-compositing", "html")); + WKPageLoadURL(webView.page(), url.get()); + + Util::run(&test1Done); + Util::run(&test2Done); +} + +} // namespace TestWebKitAPI diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp new file mode 100644 index 0000000..5000a47 --- /dev/null +++ b/Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "Test.h" + +#include "PlatformUtilities.h" +#include "PlatformWebView.h" +#include +#include + +namespace TestWebKitAPI { + +static bool done; +static bool messageReceived; +static bool didFinishLoad; + +static void didFinishLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef, const void*) +{ + didFinishLoad = true; +} + +static void didReceiveMessageFromInjectedBundle(WKContextRef context, WKStringRef messageName, WKTypeRef messageBody, const void* clientInfo) +{ + messageReceived = true; + if (WKStringIsEqualToUTF8CString(messageName, "HitTestResultNodeHandleTestDoneMessageName")) + done = true; +} + +static void setPageLoaderClient(WKPageRef page) +{ + WKPageLoaderClient loaderClient; + memset(&loaderClient, 0, sizeof(loaderClient)); + loaderClient.version = 0; + loaderClient.didFinishLoadForFrame = didFinishLoadForFrame; + + WKPageSetPageLoaderClient(page, &loaderClient); +} + +static void setInjectedBundleClient(WKContextRef context) +{ + WKContextInjectedBundleClient injectedBundleClient; + memset(&injectedBundleClient, 0, sizeof(injectedBundleClient)); + injectedBundleClient.version = 0; + injectedBundleClient.clientInfo = 0; + injectedBundleClient.didReceiveMessageFromInjectedBundle = didReceiveMessageFromInjectedBundle; + WKContextSetInjectedBundleClient(context, &injectedBundleClient); +} + +TEST(WebKit2, HitTestResultNodeHandle) +{ + WKRetainPtr context(AdoptWK, Util::createContextForInjectedBundleTest("HitTestResultNodeHandleTest")); + + setInjectedBundleClient(context.get()); + + PlatformWebView webView(context.get()); + setPageLoaderClient(webView.page()); + + WKPageLoadURL(webView.page(), Util::adoptWK(Util::createURLForResource("simple", "html")).get()); + Util::run(&didFinishLoad); + didFinishLoad = false; + + webView.simulateRightClick(10, 10); + Util::run(&done); +} + +} // namespace TestWebKitAPI diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp new file mode 100644 index 0000000..d8a7fd1 --- /dev/null +++ b/Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "InjectedBundleTest.h" +#include "InjectedBundleController.h" +#include "PlatformUtilities.h" +#include +#include +#include +#include + +namespace TestWebKitAPI { + +class HitTestResultNodeHandleTest : public InjectedBundleTest { +public: + HitTestResultNodeHandleTest(const std::string& identifier) + : InjectedBundleTest(identifier) + { + } + + static void getContextMenuFromDefaultMenu(WKBundlePageRef page, WKBundleHitTestResultRef hitTestResult, WKArrayRef defaultMenu, WKArrayRef* newMenu, WKTypeRef* userData, const void* clientInfo) + { + WKRetainPtr nodeHandle(AdoptWK, WKBundleHitTestResultCopyNodeHandle(hitTestResult)); + if (!nodeHandle) + return; + + WKBundlePostMessage(InjectedBundleController::shared().bundle(), Util::toWK("HitTestResultNodeHandleTestDoneMessageName").get(), Util::toWK("HitTestResultNodeHandleTestDoneMessageBody").get()); + } + + virtual void didCreatePage(WKBundleRef bundle, WKBundlePageRef page) + { + WKBundlePageContextMenuClient contextMenuClient; + memset(&contextMenuClient, 0, sizeof(contextMenuClient)); + contextMenuClient.getContextMenuFromDefaultMenu = getContextMenuFromDefaultMenu; + + WKBundlePageSetContextMenuClient(page, &contextMenuClient); + } +}; + +static InjectedBundleTest::Register registrar("HitTestResultNodeHandleTest"); + +} // namespace TestWebKitAPI diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp index 6cd281e..8de5dba 100644 --- a/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp +++ b/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp @@ -103,7 +103,7 @@ static void decidePolicyForNewWindowAction(WKPageRef page, WKFrameRef frame, WKF WKFramePolicyListenerUse(listener); } -static void decidePolicyForMIMEType(WKPageRef page, WKFrameRef frame, WKStringRef MIMEType, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) +static void decidePolicyForResponse(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) { WKFramePolicyListenerUse(listener); } @@ -132,7 +132,7 @@ TEST(WebKit2, PageLoadBasic) policyClient.clientInfo = &state; policyClient.decidePolicyForNavigationAction = decidePolicyForNavigationAction; policyClient.decidePolicyForNewWindowAction = decidePolicyForNewWindowAction; - policyClient.decidePolicyForMIMEType = decidePolicyForMIMEType; + policyClient.decidePolicyForResponse = decidePolicyForResponse; WKPageSetPagePolicyClient(webView.page(), &policyClient); WKRetainPtr url(AdoptWK, Util::createURLForResource("simple", "html")); diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp index 3cbe113..a492a67 100644 --- a/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp +++ b/Tools/TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp @@ -32,7 +32,7 @@ namespace TestWebKitAPI { -static void nullJavaScriptCallback(WKStringRef, WKErrorRef error, void*) +static void nullJavaScriptCallback(WKSerializedScriptValueRef, WKErrorRef error, void*) { } diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp index 306174a..932b15f 100644 --- a/Tools/TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp +++ b/Tools/TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp @@ -27,20 +27,31 @@ #include "PlatformUtilities.h" #include "PlatformWebView.h" +#include #include #include +#include namespace TestWebKitAPI { static bool testDone; -static void didRunJavaScript(WKStringRef resultString, WKErrorRef error, void* context) +static void didRunJavaScript(WKSerializedScriptValueRef resultSerializedScriptValue, WKErrorRef error, void* context) { TEST_ASSERT(context == reinterpret_cast(0x1234578)); - + TEST_ASSERT(resultSerializedScriptValue); + + JSGlobalContextRef scriptContext = JSGlobalContextCreate(0); + JSValueRef scriptValue = WKSerializedScriptValueDeserialize(resultSerializedScriptValue, scriptContext, 0); + TEST_ASSERT(JSValueIsString(scriptContext, scriptValue)); + // Make sure that the result of navigator.userAgent isn't empty, even if we set the custom // user agent to the empty string. - TEST_ASSERT(!WKStringIsEmpty(resultString)); + JSStringRef scriptString = JSValueToStringCopy(scriptContext, scriptValue, 0); + TEST_ASSERT(JSStringGetLength(scriptString)); + + JSStringRelease(scriptString); + JSGlobalContextRelease(scriptContext); testDone = true; } diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp new file mode 100644 index 0000000..ea1013a --- /dev/null +++ b/Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "Test.h" + +#include "PlatformUtilities.h" +#include "PlatformWebView.h" + +namespace TestWebKitAPI { + +static bool didFinishLoad; +static bool didBecomeUnresponsive; +static bool didBrieflyPause; + +static void didReceiveMessageFromInjectedBundle(WKContextRef, WKStringRef messageName, WKTypeRef, const void*) +{ + didBrieflyPause = true; + TEST_ASSERT(WKStringIsEqualToUTF8CString(messageName, "DidBrieflyPause")); +} + +static void didFinishLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef, const void*) +{ + didFinishLoad = true; +} + +static void processDidBecomeUnresponsive(WKPageRef, const void*) +{ + didBecomeUnresponsive = true; +} + +static void setInjectedBundleClient(WKContextRef context) +{ + WKContextInjectedBundleClient injectedBundleClient; + memset(&injectedBundleClient, 0, sizeof(injectedBundleClient)); + injectedBundleClient.version = 0; + injectedBundleClient.clientInfo = 0; + injectedBundleClient.didReceiveMessageFromInjectedBundle = didReceiveMessageFromInjectedBundle; + + WKContextSetInjectedBundleClient(context, &injectedBundleClient); +} + +static void setPageLoaderClient(WKPageRef page) +{ + WKPageLoaderClient loaderClient; + memset(&loaderClient, 0, sizeof(loaderClient)); + loaderClient.version = 0; + loaderClient.clientInfo = 0; + loaderClient.didFinishLoadForFrame = didFinishLoadForFrame; + loaderClient.processDidBecomeUnresponsive = processDidBecomeUnresponsive; + + WKPageSetPageLoaderClient(page, &loaderClient); +} + +TEST(WebKit2, ResponsivenessTimerDoesntFireEarly) +{ + WKRetainPtr context = Util::adoptWK(Util::createContextForInjectedBundleTest("ResponsivenessTimerDoesntFireEarlyTest")); + setInjectedBundleClient(context.get()); + + PlatformWebView webView(context.get()); + setPageLoaderClient(webView.page()); + + WKPageLoadURL(webView.page(), Util::adoptWK(Util::createURLForResource("simple", "html")).get()); + Util::run(&didFinishLoad); + + WKContextPostMessageToInjectedBundle(context.get(), Util::toWK("BrieflyPause").get(), 0); + + // Pressing a key on the keyboard should start the responsiveness timer. Since the web process + // is going to pause before it receives this keypress, it should take a little while to respond + // (but not so long that the responsiveness timer fires). + webView.simulateSpacebarKeyPress(); + + Util::run(&didBrieflyPause); + TEST_ASSERT(!didBecomeUnresponsive); +} + +} // namespace TestWebKitAPI diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp new file mode 100644 index 0000000..f0ad0ea --- /dev/null +++ b/Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "InjectedBundleTest.h" + +#include "PlatformUtilities.h" + +namespace TestWebKitAPI { + +class ResponsivenessTimerDoesntFireEarlyTest : public InjectedBundleTest { +public: + ResponsivenessTimerDoesntFireEarlyTest(const std::string& identifier); + +private: + virtual void didReceiveMessage(WKBundleRef, WKStringRef messageName, WKTypeRef messageBody); +}; + +static InjectedBundleTest::Register registrar("ResponsivenessTimerDoesntFireEarlyTest"); + +ResponsivenessTimerDoesntFireEarlyTest::ResponsivenessTimerDoesntFireEarlyTest(const std::string& identifier) + : InjectedBundleTest(identifier) +{ +} + +void ResponsivenessTimerDoesntFireEarlyTest::didReceiveMessage(WKBundleRef bundle, WKStringRef messageName, WKTypeRef) +{ + if (!WKStringIsEqualToUTF8CString(messageName, "BrieflyPause")) + return; + + // The responsiveness timer is a 3-second timer. Pausing for 0.5 seconds should not cause it to fire. + Util::sleep(0.5); + + WKBundlePostMessage(bundle, Util::toWK("DidBrieflyPause").get(), 0); +} + +} // namespace TestWebKitAPI diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html b/Tools/TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html new file mode 100644 index 0000000..bea6272 --- /dev/null +++ b/Tools/TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html @@ -0,0 +1,5 @@ + + +
Simple HTML file with accelerated compositing
+ + diff --git a/Tools/TestWebKitAPI/mac/PlatformUtilitiesMac.mm b/Tools/TestWebKitAPI/mac/PlatformUtilitiesMac.mm index 474278f..57ec675 100644 --- a/Tools/TestWebKitAPI/mac/PlatformUtilitiesMac.mm +++ b/Tools/TestWebKitAPI/mac/PlatformUtilitiesMac.mm @@ -39,6 +39,11 @@ void run(bool* done) [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; } +void sleep(double seconds) +{ + usleep(seconds * 1000000); +} + WKStringRef createInjectedBundlePath() { NSString *nsString = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"InjectedBundleTestWebKitAPI.bundle"]; diff --git a/Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm b/Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm index ad901d3..64a7c1c 100644 --- a/Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm +++ b/Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm @@ -94,4 +94,33 @@ void PlatformWebView::simulateSpacebarKeyPress() [m_view keyUp:event]; } +void PlatformWebView::simulateRightClick(unsigned x, unsigned y) +{ + NSEvent *event = [NSEvent mouseEventWithType:NSRightMouseDown + location:NSMakePoint(x, y) + modifierFlags:0 + timestamp:GetCurrentEventTime() + windowNumber:[m_window windowNumber] + context:[NSGraphicsContext currentContext] + eventNumber:0 + clickCount:0 + pressure:0]; + + + [m_view rightMouseDown:event]; + + event = [NSEvent mouseEventWithType:NSRightMouseUp + location:NSMakePoint(x, y) + modifierFlags:0 + timestamp:GetCurrentEventTime() + windowNumber:[m_window windowNumber] + context:[NSGraphicsContext currentContext] + eventNumber:0 + clickCount:0 + pressure:0]; + + [m_view rightMouseUp:event]; + +} + } // namespace TestWebKitAPI diff --git a/Tools/TestWebKitAPI/win/PlatformUtilitiesWin.cpp b/Tools/TestWebKitAPI/win/PlatformUtilitiesWin.cpp index 6efc9ea..8ed2fbf 100644 --- a/Tools/TestWebKitAPI/win/PlatformUtilitiesWin.cpp +++ b/Tools/TestWebKitAPI/win/PlatformUtilitiesWin.cpp @@ -33,9 +33,9 @@ namespace TestWebKitAPI { namespace Util { #ifdef DEBUG_ALL -const char* injectedBundleDLL = "\\InjectedBundle_debug.dll"; +const char* injectedBundleDLL = "TestWebKitAPIInjectedBundle_debug.dll"; #else -const char* injectedBundleDLL = "\\InjectedBundle.dll"; +const char* injectedBundleDLL = "TestWebKitAPIInjectedBundle.dll"; #endif void run(bool* done) @@ -50,6 +50,11 @@ void run(bool* done) } } +void sleep(double seconds) +{ + ::Sleep(seconds * 1000); +} + RetainPtr cf(const char* utf8String) { return RetainPtr(AdoptCF, CFStringCreateWithCString(kCFAllocatorDefault, utf8String, kCFStringEncodingUTF8)); @@ -59,7 +64,7 @@ WKStringRef createInjectedBundlePath() { RetainPtr executableURL(AdoptCF, CFBundleCopyExecutableURL(CFBundleGetMainBundle())); RetainPtr executableContainerURL(AdoptCF, CFURLCreateCopyDeletingLastPathComponent(0, executableURL.get())); - RetainPtr dllFilename(AdoptCF, CFStringCreateWithCStringNoCopy(0, injectedBundleDLL, kCFStringEncodingWindowsLatin1, 0)); + RetainPtr dllFilename(AdoptCF, CFStringCreateWithCStringNoCopy(0, injectedBundleDLL, kCFStringEncodingWindowsLatin1, kCFAllocatorNull)); RetainPtr bundleURL(AdoptCF, CFURLCreateCopyAppendingPathComponent(0, executableContainerURL.get(), dllFilename.get(), false)); RetainPtr bundlePath(AdoptCF, CFURLCopyFileSystemPath(bundleURL.get(), kCFURLWindowsPathStyle)); return WKStringCreateWithCFString(bundlePath.get()); diff --git a/Tools/TestWebKitAPI/win/PlatformWebViewWin.cpp b/Tools/TestWebKitAPI/win/PlatformWebViewWin.cpp index 01a76eb..132ab2a 100644 --- a/Tools/TestWebKitAPI/win/PlatformWebViewWin.cpp +++ b/Tools/TestWebKitAPI/win/PlatformWebViewWin.cpp @@ -101,6 +101,14 @@ void PlatformWebView::simulateAltKeyPress() ::SendMessageW(window, WM_SYSKEYUP, VK_MENU, (1 << repeatCountBitOffset) | (38 << scanCodeBitOffset) | (1 << previousStateBitOffset) | (1 << transitionStateBitOffset)); } +void PlatformWebView::simulateRightClick(unsigned x, unsigned y) +{ + HWND window = WKViewGetWindow(m_view); + + ::SendMessageW(window, WM_RBUTTONDOWN, 0, MAKELPARAM(x, y)); + ::SendMessageW(window, WM_RBUTTONUP, 0, MAKELPARAM(x, y)); +} + LRESULT PlatformWebView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PlatformWebView* webView; diff --git a/Tools/TestWebKitAPI/win/TestWebKitAPI.sln b/Tools/TestWebKitAPI/win/TestWebKitAPI.sln index 5354271..4202817 100644 --- a/Tools/TestWebKitAPI/win/TestWebKitAPI.sln +++ b/Tools/TestWebKitAPI/win/TestWebKitAPI.sln @@ -8,9 +8,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "TestWebKit EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIGenerated", "TestWebKitAPIGenerated.vcproj", "{45C45411-7F0E-404D-919A-4EE9BB60BE86}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIInjectedBundle", "TestWebKitAPIInjectedBundle.vcproj", "{B0101604-B483-4F8C-9C51-90B46A2B1CD3}" + ProjectSection(ProjectDependencies) = postProject + {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - all|Win32 = all|Win32 Debug_All|Win32 = Debug_All|Win32 Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32 Debug|Win32 = Debug|Win32 @@ -19,8 +23,6 @@ Global Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.all|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 - {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.all|Win32.Build.0 = Release_Cairo_CFLite|Win32 {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.Build.0 = Debug_All|Win32 {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 @@ -33,8 +35,6 @@ Global {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.ActiveCfg = Release|Win32 {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.Build.0 = Release|Win32 - {45C45411-7F0E-404D-919A-4EE9BB60BE86}.all|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 - {45C45411-7F0E-404D-919A-4EE9BB60BE86}.all|Win32.Build.0 = Debug_Cairo_CFLite|Win32 {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.Build.0 = Debug_All|Win32 {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 @@ -47,6 +47,18 @@ Global {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.ActiveCfg = Release|Win32 {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.Build.0 = Release|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.Build.0 = Debug_All|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.ActiveCfg = Debug|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.Build.0 = Debug|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.ActiveCfg = Release|Win32 + {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Tools/TestWebKitAPI/win/TestWebKitAPI.vcproj b/Tools/TestWebKitAPI/win/TestWebKitAPI.vcproj index 0c806a8..a894029 100644 --- a/Tools/TestWebKitAPI/win/TestWebKitAPI.vcproj +++ b/Tools/TestWebKitAPI/win/TestWebKitAPI.vcproj @@ -17,7 +17,7 @@ @@ -412,6 +412,10 @@ Name="WebKit2" > + + @@ -432,6 +436,10 @@ > + + @@ -444,6 +452,14 @@ > + + + + @@ -456,10 +472,18 @@ > + + + + diff --git a/Tools/TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj b/Tools/TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj new file mode 100644 index 0000000..3b18238 --- /dev/null +++ b/Tools/TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tools/TestWebKitAPI/win/copy-resources.cmd b/Tools/TestWebKitAPI/win/copy-resources.cmd index b0ef3df..a04df5c 100755 --- a/Tools/TestWebKitAPI/win/copy-resources.cmd +++ b/Tools/TestWebKitAPI/win/copy-resources.cmd @@ -12,6 +12,7 @@ for %%f in ( ..\Tests\WebKit2\find.html ..\Tests\WebKit2\icon.png ..\Tests\WebKit2\simple.html + ..\Tests\WebKit2\simple-accelerated-compositing.html ..\Tests\WebKit2\simple-form.html ..\Tests\WebKit2\spacebar-scrolling.html ) do ( diff --git a/Tools/TestWebKitAPI/win/main.cpp b/Tools/TestWebKitAPI/win/main.cpp index 3091819..8f81f66 100644 --- a/Tools/TestWebKitAPI/win/main.cpp +++ b/Tools/TestWebKitAPI/win/main.cpp @@ -27,6 +27,11 @@ int main(int argc, const char* argv[]) { + // Cygwin calls ::SetErrorMode(SEM_FAILCRITICALERRORS), which we will inherit. This is bad for + // testing/debugging, as it causes the post-mortem debugger not to be invoked. We reset the + // error mode here to work around Cygwin's behavior. See . + ::SetErrorMode(0); + bool passed = true; std::string argument(argv[1]); diff --git a/Tools/WebKitAPITest/main.cpp b/Tools/WebKitAPITest/main.cpp index a941c30..8b54b01 100644 --- a/Tools/WebKitAPITest/main.cpp +++ b/Tools/WebKitAPITest/main.cpp @@ -28,6 +28,11 @@ using namespace WebKitAPITest; int main(int, char*[]) { + // Cygwin calls ::SetErrorMode(SEM_FAILCRITICALERRORS), which we will inherit. This is bad for + // testing/debugging, as it causes the post-mortem debugger not to be invoked. We reset the + // error mode here to work around Cygwin's behavior. See . + ::SetErrorMode(0); + // FIXME: Remove this line once is fixed. OleInitialize(0); diff --git a/Tools/WebKitLauncherWin/WebKitLauncherWinCommon.vsprops b/Tools/WebKitLauncherWin/WebKitLauncherWinCommon.vsprops index 9b6419c..37b2b87 100644 --- a/Tools/WebKitLauncherWin/WebKitLauncherWinCommon.vsprops +++ b/Tools/WebKitLauncherWin/WebKitLauncherWinCommon.vsprops @@ -8,5 +8,6 @@ Name="VCLinkerTool" AdditionalDependencies="shlwapi.lib" OutputFile="$(OutDir)\WebKit$(WebKitConfigSuffix).exe" + ProgramDatabaseFile="$(TargetDir)$(ProjectName)$(WebKitConfigSuffix).pdb" /> diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp index d042431..00933bd 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp @@ -72,7 +72,7 @@ void InjectedBundle::didReceiveMessage(WKBundleRef bundle, WKStringRef messageNa static_cast(const_cast(clientInfo))->didReceiveMessage(messageName, messageBody); } -void InjectedBundle::initialize(WKBundleRef bundle) +void InjectedBundle::initialize(WKBundleRef bundle, WKTypeRef initializationUserData) { m_bundle = bundle; @@ -86,6 +86,8 @@ void InjectedBundle::initialize(WKBundleRef bundle) }; WKBundleSetClient(m_bundle, &client); + platformInitialize(initializationUserData); + activateFonts(); WKBundleActivateMacFontAscentHack(m_bundle); } @@ -173,7 +175,15 @@ void InjectedBundle::done() setTopLoadingFrame(0); WKRetainPtr doneMessageName(AdoptWK, WKStringCreateWithUTF8CString("Done")); - WKRetainPtr doneMessageBody(AdoptWK, WKStringCreateWithUTF8CString(m_outputStream.str().c_str())); + WKRetainPtr doneMessageBody(AdoptWK, WKMutableDictionaryCreate()); + + WKRetainPtr textOutputKey(AdoptWK, WKStringCreateWithUTF8CString("TextOutput")); + WKRetainPtr textOutput(AdoptWK, WKStringCreateWithUTF8CString(m_outputStream.str().c_str())); + WKDictionaryAddItem(doneMessageBody.get(), textOutputKey.get(), textOutput.get()); + + WKRetainPtr textOnlyKey(AdoptWK, WKStringCreateWithUTF8CString("TextOnly")); + WKRetainPtr textOnly(AdoptWK, WKBooleanCreate(!m_layoutTestController->shouldDumpPixels())); + WKDictionaryAddItem(doneMessageBody.get(), textOnlyKey.get(), textOnly.get()); WKBundlePostMessage(m_bundle, doneMessageName.get(), doneMessageBody.get()); diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h index 741ade4..41b1b31 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h @@ -45,7 +45,7 @@ public: static InjectedBundle& shared(); // Initialize the InjectedBundle. - void initialize(WKBundleRef); + void initialize(WKBundleRef, WKTypeRef initializationUserData); WKBundleRef bundle() const { return m_bundle; } WKBundlePageGroupRef pageGroup() const { return m_pageGroup; } @@ -82,6 +82,7 @@ private: void didInitializePageGroup(WKBundlePageGroupRef); void didReceiveMessage(WKStringRef messageName, WKTypeRef messageBody); + void platformInitialize(WKTypeRef initializationUserData); void resetLocalSettings(); void beginTesting(); diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp index c4cf892..4e7f58b 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp @@ -33,5 +33,5 @@ extern "C" #endif void WKBundleInitialize(WKBundleRef bundle, WKTypeRef initializationUserData) { - WTR::InjectedBundle::shared().initialize(bundle); + WTR::InjectedBundle::shared().initialize(bundle, initializationUserData); } diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp index 739da3b..3ce081e 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp @@ -256,6 +256,8 @@ void InjectedBundlePage::reset() WKBundlePageSetTextZoomFactor(m_page, 1); m_previousTestBackForwardListItem = adoptWK(WKBundleBackForwardListCopyItemAtIndex(WKBundlePageGetBackForwardList(m_page), 0)); + + WKBundleFrameClearOpener(WKBundlePageGetMainFrame(m_page)); } // Loader Client Callbacks @@ -493,6 +495,15 @@ void InjectedBundlePage::dump() InjectedBundle::shared().layoutTestController()->invalidateWaitToDumpWatchdogTimer(); + // Force a paint before dumping. This matches DumpRenderTree on Windows. (DumpRenderTree on Mac + // does this at a slightly different time.) See for details. + WKBundlePageForceRepaint(m_page); + + WKBundleFrameRef frame = WKBundlePageGetMainFrame(m_page); + string url = toSTD(adoptWK(WKURLCopyString(adoptWK(WKBundleFrameCopyURL(frame)).get()))); + if (strstr(url.c_str(), "dumpAsText/")) + InjectedBundle::shared().layoutTestController()->dumpAsText(); + switch (InjectedBundle::shared().layoutTestController()->whatToDump()) { case LayoutTestController::RenderTree: { WKRetainPtr text(AdoptWK, WKBundlePageCopyRenderTreeExternalRepresentation(m_page)); @@ -635,6 +646,7 @@ WKURLRequestRef InjectedBundlePage::willSendRequestForFrame(WKBundlePageRef, WKB return 0; } + WKRetain(request); return request; } diff --git a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp index 4707ed8..96a0d47 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp @@ -94,6 +94,7 @@ LayoutTestController::LayoutTestController() , m_dumpEditingCallbacks(false) , m_dumpStatusCallbacks(false) , m_dumpTitleChanges(false) + , m_dumpPixels(true) , m_waitToDump(false) , m_testRepaint(false) , m_testRepaintSweepHorizontally(false) @@ -116,6 +117,12 @@ void LayoutTestController::display() // FIXME: actually implement, once we want pixel tests } +void LayoutTestController::dumpAsText() +{ + m_whatToDump = MainFrameText; + m_dumpPixels = false; +} + void LayoutTestController::waitUntilDone() { m_waitToDump = true; diff --git a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h index 9271124..6733380 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h +++ b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h @@ -55,7 +55,7 @@ public: void makeWindowObject(JSContextRef, JSObjectRef windowObject, JSValueRef* exception); // The basics. - void dumpAsText() { m_whatToDump = MainFrameText; } + void dumpAsText(); void dumpChildFramesAsText() { m_whatToDump = AllFramesText; } void waitUntilDone(); void notifyDone(); @@ -114,6 +114,7 @@ public: bool shouldDumpMainFrameScrollPosition() const { return m_whatToDump == RenderTree; } bool shouldDumpStatusCallbacks() const { return m_dumpStatusCallbacks; } bool shouldDumpTitleChanges() const { return m_dumpTitleChanges; } + bool shouldDumpPixels() const { return m_dumpPixels; } bool waitToDump() const { return m_waitToDump; } void waitToDumpWatchdogTimerFired(); @@ -154,6 +155,7 @@ private: bool m_dumpEditingCallbacks; bool m_dumpStatusCallbacks; bool m_dumpTitleChanges; + bool m_dumpPixels; bool m_waitToDump; // True if waitUntilDone() has been called, but notifyDone() has not yet been called. bool m_testRepaint; bool m_testRepaintSweepHorizontally; diff --git a/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm b/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm new file mode 100644 index 0000000..7cb8dfa --- /dev/null +++ b/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "InjectedBundle.h" + +namespace WTR { + +void InjectedBundle::platformInitialize(WKTypeRef) +{ + NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithInteger:4], @"AppleAntiAliasingThreshold", + [NSNumber numberWithInteger:0], @"AppleFontSmoothing", + [NSNumber numberWithBool:NO], @"AppleScrollAnimationEnabled", + [NSNumber numberWithBool:NO], @"NSOverlayScrollersEnabled", + @"Always", @"AppleShowScrollBars", + nil]; + + [[NSUserDefaults standardUserDefaults] registerDefaults:dict]; +} + +} // namespace WTR diff --git a/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro b/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro index 24db4b8..6838205 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro +++ b/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro @@ -24,6 +24,7 @@ SOURCES += \ ../LayoutTestController.h \ ../Bindings/JSWrapper.cpp \ ActivateFontsQt.cpp \ + InjectedBundleQt.cpp \ LayoutTestControllerQt.cpp \ $$GENERATED_SOURCES_DIR/JSEventSendingController.cpp \ $$GENERATED_SOURCES_DIR/JSGCController.cpp \ @@ -45,27 +46,29 @@ HEADERS += \ include(../../../../Source/WebKit.pri) include(../../../../Source/JavaScriptCore/JavaScriptCore.pri) -addJavaScriptCoreLib(../../../JavaScriptCore) +prependJavaScriptCoreLib(../../../JavaScriptCore) include(../../../../Source/WebKit2/WebKit2.pri) -addWebKit2Lib(../../../WebKit2) +prependWebKit2Lib(../../../WebKit2) -INCLUDEPATH += \ +INCLUDEPATH = \ $$PWD \ $$PWD/.. \ $$PWD/../.. \ $$PWD/../Bindings \ + $$PWD/../../../../Source \ $$PWD/../../../../Source/JavaScriptCore \ - $$PWD/../../../../Source/JavaScriptCore/wtf \ + $$PWD/../../../../Source/JavaScriptCore/ForwardingHeaders \ + $$PWD/../../../../Source/JavaScriptCore/wtf/unicode \ $$PWD/../../../../Source/WebCore \ $$PWD/../../../../Source/WebCore/platform/text \ $$PWD/../../../../Source/WebKit2 \ $$PWD/../../../../Source/WebKit2/Shared \ - $$GENERATED_SOURCES_DIR - -INCLUDEPATH += \ + $$OUTPUT_DIR/include/QtWebKit \ $$OUTPUT_DIR/include \ + $$GENERATED_SOURCES_DIR \ $$WC_GENERATED_SOURCES_DIR + PREFIX_HEADER = $$PWD/../../WebKitTestRunnerPrefix.h *-g++*:QMAKE_CXXFLAGS += "-include $$PREFIX_HEADER" diff --git a/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp b/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp new file mode 100644 index 0000000..52502ed --- /dev/null +++ b/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "InjectedBundle.h" + +namespace WTR { + +void InjectedBundle::platformInitialize(WKTypeRef) +{ +} + +} // namespace WTR diff --git a/Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp b/Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp new file mode 100644 index 0000000..af8eaed --- /dev/null +++ b/Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "InjectedBundle.h" + +namespace WTR { + +static HANDLE webProcessCrashingEvent; + +static LONG WINAPI exceptionFilter(EXCEPTION_POINTERS*) +{ + // Let the UI process know right away that we crashed. It might take a long time for us to + // finish crashing if a crash log is being saved. + ::SetEvent(webProcessCrashingEvent); + + return EXCEPTION_CONTINUE_SEARCH; +} + +void InjectedBundle::platformInitialize(WKTypeRef initializationUserData) +{ + ::SetUnhandledExceptionFilter(exceptionFilter); + + ASSERT_ARG(initializationUserData, initializationUserData); + ASSERT_ARG(initializationUserData, WKGetTypeID(initializationUserData) == WKStringGetTypeID()); + + WKStringRef string = static_cast(initializationUserData); + Vector buffer(WKStringGetMaximumUTF8CStringSize(string)); + WKStringGetUTF8CString(string, buffer.data(), buffer.size()); + + // The UI process should already have created this event. We're just getting another HANDLE to it. + webProcessCrashingEvent = ::CreateEventA(0, FALSE, FALSE, buffer.data()); + ASSERT(webProcessCrashingEvent); +} + +} // namespace WTR diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp index 6f5b9a7..d12fff6 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp @@ -63,6 +63,8 @@ TestController::TestController(int argc, const char* argv[]) , m_doneResetting(false) , m_longTimeout(defaultLongTimeout) , m_shortTimeout(defaultShortTimeout) + , m_didPrintWebProcessCrashedMessage(false) + , m_shouldExitWhenWebProcessCrashes(true) { initialize(argc, argv); controller = this; @@ -327,7 +329,8 @@ void TestController::initialize(int argc, const char* argv[]) 0, // didBecomeUnresponsive 0, // didBecomeResponsive processDidCrash, // processDidCrash - 0 // didChangeBackForwardList + 0, // didChangeBackForwardList + 0 // shouldGoToBackForwardListItem }; WKPageSetPageLoaderClient(m_mainWebView->page(), &pageLoaderClient); } @@ -383,8 +386,20 @@ bool TestController::runTest(const char* test) return false; } + std::string pathOrURL(test); + std::string expectedPixelHash; + size_t separatorPos = pathOrURL.find("'"); + if (separatorPos != std::string::npos) { + pathOrURL = std::string(std::string(test), 0, separatorPos); + expectedPixelHash = std::string(std::string(test), separatorPos + 1); + } + m_state = RunningTest; - m_currentInvocation.set(new TestInvocation(test)); + + m_currentInvocation.set(new TestInvocation(pathOrURL)); + if (m_dumpPixels) + m_currentInvocation->setIsPixelTest(expectedPixelHash); + m_currentInvocation->invoke(); m_currentInvocation.clear(); @@ -395,7 +410,7 @@ void TestController::runTestingServerLoop() { char filenameBuffer[2048]; while (fgets(filenameBuffer, sizeof(filenameBuffer), stdin)) { - char *newLineCharacter = strchr(filenameBuffer, '\n'); + char* newLineCharacter = strchr(filenameBuffer, '\n'); if (newLineCharacter) *newLineCharacter = '\0'; @@ -417,7 +432,6 @@ void TestController::run() break; } } - } void TestController::runUntil(bool& done, TimeoutDuration timeoutDuration) @@ -458,7 +472,7 @@ void TestController::didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKT void TestController::processDidCrash(WKPageRef page, const void* clientInfo) { - static_cast(const_cast(clientInfo))->processDidCrash(page); + static_cast(const_cast(clientInfo))->processDidCrash(); } void TestController::didFinishLoadForFrame(WKPageRef page, WKFrameRef frame) @@ -477,10 +491,18 @@ void TestController::didFinishLoadForFrame(WKPageRef page, WKFrameRef frame) shared().notifyDone(); } -void TestController::processDidCrash(WKPageRef page) +void TestController::processDidCrash() { - fputs("#CRASHED - WebProcess\n", stderr); - fflush(stderr); + // This function can be called multiple times when crash logs are being saved on Windows, so + // ensure we only print the crashed message once. + if (!m_didPrintWebProcessCrashedMessage) { + fputs("#CRASHED - WebProcess\n", stderr); + fflush(stderr); + m_didPrintWebProcessCrashedMessage = true; + } + + if (m_shouldExitWhenWebProcessCrashes) + exit(1); } } // namespace WTR diff --git a/Tools/WebKitTestRunner/TestController.h b/Tools/WebKitTestRunner/TestController.h index fe37952..0630e2b 100644 --- a/Tools/WebKitTestRunner/TestController.h +++ b/Tools/WebKitTestRunner/TestController.h @@ -83,7 +83,7 @@ private: void didFinishLoadForFrame(WKPageRef page, WKFrameRef frame); static void processDidCrash(WKPageRef, const void* clientInfo); - void processDidCrash(WKPageRef); + void processDidCrash(); static WKPageRef createOtherPage(WKPageRef oldPage, WKDictionaryRef, WKEventModifiers, WKEventMouseButton, const void*); @@ -117,6 +117,9 @@ private: double m_longTimeout; double m_shortTimeout; + + bool m_didPrintWebProcessCrashedMessage; + bool m_shouldExitWhenWebProcessCrashes; }; } // namespace WTR diff --git a/Tools/WebKitTestRunner/TestInvocation.cpp b/Tools/WebKitTestRunner/TestInvocation.cpp index 3af184a..3227be9 100644 --- a/Tools/WebKitTestRunner/TestInvocation.cpp +++ b/Tools/WebKitTestRunner/TestInvocation.cpp @@ -30,6 +30,7 @@ #include "TestController.h" #include #include +#include #include #include #include @@ -57,7 +58,8 @@ static WKURLRef createWKURL(const char* pathOrURL) if (!length) return 0; - const char* filePrefix = "file://"; + // FIXME: Remove the "localhost/" suffix once is fixed. + const char* filePrefix = "file://localhost/"; static const size_t prefixLength = strlen(filePrefix); #if OS(WINDOWS) const char separator = '\\'; @@ -85,18 +87,25 @@ static WKURLRef createWKURL(const char* pathOrURL) return WKURLCreateWithUTF8CString(buffer.get()); } -TestInvocation::TestInvocation(const char* pathOrURL) - : m_url(AdoptWK, createWKURL(pathOrURL)) - , m_pathOrURL(fastStrDup(pathOrURL)) +TestInvocation::TestInvocation(const std::string& pathOrURL) + : m_url(AdoptWK, createWKURL(pathOrURL.c_str())) + , m_pathOrURL(pathOrURL) + , m_dumpPixels(false) , m_gotInitialResponse(false) , m_gotFinalMessage(false) + , m_gotRepaint(false) , m_error(false) { } TestInvocation::~TestInvocation() { - fastFree(m_pathOrURL); +} + +void TestInvocation::setIsPixelTest(const std::string& expectedPixelHash) +{ + m_dumpPixels = true; + m_expectedPixelHash = expectedPixelHash; } static const unsigned w3cSVGWidth = 480; @@ -104,7 +113,7 @@ static const unsigned w3cSVGHeight = 360; static const unsigned normalWidth = 800; static const unsigned normalHeight = 600; -static void sizeWebViewForCurrentTest(char* pathOrURL) +static void sizeWebViewForCurrentTest(const char* pathOrURL) { bool isSVGW3CTest = strstr(pathOrURL, "svg/W3C-SVG-1.1") || strstr(pathOrURL, "svg\\W3C-SVG-1.1"); @@ -116,12 +125,12 @@ static void sizeWebViewForCurrentTest(char* pathOrURL) static bool shouldOpenWebInspector(const char* pathOrURL) { - return strstr(pathOrURL, "inspector/"); + return strstr(pathOrURL, "inspector/") || strstr(pathOrURL, "inspector\\"); } void TestInvocation::invoke() { - sizeWebViewForCurrentTest(m_pathOrURL); + sizeWebViewForCurrentTest(m_pathOrURL.c_str()); WKRetainPtr messageName(AdoptWK, WKStringCreateWithUTF8CString("BeginTest")); WKContextPostMessageToInjectedBundle(TestController::shared().context(), messageName.get(), 0); @@ -136,7 +145,7 @@ void TestInvocation::invoke() return; } - if (shouldOpenWebInspector(m_pathOrURL)) + if (shouldOpenWebInspector(m_pathOrURL.c_str())) WKInspectorShow(WKPageGetInspector(TestController::shared().mainWebView()->page())); WKPageLoadURL(TestController::shared().mainWebView()->page(), m_url.get()); @@ -156,11 +165,7 @@ void TestInvocation::dump(const char* stringToDump) printf("%s", stringToDump); fputs("#EOF\n", stdout); - fputs("#EOF\n", stdout); fputs("#EOF\n", stderr); - - fflush(stdout); - fflush(stderr); } void TestInvocation::didReceiveMessageFromInjectedBundle(WKStringRef messageName, WKTypeRef messageBody) @@ -187,11 +192,26 @@ void TestInvocation::didReceiveMessageFromInjectedBundle(WKStringRef messageName } if (WKStringIsEqualToUTF8CString(messageName, "Done")) { - ASSERT(WKGetTypeID(messageBody) == WKStringGetTypeID()); - WKStringRef messageBodyString = static_cast(messageBody); + ASSERT(WKGetTypeID(messageBody) == WKDictionaryGetTypeID()); + WKDictionaryRef messageBodyDictionary = static_cast(messageBody); + + WKRetainPtr textOutputKey(AdoptWK, WKStringCreateWithUTF8CString("TextOutput")); + WKStringRef textOutput = static_cast(WKDictionaryGetItemForKey(messageBodyDictionary, textOutputKey.get())); + + WKRetainPtr textOnlyKey(AdoptWK, WKStringCreateWithUTF8CString("TextOnly")); + bool textOnly = WKBooleanGetValue(static_cast(WKDictionaryGetItemForKey(messageBodyDictionary, textOnlyKey.get()))); + + // Dump text. + dump(toSTD(textOutput).c_str()); - dump(toSTD(messageBodyString).c_str()); + // Dump pixels (if necessary). + if (m_dumpPixels && !textOnly) + dumpPixelsAndCompareWithExpected(); + fputs("#EOF\n", stdout); + fflush(stdout); + fflush(stderr); + m_gotFinalMessage = true; TestController::shared().notifyDone(); return; diff --git a/Tools/WebKitTestRunner/TestInvocation.h b/Tools/WebKitTestRunner/TestInvocation.h index efc6635..d5a4af9 100644 --- a/Tools/WebKitTestRunner/TestInvocation.h +++ b/Tools/WebKitTestRunner/TestInvocation.h @@ -26,6 +26,7 @@ #ifndef TestInvocation_h #define TestInvocation_h +#include #include #include @@ -34,22 +35,29 @@ namespace WTR { class TestInvocation { WTF_MAKE_NONCOPYABLE(TestInvocation); public: - TestInvocation(const char*); + TestInvocation(const std::string& pathOrURL); ~TestInvocation(); + void setIsPixelTest(const std::string& expectedPixelHash); + void invoke(); void didReceiveMessageFromInjectedBundle(WKStringRef messageName, WKTypeRef messageBody); WKRetainPtr didReceiveSynchronousMessageFromInjectedBundle(WKStringRef messageName, WKTypeRef messageBody); private: void dump(const char*); - + void dumpPixelsAndCompareWithExpected(); + WKRetainPtr m_url; - char* m_pathOrURL; + std::string m_pathOrURL; + + bool m_dumpPixels; + std::string m_expectedPixelHash; // Invocation state bool m_gotInitialResponse; bool m_gotFinalMessage; + bool m_gotRepaint; bool m_error; }; diff --git a/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj b/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj index 8428403..62105cd 100644 --- a/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj +++ b/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj @@ -47,6 +47,8 @@ BC7934AC1190658C005EA8E2 /* WebKit2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC7934AB1190658C005EA8E2 /* WebKit2.framework */; }; BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */; }; BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8C795B11D2785D004535A1 /* TestControllerMac.mm */; }; + BC8DAD5D1315C0EC00EC96FC /* TestInvocationMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8DAD5B1315C0EC00EC96FC /* TestInvocationMac.mm */; }; + BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */; }; BC8FD8CA120E527F00F3E71A /* EventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */; }; BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */; }; BC952C0D11F3B965003398B4 /* JSWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC952C0C11F3B965003398B4 /* JSWrapper.cpp */; }; @@ -113,6 +115,8 @@ BC7934DD119066EC005EA8E2 /* PlatformWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformWebView.h; sourceTree = ""; }; BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewMac.mm; sourceTree = ""; }; BC8C795B11D2785D004535A1 /* TestControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerMac.mm; sourceTree = ""; }; + BC8DAD5B1315C0EC00EC96FC /* TestInvocationMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestInvocationMac.mm; sourceTree = ""; }; + BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleMac.mm; sourceTree = ""; }; BC8FD8C8120E527F00F3E71A /* EventSendingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSendingController.h; sourceTree = ""; }; BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventSendingController.cpp; sourceTree = ""; }; BC8FD8CB120E52B000F3E71A /* EventSendingController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EventSendingController.idl; sourceTree = ""; }; @@ -218,6 +222,7 @@ isa = PBXGroup; children = ( 65EB859F11EC67CC0034D300 /* ActivateFonts.mm */, + BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */, ); path = mac; sourceTree = ""; @@ -278,6 +283,7 @@ BC7933FF118F7C84005EA8E2 /* main.mm */, BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */, BC8C795B11D2785D004535A1 /* TestControllerMac.mm */, + BC8DAD5B1315C0EC00EC96FC /* TestInvocationMac.mm */, ); path = mac; sourceTree = ""; @@ -440,6 +446,7 @@ BC793431118F7F19005EA8E2 /* TestController.cpp in Sources */, BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */, BCD7D2F811921278006DB7EE /* TestInvocation.cpp in Sources */, + BC8DAD5D1315C0EC00EC96FC /* TestInvocationMac.mm in Sources */, BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -457,6 +464,7 @@ BC952F1F11F3C652003398B4 /* JSLayoutTestController.cpp in Sources */, BC14E4DB120E02D000826C0C /* GCController.cpp in Sources */, BC14E4EA120E03D800826C0C /* JSGCController.cpp in Sources */, + BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */, BC8FD8CA120E527F00F3E71A /* EventSendingController.cpp in Sources */, BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */, C0CE720B1247C93300BC0EC4 /* LayoutTestControllerMac.mm in Sources */, diff --git a/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm b/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm index b68f6a3..8415692 100644 --- a/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm +++ b/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm @@ -34,7 +34,7 @@ PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGro NSRect windowRect = NSOffsetRect(rect, -10000, [[[NSScreen screens] objectAtIndex:0] frame].size.height - rect.size.height + 10000); m_window = [[NSWindow alloc] initWithContentRect:windowRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]; - [m_window setColorSpace:[[NSScreen mainScreen] colorSpace]]; + [m_window setColorSpace:[NSColorSpace genericRGBColorSpace]]; [[m_window contentView] addSubview:m_view]; [m_window orderBack:nil]; [m_window setAutodisplay:NO]; diff --git a/Tools/WebKitTestRunner/mac/TestInvocationMac.mm b/Tools/WebKitTestRunner/mac/TestInvocationMac.mm new file mode 100644 index 0000000..13a0295 --- /dev/null +++ b/Tools/WebKitTestRunner/mac/TestInvocationMac.mm @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "TestInvocation.h" + +#include "PlatformWebView.h" +#include "TestController.h" +#include +#include +#include +#include + +#define COMMON_DIGEST_FOR_OPENSSL +#include + +namespace WTR { + +static CGContextRef createCGContextFromPlatformView(PlatformWebView* platformWebView) +{ + WKView* view = platformWebView->platformView(); + [view display]; + + NSSize webViewSize = [view frame].size; + size_t pixelsWide = static_cast(webViewSize.width); + size_t pixelsHigh = static_cast(webViewSize.height); + size_t rowBytes = (4 * pixelsWide + 63) & ~63; + void* buffer = calloc(pixelsHigh, rowBytes); + + CGColorSpaceRef colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); + CGContextRef context = CGBitmapContextCreate(buffer, pixelsWide, pixelsHigh, 8, rowBytes, colorSpace, kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host); + CGColorSpaceRelease(colorSpace); + + CGImageRef image = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, [[view window] windowNumber], kCGWindowImageBoundsIgnoreFraming | kCGWindowImageShouldBeOpaque); + CGContextDrawImage(context, CGRectMake(0, 0, CGImageGetWidth(image), CGImageGetHeight(image)), image); + CGImageRelease(image); + + return context; +} + +void computeMD5HashStringForContext(CGContextRef bitmapContext, char hashString[33]) +{ + ASSERT(CGBitmapContextGetBitsPerPixel(bitmapContext) == 32); // ImageDiff assumes 32 bit RGBA, we must as well. + size_t pixelsHigh = CGBitmapContextGetHeight(bitmapContext); + size_t pixelsWide = CGBitmapContextGetWidth(bitmapContext); + size_t bytesPerRow = CGBitmapContextGetBytesPerRow(bitmapContext); + + // We need to swap the bytes to ensure consistent hashes independently of endianness + MD5_CTX md5Context; + MD5_Init(&md5Context); + unsigned char* bitmapData = static_cast(CGBitmapContextGetData(bitmapContext)); + if ((CGBitmapContextGetBitmapInfo(bitmapContext) & kCGBitmapByteOrderMask) == kCGBitmapByteOrder32Big) { + for (unsigned row = 0; row < pixelsHigh; row++) { + uint32_t buffer[pixelsWide]; + for (unsigned column = 0; column < pixelsWide; column++) + buffer[column] = OSReadLittleInt32(bitmapData, 4 * column); + MD5_Update(&md5Context, buffer, 4 * pixelsWide); + bitmapData += bytesPerRow; + } + } else { + for (unsigned row = 0; row < pixelsHigh; row++) { + MD5_Update(&md5Context, bitmapData, 4 * pixelsWide); + bitmapData += bytesPerRow; + } + } + + unsigned char hash[16]; + MD5_Final(hash, &md5Context); + + hashString[0] = '\0'; + for (int i = 0; i < 16; i++) + snprintf(hashString, 33, "%s%02x", hashString, hash[i]); +} + +static void dumpBitmap(CGContextRef bitmapContext) +{ + RetainPtr image(AdoptCF, CGBitmapContextCreateImage(bitmapContext)); + RetainPtr imageData(AdoptCF, CFDataCreateMutable(0, 0)); + RetainPtr imageDest(AdoptCF, CGImageDestinationCreateWithData(imageData.get(), kUTTypePNG, 1, 0)); + CGImageDestinationAddImage(imageDest.get(), image.get(), 0); + CGImageDestinationFinalize(imageDest.get()); + + const unsigned char* data = CFDataGetBytePtr(imageData.get()); + const size_t dataLength = CFDataGetLength(imageData.get()); + + + fprintf(stdout, "Content-Type: %s\n", "image/png"); + fprintf(stdout, "Content-Length: %lu\n", static_cast(dataLength)); + + const size_t bytesToWriteInOneChunk = 1 << 15; + size_t dataRemainingToWrite = dataLength; + while (dataRemainingToWrite) { + size_t bytesToWriteInThisChunk = std::min(dataRemainingToWrite, bytesToWriteInOneChunk); + size_t bytesWritten = fwrite(data, 1, bytesToWriteInThisChunk, stdout); + if (bytesWritten != bytesToWriteInThisChunk) + break; + dataRemainingToWrite -= bytesWritten; + data += bytesWritten; + } +} + +static void forceRepaintFunction(WKErrorRef, void* context) +{ + *static_cast(context) = true; +} + +void TestInvocation::dumpPixelsAndCompareWithExpected() +{ + WKPageForceRepaint(TestController::shared().mainWebView()->page(), &m_gotRepaint, forceRepaintFunction); + TestController::shared().runUntil(m_gotRepaint, TestController::LongTimeout); + + CGContextRef context = createCGContextFromPlatformView(TestController::shared().mainWebView()); + + // Compute the hash of the bitmap context pixels + char actualHash[33]; + computeMD5HashStringForContext(context, actualHash); + fprintf(stdout, "\nActualHash: %s\n", actualHash); + + // Check the computed hash against the expected one and dump image on mismatch + bool hashesMatch = false; + if (m_expectedPixelHash.length() > 0) { + ASSERT(m_expectedPixelHash.length() == 32); + + fprintf(stdout, "\nExpectedHash: %s\n", m_expectedPixelHash.c_str()); + + // FIXME: Do case insensitive compare. + if (m_expectedPixelHash == actualHash) + hashesMatch = true; + } + + if (!hashesMatch) + dumpBitmap(context); +} + +} // namespace WTR diff --git a/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp b/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp new file mode 100644 index 0000000..b5fbda4 --- /dev/null +++ b/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "TestInvocation.h" + +namespace WTR { + +void TestInvocation::dumpPixelsAndCompareWithExpected() +{ +} + +} // namespace WTR diff --git a/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro b/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro index de648ea..d6579a4 100644 --- a/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro +++ b/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro @@ -8,12 +8,6 @@ GENERATED_SOURCES_DIR = ../generated include(../../../Source/WebKit.pri) -!CONFIG(release, debug|release) { - OBJECTS_DIR = obj/debug -} else { # Release - OBJECTS_DIR = obj/release -} - DEFINES += USE_SYSTEM_MALLOC=1 INCLUDEPATH += \ @@ -48,6 +42,7 @@ SOURCES = \ main.cpp \ PlatformWebViewQt.cpp \ TestControllerQt.cpp \ + TestInvocationQt.cpp \ $$BASEDIR/TestController.cpp \ $$BASEDIR/TestInvocation.cpp \ @@ -68,4 +63,4 @@ linux-* { } include(../../../Source/JavaScriptCore/JavaScriptCore.pri) -addJavaScriptCoreLib(../../JavaScriptCore) +prependJavaScriptCoreLib(../../JavaScriptCore) diff --git a/Tools/WebKitTestRunner/win/InjectedBundle.vcproj b/Tools/WebKitTestRunner/win/InjectedBundle.vcproj index f615d50..eec770b 100644 --- a/Tools/WebKitTestRunner/win/InjectedBundle.vcproj +++ b/Tools/WebKitTestRunner/win/InjectedBundle.vcproj @@ -439,6 +439,10 @@ > + + diff --git a/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp b/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp index c132275..e75ccc8 100644 --- a/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp +++ b/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp @@ -54,6 +54,7 @@ PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGro RECT viewRect = {0, 0, 800, 600}; m_window = CreateWindowExW(0, hostWindowClassName, L"WebKitTestRunner", WS_OVERLAPPEDWINDOW, 0 /*XOFFSET*/, 0 /*YOFFSET*/, viewRect.right, viewRect.bottom, 0, 0, GetModuleHandle(0), 0); m_view = WKViewCreate(viewRect, contextRef, pageGroupRef, m_window); + WKViewSetIsInWindow(m_view, true); } PlatformWebView::~PlatformWebView() diff --git a/Tools/WebKitTestRunner/win/TestControllerWin.cpp b/Tools/WebKitTestRunner/win/TestControllerWin.cpp index 5af5503..6201cf7 100644 --- a/Tools/WebKitTestRunner/win/TestControllerWin.cpp +++ b/Tools/WebKitTestRunner/win/TestControllerWin.cpp @@ -38,6 +38,13 @@ using namespace std; namespace WTR { +static HANDLE webProcessCrashingEvent; +static const char webProcessCrashingEventName[] = "WebKitTestRunner.WebProcessCrashing"; +// This is the longest we'll wait (in seconds) for the web process to finish crashing and a crash +// log to be saved. This interval should be just a tiny bit longer than it will ever reasonably +// take to save a crash log. +static const double maximumWaitForWebProcessToCrash = 60; + #ifdef DEBUG_ALL const LPWSTR testPluginDirectoryName = L"TestNetscapePlugin_Debug"; const char* injectedBundleDLL = "\\InjectedBundle_debug.dll"; @@ -96,6 +103,11 @@ void TestController::notifyDone() void TestController::platformInitialize() { + // Cygwin calls ::SetErrorMode(SEM_FAILCRITICALERRORS), which we will inherit. This is bad for + // testing/debugging, as it causes the post-mortem debugger not to be invoked. We reset the + // error mode here to work around Cygwin's behavior. See . + ::SetErrorMode(0); + ::SetUnhandledExceptionFilter(exceptionFilter); _setmode(1, _O_BINARY); @@ -104,6 +116,8 @@ void TestController::platformInitialize() // Add the QuickTime dll directory to PATH or QT 7.6 will fail to initialize on systems // linked with older versions of qtmlclientlib.dll. addQTDirToPATH(); + + webProcessCrashingEvent = ::CreateEventA(0, FALSE, FALSE, webProcessCrashingEventName); } void TestController::initializeInjectedBundlePath() @@ -124,19 +138,26 @@ void TestController::initializeTestPluginDirectory() m_testPluginDirectory.adopt(WKStringCreateWithCFString(testPluginDirectoryPath.get())); } -void TestController::platformRunUntil(bool& done, double timeout) +enum RunLoopResult { TimedOut, ObjectSignaled, ConditionSatisfied }; + +static RunLoopResult runRunLoopUntil(bool& condition, HANDLE object, double timeout) { DWORD end = ::GetTickCount() + timeout * 1000; - while (!done) { + while (!condition) { DWORD now = ::GetTickCount(); if (now > end) - return; + return TimedOut; - DWORD result = ::MsgWaitForMultipleObjectsEx(0, 0, end - now, QS_ALLINPUT, 0); + DWORD objectCount = object ? 1 : 0; + const HANDLE* objects = object ? &object : 0; + DWORD result = ::MsgWaitForMultipleObjectsEx(objectCount, objects, end - now, QS_ALLINPUT, MWMO_INPUTAVAILABLE); if (result == WAIT_TIMEOUT) - return; + return TimedOut; - ASSERT(result == WAIT_OBJECT_0); + if (objectCount && result >= WAIT_OBJECT_0 && result < WAIT_OBJECT_0 + objectCount) + return ObjectSignaled; + + ASSERT(result == WAIT_OBJECT_0 + objectCount); // There are messages in the queue. Process them. MSG msg; while (::PeekMessageW(&msg, 0, 0, 0, PM_REMOVE)) { @@ -144,12 +165,45 @@ void TestController::platformRunUntil(bool& done, double timeout) ::DispatchMessageW(&msg); } } + + return ConditionSatisfied; +} + +void TestController::platformRunUntil(bool& done, double timeout) +{ + RunLoopResult result = runRunLoopUntil(done, webProcessCrashingEvent, timeout); + if (result == TimedOut || result == ConditionSatisfied) + return; + ASSERT(result == ObjectSignaled); + + // The web process is crashing. A crash log might be being saved, which can take a long + // time, and we don't want to time out while that happens. + + // First, let the test harness know this happened so it won't think we've hung. But + // make sure we don't exit just yet! + m_shouldExitWhenWebProcessCrashes = false; + processDidCrash(); + m_shouldExitWhenWebProcessCrashes = true; + + // Then spin a run loop until it finishes crashing to give time for a crash log to be saved. If + // it takes too long for a crash log to be saved, we'll just give up. + bool neverSetCondition = false; + result = runRunLoopUntil(neverSetCondition, 0, maximumWaitForWebProcessToCrash); + ASSERT_UNUSED(result, result == TimedOut); + exit(1); +} + +static WKRetainPtr toWK(const char* string) +{ + return WKRetainPtr(AdoptWK, WKStringCreateWithUTF8CString(string)); } void TestController::platformInitializeContext() { // FIXME: Make DRT pass with Windows native controls. WKContextSetShouldPaintNativeControls(m_context.get(), false); + + WKContextSetInitializationUserDataForInjectedBundle(m_context.get(), toWK(webProcessCrashingEventName).get()); } void TestController::runModal(PlatformWebView*) diff --git a/Tools/WebKitTestRunner/win/TestInvocationWin.cpp b/Tools/WebKitTestRunner/win/TestInvocationWin.cpp new file mode 100644 index 0000000..b5fbda4 --- /dev/null +++ b/Tools/WebKitTestRunner/win/TestInvocationWin.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "TestInvocation.h" + +namespace WTR { + +void TestInvocation::dumpPixelsAndCompareWithExpected() +{ +} + +} // namespace WTR diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj b/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj index 09dea95..e12338a 100644 --- a/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj +++ b/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj @@ -401,6 +401,10 @@ RelativePath=".\TestControllerWin.cpp" > + + $"), WTFVectorPrinter), (re.compile("^WTF::AtomicString$"), WTFAtomicStringPrinter), + (re.compile("^WTF::CString$"), WTFCStringPrinter), (re.compile("^WTF::String$"), WTFStringPrinter), + (re.compile("^WebCore::KURLGooglePrivate$"), WebCoreKURLGooglePrivatePrinter), (re.compile("^WebCore::QualifiedName$"), WebCoreQualifiedNamePrinter), (re.compile("^JSC::UString$"), JSCUStringPrinter), (re.compile("^JSC::Identifier$"), JSCIdentifierPrinter), diff --git a/Tools/wx/packaging/build-mac-installer.py b/Tools/wx/packaging/build-mac-installer.py index 5b76b0b..d0ef945 100644 --- a/Tools/wx/packaging/build-mac-installer.py +++ b/Tools/wx/packaging/build-mac-installer.py @@ -70,7 +70,7 @@ if sys.platform.startswith("darwin"): wx_root = "/usr/local/lib/wxPython-unicode-%s" % wx.__version__ sp_root = "%s/lib/python%s/site-packages" % (wx_root, py_version) sitepackages = "%s/wx-%s-mac-unicode/wx" % (sp_root, wx_version[:3]) -prefix = sitepackages +prefix = wxroot + "/lib" def mac_update_dependencies(dylib, prefix): """ @@ -120,11 +120,16 @@ try: if not os.path.exists(wxpythonroot): os.makedirs(wxpythonroot) - for wildcard in ["*.py", "*.so", "*.dylib"]: + for wildcard in ["*.py", "*.so"]: files = glob.glob(os.path.join(wxwebkit_dir, wildcard)) for afile in files: shutil.copy(afile, wxpythonroot) + for wildcard in ["*.dylib"]: + files = glob.glob(os.path.join(wxwebkit_dir, wildcard)) + for afile in files: + shutil.copy(afile, wxroot) + if sys.platform.startswith("darwin"): dylib_path = os.path.join(wxpythonroot, "libwxwebkit.dylib") os.system("install_name_tool -id %s %s" % (os.path.join(prefix, "libwxwebkit.dylib"), dylib_path)) -- cgit v1.1