run-webkit-tests should have ability to add description to its JSON output
[WebKit-https.git] / Tools / ChangeLog
1 2012-08-06  Ryosuke Niwa  <rniwa@webkit.org>
2
3         run-webkit-tests should have ability to add description to its JSON output
4         https://bugs.webkit.org/show_bug.cgi?id=93296
5
6         Reviewed by Dirk Pranke.
7
8         Add --description option.
9
10         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
11         (PerfTestsRunner._parse_args):
12         (PerfTestsRunner._generate_and_show_results):
13         (PerfTestsRunner._generate_results_dict):
14         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
15         (test_run_with_description):
16
17 2012-08-06  Dirk Pranke  <dpranke@chromium.org>
18
19         nrwt: handle errors from image diff better
20         https://bugs.webkit.org/show_bug.cgi?id=92934
21
22         Reviewed by Ojan Vafai.
23
24         Currently if ImageDiff crashes, returns a weird exit code, or
25         produces any stderr output, it's basically swallowed. This
26         change ensures that we log errors to stderr, and also appends
27         the error to the stderr for the test (so it'll show up in
28         results.html).
29
30         Most importantly, it'll cause diff_image() to fail and we'll
31         report ImageHashMismatch ... this may be kinda untrue, but I
32         think it's better than ignoring the error.
33
34         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
35         (SingleTestRunner._compare_image):
36         (SingleTestRunner._compare_output_with_reference):
37         * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
38         (write_test_result):
39         * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:
40         (TestResultWriterTest.test_reftest_diff_image.ImageDiffTestPort.diff_image):
41         (TestResultWriterTest):
42         * Scripts/webkitpy/layout_tests/port/base.py:
43         (Port.diff_image):
44         * Scripts/webkitpy/layout_tests/port/chromium.py:
45         (ChromiumPort.diff_image):
46         * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:
47         (ChromiumPortTestCase.test_diff_image_crashed):
48         * Scripts/webkitpy/layout_tests/port/driver.py:
49         (Driver.run_test):
50         * Scripts/webkitpy/layout_tests/port/image_diff.py:
51         (ImageDiffer.diff_image):
52         (ImageDiffer._read):
53         * Scripts/webkitpy/layout_tests/port/image_diff_unittest.py:
54         (TestImageDiffer.test_diff_image):
55         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
56         (MockDRTPortTest.test_diff_image_crashed):
57         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
58         (PortTestCase.test_diff_image):
59         (PortTestCase):
60         (PortTestCase.test_diff_image_crashed):
61         (PortTestCase.test_diff_image_crashed.make_proc):
62         * Scripts/webkitpy/layout_tests/port/server_process_mock.py:
63         (MockServerProcess.__init__):
64         * Scripts/webkitpy/layout_tests/port/test.py:
65         (TestPort.diff_image):
66         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
67         (MainTest.test_tolerance.ImageDiffTestPort.diff_image):
68
69 2012-08-06  Dirk Pranke  <dpranke@chromium.org>
70
71         nrwt: clean up printing.py
72         https://bugs.webkit.org/show_bug.cgi?id=93026
73
74         Reviewed by Dirk Pranke.
75
76         This patch cleans up the implementation of printing.py now
77         that we're not using all the original complexity.
78
79         There should be no changes in functionality and everything
80         should be covered by the existing tests.
81
82         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
83         (LayoutTestRunner.run_tests):
84         * Scripts/webkitpy/layout_tests/views/printing.py:
85         (Printer.__init__):
86         (Printer.__del__):
87         (Printer.print_config):
88         (Printer.print_found):
89         (Printer.print_expected):
90         (Printer.print_workers_and_shards):
91         (Printer):
92         (Printer._print_expected_results_of_type):
93         (Printer.print_results):
94         (Printer._print_timing_statistics):
95         (Printer._print_aggregate_test_statistics):
96         (Printer._print_individual_test_times):
97         (Printer._print_test_list_timing):
98         (Printer._print_directory_timings):
99         (Printer._print_statistics_for_test_timings):
100         (Printer._print_result_summary):
101         (Printer._print_result_summary_entry):
102         (Printer._print_one_line_summary):
103         (Printer.print_finished_test):
104         (Printer._print_test_result):
105         (Printer._print_test_trace):
106         (Printer._print_baseline):
107         (Printer._print_unexpected_test_result):
108         (Printer._print_progress):
109         (Printer._print_unexpected_results):
110         (Printer._print_unexpected_results.add_result):
111         (Printer._print_quiet):
112         (Printer._print_default):
113         (Printer._print_debug):
114         (Printer._print_for_bot):
115         (Printer.write_update):
116         (Printer.writeln):
117         * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
118         (Testprinter.get_printer):
119         (Testprinter.test_print_config):
120         (Testprinter.test_print_one_line_summary):
121         (Testprinter.test_print_unexpected_results):
122         (test_details):
123
124 2012-08-06  Dirk Pranke  <dpranke@chromium.org>
125
126         change bots to pass --debug-rwt-logging instead of --verbose to new-run-webkit-tests
127         https://bugs.webkit.org/show_bug.cgi?id=93043
128
129         Reviewed by Ryosuke Niwa.
130
131         in preparation for the cleanup of the logging flags in new-run-webkit-tests.
132
133         * Scripts/run-webkit-tests:
134
135 2012-08-06  Dirk Pranke  <dpranke@chromium.org>
136
137         nrwt: clean up logging, part 1
138         https://bugs.webkit.org/show_bug.cgi?id=93018
139
140         Reviewed by Ojan Vafai.
141
142         remove --print, --help-printing from nrwt, add three new options:
143         --quiet, which just logs warnings,errors, and unexpected results
144         --debug-rwt-logging, a new name for --verbose
145         --details, to get the old --print trace-everything behavior
146
147         This patch does not implement the new "one line per test"
148         --verbose behavior specified in bug 88702, and there's a bunch
149         of internal cleanup I can do in printing.py that I'll defer to
150         a later patch to make things easier to review.
151
152         This patch deletes a lot of unit tests that are no longer
153         necessary since there aren't so many logging combinations.
154
155         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
156         (run):
157         (main):
158         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
159         (parse_args):
160         (passing_run):
161         (StreamTestingMixin.assertContains):
162         (MainTest.test_child_processes_2):
163         (MainTest.test_child_processes_min):
164         (MainTest.test_full_results_html):
165         (MainTest.test_no_tests_found):
166         (MainTest.test_no_tests_found_2):
167         (MainTest.test_repeat_each_iterations_num_tests):
168         (MainTest.test_additional_platform_directory):
169         (RebaselineTest.assertBaselines):
170         * Scripts/webkitpy/layout_tests/views/printing.py:
171         (print_options):
172         (Printer.__init__):
173         (Printer.enabled):
174         (Printer.print_unexpected_results):
175         * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
176         (TestUtilityFunctions.test_print_options):
177         (Testprinter.get_result_summary):
178         (Testprinter.test_configure_and_cleanup):
179         (Testprinter.test_print_config):
180         (Testprinter.test_print_one_line_summary):
181         (Testprinter.test_print_unexpected_results):
182         (test_details):
183         (test_default):
184         (test_quiet):
185         (test_verbose):
186
187 2012-08-06  Xianzhu Wang  <wangxianzhu@chromium.org>
188
189         [Chromium-Android] Store test executable, data and fonts in /data/local/tmp
190         https://bugs.webkit.org/show_bug.cgi?id=91910
191
192         /data/local/tmp is a directory with permission 0777 by default.
193         Place DumpRenderTree resources here so that both the native test app and
194         the NRWT script can access them even if adb shell isn't running as root.
195
196         Reviewed by Adam Barth.
197
198         * DumpRenderTree/chromium/TestShellAndroid.cpp:
199         (createFIFO): Set fifo mode to 0666 to allow unrooted adb shell to access.
200         * Scripts/webkitpy/layout_tests/port/chromium_android.py:
201         (ChromiumAndroidPort.driver_cmd_line):
202         (ChromiumAndroidDriver.__init__):
203         (ChromiumAndroidDriver._setup_test):
204         (ChromiumAndroidDriver._push_executable):
205         * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
206         (ChromiumAndroidPortTest.make_port):
207         (ChromiumAndroidPortTest.test_expectations_files):
208         (ChromiumAndroidDriverTest.test_drt_cmd_line):
209
210 2012-08-06  Abhishek Arya  <inferno@chromium.org>
211
212         [Chromium] Re-expose layoutTestController as various fuzzers depend on it
213         https://bugs.webkit.org/show_bug.cgi?id=93282
214
215         Reviewed by Ryosuke Niwa.
216
217         Unfortunately, various fuzzers used in the Chromium project still depends on
218         window.layoutTestController. Re-expose the object while they're making the transition.
219
220         * DumpRenderTree/chromium/TestShell.cpp:
221         (TestShell::bindJSObjectsToWindow):
222
223 2012-08-06  Balazs Kelemen  <kbalazs@webkit.org>
224
225         WTR should be able to load external resources
226         https://bugs.webkit.org/show_bug.cgi?id=89382
227
228         Reviewed by Ryosuke Niwa.
229
230         Allow to load an external resource as the main frame
231         and allow all subsequent external loads for such a main
232         frame. This behavior is necessary for being able to run
233         performance tests (https://bugs.webkit.org/show_bug.cgi?id=84008).
234
235         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
236         (WTR::isLocalHost):
237         (WTR):
238         (WTR::isHTTPOrHTTPSScheme):
239         (WTR::InjectedBundlePage::willSendRequestForFrame):
240
241 2012-08-06  Balazs Kelemen  <kbalazs@webkit.org>
242
243         [WK2] REGRESSION(124596) lot of web process unresponsiveness appears on Apple bots
244         https://bugs.webkit.org/show_bug.cgi?id=93120
245
246         Reviewed by Csaba Osztrogonác.
247
248         Set the short timeout back to 15 seconds and add more time to WebKitTestRunner
249         so it will be able to detect an unresponsive web process.
250
251         * Scripts/webkitpy/layout_tests/port/base.py:
252         (Port.default_timeout_ms):
253         * WebKitTestRunner/TestController.cpp:
254         (WTR):
255
256 2012-08-06  Carlos Garcia Campos  <cgarcia@igalia.com>
257
258         Unreviewed. Fix make distcheck.
259
260         * GNUmakefile.am: Add jhbuildutils.py to EXTRA_DIST.
261
262 2012-08-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
263
264         [EFL] EFL's LayoutTestController needs removeAllVisitedLinks implementation
265         https://bugs.webkit.org/show_bug.cgi?id=82724
266
267         Reviewed by Csaba Osztrogonác.
268
269         * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
270         (LayoutTestController::removeAllVisitedLinks):
271
272 2012-08-06  Mario Sanchez Prada  <msanchez@igalia.com>
273
274         [WK2][GTK] Implement a new spell checker API for WebKit2GTK+
275         https://bugs.webkit.org/show_bug.cgi?id=90268
276
277         Reviewed by Martin Robinson.
278
279         Ignore WebKitTextChecker.* private files for gtk-doc.
280
281         * gtk/generate-gtkdoc:
282         (get_webkit2_options):
283
284 2012-08-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
285
286         Unreviewed. Roll out r124728 because of build bot test fail.
287
288         * Scripts/webkitpy/common/config/watchlist:
289
290 2012-08-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
291
292         Unreviewed. Change my email address for watch list.
293
294         * Scripts/webkitpy/common/config/watchlist:
295
296 2012-08-04  Nico Weber  <thakis@chromium.org>
297
298         [Chromium Mac] Tests are exiting early due to failures to load missingImage.png
299         https://bugs.webkit.org/show_bug.cgi?id=93186
300
301         Reviewed by Ryosuke Niwa.
302
303         Add missingImage.png to DumpRenderTree.app's Resource folder.
304         Depends on http://crrev.com/150037 rolling into webkit first.
305
306         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
307
308 2012-08-03  Ryosuke Niwa  <rniwa@webkit.org>
309
310         Stop exposing window.layoutTestController in layout tests in favor of window.testRunner
311         https://bugs.webkit.org/show_bug.cgi?id=93173
312
313         Reviewed by Adam Barth.
314
315         Don't expose window.layoutTestController since all layout tests use window.testRunner
316         instead of window.layoutTestController as of r124685.
317
318         We can safely rename classes and files to use TestRunner once this patch is landed.
319
320         * DumpRenderTree/LayoutTestController.cpp:
321         (LayoutTestController::makeWindowObject):
322         * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
323         (notifyTestCompletion):
324         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
325         (PluginTest::waitUntilDone):
326         (PluginTest::notifyDone):
327         * DumpRenderTree/TestNetscapePlugIn/Tests/mac/ConvertPoint.cpp:
328         (ConvertPoint::NPP_SetWindow):
329         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
330         (handleEventCarbon):
331         (handleEventCocoa):
332         (handleEventWin):
333         * DumpRenderTree/chromium/TestShell.cpp:
334         (TestShell::bindJSObjectsToWindow):
335         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
336         (WebCore::DumpRenderTree::initJSObjects):
337         * Scripts/bencher:
338         * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
339         (WTR::LayoutTestController::makeWindowObject):
340
341 2012-08-04  Ilya Tikhonovsky  <loislo@chromium.org>
342
343         Unreviewed: Web Inspector: extend instrumenting methods set in ReportMemoryUsage clang plugin
344         Three methods addString, addVectorPtr and addInstrumentedVectorPtr were added to the list of instrumentation methods.
345
346         * clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp:
347         (clang::ReportMemoryUsageConsumer::ReportMemoryUsageConsumer):
348
349 2012-08-03  Yaron Friedman  <yfriedman@chromium.org>
350
351         [Chrome-Android] - Prepare apk tests for switch to checked in SDK.
352         https://bugs.webkit.org/show_bug.cgi?id=92931
353
354         Reviewed by Adam Barth.
355
356         Pass Android-specific gyp variables to the native test generator,
357         avoiding any dependencies on environment variables during build time.
358
359         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
360         * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:
361
362 2012-08-03  Rick Byers  <rbyers@chromium.org>
363
364         Double tap gesture should send dblclick event
365         https://bugs.webkit.org/show_bug.cgi?id=92412
366
367         Reviewed by Adam Barth.
368
369         Enable EventSender to set the tap count on tap gesture events.  The
370         delta X/Y parameters were not actually being used anymore (used to be
371         used for radius information).
372
373         * DumpRenderTree/chromium/TestRunner/EventSender.cpp:
374         (EventSender::gestureEvent):
375
376 2012-08-03  Ryosuke Niwa  <rniwa@webkit.org>
377
378         run-perf-tests should generate JSON output and results page by default
379         https://bugs.webkit.org/show_bug.cgi?id=93042
380
381         Reviewed by Eric Seidel.
382
383         Generate results JSON and page named PerfTestResults.json and PerfTestResults.html by default.
384
385         * Scripts/webkitpy/layout_tests/port/base.py:
386         (Port.perf_results_directory): Added.
387         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
388         (PerfTestsRunner): Added _DEFAULT_JSON_FILENAME.
389         (PerfTestsRunner._parse_args): Added --no-results option in the case a user doens't want to generate
390         results JSON or results page.
391         (PerfTestsRunner.run):
392         (PerfTestsRunner._generate_and_show_results): Extracted from run. Set the default json file path using
393         port's perf_results_directory and call show_results_html_file at the end if the results page is generated.
394         (PerfTestsRunner._generate_results_dict): Renamed from _generate_output to disambiguate it from
395         _generate_and_show_results.
396         (PerfTestsRunner._generate_output_files): Takes results page's path instead of a boolean indicating
397         whether results page should be generated or not.
398         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
399         (create_runner_and_setup_results_template):
400         (test_run_respects_results_output): Added.
401         (test_run_generates_json_by_default): Added.
402         (test_run_generates_and_show_results_page): Added a check to ensure show_results_html_file is called.
403
404 2012-08-03  Sheriff Bot  <webkit.review.bot@gmail.com>
405
406         Unreviewed, rolling out r124628.
407         http://trac.webkit.org/changeset/124628
408         https://bugs.webkit.org/show_bug.cgi?id=93155
409
410         Causes random crashes of DRT on Chromium bots (Requested by
411         dimich on #webkit).
412
413         * DumpRenderTree/DumpRenderTree.gypi:
414         * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp:
415         (MockWebKitPlatformSupport::createMediaStreamCenter):
416         * DumpRenderTree/chromium/MockWebKitPlatformSupport.h:
417         (MockWebKitPlatformSupport):
418         * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:
419         * DumpRenderTree/chromium/MockWebMediaStreamCenter.h:
420         * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp: Removed.
421         * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h: Removed.
422
423 2012-08-03  Brady Eidson  <beidson@apple.com>
424
425         Small part of "Out-of-process plug-ins should support asynchronous initialization."
426         <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
427
428         Reviewed by Anders Carlsson.
429
430         * WebKitTestRunner/TestController.cpp:
431         (WTR::TestController::resetStateToConsistentValues): Reset all preferences related to asynchronous plugin initialization.
432
433 2012-08-02  Jeffrey Pfau  <jpfau@apple.com>
434
435         Add API for enabling blanket third-party data blocking
436         https://bugs.webkit.org/show_bug.cgi?id=93022
437
438         Reviewed by Anders Carlsson.
439
440         Added test for default setting of new third-party storage blocking API.
441
442         * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
443         (TestWebKitAPI::TEST):
444
445 2012-08-03  Arvid Nilsson  <anilsson@rim.com>
446
447         Unreviewed, adding self to committers.py after becoming committer.
448
449         * Scripts/webkitpy/common/config/committers.py:
450
451 2012-08-03  Ádám Kallai  <kadam@inf.u-szeged.hu>
452
453         Limited the number of queried cached build infos in URLs used by Garden-o-matic.
454         https://bugs.webkit.org/show_bug.cgi?id=92992.
455
456         Reviewed by Adam Barth.
457
458         I added a limit to the cached builds that are included in the URL to avoid too long URLs in Garden-o-matic.
459
460         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
461         (.):
462         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
463
464 2012-08-03  Tommy Widenflycht  <tommyw@google.com>
465
466         [chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
467         https://bugs.webkit.org/show_bug.cgi?id=93091
468
469         Reviewed by Adam Barth.
470
471         Add a skeleton MockWebRTCPeerConnectionHandler to DumpRenderTree,
472         to complete the infrastructure for RTCPeerConnection.
473
474         * DumpRenderTree/DumpRenderTree.gypi:
475         * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp:
476         (MockWebKitPlatformSupport::createRTCPeerConnectionHandler):
477         * DumpRenderTree/chromium/MockWebKitPlatformSupport.h:
478         (MockWebKitPlatformSupport):
479         * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:
480         * DumpRenderTree/chromium/MockWebMediaStreamCenter.h:
481         * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h.
482         (MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
483         (MockWebRTCPeerConnectionHandler::initialize):
484         * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h.
485         (WebKit):
486         (MockWebRTCPeerConnectionHandler):
487         (MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
488
489 2012-08-03  Hugo Parente Lima  <hugo.lima@openbossa.org>
490
491         [Qt][WK2] There's no way to test the gesture tap on WTR
492         https://bugs.webkit.org/show_bug.cgi?id=92895
493
494         Reviewed by Kenneth Rohde Christiansen.
495
496         WTR doesn't create the QQuickItem from C++, not from QML, so a call
497         to componentComplete() was added to mimic the QML behaviour.
498
499         * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
500         (WTR::PlatformWebView::PlatformWebView):
501
502 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
503
504         Unreviewed, rolling out r124567.
505         http://trac.webkit.org/changeset/124567
506         https://bugs.webkit.org/show_bug.cgi?id=89382
507
508         Broke some tests with external resources
509
510         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
511         (WTR::InjectedBundlePage::willSendRequestForFrame):
512
513 2012-08-03  Philippe Normand  <pnormand@igalia.com>
514
515         Unreviewed, rolling out r124614.
516         http://trac.webkit.org/changeset/124614
517         https://bugs.webkit.org/show_bug.cgi?id=91727
518
519         gstreamer core .po files mess up the build again
520
521         * Scripts/webkitdirs.pm:
522         (buildAutotoolsProject):
523         * gtk/jhbuild.modules:
524
525 2012-08-03  Philippe Normand  <pnormand@igalia.com>
526
527         [GTK][jhbuild] Switch to GStreamer 0.11 build
528         https://bugs.webkit.org/show_bug.cgi?id=91727
529
530         Reviewed by Gustavo Noronha Silva.
531
532         Switch build-webkit --gtk to GStreamer 0.11 support and build the
533         necessary GStreamer git modules from JHBuild.
534
535         * Scripts/webkitdirs.pm:
536         (buildAutotoolsProject): Build WebKit with GStreamer 0.11 support.
537         * gtk/jhbuild.modules: GStreamer build support.
538
539 2012-08-03  Nico Weber  <thakis@chromium.org>
540
541         [chromium mac] DumpRenderTree compile fails with warning/error in LayoutTestHelper.mm with 10.7sdk
542         https://bugs.webkit.org/show_bug.cgi?id=92820
543
544         Reviewed by Jochen Eisinger.
545
546         When building with the 10.7 SDK, use newer functions to switch color
547         profiles. Note that these newer functions aren't available on 10.6,
548         but we don't intend to ship DRT to users, and no bots that currently
549         build with the 10.7 SDK ship their binaries to 10.6 testers.
550
551         The new code was copied from Apple's DRT/mac/LayoutTestHelper.m.
552
553         * DumpRenderTree/chromium/LayoutTestHelper.mm:
554         (installLayoutTestColorProfile):
555         (restoreUserColorProfile):
556         (saveCurrentColorProfile):
557
558 2012-08-03  Benjamin Poulain  <benjamin@webkit.org>
559
560         StringImpl created from literal should be BufferInternal
561         https://bugs.webkit.org/show_bug.cgi?id=92940
562
563         Reviewed by Anders Carlsson.
564
565         Add tests for the contruction of strings from literal.
566
567         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
568         * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added.
569         (TestWebKitAPI):
570         (TestWebKitAPI::TEST):
571         * TestWebKitAPI/Tests/WTF/StringImpl.cpp: Added.
572         (TestWebKitAPI):
573         (TestWebKitAPI::TEST):
574
575 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
576
577         [nrwt] fix unit tests after turned pixel testing to be a per test setting
578         https://bugs.webkit.org/show_bug.cgi?id=93112
579
580         Reviewed by Csaba Osztrogonác.
581
582         Change unit tests in accordance of per test switching of pixel testing.
583
584         * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
585         (ChromiumAndroidDriverTest.test_command_from_driver_input):
586         * Scripts/webkitpy/layout_tests/port/driver_unittest.py:
587         (DriverTest.test_no_timeout):
588
589 2012-08-03  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
590
591         [Qt] Populate .qmake.cache from the top-level project file
592
593         This makes it possible to build webkit without using the perl build
594         script. The duplicated logic in build-webkit will be removed when we
595         remove the Qt4 code paths. The build-webkit script will then simply
596         call 'qmake WebKit.pro' from WEBKITOUTPUTDIR.
597
598         Reviewed by Tor Arne Vestbø.
599
600         * qmake/mkspecs/features/win32/default_pre.prf:
601
602 2012-08-03  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
603
604         [Qt] Move build config default to build-webkit instead of default_pre
605
606         Allows the qmake buildsystem have its own default.
607
608         Reviewed by Tor Arne Vestbø.
609
610         * Scripts/webkitdirs.pm:
611         (buildQMakeProjects):
612         * qmake/mkspecs/features/default_pre.prf:
613
614 2012-08-03  Mario Sanchez Prada  <msanchez@igalia.com>
615
616         Unreviewed build fix for GTK after r124581.
617
618         * DumpRenderTree/gtk/DumpRenderTree.cpp:
619         (runTest): Fix wrong variable name in ASSERT.
620
621 2012-08-03  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
622
623         [Qt] Always save CONFIG & DEFINES in default_pre
624
625         Always doing it is cheaper than checking whether it needs to be done.
626         apart from that, it would break configuration initiated from another
627         project.
628
629         Reviewed by Tor Arne Vestbø.
630
631         * qmake/mkspecs/features/default_pre.prf:
632
633 2012-08-03  Joone Hur  <joone.hur@intel.com>
634
635         [EFL][DRT] fast/loader/stop-provisional-loads.html fails
636         https://bugs.webkit.org/show_bug.cgi?id=92219
637
638         Reviewed by Kenneth Rohde Christiansen.
639
640         This patch adds the ability to tell DRT to call ewk_frame_stop 
641         inside of a didStartProvisionalLoadForFrame signal handler.
642         It allows to pass fast/loader/stop-provisional-loads.html.
643
644         * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
645         (DumpRenderTreeChrome::onFrameProvisionalLoad):
646
647 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
648
649         [WTR] process unresponsiveness is reported to the wrong test
650         https://bugs.webkit.org/show_bug.cgi?id=88404
651
652         2nd unreviewed buildfix.
653
654         * WebKitTestRunner/TestInvocation.cpp:
655
656 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
657
658         [WTR] process unresponsiveness is reported to the wrong test
659         https://bugs.webkit.org/show_bug.cgi?id=88404
660
661         Unreviewed buildfix. Also made the change on the array size
662         suggested on review because I forgot it when landed.
663
664         * WebKitTestRunner/TestInvocation.cpp:
665         (WTR::TestInvocation::invoke):
666
667 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
668
669         [WTR] process unresponsiveness is reported to the wrong test
670         https://bugs.webkit.org/show_bug.cgi?id=88404
671
672         Reviewed by Zoltan Herczeg.
673
674         Do resetting to consistent state after the finished test,
675         not before the next. This way we can report unresponsiveness
676         to the test that triggered it, and we do a restart before the
677         next test so it will start in a functional state.
678
679         * Scripts/webkitpy/layout_tests/port/webkit.py:
680         (WebKitDriver._check_for_driver_crash):
681         Print the error line for unresponsive web process, otherwise
682         it's hard to tell what happened.
683         * WebKitTestRunner/TestController.cpp:
684         (WTR):
685         Decreased the default short timeout so we can detect unresponsiveness
686         before the timer of the test harness times out. It was unnecessarily
687         high anyway, we should get answer from the web process in those cases
688         when the short timeout is used in less than a second.
689         (WTR::TestController::runTest):
690         (WTR::TestController::run):
691         * WebKitTestRunner/TestController.h:
692         (TestController):
693         * WebKitTestRunner/TestInvocation.cpp:
694         (WTR::TestInvocation::invoke):
695         (WTR::TestInvocation::dump):
696         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
697         * WebKitTestRunner/TestInvocation.h:
698         (TestInvocation): Make the dump function static as it doesn't need an object.
699
700 2012-08-03  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
701
702         [EFL] (REGRESSION 124581) : EFL 64-bit Debug bot is red and build is exiting early after 20 test crashes
703         https://bugs.webkit.org/show_bug.cgi?id=93084
704
705         Reviewed by Csaba Osztrogonác.
706
707         Fix regression introduced in r124581.
708
709         * DumpRenderTree/efl/DumpRenderTree.cpp:
710         (getFinalTestURL): Convert the path into a full file URL.
711         (runTest):
712
713 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
714
715         All ports should support per test switching of pixel testing
716         https://bugs.webkit.org/show_bug.cgi?id=92398
717
718         Reviewed by Dirk Pranke.
719
720         Teach all test drivers to accept a per test control of whether
721         to dump pixels. Drivers now accept a -p/--pixel-test argument
722         on the standart input that means that running the current
723         test as pixel test is allowed (even if the expected hash is
724         missing). Removed the --pixel-tests command line option since
725         there is no need for it anymore.
726
727         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
728         * DumpRenderTree/DumpRenderTree.gypi:
729         * DumpRenderTree/DumpRenderTree.h:
730         (TestCommand::TestCommand):
731         (TestCommand):
732         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
733         * DumpRenderTree/DumpRenderTreeCommon.cpp: Added.
734         (CommandTokenizer):
735         (CommandTokenizer::CommandTokenizer):
736         (CommandTokenizer::pump):
737         (CommandTokenizer::next):
738         (CommandTokenizer::hasNext):
739         (die):
740         (parseInputLine):
741         Common logic to parse the input line from the standard input (or from the command line
742         in standalone mode). Made it somewhat general so we can easily add more arguments if
743         there is a need.
744
745         * DumpRenderTree/chromium/DumpRenderTree.cpp:
746         (runTest):
747         (main):
748
749         * DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityController.cpp.
750         * DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityController.h.
751         * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.cpp.
752         * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.h.
753         Renamed these files with a Chromium suffix because they were clashing with the common ones used by other ports after adding the root
754         DumpRenderTree directory to the include path.
755
756         * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp:
757         * DumpRenderTree/chromium/TestShell.cpp:
758         (TestShell::TestShell):
759         (TestShell::runFileTest):
760         (TestShell::dump):
761         * DumpRenderTree/chromium/TestShell.h:
762         (TestParams::TestParams):
763         (TestShell):
764         * DumpRenderTree/efl/CMakeLists.txt:
765         * DumpRenderTree/efl/DumpRenderTree.cpp:
766         (parseCommandLineOptions):
767         (runTest):
768         (shouldDumpPixelsAndCompareWithExpected):
769         (main):
770         * DumpRenderTree/gtk/DumpRenderTree.cpp:
771         (initializeGlobalsFromCommandLineOptions):
772         (dump):
773         (runTest):
774         (main):
775         * DumpRenderTree/mac/DumpRenderTree.mm:
776         (initializeGlobalsFromCommandLineOptions):
777         (dumpRenderTree):
778         (dump):
779         (runTest):
780         * DumpRenderTree/qt/DumpRenderTree.pro:
781         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
782         (WebCore::DumpRenderTree::DumpRenderTree):
783         (WebCore::DumpRenderTree::open):
784         (WebCore::DumpRenderTree::processLine):
785         (WebCore::DumpRenderTree::dump):
786         * DumpRenderTree/qt/DumpRenderTreeQt.h:
787         (DumpRenderTree):
788         * DumpRenderTree/qt/main.cpp:
789         (isOption):
790         (printUsage):
791         (main):
792         * DumpRenderTree/win/DumpRenderTree.cpp:
793         (dump):
794         (runTest):
795         (dllLauncherEntryPoint):
796         * DumpRenderTree/win/DumpRenderTree.vcproj:
797         * DumpRenderTree/wscript:
798         * DumpRenderTree/wx/DumpRenderTreeWx.cpp:
799         (dump):
800         (runTest):
801         (MyApp::OnInit):
802         * GNUmakefile.am:
803
804         * Scripts/old-run-webkit-tests:
805         * Scripts/old-run-webkit-tests:
806         Pass --pixel-test before the hash.
807
808         * Scripts/webkitpy/layout_tests/port/base.py:
809         (Port.should_run_as_pixel_test): Removed now that all ports supports it.
810         * Scripts/webkitpy/layout_tests/port/driver.py:
811         (Driver.cmd_line): Don't pass --pixel-tests anymore.
812         (Driver._command_from_driver_input):
813         * Scripts/webkitpy/layout_tests/port/qt.py:
814         (QtPort.should_run_as_pixel_test):
815         * Scripts/webkitpy/layout_tests/port/test.py:
816         (TestPort.should_run_as_pixel_test):
817
818         * WebKitTestRunner/TestController.cpp:
819         (WTR::TestController::TestController):
820         (WTR::TestController::initialize):
821         (WTR::TestCommand::TestCommand):
822         (TestCommand):
823         (WTR):
824         (CommandTokenizer):
825         (WTR::CommandTokenizer::CommandTokenizer):
826         (WTR::CommandTokenizer::pump):
827         (WTR::CommandTokenizer::next):
828         (WTR::CommandTokenizer::hasNext):
829         (WTR::die):
830         (WTR::parseInputLine):
831         (WTR::TestController::runTest):
832         * WebKitTestRunner/TestController.h:
833         (TestController):
834         Duplicate the logic for parsing the command line because
835         unfortunately there is no way to share code between
836         WebKitTestRunner and DumpRenderTree.
837
838 2012-08-03  Ilya Tikhonovsky  <loislo@chromium.org>
839
840         Web Inspector: clang plugin for checking native memory instrumentation coverage.
841         https://bugs.webkit.org/show_bug.cgi?id=92650
842
843         Reviewed by Yury Semikhatsky.
844
845         This is the clang plugin for checking native memory instrumentation coverage.
846         The idea: InspectorMemoryAgent traverses through instrumented objects and collects pointers and their sizes and types.
847         It is doing that with help of reportMemoryUsage function that needs to be implemented in each, significant
848         from native memory footprint point of view, WebCore class.
849         This plugin checks that the list of class members is matching with the list of members reported in reportMemoryUsage function
850         and makes a warning for the each member that needs to be reported.
851
852         * clang/ReportMemoryUsagePlugin/CMakeLists.txt: Added.
853         * clang/ReportMemoryUsagePlugin/Makefile: Added.
854         * clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp: Added.
855         (clang):
856         (AddMemberCallVisitor):
857         (clang::AddMemberCallVisitor::VisitCallExpr):
858         (clang::AddMemberCallVisitor::instrumentedMembers):
859         (ReportMemoryUsageVisitor):
860         (clang::ReportMemoryUsageVisitor::ReportMemoryUsageVisitor):
861         (clang::ReportMemoryUsageVisitor::VisitCXXMethodDecl):
862         (clang::ReportMemoryUsageVisitor::emitWarning):
863         (clang::ReportMemoryUsageVisitor::findInstrumentationMethod):
864         (clang::ReportMemoryUsageVisitor::needsToBeInstrumented):
865         (clang::ReportMemoryUsageVisitor::CheckMembersCoverage):
866         (ReportMemoryUsageConsumer):
867         (clang::ReportMemoryUsageConsumer::ReportMemoryUsageConsumer):
868         (clang::ReportMemoryUsageConsumer::HandleTranslationUnit):
869         (ReportMemoryUsageAction):
870         (clang::ReportMemoryUsageAction::CreateASTConsumer):
871         (clang::ReportMemoryUsageAction::ParseArgs):
872         * clang/ReportMemoryUsagePlugin/tests/Source/WebCore/Test.cpp: Added.
873         (aNamespace):
874         (MemoryInstrumentation):
875         (MemoryClassInfo):
876         (aNamespace::MemoryClassInfo::MemoryClassInfo):
877         (aNamespace::MemoryClassInfo::addMember):
878         (aNamespace::MemoryClassInfo::addInstrumentedMember):
879         (OwnPtr):
880         (aNamespace::OwnPtr::OwnPtr):
881         (RefPtr):
882         (aNamespace::RefPtr::RefPtr):
883         (Vector):
884         (String):
885         (NotInstrumentedClass):
886         (InstrumentedClass):
887         (aNamespace::InstrumentedClass::reportMemoryUsage):
888         (InstrumentedChildClass):
889         (aNamespace::InstrumentedChildClass::reportMemoryUsage):
890         (InstrumentedChildChildClass):
891         (InstrumentedChildChildClass::reportMemoryUsage):
892         (main):
893
894 2012-08-03  Joone Hur  <joone.hur@intel.com>
895
896         [EFL][DRT] WebKitAnimation API compile-time disabled
897         https://bugs.webkit.org/show_bug.cgi?id=84593
898
899         Reviewed by Laszlo Gombos.
900
901         Enable ENABLE_ANIMATION_API by default on the Efl port.
902
903         * Scripts/webkitperl/FeatureList.pm:
904
905 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
906
907         WTR should be able to load external resources
908         https://bugs.webkit.org/show_bug.cgi?id=89382
909
910         Reviewed by Ryosuke Niwa.
911
912         Allow to load an external resource as the main frame
913         and allow all subsequent external loads for such a main
914         frame. This behavior is necessary for being able to run
915         performance tests (wkb.ug/84008).
916
917         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
918         (WTR::isLocalHost):
919         (WTR):
920         (WTR::isHTTPOrHTTPSScheme):
921         (WTR::InjectedBundlePage::willSendRequestForFrame):
922
923 2012-08-02  Joone Hur  <joone.hur@intel.com>
924
925         [GTK] Build break when building DumpRenderTree/gtk/EditingCallbacks.cpp
926         https://bugs.webkit.org/show_bug.cgi?id=93061
927
928         Unreviewed, Fix build break for WebKitGtk+.
929
930         Use webkit_dom_element_get_class_name instead of webkit_dom_html_element_get_class_name.
931
932         * DumpRenderTree/gtk/EditingCallbacks.cpp:
933         (shouldShowDeleteInterfaceForElement):
934
935 2012-08-02  Dirk Pranke  <dpranke@chromium.org>
936
937         test-webkitpy can fail on a clean checkout
938         https://bugs.webkit.org/show_bug.cgi?id=93039
939
940         Reviewed by Adam Barth.
941
942         Now that we run tests in parallel that can cause the installer
943         to try and install packages in parallel (even the same package),
944         and that probably won't work. We fix this by autoinstalling
945         everything up front (serially).
946
947         * Scripts/webkitpy/test/main.py:
948         (Tester._run_tests):
949         * Scripts/webkitpy/thirdparty/__init__.py:
950         (autoinstall_everything):
951
952 2012-06-15  David Barton  <dbarton@mathscribe.com>
953
954         MathML: nested square root symbols have varying descenders
955         https://bugs.webkit.org/show_bug.cgi?id=43819
956
957         Reviewed by Eric Seidel.
958
959         Allow the STIXGeneral font to be used during layout tests, especially for MathML.
960
961         * DumpRenderTree/mac/DumpRenderTree.mm:
962         (allowedFontFamilySet):
963         * WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
964         (WTR::allowedFontFamilySet):
965
966 2012-08-02  Dirk Pranke  <dpranke@chromium.org>
967
968         test-webkitpy: some tests need to run by themselves
969         https://bugs.webkit.org/show_bug.cgi?id=92926
970
971         Reviewed by Ojan Vafai.
972
973         Due to timing issues some of the executive tests will collide
974         and fail if they're run concurrently. This patch adds support
975         for writing tests that will be executed one at a time
976         (serially); to get them, add "serial_" to the front of the test
977         method name. 
978
979         * Scripts/webkitpy/common/system/executive_unittest.py:
980         (ExecutiveTest.serial_test_kill_process):
981         (ExecutiveTest.serial_test_kill_all):
982         (ExecutiveTest.serial_test_check_running_pid):
983         (ExecutiveTest.serial_test_running_pids):
984         (ExecutiveTest.serial_test_run_in_parallel):
985         * Scripts/webkitpy/test/main.py:
986         (Tester._run_tests):
987         (Tester._test_names):
988
989 2012-08-02  Dirk Pranke  <dpranke@chromium.org>
990
991         test-webkitpy: integrate proper support for integration tests
992         https://bugs.webkit.org/show_bug.cgi?id=92925
993
994         Reviewed by Ojan Vafai.
995
996         This patch merges the custom loader I used for integration tests
997         into the main test-webkitpy code. Integration tests are not run
998         by default yet, but at least they can be run.
999
1000         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
1001         (MockTestShellTest.test_test_shell_parse_options):
1002         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
1003         (test_path_to_apache_config_file):
1004         * Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
1005         (WebsocketserverTest):
1006         * Scripts/webkitpy/test/main.py:
1007         (Tester._parse_args):
1008         (Tester._run_tests):
1009         (Tester._test_names):
1010         (Tester._log_exception):
1011         (_Loader):
1012         (_Loader.getTestCaseNames):
1013         (_Loader.getTestCaseNames.isTestMethod):
1014
1015 2012-08-02  Dirk Pranke  <dpranke@chromium.org>
1016
1017         test-webkitpy: clean up runner in preparation for running tests serially as necessary
1018         https://bugs.webkit.org/show_bug.cgi?id=92922
1019
1020         Reviewed by Ojan Vafai.
1021
1022         In order to run some tests by themselves (serially, rather than
1023         in parallel with other tests), we will need to be able to run
1024         multiple test suites; this causes us to move loading the logic
1025         for finding test method names out of the runner and into main.
1026
1027         I'm taking advantage of this to simplify some other stuff from
1028         the runner as well; it is now very simple and doesn't expose its
1029         dependency on unittest.TestResult at all (nor will the Printer
1030         use TestResult).
1031
1032         Subsequent patches will move the custom loader from
1033         port_testcase so that we can properly choose whether to run
1034         integration tests and/or serial tests, and then update the
1035         appropriate tests to run only serially.
1036
1037         * Scripts/webkitpy/test/main.py:
1038         (Tester._run_tests):
1039         (Tester):
1040         (Tester._check_imports):
1041         (Tester._test_names):
1042         (Tester._all_test_names):
1043         * Scripts/webkitpy/test/printer.py:
1044         (Printer.__init__):
1045         (Printer.write_update):
1046         (Printer):
1047         (Printer.print_finished_test):
1048         (Printer.print_result):
1049         * Scripts/webkitpy/test/runner.py:
1050         (unit_test_name):
1051         (Runner.__init__):
1052         (Runner.run):
1053         (Runner.handle):
1054         (_Worker.handle):
1055         * Scripts/webkitpy/test/runner_unittest.py:
1056         (FakeLoader.loadTestsFromName):
1057         (RunnerTest.test_run):
1058
1059 2012-08-02  Adam Barth  <abarth@webkit.org>
1060
1061         Turn on tests for the mac-ews, for realz this time.
1062
1063         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1064         (MacEWS):
1065
1066 2012-08-02  Xianzhu Wang  <wangxianzhu@chromium.org>
1067
1068         [Chromium-Android] Run layout tests on multiple devices in parallel
1069         https://bugs.webkit.org/show_bug.cgi?id=92877
1070
1071         Reviewed by Dirk Pranke.
1072
1073         Moved methods that run command on a particular device from ChromiumAndroidPort to ChromiumAndroidDriver.
1074         The drivers run adb commands with the '-s serial_number' parameter which specifies the device according to the work_number.
1075
1076         * Scripts/webkitpy/layout_tests/port/chromium_android.py:
1077         (ChromiumAndroidPort.__init__):
1078         (ChromiumAndroidPort.default_child_processes): Default to the number of attached devices.
1079         (ChromiumAndroidPort.test_expectations): Removed because it is unused. 
1080         (ChromiumAndroidPort.setup_test_run): Most contents moved into ChromiumAndroidDriver._setup_test()
1081         (ChromiumAndroidPort.clean_up_test_run): Now the http server is stopped here.
1082         (ChromiumAndroidPort._get_devices):
1083         (ChromiumAndroidPort._get_device_serial):
1084         (ChromiumAndroidDriver):
1085         (ChromiumAndroidDriver.__init__):
1086         (ChromiumAndroidDriver.__del__):
1087         (ChromiumAndroidDriver._setup_test): Original contents of ChromiumAndroidPort.setup_test_run().
1088         (ChromiumAndroidDriver._push_executable): Moved from ChromiumAndroidPort.
1089         (ChromiumAndroidDriver._push_fonts): Moved from ChromiumAndroidPort.
1090         (ChromiumAndroidDriver._push_test_resources): Moved from ChromiumAndroidPort.
1091         (ChromiumAndroidDriver._synchronize_datetime): Moved from ChromiumAndroidPort.
1092         (ChromiumAndroidDriver._run_adb_command): Moved from ChromiumAndroidPort.
1093         (ChromiumAndroidDriver._teardown_performance): Moved from ChromiumAndroidPort.
1094         (ChromiumAndroidDriver._get_crash_log): Moved from ChromiumAndroidPort.
1095         (ChromiumAndroidDriver.cmd_line):
1096         (ChromiumAndroidDriver._file_exists_on_device):
1097         (ChromiumAndroidDriver._remove_all_pipes):
1098         (ChromiumAndroidDriver._start):
1099         (ChromiumAndroidDriver._start_once):
1100         (ChromiumAndroidDriver.stop):
1101         * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
1102         (MockRunCommand):
1103         (MockRunCommand.__init__):
1104         (MockRunCommand.mock_run_command_fn):
1105         (MockRunCommand.mock_no_device):
1106         (MockRunCommand.mock_one_device):
1107         (MockRunCommand.mock_two_devices):
1108         (MockRunCommand.mock_no_tombstone_dir):
1109         (MockRunCommand.mock_no_tombstone_file):
1110         (MockRunCommand.mock_ten_tombstones):
1111         (MockRunCommand.mock_logcat):
1112         (ChromiumAndroidPortTest):
1113         (ChromiumAndroidPortTest.make_port):
1114         (ChromiumAndroidPortTest.test_driver_cmd_line):
1115         (ChromiumAndroidPortTest.test_get_devices_no_device):
1116         (ChromiumAndroidPortTest.test_get_devices_one_device):
1117         (ChromiumAndroidPortTest.test_get_devices_two_devices):
1118         (ChromiumAndroidPortTest.test_get_device_serial_no_device):
1119         (ChromiumAndroidPortTest.test_get_device_serial_one_device):
1120         (ChromiumAndroidPortTest.test_get_device_serial_two_devices):
1121         (ChromiumAndroidDriverTest):
1122         (ChromiumAndroidDriverTest.setUp):
1123         (ChromiumAndroidDriverTest.test_get_last_stacktrace):
1124         (ChromiumAndroidDriverTest.test_get_crash_log):
1125         (ChromiumAndroidDriverTest.test_cmd_line):
1126         (ChromiumAndroidDriverTwoDriversTest):
1127         (ChromiumAndroidDriverTwoDriversTest.test_two_drivers):
1128         * Scripts/webkitpy/layout_tests/port/driver.py:
1129         (Driver.run_test):
1130         (Driver._get_crash_log): Added to allow subclasses to override.
1131         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1132         (parse_args): Removed the --adb-args command-line parameter because now we select device automatically. Added --adb-device to specify devices.
1133
1134 2012-08-02  Dinu Jacob  <dinu.jacob@nokia.com>
1135
1136         WebKitTestRunner needs layoutTestController.setUserStyleSheetEnabled
1137         https://bugs.webkit.org/show_bug.cgi?id=42679
1138
1139         Reviewed by Eric Seidel.
1140
1141         * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added 
1142         setUserStyleSheetEnabled and setUserStyleSheetLocation.
1143         * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
1144         (WTR::LayoutTestController::LayoutTestController): Initialize new members added.
1145         (WTR::LayoutTestController::setUserStyleSheetEnabled): Added.
1146         (WTR::LayoutTestController::setUserStyleSheetLocation): Added.
1147         * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Added members
1148         userStyleSheetEnabled, and m_userStyleSheetLocation and methods
1149         setUserStyleSheetEnabled, and setUserStyleSheetLocation.
1150
1151 2012-08-02  Hans Wennborg  <hans@chromium.org>
1152
1153         Speech JavaScript API: Fire speech start event at the same time as sound start event
1154         https://bugs.webkit.org/show_bug.cgi?id=92971
1155
1156         Reviewed by Adam Barth.
1157
1158         Update the MockWebSpeechRecognizer to not fire "speech started" events
1159         separately.
1160
1161         * DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:
1162         (MockWebSpeechRecognizer::start):
1163
1164 2012-08-02  Philippe Normand  <pnormand@igalia.com>
1165
1166         [GTK] make sometimes using a single core
1167         https://bugs.webkit.org/show_bug.cgi?id=92998
1168
1169         Reviewed by Martin Robinson.
1170
1171         In the GTK 64-bit Release buildbot some builds use a single core
1172         for the make process. I suspect this is because in those cases
1173         nproc reports a single core available. The proposed solution is to
1174         always rely on all the cores available in the machine.
1175
1176         * Scripts/webkitdirs.pm:
1177         (determineNumberOfCPUs):
1178
1179 2012-08-02  Adam Barth  <abarth@webkit.org>
1180
1181         Re-land http://trac.webkit.org/changeset/94441 now that lforschler is ready.
1182
1183         This patch enables testing on the mac-ews bots.
1184
1185         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1186
1187 2012-08-02  Adam Barth  <abarth@webkit.org>
1188
1189         [Chromium] Merge final nits to DumpRenderTree.gyp for Android
1190         https://bugs.webkit.org/show_bug.cgi?id=90920
1191
1192         Reviewed by Tony Chang.
1193
1194         This patch contains the last few small changes to DumpRenderTree.gyp
1195         from the chromium-android branch. After this change, this file will be
1196         fully merged.
1197
1198         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
1199
1200 2012-08-02  Peter Beverloo  <peter@chromium.org>
1201
1202         [Chromium] Toggle the type of ant compile for webkit_unit_tests and TestWebKitAPI
1203         https://bugs.webkit.org/show_bug.cgi?id=92858
1204
1205         Reviewed by Adam Barth.
1206
1207         Now that the sdk_build variable is available, we can remove these two differences
1208         as well. This goes together with Adam's bug 90920.
1209
1210         After this patch, the whole Tools/ directory will be unforked :-).
1211
1212         * TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:
1213
1214 2012-08-02  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1215
1216         [Qt] MSVC specific buildfix for DRT.
1217         https://bugs.webkit.org/show_bug.cgi?id=92978
1218
1219         Reviewed by Simon Hausmann.
1220
1221         DumpRenderTree/qt subdirectory is missing from generated makefile under MSVC build, need to be added to the pro file.
1222
1223         * DumpRenderTree/qt/DumpRenderTree.pro:
1224
1225 2012-08-02  Alexander Shalamov  <alexander.shalamov@intel.com>
1226
1227         [EFL][WK2] WTR is failing when X server is not running
1228         https://bugs.webkit.org/show_bug.cgi?id=92719
1229
1230         Reviewed by Hajime Morita.
1231
1232         EFL's WebKitTestRunner doesn't execute tests when X server is not running.
1233         This patch fixes the problem by checking environment variable before ecore x initialization.
1234
1235         * Scripts/webkitpy/layout_tests/port/efl.py:
1236         (EflPort.setup_environ_for_server):
1237         * WebKitTestRunner/efl/main.cpp:
1238         (main):
1239
1240 2012-08-01  Dirk Pranke  <dpranke@chromium.org>
1241
1242         REGRESSION(r123893): Reftest mismatches are run through ImageDiff with 0.1 tolerance
1243         https://bugs.webkit.org/show_bug.cgi?id=92847
1244
1245         Reviewed by Ojan Vafai.
1246
1247         I was failing to distinguish between 'None' and 0 :(. Fixed and added tests.
1248
1249         * Scripts/webkitpy/layout_tests/port/base.py:
1250         (Port.diff_image):
1251         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
1252         (PortTestCase.test_diff_image.make_proc):
1253         (PortTestCase.test_diff_image):
1254
1255 2012-08-01  Dirk Pranke  <dpranke@chromium.org>
1256
1257         test-webkitpy: clean up handling of tests to skip
1258         https://bugs.webkit.org/show_bug.cgi?id=92909
1259
1260         Reviewed by Ryosuke Niwa.
1261
1262         This change moves the handling of tests to skip into main.py
1263         where it is at least slightly more findable and generic.
1264
1265         Also fix a couple of lint nits.
1266
1267         * Scripts/webkitpy/test/finder.py:
1268         (Finder.__init__):
1269         (Finder.skip):
1270         (Finder._default_names):
1271         * Scripts/webkitpy/test/main.py:
1272         (main):
1273         (Tester.skip):
1274         * Scripts/webkitpy/test/main_unittest.py:
1275         (TesterTest.test_no_tests_found):
1276         * Scripts/webkitpy/test/runner_unittest.py:
1277
1278 2012-08-01  Dirk Pranke  <dpranke@chromium.org>
1279
1280         test-webkitpy: remove --skip-integrationtests flag
1281         https://bugs.webkit.org/show_bug.cgi?id=92907
1282
1283         Reviewed by Ryosuke Niwa.
1284
1285         This flag is no longer used since the tests complete quickly.
1286         
1287         Also clean up the unused skip_if_parallel arg in finder, and
1288         make a couple of lint fixes.
1289
1290         * Scripts/webkitpy/test/finder.py:
1291         (Finder.find_names):
1292         (Finder._default_names):
1293         * Scripts/webkitpy/test/finder_unittest.py:
1294         (FinderTest.check_names):
1295         (FinderTest.test_default_names):
1296         * Scripts/webkitpy/test/main.py:
1297         (Tester._parse_args):
1298         (Tester.run):
1299         * Scripts/webkitpy/test/main_unittest.py:
1300         (TesterTest.test_no_tests_found):
1301
1302 2012-08-01  Ryosuke Niwa  <rniwa@webkit.org>
1303
1304         Generalize SheriffIRCBot to prepare for PerfBot
1305         https://bugs.webkit.org/show_bug.cgi?id=92912
1306
1307         Reviewed by Adam Barth.
1308
1309         Renamed SheriffIRCBot to IRCBot and generalized to support non-sheriffbot IRC bot in the future.
1310         This will be useful when I add an experimental perf EWS IRC bot.
1311
1312         * Scripts/webkitpy/tool/bot/irc_command.py:
1313         (Whois.execute):
1314         * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
1315         (IRCCommandTest):
1316         * Scripts/webkitpy/tool/bot/ircbot.py: Moved from Tools/Scripts/webkitpy/tool/bot/sheriffircbot.py.
1317         (Eliza): Moved from irc_command.
1318         (Eliza.__init__):
1319         (Eliza.execute):
1320         (IRCBot):
1321         (IRCBot.__init__):
1322         (IRCBot.irc_delegate):
1323         (IRCBot._parse_command_and_args):
1324         (IRCBot.process_message):
1325         * Scripts/webkitpy/tool/bot/ircbot_unittest.py: Moved from Tools/Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py.
1326         (run):
1327         (IRCBotTest):
1328         (IRCBotTest.test_eliza): Moved from IRCCommandTest.
1329         (IRCBotTest.test_parse_command_and_args):
1330         (IRCBotTest.test_exception_during_command):
1331         * Scripts/webkitpy/tool/bot/sheriffircbot.py: Removed.
1332         * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: Removed.
1333         * Scripts/webkitpy/tool/commands/sheriffbot.py:
1334         (SheriffBot.begin_work_queue):
1335         * Scripts/webkitpy/webkitpy.pyproj:
1336
1337 2012-08-01  Dirk Pranke  <dpranke@chromium.org>
1338
1339         nrwt: reenable the test for --verbose working in child processes
1340         https://bugs.webkit.org/show_bug.cgi?id=92894
1341
1342         Reviewed by Ryosuke Niwa.
1343
1344         This change rewrites the test to not use outputcapture, meaning
1345         that the MockHost can propagate to Worker properly and things
1346         work again :).
1347
1348         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1349         (MainTest.test_verbose_in_child_processes):
1350
1351 2012-08-01  Ryosuke Niwa  <rniwa@webkit.org>
1352
1353         run-perf-tests --build-directory doesn't work
1354         https://bugs.webkit.org/show_bug.cgi?id=92051
1355
1356         Reviewed by Dirk Pranke.
1357
1358         The bug was caused by not prepending build_directory even when one is defined.
1359         Fixed that.
1360
1361         * Scripts/webkitpy/layout_tests/port/base.py:
1362         (Port._build_path):
1363         * Scripts/webkitpy/layout_tests/port/base_unittest.py:
1364         (PortTest.test_build_path):
1365
1366 2012-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1367
1368         Unreviewed, rolling out r123865.
1369         http://trac.webkit.org/changeset/123865
1370         https://bugs.webkit.org/show_bug.cgi?id=92891
1371
1372         This patch is causing the style-queue to fall behind
1373         (Requested by abarth on #webkit).
1374
1375         * Scripts/webkitpy/tool/commands/queues.py:
1376         (AbstractReviewQueue.begin_work_queue):
1377         (StyleQueue.__init__):
1378         * Scripts/webkitpy/tool/commands/queues_unittest.py:
1379         (StyleQueueTest.test_style_queue_with_style_exception):
1380         (test_style_queue_with_watch_list_exception):
1381
1382 2012-08-01  Ryosuke Niwa  <rniwa@webkit.org>
1383
1384         run-perf-tests throws an exception when the output json is malformed
1385         https://bugs.webkit.org/show_bug.cgi?id=92887
1386
1387         Reviewed by Dirk Pranke.
1388
1389         Catch exceptions and gracefully fail. Also split _generate_json into smaller methods.
1390
1391         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
1392         (PerfTestsRunner):
1393         (PerfTestsRunner.run):
1394         (PerfTestsRunner._generate_output): Extracted from _generate_json.
1395         (PerfTestsRunner._merge_source_json): Ditto; catch all exceptions since they are too many
1396         exceptions to consder here.
1397         (PerfTestsRunner._merge_outputs): Ditto.
1398         (PerfTestsRunner._generate_output_files): Extracted from _generate_json.
1399         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
1400         (_test_run_with_json_output): Don't assert logs when we except an non-zero exit code.
1401         (create_runner_and_setup_results_template): Extracted from test_run_generates_results_page.
1402         (test_run_generates_results_page):
1403         (test_run_with_bad_output_json): Added.
1404         (test_run_with_bad_json_source): Added.
1405         (test_run_with_upload_json):
1406
1407 2012-08-01  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1408
1409         Regression(r124135): nrwt: --verbose logging does not work right on windows
1410         https://bugs.webkit.org/show_bug.cgi?id=92845
1411
1412         Reviewed by Dirk Pranke.
1413
1414         Disabled the failing test. The Workers spawned by this test are using Host()
1415         instead of MockHost() and trying to access the real filesystem instead of the
1416         MockFilesytem.
1417
1418         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1419         (MainTest.disabled_test_verbose):
1420
1421 2012-08-01  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1422
1423         keyring.get_password may raise an exception.
1424         https://bugs.webkit.org/show_bug.cgi?id=92876
1425
1426         Reviewed by Dirk Pranke.
1427
1428         keyring.get_password sometimes raises an exception. We wrap this call,
1429         and also set_password to avoid breaking webkit-patch in that case.
1430
1431         * Scripts/webkitpy/common/net/credentials.py:
1432         (Credentials._offer_to_store_credentials_in_keyring):
1433         (Credentials.read_credentials):
1434
1435 2012-08-01  Xianzhu Wang  <wangxianzhu@chromium.org>
1436
1437         Layout Test fast/text/descent-clip-in-scaled-page.html is failing on linux since it was added
1438         https://bugs.webkit.org/show_bug.cgi?id=91386
1439
1440         Reviewed by Tony Chang.
1441
1442         Added font mapping from SubpixelPositioningAhem to Ahem on Linux and Android
1443         (used in layout test fast/text/descent-clip-in-scaled-page.html).
1444         Added font mapping from SubpixelPositioning to Times New Roman on Android to match Linux
1445         (used in platform/chromium-linux/fast/text/chromium-linux-text-subpixel-positioning.html)
1446
1447         * DumpRenderTree/chromium/android_main_fonts.xml:
1448         * DumpRenderTree/chromium/fonts.conf:
1449
1450 2012-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1451
1452         Unreviewed, rolling out r124325.
1453         http://trac.webkit.org/changeset/124325
1454         https://bugs.webkit.org/show_bug.cgi?id=92865
1455
1456         broke android build (Requested by mnaganov on #webkit).
1457
1458         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
1459
1460 2012-08-01  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1461
1462         [EFL] Dump a backtrace in case of a crash on the UIProcess
1463         https://bugs.webkit.org/show_bug.cgi?id=92843
1464
1465         Reviewed by Csaba Osztrogonác.
1466
1467         We are already dumping the backtraces when automated tests are
1468         crashing, but only for the WebProcess. This patch adds the same
1469         hooks for the UIProcess.
1470
1471         * TestWebKitAPI/efl/main.cpp:
1472         (main):
1473         * WebKitTestRunner/efl/main.cpp:
1474         (main):
1475
1476 2012-08-01  Adam Barth  <abarth@webkit.org>
1477
1478         [Chromium] Merge final nits to DumpRenderTree.gyp for Android
1479         https://bugs.webkit.org/show_bug.cgi?id=90920
1480
1481         Reviewed by Tony Chang.
1482
1483         This patch contains the last few small changes to DumpRenderTree.gyp
1484         from the chromium-android branch. After this change, this file will be
1485         fully merged.
1486
1487         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
1488
1489 2012-08-01  Csaba Osztrogonác  <ossy@webkit.org>
1490
1491         [Qt] ImageDiff should use float division instead of integer
1492         https://bugs.webkit.org/show_bug.cgi?id=92859
1493
1494         Reviewed by Zoltan Herczeg.
1495
1496         * DumpRenderTree/qt/ImageDiff.cpp:
1497         (main):
1498
1499 2012-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1500
1501         Unreviewed, rolling out r124313.
1502         http://trac.webkit.org/changeset/124313
1503         https://bugs.webkit.org/show_bug.cgi?id=92855
1504
1505         Compilation failed on Chromium ports (Requested by yosin on
1506         #webkit).
1507
1508         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
1509         * DumpRenderTree/DumpRenderTree.gypi:
1510         * DumpRenderTree/DumpRenderTree.h:
1511         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
1512         * DumpRenderTree/DumpRenderTreeCommon.cpp: Removed.
1513         * DumpRenderTree/chromium/DumpRenderTree.cpp:
1514         (runTest):
1515         (main):
1516         * DumpRenderTree/chromium/TestShell.cpp:
1517         (TestShell::TestShell):
1518         (TestShell::runFileTest):
1519         (TestShell::dump):
1520         * DumpRenderTree/chromium/TestShell.h:
1521         (TestParams):
1522         (TestParams::TestParams):
1523         (TestShell):
1524         * DumpRenderTree/efl/CMakeLists.txt:
1525         * DumpRenderTree/efl/DumpRenderTree.cpp:
1526         (parseCommandLineOptions):
1527         (getFinalTestURL):
1528         (getExpectedPixelHash):
1529         (runTest):
1530         (shouldDumpPixelsAndCompareWithExpected):
1531         (main):
1532         * DumpRenderTree/gtk/DumpRenderTree.cpp:
1533         (initializeGlobalsFromCommandLineOptions):
1534         (dump):
1535         (runTest):
1536         (main):
1537         * DumpRenderTree/mac/DumpRenderTree.mm:
1538         (initializeGlobalsFromCommandLineOptions):
1539         (dumpRenderTree):
1540         (dump):
1541         (runTest):
1542         * DumpRenderTree/qt/DumpRenderTree.pro:
1543         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
1544         (WebCore::DumpRenderTree::processLine):
1545         * DumpRenderTree/win/DumpRenderTree.cpp:
1546         (dump):
1547         (runTest):
1548         (dllLauncherEntryPoint):
1549         * DumpRenderTree/win/DumpRenderTree.vcproj:
1550         * DumpRenderTree/wscript:
1551         * DumpRenderTree/wx/DumpRenderTreeWx.cpp:
1552         (dump):
1553         (runTest):
1554         (MyApp::OnInit):
1555         * GNUmakefile.am:
1556         * Scripts/old-run-webkit-tests:
1557         * Scripts/webkitpy/layout_tests/port/base.py:
1558         (Port.supports_switching_pixel_tests_per_test):
1559         (Port):
1560         (Port._supports_switching_pixel_tests_per_test):
1561         (Port.should_run_as_pixel_test):
1562         * Scripts/webkitpy/layout_tests/port/driver.py:
1563         (Driver.cmd_line):
1564         (Driver._command_from_driver_input):
1565         * Scripts/webkitpy/layout_tests/port/qt.py:
1566         (QtPort._supports_switching_pixel_tests_per_test):
1567         * Scripts/webkitpy/layout_tests/port/test.py:
1568         (TestPort.supports_switching_pixel_tests_per_test):
1569         * WebKitTestRunner/TestController.cpp:
1570         (WTR::TestController::TestController):
1571         (WTR::TestController::initialize):
1572         (WTR::TestController::runTest):
1573         * WebKitTestRunner/TestController.h:
1574         (TestController):
1575
1576 2012-08-01  Balazs Kelemen  <kbalazs@webkit.org>
1577
1578         All ports should support per test switching of pixel testing
1579         https://bugs.webkit.org/show_bug.cgi?id=92398
1580
1581         Reviewed by Dirk Pranke.
1582
1583         Teach all test drivers to accept a per test control of whether
1584         to dump pixels. Drivers now accept a -p/--pixel-test argument
1585         on the standart input that means that running the current
1586         test as pixel test is allowed (even if the expected hash is
1587         missing). Removed the --pixel-tests command line option since
1588         there is no need for it anymore.
1589
1590         * DumpRenderTree/DumpRenderTree.gypi:
1591         * DumpRenderTree/DumpRenderTree.h:
1592         (TestCommand::TestCommand):
1593         (TestCommand):
1594         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
1595         * DumpRenderTree/DumpRenderTreeCommon.cpp: Added.
1596         (CommandTokenizer):
1597         (CommandTokenizer::CommandTokenizer):
1598         (CommandTokenizer::pump):
1599         (CommandTokenizer::next):
1600         (CommandTokenizer::hasNext):
1601         (die):
1602         (parseInputLine):
1603         Common logic to parse the input line from the standard input (or from the command line
1604         in standalone mode). Made it somewhat general so we can easily add more arguments if
1605         there is a need.
1606         * DumpRenderTree/chromium/DumpRenderTree.cpp:
1607         (runTest):
1608         (main):
1609         * DumpRenderTree/chromium/TestShell.cpp:
1610         (TestShell::TestShell):
1611         (TestShell::runFileTest):
1612         (TestShell::dump):
1613         * DumpRenderTree/chromium/TestShell.h:
1614         (TestParams::TestParams):
1615         (TestShell):
1616         * DumpRenderTree/efl/CMakeLists.txt:
1617         * DumpRenderTree/efl/DumpRenderTree.cpp:
1618         (parseCommandLineOptions):
1619         (runTest):
1620         (shouldDumpPixelsAndCompareWithExpected):
1621         (main):
1622         * DumpRenderTree/gtk/DumpRenderTree.cpp:
1623         (initializeGlobalsFromCommandLineOptions):
1624         (dump):
1625         * DumpRenderTree/mac/DumpRenderTree.mm:
1626         (initializeGlobalsFromCommandLineOptions):
1627         (dumpRenderTree):
1628         * DumpRenderTree/qt/DumpRenderTree.pro:
1629         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
1630         (WebCore::DumpRenderTree::processLine):
1631         * DumpRenderTree/win/DumpRenderTree.cpp:
1632         (dump):
1633         (runTest):
1634         (dllLauncherEntryPoint):
1635         * DumpRenderTree/win/DumpRenderTree.vcproj:
1636         * DumpRenderTree/wscript:
1637         * DumpRenderTree/wx/DumpRenderTreeWx.cpp:
1638         (dump):
1639         (runTest):
1640         (MyApp::OnInit):
1641         * Scripts/old-run-webkit-tests: Pass --pixel-test before the hash.
1642         Changed the separator form ' to : because it don't need to be escaped
1643         when passing manually on the comand line.
1644         * Scripts/webkitpy/layout_tests/port/base.py:
1645         (Port.should_run_as_pixel_test): Removed now that all ports supports it.
1646         * Scripts/webkitpy/layout_tests/port/driver.py:
1647         (Driver.cmd_line): Don't pass --pixel-tests anymore.
1648         (Driver._command_from_driver_input):
1649
1650         * WebKitTestRunner/TestController.cpp:
1651         (WTR::TestController::TestController):
1652         (WTR::TestController::initialize):
1653         (WTR::TestCommand::TestCommand):
1654         (TestCommand):
1655         (WTR):
1656         (CommandTokenizer):
1657         (WTR::CommandTokenizer::CommandTokenizer):
1658         (WTR::CommandTokenizer::pump):
1659         (WTR::CommandTokenizer::next):
1660         (WTR::CommandTokenizer::hasNext):
1661         (WTR::die):
1662         (WTR::parseInputLine):
1663         (WTR::TestController::runTest):
1664         * WebKitTestRunner/TestController.h:
1665         (TestController):
1666         Duplicate the logic for parsing the command line because
1667         unfortunately there is no way to share code between
1668         WebKitTestRunner and DumpRenderTree.
1669
1670 2012-08-01  Martin Robinson  <mrobinson@igalia.com>
1671
1672         Add the jhbuild source directory to the __builtin__ object
1673
1674         Reviewed by Philippe Normand.
1675
1676         It seems that the jhbuild script explicitly looks for the SRCDIR __builtin__ when
1677         initializing. This is necessary for loading the jhbuild from the checkout directory.
1678
1679         * jhbuild/jhbuildutils.py:
1680         (enter_jhbuild_environment_if_available): Set SRCDIR to the source directory.
1681
1682 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
1683
1684         nrwt: move actual test-running code into layout_test_runner.py
1685         https://bugs.webkit.org/show_bug.cgi?id=92806
1686
1687         Reviewed by Ryosuke Niwa.
1688
1689         This is the final patch in manager-refactoring series (for now).
1690         This moves all of the logic to actually run the tests into
1691         layout_test_runner (in a new LayoutTestRunner) class. Now
1692         the mechanics of actually executing all of  the tests are
1693         contained in one file (of course the actual work of talking to
1694         DRT/WTR and diff'ing the results is still in single_test_runner).
1695
1696         Now manager is left with setting up and tearing down the test
1697         environment, finding the tests to run, and processing the
1698         results of the tests, which is a pretty managable amount of code
1699         (no pun intended).
1700
1701         The unit tests for manager were split in two and all of the
1702         runner-specific tests moved into layout_test_runner_unittest.
1703         They were significantly cleaned up to be easier to read and
1704         maintain as a part of this.
1705
1706         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1707         (TestRunInterruptedException):
1708         (TestRunInterruptedException.__init__):
1709         (TestRunInterruptedException.__reduce__):
1710         (LayoutTestRunner):
1711         (LayoutTestRunner.__init__):
1712         (LayoutTestRunner.test_key):
1713         (LayoutTestRunner.run_tests):
1714         (LayoutTestRunner.run_tests.worker_factory):
1715         (LayoutTestRunner.run_tests.instead):
1716         (LayoutTestRunner._mark_interrupted_tests_as_skipped):
1717         (LayoutTestRunner._interrupt_if_at_failure_limits):
1718         (LayoutTestRunner._interrupt_if_at_failure_limits.interrupt_if_at_failure_limit):
1719         (LayoutTestRunner._update_summary_with_result):
1720         (LayoutTestRunner.start_servers_with_lock):
1721         (LayoutTestRunner.stop_servers_with_lock):
1722         (LayoutTestRunner.handle):
1723         (LayoutTestRunner._handle_started_test):
1724         (LayoutTestRunner._handle_finished_test_list):
1725         (LayoutTestRunner._handle_finished_test_list.find):
1726         (LayoutTestRunner._handle_finished_test):
1727         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
1728         (FakePrinter):
1729         (FakePrinter.print_workers_and_shards):
1730         (FakePrinter.print_finished_test):
1731         (FakePrinter.write):
1732         (FakePrinter.write_update):
1733         (FakePrinter.flush):
1734         (LockCheckingRunner):
1735         (LockCheckingRunner.__init__):
1736         (LockCheckingRunner.handle_finished_list):
1737         (LayoutTestRunnerTests):
1738         (LayoutTestRunnerTests._runner):
1739         (LayoutTestRunnerTests._result_summary):
1740         (LayoutTestRunnerTests._run_tests):
1741         (LayoutTestRunnerTests.test_http_locking):
1742         (LayoutTestRunnerTests.test_perf_locking):
1743         (LayoutTestRunnerTests.test_interrupt_if_at_failure_limits):
1744         (LayoutTestRunnerTests.test_update_summary_with_result):
1745         (LayoutTestRunnerTests.test_servers_started):
1746         (LayoutTestRunnerTests.test_servers_started.start_http_server):
1747         (LayoutTestRunnerTests.test_servers_started.start_websocket_server):
1748         (LayoutTestRunnerTests.test_servers_started.stop_http_server):
1749         (LayoutTestRunnerTests.test_servers_started.stop_websocket_server):
1750         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1751         (summarize_results):
1752         (Manager.__init__):
1753         (Manager._is_http_test):
1754         (Manager):
1755         (Manager._is_websocket_test):
1756         (Manager._websocket_tests):
1757         (Manager._prepare_lists):
1758         (Manager._is_ref_test):
1759         (Manager.run):
1760         (Manager._run_tests):
1761         (Manager._look_for_new_crash_logs):
1762         (Manager._show_results_html_file):
1763         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
1764         (ManagerTest.test_look_for_new_crash_logs):
1765         (ResultSummaryTest.summarized_results):
1766         (ResultSummaryTest.test_summarized_results_wontfix):
1767
1768 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
1769
1770         nrwt: move sharding logic into layout_test_runner.py
1771         https://bugs.webkit.org/show_bug.cgi?id=92805
1772
1773         Reviewed by Ryosuke Niwa.
1774
1775         The sharding logic is specific to how we actually run the tests,
1776         so it belongs in this file instead of manager.py or finder.py.
1777
1778         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1779         (Worker._run_single_test):
1780         (TestShard):
1781         (TestShard.__init__):
1782         (TestShard.__repr__):
1783         (TestShard.__eq__):
1784         (Sharder):
1785         (Sharder.__init__):
1786         (Sharder.shard_tests):
1787         (Sharder.shard_tests.or):
1788         (Sharder._shard_in_two):
1789         (Sharder._shard_every_file):
1790         (Sharder._shard_by_directory):
1791         (Sharder._resize_shards):
1792         (Sharder._resize_shards.divide_and_round_up):
1793         (Sharder._resize_shards.extract_and_flatten):
1794         (Sharder._resize_shards.split_at):
1795         (Sharder._dir_for_test_input):
1796         (Sharder.test_key):
1797         (Sharder.natural_sort_key):
1798         (Sharder.natural_sort_key.tryint):
1799         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py: Added.
1800         (SharderTests):
1801         (SharderTests.get_test_input):
1802         (SharderTests.get_shards):
1803         (SharderTests.get_shards.split):
1804         (SharderTests.assert_shards):
1805         (SharderTests.test_shard_by_dir):
1806         (SharderTests.test_shard_by_dir_sharding_ref_tests):
1807         (SharderTests.test_shard_every_file):
1808         (SharderTests.test_shard_in_two):
1809         (SharderTests.test_shard_in_two_sharding_ref_tests):
1810         (SharderTests.test_shard_in_two_has_no_locked_shards):
1811         (SharderTests.test_shard_in_two_has_no_unlocked_shards):
1812         (SharderTests.test_multiple_locked_shards):
1813         (NaturalCompareTest):
1814         (NaturalCompareTest.assert_cmp):
1815         (NaturalCompareTest.test_natural_compare):
1816         (KeyCompareTest):
1817         (KeyCompareTest.setUp):
1818         (KeyCompareTest.setUp.split):
1819         (KeyCompareTest.assert_cmp):
1820         (KeyCompareTest.test_test_key):
1821         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1822         (Manager.__init__):
1823         (Manager._prepare_lists):
1824         (Manager._is_ref_test):
1825         (Manager._run_tests):
1826         (Manager._handle_finished_test):
1827         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
1828         (ManagerTest.get_options):
1829         (ManagerTest.test_interrupt_if_at_failure_limits):
1830         (ManagerTest.test_update_summary_with_result):
1831         (ManagerTest.test_needs_servers.get_manager_with_tests):
1832         (ManagerTest.integration_test_needs_servers.get_manager_with_tests):
1833         (ManagerTest.test_look_for_new_crash_logs.get_manager_with_tests):
1834         (ManagerTest.test_servers_started):
1835         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1836         (parse_args):
1837
1838 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
1839
1840         nrwt: rename worker.py to layout_test_runner.py
1841         https://bugs.webkit.org/show_bug.cgi?id=92804
1842
1843         Reviewed by Ojan Vafai.
1844
1845         Home stretch of this round of manager refactoring ... I will be
1846         moving all of the actual test-running code (which includes the
1847         code that shards the tests for the workers) into a different
1848         module, and it makes sense for that module to contain the actual
1849         worker code, so I'm renaming worker.py to layout_test_runner.py.
1850
1851         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: Renamed from Tools/Scripts/webkitpy/layout_tests/controllers/worker.py.
1852         (Worker):
1853         (Worker.__init__):
1854         (Worker.__del__):
1855         (Worker.start):
1856         (Worker.handle):
1857         (Worker._update_test_input):
1858         (Worker._run_test):
1859         (Worker.stop):
1860         (Worker._timeout):
1861         (Worker._kill_driver):
1862         (Worker._run_test_with_timeout):
1863         (Worker._clean_up_after_test):
1864         (Worker._run_test_in_another_thread):
1865         (Worker._run_test_in_another_thread.SingleTestThread):
1866         (Worker._run_test_in_another_thread.SingleTestThread.__init__):
1867         (Worker._run_test_in_another_thread.SingleTestThread.run):
1868         (Worker._run_test_in_this_thread):
1869         (Worker._run_single_test):
1870         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1871         (Manager._run_tests.worker_factory):
1872
1873 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
1874
1875         nrwt: clean up names in sharding code
1876         https://bugs.webkit.org/show_bug.cgi?id=92785
1877
1878         Reviewed by Ryosuke Niwa.
1879
1880         More refactoring ... this makes the methods use TestInputs
1881         consistently (and updates the names accordingly) and improves
1882         encapsulation a bit. The sharding code is now pretty
1883         self-contained.
1884
1885         This change adds no new functionality and is covered by the
1886         existing (updated) tests.
1887
1888         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1889         (TestShard.visible.__init__):
1890         (TestShard.visible.__repr__):
1891         (Manager._dir_for_test_input):
1892         (Manager._shard_tests):
1893         (Manager._shard_in_two):
1894         (Manager._shard_every_file):
1895         (Manager._shard_by_directory):
1896         (Manager._run_tests):
1897         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
1898         (ManagerWrapper._test_input_for_file):
1899         (ShardingTests.get_shards):
1900         * Scripts/webkitpy/layout_tests/models/test_input.py:
1901         (TestInput.__init__):
1902         (TestInput.__repr__):
1903
1904 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
1905
1906         nrwt: clean up TestInputs in preparation for cleaning up sharding
1907         https://bugs.webkit.org/show_bug.cgi?id=92784
1908
1909         Reviewed by Ryosuke Niwa.
1910
1911         Currently, in order to shard the tests you need to refer to
1912         state in the manager as well as the state in the TestInputs;
1913         this change embeds the necessary state into the TestInputs so
1914         sharding them can be a standalone operation.
1915
1916         The actual clean up of the sharding will follow in a subsequent patch.
1917
1918         Covered by existing tests; no new functionality. However, I did
1919         rework the sharding tests to be less dependent on the test
1920         scaffolding and easier to follow.
1921
1922         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1923         (Manager._test_input_for_file):
1924         (Manager._shard_in_two):
1925         (Manager._shard_every_file):
1926         (Manager._shard_by_directory):
1927         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
1928         (ManagerWrapper._test_input_for_file):
1929         (ShardingTests.assert_shards):
1930         (ShardingTests.test_shard_by_dir):
1931         (ShardingTests.test_shard_by_dir_sharding_ref_tests):
1932         (ShardingTests.test_shard_every_file):
1933         (ShardingTests.test_shard_in_two):
1934         (ShardingTests.test_shard_in_two_sharding_ref_tests):
1935         (ShardingTests.test_shard_in_two_has_no_unlocked_shards):
1936         (ShardingTests.test_multiple_locked_shards):
1937         * Scripts/webkitpy/layout_tests/models/test_input.py:
1938         (TestInput.__init__):
1939         (TestInput.__repr__):
1940
1941 2012-07-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1942
1943         [EFL] Dump a backtrace in case of a crash
1944         https://bugs.webkit.org/show_bug.cgi?id=92489
1945
1946         Reviewed by Csaba Osztrogonác.
1947
1948         Dump a stack trace in case of a unexpected signal. This should
1949         provide a better report at the build bots when WTR crashes.
1950
1951         * DumpRenderTree/efl/DumpRenderTree.cpp:
1952         (main):
1953         * TestWebKitAPI/efl/InjectedBundleController.cpp:
1954         (TestWebKitAPI::InjectedBundleController::platformInitialize):
1955         * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp:
1956         (WTR::InjectedBundle::platformInitialize):
1957
1958 2012-07-31  Joshua Netterfield  <jnetterfield@rim.com>
1959
1960         [BlackBerry] Enable CSS Filter Effects
1961         https://bugs.webkit.org/show_bug.cgi?id=92685
1962
1963         Reviewed by Rob Buis.
1964
1965         Enable CSS filter effects, with the exception of custom effects (CSS shaders) and reference effects (SVG effects)
1966
1967         Internally reviewed by Arvid Nilsson <anilsson@rim.com> and Antonio Gomes <agomes@rim.com>.
1968
1969         * Scripts/webkitperl/FeatureList.pm: Acknowledge CSS filter effects.
1970
1971 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
1972
1973         nrwt: clean up prepare_lists_and_print_output, run, set_up_run a bit
1974         https://bugs.webkit.org/show_bug.cgi?id=92781
1975
1976         Reviewed by Ryosuke Niwa.
1977
1978         More refactoring ... rename prepare_lists_and_print_output to
1979         just prepare_lists so that it only has a single purpose, and
1980         clean up the surrounding code a bit as well.
1981
1982         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1983         (Manager._collect_tests):
1984         (Manager._prepare_lists):
1985         (Manager._set_up_run):
1986         (Manager.run):
1987
1988 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
1989
1990         nrwt: clean up self._test_files_list vs. self._test_files, other nits
1991         https://bugs.webkit.org/show_bug.cgi?id=92702
1992
1993         Reviewed by Ojan Vafai.
1994
1995         Get rid of self._test_files, rename self._test_files_list to
1996         self._test_names (removing the confusion between the two fields).
1997
1998         Also inline the one call to _parse_expectations, remove the one
1999         use of more_tests_to_skip, and fix a couple of minor nits.
2000
2001         * Scripts/webkitpy/layout_tests/controllers/finder.py:
2002         (LayoutTestFinder.split_into_chunks):
2003         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2004         (Manager.__init__):
2005         (Manager._collect_tests):
2006         (Manager._http_tests):
2007         (Manager._websocket_tests):
2008         (Manager._is_perf_test):
2009         (Manager.prepare_lists_and_print_output):
2010         (Manager.needs_servers):
2011         (Manager.run):
2012         (Manager._mark_interrupted_tests_as_skipped):
2013         (Manager._update_summary_with_result):
2014         (Manager._upload_json_files):
2015         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
2016         (ManagerTest.test_interrupt_if_at_failure_limits):
2017         (ManagerTest.test_needs_servers.get_manager_with_tests):
2018         (ManagerTest.test_servers_started):
2019
2020 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
2021
2022         nrwt: --verbose logging does not work right on windows
2023         https://bugs.webkit.org/show_bug.cgi?id=92673
2024
2025         Reviewed by Ojan Vafai.
2026
2027         Add a test for r124090.
2028
2029         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
2030         (MainTest.test_verbose):
2031
2032 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
2033
2034         REGRESSION(124116): Number of skipped tests isn't printed anymore
2035         https://bugs.webkit.org/show_bug.cgi?id=92736
2036
2037         Reviewed by Tony Chang.
2038
2039         Add the skipped number back in; it was useful ... also clean up
2040         the formatting a little bit.
2041
2042         * Scripts/webkitpy/layout_tests/views/printing.py:
2043         (Printer.print_found):
2044
2045 2012-07-31  Hans Wennborg  <hans@chromium.org>
2046
2047         Speech JavaScript API: Throw exception for start() when already started
2048         https://bugs.webkit.org/show_bug.cgi?id=92756
2049
2050         Reviewed by Adam Barth.
2051
2052         Fix the task queue in MockWebSpeechRecognizer.
2053         It's important that we remove the task from the queue before we run
2054         it, as running the task could alter the queue's state.
2055
2056         * DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:
2057         (MockWebSpeechRecognizer::abort):
2058         (MockWebSpeechRecognizer::setError):
2059         (MockWebSpeechRecognizer::clearTaskQueue):
2060         (MockWebSpeechRecognizer::StepTask::runIfValid):
2061         * DumpRenderTree/chromium/MockWebSpeechRecognizer.h:
2062         (MockWebSpeechRecognizer):
2063
2064 2012-07-31  Dirk Pranke  <dpranke@chromium.org>
2065
2066         nrwt: move handling the initial list of tests to skip to finder
2067         https://bugs.webkit.org/show_bug.cgi?id=92701
2068
2069         Reviewed by Ryosuke Niwa.
2070
2071         More refactoring of manager ...
2072
2073         * Scripts/webkitpy/layout_tests/controllers/finder.py:
2074         (LayoutTestFinder.skip_tests):
2075         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2076         (Manager._collect_tests):
2077         (Manager.prepare_lists_and_print_output):
2078
2079 2012-07-31  Alexey Proskuryakov  <ap@apple.com>
2080
2081         [WK2] Kill the concept of secondary shared process
2082         https://bugs.webkit.org/show_bug.cgi?id=92676
2083
2084         Reviewed by Sam Weinig.
2085
2086         * MiniBrowser/win/BrowserView.cpp: (BrowserView::create): Update Windows build fix.
2087         Don't create a new context for every view.
2088
2089 2012-07-31  Peter Beverloo  <peter@chromium.org>
2090
2091         [Chromium] Don't use ninja for building Chromium for Android
2092         https://bugs.webkit.org/show_bug.cgi?id=92764
2093
2094         Reviewed by Adam Barth.
2095
2096         When Ninja projects files are generated (which will be done for Android),
2097         make sure that the Android builder doesn't unintentionally switch to
2098         using Ninja. We should make that switch at a predetermined time.
2099
2100         * Scripts/webkitdirs.pm:
2101         (buildChromium):
2102
2103 2012-07-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2104
2105         Add a mechanism to dump the stack trace in case of a crash
2106         https://bugs.webkit.org/show_bug.cgi?id=92666
2107
2108         Reviewed by Csaba Osztrogonác.
2109
2110         Move crash signal handlers to WTFInstallReportBacktraceOnCrashHook()
2111         and eliminate some duplicated code.
2112
2113         * DumpRenderTree/qt/main.cpp:
2114         (main):
2115         * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
2116         (WTR::InjectedBundle::platformInitialize):
2117
2118 2012-07-31  Jochen Eisinger  <jochen@chromium.org>
2119
2120         [chromium] move EventSender into TestRunner.a
2121         https://bugs.webkit.org/show_bug.cgi?id=92277
2122
2123         Reviewed by Adam Barth.
2124
2125         * DumpRenderTree/DumpRenderTree.gypi:
2126         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
2127         * DumpRenderTree/chromium/TestRunner/EventSender.cpp: Renamed from Tools/DumpRenderTree/chromium/EventSender.cpp.
2128         * DumpRenderTree/chromium/TestRunner/EventSender.h: Renamed from Tools/DumpRenderTree/chromium/EventSender.h.
2129         * DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp:
2130         (TestInterfaces::Internal::eventSender):
2131         (TestInterfaces::Internal):
2132         (TestInterfaces::Internal::Internal):
2133         (TestInterfaces::Internal::~Internal):
2134         (TestInterfaces::Internal::setWebView):
2135         (TestInterfaces::Internal::setDelegate):
2136         (TestInterfaces::Internal::bindTo):
2137         (TestInterfaces::Internal::resetAll):
2138         (TestInterfaces::eventSender):
2139         * DumpRenderTree/chromium/TestRunner/TestInterfaces.h:
2140         (TestInterfaces):
2141         * DumpRenderTree/chromium/TestShell.cpp:
2142         (TestShell::initialize):
2143         (TestShell::createMainWindow):
2144         (TestShell::~TestShell):
2145         (TestShell::resetTestController):
2146         (TestShell::bindJSObjectsToWindow):
2147         * DumpRenderTree/chromium/TestShell.h:
2148         (TestShell::eventSender):
2149         (TestShell):
2150         * DumpRenderTree/chromium/WebViewHost.cpp:
2151
2152 2012-07-31  Jochen Eisinger  <jochen@chromium.org>
2153
2154         Unreviewed. Update watchlist
2155
2156         * Scripts/webkitpy/common/config/watchlist: Turned out to be less useful than I had hoped
2157
2158 2012-07-31  Kent Tamura  <tkent@chromium.org>
2159
2160         Unreviewed, update watchlist
2161
2162         * Scripts/webkitpy/common/config/watchlist:
2163         - Improve "Forms" filename pattern.
2164         - tkent stops watching Chromium DRT. It was not so helpful.
2165
2166 2012-07-31  Martin Robinson  <mrobinson@igalia.com>
2167
2168         [jhbuild] Also try to load jhbuild Python module from the source checkout
2169
2170         Reviewed by Philippe Normand.
2171
2172         JHBuild also seems to have an installation mode where it prefers to load its
2173         Python modules from the source checkout. This seems to be used particularly
2174         on the GTK+ 64-bit release bot. We should fall back to this mode.
2175
2176         * jhbuild/jhbuildutils.py:
2177         (enter_jhbuild_environment_if_available): Use the source checkout if there
2178         is no installation path.
2179
2180 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
2181
2182         Revert r124153 and land the "right" build fix per ap's comment on the bug 92676.
2183
2184         * MiniBrowser/win/BrowserView.cpp:
2185         (BrowserView::create):
2186
2187 2012-07-30  Sam Weinig  <sam@webkit.org>
2188
2189         Rename WebKit2.h to WebKit2_C.h
2190         https://bugs.webkit.org/show_bug.cgi?id=92704
2191
2192         Reviewed by Dan Bernstein.
2193
2194         * MiniBrowser/mac/MiniBrowser_Prefix.pch:
2195         * MiniBrowser/win/BrowserView.h:
2196         * TestWebKitAPI/config.h:
2197         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2198         * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
2199         * WebKitTestRunner/WebKitTestRunnerPrefix.h:
2200         * WebKitTestRunner/config.h:
2201         Update for changed header file name.
2202
2203 2012-07-30  Dirk Pranke  <dpranke@chromium.org>
2204
2205         chromium win compile broken after removing webkit.py
2206         https://bugs.webkit.org/show_bug.cgi?id=92549
2207
2208         Reviewed by Ryosuke Niwa.
2209
2210         Remove the stub file for webkit.py now that it's no longer
2211         necessary.
2212
2213         * Scripts/webkitpy/layout_tests/port/webkit.py: Removed.
2214
2215 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
2216
2217         Windows build fix attempt after r124092.
2218
2219         * MiniBrowser/win/BrowserView.cpp:
2220         (BrowserView::create):
2221
2222 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
2223
2224         Remove erroneously committed debugging print call from a test.
2225
2226         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
2227         (test_run_generates_results_page):
2228
2229 2012-07-30  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2230
2231         webkit-patch: system keyring is not used to read my password
2232         https://bugs.webkit.org/show_bug.cgi?id=92532
2233
2234         Reviewed by Dirk Pranke.
2235
2236         In case no username can be fetched from environment, git or keychain,
2237         prompt for username, and try to get password from keyring associated
2238         with that username.
2239
2240         * Scripts/webkitpy/common/net/credentials.py:
2241         (Credentials.read_credentials):
2242         * Scripts/webkitpy/common/net/credentials_unittest.py:
2243         (test_keyring_without_git_repo_nor_keychain):
2244         (test_keyring_without_git_repo_nor_keychain.MockKeyring):
2245         (test_keyring_without_git_repo_nor_keychain.MockKeyring.get_password):
2246         (test_keyring_without_git_repo_nor_keychain.FakeCredentials):
2247         (test_keyring_without_git_repo_nor_keychain.FakeCredentials._credentials_from_keychain):
2248         (test_keyring_without_git_repo_nor_keychain.FakeCredentials._credentials_from_environment):
2249         (test_keyring_without_git_repo_nor_keychain.FakeUser):
2250         (test_keyring_without_git_repo_nor_keychain.FakeUser.prompt):
2251         (test_keyring_without_git_repo_nor_keychain.FakeUser.prompt_password):
2252
2253 2012-07-30  Dirk Pranke  <dpranke@chromium.org>
2254
2255         nrwt: move the code that identifies the chunk of tests to run into finder
2256         https://bugs.webkit.org/show_bug.cgi?id=92694
2257
2258         Reviewed by Ryosuke Niwa.
2259
2260         Another patch to make manager.py smaller and clearer; this patch moves
2261         the handling of breaking the list of tests into chunks (--run-part,
2262         --run-chunk) from manager.py to finder.py.
2263
2264         There are no functional changes and this is covered by existing tests.
2265
2266         * Scripts/webkitpy/layout_tests/controllers/finder.py:
2267         (Finder.__init__):
2268         (Finder._read_test_files):
2269         (Finder):
2270         (Finder.split_into_chunks_if_necessary):
2271         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2272         (Manager.__init__):
2273         (Manager._collect_tests):
2274         (Manager._parse_expectations):
2275         (Manager.prepare_lists_and_print_output):
2276
2277 2012-07-30  Dirk Pranke  <dpranke@chromium.org>
2278
2279         nrwt: split test-finding code out from manager.py
2280         https://bugs.webkit.org/show_bug.cgi?id=92693
2281
2282         Reviewed by Ryosuke Niwa.
2283
2284         In the interest of making manager.py smaller, this patch moves
2285         the code that actually takes the command line arguments and
2286         --test-file lists of tests to run and expands them into an
2287         actual list of tests out into a separate module.
2288
2289         * Scripts/webkitpy/layout_tests/controllers/finder.py: Added.
2290         (LayoutTestFinder):
2291         (LayoutTestFinder.__init__):
2292         (LayoutTestFinder.find_tests):
2293         (LayoutTestFinder._strip_test_dir_prefixes):
2294         (LayoutTestFinder._strip_test_dir_prefix):
2295         (LayoutTestFinder._read_test_names_from_file):
2296         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2297         (Manager._collect_tests):
2298         (Manager._handle_finished_test):
2299         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2300         (strip_comments):
2301
2302 2012-07-30  Adam Barth  <abarth@webkit.org>
2303
2304         commit-queue is corrupting ChangeLogs
2305         https://bugs.webkit.org/show_bug.cgi?id=92681
2306
2307         Reviewed by Tony Chang.
2308
2309         Some commits made with the commit-queue are ending up with duplicate
2310         ChangeLog entries. I've hot-patched the servers to not use a special
2311         merge driver for ChangeLogs, which should fix this issue. This patch
2312         removes the merge driver from our cold-boot.sh script so that we won't
2313         use it on new commit-queue instances.
2314
2315         * EWSTools/cold-boot.sh:
2316
2317 2012-07-28  Sam Weinig  <sam@webkit.org>
2318
2319         Add ability to load from a string to the ObjC WK API
2320         https://bugs.webkit.org/show_bug.cgi?id=92590
2321
2322         Reviewed by Dan Bernstein.
2323
2324         Add tests for [WKBrowsingContextController loadHTMLString:baseURL:]. We will be able
2325         to greatly improve these tests (to test more than just not crashing) when methods to
2326         access page content are added (soon!).
2327
2328         Adds:
2329             Test: WKBrowsingContextLoadDelegateTest_SimpleLoadOfHTMLString
2330             Test: WKBrowsingContextLoadDelegateTest_SimpleLoadOfHTMLString_NilBaseURL
2331             Test: WKBrowsingContextLoadDelegateTest_SimpleLoadOfHTMLString_NilHTMLStringAndBaseURL
2332
2333         * TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm:
2334         Adds tests and refactors delegates to not use global state.
2335
2336 2012-07-30  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2337
2338         [CMake] TestWebKitAPI bundle should link with WTF
2339         https://bugs.webkit.org/show_bug.cgi?id=92616
2340
2341         Reviewed by Antonio Gomes.
2342
2343         Fixes build when shared core is disabled.
2344
2345         * TestWebKitAPI/CMakeLists.txt:
2346
2347 2012-07-30  Dirk Pranke  <dpranke@chromium.org>
2348
2349         nrwt: clean up handling of 'expected' stats
2350         https://bugs.webkit.org/show_bug.cgi?id=92527
2351
2352         Reviewed by Tony Chang.
2353
2354         This patch alters the way we compute and log the "expected"
2355         results and how we treat skipped tests; we will now log the
2356         number of skipped tests separately from the categories, e.g.:
2357
2358         Found 31607 tests; running 24464.
2359         Expect: 23496 passes   (23496 now,    0 wontfix)
2360         Expect:   548 failures (  543 now,    5 wontfix)
2361         Expect:   420 flaky    (  245 now,  175 wontfix)
2362
2363         (so that the "expect" totals add up to the "running" totals);
2364         in addition, the totals in the one-line-progress reflect the
2365         number of tests we will actually run. If --iterations or
2366         --repeat-each are specified, the number of tests we run are
2367         multiplied as appropriate, but the "expect" numbers are
2368         unchanged, since we don't count multiple invocations of the same
2369         test multiple times. In addition, if we are using --run-part or
2370         --run-chunk, the tests we don't run are treated as skipped
2371         for consistency. We will also log the values for --iterations
2372         and --repeat each as part of the found/running line.
2373
2374         Previously the code had parsed and re-parsed the
2375         TestExpectations files several times in an attempt to come up
2376         with some sane statistics, but this was expensive and lead to
2377         confusing layer; treating files as skipped in the way described
2378         above is more consistent and cleaner.
2379
2380         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2381         (Manager._split_into_chunks_if_necessary):
2382         (Manager.prepare_lists_and_print_output):
2383         (Manager.run):
2384         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
2385         (ManagerTest.test_interrupt_if_at_failure_limits):
2386         (ManagerTest.test_update_summary_with_result):
2387         (ManagerTest.test_look_for_new_crash_logs):
2388         (ResultSummaryTest.get_result_summary):
2389         * Scripts/webkitpy/layout_tests/models/result_summary.py:
2390         (ResultSummary.__init__):
2391         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2392         (TestExpectationParser.expectation_for_skipped_test):
2393         (TestExpectations.__init__):
2394         (TestExpectations.add_skipped_tests):
2395           Here we make add_skipped_tests() public, so that we can update
2396           the expectations for tests that we are skipping due to
2397           --run-part or --run-chunk; we use the wontfix flag so that
2398           the tests that are intentionally skipped aren't considered
2399           "fixable".
2400         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
2401         (SkippedTests.check):
2402         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2403         (parse_args):
2404         * Scripts/webkitpy/layout_tests/views/printing.py:
2405         (Printer.print_found):
2406         (Printer):
2407         (Printer.print_expected):
2408         (Printer._print_result_summary):
2409         (Printer._print_result_summary_entry):
2410           Here we split out printing the number of tests found and run
2411           from the expected results, to be clearer and so that we don't
2412           have to reparse the expectations to update the stats.
2413         * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
2414         (Testprinter.get_result_summary):
2415
2416 2012-07-30  Sadrul Habib Chowdhury  <sadrul@chromium.org>
2417
2418         Propagate gesture events to plugins.
2419         https://bugs.webkit.org/show_bug.cgi?id=92281
2420
2421         Reviewed by Adam Barth.
2422
2423         Update TestWebPlugin to receive events, and output logs for the events.
2424
2425         * DumpRenderTree/chromium/TestWebPlugin.cpp:
2426         (TestWebPlugin::handleInputEvent):
2427         * DumpRenderTree/chromium/TestWebPlugin.h:
2428         (TestWebPlugin::acceptsInputEvents):
2429         (TestWebPlugin):
2430
2431 2012-07-30  Raphael Kubo da Costa  <rakuco@webkit.org>
2432
2433         [jhbuild] gnutls 2.12.14 does not build with glibc 2.16.0
2434         https://bugs.webkit.org/show_bug.cgi?id=90643
2435
2436         Reviewed by Gustavo Noronha Silva.
2437
2438         The 2.x series of gnutls has a version of Gnulib that is
2439         incompatible with glibc 2.16.0, which now does not define gets()
2440         by default.
2441
2442         After talking to kov, mrobinson and philn, it looks like it makes
2443         sense to simply remove gnutls from jhbuild.modules and rely on the
2444         version installed on the system being recent enough.
2445
2446         This means at least version 2.12.8 for PKCS11 support, or at the
2447         very least 2.11.0 (these are the minimum versions enforced by
2448         glib-networking's configure.ac).
2449
2450         * efl/jhbuild.modules: Do not build gnutls anymore, make
2451         glib-networking depend on glib instead, and move the libgcrypt
2452         dependency to eet, which is what currently needs it.
2453         * gtk/jhbuild.modules: Do not build gnutls anymore.
2454
2455 2012-07-30  Dirk Pranke  <dpranke@chromium.org>
2456
2457         nrwt: --verbose logging does not work right on windows
2458         https://bugs.webkit.org/show_bug.cgi?id=92673
2459
2460         Unreviewed, build fix.
2461
2462         The --verbose log level is not being propagated to the worker
2463         processes on windows properly; this has been broken ever since I
2464         refactored logging into the message pool directly :(.
2465
2466         Also, fixing this revealed that outputcapture wasn't saving and
2467         restoring log levels correctly, so I had to fix that as well.
2468
2469         * Scripts/webkitpy/common/message_pool.py:
2470         (_MessagePool._start_workers):
2471         (_MessagePool._worker_log_level):
2472         (_Worker.__init__):
2473         (_Worker._set_up_logging):
2474         (_WorkerLogHandler.__init__):
2475         * Scripts/webkitpy/common/system/outputcapture.py:
2476         (OutputCapture.capture_output):
2477         (OutputCapture.restore_output):
2478
2479 2012-07-30  Dirk Pranke  <dpranke@chromium.org>
2480
2481         After r123895, new-run-webkit-tests can fail with TypeError when a test crashes
2482         https://bugs.webkit.org/show_bug.cgi?id=92664
2483
2484         Reviewed by Michael Saboff.
2485
2486         Updated to handle crash_logs being returned as a tuple of (stderr, crash_log).
2487
2488         * Scripts/webkitpy/layout_tests/port/mac.py:
2489         (MacPort.look_for_new_crash_logs):
2490
2491 2012-07-30  Stephen White  <senorblanco@chromium.org>
2492
2493         Added a SkiaGraphics definition to the watchlist file; cc'ed myself
2494         to that group.  Unreviewed.
2495
2496         * Scripts/webkitpy/common/config/watchlist:
2497
2498 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2499
2500         Unreviewed, rolling out r123966 and r123967.
2501         http://trac.webkit.org/changeset/123966
2502         http://trac.webkit.org/changeset/123967
2503         https://bugs.webkit.org/show_bug.cgi?id=92656
2504
2505         This patch is causing assertion failures on the debug bot
2506         (also rolling out a dependent patch) (Requested by mrobinson
2507         on #webkit).
2508
2509         * gtk/generate-gtkdoc:
2510         (get_webkit2_options):
2511
2512 2012-07-30  Martin Robinson  <mrobinson@igalia.com>
2513
2514         [GTK] Add a non-subprocess jhbuild environment and use it for run-gtk-tests
2515         https://bugs.webkit.org/show_bug.cgi?id=92626
2516
2517         Reviewed by Gustavo Noronha Silva.
2518
2519         Instead of always shelling out to enter a jhbuild environment, add a Python
2520         hook for entering a jhbuild environment directly. This avoids requiring a
2521         script to be wrapped in jhbuild.
2522
2523         * GNUmakefile.am: Remove gtk/run-api-tests from the distribution list.
2524         * Scripts/run-gtk-tests: Move most of the logic from run-api-tests here
2525         with additional code for entering a jhbuild environment directly.
2526         * gtk/run-api-tests: Removed.
2527         * jhbuild/jhbuild-wrapper: Use the new helper methods defined in jhbuildutils.py.
2528         * jhbuild/jhbuildutils.py: Add some new helper methods here including
2529         a method which can transform the current environment into a jhbuild-ified one.
2530
2531 2012-07-30  Alexander Pavlov  <apavlov@chromium.org>
2532
2533         Unreviewed, upgrade apavlov to reviewer.
2534         http://lists.webkit.org/mailman/private/webkit-committers/2012-July/000184.html
2535
2536         * Scripts/webkitpy/common/config/committers.py:
2537
2538 2012-07-30  Robin Cao  <robin.cao@torchmobile.com.cn>
2539
2540         [BlackBerry] Adapt to changes in the SharedArray platform API
2541         https://bugs.webkit.org/show_bug.cgi?id=92631
2542
2543         Reviewed by Rob Buis.
2544
2545         Adapt to changes in the SharedArray platform API. No behavioural change.
2546
2547         * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
2548         (LayoutTestController::webHistoryItemCount):
2549
2550 2012-07-30  Balazs Kelemen  <kbalazs@webkit.org>
2551
2552         [Qt][NRWT] REGRESSION(123729): Forcing pixel tests with -p doesn't work
2553         https://bugs.webkit.org/show_bug.cgi?id=92627
2554
2555         Reviewed by Noam Rosenthal.
2556
2557         Remove the default behavior I added in r123729 so that we run all tests as pixel
2558         test with -p. It was intentional but it seems like we don't have consensus on
2559         that we want it.
2560
2561         * Scripts/webkitpy/layout_tests/port/qt.py:
2562         (QtPort._supports_switching_pixel_tests_per_test):
2563
2564 2012-07-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2565
2566         [EFL][WTR] Enforce SHIFT modifier to upper case keys in event sender.
2567         https://bugs.webkit.org/show_bug.cgi?id=92366
2568
2569         Reviewed by Antonio Gomes.
2570
2571         Add SHIFT modifier for capital letters as VK_
2572         codes do not distinguish between lows and caps and also to be consistent
2573         with other ports which send caps as lowercase letters with the shift key down.
2574
2575         * WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
2576         (WTR::EventSenderProxy::keyDown):
2577
2578 2012-07-29  Raphael Kubo da Costa  <rakuco@webkit.org>
2579
2580         [EFL][jhbuild] Make run-with-jhbuild become the jhbuild process itself.
2581         https://bugs.webkit.org/show_bug.cgi?id=92592
2582
2583         Reviewed by Eric Seidel.
2584
2585         Adapt to the changes made to GTK+'s run-with-jhbuild in r123979
2586         and make EFL's run-with-jhbuild call os.execve() instead of
2587         launching a subprocess as well.
2588
2589         This should make it possible to interrupt execution of jhbuild
2590         cleanly.
2591
2592         * efl/run-with-jhbuild:
2593
2594 2012-07-28  Ryosuke Niwa  <rniwa@webkit.org>
2595
2596         run-perf-tests should generate a results page
2597         https://bugs.webkit.org/show_bug.cgi?id=92575
2598
2599         Reviewed by Eric Seidel.
2600
2601         Added the ability to generate a results page that summarizes performance test results from
2602         multiple runs of run-perf-tests when --output-json-path is specified and --test-results-server
2603         is not specified. We cannot generate a results page when --test-results-server is specified
2604         because perf-o-matic cannot parse the new JSON format.
2605
2606         The new JSON format is simply an array of the old JSON output. This JSON is then merged into
2607         results-template.html along with jQuery and copied as a HTML file of the same filename as
2608         the output JSON file with a .html extension.
2609
2610         We merge all scripts and the JSON output into the results page as opposed to including them
2611         with the src content attribute to make it standalone so that we may post it on Bugzilla or
2612         e-mail it to someone else without breaking it.
2613
2614         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
2615         (PerfTestsRunner.run):
2616         (PerfTestsRunner._generate_json): Merge "contents" with the existing JSON file when generating
2617         a results page, and generate the results page from results-template.html merged with jQuery and
2618         the generated JSON output.
2619         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
2620         (_test_run_with_json_output): Extracted from test_run_with_upload_json to be shared with
2621         several test cases.
2622         (_test_run_with_json_output.mock_upload_json): Ditto.
2623         (test_run_with_json_output): Refactored to use _test_run_with_json_output.
2624         (test_run_generates_results_page): Added. Tests the new feature.
2625         (test_run_with_json_source): Refactored to use _test_run_with_json_output.
2626         (test_run_with_multiple_repositories): Ditto.
2627         (test_run_with_upload_json): Ditto.
2628
2629 2012-07-29  Rik Cabanier  <cabanier@adobe.com>
2630
2631         Add ENABLE_CSS_COMPOSITING flag
2632         https://bugs.webkit.org/show_bug.cgi?id=92553
2633
2634         Reviewed by Dirk Schulze.
2635
2636         Adds compiler flag CSS_COMPOSITING to build systems to enable CSS blending and compositing. See spec https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html
2637
2638         * Scripts/webkitperl/FeatureList.pm:
2639
2640 2012-07-29  Gustavo Noronha Silva  <gns@gnome.org>
2641
2642         Reviewed by Martin Robinson.
2643
2644         Make the jhbuild wrapper scripts become the jhbuild process
2645         instead of starting it as a child. This should make it possible to
2646         interrupt execution of jhbuild cleanly.
2647
2648         * gtk/run-with-jhbuild:
2649         * jhbuild/jhbuild-wrapper:
2650
2651 2012-07-29  Mike West  <mkwst@chromium.org>
2652
2653         Extend `application/x-webkit-test-netscape` plugins to better support multiple frames.
2654         https://bugs.webkit.org/show_bug.cgi?id=92478
2655
2656         Reviewed by Adam Barth.
2657
2658         DumpRenderTree currently understands
2659         `<object src="data:application/x-webkit-test-netscape,alertwhenloaded">`.
2660         It would be useful if it understood `logifloaded`, which could give
2661         more context regarding test expectations, and can be written in such
2662         as way as to support plugins loaded into multiple iframes in a single
2663         test.
2664
2665         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
2666         (NPP_New):
2667             Adding support for `logifloaded`.
2668
2669 2012-07-28  Peter Kasting  <pkasting@google.com>
2670
2671         Fix Chromium/Win compile.
2672         https://bugs.webkit.org/show_bug.cgi?id=88787
2673
2674         Unreviewed, build fix.
2675
2676         Chromium/Win needs _USE_MATH_DEFINES but doesn't define PLATFORM(WIN).
2677         The other files in WebKit that define this macro (both in
2678         WebCore/platform/graphics/cg) do it by unconditionally #defining it to 1
2679         above the #include of "config.h", so copy that pattern here.
2680
2681         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
2682
2683 2012-07-28  Mario Sanchez Prada  <msanchez@igalia.com>
2684
2685         [WK2][GTK] Implement a new spell checker API for WebKit2GTK+
2686         https://bugs.webkit.org/show_bug.cgi?id=90268
2687
2688         Reviewed by Martin Robinson.
2689
2690         Ignore WebKitTextChecker.* private files for gtk-doc.
2691
2692         * gtk/generate-gtkdoc:
2693         (get_webkit2_options):
2694
2695 2012-07-28  Philippe Normand  <pnormand@igalia.com>
2696
2697         [GTK] Transparent Media controls timeline and panel
2698         https://bugs.webkit.org/show_bug.cgi?id=85279
2699
2700         Reviewed by Martin Robinson.
2701
2702         * gtk/jhbuild.modules: Provide gnome-themes-standard build
2703         support, this is necessary so the media controls panel colors are
2704         properly initialized from the GTK+ theme.
2705
2706 2012-07-27  Kihong Kwon  <kihong.kwon@samsung.com>
2707
2708         [EFL] Support for HTML media capture
2709         https://bugs.webkit.org/show_bug.cgi?id=91842
2710
2711         Reviewed by Ryosuke Niwa.
2712
2713         Add HTML media capture feature to the feature list.
2714         In addition, enable that on the Efl port.
2715
2716         * Scripts/webkitperl/FeatureList.pm:
2717
2718 2012-07-27  Dirk Pranke  <dpranke@chromium.org>
2719
2720         "webkit-patch rebaseline <test>" fails with exit_code 1
2721         https://bugs.webkit.org/show_bug.cgi?id=91560
2722
2723         Reviewed by Adam Barth.
2724
2725         webkit-patch rebaseline-json crashes in an svn checkout if it
2726         tries to add files and there are no files to add; arguably
2727         svn.add() should be robust against this, but rebaseline-json
2728         shouldn't be calling it, either. This patch fixes the latter and
2729         adds better debugging info to garden-o-matic so we can see what
2730         caused the crash.
2731
2732         * Scripts/webkitpy/tool/commands/rebaseline.py:
2733         (AbstractParallelRebaselineCommand._rebaseline):
2734         * Scripts/webkitpy/tool/servers/gardeningserver.py:
2735         (GardeningHTTPRequestHandler.rebaselineall):
2736         (GardeningHTTPRequestHandler.rebaselineall.error_handler):
2737         (GardeningHTTPRequestHandler):
2738
2739 2012-07-27  Brady Eidson  <beidson@apple.com>
2740
2741         Plugins should not be allowed to override standard properties/attributes in non-standard worlds
2742         <rdar://problem/11975252> and https://bugs.webkit.org/show_bug.cgi?id=92519
2743
2744         Reviewed by Anders Carlsson.
2745
2746         Add a test plugin which overrides all properties it is asked about:
2747         * DumpRenderTree/TestNetscapePlugIn/Tests/PluginScriptableObjectOverridesAllProperties.cpp: Added.
2748         (PluginScriptableObjectOverridesAllProperties):
2749         (PluginScriptableObjectOverridesAllProperties::PluginScriptableObjectOverridesAllProperties):
2750         (PluginObject):
2751         (PluginScriptableObjectOverridesAllProperties::PluginObject::PluginObject):
2752         (PluginScriptableObjectOverridesAllProperties::PluginObject::~PluginObject):
2753         (PluginScriptableObjectOverridesAllProperties::PluginObject::hasProperty):
2754         (PluginScriptableObjectOverridesAllProperties::PluginObject::getProperty):
2755         (PluginScriptableObjectOverridesAllProperties::NPP_GetValue):
2756
2757         Expose NPN_MemAlloc to the test plugin:
2758         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
2759         (PluginTest::NPN_MemAlloc):
2760         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
2761         (PluginTest):
2762
2763         * DumpRenderTree/DumpRenderTree.gypi:
2764         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2765         * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
2766         * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
2767
2768 2012-07-27  Rafael Brandao  <rafael.lobo@openbossa.org>
2769
2770         "webkit-patch upload" should strip colors from patch if necessary
2771         https://bugs.webkit.org/show_bug.cgi?id=92306
2772
2773         Reviewed by Adam Barth.
2774
2775         * Scripts/webkitpy/common/checkout/scm/git.py: Explicity remove colors from diff.
2776
2777 2012-07-27  Eric Seidel  <eric@webkit.org>
2778
2779         clean-pending-commit throws exception when encountering Ossy
2780         https://bugs.webkit.org/show_bug.cgi?id=92534
2781
2782         Reviewed by Adam Barth.
2783
2784         Mark a couple strings as unicode so that reviewers with unicode names do not cause
2785         clean-pending-commit to barf.
2786
2787         * Scripts/webkitpy/tool/commands/upload.py:
2788         (CleanPendingCommit._flags_to_clear_on_patch):
2789         (CleanPendingCommit.execute):
2790         (AssignToCommitter._assign_bug_to_last_patch_attacher):
2791
2792 2012-07-27  Dirk Pranke  <dpranke@chromium.org>
2793
2794         chromium win compile broken after removing webkit.py
2795         https://bugs.webkit.org/show_bug.cgi?id=92549
2796
2797         Unreviewed, build fix.
2798
2799         It turns out that this file is listed in the chromium downstream
2800         'browser_tests.isolate' file, and so deleting it broke gyp.
2801         Adding a stub file back in until we can remove the entry from
2802         the file.
2803
2804         * Scripts/webkitpy/layout_tests/port/webkit.py: Added.
2805
2806 2012-07-27  Dirk Pranke  <dpranke@chromium.org>
2807
2808         nrwt: remove 'webkit.py' and the 'WebKitPort'
2809         https://bugs.webkit.org/show_bug.cgi?id=92450
2810
2811         Reviewed by Ryosuke Niwa.
2812
2813         This patch finishes the work of merging WebKitPort into Port.
2814         Now Port is way too big :).
2815
2816         This is all cutting and pasting; no new functionality and
2817         no changes in the tests.
2818
2819         * Scripts/webkitpy/layout_tests/port/apple.py:
2820         (ApplePort):
2821         (ApplePort.__init__):
2822         * Scripts/webkitpy/layout_tests/port/base.py:
2823         (Port.skipped_layout_tests):
2824         (Port):
2825         (Port._port_flag_for_scripts):
2826         (Port._arguments_for_configuration):
2827         (Port._run_script):
2828         (Port._build_driver):
2829         (Port._build_driver_flags):
2830         (Port._tests_for_other_platforms):
2831         (Port._runtime_feature_list):
2832         (Port.nm_command):
2833         (Port._modules_to_search_for_symbols):
2834         (Port._symbols_string):
2835         (Port._missing_feature_to_skipped_tests):
2836         (Port._missing_symbol_to_skipped_tests):
2837         (Port._has_test_in_directories):
2838         (Port._skipped_tests_for_unsupported_features):
2839         (Port._wk2_port_name):
2840         (Port._skipped_file_search_paths):
2841         * Scripts/webkitpy/layout_tests/port/chromium.py:
2842         (ChromiumPort):
2843         * Scripts/webkitpy/layout_tests/port/chromium_android.py:
2844         * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:
2845         (ChromiumPortTestCase.test_check_build):
2846         * Scripts/webkitpy/layout_tests/port/driver_unittest.py:
2847         * Scripts/webkitpy/layout_tests/port/efl.py:
2848         (EflPort):
2849         (EflPort.__init__):
2850         * Scripts/webkitpy/layout_tests/port/gtk.py:
2851         (GtkPort):
2852         (GtkPort.setup_environ_for_server):
2853         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
2854         (TestWebKitPort):
2855         (TestWebKitPort.__init__):
2856         (TestWebKitPort.all_test_configurations):
2857         (TestWebKitPort._symbols_string):
2858         (TestWebKitPort._tests_for_other_platforms):
2859         (TestWebKitPort._tests_for_disabled_features):
2860         (PortTestCase):
2861         (PortTestCase.test_diff_image):
2862         (PortTestCase.test_path_to_test_expectations_file):
2863         (PortTestCase.test_skipped_directories_for_symbols):
2864         (test_skipped_directories_for_features):
2865         (test_skipped_directories_for_features_no_matching_tests_in_test_list):
2866         (test_skipped_tests_for_unsupported_features_empty_test_list):
2867         (test_skipped_layout_tests):
2868         (test_skipped_file_search_paths):
2869         (test_root_option):
2870         (test_test_expectations):
2871         (test_build_driver):
2872         (_assert_config_file_for_platform):
2873         (test_linux_distro_detection):
2874         (test_apache_config_file_name_for_platform):
2875         (test_path_to_apache_config_file):
2876         * Scripts/webkitpy/layout_tests/port/qt.py:
2877         (QtPort):
2878         (QtPort.__init__):
2879         (QtPort.setup_environ_for_server):
2880         * Scripts/webkitpy/layout_tests/port/webkit.py: Removed.
2881         * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Removed.
2882         * Scripts/webkitpy/tool/servers/rebaselineserver.py:
2883         (get_test_baselines.AllPlatformsPort):
2884         (get_test_baselines.AllPlatformsPort.__init__):
2885         * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
2886         (get_test_config.TestMacPort):
2887
2888 2012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
2889
2890         [WK2][WTR] LayoutTestController.deliverWebIntent() needs to be implemented
2891         https://bugs.webkit.org/show_bug.cgi?id=92228
2892
2893         Reviewed by Anders Carlsson.
2894
2895         Implement LayoutTestController.deliverWebIntent() to
2896         allow test cases to deliver a Web intent and test this
2897         functionality.
2898
2899         This functionality is needed by:
2900         - webintents/web-intents-delivery.html
2901
2902         * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
2903         * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
2904         (WTR::LayoutTestController::deliverWebIntent):
2905         (WTR):
2906         * WebKitTestRunner/InjectedBundle/LayoutTestController.h:
2907         (LayoutTestController):
2908
2909 2012-07-27  Jer Noble  <jer.noble@apple.com>
2910
2911         Unreviewed build fix.
2912
2913         Wrap MSVC-specific fixes is a COMPILER() check, not a PLATFORM() check.
2914
2915         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
2916
2917 2012-07-27  Xianzhu Wang  <wangxianzhu@chromium.org>
2918
2919         [Chromium-Android] NRWT better handling of DRT deadlocks and crashes
2920         https://bugs.webkit.org/show_bug.cgi?id=92299
2921
2922         Reviewed by Dirk Pranke.
2923
2924         1. Changed the deadlock detector thread target from a method of driver to a function to avoid its reference to the
2925            current driver (see the bug for the problem of the reference.
2926         2. Let the deadlock detector thread exit early when the normal_startup_event is set to avoid it from blocking the main thread when the main thread is exiting.
2927         3. Extracted common loop until timeout logic into ChromiumAndroidDriver._loop_with_timeout().
2928         4. Use the "for i in range(n)" style suggested by dpranke in https://bugs.webkit.org/show_bug.cgi?id=89124 in several functions.
2929
2930         * Scripts/webkitpy/layout_tests/port/chromium_android.py:
2931         (ChromiumAndroidPort.__init__):
2932         (ChromiumAndroidPort._run_adb_command): Reduced the verbose output.
2933         (ChromiumAndroidDriver.__init__):
2934         (ChromiumAndroidDriver._loop_with_timeout): Extracted common loop until timeout logic here.
2935         (ChromiumAndroidDriver._all_pipes_created):
2936         (ChromiumAndroidDriver._remove_all_pipes):
2937         (ChromiumAndroidDriver._start): Changed the retry loop style.
2938         (ChromiumAndroidDriver._start_once): Changed the loop style and code related to deadlock detector.
2939         (ChromiumAndroidDriver._start_once.deadlock_detector): Moved the original ChromiumAndroidDriver._deadlock_detector() here.
2940         (ChromiumAndroidDriver.stop): Changed the loop style.
2941
2942 2012-07-27  Dirk Pranke  <dpranke@chromium.org>
2943
2944         nrwt: move collect_tests(), parse_expectations() into manager
2945         https://bugs.webkit.org/show_bug.cgi?id=92423
2946
2947         Reviewed by Ojan Vafai.
2948
2949         This is the first in a series of patches refactoring
2950         run_webkit_tests.py and manager.py to make them more
2951         maintainable; all this patch does is move a couple of functions
2952         into manager.run_tests() so manager's public interface is
2953         simple.
2954
2955         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2956         (Manager._collect_tests):
2957         (Manager._parse_expectations):
2958         (Manager._split_into_chunks_if_necessary):
2959         (Manager.run):
2960         (read_test_files):
2961         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
2962         (ManagerTest.test_http_locking):
2963         (ManagerTest.test_perf_locking):
2964         (ManagerTest.integration_test_needs_servers.get_manager_with_tests):
2965         (ManagerTest.test_look_for_new_crash_logs.get_manager_with_tests):
2966         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2967         (run):
2968
2969 2012-07-27  Dirk Pranke  <dpranke@chromium.org>
2970
2971         nrwt: print filtered stderr after a crash correctly
2972         https://bugs.webkit.org/show_bug.cgi?id=92428
2973
2974         Reviewed by Adam Barth.
2975
2976         Some ports will run the stderr output from DRT/WTR through a
2977         filter after a crash in order to print a more useful stack
2978         trace; while that gets written to the crash log correctly, we
2979         don't log it to the debug output properly. This change fixes
2980         that and makes it clearer that we're logging stderr, not the
2981         crash log.
2982
2983         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
2984         (SingleTestRunner._handle_error):
2985         * Scripts/webkitpy/layout_tests/port/base.py:
2986         (Port._get_crash_log):
2987         * Scripts/webkitpy/layout_tests/port/chromium.py:
2988         (ChromiumPort._get_crash_log):
2989         * Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
2990         (ChromiumAndroidPortTest.test_get_crash_log):
2991         * Scripts/webkitpy/layout_tests/port/driver.py:
2992         (Driver.run_test):
2993         * Scripts/webkitpy/layout_tests/port/gtk.py:
2994         * Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
2995         * Scripts/webkitpy/layout_tests/port/mac.py:
2996         (MacPort._get_crash_log):
2997         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
2998         (PortTestCase.test_get_crash_log):
2999
3000 2012-07-27  Dirk Pranke  <dpranke@chromium.org>
3001
3002         nrwt: move image diffing code to a separate module
3003         https://bugs.webkit.org/show_bug.cgi?id=92447
3004
3005         Reviewed by Ryosuke Niwa.
3006
3007         This patch moves the code to talk to ImageDiff into its own
3008         module, and adds more tests for it. In addition, the patch
3009         modifies diff_image() so that we don't automatically stop
3010         ImageDiff after a single invocation, and thus subsequent
3011         diffs may be slightly faster. (Note that the chromium ports
3012         don't use any of this code; that is not changed by this patch).
3013
3014         The main motivation for this change is to move more "generic"
3015         code out of the port/* classes, and in particular to move more
3016         code out of webkit.py so that we can eventually eliminate it by
3017         merging it into base.py.
3018
3019         This patch also splits MockServerProcess out from driver_unittest.py
3020         so that it can be re-used.
3021
3022         * Scripts/webkitpy/layout_tests/port/base.py:
3023         (Port.__init__):
3024         (Port.diff_image):
3025         (Port.clean_up_test_run):
3026         * Scripts/webkitpy/layout_tests/port/driver.py:
3027         (Driver.__init__):
3028         (Driver._start):
3029         * Scripts/webkitpy/layout_tests/port/driver_unittest.py:
3030         (DriverTest.test_stop_cleans_up_properly):
3031         (DriverTest.test_two_starts_cleans_up_properly):
3032         (DriverTest.test_start_actually_starts):
3033         * Scripts/webkitpy/layout_tests/port/efl.py:
3034         (EflPort.clean_up_test_run):
3035         * Scripts/webkitpy/layout_tests/port/gtk.py:
3036         (GtkPort.clean_up_test_run):
3037         * Scripts/webkitpy/layout_tests/port/image_diff.py: Added.
3038         (ImageDiffer):
3039         (ImageDiffer.__init__):
3040         (ImageDiffer.diff_image):
3041         (ImageDiffer._start):
3042         (ImageDiffer._read):
3043         (ImageDiffer.stop):
3044         * Scripts/webkitpy/layout_tests/port/image_diff_unittest.py: Added.
3045         (for):
3046         (FakePort):
3047         (FakePort.__init__):
3048         (FakePort._path_to_image_diff):
3049         (FakePort.setup_environ_for_server):
3050         (TestImageDiffer):
3051         (TestImageDiffer.test_diff_image):
3052         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
3053         (MockDRTPortTest.test_diff_image):
3054         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
3055         (PortTestCase.test_diff_image__missing_both):
3056         (PortTestCase.test_diff_image):
3057         (PortTestCase.test_diff_image.make_proc):
3058         * Scripts/webkitpy/layout_tests/port/server_process.py:
3059         (ServerProcess._start):
3060         * Scripts/webkitpy/layout_tests/port/server_process_mock.py: Added.
3061         (MockServerProcess):
3062         (MockServerProcess.__init__):
3063         (MockServerProcess.write):
3064         (MockServerProcess.has_crashed):
3065         (MockServerProcess.read_stdout_line):
3066         (MockServerProcess.read_stdout):
3067         (MockServerProcess.pop_all_buffered_stderr):
3068         (MockServerProcess.read_either_stdout_or_stderr_line):
3069         (MockServerProcess.start):
3070         (MockServerProcess.stop):
3071         (MockServerProcess.kill):
3072         * Scripts/webkitpy/layout_tests/port/webkit.py:
3073         (WebKitPort._build_driver_flags):
3074         (WebKitPort._symbols_string):
3075
3076 2012-07-27  Tom Hudson  <hudson@google.com>
3077
3078         Activate committer bit granted April 6th so I can garden.
3079         https://bugs.webkit.org/show_bug.cgi?id=92500
3080
3081         Reviewed by Jochen Eisinger.
3082
3083         * Scripts/webkitpy/common/config/committers.py:
3084
3085 2012-07-27  Jer Noble  <jer.noble@apple.com>
3086
3087         Support a rational time class for use by media elements.
3088         https://bugs.webkit.org/show_bug.cgi?id=88787
3089
3090         Add unit tests for the WTF::MediaTime class.
3091
3092         Reviewed by Eric Carlson.
3093
3094         * TestWebKitAPI/GNUmakefile.am:
3095         * TestWebKitAPI/TestWebKitAPI.gypi:
3096         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3097         * TestWebKitAPI/Tests/WTF/MediaTime.cpp: Added.
3098         * TestWebKitAPI/win/TestWebKitAPI.vcproj:
3099         (WTF::operator<<):
3100         (TestWebKitAPI):
3101         (TestWebKitAPI::TEST):
3102
3103 2012-07-27  Balazs Kelemen  <kbalazs@webkit.org>
3104
3105         [NRWT] should have a way to restrict pixel tests for individual directories
3106         https://bugs.webkit.org/show_bug.cgi?id=91754
3107
3108         Unreviewed attempt to fix the chaos I introduced.
3109
3110         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
3111         (WebCore::DumpRenderTree::processLine):
3112
3113 2012-07-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
3114
3115         [WK2][EFL] Add an ACCELERATED_COMPOSITING implementation for Efl WebKit2
3116         https://bugs.webkit.org/show_bug.cgi?id=91581
3117
3118         Reviewed by Noam Rosenthal.
3119
3120         Add a MiniBrowser's option for selecting evas engine.
3121
3122         * MiniBrowser/efl/main.c:
3123         (browserCreate):
3124         (main):
3125
3126 2012-07-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3127
3128         Unreviewed, rolling out r123869.
3129         http://trac.webkit.org/changeset/123869
3130         https://bugs.webkit.org/show_bug.cgi?id=92501
3131
3132         "it did not fix anything but made things even worst"
3133         (Requested by kbalazs on #webkit).
3134
3135         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
3136         (WebCore::DumpRenderTree::DumpRenderTree):
3137         (WebCore::DumpRenderTree::open):
3138         (WebCore::DumpRenderTree::processLine):
3139         (WebCore::DumpRenderTree::setDumpPixelsForAllTests):
3140         (WebCore::DumpRenderTree::dump):
3141         * DumpRenderTree/qt/DumpRenderTreeQt.h:
3142         (DumpRenderTree):
3143         * DumpRenderTree/qt/main.cpp:
3144         (main):
3145         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
3146         (SingleTestRunner._should_fetch_expected_checksum):
3147         (SingleTestRunner._overwrite_baselines):
3148         (SingleTestRunner._compare_output):
3149         * Scripts/webkitpy/layout_tests/controllers/worker.py:
3150         (Worker._update_test_input):
3151         * Scripts/webkitpy/layout_tests/port/base.py:
3152         (Port.supports_switching_pixel_tests_per_test):
3153         (Port):
3154         (Port._supports_switching_pixel_tests_per_test):
3155         (Port.should_run_as_pixel_test):
3156         (Port._should_run_as_pixel_test):
3157         * Scripts/webkitpy/layout_tests/port/driver.py:
3158         (Driver.cmd_line):
3159         (Driver._command_from_driver_input):
3160         * Scripts/webkitpy/layout_tests/port/qt.py:
3161         (QtPort.check_sys_deps):
3162         (QtPort):
3163         (QtPort._supports_switching_pixel_tests_per_test):
3164         (QtPort._should_run_as_pixel_test):
3165         (QtPort._default_pixel_test_directories):
3166         * Scripts/webkitpy/layout_tests/port/test.py:
3167         (TestPort.supports_switching_pixel_tests_per_test):
3168         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3169         (_set_up_derived_options):
3170         (parse_args):
3171         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3172         (MainTest.test_run_singly_actually_runs_tests):
3173         (MainTest.test_pixel_test_directories):
3174         * WebKitTestRunner/TestController.cpp:
3175         (WTR::TestController::TestController):
3176         (WTR::TestController::initialize):
3177         (WTR::TestController::runTest):
3178         * WebKitTestRunner/TestController.h:
3179         (TestController):
3180
3181 2012-07-27  Balazs Kelemen  <kbalazs@webkit.org>
3182
3183         [NRWT] should have a way to restrict pixel tests for individual directories
3184         https://bugs.webkit.org/show_bug.cgi?id=91754
3185
3186         Reviewed by Zoltan Herczeg.
3187
3188         Rollout r123729 because it made Qt debug bots crasy.
3189
3190         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
3191         (WebCore::DumpRenderTree::DumpRenderTree):
3192         (WebCore::DumpRenderTree::open):
3193         (WebCore::DumpRenderTree::processLine):
3194         (WebCore::DumpRenderTree::setDumpPixels):
3195         (WebCore::DumpRenderTree::dump):
3196         * DumpRenderTree/qt/DumpRenderTreeQt.h:
3197         (DumpRenderTree):
3198         * DumpRenderTree/qt/main.cpp:
3199         (main):
3200         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
3201         (SingleTestRunner._should_fetch_expected_checksum):
3202         (SingleTestRunner._overwrite_baselines):
3203         (SingleTestRunner._compare_output):
3204         * Scripts/webkitpy/layout_tests/controllers/worker.py:
3205         (Worker._update_test_input):
3206         * Scripts/webkitpy/layout_tests/port/base.py:
3207         (Port.lookup_virtual_test_args):
3208         * Scripts/webkitpy/layout_tests/port/driver.py:
3209         (Driver.cmd_line):
3210         (Driver._command_from_driver_input):
3211         * Scripts/webkitpy/layout_tests/port/qt.py:
3212         (QtPort.check_sys_deps):
3213         * Scripts/webkitpy/layout_tests/port/test.py:
3214         (TestPort.virtual_test_suites):
3215         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3216         (_set_up_derived_options):
3217         (parse_args):
3218         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3219         (MainTest.test_run_singly_actually_runs_tests):
3220         (MainTest.test_missing_and_unexpected_results):
3221         * WebKitTestRunner/TestController.cpp:
3222         (WTR::TestController::TestController):
3223         (WTR::TestController::initialize):
3224         (WTR::TestController::runTest):
3225         * WebKitTestRunner/TestController.h:
3226         (TestController):
3227
3228 2012-07-27  Adam Barth  <abarth@webkit.org>
3229
3230         webkit.review.bot should run clean-review-queue and clean-pending-commit periodically
3231         https://bugs.webkit.org/show_bug.cgi?id=92472
3232
3233         Reviewed by Eric Seidel.
3234
3235         We need to run these command periodically to keep cruft from
3236         accumulating in bugs.webkit.org. Rather than running them manually, we
3237         should just have a bot run them. This patch has the style-queue run the
3238         commands, which admittedly is a bit odd but it doesn't seem worthwhile
3239         to create another bot specifically for this purposes.
3240
3241         * Scripts/webkitpy/tool/commands/queues.py:
3242         (AbstractReviewQueue):
3243         (StyleQueue.begin_work_queue):
3244         (StyleQueue):
3245         (StyleQueue.clean_bugzilla):
3246         * Scripts/webkitpy/tool/commands/queues_unittest.py:
3247         (StyleQueueTest.test_style_queue_with_style_exception):
3248         (test_style_queue_with_watch_list_exception):
3249
3250 2012-07-27  Dominik Röttsches  <dominik.rottsches@intel.com>
3251
3252         [Cairo] Add complex font drawing using HarfbuzzNG
3253         https://bugs.webkit.org/show_bug.cgi?id=91864
3254
3255         Reviewed by Simon Hausmann and Martin Robinson.
3256
3257         Bringing Harfbuzz support to EFL with this patch, so we need HarfBuzz in the pulled in jhbuild dependencies.
3258
3259         * WebKitTestRunner/CMakeLists.txt: Adding additional header include directories.
3260         * efl/jhbuild.modules: Adding source for HarfBuzz release version 0.9.0.
3261
3262 2012-07-27  KwangYong Choi  <ky0.choi@samsung.com>
3263
3264         [WK2][EFL][WTR] TestNetscapePlugin is required.
3265         https://bugs.webkit.org/show_bug.cgi?id=88756
3266
3267         Reviewed by Simon Hausmann.
3268
3269         libTestNetscapePlugin.so should be required for DRT/WTR/EFL.
3270
3271         * CMakeLists.txt:
3272         * DumpRenderTree/TestNetscapePlugin/CMakeList.txt:
3273
3274 2012-07-27  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3275
3276         [EFL] Memory leaks in EFL DRT
3277         https://bugs.webkit.org/show_bug.cgi?id=92347
3278
3279         Reviewed by Simon Hausmann.
3280
3281         Fix a memory leak in EFL's DRT code by adopting an allocation
3282         of JSString created with JSStringCreateWithUTF8CString.
3283
3284         * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
3285         (DumpRenderTreeChrome::onWindowObjectCleared):
3286
3287 2012-07-27  Adam Barth  <abarth@webkit.org>
3288
3289         Simplify ExpectedFailures
3290         https://bugs.webkit.org/show_bug.cgi?id=92216
3291
3292         Reviewed by Eric Seidel.
3293
3294         This patch simplifies the ExpectedFailures class we use to remember
3295         which tests are currently failing on the bots. When we wrote this code
3296         originally, we weren't entirely sure how it would work. Now that we
3297         understand it more clearly, we can write the code more clearly.
3298
3299         * Scripts/webkitpy/tool/bot/expectedfailures.py:
3300         (_has_failures):
3301         (_is_trustworthy):
3302         (ExpectedFailures.__init__):
3303         (ExpectedFailures.failures_were_expected):
3304         (ExpectedFailures.unexpected_failures_observed):
3305         (ExpectedFailures.update):
3306         * Scripts/webkitpy/tool/bot/expectedfailures_unittest.py:
3307         (ExpectedFailuresTest._assert_can_trust):
3308         (ExpectedFailuresTest.test_failures_were_expected):
3309         (ExpectedFailuresTest.test_unexpected_failures_observed):
3310         (ExpectedFailuresTest.test_unexpected_failures_observed_when_tree_is_hosed):
3311         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
3312         (PatchAnalysisTask._test):
3313         (PatchAnalysisTask._build_and_test_without_patch):
3314         (PatchAnalysisTask._test_patch):
3315
3316 2012-07-27  Csaba Osztrogonác  <ossy@webkit.org>
3317
3318         [Qt][WK2] REGRESSION(r119127): resetting window.internals settings between tests doesn't work properly
3319         https://bugs.webkit.org/show_bug.cgi?id=88064
3320
3321         Reviewed by Zoltan Herczeg.
3322
3323         Use resetInternalsObject() instead of injectInternalsObject().
3324
3325         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3326         (WTR::InjectedBundlePage::resetAfterTest):
3327
3328 2012-07-26  Ryuan Choi  <ryuan.choi@samsung.com>
3329
3330         [EFL] Remove forwarding headers from MiniBrowser/Efl.
3331         https://bugs.webkit.org/show_bug.cgi?id=91627
3332
3333         Reviewed by Kentaro Hara.
3334
3335         * MiniBrowser/efl/CMakeLists.txt: Remove unnecessary forwarding headers.
3336
3337 2012-07-26  Yoshifumi Inoue  <yosin@chromium.org>
3338
3339         [Forms] Introduce runtime feature flags for input type datetime, datetimelocal, month, time, week
3340         https://bugs.webkit.org/show_bug.cgi?id=92339
3341
3342         Reviewed by Kent Tamura.
3343
3344         This patch enables runtime features for input type datetime, datetime-local,
3345         month, time and week for Chromium DRT.
3346
3347         * DumpRenderTree/chromium/TestShell.cpp:
3348         (TestShell::TestShell): Call enableInputType{DateTime,DateTimeLocal,Month,Time,Week}.
3349
3350 2012-07-26  Jeffrey Pfau  <jpfau@apple.com>
3351
3352         Reloading substitute-data/alternate html string for unreachableURL will add an item to the back-forward-history for each reload
3353         https://bugs.webkit.org/show_bug.cgi?id=84041
3354
3355         Reviewed by Brady Eidson.
3356
3357         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3358         * TestWebKitAPI/Tests/mac/BackForwardList.mm: Added.
3359         (-[BackForwardListTest webView:didFinishLoadForFrame:]):
3360         (-[BackForwardListTest webView:didFailProvisionalLoadWithError:forFrame:]):
3361         (TestWebKitAPI):
3362         (TestWebKitAPI::TEST):
3363
3364 2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3365
3366         Unreviewed, rolling out r123799.
3367         http://trac.webkit.org/changeset/123799
3368         https://bugs.webkit.org/show_bug.cgi?id=92431
3369
3370         broke the Apple Mac build (Requested by bweinstein on
3371         #webkit).
3372
3373         * DumpRenderTree/chromium/TestWebPlugin.cpp:
3374         * DumpRenderTree/chromium/TestWebPlugin.h:
3375         (TestWebPlugin::acceptsInputEvents):
3376         (TestWebPlugin::handleInputEvent):
3377
3378 2012-07-26  Dirk Pranke  <dpranke@chromium.org>
3379
3380         nrwt: pass --verbose twice on the bots to ensure getting the debug output for now
3381         https://bugs.webkit.org/show_bug.cgi?id=92172
3382
3383         Reviewed by Tony Chang.
3384
3385         Right now new-run-webkit-tests --verbose prints out too much
3386         information (it's like --verbose + debugging). I plan to fix
3387         this in bug 88702, and also clean up and simplify all of the
3388         --print options, but in preparation for these changes I need to
3389         pass --verbose twice to get the same level of output
3390         temporarily (for compatibility).
3391
3392         * Scripts/run-webkit-tests:
3393
3394 2012-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3395
3396         Propagate gesture events to plugins.
3397         https://bugs.webkit.org/show_bug.cgi?id=92281
3398
3399         Reviewed by Adam Barth.
3400
3401         Update TestWebPlugin to receive events, and output logs for the events.
3402
3403         * DumpRenderTree/chromium/TestWebPlugin.cpp:
3404         (TestWebPlugin::handleInputEvent):
3405         * DumpRenderTree/chromium/TestWebPlugin.h:
3406         (TestWebPlugin::acceptsInputEvents):
3407         (TestWebPlugin):
3408
3409 2012-07-26  Balazs Kelemen  <kbalazs@webkit.org>
3410
3411         [nrwt] get rid of --skip-pixel-test-if-no-baseline
3412         https://bugs.webkit.org/show_bug.cgi?id=92377
3413
3414         Reviewed by Adam Barth.
3415
3416         Remove the option and all code paths that handled it.
3417
3418         * Scripts/webkitpy/layout_tests/port/base.py:
3419         (Port.should_run_as_pixel_test):
3420         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3421         (_set_up_derived_options):
3422         (parse_args):
3423         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3424         (MainTest.test_repeat_each):
3425
3426 2012-07-26  Olivier Blin  <olivier.blin@softathome.com>
3427
3428         Add FastMalloc statistics in window.internals
3429         https://bugs.webkit.org/show_bug.cgi?id=91274
3430
3431         Reviewed by Ryosuke Niwa.
3432
3433         * GNUmakefile.am:
3434
3435 2012-07-26  Olivier Blin  <olivier.blin@softathome.com>
3436
3437         Add FastMalloc statistics in window.internals
3438         https://bugs.webkit.org/show_bug.cgi?id=91274
3439
3440         Reviewed by Ryosuke Niwa.
3441
3442         * GNUmakefile.am:
3443
3444 2012-07-20  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
3445
3446         buildbot: Remove the configuration of hfreyther*
3447         https://bugs.webkit.org/show_bug.cgi?id=91849
3448
3449         Reviewed by Adam Roben.
3450
3451         The machine running these configs was decommissioned and
3452         there is no replacement at this point. Remove them from the
3453         configuration.
3454
3455         * BuildSlaveSupport/build.webkit.org-config/config.json: Remove hfreyther* from
3456         the config. The Qt Linux SH4 and Qt Linux MIPS schedulers are orphaned, remove
3457         them too.
3458
3459 2012-07-26  Balazs Kelemen  <kbalazs@webkit.org>
3460
3461         Unreviewed speculative Mac buildfix after r123729 - 2nd attempt.
3462
3463         * WebKitTestRunner/TestController.cpp:
3464         (WTR::TestController::runTest):
3465
3466 2012-07-26  Balazs Kelemen  <kbalazs@webkit.org>
3467
3468         Unreviewed speculative buildfix after r123729.
3469
3470         * WebKitTestRunner/TestController.cpp:
3471         (WTR::TestController::runTest): Fix sign errors.
3472
3473 2012-07-26  Zoltan Nyul  <zoltan.nyul@intel.com>
3474
3475         [EFL] EFL port should use XDG paths
3476         https://bugs.webkit.org/show_bug.cgi?id=91719
3477
3478         Reviewed by Kenneth Rohde Christiansen.
3479
3480         The appcache/localstorage/webdatabase path should be set in the
3481         ewk_main.cpp instead of the DumpRenderTree, and the XDG_DATA_HOME and
3482         XDG_CACHE_HOME should be set to different directory for each processes
3483         for the layout-tests.
3484
3485         * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
3486         (DumpRenderTreeChrome::initialize):
3487         * Scripts/webkitpy/layout_tests/port/efl.py:
3488         (EflPort.setup_environ_for_server):
3489         * efl/jhbuild.modules:
3490
3491 2012-07-26  Balazs Kelemen  <kbalazs@webkit.org>
3492
3493         [NRWT] should have a way to restrict pixel tests for individual directories
3494         https://bugs.webkit.org/show_bug.cgi?id=91754
3495
3496         Reviewed by Dirk Pranke.
3497
3498         Added --pixel-test-directories option to nrwt. It implies --pixel-tests.
3499         If the platform supports this option only tests from these directories will
3500         be executed as pixel tests. Furthermore, platforms can have a default set of
3501         pixel test directories. To support the feature the test harness have to be
3502         able to inform the driver whether to dump pixels for each tests. For this
3503         purpose I changed WTR and the Qt DRT to handle a --pixel-test argument from
3504         the standard output and made NRWT use this argument with these drivers.
3505
3506         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
3507         (WebCore::DumpRenderTree::DumpRenderTree):
3508         (WebCore::DumpRenderTree::open):
3509         (WebCore::DumpRenderTree::processLine):
3510         (WebCore::DumpRenderTree::setDumpPixelsForAllTests):
3511         (WebCore::DumpRenderTree::dump):
3512         * DumpRenderTree/qt/DumpRenderTreeQt.h:
3513         (DumpRenderTree):
3514         * DumpRenderTree/qt/main.cpp:
3515         (main):
3516         Handle the --pixel-test argument.
3517
3518         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
3519         (SingleTestRunner._should_fetch_expected_checksum):
3520         (SingleTestRunner._overwrite_baselines):
3521         (SingleTestRunner._compare_output):
3522         * Scripts/webkitpy/layout_tests/controllers/worker.py:
3523         (Worker._update_test_input):
3524         * Scripts/webkitpy/layout_tests/port/base.py:
3525         (Port.supports_switching_pixel_tests_per_test): Ports can override this to inform
3526         the harness that --pixel-test argument is supported. True for WTR, otherwise calls
3527         private version that can be overridden by the actual platform. Only true with WTR
3528         and Qt DRT currently. This supposed to exist only temporary until there are ports
3529         that doesn't support the feature in their DRT's.
3530         (Port):
3531         (Port._supports_switching_pixel_tests_per_test):
3532         (Port.should_run_as_pixel_test):
3533         (Port._should_run_as_pixel_test): Ports can override this to define their
3534         default set of pixel tests directories.
3535         * Scripts/webkitpy/layout_tests/port/driver.py:
3536         (Driver.cmd_line): Don't pass --pixel-tests if the platform supports per test
3537         --pixel-test.
3538         (Driver._command_from_driver_input): Pass --pixel-test if it is supported and pixel
3539         tests are enabled.
3540         * Scripts/webkitpy/layout_tests/port/qt.py:
3541         (QtPort.check_sys_deps):
3542         (QtPort):
3543         (QtPort._supports_switching_pixel_tests_per_test):
3544         (QtPort._should_run_as_pixel_test):
3545         (QtPort._default_pixel_test_directories): Only compositing will be our default pixel
3546         test directory for the time being.
3547         * Scripts/webkitpy/layout_tests/port/test.py:
3548         (TestPort.supports_switching_pixel_tests_per_test):
3549         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3550         (_set_up_derived_options):
3551         (parse_args):
3552         Handle the --pixel-test-directory option. It expect a directory below LayoutTests
3553         and can be specified multiple times. Added fixme's that we should improve how we
3554         handle these arguments.
3555
3556         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3557         (MainTest.test_run_singly_actually_runs_tests):
3558         (MainTest.test_pixel_test_directories):
3559         Added an integration test for the feature.
3560
3561         * WebKitTestRunner/TestController.cpp:
3562         (WTR::TestController::TestController):
3563         (WTR::TestController::initialize):
3564         (WTR::TestController::runTest):
3565         * WebKitTestRunner/TestController.h:
3566         (TestController):
3567         Handle the --pixel-test argument.
3568
3569 2012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
3570
3571         [EFL] Regression(r123604): webintents/web-intents-obj-constructor.html is crashing
3572         https://bugs.webkit.org/show_bug.cgi?id=92349
3573
3574         Reviewed by Kentaro Hara.
3575
3576         Fix crash occurring after r123604, which replaced strdup()
3577         usage with eina_stringshare_add(). Unfortunately, the DRT
3578         was not updated accordingly to use eina_stringshare_del()
3579         instead of free() on the values returned by Ewk_Intent
3580         getters and it was causing
3581         webintents/web-intents-obj-constructor.html to crash.
3582
3583         * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
3584         (DumpRenderTreeChrome::onFrameIntentNew):
3585
3586 2012-07-26  Adam Barth  <abarth@webkit.org>
3587
3588         Unreviewed attempt to fix the chromium-win build.
3589
3590         * DumpRenderTree/chromium/TestRunner/TestRunner.cpp:
3591
3592 2012-07-26  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3593
3594         [DRT] LTC:: pageNumberForElementById() could be moved to Internals
3595         https://bugs.webkit.org/show_bug.cgi?id=92091
3596
3597         Reviewed by Adam Barth.
3598
3599         Move the pageNumberForElementById from LayoutTestCotroller to Internals and
3600         remove the old platform specific implementations as it exclusively tests WebCore functionality.
3601
3602         * DumpRenderTree/LayoutTestController.cpp:
3603         (LayoutTestController::staticFunctions):
3604         * DumpRenderTree/LayoutTestController.h:
3605         (LayoutTestController):
3606         * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
3607         * DumpRenderTree/chromium/LayoutTestController.cpp:
3608         (LayoutTestController::LayoutTestController):
3609         (LayoutTestController::setPrinting):
3610         * DumpRenderTree/chromium/LayoutTestController.h:
3611         (LayoutTestController):
3612         * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
3613         * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
3614         * DumpRenderTree/mac/LayoutTestControllerMac.mm:
3615         * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
3616         * DumpRenderTree/qt/LayoutTestControllerQt.h:
3617         (LayoutTestController):
3618         * DumpRenderTree/win/LayoutTestControllerWin.cpp:
3619         * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
3620         * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
3621         * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
3622         (WTR):
3623         * WebKitTestRunner/InjectedBundle/LayoutTestController.h:
3624         (LayoutTestController):
3625
3626 2012-07-25  Adam Barth  <abarth@webkit.org>
3627
3628         TestRunner.a should contain a TestRunner object
3629         https://bugs.webkit.org/show_bug.cgi?id=92313
3630
3631         Reviewed by Kent Tamura.
3632
3633         This patch adds a stub implementation of TestRunner, which is the new
3634         home for our implementation of window.testRunner. A future patch will
3635         migrate functions from LayoutTestController to TestRunner.
3636
3637         * DumpRenderTree/DumpRenderTree.gypi:
3638         * DumpRenderTree/chromium