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