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