2011-12-19 Raphael Kubo da Costa [Efl] Fix path returned by builtDylibPathForName in webkitdirs.pm https://bugs.webkit.org/show_bug.cgi?id=74854 Reviewed by Csaba Osztrogonác. Since r101052, libewebkit.so is built in a different location, so we need to adjust the path returned by builtDylibPathForName. usesPerConfigurationBuildDirectory also needs to be fixed, as the Efl port also respects Release/Debug configurations. These changes should make run-launcher finally work correctly with webkit-efl. * Scripts/webkitdirs.pm: (usesPerConfigurationBuildDirectory): (builtDylibPathForName): 2011-12-19 Simon Hausmann [Qt][WK2] Add support for modal event loop processing for WTR https://bugs.webkit.org/show_bug.cgi?id=74852 Reviewed by Kenneth Rohde Christiansen. Rewrote event loop processing: Instead of terminating the event loop in notifyDone() - something no other platform does - we now respect the "bool& condition" parameter passed to platformRunUntil. This ensures proper termination even when the condition is changed from within a nested event loop, because only when we _exit_ from the nested event loop we will check the condition and terminate the test properly. In addition this patch implements TestController::runModal by means of a nested event loop, which is passed to the platform webview that is supposed to be modal. It is that view's responsibility to exit the loop, upon destruction. I believe that's similar to how it works on the Mac, where it doesn't seem that NSApp's runModalForWindow is terminate via abort/stopModal but simply because the window is closed. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::setModalEventLoop): * WebKitTestRunner/qt/PlatformWebViewQt.cpp: (WTR::PlatformWebView::PlatformWebView): (WTR::PlatformWebView::~PlatformWebView): * WebKitTestRunner/qt/TestControllerQt.cpp: (WTR::TestController::notifyDone): (WTR::TestController::platformRunUntil): (WTR::TestController::runModal): 2011-12-18 Kentaro Hara REGRESSION(r103149): prepare-ChangeLog outputs a warning https://bugs.webkit.org/show_bug.cgi?id=74808 Reviewed by David Kilzer. Added the prototype declaration of main() to avoid warning messages. Sorted subroutine declarations in the alphabetical order. * Scripts/prepare-ChangeLog: 2011-12-17 Adenilson Cavalcanti [Qt] Fix QtTestBrowser compilation with QtWidgets module https://bugs.webkit.org/show_bug.cgi?id=74791 Reviewed by Andreas Kling. * QtTestBrowser/QtTestBrowser.pro: 2011-12-17 Kentaro Hara Remove top-level code completely from prepare-ChangeLog https://bugs.webkit.org/show_bug.cgi?id=74698 Reviewed by Darin Adler. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner. This patch just moves all top-level code into main(). * Scripts/prepare-ChangeLog: (main): 2011-12-16 Dean Jackson Move webkit-bug-importer to Contributor. It won't autocomplete as an Account. See https://bugs.webkit.org/show_bug.cgi?id=74739 for some discussion. Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2011-12-16 Dean Jackson Add webkit-bug-importer@group.apple.com to accounts so that it autocompletes in bugzilla. Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2011-12-16 Philippe Normand Unreviewed, skipping 3 failing GTK API tests. * Scripts/run-gtk-tests: 2011-12-16 Philippe Normand Unreviewed, GTK API tests build fix attempt. * Scripts/run-gtk-tests: Run xvfb on a display not used by NRWT. 2011-12-16 Philippe Normand Unreviewed, unskipping GTK testdownload. Should pass on the bot now. * Scripts/run-gtk-tests: 2011-12-16 Simon Hausmann [Qt] Fix the build for newer Qt5 https://bugs.webkit.org/show_bug.cgi?id=74703 Reviewed by Csaba Osztrogonác. * QtTestBrowser/launcherwindow.h: Add missing forward declaration. * DumpRenderTree/qt/EventSenderQt.cpp: (EventSender::sendTouchEvent): Allocate QTouchDevice and use with QTouchEvent constructor. * WebKitTestRunner/qt/EventSenderProxyQt.cpp: Ditto. (WTR::EventSenderProxy::sendTouchEvent): * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::sendTouchEvent): Ditto. (MiniBrowserApplication::notify): Adapt to changed API for marking primary touch point. 2011-12-16 Tor Arne Vestbø [Qt] Detect and force clean build when feature defines are added Reviewed by Ossy. https://bugs.webkit.org/show_bug.cgi?id=74689 * Scripts/webkitdirs.pm: 2011-12-16 Kentaro Hara [Refactoring] Remove all global variables from prepare-ChangeLog https://bugs.webkit.org/show_bug.cgi?id=74681 Reviewed by Ryosuke Niwa. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner. This bug is one of the incremental refactorings to remove all top-level code and global variables from prepare-ChangeLog. In this patch, we make the following global variables be used only through parameter passing. This patch removes all global variables from prepare-ChangeLog. - $mergeBase - $gitCommit - $gitIndex * Scripts/prepare-ChangeLog: (generateFunctionLists): (changeLogNameFromArgs): (changeLogEmailAddressFromArgs): (generateNewChangeLogs): (printDiff): (diffFromToString): (diffCommand): (statusCommand): (createPatchCommand): (generateFileList): (isConflictStatus): 2011-12-15 Philippe Normand [GTK] Rounding errors on 32-bit machines causes tests to fail https://bugs.webkit.org/show_bug.cgi?id=72254 Initial patch by vanuan@gmail.com. Reviewed by Martin Robinson. * Scripts/webkitdirs.pm: (runAutogenForAutotoolsProjectIfNecessary): Pass additional CXXFLAGS to autogen in an attempt to harmonize floating point values between 32-bit and 64-bit architectures. 2011-12-16 Martin Robinson [GTK] Make distcheck fails during the install https://bugs.webkit.org/show_bug.cgi?id=74274 No review, since this is a build fix. * GNUmakefile.am: Remove BUILT_SOURCES from the dependency list for the gtkdoc step. BUILT_SOURCES includes forwarding header generation for WebKit2, which always runs. This means that the gtkdoc step was always running when make was invoked. Generating gtkdoc during 'make install' was triggering a race condition with the library file. Later we can fix generate-forwarding-headers and unbreak 'make docs,' but this bandaid is sufficient to let us release. 2011-12-15 Eric Seidel NRWT should use free + inactive memory for default_child_processes on OS X (and never return < 1 process) https://bugs.webkit.org/show_bug.cgi?id=74650 Reviewed by Adam Barth. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo._compute_bytes_from_vm_stat_output): * Scripts/webkitpy/layout_tests/port/base.py: (Port.default_child_processes): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_default_child_processes): 2011-12-15 Filip Pizlo bencher script should support remote benchmarking on platforms that don't have ruby https://bugs.webkit.org/show_bug.cgi?id=74659 Rubber-stamped by Sam Weinig. Added the ability to have bencher generate a benchmarking playload that consists of copies of all of the benchmarks, optionally copies of all of the frameworks and binaries to run all of the VMs, and a sh script that runs the benchmarks in random order, which then spits out a raw results file that bencher can parse. In normal operating mode, you never see this, as it just generates the payload and script internally, runs it, parses the results, and spits them out. The --remote mode has been changed to use this style, so any remote host that has sshd, passwordless login support, a ~/.bencher file that points to a "tempPath", and a sh-compatible shell can be used for remote benchmarking. The feature to include VMs in the benchmarking payload is by default only activated when using --remote, but it can also be activated when doing local benchmarking; the benefit is that you remove any pathname-related performance pathologies. All VMs become equal because they are all located in /path/to/bencher/directory/temp/benchdata/vmN where N is the configuration number (usually 0 or 1). Also fixed bugs in the DumpRenderTree support. It's now possible to run all benchmarks through DumpRenderTree. This is only a bit slower than running in jsc. * Scripts/bencher: 2011-12-15 Dirk Pranke webkitpy: clean up TestPort to (mostly) not create a new filesystem https://bugs.webkit.org/show_bug.cgi?id=74556 This change modifies the TestPort to be ready to add tests to an existing filesystem instead of creating a new filesystem; we leave unit_test_filesystem() in for now for compatibility. * Scripts/webkitpy/common/host_mock.py: (MockHost.__init__): - call add_unit_tests_to_mock_filesystem by default to make the MockHost more generally useful for layout_test unit tests. * Scripts/webkitpy/layout_tests/port/test.py: (TestInstance.__init__): (add_unit_tests_to_mock_filesystem): (add_file): (unit_test_filesystem): (TestPort.__init__): (TestPort._set_default_overriding_none): 2011-12-15 Dirk Pranke webkitpy: cleanup prior to systemhostifying the layout_test/port* classes https://bugs.webkit.org/show_bug.cgi?id=74551 This is some minor cleanup prior to making all of the host/port changes described in bug 74138. * Scripts/webkitpy/common/host_mock.py: (MockHost.__init__): - make sure the scm object is initialized with the same mock executive and filesystem objects. * Scripts/webkitpy/common/system/filesystem_mock.py: (MockFileSystem.clear_written_files): - add a routine that will be useful in testing. (MockFileSystem.maybe_make_directory): (MockFileSystem.write_binary_file): - fix bugs to make sure directories are created properly. * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (_Process.run): - add clarifying comments. * Scripts/webkitpy/layout_tests/port/mock_drt.py: (MockDRTPort.__init__): (MockDRT.__init__): - add clarifying comments. 2011-12-15 Anders Carlsson Regression (r102866): Navigating away from or closing a page with a plugin crashes https://bugs.webkit.org/show_bug.cgi?id=74655 Reviewed by Sam Weinig. Add a bunch of tests. * TestWebKitAPI/Tests/WTF/Functional.cpp: 2011-12-15 Stephanie Lewis https://bugs.webkit.org/show_bug.cgi?id=74469 Escape paths to svn commands so our tools can handle filenames with @ symbols. Reviewed by Adam Roben. * Scripts/VCSUtils.pm: (scmMoveOrRenameFile): (scmAddExecutableBit): (scmRemoveExecutableBit): (determineSVNRoot): (svnRevisionForDirectory): (pathRelativeToSVNRepositoryRootForPath): (svnStatus): (escapeSubversionPath): * Scripts/parse-malloc-history: (main): * Scripts/prepare-ChangeLog: (diffCommand): (statusCommand): (findOriginalFileFromSvn): (determinePropertyChanges): * Scripts/resolve-ChangeLogs: (conflictFiles): (resolveConflict): (showStatus): * Scripts/svn-apply: (patch): (scmCopy): (scmAdd): (scmRemove): * Scripts/svn-create-patch: (findBaseUrl): (findMimeType): (findSourceFileAndRevision): (generateDiff): (generateFileList): (manufacturePatchForAdditionWithHistory): * Scripts/svn-unapply: (patch): (revertDirectories): 2011-12-15 Michael Bruning [qt][wk2] MiniBrowser: Add pressed state for viewport info button. https://bugs.webkit.org/show_bug.cgi?id=74617 Reviewed by Kenneth Rohde Christiansen. * MiniBrowser/qt/qml/BrowserWindow.qml: Added state dependent coloring for viewport info button, adjusted height and added rounded corners. 2011-12-15 Andy Estes TestFailures: store the name of the buildbot results directory in a property https://bugs.webkit.org/show_bug.cgi?id=74663 Reviewed by Adam Barth. Store the name of the results directory as a property on Buildbot's prototype. This allows subclasses of Buildbot to customize the results directory. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Buildbot.js: (Buildbot.prototype.resultsDirectoryURL): 2011-12-15 Tony Chang [chromium] pass --delete_unversioned_trees to gclient on the bots https://bugs.webkit.org/show_bug.cgi?id=74565 Reviewed by Kenneth Russell. It was temporarily removed in r102891 to keep the bots green. Now that the bots have cycled, we can add it back. * Scripts/update-webkit-chromium: 2011-12-15 Kentaro Hara [Refactoring] In prepare-ChangeLog, make several global variables be used only through parameter passing https://bugs.webkit.org/show_bug.cgi?id=74497 Reviewed by Ryosuke Niwa. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner. This bug is one of the incremental refactorings to remove all top-level code and global variables from prepare-ChangeLog. In this patch, we make the following global variables be used only through parameter passing. - $bugDescription - $bugNumber - $name - $emailAddress - $gitReviewer - $writeChangeLogs * Scripts/prepare-ChangeLog: (fetchBugDescriptionFromURL): (generateNewChangeLogs): (reviewerAndDescriptionForGitCommit): 2011-12-15 Raphael Kubo da Costa [EFL] Add a few more web database functions to ewk_settings. https://bugs.webkit.org/show_bug.cgi?id=72148 Reviewed by Antonio Gomes. * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::clearAllDatabases): (LayoutTestController::setDatabaseQuota): 2011-12-15 Martin Kosiba Fix find on web pages with -webkit-user-select: none for Chromium https://bugs.webkit.org/show_bug.cgi?id=72281 Reviewed by Ryosuke Niwa. Provided a partial findString implementation. This doesn't support all of the FindOptions since they're not exposed via WebFindOptions. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::findString): * DumpRenderTree/chromium/LayoutTestController.h: 2011-12-15 Kenneth Russell [chromium] Add DRT support for WebKitPageCacheSupportsPluginsPreferenceKey https://bugs.webkit.org/show_bug.cgi?id=74581 Reviewed by Darin Fisher. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::overridePreference): * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: 2011-12-15 Kenneth Rohde Christiansen [Qt] Improve the look of the viewport info overlay Reviewed by Tor Arne Vestbø. * MiniBrowser/qt/qml/ViewportInfoItem.qml: 2011-12-15 Igor Oliveira [Qt] Support requestAnimationFrame API https://bugs.webkit.org/show_bug.cgi?id=74528 Add build-option for requestAnimationFrame feature. Reviewed by Kenneth Rohde Christiansen. * qmake/mkspecs/features/features.prf: 2011-12-15 Tor Arne Vestbø [Qt] Don't add WebCoreSupport and WebKit APIs to include WebCore's include path Reviewed by Simon Hausmann. * qmake/mkspecs/features/webcore.prf: 2011-12-15 Michael Brüning [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt. https://bugs.webkit.org/show_bug.cgi?id=72893 Reviewed by Kenneth Rohde Christiansen. This patch extends QQuickWebViewExperimental by a property named viewportInfo, which contains the viewport scalability and layout and contents size information. This property is exposed to QML through the experimental extension for QQuickWebView. * MiniBrowser/qt/MiniBrowser.pro: * MiniBrowser/qt/MiniBrowser.qrc: * MiniBrowser/qt/icons/info.png: Added. * MiniBrowser/qt/qml/BrowserWindow.qml: * MiniBrowser/qt/qml/ViewportInfoItem.qml: Added. 2011-12-15 Shinya Kawanaka [chromium] WebViewHost::requestCheckingOfText should return immediately if text is empty. https://bugs.webkit.org/show_bug.cgi?id=74586 Reviewed by Hajime Morita. No new tests. Covered by existing tests. * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::requestCheckingOfText): Returns immediately if text is empty. 2011-12-15 Alexander Færøy [Qt] QtWebKit fails to build on Mac OS X after r102776 https://bugs.webkit.org/show_bug.cgi?id=74593 Reviewed by Simon Hausmann. CONFIG =+ link_pkgconfig is needed such that the correct parameters are passed to the compiler. * DumpRenderTree/qt/DumpRenderTree.pro: 2011-12-14 Tony Chang [chromium] Remove redundant third_party entries from chromium DEPS https://bugs.webkit.org/show_bug.cgi?id=74472 Reviewed by Kenneth Russell. * Scripts/update-webkit-chromium: Temporarily keep unversioned trees. 2011-12-14 Kentaro Hara [Refactoring] In prepare-ChangeLog, replace $isGit and $isSVN with VCSUtils::isGit() and VCSUtils::isSVN(). https://bugs.webkit.org/show_bug.cgi?id=74485 Reviewed by David Kilzer. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner. This bug is one of the incremental refactorings to remove all top-level code and global variables from prepare-ChangeLog. This patch replaces $isGit and $isSVN with VCSUtils::isGit() and VCSUtils::isSVN(). This patch also removes firstDirectoryOrCwd(), assuming that no user will mix Git/SVN checkouts and thus we can judge SVN or Git just by looking at the current working directory. * Scripts/prepare-ChangeLog: Removed firstDirectoryOrCwd(). (diffFromToString): (diffCommand): (statusCommand): (createPatchCommand): (diffHeaderFormat): (generateFileList): (isAddedStatus): (isConflictStatus): (statusDescription): (extractLineRange): 2011-12-14 Sam Weinig Remove whitespace from InheritedPropertySheets attributes in vsprops files to appease the Visual Studio project migrator. Reviewed by Adam Roben. * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginDebug.vsprops: * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginDebugAll.vsprops: * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginDebugCairoCFLite.vsprops: * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginProduction.vsprops: * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginRelease.vsprops: * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginReleaseCairoCFLite.vsprops: * DumpRenderTree/win/DumpRenderTreeDebug.vsprops: * DumpRenderTree/win/DumpRenderTreeDebugAll.vsprops: * DumpRenderTree/win/DumpRenderTreeDebugCairoCFLite.vsprops: * DumpRenderTree/win/DumpRenderTreeProduction.vsprops: * DumpRenderTree/win/DumpRenderTreeRelease.vsprops: * DumpRenderTree/win/DumpRenderTreeReleaseCairoCFLite.vsprops: * DumpRenderTree/win/ImageDiffDebug.vsprops: * DumpRenderTree/win/ImageDiffDebugAll.vsprops: * DumpRenderTree/win/ImageDiffDebugCairoCFLite.vsprops: * DumpRenderTree/win/ImageDiffProduction.vsprops: * DumpRenderTree/win/ImageDiffRelease.vsprops: * DumpRenderTree/win/ImageDiffReleaseCairoCFLite.vsprops: * MiniBrowser/Configurations/MiniBrowserDebug.vsprops: * MiniBrowser/Configurations/MiniBrowserDebugAll.vsprops: * MiniBrowser/Configurations/MiniBrowserDebugCairoCFLite.vsprops: * MiniBrowser/Configurations/MiniBrowserProduction.vsprops: * MiniBrowser/Configurations/MiniBrowserRelease.vsprops: * MiniBrowser/Configurations/MiniBrowserReleaseCairoCFLite.vsprops: * TestWebKitAPI/Configurations/TestWebKitAPIRelease.vsprops: * TestWebKitAPI/Configurations/TestWebKitAPIReleaseCairoCFLite.vsprops: * WebKitLauncherWin/WebKitLauncherWinDebug.vsprops: * WebKitLauncherWin/WebKitLauncherWinDebugAll.vsprops: * WebKitLauncherWin/WebKitLauncherWinDebugCairoCFLite.vsprops: * WebKitLauncherWin/WebKitLauncherWinProduction.vsprops: * WebKitLauncherWin/WebKitLauncherWinRelease.vsprops: * WebKitLauncherWin/WebKitLauncherWinReleaseCairoCFLite.vsprops: * WebKitTestRunner/win/InjectedBundleDebug.vsprops: * WebKitTestRunner/win/InjectedBundleDebugAll.vsprops: * WebKitTestRunner/win/InjectedBundleDebugCairoCFLite.vsprops: * WebKitTestRunner/win/InjectedBundleProduction.vsprops: * WebKitTestRunner/win/InjectedBundleRelease.vsprops: * WebKitTestRunner/win/InjectedBundleReleaseCairoCFLite.vsprops: * WebKitTestRunner/win/WebKitTestRunnerDebug.vsprops: * WebKitTestRunner/win/WebKitTestRunnerDebugAll.vsprops: * WebKitTestRunner/win/WebKitTestRunnerDebugCairoCFLite.vsprops: * WebKitTestRunner/win/WebKitTestRunnerProduction.vsprops: * WebKitTestRunner/win/WebKitTestRunnerRelease.vsprops: * WebKitTestRunner/win/WebKitTestRunnerReleaseCairoCFLite.vsprops: * WinLauncher/WinLauncherDebug.vsprops: * WinLauncher/WinLauncherDebugAll.vsprops: * WinLauncher/WinLauncherDebugCairoCFLite.vsprops: * WinLauncher/WinLauncherProduction.vsprops: * WinLauncher/WinLauncherRelease.vsprops: * WinLauncher/WinLauncherReleaseCairoCFLite.vsprops: * record-memory-win/record-memory-winDebug.vsprops: * record-memory-win/record-memory-winDebugAll.vsprops: * record-memory-win/record-memory-winDebugCairoCFLite.vsprops: * record-memory-win/record-memory-winProduction.vsprops: * record-memory-win/record-memory-winRelease.vsprops: * record-memory-win/record-memory-winReleaseCairoCFLite.vsprops: 2011-12-14 Anders Carlsson Windows build fix. Move CHECKs out of the destructor. * TestWebKitAPI/Tests/WTF/Functional.cpp: (TestWebKitAPI::B::~B): (TestWebKitAPI::TEST): 2011-12-14 Anders Carlsson binding a member function should ref/deref the object pointer if needed https://bugs.webkit.org/show_bug.cgi?id=74552 Reviewed by Sam Weinig. Add new tests. * TestWebKitAPI/Tests/WTF/Functional.cpp: (TestWebKitAPI::B::B): (TestWebKitAPI::B::~B): (TestWebKitAPI::B::ref): (TestWebKitAPI::B::deref): (TestWebKitAPI::B::f): (TestWebKitAPI::B::g): (TestWebKitAPI::TEST): 2011-12-14 Hajime Morrita JS_INLINE and WTF_INLINE should be visible from WebCore https://bugs.webkit.org/show_bug.cgi?id=73191 Reviewed by Kevin Ollivier. Removed macro definitions which is now provided by Platform.h * DumpRenderTree/chromium/config.h: * DumpRenderTree/config.h: * DumpRenderTree/ForwardingHeaders/runtime/JSExportMacros.h: Added. * DumpRenderTree/ForwardingHeaders/wtf/ExportMacros.h: Added. * DumpRenderTree/win/DumpRenderTreePreBuild.cmd: Add new ForwardingHeaders. * TestWebKitAPI/config.h: * WebKitTestRunner/config.h: 2011-12-14 Kentaro Hara Unreviewed, rolling out r102761. http://trac.webkit.org/changeset/102761 https://bugs.webkit.org/show_bug.cgi?id=74485 we came up with a better fix than this (see comments in bug 74485) * Scripts/prepare-ChangeLog: (generateFunctionLists): (printDiff): (diffCommand): (statusCommand): (createPatchCommand): (generateFileList): (isAddedStatus): (isConflictStatus): (statusDescription): (extractLineRange): 2011-12-14 Anders Carlsson Work around a bug in the MSVC2005 compiler https://bugs.webkit.org/show_bug.cgi?id=74550 Reviewed by Sam Weinig. Re-enable tests. * TestWebKitAPI/Tests/WTF/Functional.cpp: 2011-12-14 Csaba Osztrogonác [Qt] Test fonts are not used with Qt5 https://bugs.webkit.org/show_bug.cgi?id=72513 My last unreviewed buildfix for this crazy bug. * qmake/mkspecs/features/features.prf: 2011-12-14 Anders Carlsson Another attempt at fixing the Windows build. Disable all the tests until I can figure out what's going on here. * TestWebKitAPI/Tests/WTF/Functional.cpp: 2011-12-14 Anders Carlsson Fix the Windows build. Disable some of the tests for now. * TestWebKitAPI/Tests/WTF/Functional.cpp: 2011-12-14 Anders Carlsson bind should handle member functions https://bugs.webkit.org/show_bug.cgi?id=74529 Reviewed by Sam Weinig. Add tests. * TestWebKitAPI/Tests/WTF/Functional.cpp: (TestWebKitAPI::A::A): (TestWebKitAPI::A::f): (TestWebKitAPI::A::addF): (TestWebKitAPI::TEST): 2011-12-14 Anders Carlsson Add unary and binary bind overloads https://bugs.webkit.org/show_bug.cgi?id=74524 Reviewed by Sam Weinig. Add tests. * TestWebKitAPI/Tests/WTF/Functional.cpp: (TestWebKitAPI::TEST): (TestWebKitAPI::multiplyByTwo): (TestWebKitAPI::multiplyByOneAndAHalf): (TestWebKitAPI::multiply): (TestWebKitAPI::subtract): 2011-12-14 Holger Hans Peter Freyther [Qt] Test fonts are not used with Qt5 https://bugs.webkit.org/show_bug.cgi?id=72513 MIPS and SH4 buildfix after r102776 and r102795. Reviewed by Csaba Osztrogonác. * qmake/mkspecs/features/features.prf: 2011-12-14 Csaba Osztrogonác [Qt] Unreviewed speculative MIPS and SH4 buildfix after r102776. * qmake/mkspecs/features/features.prf: 2011-12-14 Andreas Kling Make my e-mail address a little more awesome. * Scripts/webkitpy/common/config/committers.py: 2011-12-14 Csaba Osztrogonác [Qt] Rollout r102769, because it broke Qt-4.8 builds. * qmake/mkspecs/features/webcore.prf: 2011-12-14 Balazs Kelemen [Qt] Test fonts are not used with Qt5 https://bugs.webkit.org/show_bug.cgi?id=72513 Reviewed by Simon Hausmann. Don't depend on Q_WS_X11 anymore since it's not the Qt5 way to detect the platform. Make the guards depend on our own configtest for fontconfig. For Qt4 we can still use the preassumption that we have it on Linux. * DumpRenderTree/qt/DumpRenderTree.pro: * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::open): (WebCore::DumpRenderTree::initializeFonts): * DumpRenderTree/qt/DumpRenderTreeQt.h: * DumpRenderTree/qt/main.cpp: (main): Additionally remove a nonsense piece of code that was trying to reset the font settings - which is not necessary - after we have already returned from main. * WebKitTestRunner/InjectedBundle/Target.pri: * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: (WTR::activateFonts): * WebKitTestRunner/Target.pri: Remove unnecessary fontconfig linkage from WTR. It is not needed. We set up the fonts via the injected bundle. * qmake/config.tests/fontconfig/fontconfig.cpp: Added. (main): * qmake/config.tests/fontconfig/fontconfig.pro: Added. * qmake/mkspecs/features/features.prf: * qmake/sync.profile: 2011-12-14 Tor Arne Vestbø [Qt] Don't add WebCoreSupport and WebKit APIs to include WebCore's include path Followup to r102679 https://bugs.webkit.org/show_bug.cgi?id=74413 Reviewed by Simon Hausmann. * qmake/mkspecs/features/webcore.prf: 2011-12-14 Pierre Rossi [Qt] Mobile theme could use a little refresh https://bugs.webkit.org/show_bug.cgi?id=74293 Have MiniBrowser use the mobile theme when not passed --desktop. Reviewed by Kenneth Rohde Christiansen. * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::handleUserOptions): 2011-12-14 João Paulo Rechi Vita [Qt] [Gardening] Remove qt-4.7 layout tests dir https://bugs.webkit.org/show_bug.cgi?id=74426 Building trunk now depends on Qt >= 4.8, so no need to keep this directory on the tree. Reviewed by Csaba Osztrogonác. * Scripts/webkitpy/layout_tests/port/qt.py: (QtPort.qt_version): (QtPort.baseline_search_path): (QtPort._skipped_file_search_paths): * Scripts/webkitpy/layout_tests/port/qt_unittest.py: (QtPortTest._assert_search_path): 2011-12-14 Kentaro Hara [Refactoring] In prepare-ChangeLog, make $isGit and $isSVN be used only through parameter passing https://bugs.webkit.org/show_bug.cgi?id=74485 Reviewed by Ryosuke Niwa. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner. This bug is one of the incremental refactorings to remove all top-level code and global variables from prepare-ChangeLog. In this patch, we make the following global variables be used only through parameter passing. - $isGit - $isSVN * Scripts/prepare-ChangeLog: (generateFunctionLists): (printDiff): (diffFromToString): (diffCommand): (statusCommand): (createPatchCommand): (diffHeaderFormat): (generateFileList): (isAddedStatus): (isConflictStatus): (statusDescription): (extractLineRange): 2011-12-14 Alexander Færøy [Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock https://bugs.webkit.org/show_bug.cgi?id=74417 Reviewed by Simon Hausmann. Based on original patch by Kenneth Christiansen. Already covered by current tests. * DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::DumpRenderTree): (WebCore::DumpRenderTree::~DumpRenderTree): * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::setMockDeviceOrientation): 2011-12-03 Philippe Normand [GTK] Bad text rendering since r101343 https://bugs.webkit.org/show_bug.cgi?id=73744 Reviewed by Martin Robinson. Turn cairo hint metrics off for better font metrics reporting in the tests. This is especially important for SVG. * DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeGtkFontSettings): * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::initializeGtkSettings): 2011-12-13 Kentaro Hara [Refactoring] Remove several global variables from prepare-ChangeLog https://bugs.webkit.org/show_bug.cgi?id=74389 Reviewed by David Kilzer. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner. This bug is one of the incremental refactorings to remove all top-level code and global variables from prepare-ChangeLog. In this patch, we make the following global variables being used only through parameter passing. - %paths - $changedFiles - $conflictFiles - $functionLists - $bugURL * Scripts/prepare-ChangeLog: (findChangeLogs): (generateNewChangeLogs): (processPaths): (generateFileList): (firstDirectoryOrCwd): 2011-12-13 Anders Carlsson Add a very bare-bones implementation of bind and Function to WTF https://bugs.webkit.org/show_bug.cgi?id=74462 Reviewed by Sam Weinig. Add basic tests for WTF::Function and WTF::bind. * TestWebKitAPI/TestWebKitAPI.gypi: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/Functional.cpp: Added. (TestWebKitAPI::returnFortyTwo): (TestWebKitAPI::TEST): * TestWebKitAPI/win/TestWebKitAPI.vcproj: 2011-12-13 Robin Dunn [wx] Add a URL argument to wxWebView constructor. https://bugs.webkit.org/show_bug.cgi?id=74316 Reviewed by Kevin Ollivier. * DumpRenderTree/wx/DumpRenderTreeWx.cpp: (MyApp::OnInit): * wx/browser/browser.cpp: (MyApp::OnInit): 2011-12-13 Raphael Kubo da Costa watchlist: Add watchlist for EFL, CMake and libsoup code and put myself on it. https://bugs.webkit.org/show_bug.cgi?id=74430 Reviewed by David Levin. * Scripts/webkitpy/common/config/watchlist: 2011-12-13 Peter Beverloo [Chromium] Pull in FreeType and decrease check-out complexity for Android https://bugs.webkit.org/show_bug.cgi?id=74401 Decrease the check-out complexity by removing the need to first run "update-webkit-chromium --chromium" prior to running it with "--chromium-android", which was caused by an unversioned third_party/ directory being created. This moves the Android NDK to Source/WebKit/ chromium/, coming from third_party/ in that directory. Reviewed by Adam Barth. * Scripts/update-webkit-chromium: * Scripts/webkitdirs.pm: (buildChromiumMakefile): 2011-12-13 Andy Wingo and Martin Robinson build-jsc passing incorrect args to buildGtkProject https://bugs.webkit.org/show_bug.cgi?id=74308 Reviewed by Gustavo Noronha Silva. * Scripts/build-webkit: Instead of invoking buildGtkProject with another argument about webkit2, unshift a --disable-webkit2 argument onto the buildArgs. * Scripts/webkitdirs.pm: Remove $enableWebKit2 arg. Only save autogen.sh arguments for WebKit to prevent unnecessary reconfiguration when build-webkit and build-jsc are run one after the other. 2011-12-13 Csaba Osztrogonác [Qt] REGRESSION(102679): It broke Qt5-WK1 build https://bugs.webkit.org/show_bug.cgi?id=74413 Unreviewed buildfix. * qmake/mkspecs/features/webcore.prf: Temporarily revert a part of r102679 until a proper fix. 2011-12-13 Csaba Osztrogonác [Qt] Unreviewed speculativ debug buildfix after r102679. * QtTestBrowser/QtTestBrowser.pro: * QtTestBrowser/main.cpp: 2011-12-13 Tor Arne Vestbø [Qt] Get rid of layering violations in includes WebKit/qt/API and WebKit/qt/WebCoreSupport should not be included in the webcore.prf, but rather in each target that specificly needs headers in these location. We used to include them directly in webcore since we had layering violations between WebCore and WebKit, but now that they are gone there's no reason to do that. Reviewed by Simon Hausmann. * DumpRenderTree/qt/DumpRenderTree.pro: * QtTestBrowser/launcherwindow.h: * WebKitTestRunner/InjectedBundle/Target.pri: * qmake/mkspecs/features/webcore.prf: * qmake/mkspecs/features/webkit2.prf: 2011-12-13 János Badics [NRWT] It crashes intermittently when there are WebProcess crashes https://bugs.webkit.org/show_bug.cgi?id=73451 Use self.poll() instead of self._proc.poll() because it checks if self._proc is None or not. Reviewed by Kenneth Rohde Christiansen. * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess._check_for_crash): 2011-12-13 Carlos Garcia Campos Unreviewed. Fix GTK+ API docs build. * gtk/generate-gtkdoc: (get_webkit2_options): Ignore WebKitUIClient since it's private API. 2011-12-13 Kenichi Ishibashi Reviewed, removed one of my email addresses to use the apprpriate one. * Scripts/webkitpy/common/config/committers.py: 2011-12-12 Ádám Kallai [Qt] Fix skip list search path and expected file search path in ORWT https://bugs.webkit.org/show_bug.cgi?id=74281 Expected file search path fixed. Print all used skipped list and expected search path in verbose mode similar to NRWT. Reviewed by Csaba Osztrogonác. * Scripts/old-run-webkit-tests: (buildPlatformResultHierarchy): (buildPlatformTestHierarchy): (readSkippedFiles): 2011-12-12 Nándor Huszka [Qt] Missing layoutTestController.dumpWillCacheResponse https://bugs.webkit.org/show_bug.cgi?id=74287 Reviewed by Csaba Osztrogonác. * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::reset): (LayoutTestController::dumpWillCacheResponse): * DumpRenderTree/qt/LayoutTestControllerQt.h: 2011-12-12 Martin Robinson [GTK] platform/gtk/fonts/custom-font-missing-glyphs.html fails on 64-bit Debug https://bugs.webkit.org/show_bug.cgi?id=73771 Reviewed by Gustavo Noronha Silva. When using a fallback font during testing, always use DejaVu Sans. This prevents falling back to DejaVu Serif on some systems. * DumpRenderTree/gtk/fonts/fonts.conf: Fall back to DejaVu Sans. 2011-12-08 Pierre Rossi Add myself as a committer * Scripts/webkitpy/common/config/committers.py: 2011-12-12 Caio Marcelo de Oliveira Filho [Qt] [WK2] Support customizing popup menus with QML https://bugs.webkit.org/show_bug.cgi?id=73560 Reviewed by Tor Arne Vestbø. Add an Item Selector to our WebView using the experimental API. * MiniBrowser/qt/MiniBrowser.pro: * MiniBrowser/qt/MiniBrowser.qrc: * MiniBrowser/qt/qml/BrowserWindow.qml: * MiniBrowser/qt/qml/ItemSelector.qml: Added. 2011-12-12 Alexander Færøy [Qt] MiniBrowser should only visualize mock touch points when in non-desktop mode https://bugs.webkit.org/show_bug.cgi?id=74283 Reviewed by Simon Hausmann. * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::sendTouchEvent): 2011-12-12 Kentaro Hara [Refactoring] In prepare-ChangeLog, move into a method the top-level code to show ChangeLogs diff and open ChangeLogs in an editor https://bugs.webkit.org/show_bug.cgi?id=74266 Reviewed by Ryosuke Niwa. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner. This patch is one of the incremental refactorings to remove all top-level code and global variables from prepare-ChangeLog. * Scripts/prepare-ChangeLog: Moved the top-level code to show ChangeLogs diff into printDiff(). Moved the top-level code to open ChangeLogs in an editor into openChangeLogs(). Renamed @changed_files to @changedFiles. Renamed %conflict_files to %conflictFiles. (generateFunctionLists): (printDiff): (openChangeLogs): 2011-12-11 Kentaro Hara [Refactoring] Move top-level code to resolve conflicted ChangeLogs into a method https://bugs.webkit.org/show_bug.cgi?id=74257 Reviewed by Ryosuke Niwa. We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest/ manner. This patch is one of the incremental refactorings to remove all top-level code and global variables from prepare-ChangeLog. * Scripts/prepare-ChangeLog: Moved top-level code to get the latest ChangeLogs into getLatestChangeLogs(), and moved top-level code to resolve conflicted ChangeLogs into resolveConflictedChangeLogs(). (getLatestChangeLogs): (resolveConflictedChangeLogs): 2011-12-11 Kentaro Hara [Refactoring] Move top-level code to generate a new ChangeLog into a method https://bugs.webkit.org/show_bug.cgi?id=74253 Reviewed by David Kilzer. The objective is to make prepare-ChangeLog a loadable Perl module for unit testing, which requires to remove top-level code and global variables. This patch is one of the incremental refactorings for that. * Scripts/prepare-ChangeLog: Moved top-level code to generate a new ChangeLog into generateNewChangeLogs(). (generateFunctionLists): (findChangeLogs): (generateNewChangeLogs): (generateFileList): Removed an unnecessary variable $didChangeRegressionTests. 2011-12-10 Kentaro Hara [Refactoring] In prepare-ChangeLog, move top-level code to find ChangeLogs into a method https://bugs.webkit.org/show_bug.cgi?id=74175 Reviewed by Ryosuke Niwa. The objective is to make prepare-ChangeLog a loadable Perl module for unit testing. This requires to remove top-level code. This patch is one of the incremental refactorings for that. * Scripts/prepare-ChangeLog: Moved top-level code to find ChangeLogs into findChangeLogs(). (findChangeLogs): 2011-12-10 Andreas Kling Add my Apple e-mail to committers.py. * Scripts/webkitpy/common/config/committers.py: 2011-12-09 Dirk Pranke chromium win build: revert build_webkit_exes_from_webkit_gyp change https://bugs.webkit.org/show_bug.cgi?id=74225 This change sets build_webkit_exes_from_webkit_gyp back to 1; the "All.gyp" solution doesn't work on windows. * Scripts/webkitdirs.pm: (buildChromium): 2011-12-09 Hugo Parente Lima [Qt] Click's count is limited to three continuous clicks. https://bugs.webkit.org/show_bug.cgi?id=45666 Reviewed by Kenneth Rohde Christiansen. Update m_time at every call to leapForward, so double clicks event are correctly sent by EventSender. * WebKitTestRunner/qt/EventSenderProxyQt.cpp: (WTR::EventSenderProxy::updateClickCountForButton): (WTR::EventSenderProxy::leapForward): 2011-12-09 Kentaro Hara [Refactoring] Reduce top-level code in prepare-ChangeLog https://bugs.webkit.org/show_bug.cgi?id=74172 Reviewed by Ryosuke Niwa. The objective is to make prepare-ChangeLog a loadable Perl module for unit testing. This requires to remove top-level code. This patch is one of the incremental refactorings for that. * Scripts/prepare-ChangeLog: Moved some top-level code into generateFunctionLists(). (generateFunctionLists): 2011-12-09 Sam Weinig Expose a WKConnectionRef which represents the connection to/from the WebProcess/UIProcess https://bugs.webkit.org/show_bug.cgi?id=74218 Reviewed by Anders Carlsson. Add a test of the WKConnectionRef API. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/WKConnection.cpp: Added. (TestWebKitAPI::didCreateConnection): (TestWebKitAPI::connectionDidReceiveMessage): (TestWebKitAPI::connectionDidClose): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2/WKConnection_Bundle.cpp: Added. (TestWebKitAPI::connectionDidReceiveMessage): (TestWebKitAPI::WKConnectionTest::WKConnectionTest): (TestWebKitAPI::WKConnectionTest::initialize): 2011-12-09 David Levin Hash* iterators should allow comparison between const and const versions. https://bugs.webkit.org/show_bug.cgi?id=73370 Reviewed by Darin Adler. * TestWebKitAPI/TestWebKitAPI.gypi: Add the new test file to the build. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto. * TestWebKitAPI/win/TestWebKitAPI.vcproj: Ditto. * TestWebKitAPI/Tests/WTF/HashMap.cpp: Added. (TestWebKitAPI::TEST): Add a test for the new functionality. 2011-12-09 Dirk Pranke chromium: visual studio projects are busted when build_webkit_exes_from_webkit_gyp==0 https://bugs.webkit.org/show_bug.cgi?id=74212 Reviewed by Tony Chang. The change introduced in r102201 to split the executables out of WebKit.gyp apparently doesn't work right on Windows, since WebKit.gyp and Tools.gyp refer to dependent projects by different relative paths (it appears gyp doesn't normalize the paths). This change moves Tools.gyp to be in the same directory as WebKit.gyp (and All.gyp), which should fix this and conveniently will also solve the problem of how to add Tools.gyp to the chromium DEPS file. * Tools.gyp: Renamed to ../Source/WebKit/chromium/Tools.gyp 2011-12-09 Kentaro Hara [Refactoring] In prepare-ChangeLog, move top-level code to fetch a bug description from URL into a method https://bugs.webkit.org/show_bug.cgi?id=74173 Reviewed by Ryosuke Niwa. The objective is to make prepare-ChangeLog a loadable Perl module for unit testing. This requires to remove top-level code. This patch is one of the incremental refactorings for that. * Scripts/prepare-ChangeLog: Moved top-level code to fetch a bug description from URL into fetchBugDescriptionFromURL(). (fetchBugDescriptionFromURL): 2011-12-09 Tony Chang Switch the chromium mac bots to using skia test results https://bugs.webkit.org/show_bug.cgi?id=74201 Reviewed by Ryosuke Niwa. This is reverting http://trac.webkit.org/changeset/97781 and changing the name in master.cfg to no longer have cg in the name. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/master.cfg: (appendCustomBuildFlags): (RunWebKitTests.start): 2011-12-09 Jocelyn Turcotte [Qt] Remove a wrongly placed ASSERT. Reviewed by Tor Arne Vestbø. * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::notify): 2011-12-09 Cary Clark layout_test update to accommodate new use_skia=1 default on Chromium-Mac https://bugs.webkit.org/show_bug.cgi?id=74118 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: (get): * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort.__init__): * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: (ChromiumMacPortTest.test_versions): (ChromiumMacPortTest.test_graphics_type): 2011-12-09 Tor Arne Vestbø [Qt] Use new qmake option in Qt5 to prevent dependency issues with GNUmake The GNUmake + gcc_MD_depends options together produce .d files using GCC, but this failed when moving files in the source tree, as the .d file would contain stale dependencies on the old source file location. By keeping the object files (and hence the depdendency files) in a proper tree structure inside the objects directory we can prevent this failure. A side benefit is that we can also have objects with the same name inside the same project. Reviewed by Simon Hausmann. * qmake/mkspecs/features/unix/default_pre.prf: 2011-12-09 Csaba Osztrogonác Unreviewed. Update unit test after r102412. * Scripts/webkitpy/tool/bot/irc_command_unittest.py: (IRCCommandTest.test_whois): 2011-12-09 Kentaro Hara REGRESSION(r102105): run-bindings-tests should output full diff results https://bugs.webkit.org/show_bug.cgi?id=74166 Reviewed by Adam Barth. Since r102105, the output of run-bindings-tests is truncated to 500 characters. run-bindings-tests should output full diff results. * Scripts/webkitpy/bindings/main.py: Replaced e.message_with_output() with e.output. (BindingsTests.generate_from_idl): (BindingsTests.generate_supplemental_dependency): (BindingsTests.detect_changes): 2011-12-09 Simon Hausmann [Qt] Fix compilation with newly separated Qt 5 QtQuick module https://bugs.webkit.org/show_bug.cgi?id=73990 Reviewed by Kenneth Rohde Christiansen, tweaked by Csaba Osztrogonác. Fix QtQuick includes after move from QtDeclarative to QtQuick. * MiniBrowser/qt/BrowserWindow.h: * WebKitTestRunner/qt/PlatformWebViewQt.cpp: 2011-12-08 Adam Klein [MutationObservers] V8LazyEventHandler breaks microtask delivery semantics https://bugs.webkit.org/show_bug.cgi?id=73492 Reviewed by Adam Barth. Add eventSender.scheduleAsynchronousKeyDown, needed to cause a keypress event without any script on the stack. * DumpRenderTree/chromium/EventSender.cpp: (EventSender::EventSender): (EventSender::keyDown): (KeyDownTask::KeyDownTask): (KeyDownTask::runIfValid): (EventSender::scheduleAsynchronousKeyDown): * DumpRenderTree/chromium/EventSender.h: 2011-12-08 Hayato Ito [gdb] Pretty printer for a 8-bit version of WTF::StringImpl and LChar*. https://bugs.webkit.org/show_bug.cgi?id=73980 Reviewed by Tony Chang. * gdb/webkit.py: (guess_string_length): (ustring_to_string): (lstring_to_string): (LCharStringPrinter): (LCharStringPrinter.to_string): (WTFStringImplPrinter.get_length): (WTFStringImplPrinter.to_string): (WTFStringImplPrinter.is_8bit): (WTFStringPrinter.stringimpl_ptr): (WTFStringPrinter.get_length): (WTFStringPrinter.to_string): (add_pretty_printers.lookup_function): 2011-12-08 Pierre Rossi Drop ENABLE_NO_LISTBOX_RENDERING, and make it a runtime decision. https://bugs.webkit.org/show_bug.cgi?id=73916 Reviewed by Kent Tamura. * qmake/mkspecs/features/features.prf: 2011-12-08 Adrienne Walker Unreviewed contributor additions to committers.py. * Scripts/webkitpy/common/config/committers.py: 2011-12-08 David Reveman [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code. https://bugs.webkit.org/show_bug.cgi?id=74017 Reviewed by James Robinson. Add support for command line flag enable-per-tile-painting in DumpRenderTree. * DumpRenderTree/chromium/DumpRenderTree.cpp: (main): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): (TestShell::resetWebSettings): * DumpRenderTree/chromium/TestShell.h: (TestShell::setAcceleratedPaintingEnabled): (TestShell::setPerTilePaintingEnabled): * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumDriver._wrapper_options): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2011-12-08 Dirk Pranke create a "SystemHost" object for webkitpy to slim down the Host object https://bugs.webkit.org/show_bug.cgi?id=72680 Reviewed by Eric Siedel. This creates a SystemHost object that other objects that should only have dependencies on functionality in webkitpy.common.system can use; this will allow them to not require a full Host. * Scripts/webkitpy/common/host.py: * Scripts/webkitpy/common/host_mock.py: * Scripts/webkitpy/common/system/systemhost.py: Added. * Scripts/webkitpy/common/system/systemhost_mock.py: Added. 2011-12-08 Chris Fleizach AX: platform/mac/accessibility/search-with-frames.html crashes https://bugs.webkit.org/show_bug.cgi?id=74093 Reviewed by Darin Adler. Take care of the case when an incoming element is null. * DumpRenderTree/AccessibilityUIElement.cpp: (uiElementForSearchPredicateCallback): * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::uiElementForSearchPredicate): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::uiElementForSearchPredicate): 2011-12-08 Alexander Færøy [Qt] Visualize mock point ID's in the MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=74098 Reviewed by Tor Arne Vestbø. * MiniBrowser/qt/BrowserWindow.cpp: (BrowserWindow::updateVisualMockTouchPoints): * MiniBrowser/qt/qml/MockTouchPoint.qml: 2011-12-08 Dominic Mazzoni Accessibility: AccessibilityController should support listening to notifications on all elements. https://bugs.webkit.org/show_bug.cgi?id=72866 Adds addNotificationListener and removeNotificationListener methods to AccessibilityController, to listen to notifications on any element rather than a specific element. Mac (DRT and WKTR) and Chromium (DRT) implementations are all contained in this change. On Mac, refactors AccessibilityNotificationHandler into its own source file that can be used by both AccessibilityController and AccessibilityUIElement. (Both DRT and WKTR.) Reviewed by Chris Fleizach. * DumpRenderTree/AccessibilityController.cpp: (addNotificationListenerCallback): (removeNotificationListenerCallback): (AccessibilityController::getJSClass): * DumpRenderTree/AccessibilityController.h: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/chromium/AccessibilityController.cpp: (AccessibilityController::AccessibilityController): (AccessibilityController::notificationReceived): (AccessibilityController::addNotificationListenerCallback): (AccessibilityController::removeNotificationListenerCallback): * DumpRenderTree/chromium/AccessibilityController.h: * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: (AccessibilityController::addNotificationListener): (AccessibilityController::removeNotificationListener): * DumpRenderTree/mac/AccessibilityControllerMac.mm: (AccessibilityController::~AccessibilityController): (AccessibilityController::addNotificationListener): (AccessibilityController::removeNotificationListener): * DumpRenderTree/mac/AccessibilityNotificationHandler.h: Added. * DumpRenderTree/mac/AccessibilityNotificationHandler.mm: Added. (-[NSString createJSStringRef]): (-[AccessibilityNotificationHandler init]): (-[AccessibilityNotificationHandler setPlatformElement:]): (-[AccessibilityNotificationHandler dealloc]): (-[AccessibilityNotificationHandler setCallback:]): (-[AccessibilityNotificationHandler startObserving]): (-[AccessibilityNotificationHandler _notificationReceived:]): * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::addNotificationListener): * DumpRenderTree/win/AccessibilityControllerWin.cpp: (notificationListenerProc): (AccessibilityController::addNotificationListener): (AccessibilityController::removeNotificationListener): (AccessibilityController::winNotificationReceived): (AccessibilityController::winAddNotificationListener): * DumpRenderTree/win/AccessibilityUIElementWin.cpp: (AccessibilityUIElement::addNotificationListener): * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AccessibilityController::addNotificationListener): (WTR::AccessibilityController::removeNotificationListener): * WebKitTestRunner/InjectedBundle/AccessibilityController.h: (WTR::AccessibilityController::logAccessibilityEvents): * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: (WTR::AccessibilityTextMarker::AccessibilityTextMarker): * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: (WTR::AccessibilityTextMarkerRange::AccessibilityTextMarkerRange): * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl: * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm: Added. (WTR::AccessibilityController::addNotificationListener): (WTR::AccessibilityController::removeNotificationListener): * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.h: Added. * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm: Added. (-[NSString createJSStringRef]): (-[AccessibilityNotificationHandler init]): (-[AccessibilityNotificationHandler setPlatformElement:]): (-[AccessibilityNotificationHandler dealloc]): (-[AccessibilityNotificationHandler setCallback:]): (-[AccessibilityNotificationHandler startObserving]): (-[AccessibilityNotificationHandler _notificationReceived:]): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::AccessibilityUIElement): (WTR::AccessibilityUIElement::verticalScrollbar): (WTR::AccessibilityUIElement::addNotificationListener): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2011-12-08 Csaba Osztrogonác [Qt][WK2] Unreviewed buildfix after r102352. * qmake/mkspecs/features/webkit2.prf: 2011-12-08 Adam Roben Make finding crash logs by PID work on Snow Leopard Crash Reporter on Snow Leopard doesn't set the "app_description" extended attribute that we were using to check the PID of the crashed process. (Crash Reporter on Lion does.) Now we read the first line of the crash log and pull the PID out of there. Fixes "webkit-patch crash-log " doesn't work on Snow Leopard Reviewed by Darin Adler. * Scripts/webkitpy/common/system/crashlogs.py: (CrashLogs._find_newest_log_darwin): Read the first line of the crash log to get the process name and PID for the log, rather than checking the Lion-only app_description extended attribute. We now also reject the log if the process name doesn't match what we expect. * Scripts/webkitpy/common/system/crashlogs_unittest.py: (make_mock_crash_report_darwin): Added. Returns a mock crash report given a process name and PID. (CrashLogsTest.assertLinesEqual): Added. This is a compatibility shim around unittest.TestCase.assertMultiLineEqual, which didn't exist before Python 2.7. (CrashLogsTest.test_find_log_darwin): Made the mock crash reports more believable by using the new make_mock_crash_report_darwin function. Also added tests for files that can't be read, files that actually contain a crash log for some other process, and files that are misformatted. * Scripts/webkitpy/common/system/filesystem.py: Removed FileSystem.getxattr, which is now unused. * Scripts/webkitpy/common/system/filesystem_mock.py: (MockFileSystem.__init__): Removed xattr support, which is now unused. (MockFileSystem.open_text_file_for_reading): Changed to actually pass the file's data to ReadableTextFileObject. This function was completely broken before! (ReadableBinaryFileObject.__init__): Made the data parameter non-optional to try to prevent bugs like the above. (ReadableTextFileObject.__init__): Added. Wraps the data in a StringIO object so we can do things like readline() and seek(). (ReadableTextFileObject.close): (ReadableTextFileObject.read): Added. We override the superclass implementation to account for using a StringIO object. (ReadableTextFileObject.readline): (ReadableTextFileObject.seek): Added. These just call through to StringIO. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_crash_log): (MainTest.test_web_process_crash_log): Changed to use make_mock_crash_report_darwin. 2011-12-06 Jon Lee [WK2] Add permissions support (73960) https://bugs.webkit.org/show_bug.cgi?id=73960 Reviewed by Darin Adler. Add null function item to comply with added callback to WKPageUIClient. * MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController awakeFromNib]): * WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::initialize): 2011-12-08 Alexander Færøy [Qt] Visualize mock points in the Qt MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=74074 Reviewed by Tor Arne Vestbø. * MiniBrowser/qt/BrowserWindow.cpp: (BrowserWindow::updateVisualMockTouchPoints): * MiniBrowser/qt/BrowserWindow.h: * MiniBrowser/qt/MiniBrowser.qrc: * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::notify): (MiniBrowserApplication::sendTouchEvent): * MiniBrowser/qt/MiniBrowserApplication.h: * MiniBrowser/qt/icons/touchpoint.png: Added. * MiniBrowser/qt/qml/MockTouchPoint.qml: Added. 2011-12-08 Simon Hausmann [Qt] WebKitTestRunner crashes with debug builds https://bugs.webkit.org/show_bug.cgi?id=74090 Reviewed by Tor Arne Vestbø. * WebKitTestRunner/qt/TestControllerQt.cpp: (WTR::TestController::platformInitialize): Call QQuickWebView::platformInitialize to ensure WTF/JSC threading is initialized. 2011-12-08 Dirk Pranke fix build-webkit --chromium after breakage in r102201 https://bugs.webkit.org/show_bug.cgi?id=74031 Reviewed by Tony Chang. * Scripts/webkitdirs.pm: (buildChromium): 2011-12-08 Kentaro Hara Unreviewed, rolling out r102280. http://trac.webkit.org/changeset/102280 https://bugs.webkit.org/show_bug.cgi?id=74031 Chromium/Windows build is broken * Scripts/webkitdirs.pm: (buildChromium): 2011-12-08 Nayan Kumar K Adding myself to committers list. Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2011-12-07 Michael Saboff StringBuilderTest.Append and StringBuilderTest.ToStringPreserveCapacity are failing. https://bugs.webkit.org/show_bug.cgi?id=73995 Reenabled failing tests that the code part of the patch fixes. Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: (TestWebKitAPI::TEST): 2011-12-07 MORITA Hajime [filter-build-webkit] should not emit reset color when --no-color is given https://bugs.webkit.org/show_bug.cgi?id=73992 Reviewed by Daniel Bates. Stop printing control sequences when --no-color is given. After this change, the filter runs nicely even on environments like Emacs compilation-mode which cannot understand the control sequence. * Scripts/filter-build-webkit: (printLine): 2011-12-07 Eric Seidel Use free memory to determine if we have space for DRT instances instead of total memory https://bugs.webkit.org/show_bug.cgi?id=74021 Reviewed by Adam Barth. This will hopefully make the Mac buildbots behave better. I also reduced the expected memory needed per DRT now that we're properly accounting for the system memory in our calculations. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.total_bytes_memory): (PlatformInfo._compute_free_bytes_from_vm_stat_output): * Scripts/webkitpy/common/system/platforminfo_mock.py: (MockPlatformInfo.total_bytes_memory): * Scripts/webkitpy/layout_tests/port/base.py: (Port.default_child_processes): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_default_child_processes): 2011-12-07 Dirk Pranke fix build-webkit --chromium after breakage in r102201 https://bugs.webkit.org/show_bug.cgi?id=74031 Reviewed by Tony Chang. r102201 introduced a change to the chromium build that splits the executables out of WebKit.gyp into other gyp files, and adds a new "All.gyp" that builds everything. However, I forgot to update the build script to use All.gyp. * Scripts/webkitdirs.pm: (buildChromium): 2011-12-07 Tom Zakrajsek Moved myself to the committers list. * Scripts/webkitpy/common/config/committers.py: 2011-11-30 Simon Hausmann [Qt] Fix debug shlib build with V8. Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/qtwebkit.prf: Don't link jscore with v8 builds. 2011-11-30 Simon Hausmann [Qt] V8 build fixes. Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/javascriptcore.prf: Don't add Source/Thirdparty to the include search path here. * qmake/mkspecs/features/webcore.prf: Instead it belongs here, because it's used when building WebCore as well as using it, because header files like GraphicsContext3D.h include stuff from ThirdParty. 2011-12-07 Peter Beverloo [Chromium] Fix project file generation for the Android bot after r102201 https://bugs.webkit.org/show_bug.cgi?id=73996 The gyp refactoring in r102201 was didn't explicitly exclude the Android operating system in Tools/Tools.gyp, which broke as gcc_version is not defined for that configuration. Reviewed by Andreas Kling. * Tools.gyp: 2011-12-07 Vsevolod Vlasov Unreviewed. Disabled failing tests on chromium. * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: (TestWebKitAPI::TEST): 2011-12-06 Dirk Pranke binaries in webkit.gyp should be split into a new file to break circular dependencies on webkit_support https://bugs.webkit.org/show_bug.cgi?id=73382 Reviewed by Tony Chang. XCode (and hence GYP) can't handle circular dependencies between files (and projects). Accordingly, although the binaries in WebKit.gyp depend on webkit_support and webkit_support depends on webkit, we don't mention the latter dependency in the file. To fix this, this change moves the binaries like DRT into a new GYP file, and modifies gyp_webkit to build from that file instead of WebKit.gyp. * Tools.gyp: Added. 2011-12-06 Adam Roben Add a pid parameter to CrashLogs.find_newest_log When a PID is passed, only crash logs corresponding to a crashed process with that PID are considered. Fixes webkitpy provides no way to specify the PID of the crashed process whose crash log you want to find Reviewed by Dirk Pranke. * Scripts/webkitpy/common/system/crashlogs.py: (CrashLogs.find_newest_log): Added an optional pid parameter. (CrashLogs._find_newest_log_darwin): Added a pid parameter. When specified, we look at each candidate log's app_description extended attribute to see if that log corresponds to a crashed process with the specified PID. * Scripts/webkitpy/common/system/crashlogs_unittest.py: (CrashLogsTest.test_find_newest_log_darwin): Added a few more mock crash logs with various contents and PIDs. Added tests that show that the pid parameter to find_newest_log is respected. Also fixed an erroneous use of assertTrue instead of assertEqual. * Scripts/webkitpy/common/system/filesystem.py: (FileSystem.getxattr): Added. On Darwin, calls through to the xattr module. On other systems, raises a KeyError, mimicking the behavior on Darwin when the given attribute isn't present. * Scripts/webkitpy/common/system/filesystem_mock.py: (MockFileSystem.__init__): Added an optional xattrs parameter. Documented other parameters. (MockFileSystem.getxattr): Added. Just pulls the given attribute out of the xattrs dictionary. * Scripts/webkitpy/tool/commands/queries.py: (CrashLog): Added help text. Added an optional PID parameter. (CrashLog.execute): Pass the PID, if any, through to find_newest_log. 2011-12-06 Adam Roben Wait for Crash Reporter to finish even when it lets the crashed process die quickly NRWT was only waiting for Crash Reporter in cases where it was keeping the crashed process alive beyond the normal timeout limit. In cases where the crashed process was able to die faster, NRWT would assume that Crash Reporter had finished even though it often was still running, which would lead to an incorrect crash log being picked up. Part of NRWT incorrectly associates crash logs with tests Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/server_process.py: (ServerProcess._reset): (ServerProcess.write): (ServerProcess._check_for_crash): Changed to use new set_crashed function instead of setting .crashed directly. Added wait_for_crash_reporter parameter, which we pass along to set_crashed. (ServerProcess._handle_timeout): Fixed a logic error that would cause .crashed and .timed_out both to be set to True in cases where Crash Reporter took a long time to run. Now we bail out of handling the failure as a timeout if we find out that the process in fact crashed. We tell _check_for_crash not to wait for Crash Reporter because we've already done so. (ServerProcess.set_crashed): Added. When the process crashes, we wait for Crash Reporter to finish running (unless directed otherwise) so we can be sure the crash log has been saved to disk. * Scripts/webkitpy/layout_tests/port/server_process_unittest.py: (TrivialMockPort.is_crash_reporter): Added. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitDriver._check_for_driver_crash): Changed to use set_crashed. (This also fixed a typo that would have partially broken crash detection on Windows, if NRWT worked on Windows.) 2011-12-06 Adam Barth NRWT fails on unreleased versions of Mac OS X https://bugs.webkit.org/show_bug.cgi?id=72748 Reviewed by Dirk Pranke. Hopefully this patch will make NRWT work on future versions on Mac OS X. Most of the infrastructure was already in place, but there were some asserts that failed. I've tested this patch by haxoring the version detection logic to simulate an unknown version. We might need to iterate based on feedback from folks with a real future version. * Scripts/webkitpy/layout_tests/port/apple.py: (ApplePort.__init__): - mac-future is an allowed port_name that's used internally by webkitpy to represent future versions of Mac OS X. * Scripts/webkitpy/layout_tests/port/mac_unittest.py: (test_versions): - Test that we don't throw exceptions when dealing with future versions of Mac OS X. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort._expectations_from_skipped_files): - Demote this logging message to "debug". It's expected that mac-future doesn't have a Skipped file. * Scripts/webkitpy/layout_tests/port/mac.py: (MacPort.__init__): * Scripts/webkitpy/layout_tests/port/win.py: (WinPort.__init__): - Re-order some code in these constructors so that self._operating_system is available to the ApplePort constructor. 2011-12-06 Tommy Widenflycht Added myself as a committer. * Scripts/webkitpy/common/config/committers.py: 2011-12-06 Peter Beverloo Added myself as a committer. * Scripts/webkitpy/common/config/committers.py: 2011-12-06 Kentaro Hara [Refactoring] In webkitpy/bindings/main.py, replace subprocess.Popen() with Executive https://bugs.webkit.org/show_bug.cgi?id=73637 Reviewed by Adam Barth. This patch replaces subprocess.Popen() with Executive, similar to other Python scripts in webkitpy/. I manually confirmed that run-bindings-tests works well for cases where no exception is raised, no exception is raised but diff is found, and ScriptError is raised. * Scripts/run-bindings-tests: (main): * Scripts/webkitpy/bindings/main.py: Replaces subprocess.Popen() with Executive. (BindingsTests.__init__): (BindingsTests.generate_from_idl): (BindingsTests.generate_supplemental_dependency): (BindingsTests.detect_changes): 2011-12-05 Alexander Færøy [Qt] MiniBrowser should default to touch behavior https://bugs.webkit.org/show_bug.cgi?id=73863 Reviewed by Chang Shu. MiniBrowser currently defaults to the traditional desktop behaviour instead of touch behaviour which is prefered. * MiniBrowser/qt/BrowserWindow.cpp: (BrowserWindow::BrowserWindow): * MiniBrowser/qt/MiniBrowserApplication.cpp: (printHelp): (MiniBrowserApplication::handleUserOptions): * MiniBrowser/qt/MiniBrowserApplication.h: (WindowOptions::WindowOptions): (WindowOptions::setUseTraditionalDesktopBehavior): (WindowOptions::useTraditionalDesktopBehavior): 2011-12-05 Raphael Kubo da Costa webkit.py: Really fix the printing of StringImpl now that 8-bit strings are present. https://bugs.webkit.org/show_bug.cgi?id=73878 Reviewed by Tony Chang. r98624 turned StringImpl::m_data into StringImpl::{m_data8,m_data16}. r98785 made webkit.py always use m_data16, which does not work when the string is an 8-bit string (such as KURL::string()). I was not able to directly call StringImpl::is8Bit() in the Python code, so I just reproduced the implementation there. * gdb/webkit.py: (WTFStringPrinter.is_8bit): Reproduced StringImpl::is8Bit(). (WTFStringPrinter.to_string): (JSCUStringPrinter.is_8bit): Reproduced StringImpl::is8Bit(). (JSCUStringPrinter.to_string): 2011-12-05 Eric Seidel Up the "expected ram for each DRT instance" to 400MB instead of 300MB in hopes of making the Snow Leopard bot stop timing out. Unreviewed. * Scripts/webkitpy/layout_tests/port/base.py: (Port.default_child_processes): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_default_child_processes): 2011-12-05 Eric Seidel NRWT creates too many workers on RAM-limited machines https://bugs.webkit.org/show_bug.cgi?id=73847 Reviewed by Dirk Pranke. Make NRWT restrict its number of workers when there isn't enough RAM to support them. Also re-enable parallel testing on the Mac bots which were failing due to not enough ram. * Scripts/run-webkit-tests: (platformIsReadyForParallelTesting): * Scripts/webkitpy/common/host.py: (Host.__init__): * Scripts/webkitpy/common/system/executive_mock.py: (MockExecutive.cpu_count): * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.__init__): (PlatformInfo.display_name): * Scripts/webkitpy/common/system/platforminfo_mock.py: (MockPlatformInfo.display_name): * Scripts/webkitpy/layout_tests/port/base.py: (Port.default_child_processes): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_default_child_processes): (PortTest.test_pretty_patch_os_error): 2011-12-05 Hugo Parente Lima Last mouse event could be lost if a JS call to eventSender.leapForward is made https://bugs.webkit.org/show_bug.cgi?id=73366 Reviewed by Kenneth Rohde Christiansen. Empty the entire event queue when requested besides using sendEvent instead of postEvent to make sure all events were delivered. * WebKitTestRunner/qt/EventSenderProxyQt.cpp: (WTR::EventSenderProxy::EventSenderProxy): (WTR::EventSenderProxy::sendOrQueueEvent): (WTR::EventSenderProxy::replaySavedEvents): 2011-12-05 Adam Barth [Chromium] Remove no-longer-used forwarding headers in the WebKit API https://bugs.webkit.org/show_bug.cgi?id=73845 Reviewed by Darin Fisher. Update includes to point to the new header locations. * DumpRenderTree/chromium/AccessibilityController.cpp: * DumpRenderTree/chromium/AccessibilityUIElement.cpp: * DumpRenderTree/chromium/CppBoundClass.cpp: * DumpRenderTree/chromium/DRTDevToolsAgent.cpp: * DumpRenderTree/chromium/DRTDevToolsAgent.h: * DumpRenderTree/chromium/DRTDevToolsClient.h: * DumpRenderTree/chromium/EventSender.cpp: * DumpRenderTree/chromium/EventSender.h: * DumpRenderTree/chromium/GamepadController.h: * DumpRenderTree/chromium/LayoutTestController.cpp: * DumpRenderTree/chromium/LayoutTestController.h: * DumpRenderTree/chromium/MockSpellCheck.cpp: * DumpRenderTree/chromium/NotificationPresenter.cpp: * DumpRenderTree/chromium/PlainTextController.cpp: * DumpRenderTree/chromium/Task.cpp: * DumpRenderTree/chromium/TestNavigationController.h: * DumpRenderTree/chromium/TestShell.cpp: * DumpRenderTree/chromium/TestWebPlugin.cpp: * DumpRenderTree/chromium/TestWebPlugin.h: * DumpRenderTree/chromium/TextInputController.cpp: * DumpRenderTree/chromium/WebPermissions.cpp: * DumpRenderTree/chromium/WebPreferences.h: * DumpRenderTree/chromium/WebThemeEngineDRTMac.h: * DumpRenderTree/chromium/WebThemeEngineDRTMac.mm: * DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp: * DumpRenderTree/chromium/WebThemeEngineDRTWin.h: * DumpRenderTree/chromium/WebViewHost.cpp: 2011-12-05 Ryosuke Niwa Add Aharon Lanin to the contributors list. * Scripts/webkitpy/common/config/committers.py: 2011-12-05 Jarred Nicholls Moving myself from contributors to committers. * Scripts/webkitpy/common/config/committers.py: 2011-12-05 Raphael Kubo da Costa Add myself as a committer. * Scripts/webkitpy/common/config/committers.py: 2011-12-05 Michael Brüning [Qt] Rename QQuickWebView::canStop property to just loading https://bugs.webkit.org/show_bug.cgi?id=73813 Reviewed by Kenneth Rohde Christiansen. Replaced references to WebView.canStop with WebView.loading. * MiniBrowser/qt/qml/BrowserWindow.qml: 2011-12-05 Dirk Pranke run-webkit-tests: limit --child-processes properly on apple mac https://bugs.webkit.org/show_bug.cgi?id=73856 Reviewed by Adam Roben. Fix typos in r102013 so that we correctly pass --child-processes=1 on the apple mac bots temporarily. * Scripts/run-webkit-tests: (platformIsReadyForParallelTesting): 2011-12-05 Ryosuke Niwa Temporarily set --child-process=1 on Mac because 20+ tests are timing out https://bugs.webkit.org/show_bug.cgi?id=73840 Reviewed by Simon Fraser. Temporarily go back to single process mode on Mac. * Scripts/run-webkit-tests: (platformIsReadyForParallelTesting): 2011-12-05 Adam Roben Redeploy apple-macpro-7 and apple-xserve-1 These slaves have been sitting idle since we removed our Leopard builders in r97496. Fixes REGRESSION (r97496): apple-macpro-7 and apple-xserve-1 are sitting idle Reviewed by Sam Weinig. * BuildSlaveSupport/build.webkit.org-config/config.json: Re-added apple-macpro-7 and apple-xserve-1. The former is now doing "SnowLeopard Intel Debug (WebKit2 Tests)", which allows apple-xserve-9 to be a build-only slave, and the latter is doing "Lion Intel Debug (WebKit2 Tests)". 2011-12-05 Kenneth Rohde Christiansen [Qt] Make the UI of the MiniBrowser slightly nicer Rubberstamped by Simon Hausmann. - Add proper padding - Show feedback when pressing on the toolbar icons - Make the text entry better looking * MiniBrowser/qt/qml/BrowserWindow.qml: 2011-12-05 Kristóf Kosztyó NRWT should handle duplicated expectations https://bugs.webkit.org/show_bug.cgi?id=69750 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectations.__init__): (TestExpectations._report_errors): (TestExpectations._add_expectations): * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (test_add_skipped_tests): * Scripts/webkitpy/layout_tests/port/base.py: (Port.skipped_tests): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort.test_expectations): (WebKitPort.skipped_tests): * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: (test_test_expectations): 2011-12-04 Eric Seidel After success with Mac, Win and Gtk, turning on parallel testing by default for all platforms (except Qt). We'll add more platforms to the blacklist if we see problems. Unreviewed. * Scripts/run-webkit-tests: (platformIsReadyForParallelTesting): 2011-12-04 Sam Weinig Add tests for RetainPtr::adoptNS/adoptCF https://bugs.webkit.org/show_bug.cgi?id=73470 Reviewed by Adam Roben and Darin Adler. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp: Added. (TestWebKitAPI::TEST): Test that adopting using adoptCF creates a RetainPtr with a value whose retain count is 1. * TestWebKitAPI/Tests/WTF/ns: Added. * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: Added. (TestWebKitAPI::TEST): Test that adopting using adoptNS creates a RetainPtr with a value whose retain count is 1. 2011-12-04 Martin Robinson [GTK] Include cairo, pixman and gnome-icon-theme in the jhbuild modules https://bugs.webkit.org/show_bug.cgi?id=73748 Reviewed by Gustavo Noronha Silva. * gtk/jhbuild.modules: Add some new modules the jhbuild moduleset. 2011-12-04 Philippe Normand Another GTK build fix after r101922. Rubber-stamped by Martin Robinson. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pathToLocalResource): Plug possible String ref leak. 2011-12-04 Xan Lopez Fix compiler warning in LayoutTestController Reviewed by Philippe Normand. * DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): fix warning. 2011-12-04 Alexandre Mazari Add missing methods used by fast/notifications tests to LayoutTestController https://bugs.webkit.org/show_bug.cgi?id=63616 Reviewed by Martin Robinson. Add missing simulateDesktopNotificationClick method used by fast/notifications. Provide a default implementation for areDesktopNotificationPermissionRequestsIgnored and ignoreDesktopNotificationPermissionRequests. * DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): call into the port implementation. (simulateDesktopNotificationClickCallback): ditto. (ignoreDesktopNotificationPermissionRequestsCallback): default implementation. (LayoutTestController::staticFunctions): declare new methods. (LayoutTestController::ignoreDesktopNotificationPermissionRequests): default implementation. * DumpRenderTree/LayoutTestController.h: (LayoutTestController::areDesktopNotificationPermissionRequestsIgnored): * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::simulateDesktopNotificationClick): dummy implementation. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::simulateDesktopNotificationClick): ditto. * DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::simulateDesktopNotificationClick): ditto. * DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::simulateDesktopNotificationClick): ditto. * DumpRenderTree/wx/LayoutTestControllerWx.cpp: (LayoutTestController::simulateDesktopNotificationClick): ditto. 2011-12-03 Mario Sanchez Prada [GTK] Don't log document events in DRT https://bugs.webkit.org/show_bug.cgi?id=73746 Reviewed by Martin Robinson. Stop connecting globally to document-related events. * DumpRenderTree/gtk/AccessibilityCallbacks.cpp: (connectAccessibilityCallbacks): Removed connections. (disconnectAccessibilityCallbacks): Removed disconnections. 2011-12-03 Dan Bernstein Added a test for Crash at WebCore::SubresourceLoader::releaseResources Reviewed by Darin Adler. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/SubresourceErrorCrash.mm: Added. (TestWebKitAPI::TEST): 2011-12-03 Philippe Normand Another GTK build fix after r101922. Rubber-stamped by Martin James Robinson. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pathToLocalResource): return value needs to be a URI. 2011-12-03 Martin Robinson Small fix for my previous patch. Do not try to delete a member of a dictionary that does not exist. Reviewed by Gustavo Noronha Silva. * gtk/run-with-jhbuild: (install_and_run_jhbuild): 2011-12-03 Martin Robinson Fix jhbuild installation for people who have unusual MAKE environment variables such as 'make -j4' as the jhbuild build does not handle it. Reviewed by Gustavo Noronha Silva. * gtk/run-with-jhbuild: (install_and_run_jhbuild): Remove any MAKE environment variable before building jhbuild. 2011-12-03 Martin Robinson Fix the update-webkitgtk-libs script to properly trigger a jhbuild installation when run for the first time. Reviewed by Gustavo Noronha Silva. * Scripts/update-webkitgtk-libs: Fix first run. 2011-12-03 Philippe Normand Unreviewed, GTK build fix after r101922. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pathToLocalResource): Added sentinel in g_build_filename call. 2011-12-03 Philippe Normand GTK API tests build fix. Run the tests inside jhbuild. Rubber-stamped by Gustavo Noronha Silva. * Scripts/run-gtk-tests: (TestRunner.__init__): (TestRunner.run._error_handler): (TestRunner): (TestRunner.run): 2011-12-03 Martin Robinson Small build fix. Properly specify the path to the locally installed jhbuild. * Scripts/update-webkitgtk-libs: Fix jhbuild path. 2011-12-03 Martin Robinson [GTK][DRT] Normalize file:///tmp/LayoutTests in LayoutTestController::pathToLocalResource() https://bugs.webkit.org/show_bug.cgi?id=67256 Reviewed by Philippe Normand. Implement LayoutTestController::pathToLocalResource for GTK+. Instead of passing WEBKIT_TEST_FONTS to the GTK+ test harnesses, pass a more generic WEBKIT_TOP_LEVEL, which points to the more generic top-level path of the WebKit checkout. This code is duplicated between WK1 and WK2 harnesses because we do not currently have a way to share code here. If WEBKIT_TOP_LEVEL is not provided, we search for the top level based on the binary location. This will cause the fallback to fail if you build into a non-typical location or even fake it with a symlink. In this case it's important to use the environment variable. * DumpRenderTree/gtk/DumpRenderTree.cpp: (getTopLevelPath): Added. (initializeFonts): Use the new helper to get the font path. * DumpRenderTree/gtk/DumpRenderTreeGtk.h: Expose the new helper. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pathToLocalResource):Use the new helper to normalize test paths. * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkPort.setup_environ_for_server):Pass the top-level path of the checkout instead of passing the font path. * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::getTopLevelPath): Added this helper. (WTR::inititializeFontConfigSetting): Use the helper to find the font path. 2011-12-02 David Levin Rename WTF class from TemporarilyChange to TemporaryChange. https://bugs.webkit.org/show_bug.cgi?id=73479 Reviewed by Eric Seidel. * DumpRenderTree/ForwardingHeaders/wtf/TemporarilyChange.h: Removed. * DumpRenderTree/ForwardingHeaders/wtf/TemporaryChange.h: Added. * TestWebKitAPI/TestWebKitAPI.gypi: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/TemporaryChange.cpp: Renamed from Tools/TestWebKitAPI/Tests/WTF/TemporarilyChange.cpp. (TestWebKitAPI::TEST): * TestWebKitAPI/win/TestWebKitAPI.vcproj: 2011-12-02 Tony Chang [NRWT] reftest asserts intermittently on the Qt-WK2 bot https://bugs.webkit.org/show_bug.cgi?id=73453 Reviewed by Ryosuke Niwa. We used to assert if a ref test didn't generate pixel results. Instead, just claim it is a failing test. The verbose output will include the failure reason. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: Don't assert, return FailureReftestNoImagesGenerated instead. * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py: Remove stray letter t. * Scripts/webkitpy/layout_tests/models/test_failures.py: Add a new failure type: FailureReftestNoImagesGenerated (determine_result_type): (FailureReftestNoImagesGenerated.__init__): (FailureReftestNoImagesGenerated): (FailureReftestNoImagesGenerated.message): * Scripts/webkitpy/layout_tests/port/test.py: Add a test case for integration tests. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Update test counts. (MainTest.test_run_singly_actually_runs_tests): (MainTest.test_unexpected_failures): (EndToEndTest.test_end_to_end): 2011-12-02 Ryosuke Niwa ChangeLog should be able to parse annotated changelogs https://bugs.webkit.org/show_bug.cgi?id=72703 Reviewed by Eric Seidel. Make parse_entries_from_file aware of svn blame annotation such as "100000 ossy@webkit.org ", and extract the revision number for each entry. Also add a support to extract "svn blame" result from svn/git checkout to scm classes. * Scripts/webkitpy/common/checkout/changelog.py: * Scripts/webkitpy/common/checkout/changelog_unittest.py: * Scripts/webkitpy/common/checkout/scm/git.py: * Scripts/webkitpy/common/checkout/scm/scm.py: * Scripts/webkitpy/common/checkout/scm/svn.py: 2011-12-02 Eric Seidel Enable parallel testing for Win and Gtk bots after confirming with Lucas and Martin the bots should be OK. Unreviewed. (I ran the idea by Lucas and Martin.) * Scripts/run-webkit-tests: (platformIsReadyForParallelTesting): 2011-12-02 Martin Robinson Try to fix the GTK+ build. * gtk/jhbuild.modules: Properly specify the glib-networking dependency for soup. 2011-12-02 Martin Robinson Fix a syntax error in the committers.py file. * Scripts/webkitpy/common/config/committers.py: Add a missing comma. 2011-12-02 Ryosuke Niwa Add Alan Stearns and Peter Linss to the contributors list. * Scripts/webkitpy/common/config/committers.py: 2011-12-02 Kent Tamura [Chromium] Fix compilation warnings for ASSERT() https://bugs.webkit.org/show_bug.cgi?id=73623 Reviewed by Tony Chang. * DumpRenderTree/chromium/ImageDiff.cpp: - Fix fprintf format: %s -> %d for __LINE__ - Do nothing for ASSERT() if NDEBUG. 2011-12-02 Eric Seidel Enable parallel testing for all Mac bots. Unreviewed. * Scripts/run-webkit-tests: (platformIsReadyForParallelTesting): 2011-12-02 Eric Seidel Enable parallel testing for run-webkit-tests on Mac Lion. I plan to move all the machines to parallel testing shortly but we're starting with Lion. Unreviewed. * Scripts/run-webkit-tests: (platformIsReadyForParallelTesting): 2011-12-02 Kausalya Madhusudhanan Added helper method to identify whether the page has custom page size style. https://bugs.webkit.org/show_bug.cgi?id=73585 Reviewed by Darin Fisher. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::hasCustomPageSizeStyle): * DumpRenderTree/chromium/LayoutTestController.h: 2011-12-01 Ryosuke Niwa [NRWT] reftest should support having multiple references per test https://bugs.webkit.org/show_bug.cgi?id=73613 Reviewed by Dirk Pranke. Add a support for having multiple reference files for a single test. Because a reftest succeeds when it matches at least one of expected matches and fails when it matches at least one of expected mismatches, we compare expected mismatches first in order to minimize the number of reference files to open on DRT. * Scripts/webkitpy/layout_tests/controllers/manager.py: (interpret_test_failures): Remove checks no longer applicable. * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ResultSummaryTest.test_interpret_test_failures): Ditto. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner.__init__): Remove a bunch of code and just call port.reference_files. (SingleTestRunner._driver_input): (SingleTestRunner.run): (SingleTestRunner._run_reftest): Compare the output of the test to each reference file. * Scripts/webkitpy/layout_tests/models/test_input.py: (TestInput.__init__): Remove ref_file and is_mismatch_reftest because they are no longer used. * Scripts/webkitpy/layout_tests/port/base.py: (Port.reference_files): Renamed from _reference_file_for. Returns a list of expectation, filename pairs. (_parse_reftest_list): Now supports parsing multiple entries for a single test. * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_parse_reftest_list): * Scripts/webkitpy/layout_tests/port/test.py: * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_unexpected_failures): (MainTest.test_reftest_skipped_if_unlisted): Renamed from test_missing_and_unexpected_results. (EndToEndTest.test_end_to_end): (EndToEndTest.test_reftest_with_two_notrefs): Added. 2011-12-02 Gustavo Noronha Silva Build libsoup without gnome dependencies (like keyring). * gtk/jhbuild.modules: 2011-12-02 Gustavo Noronha Silva Also build gcrypt and p11-kit, and make them dependencies of gnutls. * gtk/jhbuild.modules: 2011-12-02 Kevin Ollivier [wx] Unreviewed build fixes for Windows build. * waf/build/wxpresets.py: 2011-12-01 Eric Seidel Reviewed by Adam Barth. webkit-patch post, post-commits, upload should warn when posting to a closed bug, and offer to reopen it https://bugs.webkit.org/show_bug.cgi?id=32006 I decided not to make it warn, and just have it re-open the bug. That's not that different from today's behavior which will just silently attach the patch. This patch makes behavior between upload and land-safely consistent (previously one would assign patches and the other would not) as well as adds the ability for both to ensure that the bug is open. To test this I had to add a few more methods to MockBugzilla which (positively) affected a few other test results. I also made AbstractStep keep a cached copy of the Bug object and used the cached copy where appropriate (including for 'bug_title'). This should reduce the number of bug fetches we perform. * Scripts/webkitpy/tool/commands/download_unittest.py: * Scripts/webkitpy/tool/commands/upload.py: * Scripts/webkitpy/tool/commands/upload_unittest.py: * Scripts/webkitpy/tool/mocktool.py: * Scripts/webkitpy/tool/steps/__init__.py: * Scripts/webkitpy/tool/steps/abstractstep.py: * Scripts/webkitpy/tool/steps/closebug.py: * Scripts/webkitpy/tool/steps/ensurebugisopenandassigned.py: Added. * Scripts/webkitpy/tool/steps/postdiff.py: * Scripts/webkitpy/tool/steps/postdiffforcommit.py: * Scripts/webkitpy/tool/steps/preparechangelog.py: * Scripts/webkitpy/tool/steps/steps_unittest.py: * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py: 2011-12-02 Gustavo Noronha Silva Also pass --no-interact to jhbuild when updating dependencies. * Scripts/update-webkitgtk-libs: 2011-12-02 Alice Boxhall Make _build_path check more thoroughly that build paths exist. https://bugs.webkit.org/show_bug.cgi?id=73601 Reviewed by Ojan Vafai. * Scripts/webkitpy/layout_tests/port/chromium_mac.py: (ChromiumMacPort._build_path): 2011-12-02 Gustavo Noronha Silva Add libffi to the jhbuild modules list as a glib dependency. Rubber-stamped by Martin Robinson. * gtk/jhbuild.modules: 2011-12-02 Gustavo Noronha Silva Build fix. Use internal pcre on glib, make gnutls a dependency of glib-networking, unset AR_FLAGS for jhbuild builds, and run jhbuild in non-interactive mode. * Scripts/update-webkitgtk-libs: * gtk/jhbuild.modules: * gtk/run-with-jhbuild: 2011-12-02 Adam Roben Fix for Python 2.6 * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunUnitTests.countFailures): Removed the flags parameter to re.split, which was only added in Python 2.7, and used whitespace instead of start-of-string/end-of-string markers when searching for "Tests that timed out:" etc. This makes our check less strict, but it shouldn't matter given the kinds of content we parse. 2011-12-02 Adam Roben Fix names of failed/timed out tests in run-api-tests output Fixes run-api-tests prints suite names twice for failed or timed out tests We were ending up with the suite name doubled (e.g., "WebKit2.WebKit2.MouseMoveAfterCrash"). Reviewed by Simon Fraser. * Scripts/run-api-tests: (runTest): Don't prepend the suite name to $test. It's already been prepended at the start of this function. 2011-11-29 Martin Robinson [GTK] generate-gtkdoc should respect build type https://bugs.webkit.org/show_bug.cgi?id=73296 Reviewed by Philippe Normand. * Scripts/webkitdirs.pm: (buildAutotoolsProject): Pass the --debug to the generate-gtkdoc script. * gtk/common.py: If --build is passed give preference to the Debug build directory. 2011-12-02 Tony Chang [nrwt] fix wdiff output https://bugs.webkit.org/show_bug.cgi?id=73604 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/base.py: (Port.wdiff_text): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_wdiff_text): 2011-12-02 Adam Roben Teach build.webkit.org to display how many unit tests failed or timed out Fixes It's hard to tell how many unit tests are failing on build.webkit.org We now display something like "5 unit tests failed or timed out". Eventually we might want to split out how many failure vs. timeouts there were. Reviewed by Darin Adler. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (TestWithFailureCount): Moved this class up to the top of the file so it is before any other classes that may want to subclass it. (RunUnitTests): Changed to inherit from TestWithFailureCount. (RunUnitTests.countFailures): Added. Counts the number of tests following the "Tests that timed out:" and "Tests that failed:" lines, if present. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: (StubStdio): (StubRemoteCommand): Added these two stub classes to mimic buildbot's RemoteCommand and log classes. (RunUnitTestsTest.assertFailures): Helper method to check that we interpreted the results of the test run correctly. (RunUnitTestsTest.test_no_failures_or_timeouts): (RunUnitTestsTest.test_one_failure): (RunUnitTestsTest.test_multiple_failures): (RunUnitTestsTest.test_one_timeout): (RunUnitTestsTest.test_multiple_timeouts): (RunUnitTestsTest.test_multiple_failures_and_timeouts): Test various cases. 2011-12-02 Adam Roben Teach prepare-ChangeLog to treat master.cfg as a Python file Fixes prepare-ChangeLog doesn't show modified classes/functions in buildbot's master.cfg Reviewed by Darin Adler. * Scripts/prepare-ChangeLog: (get_function_line_ranges): Use get_function_line_ranges_for_python if the filename is master.cfg. 2011-12-02 Martin Robinson [GTK] Create a wrapper script that knows how to install jhbuild and run commands with it https://bugs.webkit.org/show_bug.cgi?id=73669 Reviewed by Gustavo Noronha Silva. Add a wrapper script that knows how to install jhbuild and also to wrap commands in the jhbuild shell. * Scripts/webkitdirs.pm: (runAutogenForAutotoolsProject): Use the new wrapper script. (mustReRunAutogen): Ditto. (buildAutotoolsProject): Ditto. * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkDriver.cmd_line): Ditto. * gtk/run-with-jhbuild: Added. 2011-12-01 Adam Roben Teach check-webkit-style how to check the syntax of JSON files Fixes check-webkit-style doesn't flag JSON syntax errors I previously landed this patch as r101711, but the new tests failed on Snow Leopard. This patch is identical to that one except for two change: assertIn(a, b) (which is new to Python 2.7) has been replaced with assertTrue(a in b), and the test_missing_closing_brace test has been removed, since its output differs by platform. Reviewed by Darin Adler. * Scripts/webkitpy/style/checker.py: (_all_categories): Added JSONChecker's categories to the set of all categories. (FileType): Added a JSON type. Incremented other types. (CheckerDispatcher._file_type): Use the JSON file type for .json files. (CheckerDispatcher._create_checker): Use a JSONChecker for JSON files. * Scripts/webkitpy/style/checker_unittest.py: (CheckerDispatcherDispatchTest.assert_checker_json): Added this helper method. (CheckerDispatcherDispatchTest.test_json_paths): Added. Based on test_python_paths. * Scripts/webkitpy/style/checkers/jsonchecker.py: Added. (I didn't name this just "json", which would have matched our other checkers, because I couldn't figure out how to call "json.loads" without hitting namespace conflicts.) (JSONChecker.__init__): Turn of line filtering so that we always check the whole file, not just the modified lines from a patch. (JSONChecker.check): Try to parse the lines as JSON. Mark an error if there was an exception. (JSONChecker.line_number_from_json_exception): Parse the json modules exception message to try to extract a line number. * Scripts/webkitpy/style/checkers/jsonchecker_unittest.py: Added. (MockErrorHandler.__init__): (MockErrorHandler.turn_off_line_filtering): (MockErrorHandler.__call__): Helper class. Copied from xml_unittest.py. (JSONCheckerTest.test_line_number_from_json_exception): Test the line_number_from_json_exception helper method. (JSONCheckerTest.assert_no_error): (JSONCheckerTest.assert_error): Helper methods to assert that we did or didn't get an error. (JSONCheckerTest.mock_handle_style_error): Helper method. (JSONCheckerTest.test_conflict_marker): (JSONCheckerTest.test_single_quote): (JSONCheckerTest.test_init): (JSONCheckerTest.test_no_error): Test various cases. 2011-12-02 Gustavo Noronha Silva [GTK] Add glib, glib-networking, gnutls and libsoup to jhbuild https://bugs.webkit.org/show_bug.cgi?id=73664 Reviewed by Martin Robinson. This patch adds our HTTP library and its main dependencies; this should not affect layout or rendering. * gtk/jhbuild.modules: 2011-12-02 Gustavo Noronha Silva [GTK] Also run DumpRenderTree under jhbuild https://bugs.webkit.org/show_bug.cgi?id=73646 Reviewed by Martin Robinson. * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkDriver.cmd_line): 2011-12-02 Hajime Morrita Unreviewed, rolling out r101751 and r101775. http://trac.webkit.org/changeset/101751 http://trac.webkit.org/changeset/101775 https://bugs.webkit.org/show_bug.cgi?id=73191 breaks Windows build * DumpRenderTree/chromium/config.h: * DumpRenderTree/config.h: * TestWebKitAPI/config.h: * WebKitTestRunner/config.h: 2011-12-02 Kentaro Hara Move run-bindings-tests implementation to webkitpy/bindings/main.py https://bugs.webkit.org/show_bug.cgi?id=73619 Reviewed by Adam Barth. As run-bindings-tests has been growing, this patch just moves its implementation to webkitpy/bindings/main.py to integrate with the rest of webkitpy. No change in behavior. * Scripts/run-bindings-tests: (main): * Scripts/webkitpy/bindings/__init__.py: Added. * Scripts/webkitpy/bindings/main.py: Added. (BindingsTests.__init__): (BindingsTests.generate_from_idl): (BindingsTests.generate_supplemental_dependency): (BindingsTests.detect_changes): (BindingsTests.run_tests): 2011-12-01 Ilya Tikhonovsky Tools/Scripts: eliminate find_test_files from Port class. https://bugs.webkit.org/show_bug.cgi?id=73553 rebaseline.py and chromium_gpu.py use Port.find_test_files() the same way as it is used in Port.tests() I'd like to replace all calls to find_test_files with tests and eliminate find_tests_files. Also I'll move _is_test_file() and related functions close to Port.tests(). Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/base.py: (Port.tests): (Port.is_reference_html_file): (Port._has_supported_extension): (Port._is_test_file): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_find_no_paths_specified): (PortTest.test_find_one_test): (PortTest.test_find_glob): (PortTest.test_find_with_skipped_directories): (PortTest.test_find_with_skipped_directories_2): (PortTest.test_is_test_file): * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: (_default_tests_paths): (ChromiumGpuLinuxPort.tests): (ChromiumGpuCgMacPort.tests): (ChromiumGpuMacPort.tests): * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py: (ChromiumGpuTest.test_default_tests_paths.test_paths): (ChromiumGpuTest.test_default_tests_paths): (ChromiumGpuTest.test_test_files.test_paths): (ChromiumGpuTest): (ChromiumGpuTest.test_test_files): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (get_tests_run.RecordingTestDriver.run_test): * Scripts/webkitpy/tool/commands/rebaseline.py: (OptimizeBaselines._optimize_baseline): (OptimizeBaselines.execute): (AnalyzeBaselines._analyze_baseline): (AnalyzeBaselines.execute): 2011-12-01 Hajime Morrita JS_INLINE and WTF_INLINE should be visible from WebCore https://bugs.webkit.org/show_bug.cgi?id=73191 Reviewed by Kevin Ollivier. Removed macro definitions which is now provided by Platform.h * DumpRenderTree/chromium/config.h: * DumpRenderTree/config.h: * TestWebKitAPI/config.h: * WebKitTestRunner/config.h: 2011-12-01 Hayato Ito Explicitly pass tolerance=0 to port.diff_image in case of RefTestMismatch failure. https://bugs.webkit.org/show_bug.cgi?id=73406 Reviewed by Ryosuke Niwa. WebKitPort's image_diff uses tolerance='0.1' in default. When reftests fail, we should use tolerace=0 when diff-ing images. Since ImageDiff on chromium port doesn't use tolerance value as of now, this change doesn't affect chromium port's behavior. * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): * Scripts/webkitpy/layout_tests/port/base.py: (Port.diff_image): * Scripts/webkitpy/layout_tests/port/chromium.py: (ChromiumPort.diff_image): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.diff_image): * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort.diff_image): (WebKitPort._start_image_diff_process): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_tolerance.ImageDiffTestPort.diff_image): 2011-12-01 Adam Klein Add Chromium ToT GTest build bots (and group selection support) to flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=73599 Reviewed by Ojan Vafai. * TestResultServer/static-dashboards/builders.js: * TestResultServer/static-dashboards/dashboard_base.js: (): (htmlForTestTypeSwitcher): * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: (testHtmlForTestTypeSwitcherGroup): 2011-12-01 Ryosuke Niwa Parse reftest.list and extract types of ref tests https://bugs.webkit.org/show_bug.cgi?id=66837 Reviewed by Dirk Pranke. Add support for reftest.list to base port. * Scripts/webkitpy/common/find_files.py: (find): * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner.__init__): * Scripts/webkitpy/layout_tests/port/base.py: (Port.__init__): Initialize self._reftest_list. It's a dictionary mapping from a test directory to a dictionary of {test path: ("==" or "!=", reference file path)} (Port._get_reftest_list): Added; calls test_file.parse_reftest_list to fill self._reftest_list. (Port._reference_file_for): Added; obtains the reference file name given a test name. (Port.is_reftest): Added; Calls _reference_file_for. (Port.reftest_expected_filename): Calls _reference_file_for. (Port.reftest_expected_mismatch_filename): Ditto. (Port.find_test_files): (is_reference_html_file): Treat any file that starts with ref- or notref- or ends with -expected, -expected-mismach, -ref, or -notref as a reference file. (_is_test_file): (_parse_reftest_list): Added. * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_is_test_file): (PortTest.test_parse_reftest_list): * Scripts/webkitpy/layout_tests/port/dryrun.py: (DryrunDriver.run_test): * Scripts/webkitpy/layout_tests/port/test.py: (unit_test_filesystem.add_test_file): (unit_test_filesystem.add_file): (unit_test_filesystem): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (get_tests_run.RecordingTestDriver.run_test): (MainTest.test_unexpected_failures): (MainTest.test_missing_and_unexpected_results): (EndToEndTest.test_end_to_end): * Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py: (Rebaseliner._compile_rebaselining_tests): 2011-12-01 Sheriff Bot Unreviewed, rolling out r101711. http://trac.webkit.org/changeset/101711 https://bugs.webkit.org/show_bug.cgi?id=73605 Broke 3 webkitpy tests (Requested by rniwa on #webkit). * Scripts/webkitpy/style/checker.py: (_all_categories): (FileType): (CheckerDispatcher._file_type): (CheckerDispatcher._create_checker): * Scripts/webkitpy/style/checker_unittest.py: (CheckerDispatcherDispatchTest.assert_checker_cpp): (CheckerDispatcherDispatchTest.test_cpp_paths): * Scripts/webkitpy/style/checkers/jsonchecker.py: Removed. * Scripts/webkitpy/style/checkers/jsonchecker_unittest.py: Removed. 2011-12-01 Gustavo Noronha Silva Unreviewed. Add myself to GStreamer and WebKit2GTK+ watchlists. * Scripts/webkitpy/common/config/watchlist: 2011-12-01 Martin Robinson [GTK] Read fonts from the jhbuild root https://bugs.webkit.org/show_bug.cgi?id=73487 Reviewed by Gustavo Noronha Silva. Read fonts from the jhbuild root instead of from the system. This will ensure that all testers use the same fonts instead of leaving this up to luck. * DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeFonts): Load fonts from jhbuild root. * Scripts/webkitpy/layout_tests/port/gtk.py: (GtkPort.setup_environ_for_server): Pass an environment variable containing the path to the jhbuild root. * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::inititializeFontConfigSetting): Load fonts from the jhbuild root. 2011-12-01 Adam Roben Teach check-webkit-style how to check the syntax of JSON files Fixes check-webkit-style doesn't flag JSON syntax errors Reviewed by Darin Adler. * Scripts/webkitpy/style/checker.py: (_all_categories): Added JSONChecker's categories to the set of all categories. (FileType): Added a JSON type. Incremented other types. (CheckerDispatcher._file_type): Use the JSON file type for .json files. (CheckerDispatcher._create_checker): Use a JSONChecker for JSON files. * Scripts/webkitpy/style/checker_unittest.py: (CheckerDispatcherDispatchTest.assert_checker_json): Added this helper method. (CheckerDispatcherDispatchTest.test_json_paths): Added. Based on test_python_paths. * Scripts/webkitpy/style/checkers/jsonchecker.py: Added. (I didn't name this just "json", which would have matched our other checkers, because I couldn't figure out how to call "json.loads" without hitting namespace conflicts.) (JSONChecker.__init__): Turn of line filtering so that we always check the whole file, not just the modified lines from a patch. (JSONChecker.check): Try to parse the lines as JSON. Mark an error if there was an exception. (JSONChecker.line_number_from_json_exception): Parse the json modules exception message to try to extract a line number. * Scripts/webkitpy/style/checkers/jsonchecker_unittest.py: Added. (MockErrorHandler.__init__): (MockErrorHandler.turn_off_line_filtering): (MockErrorHandler.__call__): Helper class. Copied from xml_unittest.py. (JSONCheckerTest.test_line_number_from_json_exception): Test the line_number_from_json_exception helper method. (JSONCheckerTest.assert_no_error): (JSONCheckerTest.assert_error): Helper methods to assert that we did or didn't get an error. (JSONCheckerTest.mock_handle_style_error): Helper method. (JSONCheckerTest.test_conflict_marker): (JSONCheckerTest.test_single_quote): (JSONCheckerTest.test_init): (JSONCheckerTest.test_missing_closing_brace): (JSONCheckerTest.test_no_error): Test various cases. 2011-12-01 Martin Robinson [GTK] Add a helper function to find the current executable's path https://bugs.webkit.org/show_bug.cgi?id=73473 Reviewed by Gustavo Noronha Silva. Update MiniBrowser to not pass the binary directory as an environment variable. This means that you can move the binaries around without it breaking. * MiniBrowser/gtk/main.c: (main): No longer set the environment variable. * WebKitTestRunner/GNUmakefile.am: No longer add the directory path define. * WebKitTestRunner/gtk/main.cpp: Ditto. 2011-12-01 Gustavo Noronha Silva Unreviewed. Fix bad file =(. * gtk/jhbuild.modules: * Scripts/webkitdirs.pm: (runAutogenForAutotoolsProject): 2011-12-01 Gustavo Noronha Silva [GTK] Add freetype to our jhbuild setup https://bugs.webkit.org/show_bug.cgi?id=73488 Reviewed by Martin Robinson. This adds the first library to our jhbuild setup, and makes sure build-webkit calls autogen.sh and make with jhbuild, so that the environment is properly set. * Scripts/webkitdirs.pm: (saveSum): (hashFile): (runAutogenForAutotoolsProject): save md5sum of jhbuild-related files, and call autogen under jhbuild run; (mustRunAutogen): generalized the arguments change checking to also force running autogen when jhbuild files change; (buildAutotoolsProject): run make under jhbuild; * gtk/jhbuild.modules: add freetype. 2011-12-01 Dominic Mazzoni Fix WebKitTestRunner compile warnings with XCode 3.2 https://bugs.webkit.org/show_bug.cgi?id=73378 Reviewed by Chris Fleizach. * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: (WTR::AccessibilityTextMarker::AccessibilityTextMarker): * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: (WTR::AccessibilityTextMarkerRange::AccessibilityTextMarkerRange): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::AccessibilityUIElement): (WTR::AccessibilityUIElement::verticalScrollbar): 2011-12-01 Adam Roben Allow committers to use their Trac credentials to force builds on the buildbots Fixes A new class, CommitterAuth, handles authentication of WebKit committers. CommitterAuth uses three files to do its job: a config file that contains a list of WebKit committer usernames, an htdigest file that contains Trac credentials, and JSON file that gives the paths for those two files. Reviewed by Darin Adler. * BuildSlaveSupport/build.webkit.org-config/committer_auth.py: Added. (Error): Basic wrapper around Exception that we use for cases where we couldn't even check whether credentials were valid or not. (CommitterAuth.__init__): Just store the path to auth.json. (CommitterAuth.auth_json): Load, parse, and return auth.json. (CommitterAuth.auth_json_filename): Return the path to auth.json. (CommitterAuth.authenticate): Return true if the user is a WebKit committer and their credentials are valid Trac credentials. Return false otherwise or if an error occurred while checking those conditions. (CommitterAuth.is_webkit_committer): Return true if the user is a WebKit committer. Return false otherwise or if an exception was thrown. (CommitterAuth.is_webkit_trac_user): Return true if the username/password are present in the Trac credentials htdigest file. Return false otherwise or if an exception was thrown. (CommitterAuth.open_auth_json_file): (CommitterAuth.open_trac_credentials_file): (CommitterAuth.open_webkit_committers_file): Open the specified file. These are mostly useful for testing purposes. (CommitterAuth.trac_credentials_filename): (CommitterAuth.webkit_committers_filename): Return the path to the specified file by retrieving it from auth.json. (CommitterAuth.webkit_committers): Load and parse the committers file and extract the list of WebKit committers from it. * BuildSlaveSupport/build.webkit.org-config/committer_auth_unittest.py: Added. (CMStringIO.__enter__): (CMStringIO.__exit__): Helper class that makes it possible to use StringIO with the "with" statement. (open_override): Helper context manager for overriding the global "open" function temporarily. (CommitterAuthTest.setUp): Set up a somewhat-mocked CommitterAuth that is used by most tests. (CommitterAuthTest.fake_open_function): Returns a function that can be used in place of "open" to test that the expected path was opened. (CommitterAuthTest.test_authentication_success): Test that committers can authenticate successfully. (CommitterAuthTest.test_committer_without_trac_credentials_fails): Test that committers who somehow have no Trac account can't authenticate. (CommitterAuthTest.test_fail_to_open_auth_json_file): (CommitterAuthTest.test_fail_to_open_trac_credentials_file): (CommitterAuthTest.test_fail_to_open_webkit_committers_file): Test what happens when we can't open the three files we depend upon. (CommitterAuthTest.test_implements_IAuth): Test that we fulfill buildbot's expectations for an authentication class. (CommitterAuthTest.test_invalid_auth_json_file): (CommitterAuthTest.test_invalid_committers_file): (CommitterAuthTest.test_invalid_trac_credentials_file): (CommitterAuthTest.test_missing_auth_json_keys): Test what happens when the three files we depend upon are invalid in some way. (CommitterAuthTest.test_open_auth_json_file): (CommitterAuthTest.test_open_trac_credentials_file): (CommitterAuthTest.test_open_webkit_committers_file): Test that we open the expected paths. (CommitterAuthTest.test_trac_credentials_filename): (CommitterAuthTest.test_webkit_committers_filename): Test that we extract filenames out of auth.json correctly. (CommitterAuthTest.test_non_committer_fails): (CommitterAuthTest.test_unknown_user_fails): (CommitterAuthTest.test_username_is_prefix_of_valid_user): (CommitterAuthTest.test_wrong_password_fails): Test various failed authentication attempts. (CommitterAuthTest.test_webkit_committers): Test that we can parse the list of WebKit committers out of the committers file correctly. (CommitterAuthTest.fake_auth_json_file): (CommitterAuthTest.invalid_auth_json_file): (CommitterAuthTest.fake_committers_file): (CommitterAuthTest.invalid_committers_file): (CommitterAuthTest.fake_htdigest_file): (CommitterAuthTest.invalid_htdigest_file): Return various fake files for testing. * BuildSlaveSupport/build.webkit.org-config/master.cfg: Specify an instance of CommitterAuth to be used for authentication in the web interface, and specify that only authenticated users may force builds. 2011-12-01 Adam Roben Add an HTDigestParser class to webkitpy Fixes webkitpy doesn't provide a way to parse htdigest files This class can be used to parse Apache's htdigest files and check whether a given username/realm/password tuple is present in the file. Eventually this will be used for authenticating users on build.webkit.org (). Reviewed by Eric Seidel. * Scripts/webkitpy/common/net/htdigestparser.py: Added. (HTDigestParser.__init__): Stores the parsed representation of the file. (HTDigestParser.authenticate): Hashes the username/realm/password tuple to generate a hashed password and returns whether the resulting tuple is present in the file. (HTDigestParser.entries): Just returns the parsed representation of the file. (HTDigestParser.parse_file): Splits each line on colons and checks that each line has the expected syntax ('username:realm:hashed_password'). If any line is invalid, we treat the whole file as invalid and all authentication attempts will fail. * Scripts/webkitpy/common/net/htdigestparser_unittest.py: Added. (HTDigestParserTest.assertEntriesEqual): Helper method to assert that fake_htdigest_file, optionally appended with some extra data, generates the expected entries. (HTDigestParserTest.test_authenticate): Tests that tuples present in the file can authenticate, and tuples not present cannot. (HTDigestParserTest.test_entries): Tests that we get the expected entries from fake_htdigest_file. (HTDigestParserTest.test_empty_file): (HTDigestParserTest.test_too_few_colons): (HTDigestParserTest.test_too_many_colons): (HTDigestParserTest.test_invalid_hash): Test various forms of invalid files. (HTDigestParserTest.fake_htdigest_file): Returns a fake valid htdigest file for testing. 2011-12-01 Philippe Normand [GTK] Make the new 64-bit Release bot part of the core set https://bugs.webkit.org/show_bug.cgi?id=73570 Reviewed by Adam Roben. The 64-bit Release bot re-introduced in r101676 replaces the 64-bit Debug bot which was already part of the core set. The GTK gardeners are willing to actively maintain it. * Scripts/webkitpy/common/net/buildbot/buildbot.py: (BuildBot.__init__): * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: (test_builder_name_regexps): 2011-12-01 Philippe Normand [GTK] Buildslave switch from 32-bit Debug to 64-bit Release https://bugs.webkit.org/show_bug.cgi?id=73547 Reviewed by Adam Roben. * BuildSlaveSupport/build.webkit.org-config/config.json: Rename the 32-bit Debug configuration to 64-bit Release. The new slave is a 64-bit machine already. The 32-bit slave will be shut down. 2011-12-01 Martin Robinson [GTK] build-jsc should not trigger gtkdoc generation https://bugs.webkit.org/show_bug.cgi?id=73552 Reviewed by Philippe Normand. Do not generate gtkdoc when building projects other than WebKit. In particular, this ensures that build-jsc does not try to generate gtkdoc. * Scripts/webkitdirs.pm: (buildAutotoolsProject): Only generate gtkdoc if the project is "WebKit". 2011-12-01 Kristóf Kosztyó tests_run0.txt gets clobbered when re-running failing tests https://bugs.webkit.org/show_bug.cgi?id=63844 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.results_directory): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: (AbstractWorker.__init__): (_ManagerConnection.start_worker): (_InlineManager.start_worker): (_MultiProcessManager.start_worker): (_WorkerConnection.__init__): (_InlineWorkerConnection.__init__): (_MultiProcessWorkerConnection.__init__): * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py: (_TestWorker.__init__): (_TestsMixin.test_cancel): (_TestsMixin.test_done): (_TestsMixin.test_unknown_message): (InterfaceTest.test_managerconnection_is_abstract): (InterfaceTest.test_workerconnection_is_abstract): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.__init__): (Worker.safe_init): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_retries_directory): 2011-12-01 Adam Roben Buildbot fix * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved all of the initialization of BuildmasterConfig not performed by loadBuilderConfig up to the top of the file. This makes it possible for build steps to reference things like the buildbotURL property of the config. 2011-11-30 Adam Roben Use curl for downloading builds to test slaves Buildbot's built-in file transfer capabilities are transferring files much more slowly than curl does. This seems to be due to a combination of buildbot being single-threaded (and thus often busy servicing web requests, etc.) and using an IPC mechanism with fairly high overhead (courtesy of the Twisted framework). Eventually we'd like to make Buildbot's built-in transferring more efficient. In the meantime we'll try using curl for downloads and keep thinking about a solution for uploads. This should make the test slaves quite a bit faster, and should ease the CPU load on build.webkit.org a bit. Part of Mac slaves take 7+ minutes to upload or download a build Reviewed by Mark Rowe. * BuildSlaveSupport/build.webkit.org-config/master.cfg: Added the CreateWebKitBuildDirectory to Test slaves. It's run just before DownloadBuiltProduct. (DownloadBuiltProduct): Changed to be a normal ShellCommand that invokes curl to perform the download. (CreateWebKitBuildDirectory): Added. Creates the WebKitBuild directory on a slave. FileDownload used to do this for us automatically. 2011-11-21 Philippe Normand [GTK] enable-webaudio websetting https://bugs.webkit.org/show_bug.cgi?id=69836 Reviewed by Martin Robinson. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::overridePreference): Update WebKitGTK enable-webaudio setting when a layout test requests it. 2011-11-30 Ilya Tikhonovsky Web Inspector: chromium: I'd like to add a script for running perf tests for WebInspector. https://bugs.webkit.org/show_bug.cgi?id=73079 The idea is to have performance tests for WebInspector. I was suggested to put these tests into PerformanceTests/inspector. They produce output in a format that is suitable for chromium perf bot drawing scripts. I'd like to reuse code for scanning folders for test files. Because of the fact that original test_files.py has common and layout specific parts I decided to extract the generic part and put it into webkitpy/common I think the two packages with name test_files look strange but I have no idea about a better name. Reviewed by Dirk Pranke. * Scripts/run-inspector-perf-tests.py: Added. * Scripts/webkitpy/common/find_files.py: Renamed from Tools/Scripts/webkitpy/layout_tests/port/test_files.py. (find): (_normalize): * Scripts/webkitpy/common/find_files_unittest.py: Added. (MockWinFileSystem.join): (MockWinFileSystem): (MockWinFileSystem.normpath): (TestWinNormalize.assert_filesystem_normalizes): (TestWinNormalize.test_mocked_win): (TestWinNormalize): (TestWinNormalize.test_win): * Scripts/webkitpy/layout_tests/port/base.py: (Port.tests): (Port.find_test_files): (Port._driver_class): (is_reference_html_file): (_has_supported_extension): * Scripts/webkitpy/layout_tests/port/base_unittest.py: (PortTest.test_find_no_paths_specified): (PortTest.test_find_one_test): (PortTest.test_find_glob): (PortTest.test_find_with_skipped_directories): (PortTest.test_find_with_skipped_directories_2): (PortTest): (PortTest.test_is_test_file): * Scripts/webkitpy/layout_tests/port/chromium_gpu.py: (_tests): * Scripts/webkitpy/layout_tests/port/test.py: * Scripts/webkitpy/layout_tests/port/test_files_unittest.py: Removed. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: * Scripts/webkitpy/performance_tests/__init__.py: Added. * Scripts/webkitpy/performance_tests/perftestsrunner.py: Added. (PerfTestsRunner.__init__): (PerfTestsRunner._parse_args): (PerfTestsRunner._collect_tests._is_test_file): (PerfTestsRunner._collect_tests): (PerfTestsRunner.run): (PerfTestsRunner._run_tests_set): * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Added. (MainTest.TestPort): (MainTest.TestPort.create_driver): (MainTest.TestDriver.run_test): (MainTest.TestDriver): (MainTest.TestDriver.stop): (MainTest.create_runner): (MainTest.run_test): (MainTest.test_run_passing_test): (MainTest.test_run_silent_test): (MainTest.test_run_failed_test): (MainTest.test_run_tonguey_test): (MainTest.test_run_timeout_test): (MainTest.test_run_crash_test): (MainTest.test_run_test_set): (MainTest.test_collect_tests): (MainTest): (MainTest.test_parse_args): * Scripts/webkitpy/tool/commands/rebaseline.py: (OptimizeBaselines.execute): (AnalyzeBaselines.execute): 2011-11-30 nduca@chromium.org [chromium] Enable threaded compositing via CCThreadProxy::hasThread only https://bugs.webkit.org/show_bug.cgi?id=70838 Reviewed by James Robinson. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::resetWebSettings): * DumpRenderTree/chromium/TestShell.h: (TestShell::threadedCompositingEnabled): * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::WebViewHost): (WebViewHost::~WebViewHost): 2011-11-30 Chris Fleizach AX: Nodes are reporting that focus can be set when they really can't https://bugs.webkit.org/show_bug.cgi?id=72791 Reviewed by Beth Dakin. * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::isFocusable): * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::isFocusable): 2011-11-30 Alejandro G. Castro Moved myself to the reviewers list. * Scripts/webkitpy/common/config/committers.py: 2011-11-30 David Levin [chromium] Move didUpdateLayout from WebFrameClient to WebViewClient. https://bugs.webkit.org/show_bug.cgi?id=73415 Reviewed by Darin Fisher. * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::didUpdateLayout): Move didUpdateLayout to account for it being moved to a new interface and having the parameter removed. * DumpRenderTree/chromium/WebViewHost.h: Ditto. 2011-11-30 Adam Roben Make NRWT show DRT/WTR build logs when the build fails or --verbose is passed This will make it a lot easier to investigate build failures on the bots. Fixes NRWT doesn't show build output when building DRT Reviewed by Eric Seidel. * Scripts/webkitpy/common/system/executive_mock.py: (MockExecutive.run_command): Include the mock output in the ScriptError we raise since it makes the expected output in WebKitPortTest.test_build_driver more closely mimic the output seen in practice. * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_http_locking): Pass False for the configure_logging parameter to Printer. The Printer was modifying the root logger in way that would cause my new tests in WebKitPort.test_build_driver to fail. The value of the configure_logging parameter doesn't seem important to the functioning of this test, and passing False makes Printer not modify the root logger. * Scripts/webkitpy/layout_tests/port/webkit.py: (WebKitPort._run_script): Log the output of the command at the DEBUG level so it will show up when --verbose is passed but not otherwise. (WebKitPort._build_driver): When an error occurs, log the error message and the script's output at the ERROR level so it will always show up. * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: (WebKitPortTest.test_build_driver): Test that nothing is logged in the normal, successful cases. Test that the build scripts' output is logged when --verbose is passed or the build fails. 2011-11-30 Adam Roben Add a way to set OutputCapture's log level This will be used by some unit tests I'm planning to add. Fixes OutputCapture can't be used to capture DEBUG messages Reviewed by Eric Seidel. * Scripts/webkitpy/common/system/outputcapture.py: (OutputCapture.__init__): Initialize our internal logging level to INFO, which was the only level we ever used before this patch. (OutputCapture.set_log_level): Added. This is useful for testing what log level code that is being tested uses. Sets the log level for any current or future logging handlers. (OutputCapture.capture_output): Use our internal logging level instead of always using INFO. * Scripts/webkitpy/common/system/outputcapture_unittest.py: Added. (OutputCaptureTest.setUp): Create an OutputCapture to test. (OutputCaptureTest.log_all_levels): Helper method to log a message at each log level. (OutputCaptureTest.assertLogged): Helper method to assert that a particular set of strings was logged. (OutputCaptureTest.test_initial_log_level): Test that we start out at the INFO level. (OutputCaptureTest.test_set_log_level): Test that set_log_level correctly modifies the log level. 2011-11-29 Beth Dakin https://bugs.webkit.org/show_bug.cgi?id=72751 WebKit2.MouseMoveAfterCrash API test is failing Reviewed by Sam Weinig. Like DumpRenderTree, the NSWindow should act as an active window. * TestWebKitAPI/mac/PlatformWebViewMac.mm: (-[ActiveOffscreenWindow isKeyWindow]): (TestWebKitAPI::PlatformWebView::PlatformWebView): 2011-11-30 Gustavo Noronha Silva Add step to update gtk dependencies to the buildbot https://bugs.webkit.org/show_bug.cgi?id=73455 Reviewed by Martin Robinson. * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2011-11-30 Jocelyn Turcotte [Qt] Add a fullscreen option to MiniBrowser. https://bugs.webkit.org/show_bug.cgi?id=73445 Reviewed by Noam Rosenthal. This bypasses the compositor on the N9 to increase performances and remove the huge useless gray bar part of the window frame at the bottom. * MiniBrowser/qt/BrowserWindow.cpp: (BrowserWindow::BrowserWindow): * MiniBrowser/qt/MiniBrowserApplication.cpp: (printHelp): (MiniBrowserApplication::handleUserOptions): * MiniBrowser/qt/MiniBrowserApplication.h: (WindowOptions::setStartFullScreen): (WindowOptions::startFullScreen): 2011-11-30 Martin Robinson [GTK] Add an initial jhbuild setup which installs fonts into the WebKitBuild https://bugs.webkit.org/show_bug.cgi?id=73425 Reviewed by Gustavo Noronha Silva. Add initial jhbuild support to the GTK+ port. update-webkitgtk-libs will ensure that the jhbuild root is up-to-date. Currently the only module is the font module. * Scripts/update-webkitgtk-libs: Added. * gtk/common.py: Added a helper to get the number of CPUs. * gtk/jhbuild.modules: Added. * gtk/jhbuildrc: Added. 2011-11-30 Simon Hausmann [Qt] Remove dependency of Qt DRT on JavaScriptCore. Reviewed by Csaba Osztrogonác. * DumpRenderTree/WorkQueue.cpp: Include the correct header file we're using anyway, instead of one that pulls in JavaScriptCore headers. * DumpRenderTree/qt/DumpRenderTree.pro: There's no need to pull in the JSC headers with load(javascriptcore). 2011-11-30 Sheriff Bot Unreviewed, rolling out r101440 and r101442. http://trac.webkit.org/changeset/101440 http://trac.webkit.org/changeset/101442 https://bugs.webkit.org/show_bug.cgi?id=73429 multiple crashes on layout tests (Requested by hayato on #webkit). * DumpRenderTree/chromium/TestShell.cpp: (TestShell::resetWebSettings): * DumpRenderTree/chromium/TestShell.h: * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::WebViewHost): (WebViewHost::~WebViewHost): 2011-11-30 Fady Samuel [Chromium] Fix broken DRT build for Aura Linux https://bugs.webkit.org/show_bug.cgi?id=72667 Reviewed by Tony Chang. DRT now builds for Aura Linux. This, more or less, shares the same code as Android. The following changes have been made: 1. Renamed TestShellAndroid to TestShellLinux. 2. Stub code moved added in TestShellStub that will only compile on non-GTK Linux builds. 3. Code common to Gtk, Aura, and Android moved to TestShellLinux. * DumpRenderTree/DumpRenderTree.gypi: * DumpRenderTree/chromium/EventSender.cpp: (EventSender::keyDown): * DumpRenderTree/chromium/TestShellAndroid.cpp: Removed. * DumpRenderTree/chromium/TestShellGtk.cpp: * DumpRenderTree/chromium/TestShellLinux.cpp: Copied from Tools/DumpRenderTree/chromium/TestShellGtk.cpp. (AlarmHandler): (TestShell::waitTestFinished): (setupFontconfig): (platformInit): * DumpRenderTree/chromium/TestShellStub.cpp: Added. (checkLayoutTestSystemDependencies): (openStartupDialog): 2011-11-30 Fady Samuel [Chromium] Set Result Before Early Exit for Fixed Layout Methods in LayoutTestController https://bugs.webkit.org/show_bug.cgi?id=73328 Reviewed by Kent Tamura. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::enableFixedLayoutMode): (LayoutTestController::setFixedLayoutSize): 2011-11-29 Hayato Ito Skip writing the result of diff_image since non-chromium ports don't implement diff_image. https://bugs.webkit.org/show_bug.cgi?id=73381 Reviewed by Ryosuke Niwa. This is a quick fix for the breakage of tests on non-chromium port. We should implement diff_image later on non-chromium ports. * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (write_test_result): 2011-11-29 Balazs Ankes [NRWT] Fix --platform=qt-5.0 --new-baseline combo https://bugs.webkit.org/show_bug.cgi?id=72489 Reviewed by Eric Seidel. Before the this fix always added "qt" option for the option list * Scripts/run-webkit-tests: * Scripts/webkitpy/layout_tests/port/qt.py: 2011-11-29 David Levin Add a way to revert a variable to its previous value after leaving a scope. https://bugs.webkit.org/show_bug.cgi?id=73371 Reviewed by Adam Barth. * DumpRenderTree/ForwardingHeaders/wtf/TemporarilyChange.h: Added. * TestWebKitAPI/TestWebKitAPI.gypi: Added test file to the build. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto. * TestWebKitAPI/win/TestWebKitAPI.vcproj: Ditto. * TestWebKitAPI/Tests/WTF/TemporarilyChange.cpp: Added. (TestWebKitAPI::TEST): Added a test for TemporarilyChange. 2011-11-28 Kentaro Hara Implement [Supplemental] IDL and support it in run-bindings-tests https://bugs.webkit.org/show_bug.cgi?id=73162 Reviewed by Adam Barth. run-bindings-tests supports the [Supplemental] IDL in the following way. (1) It creates a file |x| listing all IDL files. (2) It generates a supplemental dependency file |y| using resolve-supplemental.pl and |x|. (3) For each IDL file |z|, it runs generate-bindings.pl with |y|. Then, generate-bindings.pl generates .h and .cpp files for the IDL file |z|, including all attributes in IDL files that are supplementing the IDL file |z|. * Scripts/run-bindings-tests: (generate_from_idl): (generate_supplemental_dependency): (detect_changes): (run_tests): (main): 2011-11-18 Nat Duca [chromium] Enable threaded compositing via CCThreadProxy::hasThread only https://bugs.webkit.org/show_bug.cgi?id=70838 Reviewed by James Robinson. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::resetWebSettings): * DumpRenderTree/chromium/TestShell.h: (TestShell::threadedCompositingEnabled): * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::WebViewHost): (WebViewHost::~WebViewHost): 2011-11-29 Ojan Vafai List of builders in the flakiness dashboard is out of date https://bugs.webkit.org/show_bug.cgi?id=73347 Reviewed by Adam Barth. The chromium gpu bots no longer run layout tests, so kill that group entirely. * TestResultServer/static-dashboards/builders.js: * TestResultServer/static-dashboards/dashboard_base.js: 2011-11-29 Tor Arne Vestbø [Qt] Don't hard-code the list of WebKit2 generated sources The generated sources are... wait for it... generated. So use the generator itself to figure out which sources we need to compile. Reviewed by Simon Hausmann. * qmake/mkspecs/features/default_post.prf: 2011-11-29 Martin Robinson [GTK] Add a method to detect 'make dist' errors without running 'make dist' https://bugs.webkit.org/show_bug.cgi?id=73216 Reviewed by Philippe Normand. Add a script that tries to sniff out 'make dist' problems without running 'make dist.' 'make distcheck' takes a very long time to run and this should reduce the amount of times it needs to be run consecutively. * gtk/common.py: (get_build_path.is_valid_build_directory): Guess the source directory by the existence of the GNUmakefile instead of the .libs directory. This allows one to run the script after running autogen.sh but before fully building. * gtk/find-make-dist-errors: Added. 2011-11-29 Tor Arne Vestbø [Qt] Remove use of internal headers in the MiniBrowser Reviewed by Simon Hausmann. * MiniBrowser/qt/MiniBrowser.pro: 2011-11-29 Simon Hausmann [Qt] Fix debug-shlib build without webkit2 Reviewed by Tor Arne Vestbø. * qmake/mkspecs/features/qtwebkit.prf: Respect no_webkit2. 2011-11-28 Csaba Osztrogonác [Qt][WK2] Unreviewed buildfix after r101307. * qmake/mkspecs/features/webkit2.prf: Add missing includepath. 2011-11-29 Roland Steiner