a6c0241a4cbf0060f2d80c59928196179a45d18d
[WebKit-https.git] / Tools / ChangeLog
1 2012-01-22  Ryosuke Niwa  <rniwa@webkit.org>
2
3         run-perf-tests ignore Skipped list on chromium
4         https://bugs.webkit.org/show_bug.cgi?id=76764
5
6         Reviewed by Dirk Pranke.
7
8         Move skipped_perf_tests from WebKit port to Base port so that Chromium port
9         can also find skipped list. Chromium port only uses test_expectations.txt for
10         layout tests but performacne tests don't use test_expectations.txt so Chromium port
11         also needs to use Skipped list.
12
13         * Scripts/webkitpy/layout_tests/port/base.py:
14         (Port._tests_from_skipped_file_contents):
15         (Port):
16         (Port._expectations_from_skipped_files):
17         (Port.skipped_perf_tests):
18         * Scripts/webkitpy/layout_tests/port/base_unittest.py:
19         (PortTest.test_skipped_perf_tests):
20         (PortTest.test_skipped_perf_tests.add_text_file):
21         * Scripts/webkitpy/layout_tests/port/webkit.py:
22         (WebKitPort._skipped_tests_for_unsupported_features):
23         (WebKitPort._skipped_file_search_paths):
24         (WebKitPort.skipped_layout_tests):
25
26 2012-01-23  Andy Estes  <aestes@apple.com>
27
28         Fix the build after r105635.
29
30         * TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
31         (TestWebKitAPI::TEST):
32
33 2012-01-23  Xianzhu Wang  <wangxianzhu@chromium.org>
34
35         Basic enhancements to StringBuilder
36         https://bugs.webkit.org/show_bug.cgi?id=67081
37
38         Reviewed by Darin Adler.
39
40         * TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
41         (TestWebKitAPI::TEST):
42
43 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
44
45         [GTK] run-gtk-tests randomly fails while running the xprop comand
46         https://bugs.webkit.org/show_bug.cgi?id=76817
47
48         Reviewed by Gustavo Noronha Silva.
49
50         No need to use xprop to remove the AT_SPI_BUS property since
51         run-gtk-tests will always run new instances of Xvfb.
52
53         * Scripts/run-gtk-tests:
54         (TestRunner): Unskip TestWebKitAccessibility.
55         (TestRunner.run): Uncomment lines for launching the accessibility
56         bus and registry daemon, and remove lines for running xprop.
57
58 2012-01-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
59
60         [Qt] Don't warn about override and final being C++11 extensions
61
62         Clang will emit a warning when these extensions are used without passing
63         --std=c++11, but we use feature checking to decide if we have the right
64         extensions, so we can safely ignore these warnings. The XCode and Windows
65         project files have the same workaround.
66
67         The reason for adding the flag to QMAKE_OBJECTIVE_CFLAGS as well is that
68         we only have one extra compiler for Objective-C, which is also used for
69         Objective-C++ sources, so we have to pass the flag, even if it doesn't
70         make sense for Objective-C.
71
72         Reviewed by Simon Hausmann.
73
74         * qmake/mkspecs/features/unix/default_post.prf:
75
76 2012-01-20  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77
78         [Qt] Change how build-webkit decides when to do full incremental builds
79
80         Instead of relying on update-webkit (which isn't run on the bots) to
81         decide when to do a full incremental build (make qmake), we let the
82         build-webkit script itself check the current SVN revision against the
83         previous build (by storing it in .webkit.config).
84
85         If the two differ we assume a full incremental build is needed, since
86         the new revisions might have introduced problematic things like new
87         Q_OBJECT macros. If not, we assume the developer is doing changes
88         locally, and revert to doing a plain 'make'.
89
90         In addition, when the build fails in the latter case, we inform the
91         developer of possible pitfalls and how to manually run 'make qmake'.
92
93         Reviewed by Ossy.
94
95         * Scripts/update-webkit:
96         * Scripts/webkitdirs.pm:
97         (buildQMakeProjects):
98
99 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
100
101         [GTK] run-gtk-tests randomly fails while running the xprop comand
102         https://bugs.webkit.org/show_bug.cgi?id=76817
103
104         Reviewed by Philippe Normand.
105
106         Temporarily comment the lines related to launching the ATSPI bus
107         and registry daemon, which are making the bots to fail randomly.
108
109         * Scripts/run-gtk-tests:
110         (TestRunner): Skip TestWebKitAccessibility, as it won't run
111         properly if the ATSPI infrastructure is not properly initialized.
112         (TestRunner.run): Comment lines related to initialization of ATSPI.
113
114 2012-01-22  Ryosuke Niwa  <rniwa@webkit.org>
115
116         Windows python test build fix.
117
118         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
119         (PerfTestsRunner.__init__):
120
121 2012-01-22  Sergio Villar Senin  <svillar@igalia.com>
122
123         [GTK] DumpRenderTree converts "file:///" to a path differently
124         https://bugs.webkit.org/show_bug.cgi?id=76631
125
126         Reviewed by Martin Robinson.
127
128         DumpRenderTree should print "/" as the last path component if the
129         path is a lone slash instead of empty output.
130
131         * DumpRenderTree/gtk/DumpRenderTree.cpp:
132         (webViewConsoleMessage):
133
134 2012-01-20  David Levin  <levin@chromium.org>
135
136         The leaky DC check should use adoptPtr as a signal instead of OwnPtr to get less false positives.
137         https://bugs.webkit.org/show_bug.cgi?id=76752
138
139         Reviewed by Eric Seidel.
140
141         * Scripts/webkitpy/style/checkers/cpp.py:
142         (check_for_leaky_patterns):
143         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
144         (LeakyPatternTest.test_create_dc):
145         (LeakyPatternTest.test_create_compatible_dc):
146
147 2012-01-20  Shawn Singh  <shawnsingh@chromium.org>
148
149         Changed my status in commiters.py
150
151         Unreviewed.
152
153         * Scripts/webkitpy/common/config/committers.py:
154
155 2012-01-20  Ojan Vafai  <ojan@chromium.org>
156
157         run-webkit-tests --lint-test-files crawls the whole LayoutTests subtree
158         https://bugs.webkit.org/show_bug.cgi?id=76748
159
160         Reviewed by Ryosuke Niwa.
161
162         It crawls the whole subtree and then doesn't use the data. Cutting this out
163         saves 4 seconds warm and 17 seconds cold on my Mac Pro.
164
165         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
166         (run):
167
168 2012-01-20  Adam Barth  <abarth@webkit.org>
169
170         Another tiny tweak to the garden-o-matic CSS.  This makes things line
171         up slightly nicer when there aren't any failures.
172
173         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:
174         (#summary):
175
176 2012-01-19  Ryosuke Niwa  <rniwa@webkit.org>
177
178         run-perf-tests should support --test-results-server option
179         https://bugs.webkit.org/show_bug.cgi?id=76680
180
181         Reviewed by Adam Barth.
182
183         Add --test-results-server, --builder-name, and --build-number options to run-perf-tests
184         to be used by perf bots. Also refactor file_uploader as needed.
185
186         * Scripts/webkitpy/common/net/file_uploader.py:
187         (FileUploader.__init__):
188         (FileUploader.upload_single_file):
189         (FileUploader.upload_as_multipart_form_data):
190         (FileUploader):
191         (FileUploader._upload_data):
192         (FileUploader._upload_data.callback):
193         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
194         (JSONResultsGeneratorBase.upload_json_files):
195         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
196         (PerfTestsRunner):
197         (PerfTestsRunner._parse_args):
198         (PerfTestsRunner.run):
199         (PerfTestsRunner._generate_json):
200         (PerfTestsRunner._upload_json):
201         (PerfTestsRunner._run_tests_set):
202         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
203         (create_runner):
204         (test_run_with_upload_json):
205         (test_run_with_upload_json.mock_upload_json):
206         (test_upload_json):
207         (test_upload_json.MockFileUploader):
208         (test_upload_json.MockFileUploader.__init__):
209         (test_upload_json.MockFileUploader.upload_single_file):
210         (test_parse_args):
211
212 2012-01-20  Adam Barth  <abarth@webkit.org>
213
214         The party time image overlaps real content!  This patch makes the
215         image centered vertically.
216
217         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:
218         (#onebar.partytime #summary):
219
220 2012-01-19  Ojan Vafai  <ojan@chromium.org>
221
222         Refactor TestExpectationsParser in preparation for caching the results
223         https://bugs.webkit.org/show_bug.cgi?id=76669
224
225         Reviewed by Dimitri Glazkov.
226
227         Make everything private expect for the parse method. 
228         Eventually, we'll need the expectations lines to not be modified
229         outside of TestExpectationsParser so we can cache the results.
230         This makes check-webkit-style of the chromium test_expectations.txt file
231         go from ~17 seconds to ~12 seconds on my Mac Pro.
232
233         This patch is just a refactor in preparation, so no new tests.
234
235         * Scripts/webkitpy/layout_tests/controllers/test_expectations_editor_unittest.py:
236         (TestExpectationEditorTests.make_parsed_expectation_lines):
237         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
238         (TestExpectationParser.parse):
239         (TestExpectationParser):
240         (TestExpectationParser._parse_line):
241         (TestExpectationParser._tokenize):
242         (TestExpectationParser._tokenize_list):
243         (TestExpectationsModel._clear_expectations_for_test):
244         (TestExpectations.__init__):
245         (TestExpectations._add_expectations):
246         (TestExpectations._add_skipped_tests):
247         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
248         (TestExpectationParserTests.test_tokenize_blank):
249         (TestExpectationParserTests.test_tokenize_missing_colon):
250         (TestExpectationParserTests.test_tokenize_extra_colon):
251         (TestExpectationParserTests.test_tokenize_empty_comment):
252         (TestExpectationParserTests.test_tokenize_comment):
253         (TestExpectationParserTests.test_tokenize_missing_equal):
254         (TestExpectationParserTests.test_tokenize_extra_equal):
255         (TestExpectationParserTests.test_tokenize_valid):
256         (TestExpectationParserTests.test_tokenize_valid_with_comment):
257         (TestExpectationParserTests.test_tokenize_valid_with_multiple_modifiers):
258         (TestExpectationParserTests.test_parse_empty_string):
259         (TestExpectationSerializerTests.assert_round_trip):
260         (TestExpectationSerializerTests.assert_list_round_trip):
261         * Scripts/webkitpy/tool/commands/expectations.py:
262         (OptimizeExpectations.execute):
263         * Scripts/webkitpy/tool/servers/gardeningserver.py:
264         (GardeningExpectationsUpdater.update_expectations):
265
266 2012-01-20  Adam Barth  <abarth@webkit.org>
267
268         Follow-up to previous patch: don't produce NaN when the revision number
269         is missing.
270
271         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model.js:
272         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js:
273
274 2012-01-20  Adam Barth  <abarth@webkit.org>
275
276         Garden-o-matic should tell me which revisions have been checked by all the bots
277         https://bugs.webkit.org/show_bug.cgi?id=76722
278
279         Reviewed by Dimitri Glazkov.
280
281         This information helps me know when it's safe for me to roll a
282         candidate revision.
283
284         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
285         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model.js:
286         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js:
287
288 2012-01-20  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
289
290         build-webkit: Don't spit out congratulations message on Ctrl+C
291
292         Reviewed by Andreas Kling.
293
294         * Scripts/build-webkit:
295
296 2012-01-20  Philippe Normand  <pnormand@igalia.com>
297
298         [GTK] Allow extra jhbuild modulesets
299         https://bugs.webkit.org/show_bug.cgi?id=76691
300
301         Reviewed by Gustavo Noronha Silva.
302
303         * gtk/jhbuildrc: Extra modulesets and modules can be added in
304         JHBuild using the WEBKIT_EXTRA_MODULESETS and WEBKIT_EXTRA_MODULES
305         env variables respectively. Use comma-separated values. Example:
306         WEBKIT_EXTRA_MODULES=file:///path/to/module.set,file:///other/path.
307
308 2012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>
309
310         [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
311         https://bugs.webkit.org/show_bug.cgi?id=72589
312
313         Reviewed by Martin Robinson.
314
315         Ensure the accessibility infrastructure is available when running
316         the unit tests, otherwise WK2's accessibility tests won't work.
317
318         * Scripts/run-gtk-tests:
319         (TestRunner):
320         (TestRunner._lookup_atspi2_binary): New. Looks for the directory
321         where at-spi2's stuff is located (like at-spi-bus-launcher and
322         at-spi2-registryd).
323         (TestRunner.run): Initialize the accessibility infrastructure.
324
325         * gtk/generate-gtkdoc:
326         (get_webkit2_options): Add 'WebKitWebViewBaseAccessible.*'.
327
328         * gtk/jhbuild.modules: Added at-spi2-core and at-spi2-atk.
329
330 2012-01-20  Hayato Ito  <hayato@chromium.org>
331
332         Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
333         https://bugs.webkit.org/show_bug.cgi?id=76353
334
335         Reviewed by Hajime Morita.
336
337         Add ShadowRoot.idl, which is enabled only on chromium port since this is
338         under development feature.
339         ShadowRoot.idl contains minimum API so that we can test it.
340         Other APIs should be added on other changes so that we can isolate issues.
341
342         * DumpRenderTree/chromium/TestShell.cpp:
343         (TestShell::TestShell):
344
345 2012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>
346
347         [GTK] GTK's DRT not to log events for already defunct objects
348         https://bugs.webkit.org/show_bug.cgi?id=76620
349
350         Reviewed by Martin Robinson.
351
352         Do not log 'state-change:defunct' events.
353
354         * DumpRenderTree/gtk/AccessibilityCallbacks.cpp:
355         (printAccessibilityEvent): Early return if a
356         'state-change:defunct' signal is passed.
357         (axObjectEventListener): Pass the signal name and value in
358         separate parameters to printAccessibilityEvent.
359
360 2012-01-19  Gustavo Noronha Silva  <gns@gnome.org>
361
362         Unreviewed build fix. Wrong variable being used as the cwd for git
363         remote update command.
364
365         * gtk/run-with-jhbuild:
366         (update_jhbuild):
367
368 2012-01-19  Gustavo Noronha Silva  <gns@gnome.org>
369
370         [GTK] ensure the jhbuild used by webkit is as up-to-date as needed
371         https://bugs.webkit.org/show_bug.cgi?id=76585
372
373         Reviewed by Martin Robinson.
374
375         This allows us to specify a minimum version of jhbuild required,
376         while also providing stability against changes done to the master
377         branch, by letting us choose what is the exact version that will
378         be used.
379
380         * gtk/run-with-jhbuild: refactored for more hackability and easier
381         reading
382         (jhbuild_installed): checks whether jhbuild is installed
383         (jhbuild_cloned): checks whether jhbuild has been cloned
384         (jhbuild_at_expected_revision): checks whether jhbuild is at the
385         expected revision
386         (update_jhbuild): brings jhbuild to the expected revision
387         (clone_jhbuild): clones jhbuild
388         (install_jhbuild): build and installs jhbuild
389         (update_webkitgtk_libs): runs update-webkitgtk-libs
390         (ensure_jhbuild): high-level logic to decide whether and which of
391         the steps above are executed
392
393 2012-01-19  Alexey Proskuryakov  <ap@apple.com>
394
395         [WK2] DumpRenderTree converts "file:///" to a path differently
396         https://bugs.webkit.org/show_bug.cgi?id=76653
397
398         Reviewed by John Sullivan.
399
400         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::lastFileURLPathComponent):
401         Do print a slash if there are no path components.
402
403 2012-01-19  Eric Seidel  <eric@webkit.org>
404
405         webkit-patch cannot rollout patches without changelog/bug number
406         https://bugs.webkit.org/show_bug.cgi?id=75962
407
408         Reviewed by Adam Barth.
409
410         * Scripts/webkitpy/tool/commands/download.py:
411         (AbstractRolloutPrepCommand._prepare_state):
412         * Scripts/webkitpy/tool/commands/download_unittest.py:
413         (AbstractRolloutPrepCommandTest.test_prepare_state):
414
415 2012-01-19  Alexey Proskuryakov  <ap@apple.com>
416
417         [WK2] fast/url/degenerate-file-base.html fails
418         https://bugs.webkit.org/show_bug.cgi?id=76619
419
420         Reviewed by Adam Roben.
421
422         A URL generated form local path for loading had an extra slash, making document.URL
423         incorrect in all WebKit2 tests (file://localhost//path/to/test.html).
424
425         * WebKitTestRunner/TestInvocation.cpp: (WTR::createWKURL):
426
427 2012-01-18  Ojan Vafai  <ojan@chromium.org>
428
429         check-webkit-style of the chromium test_expectations.txt file doesn't test all chromium ports
430         https://bugs.webkit.org/show_bug.cgi?id=76510
431
432         Reviewed by Adam Barth.
433
434         Unlike other style rules, if you get the syntax of the test_expectations.txt
435         file wrong, the layout tests won't run. Also, this check is simple and only
436         slows down committing if you actually modify one of the test_expectations.txt files.
437
438         * Scripts/webkitpy/style/checkers/test_expectations.py:
439         (TestExpectationsChecker.check_test_expectations):
440         (TestExpectationsChecker.check):
441         * Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
442         (TestExpectationsTestCase.test_check_covers_all_configurations):
443         (TestExpectationsTestCase.test_check_covers_all_configurations.mock_check_test_expectations):
444         (TestExpectationsTestCase):
445         (assert_lines_lint):
446
447 2012-01-19  Ryosuke Niwa  <rniwa@webkit.org>
448
449         Build fix. Revert an unintentional change to WebKitDriver in r105443.
450
451         * Scripts/webkitpy/layout_tests/port/driver.py:
452         (DriverProxy.__init__):
453
454 2012-01-19  Dirk Pranke  <dpranke@chromium.org>
455
456         remove the duplicated build rules from WebKit.gyp, Tools.gyp
457         https://bugs.webkit.org/show_bug.cgi?id=73384
458
459         Reviewed by Tony Chang.
460
461         This patch removes the no-longer-necessary conditional logic for
462         build_webkit_exes_from_webkit_gyp; we now always build the exes
463         from their own dedicated gyp files.
464
465         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
466
467 2012-01-19  Alexey Proskuryakov  <ap@apple.com>
468
469         make-new-script-test should work with HTTP tests
470         https://bugs.webkit.org/show_bug.cgi?id=76603
471
472         Reviewed by Adam Roben.
473
474         * Scripts/make-new-script-test:
475         (makePathToSharedSources): Renamed from makeTestRelativePathToSharedSources(), since it
476         now also creates absolute paths for HTTP.
477
478 2012-01-19  Ryosuke Niwa  <rniwa@webkit.org>
479
480         Some perf tests time out when ran by run-perf-tests
481         https://bugs.webkit.org/show_bug.cgi?id=76612
482
483         Reviewed by Dirk Pranke and Eric Seidel.
484
485         Always pass --no-timeout to DumpRenderTree from run-perf-tests.
486         Otherwise some tests such as Parser/xml-parser.html will timeout.
487
488         --no-timeout option is currently supported by Chromium and Mac ports.
489
490         * Scripts/webkitpy/layout_tests/port/base.py:
491         (Port.to.create_driver):
492         * Scripts/webkitpy/layout_tests/port/chromium.py:
493         (ChromiumDriver.__init__):
494         (ChromiumDriver._wrapper_options):
495         * Scripts/webkitpy/layout_tests/port/driver.py:
496         (Driver.__init__):
497         (DriverProxy.__init__):
498         * Scripts/webkitpy/layout_tests/port/webkit.py:
499         (WebKitDriver.__init__):
500         (WebKitDriver.cmd_line):
501         * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
502         (WebKitDriverTest.test_read_binary_block):
503         (WebKitDriverTest):
504         (WebKitDriverTest.test_no_timeout):
505         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
506         (get_tests_run.RecordingTestDriver.__init__):
507         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
508         (PerfTestsRunner._parse_args):
509         (PerfTestsRunner._run_tests_set):
510         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
511         (create_runner):
512
513 2012-01-19  Ben Wells  <benwells@chromium.org>
514
515         Add support for window.print to chromium DRT
516         https://bugs.webkit.org/show_bug.cgi?id=76479
517
518         When used in a test window.print goes into print mode and then
519         straight out again. This will allow the afterprint event to be
520         tested by having the afterprint event happen before the dump
521         happens.
522
523         Reviewed by Mihai Parparita.
524
525         * DumpRenderTree/chromium/WebViewHost.cpp:
526         (WebViewHost::printPage):
527         * DumpRenderTree/chromium/WebViewHost.h:
528
529 2012-01-18  Enrica Casucci  <enrica@apple.com>
530
531         editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName.
532         https://bugs.webkit.org/show_bug.cgi?id=76588
533         <rdar://problem/9325183>
534
535         Added test.
536         
537         Reviewed by Dan Bernstein.
538
539         * TestWebKitAPI/Tests/mac/InspectorBar.mm:
540         (TestWebKitAPI::TEST):
541
542 2012-01-19  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
543
544         [Qt] Do full incremental builds until bots use update-webkit
545
546         Rubber-stamped by Simon Hausmann.
547
548         * Scripts/webkitdirs.pm:
549         (buildQMakeProjects):
550
551 2012-01-19  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
552
553         Fix the Qt build
554
555         Unreviewed build fix.
556
557         * Scripts/webkitdirs.pm:
558         (buildQMakeProjects):
559
560 2012-01-19  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
561
562         [Qt] Make build-webkit always do safe incremental builds after update-webkit
563
564         When building against Qt5 with GCC we would just run 'make' in the build dir,
565         and rely on the dependency files output by GCC (-MD) to handle dependency
566         tracking, but that fails for special-cases like adding a Q_OBJECT macro
567         to a header.
568
569         To guarantee that an incrmental build will work, we have to run 'make qmake',
570         which we now do on every build-webkit that's followed by a successful run
571         of update-webkit. The reasoning is that update-webkit can result in such
572         potential corner-cases being applied, and since we can't know for sure
573         unless we inspect the diff and account for all the corner cases we assume
574         the worst and always run 'make qmake'.
575
576         After a succesful run of build-webkit we proceed to do just 'make' for any
577         subsequent runs, since we assume that the developer knows what kind of
578         changes he/she is doing, and when a 'make qmake' is needed.
579
580         Reviewed by Simon Hausmann.
581
582         * Scripts/update-webkit:
583         * Scripts/webkitdirs.pm:
584         (determineCurrentSVNRevision):
585         (currentSVNRevision):
586         (buildQMakeProjects):
587         * qmake/mkspecs/features/default_post.prf:
588
589 2012-01-18  Ryosuke Niwa  <rniwa@webkit.org>
590
591         run-perf-tests should support Skipped list
592         https://bugs.webkit.org/show_bug.cgi?id=76594
593
594         Reviewed by Adam Barth.
595
596         Add a support for Skipped list in run-perf-tests; also skip files in resources directories.
597
598         * Scripts/webkitpy/layout_tests/port/base.py:
599         (Port.perf_tests_dir):
600         (Port.skipped_perf_tests):
601         (Port.skips_perf_test):
602         (Port.relative_perf_test_filename):
603         * Scripts/webkitpy/layout_tests/port/test.py:
604         (TestPort.perf_tests_dir):
605         * Scripts/webkitpy/layout_tests/port/webkit.py:
606         (WebKitPort._expectations_from_skipped_files):
607         (WebKitPort):
608         (WebKitPort.skipped_layout_tests):
609         (WebKitPort.skipped_perf_tests):
610         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
611         (PerfTestsRunner._collect_tests):
612         (PerfTestsRunner.run):
613         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
614         (test_run_test_set_with_json_output):
615         (test_run_test_set_with_json_source):
616         (test_collect_tests_with_skipped_list):
617         (test_collect_tests_with_skipped_list.add_file):
618
619 2012-01-18  Dirk Pranke  <dpranke@chromium.org>
620
621         Fix path to chromium_src_dir introduced in previous change.
622
623         Unreviewed, build fix.
624
625         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
626
627 2012-01-18  Alexey Proskuryakov  <ap@apple.com>
628
629         Need infrastructure to test Content-Disposition filename encoding support
630         https://bugs.webkit.org/show_bug.cgi?id=76572
631         <rdar://problem/6421825>
632
633         Reviewed by Sam Weinig.
634
635         Made policy delegate log suggested file name when resource has Content-Disposition: attachment.
636
637         WebKitTestRunner does not have a policy delegate yet, bug 42546.
638
639         * DumpRenderTree/mac/PolicyDelegate.mm:
640         (dispositionTypeFromContentDispositionHeader):
641         (-[PolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
642
643 2012-01-18  Ojan Vafai  <ojan@chromium.org>
644
645         Fix tests from http://trac.webkit.org/changeset/105332.
646
647         The code assumed that if you passed an options object with a configuration
648         attribute that it would have a valid value. A bunch of the testing mocks
649         do things like having a configuration value of None.
650
651         * Scripts/webkitpy/layout_tests/port/base.py:
652         (Port.__init__):
653
654 2012-01-18  Ojan Vafai  <ojan@chromium.org>
655
656         Shave 0.5 seconds off check-webkit-style runtime for test_expectations.txt
657         https://bugs.webkit.org/show_bug.cgi?id=76576
658
659         Reviewed by Adam Barth.
660
661         Avoid calling default_configuration in base.py. We don't need it for
662         checking test_expectations.txt style. It takes ~0.5 seconds to run on my
663         Mac Pro. It's the call to "perl Tools/Scripts/webkit-build-directory --top-level"
664         from common.executive.
665
666         At some point someone should probably look into why that call is so slow
667         since it's on the critical path for run-webkit-tests and build-webkit startup.
668
669         * Scripts/webkitpy/layout_tests/port/base.py:
670         (Port.__init__):
671         * Scripts/webkitpy/style/checkers/test_expectations.py:
672         (TestExpectationsChecker._determine_port_from_exepectations_path):
673
674 2012-01-18  Dirk Pranke  <dpranke@chromium.org>
675
676         [chromium] move Tools.gyp, switch build-webkit --chromium to All.gyp
677         https://bugs.webkit.org/show_bug.cgi?id=76505
678
679         Reviewed by Tony Chang.
680
681         Update chromium build script to use All.gyp instead of WebKit.gyp
682
683         * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Renamed from Source/WebKit/chromium/Tools.gyp.
684         * Scripts/webkitdirs.pm:
685
686 2012-01-18  Sam Weinig  <sam@webkit.org>
687
688         Don’t hardcode the path to ‘make‘.
689
690         Reviewed by Dan Bernstein.
691
692         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
693
694 2012-01-18  Joshua Bell  <jsbell@chromium.org>
695
696         Adding myself to committers.py
697         https://bugs.webkit.org/show_bug.cgi?id=76569
698
699         Unreviewed.
700
701         * Scripts/webkitpy/common/config/committers.py:
702
703 2012-01-18  Adam Barth  <abarth@webkit.org>
704
705         Up the cap on test failures tolerated by the EWS so the mac-ews can run to completion
706         https://bugs.webkit.org/show_bug.cgi?id=76567
707
708         Reviewed by Eric Seidel.
709
710         Current the AppleMac port has slightly more failures than we allow on
711         the EWS, causing the mac-ews to spin.  This patch ups the limit a bit,
712         which should hopefully let the mac-ews run to completion.  Once
713         AppleMac has fewer failures, we can lower the cap again.
714
715         * Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
716         (LayoutTestResultsReaderTest.test_layout_test_results):
717         * Scripts/webkitpy/tool/steps/runtests.py:
718         (RunTests):
719         * Scripts/webkitpy/tool/steps/steps_unittest.py:
720
721 2012-01-18  Eric Carlson  <eric.carlson@apple.com>
722
723         Provide access to user's list of preferred languages
724         https://bugs.webkit.org/show_bug.cgi?id=76138
725
726         Reviewed by Alexey Proskuryakov.
727
728         * GNUmakefile.am: Add JSInternalsCustom.cpp.
729
730 2012-01-18  Adam Barth  <abarth@webkit.org>
731
732         Add Chromium Linux GPU 32 to the list of allowed Chromium Linux
733         configurations.
734
735         * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
736         (ChromiumLinuxPort.__init__):
737
738 2012-01-18  Dominic Mazzoni  <dmazzoni@google.com>
739
740         Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
741         https://bugs.webkit.org/show_bug.cgi?id=73460
742
743         Reviewed by Chris Fleizach.
744
745         * DumpRenderTree/AccessibilityUIElement.h:
746         * DumpRenderTree/chromium/AccessibilityUIElement.cpp:
747         (AccessibilityUIElement::AccessibilityUIElement):
748         (AccessibilityUIElement::scrollToMakeVisibleCallback):
749         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocusCallback):
750         (AccessibilityUIElement::scrollToGlobalPointCallback):
751         * DumpRenderTree/chromium/AccessibilityUIElement.h:
752         * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
753         (AccessibilityUIElement::scrollToMakeVisible):
754         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
755         (AccessibilityUIElement::scrollToGlobalPoint):
756         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
757         (AccessibilityUIElement::scrollToMakeVisible):
758         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
759         (AccessibilityUIElement::scrollToGlobalPoint):
760         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
761         (AccessibilityUIElement::scrollToMakeVisible):
762         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
763         (AccessibilityUIElement::scrollToGlobalPoint):
764
765 2012-01-17  Enrica Casucci  <enrica@apple.com>
766
767         Missing NSForegroundColorAttributeName should be treated as black instead of transparent.
768         https://bugs.webkit.org/show_bug.cgi?id=76490
769         <rdar://problem/9460733>
770
771         Added TestWebKitAPI test.
772         
773         Reviewed by Dan Bernstein.
774
775         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new test file.
776         * TestWebKitAPI/Tests/mac/InspectorBar.mm: Added test that calls
777         changeAttributes to the WebView.
778         
779 2012-01-18  Balazs Kelemen  <kbalazs@webkit.org>
780
781         [Qt] Consolidate layout test crash logging
782         https://bugs.webkit.org/show_bug.cgi?id=75088
783
784         Reviewed by Simon Hausmann.
785
786         Move backtrace generating logic into WTFReportBacktrace
787         and add a way to deinstall signal handlers if we know
788         that we have already printed the backtrace.
789
790         * DumpRenderTree/qt/main.cpp:
791         (crashHandler):
792         (setupSignalHandlers):
793         (WTFCrashHook):
794         (main):
795         * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
796         (WTR::crashHandler):
797         (WTR::setupSignalHandlers):
798         (WTR::crashHook):
799         (WTR::InjectedBundle::platformInitialize):
800
801 2012-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
802
803         Unreviewed build fix after r105256.
804
805         There was a cyclic dependency between self._port and self._host assigments.
806
807         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
808         (PerfTestsRunner.__init__):
809
810 2012-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
811
812         Add new watchlist rule for the Qt build system
813
814         Reviewed by Simon Hausmann.
815
816         * Scripts/webkitpy/common/config/watchlist:
817
818 2012-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
819
820         [Qt] Move OTHER_FILES from WebKit.pro to Tools.pro
821
822         Reviewed by Simon Hausmann.
823
824         * Tools.pro:
825
826 2012-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
827
828         [Qt] Allow building only a subset of the WebKit sub-projects
829
830         Fixes build-jsc, broken in r104825.
831
832         We no longer need the intermediate buildQMakeQtProject(), as we're the
833         only port using qmake, and buildQMakeProject is now highly Qt specific.
834
835         <http://webkit.org/b/76179>
836
837         Reviewed by Simon Hausmann.
838
839         * Scripts/build-jsc:
840         * Scripts/build-webkit:
841         * Scripts/webkitdirs.pm:
842         (buildQMakeProjects):
843
844 2012-01-18  Ryosuke Niwa  <rniwa@webkit.org>
845
846         run-perf-tests should generate a json file that summaries the result
847         https://bugs.webkit.org/show_bug.cgi?id=76504
848
849         Reviewed by Adam Barth.
850
851         Add an ability to generate a json file to run-perf-test in the preparation for perf bots.
852         New option --outout-json-path specifies the json file's path, and --source-json-path specifies
853         another json file to be merged into the generated json file.
854
855         Also fixed a bug that --build wasn't set by default.
856
857         * Scripts/webkitpy/layout_tests/port/test.py:
858         (TestPort.webkit_base):
859         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
860         (PerfTestsRunner.__init__):
861         (PerfTestsRunner):
862         (PerfTestsRunner._parse_args):
863         (PerfTestsRunner.run):
864         (PerfTestsRunner._generate_json_if_specified):
865         (PerfTestsRunner._process_chromium_style_test_result):
866         (PerfTestsRunner._process_parser_test_result):
867         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
868         (MainTest):
869         (create_runner):
870         (test_run_test_set):
871         (test_run_test_set_for_parser_tests):
872         (test_run_test_set_with_summary_json):
873         (test_collect_tests):
874         (test_parse_args):
875
876 2012-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
877
878         Unreviewed, rolling out r105244.
879         http://trac.webkit.org/changeset/105244
880         https://bugs.webkit.org/show_bug.cgi?id=76518
881
882         broke Chromium Mac (Requested by rolandsteiner on #webkit).
883
884         * DumpRenderTree/AccessibilityUIElement.h:
885         * DumpRenderTree/chromium/AccessibilityUIElement.cpp:
886         (AccessibilityUIElement::AccessibilityUIElement):
887         * DumpRenderTree/chromium/AccessibilityUIElement.h:
888         * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
889         (AccessibilityUIElement::removeSelection):
890         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
891         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
892         (AccessibilityUIElement::removeSelection):
893
894 2012-01-17  Dominic Mazzoni  <dmazzoni@google.com>
895
896         Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
897         https://bugs.webkit.org/show_bug.cgi?id=73460
898
899         Reviewed by Chris Fleizach.
900
901         * DumpRenderTree/AccessibilityUIElement.h:
902         * DumpRenderTree/chromium/AccessibilityUIElement.cpp:
903         (AccessibilityUIElement::AccessibilityUIElement):
904         (AccessibilityUIElement::scrollToMakeVisibleCallback):
905         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocusCallback):
906         (AccessibilityUIElement::scrollToGlobalPointCallback):
907         * DumpRenderTree/chromium/AccessibilityUIElement.h:
908         * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
909         (AccessibilityUIElement::scrollToMakeVisible):
910         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
911         (AccessibilityUIElement::scrollToGlobalPoint):
912         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
913         (AccessibilityUIElement::scrollToMakeVisible):
914         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
915         (AccessibilityUIElement::scrollToGlobalPoint):
916         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
917         (AccessibilityUIElement::scrollToMakeVisible):
918         (AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
919         (AccessibilityUIElement::scrollToGlobalPoint):
920
921 2012-01-17  Adam Barth  <abarth@webkit.org>
922
923         Enable tests on the mac-ews
924         https://bugs.webkit.org/show_bug.cgi?id=76502
925
926         Reviewed by Simon Fraser.
927
928         Apple now has five machines running the mac-ews.  Lucas Forschler has
929         asked that we try enabling tests to see if we have enough bandwidth.
930
931         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
932         (MacEWS):
933
934 2012-01-17  Sanjoy Das  <sanjoy@playingwithpointers.com>
935
936         Add a check-webkit-style exception for GDBInterface.cpp
937         https://bugs.webkit.org/show_bug.cgi?id=76187
938
939         Add an exception for Source/JavaScriptCore/jit/GDBInterface.cpp so
940         that it does not fail the style check.
941
942         Reviewed by Martin Robinson.
943
944         * Scripts/webkitpy/style/checker.py: Tell the style checker to not run
945         readability/naming tests on
946         Source/JavaScriptCore/jit/GDBInterface.cpp.
947         * Scripts/webkitpy/style/checker_unittest.py:
948         (GlobalVariablesTest.test_path_rules_specifier): Add a test for
949         the above exception.
950
951 2012-01-17  Hajime Morrita  <morrita@chromium.org>
952
953         https://bugs.webkit.org/show_bug.cgi?id=76245
954         [Mac][DRT] should allow query string for the file URL.
955
956         Reviewed by Tony Chang.
957
958         Taught DRT about file:// as a url instead of a file path.
959         We are now able to use a path file:///foo/bar.html?baz as a url
960         with which DRT opens "/foo/bar.html" with "baz" as a query string.
961
962         * DumpRenderTree/mac/DumpRenderTree.mm:
963         (runTest):
964
965 2012-01-17  Ojan Vafai  <ojan@chromium.org>
966
967         Check style on test_expectations.txt files before commit
968         https://bugs.webkit.org/show_bug.cgi?id=76484
969
970         Reviewed by Adam Barth.
971
972         Unlike other style rules, if you get the syntax of the test_expectations.txt
973         file wrong, the layout tests won't run. Also, this check is simple and only
974         slows down committing if you actually modify one of the test_expectations.txt files.
975
976         * Scripts/webkitpy/tool/steps/commit.py:
977         (Commit._check_test_expectations):
978         (Commit.run):
979         * Scripts/webkitpy/tool/steps/commit_unittest.py: Added.
980         (CommitTest):
981         (CommitTest.test_check_test_expectations):
982
983 2012-01-17  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
984
985         [Qt] Debug build fails with debug qt5
986         https://bugs.webkit.org/show_bug.cgi?id=76463
987
988         Reviewed by Simon Hausmann.
989
990         Add QNetworkCookie include in order to satisfy sizeof in QTypeInfo in debug builds.
991
992         * QtTestBrowser/cookiejar.h:
993
994 2012-01-17  Dirk Pranke  <dpranke@chromium.org>
995
996         webkitpy: fix json import on linux
997         https://bugs.webkit.org/show_bug.cgi?id=76481
998
999         Reviewed by Adam Barth.
1000
1001         For some reason, the version of simplejson autoinstalled on my linux
1002         box seems to be broken. We should really only be using
1003         simplejson if json isn't available anyway, so this change looks
1004         for json first.
1005
1006         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
1007         (JSONGeneratorTest.test_test_timings_trie):
1008
1009 2012-01-17  Dirk Pranke  <dpranke@chromium.org>
1010
1011         Fix failures in test-webkitpy caused by r105177.
1012
1013         Unreviewed, build fix.
1014
1015         * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
1016         (ChromiumLinuxPort._determine_driver_path_statically):
1017         (ChromiumLinuxPort._static_build_path):
1018
1019 2012-01-17  Dirk Pranke  <dpranke@chromium.org>
1020
1021         webkitpy: make PortFactory.get() be fully data-driven
1022         https://bugs.webkit.org/show_bug.cgi?id=76360
1023
1024         Reviewed by Eric Seidel.
1025
1026         Refactor PortFactory.get() to be fully data-driven.
1027
1028         * Scripts/webkitpy/layout_tests/port/factory.py:
1029         (PortFactory):
1030         (PortFactory._default_port):
1031         (PortFactory.get):
1032         (PortFactory.get.in):
1033         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
1034         (FactoryTest.assert_port):
1035
1036 2012-01-17  Dirk Pranke  <dpranke@chromium.org>
1037
1038         webkitpy: add determine_full_port_name(), clean up port.__init__()
1039         https://bugs.webkit.org/show_bug.cgi?id=76357
1040
1041         Reviewed by Adam Barth.
1042
1043         Each Port class is now required to implement a 'port_name' field
1044         that will match the start of all ports constructed by this class and
1045         a 'determine_full_port_name' field that will make the port
1046         fully-qualified.
1047
1048         * Scripts/webkitpy/layout_tests/port/apple.py:
1049         (ApplePort.__init__):
1050         * Scripts/webkitpy/layout_tests/port/base.py:
1051         (Port):
1052         (Port.determine_port_name):
1053         (Port.__init__):
1054         * Scripts/webkitpy/layout_tests/port/chromium.py:
1055         (ChromiumPort.for):
1056         (ChromiumPort.__init__):
1057         (ChromiumPort):
1058         (ChromiumPort._chromium_base_dir):
1059         (ChromiumPort.path_from_chromium_base):
1060         * Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
1061         (ChromiumGpuLinuxPort):
1062         (ChromiumGpuLinuxPort.__init__):
1063         (ChromiumGpuMacPort):
1064         (ChromiumGpuMacPort.__init__):
1065         (ChromiumGpuWinPort):
1066         (ChromiumGpuWinPort.__init__):
1067         * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
1068         (ChromiumLinuxPort):
1069         (ChromiumLinuxPort.determine_port_name):
1070         (ChromiumLinuxPort.__init__):
1071         * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
1072         (ChromiumMacPort):
1073         (ChromiumMacPort.determine_port_name):
1074         (ChromiumMacPort.__init__):
1075         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
1076         (ChromiumWinPort):
1077         (ChromiumWinPort.determine_port_name):
1078         (ChromiumWinPort.__init__):
1079         * Scripts/webkitpy/layout_tests/port/dryrun.py:
1080         (DryRunPort):
1081         (DryRunPort.determine_port_name):
1082         (DryRunPort.__init__):
1083         * Scripts/webkitpy/layout_tests/port/efl.py:
1084         (EflPort):
1085         * Scripts/webkitpy/layout_tests/port/factory.py:
1086         (PortFactory):
1087         (PortFactory._default_port):
1088         (PortFactory.get):
1089         (PortFactory.get.in):
1090         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
1091         (FactoryTest.assert_port):
1092         * Scripts/webkitpy/layout_tests/port/google_chrome.py:
1093         (GoogleChromeLinux32Port):
1094         (GoogleChromeLinux32Port.determine_port_name):
1095         (GoogleChromeLinux64Port):
1096         (GoogleChromeLinux64Port.determine_port_name):
1097         (GoogleChromeMacPort):
1098         (GoogleChromeMacPort.determine_port_name):
1099         (GoogleChromeWinPort):
1100         (GoogleChromeWinPort.determine_port_name):
1101         * Scripts/webkitpy/layout_tests/port/gtk.py:
1102         (GtkPort):
1103         * Scripts/webkitpy/layout_tests/port/mac.py:
1104         (MacPort):
1105         (MacPort.determine_port_name):
1106         (MacPort.__init__):
1107         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
1108         (test_versions):
1109         * Scripts/webkitpy/layout_tests/port/mock_drt.py:
1110         (MockDRTPort):
1111         (MockDRTPort.determine_port_name):
1112         (MockDRTPort.__init__):
1113         (MockDRT):
1114         (MockDRT.determine_port_name):
1115         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
1116         (PortTestCase.make_port):
1117         * Scripts/webkitpy/layout_tests/port/qt.py:
1118         (QtPort):
1119         (QtPort.determine_port_name):
1120         (QtPort.__init__):
1121         * Scripts/webkitpy/layout_tests/port/test.py:
1122         (TestPort):
1123         (TestPort.determine_port_name):
1124         (TestPort.__init__):
1125         * Scripts/webkitpy/layout_tests/port/webkit.py:
1126         (WebKitPort.__init__):
1127         * Scripts/webkitpy/layout_tests/port/win.py:
1128         (WinPort):
1129         (WinPort.determine_port_name):
1130         * Scripts/webkitpy/tool/servers/rebaselineserver.py:
1131         (get_test_baselines.AllPlatformsPort.__init__):
1132         * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
1133         (get_test_config.TestMacPort):
1134         (get_test_config):
1135
1136 2012-01-17  Dirk Pranke  <dpranke@chromium.org>
1137
1138         webkitpy: clean up port code in preparation for static port names
1139         https://bugs.webkit.org/show_bug.cgi?id=76356
1140
1141         Reviewed by Adam Barth.
1142
1143         To fix bug 76215 and be able to determine appropriate port names
1144         in webkitpy without actually constructing Port objects, we need
1145         to shuffle some logic in the chromium ports to be able to figure
1146         out whether we built DRT in 32 or 64-bit mode.
1147
1148         * Scripts/webkitpy/layout_tests/port/chromium.py:
1149         (ChromiumPort):
1150         (ChromiumPort._chromium_base_dir):
1151         (ChromiumPort.__init__):
1152         (ChromiumPort.path_from_chromium_base):
1153         * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
1154         (ChromiumLinuxPort):
1155         (ChromiumLinuxPort._determine_driver_path_statically):
1156         (ChromiumLinuxPort._static_build_path):
1157         (ChromiumLinuxPort._determine_architecture):
1158         (ChromiumLinuxPort.__init__):
1159         (ChromiumLinuxPort._build_path):
1160
1161 2012-01-17  Hao Zheng  <zhenghao@chromium.org>
1162
1163         Do not remove pixel failures for ref tests.
1164         https://bugs.webkit.org/show_bug.cgi?id=76243
1165
1166         Reviewed by Tony Chang.
1167
1168         'NRWT --no-pixel-tests' complains when reftests are expected to
1169         be image mismatch.
1170
1171         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1172         (Manager._update_summary_with_result):
1173         * Scripts/webkitpy/layout_tests/models/test_failures.py:
1174         (is_reftest_failure):
1175         (determine_result_type):
1176
1177 2012-01-17  Balazs Ankes  <Ankes.Balazs@stud.u-szeged.hu>
1178
1179         REGRESSION(r81225): ORWT should ignore reftests
1180         https://bugs.webkit.org/show_bug.cgi?id=67936
1181
1182         Reviewed by Csaba Osztrogonác.
1183
1184         * Scripts/old-run-webkit-tests:
1185         (isUsedInReftest): $filename should be the first parameter
1186         (findTestsToRun): run test if it isn't reftest
1187
1188 2012-01-17  Gustavo Noronha Silva  <gns@gnome.org>
1189
1190         Unreviewed. Fix python unit test I broke with r105142
1191
1192         * Scripts/webkitpy/common/config/ports_unittest.py:
1193         (WebKitPortTest.test_gtk_port):
1194
1195 2012-01-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1196
1197         [Qt] Don't set the 'primary' flag when mocking touch-points in MiniBrowser
1198
1199         Qt 5 no longer has that flag.
1200
1201         Reviewed by Simon Hausmann.
1202
1203         * MiniBrowser/qt/MiniBrowserApplication.cpp:
1204         (MiniBrowserApplication::notify):
1205
1206 2012-01-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1207
1208         GTK+ EWS needs to run update-webkitgtk-libs after applying a patch
1209         https://bugs.webkit.org/show_bug.cgi?id=75857
1210
1211         Reviewed by Adam Barth.
1212
1213         * Scripts/webkitdirs.pm:
1214         (buildAutotoolsProject): move cleaning the build to happen early,
1215         and handle --update-gtk right after that
1216         * Scripts/webkitpy/common/config/ports.py:
1217         (GtkPort.build_webkit_command): pass --update-gtk as an option to
1218         build-webkit, so that it is used in the EWS
1219
1220 2012-01-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1221
1222         [Qt] Don't add _debug postfix to targets when building debug only
1223
1224         Reviewed by Simon Hausmann.
1225
1226         * qmake/mkspecs/features/default_post.prf:
1227         * qmake/mkspecs/features/functions.prf:
1228
1229 2012-01-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1230
1231         [Qt] Add more files to project-files for easier navigation in Qt Creator
1232
1233         Reviewed by Simon Hausmann.
1234
1235         * Tools.pro:
1236         * qmake/config.tests/README: Added.
1237
1238 2012-01-17  Philippe Normand  <pnormand@igalia.com>
1239
1240         [GTK] fast/dom/constructed-objects-prototypes.html fails
1241         https://bugs.webkit.org/show_bug.cgi?id=75432
1242
1243         Reviewed by Martin Robinson.
1244
1245         * Scripts/build-webkit: Enable video-track in GTK.
1246
1247 2012-01-16  Takashi Toyoshima  <toyoshim@chromium.org>
1248
1249         Add toyoshim as a committer.
1250         https://bugs.webkit.org/show_bug.cgi?id=76390
1251
1252         Reviewed by Hajime Morita.
1253
1254         * Scripts/webkitpy/common/config/committers.py:
1255
1256 2012-01-16  Brent Fulgham  <bfulgham@webkit.org>
1257
1258         [WinCairo] Build fix after r104155. Several debug targets were not
1259         properly including the '*Common' property sheets.
1260
1261         * DumpRenderTree/win/DumpRenderTreeLauncherDebugCairoCFLite.vsprops:
1262         * DumpRenderTree/win/ImageDiffLauncherDebugCairoCFLite.vsprops:
1263         * MiniBrowser/Configurations/MiniBrowserLauncherDebugCairoCFLite.vsprops:
1264         * WebKitTestRunner/win/WebKitTestRunnerLauncherDebugCairoCFLite.vsprops:
1265         * WinLauncher/WinLauncherLauncherDebugCairoCFLite.vsprops:
1266
1267 2012-01-16  Csaba Osztrogonác  <ossy@webkit.org>
1268
1269         REGRESSION(r105072): It broke committers_unittest.py
1270         https://bugs.webkit.org/show_bug.cgi?id=76396
1271
1272         Reviewed by Adam Barth.
1273
1274         * Scripts/webkitpy/common/config/committers_unittest.py:
1275         (CommittersTest._assert_fuzz_match): It should handle more names.
1276         (CommittersTest.test_contributors_by_fuzzy_match_with_legacy_names): Fix the testcase.
1277
1278 2012-01-16  Mario Sanchez Prada  <msanchez@igalia.com>
1279
1280         [GTK] Include gtk+3 in the jhbuild modules
1281         https://bugs.webkit.org/show_bug.cgi?id=76284
1282
1283         Reviewed by Philippe Normand.
1284
1285         * gtk/jhbuild.modules: Add some gtk+3 to the jhbuild moduleset.
1286
1287 2012-01-16  Dan Winship  <danw@gnome.org>
1288
1289         Add myself as a committer
1290
1291         Unreviewed
1292
1293         * Scripts/webkitpy/common/config/committers.py:
1294
1295 2012-01-16  Raphael Kubo da Costa  <kubo@profusion.mobi>
1296
1297         Unreviewed; fix the build when --as-needed and --no-copy-dt-needed-entries are passed to the linker.
1298
1299         Some recent versions of a few Linux distributions have started passing
1300         --as-needed and --no-copy-dt-needed-entries by default to the linker,
1301         which broke the build when SHARED_CORE was turned on, as libwtf_efl.so
1302         needed a few symbols from libjavascriptcore_efl.so.
1303
1304         * DumpRenderTree/efl/CMakeLists.txt: Explicitly pass WTF_LIBRARY_NAME
1305         before JavaScriptCore_LIBRARY_NAME in DumpRenderTree_LIBRARIES so the
1306         libraries are searched in the right order by the linker.
1307
1308 2012-01-16  Philippe Normand  <pnormand@igalia.com>
1309
1310         [GTK] set audio resources path in NRTW
1311         https://bugs.webkit.org/show_bug.cgi?id=76380
1312
1313         Reviewed by Martin Robinson.
1314
1315         * Scripts/webkitpy/layout_tests/port/gtk.py:
1316         (GtkPort.setup_environ_for_server): Set $AUDIO_RESOURCES_PATH so
1317         the uninstalled audio resources are used during webaudio tests.
1318
1319 2012-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1320
1321         [GTK] ldflags and cflags should take precedence over the existing flags in gtkdoc.py
1322         https://bugs.webkit.org/show_bug.cgi?id=76369
1323
1324         Reviewed by Xan Lopez.
1325
1326         If there's an installed version of webkit and there are new
1327         symbols in the build tree, gtkdoc-scanobj fails due to undefined
1328         references, because the env ldflags are given before the local
1329         ones.
1330
1331         * gtk/gtkdoc.py:
1332         (GTKDoc._run_gtkdoc_scangobj):
1333
1334 2012-01-15  Pablo Flouret  <pablof@motorola.com>
1335
1336         Fix compilation errors on build-webkit --debug --no-video on mac.
1337         https://bugs.webkit.org/show_bug.cgi?id=75867
1338
1339         Reviewed by Philippe Normand.
1340
1341         Add --[no-]video-track to build-webkit, since video track feature
1342         depends on video.
1343
1344         * Scripts/build-webkit:
1345
1346 2012-01-14  James Robinson  <jamesr@chromium.org>
1347
1348         [chromium] Failing webkit_unit_tests does not make the cr-linux EWS bubble red
1349         https://bugs.webkit.org/show_bug.cgi?id=76313
1350
1351         Reviewed by Adam Barth.
1352
1353         The exit code of this script should be the exit code of webkit_unit_tests. Tested manually.
1354
1355         * Scripts/run-chromium-webkit-unit-tests:
1356
1357 2012-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1358
1359         Unreviewed, rolling out r105017.
1360         http://trac.webkit.org/changeset/105017
1361         https://bugs.webkit.org/show_bug.cgi?id=76333
1362
1363         broke the build (Requested by philn-tp on #webkit).
1364
1365         * gtk/jhbuild.modules:
1366
1367 2012-01-14  Mario Sanchez Prada  <msanchez@igalia.com>
1368
1369         [GTK] Include gtk+3 in the jhbuild modules
1370         https://bugs.webkit.org/show_bug.cgi?id=76284
1371
1372         Reviewed by Philippe Normand.
1373
1374         * gtk/jhbuild.modules: Add some gtk+3 to the jhbuild moduleset.
1375
1376 2012-01-13  Adam Barth  <abarth@webkit.org>
1377
1378         Remove --dry-run support from webkit-patch
1379         https://bugs.webkit.org/show_bug.cgi?id=76300
1380
1381         Reviewed by Dirk Pranke.
1382
1383         This is the rest of the patch from Bug 76300.  I landed it separtely
1384         because main.py had some stray conflict markers that I needed to clean
1385         up first.
1386
1387         * Scripts/webkitpy/test/main.py:
1388         (Tester.parse_args):
1389         (Tester._run_tests):
1390
1391 2012-01-13  Adam Barth  <abarth@webkit.org>
1392
1393         test-webkitpy does not run
1394         https://bugs.webkit.org/show_bug.cgi?id=76318
1395
1396         Unreviewed.
1397
1398         Looks like some conflict markers got left in the file.
1399
1400         * Scripts/webkitpy/test/main.py:
1401         (Tester.run):
1402
1403 2012-01-13  Adam Barth  <abarth@webkit.org>
1404
1405         Remove --dry-run support from webkit-patch
1406         https://bugs.webkit.org/show_bug.cgi?id=76300
1407
1408         Reviewed by Dirk Pranke.
1409
1410         We don't use this functionality for anything, and it doesn't really
1411         work.  Someone in #webkit tried using it and and got sad/confused.  We
1412         should just remove it.
1413
1414         * Scripts/webkitpy/common/checkout/scm/git.py:
1415         (Git.push_local_commits_to_server):
1416         * Scripts/webkitpy/common/checkout/scm/scm.py:
1417         (SCM.__init__):
1418         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
1419         (_shared_test_commit_with_message):
1420         (GitSVNTest.test_commit_text_parsing):
1421         * Scripts/webkitpy/common/checkout/scm/svn.py:
1422         (SVN.commit_with_message):
1423         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
1424         (Bugzilla.__init__):
1425         (Bugzilla.quips):
1426         (Bugzilla.authenticate):
1427         (Bugzilla.add_attachment_to_bug):
1428         (Bugzilla.add_patch_to_bug):
1429         (Bugzilla.create_bug):
1430         (Bugzilla.clear_attachment_flags):
1431         (Bugzilla.set_flag_on_attachment):
1432         (Bugzilla.obsolete_attachment):
1433         (Bugzilla.add_cc_to_bug):
1434         (Bugzilla.post_comment_to_bug):
1435         (Bugzilla.close_bug_as_fixed):
1436         (Bugzilla.reassign_bug):
1437         (reopen_bug):
1438         * Scripts/webkitpy/test/main.py:
1439         (Tester.parse_args):
1440         (Tester.run_tests):
1441
1442 2012-01-13  David Levin  <levin@chromium.org>
1443
1444         check-webkit-style: should encourage the use of Own* classes for Windows DC.
1445         https://bugs.webkit.org/show_bug.cgi?id=76227
1446
1447         Reviewed by Dirk Pranke.
1448
1449         * Scripts/webkitpy/style/checkers/cpp.py:
1450         (check_for_leaky_patterns): The new check.
1451         (process_line): Added a call to the new check.
1452         (CppChecker): Added the new error type.
1453         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1454         (CppStyleTestBase):
1455         (CppStyleTestBase.perform_leaky_pattern_check):
1456         The check for only leaky pattern errors.
1457         (LeakyPatternTest): Test cases.
1458
1459 2012-01-13  Dirk Pranke  <dpranke@chromium.org>
1460
1461         test-webkitpy: clean up handling of test directories, QueueStatusServer
1462         https://bugs.webkit.org/show_bug.cgi?id=76238
1463
1464         Reviewed by Adam Barth.
1465
1466         This patch cleans up a bunch of hacks related to how we find all
1467         of the python unit tests and set up the sys.path variable in
1468         test-webkitpy.
1469
1470         This patch changes how test-webkitpy works slightly in that we
1471         will now look for test files under Tools/Scripts and Source/WebKit2/Scripts
1472         rather than just Tools/Scripts/webkitpy and Source/WebKit2/Scripts/webkit.
1473         This greatly simplifies the mapping of paths to module names and
1474         appears to have no significant performance impact or other drawbacks.
1475
1476         There are other ways that we could remove all of the hacks and
1477         still have a more flexible mapping of paths to module names, but
1478         the ones I've thought of so far add a decent amount of complexity to
1479         the implementation and don't seem to buy us much.
1480         
1481         * QueueStatusServer/__init__.py:
1482         * Scripts/test-webkitpy:
1483         * Scripts/webkitpy/test/main.py:
1484         (Tester._modules_from_paths):
1485         (Tester._is_module):
1486
1487 2012-01-13  Dirk Pranke  <dpranke@chromium.org>
1488
1489         test-webkitpy: should support classes and individual test names as well as modules
1490         https://bugs.webkit.org/show_bug.cgi?id=76233
1491
1492         Reviewed by Adam Barth.
1493
1494         The default unittest.main() supports a list of individual
1495         TestCase classes or individual tests as well as modules. This
1496         change adds support for the same to test-webkitpy, so now you
1497         can say
1498
1499           % test-wekbitpy webkitpy.test.cat_unittest.CatTest
1500
1501         and
1502
1503           % test-wekbitpy webkitpy.test.cat_unittest.CatTest.test_basic
1504
1505         in addition to
1506
1507           % test-wekbitpy webkitpy.test.cat_unittest
1508
1509         * Scripts/test-webkitpy:
1510         * Scripts/webkitpy/test/cat_unittest.py:
1511         * Scripts/webkitpy/test/main.py:
1512         (Tester.parse_args):
1513         (Tester.run):
1514         (Tester):
1515         (Tester._find_modules):
1516         (Tester._exclude):
1517         (Tester._run_tests):
1518         (Tester._is_module):
1519         (Tester._log_exception):
1520
1521 2012-01-13  Dirk Pranke  <dpranke@chromium.org>
1522
1523         test-webkitpy: add basic code coverage support
1524         https://bugs.webkit.org/show_bug.cgi?id=76201
1525
1526         Reviewed by Adam Barth.
1527
1528         This test adds basic code coverage support to test-webkitpy; if
1529         you pass the -c flag, we will generate a new coverage file. We
1530         can start simply with this and add more features as necessary.
1531
1532         This patch requires coverage to be already installed on the
1533         machine. I am not auto-installing this for now.
1534
1535         * Scripts/webkitpy/test/main.py:
1536         (Tester.parse_args):
1537         (Tester.run_tests):
1538
1539 2012-01-13  Dirk Pranke  <dpranke@chromium.org>
1540
1541         StatusBubbleTest.test_build_bubble is failing
1542         https://bugs.webkit.org/show_bug.cgi?id=76222
1543
1544         Reviewed by Adam Barth.
1545
1546         * QueueStatusServer/handlers/statusbubble_unittest.py:
1547         (StatusBubbleTest.test_build_bubble):
1548
1549 2012-01-13  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
1550
1551         nrwt should use multiple http shards
1552         https://bugs.webkit.org/show_bug.cgi?id=75958
1553
1554         Add --max-locked-shards option to the nrwt for manual set
1555         the maximum number of the locked shards
1556
1557         Reviewed by Dirk Pranke.
1558
1559         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1560         (Manager._max_locked_shards):
1561         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
1562         (ShardingTests.get_shards):
1563         (ShardingTests.test_multiple_locked_shards):
1564         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1565         (parse_args):
1566
1567 2012-01-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
1568
1569         prepare-ChangeLog: Look for a text editor in a few more variables.
1570         https://bugs.webkit.org/show_bug.cgi?id=76289
1571
1572         Reviewed by Ryosuke Niwa.
1573
1574         A text editor was looked for only in the CHANGE_LOG_EDITOR and
1575         CHANGE_LOG_EDIT_APPLICATION environment variables before falling back
1576         to the OS X-specific open(1) command.
1577
1578         As there does not seem to be a common way of looking for a text editor
1579         among the scripts in Tools/Scripts right now, just look at $VISUAL and
1580         $EDITOR (set much more often than the other variables in Unix systems)
1581         before falling back to open(1).
1582
1583         * Scripts/prepare-ChangeLog:
1584         (openChangeLogs):
1585
1586 2012-01-13  Gabor Rapcsanyi  <rgabor@webkit.org>
1587
1588         [GTK] gtkdoc.py ignoring LDFLAGS and CFLAGS environment variables
1589         https://bugs.webkit.org/show_bug.cgi?id=76269
1590
1591         Reviewed by Martin Robinson.
1592
1593         * gtk/gtkdoc.py:
1594         (GTKDoc._run_gtkdoc_scangobj):
1595
1596 2012-01-13  Csaba Osztrogonác  <ossy@webkit.org>
1597
1598         [Qt][WK2]REGRESSION(r104881):It broke hundreds of tests
1599         https://bugs.webkit.org/show_bug.cgi?id=76247
1600
1601         Reviewed by Kenneth Rohde Christiansen.
1602
1603         * WebKitTestRunner/TestController.cpp:
1604         (WTR::TestController::resetStateToConsistentValues): Disable mock scrollbars on Qt by default. (workaround)
1605
1606 2012-01-13  Hajime Morrita  <morrita@chromium.org>
1607
1608         [Mac][DRT] Should support --no-timeout
1609         https://bugs.webkit.org/show_bug.cgi?id=76242
1610
1611         Reviewed by Darin Adler.
1612
1613         * DumpRenderTree/mac/DumpRenderTree.mm:
1614         (initializeGlobalsFromCommandLineOptions): Added "--no-timeout" to the options list.
1615         (setWaitToDumpWatchdog): Added to encapsulate the waitToDumpWatchdog global variable.
1616         (shouldSetWaitToDumpWatchdog): Added to check the useTimeoutWatchdog flag set by the option.
1617         * DumpRenderTree/mac/DumpRenderTreeMac.h:
1618         * DumpRenderTree/mac/LayoutTestControllerMac.mm:
1619         (LayoutTestController::setWaitToDump): Now calls shouldSetWaitToDumpWatchdog() to check the flag.
1620
1621 2012-01-12  Simon Fraser  <simon.fraser@apple.com>
1622
1623         Mitigate scrollbar differences when running pixel tests
1624         https://bugs.webkit.org/show_bug.cgi?id=67217
1625
1626         Reviewed by Dan Bernstein.
1627         
1628         Enable mock scrollbars by default for tests.
1629
1630         * DumpRenderTree/mac/DumpRenderTree.mm:
1631         (resetDefaultsToConsistentValues):
1632         * WebKitTestRunner/TestController.cpp:
1633         (WTR::TestController::resetStateToConsistentValues):
1634
1635 2012-01-12  Ryosuke Niwa  <rniwa@webkit.org>
1636
1637         Need a script to run tests in PerformanceTests
1638         https://bugs.webkit.org/show_bug.cgi?id=76132
1639
1640         Reviewed by Adam Barth.
1641
1642         Add run-perf-tests to run performance tests using parser/resources/runner.js.
1643         Unfortunately, there isn't an easy way of telling which test uses which format
1644         so hard-code directory that uses Chromium perf-bot style (only inspector perf. tests for now).
1645
1646         All test outputs are re-formatted to match Chromium perf-bot style.
1647
1648         * Scripts/run-inspector-perf-tests.py:
1649         * Scripts/run-perf-tests: Added.
1650         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
1651         (PerfTestsRunner):
1652         (PerfTestsRunner.__init__):
1653         (PerfTestsRunner._collect_tests):
1654         (PerfTestsRunner.run):
1655         (PerfTestsRunner._print_status):
1656         (PerfTestsRunner._run_tests_set):
1657         (PerfTestsRunner._process_chromium_style_test_result):
1658         (PerfTestsRunner._should_ignore_line_in_parser_test_result):
1659         (PerfTestsRunner._process_parser_test_result):
1660         (PerfTestsRunner._run_single_test):
1661         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
1662         (MainTest.TestDriver.run_test):
1663         (create_runner):
1664         (run_test):
1665         (test_run_test_set):
1666         (test_run_test_set_for_parser_tests):
1667         (test_collect_tests):
1668
1669 2012-01-12  Dirk Pranke  <dpranke@chromium.org>
1670
1671         webkitpy: clean up port unit tests in preparation for making port_name mandatory
1672         https://bugs.webkit.org/show_bug.cgi?id=76123
1673
1674         Reviewed by Adam Barth.
1675
1676         This change updates the unit tests to be more consistent in how
1677         ports are created, in preparation for making port_name a
1678         mandatory parameter to the constructor and removing any version
1679         interpretation from it.
1680
1681         There should be no functional changes in this patch, but some
1682         tests that are no longer relevant have been removed or reworked.
1683
1684         * Scripts/webkitpy/layout_tests/port/base_unittest.py:
1685         (PortTest.test_get_option__default):
1686         * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py:
1687         (ChromiumLinuxPortTest):
1688         (ChromiumLinuxPortTest.assert_architecture):
1689         (ChromiumLinuxPortTest.test_determine_architecture_fails):
1690         * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
1691         (ChromiumMacPortTest):
1692         * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
1693         (ChromiumPortTest):
1694         (ChromiumPortTest.test_all_test_configurations):
1695         (ChromiumPortTest.TestMacPort.__init__):
1696         (ChromiumPortTest.TestLinuxPort.__init__):
1697         (ChromiumPortTest.TestWinPort.__init__):
1698         * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
1699         (ChromiumWinTest):
1700         * Scripts/webkitpy/layout_tests/port/efl_unittest.py:
1701         (EflPortTest):
1702         * Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
1703         (GtkPortTest):
1704         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
1705         (MacTest):
1706         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
1707         (MockDRTPortTest):
1708         (MockDRTPortTest.make_port):
1709         * Scripts/webkitpy/layout_tests/port/qt.py:
1710         (QtPort._port_flag_for_scripts):
1711         (QtPort.__init__):
1712         * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
1713         (QtPortTest):
1714         (QtPortTest._assert_search_path):
1715         (QtPortTest.test_baseline_search_path):
1716         (QtPortTest.test_operating_system):
1717         * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
1718         (WebKitPortTest):
1719         * Scripts/webkitpy/layout_tests/port/win_unittest.py:
1720         (WinPortTest):
1721         (WinPortTest._assert_search_path):
1722         (WinPortTest.test_baseline_search_path):
1723         * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
1724         (get_test_config.TestMacPort.__init__):
1725
1726 2012-01-12  Dirk Pranke  <dpranke@chromium.org>
1727
1728         test-webkitpy: clean up logging and provide a real --help message
1729         https://bugs.webkit.org/show_bug.cgi?id=76142
1730
1731         Reviewed by Adam Barth.
1732
1733         This test is mostly more refactoring - it calls objects in
1734         unittest directly instead of routing through unittest.main() --
1735         in order to gain more control over the logging and to provide a
1736         correct --help message. This will also give us a better
1737         foundation for adding more feautures down the road.
1738
1739         This patch adds different levels of logging controlled by the
1740         '-s', '-q', and '-v' options (see --help for details), and
1741         removes the --verbose-logging option.
1742
1743         * Scripts/test-webkitpy:
1744         * Scripts/webkitpy/test/main.py:
1745         (Tester):
1746         (Tester.clean_packages):
1747         (Tester.__init__):
1748         (Tester.parse_args):
1749         (Tester.configure):
1750         (Tester._configure_logging):
1751         (Tester.find_modules):
1752         (Tester._exclude):
1753         (Tester._modules_from_paths):
1754         (Tester.run_tests):
1755
1756 2012-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
1757
1758         Make the new WTF module build on Qt
1759         https://bugs.webkit.org/show_bug.cgi?id=76163
1760
1761         Reviewed by Tor Arne Vestbø.
1762
1763         * qmake/mkspecs/modules/wtf.prf: Pull in WTF from the new location.
1764
1765 2012-01-12  Vsevolod Vlasov  <vsevik@chromium.org>
1766
1767         Unreviewed, mac DumpRenderTree fix.
1768
1769         * DumpRenderTree/mac/UIDelegate.mm:
1770         (-[UIDelegate webView:addMessageToConsole:withSource:]):
1771
1772 2012-01-12  Vsevolod Vlasov  <vsevik@chromium.org>
1773
1774         WebKitTestRunner should not print console message line number when it is equal to zero.
1775         https://bugs.webkit.org/show_bug.cgi?id=76167
1776
1777         Reviewed by Csaba Osztrogonác.
1778
1779         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1780         (WTR::InjectedBundlePage::willAddMessageToConsole):
1781
1782 2012-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
1783
1784         Make default console messages line numbers consistent.
1785         https://bugs.webkit.org/show_bug.cgi?id=74075
1786
1787         Reviewed by Pavel Feldman.
1788
1789         Unset line numbers are not printed to console now.
1790         Added Source/WebCore/inspector to efl DumpRenderTree include path.
1791
1792         * DumpRenderTree/chromium/WebViewHost.cpp:
1793         (WebViewHost::didAddMessageToConsole):
1794         * DumpRenderTree/efl/CMakeLists.txt:
1795         * DumpRenderTree/efl/DumpRenderTreeView.cpp:
1796         (onConsoleMessage):
1797         * DumpRenderTree/gtk/DumpRenderTree.cpp:
1798         (webViewConsoleMessage):
1799         * DumpRenderTree/mac/UIDelegate.mm:
1800         (-[UIDelegate webView:addMessageToConsole:withSource:]):
1801         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
1802         (WebCore::WebPage::javaScriptConsoleMessage):
1803         * DumpRenderTree/win/UIDelegate.cpp:
1804         (UIDelegate::webViewAddMessageToConsole):
1805         * DumpRenderTree/wx/DumpRenderTreeWx.cpp:
1806         (LayoutWebViewEventHandler::OnConsoleMessageEvent):
1807
1808 2012-01-10  Dirk Pranke  <dpranke@chromium.org>
1809
1810         test-webkitpy: push more logic into webkitpy.test.main, clean up code
1811         https://bugs.webkit.org/show_bug.cgi?id=76021
1812
1813         Reviewed by Eric Seidel.
1814
1815         I plan to add more functionality to test-webkitpy, but it is
1816         difficult to hack on now; this patch is the first of two that
1817         brings test-webkitpy more inline with current coding style by
1818         pushing more logic into the webkitpy.test.main.Tester class (so
1819         that it will be testable itself).
1820         
1821         There should be no functional changes in this patch.
1822
1823         * Scripts/test-webkitpy:
1824         (_path_from_webkit_root):
1825         * Scripts/webkitpy/test/main.py:
1826         (Tester):
1827         (Tester.init):
1828         (Tester.configure_logging):
1829         (Tester.configure_logging.filter):
1830         (Tester.clean_packages):
1831         (Tester.run_tests):
1832
1833 2012-01-11  Wei Jia  <wjia@chromium.org>
1834
1835         implement layout tests for <video> with media stream
1836         https://bugs.webkit.org/show_bug.cgi?id=74882
1837
1838         Reviewed by Kent Tamura.
1839
1840         * DumpRenderTree/DumpRenderTree.gypi:
1841         * DumpRenderTree/chromium/WebUserMediaClientMock.cpp: Added.
1842         (WebKit::WebUserMediaClientMock::create):
1843         (WebKit::WebUserMediaClientMock::IsMockStream):
1844         (WebKit::WebUserMediaClientMock::requestUserMedia):
1845         (WebKit::WebUserMediaClientMock::cancelUserMediaRequest):
1846         * DumpRenderTree/chromium/WebUserMediaClientMock.h: Added.
1847         (WebKit::WebUserMediaClientMock::~WebUserMediaClientMock):
1848         (WebKit::WebUserMediaClientMock::WebUserMediaClientMock):
1849         * DumpRenderTree/chromium/WebViewHost.cpp:
1850         (WebViewHost::userMediaClient):
1851         (WebViewHost::userMediaClientMock):
1852         (WebViewHost::createMediaPlayer):
1853         (WebViewHost::mediaStreamUtil):
1854         (WebViewHost::testMediaStreamClient):
1855         * DumpRenderTree/chromium/WebViewHost.h:
1856
1857 2012-01-11  Dirk Pranke  <dpranke@chromium.org>
1858
1859         Unreviewed, build fix.
1860
1861         Fix chromium-win's version remapping to work correctly on Win 7 SP1.
1862
1863         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
1864         (ChromiumWinPort.__init__):
1865
1866 2012-01-11  Ryosuke Niwa  <rniwa@webkit.org>
1867
1868         Sheriffbot build fix. Don't emit empty lines on IRC.
1869
1870         * Scripts/webkitpy/tool/bot/irc_command.py:
1871         (LastGreenRevision.execute):
1872
1873 2012-01-11  Ryosuke Niwa  <rniwa@webkit.org>
1874
1875         last-green-revision should report the revision that succeeded on all bots
1876         https://bugs.webkit.org/show_bug.cgi?id=76109
1877
1878         Reviewed by Adam Barth.
1879
1880         Add an algorithm to find the last known good revision among the specified bots. For a revision to be
1881         considered green by this algorithm, all matching builders must have a successful run at the revision
1882         or two consecutive successful runs before and after the revision.
1883
1884         Also fixed a bug in irc_command that the result wasn't posted on IRC properly and a bug in queries.py
1885         that resulted in an exception when the user didn't pass BUILDER_NAME argument.
1886
1887         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
1888         (BuildBot._revisions_for_builder):
1889         (BuildBot):
1890         (BuildBot._find_green_revision):
1891         (BuildBot.last_green_revision):
1892         * Scripts/webkitpy/common/net/buildbot/buildbot_mock.py:
1893         (MockBuildBot.last_green_revision):
1894         * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
1895         (test_revisions_for_builder):
1896         (test_find_green_revision):
1897         (test_last_green_revision):
1898         * Scripts/webkitpy/tool/bot/irc_command.py:
1899         (LastGreenRevision.execute):
1900         * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
1901         (SheriffIRCBotTest.test_lgr):
1902         * Scripts/webkitpy/tool/commands/queries.py:
1903         (LastGreenRevision):
1904
1905 2012-01-11  Dirk Pranke  <dpranke@chromium.org>
1906
1907         Unreviewed, fix build bustage on win32 introduced by r104725.
1908
1909         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
1910         (MockDRTPortTest.make_port):
1911         (MockChromiumDRTTest.test_pixeltest__fails):
1912
1913 2012-01-11  Jochen Eisinger  <jochen@chromium.org>
1914
1915         [Chromium] mimic the (old) behavior of the mac port for (re)setting the color profile
1916         https://bugs.webkit.org/show_bug.cgi?id=75618
1917
1918         Eventually, we should get away from setting the display's color profile, as the mac port is doing now.
1919
1920         Reviewed by Tony Chang.
1921
1922         * DumpRenderTree/chromium/LayoutTestHelper.mm:
1923         (installLayoutTestColorProfile):
1924         (restoreUserColorProfile):
1925         (main):
1926
1927 2012-01-11  Dirk Pranke  <dpranke@chromium.org>
1928
1929         test-webkitpy: fix -v and eliminate some spurious warnings
1930         https://bugs.webkit.org/show_bug.cgi?id=76099
1931
1932         Reviewed by Adam Barth.
1933
1934         when we added support for --xml output, we broke the -v flag.
1935
1936         Also, fix the code to swallow a harmless warning from
1937         VCSUtils.pm and fix a deprecated warning in jsonchecker.py.
1938
1939         test-webkitpy is now silent again except for the one known
1940         logging issue.
1941
1942         * Scripts/webkitpy/common/checkout/checkout.py:
1943         (Checkout.commit_message_for_this_commit):
1944         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
1945         (test_commit_message_for_this_commit):
1946         * Scripts/webkitpy/style/checkers/jsonchecker.py:
1947         (JSONChecker.check):
1948         (JSONChecker.line_number_from_json_exception):
1949         * Scripts/webkitpy/test/main.py:
1950         (Tester.run_tests):
1951
1952 2012-01-11  Dirk Pranke  <dpranke@chromium.org>
1953
1954         webkitpy: webkitpy.layout_tests.port tests should only use MockSystemHost, not MockHost
1955         https://bugs.webkit.org/show_bug.cgi?id=76084
1956
1957         Reviewed by Adam Barth.
1958
1959         This will help make it easier to catch layering violations. This
1960         change just refactors test code; there are no changes to
1961         production code.
1962
1963         * Scripts/webkitpy/layout_tests/port/base_unittest.py:
1964         (PortTest.make_port):
1965         (PortTest.test_find_no_paths_specified):
1966         (PortTest.test_find_one_test):
1967         (PortTest.test_find_glob):
1968         (PortTest.test_find_with_skipped_directories):
1969         (PortTest.test_find_with_skipped_directories_2):
1970         (PortTest.test_parse_reftest_list):
1971         (PortTest.test_httpd_returns_error_code):
1972         (PortTest.test_virtual_methods):
1973         * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
1974         (ChromiumGpuTest.assert_port_works):
1975         (ChromiumGpuTest._assert_baseline_path):
1976         (ChromiumGpuTest.test_graphics_type):
1977         (ChromiumGpuTest.test_default_tests_paths.test_paths):
1978         (ChromiumGpuTest.test_test_files):
1979         (ChromiumGpuTest.test_test_files.test_paths):
1980         (ChromiumGpuTest):
1981         * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py:
1982         (ChromiumLinuxPortTest.assert_architecture):
1983         (ChromiumLinuxPortTest.test_check_illegal_port_names):
1984         (ChromiumLinuxPortTest.test_determine_architecture_fails):
1985         * Scripts/webkitpy/layout_tests/port/driver_unittest.py:
1986         (DriverTest.make_port):
1987         (DriverTest):
1988         (DriverTest.assertVirtual):
1989         (DriverTest._assert_wrapper):
1990         (DriverTest.test_virtual_driver_methods):
1991         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
1992         (MockDRTPortTest.make_port):
1993         (MockDRTPortTest.test_port_name_in_constructor):
1994         (MockDRTTest.assertTest):
1995         (MockDRTTest.test_main):
1996         (MockChromiumDRTTest.test_pixeltest__fails):
1997         * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
1998         (QtPortTest._assert_search_path):
1999         * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
2000         (TestWebKitPort.__init__):
2001         (WebKitPortUnitTests.test_default_options):
2002         (test_runtime_feature_list):
2003         (test_test_expectations):
2004
2005 2012-01-11  Ojan Vafai  <ojan@chromium.org>
2006
2007         Style skipped tests in the flakiness dashboard
2008         https://bugs.webkit.org/show_bug.cgi?id=76091
2009
2010         Reviewed by Tony Chang.
2011
2012         * TestResultServer/static-dashboards/dashboard_base.js:
2013         Removed "FLAKY" from this list since we don't ever mark individual runs
2014         as flaky. Also deleted an outdated line.
2015         * TestResultServer/static-dashboards/flakiness_dashboard.html:
2016
2017 2012-01-11  Ojan Vafai  <ojan@chromium.org>
2018
2019         Remove gtest normalization code from the test results server
2020         https://bugs.webkit.org/show_bug.cgi?id=76089
2021
2022         Reviewed by Tony Chang.
2023
2024         The normalization now happens on the gtest side.
2025
2026         * TestResultServer/model/jsonresults.py:
2027         (JsonResults.merge):
2028         * TestResultServer/model/jsonresults_unittest.py:
2029         (JsonResultsTest.test_gtest):
2030
2031 2012-01-11  Ojan Vafai  <ojan@chromium.org>
2032
2033         Be more aggressive about deleting unnecessary results from the test-results-server json files
2034         https://bugs.webkit.org/show_bug.cgi?id=76086
2035
2036         Reviewed by Tony Chang.
2037
2038         Remove any tests that only contain skip/pass/nodata values whose runtime
2039         is less than 5 seconds.
2040
2041         * TestResultServer/model/jsonresults.py:
2042         (JsonResults._normalize_results_json):
2043         * TestResultServer/model/jsonresults_unittest.py:
2044         (JsonResultsTest.test_merge_remove_test):
2045         (JsonResultsTest.test_merge_keep_test_with_all_pass_but_slow_time):
2046
2047 2012-01-11  Ryosuke Niwa  <rniwa@webkit.org>
2048
2049         last-green-revision should give us per-bot information
2050         https://bugs.webkit.org/show_bug.cgi?id=76011
2051
2052         Reviewed by Adam Barth.
2053
2054         Rewrote last-green-revision command. Instead of finding a revision for which all bots succeeded,
2055         we report the latest green run on each bot from the last 100 runs.
2056
2057         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
2058         (BuildBot._fetch_builder_page):
2059         (BuildBot):
2060         (BuildBot._green_revision_for_builder):
2061         (BuildBot.last_green_revision):
2062         * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2063         (test_green_revision_for_builder):
2064         (test_last_green_revision):
2065         * Scripts/webkitpy/tool/bot/irc_command.py:
2066         (LastGreenRevision.execute):
2067         * Scripts/webkitpy/tool/commands/queries.py:
2068         (LastGreenRevision.execute):
2069
2070 2012-01-11  Dirk Pranke  <dpranke@chromium.org>
2071
2072         webkitpy: clean up version detection in webkitpy.layout_tests.port
2073         https://bugs.webkit.org/show_bug.cgi?id=76016
2074
2075         Reviewed by Adam Barth.
2076
2077         This change updates the code in webkitpy.layout_tests.port to
2078         use the new os_name and os_version fields on host.platform. This
2079         gets layout_tests.port out of the version parsing business. Most
2080         of the diffs are just cleaning up test code to accomodate the
2081         changes.
2082
2083         * Scripts/webkitpy/common/system/executive_mock.py:
2084         (MockExecutive):
2085         (MockExecutive.ignore_error):
2086         (MockExecutive2):
2087         (MockExecutive2.ignore_error):
2088         * Scripts/webkitpy/common/system/platforminfo_mock.py:
2089         (MockPlatformInfo.is_mac):
2090         (MockPlatformInfo.is_linux):
2091         (MockPlatformInfo.is_win):
2092         * Scripts/webkitpy/common/system/systemhost_mock.py:
2093         (MockSystemHost.__init__):
2094         * Scripts/webkitpy/layout_tests/port/apple.py:
2095         (ApplePort.__init__):
2096         * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
2097         (ChromiumMacPort.__init__):
2098         (ChromiumMacPort.check_wdiff):
2099         * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
2100         (ChromiumMacPortTest):
2101         (ChromiumMacPortTest.assert_name):
2102         (ChromiumMacPortTest.test_versions):
2103         * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
2104         (ChromiumPortTest.test_all_test_configurations):
2105         (ChromiumPortTest.TestMacPort.__init__):
2106         (ChromiumPortTest.TestLinuxPort.__init__):
2107         (ChromiumPortTest.TestWinPort.__init__):
2108         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
2109         (ChromiumWinPort.__init__):
2110         * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
2111         (ChromiumWinTest):
2112         (ChromiumWinTest.assert_name):
2113         (ChromiumWinTest.test_versions):
2114         (ChromiumWinTest.test_baseline_path):
2115         (ChromiumWinTest.test_build_path):
2116         * Scripts/webkitpy/layout_tests/port/factory.py:
2117         (PortFactory._port_name_from_arguments_and_options):
2118         (PortFactory.get):
2119         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
2120         (FactoryTest):
2121         (FactoryTest.setUp):
2122         (FactoryTest.assert_port):
2123         (FactoryTest.test_mac):
2124         (FactoryTest.test_win):
2125         (FactoryTest.test_google_chrome):
2126         (FactoryTest.test_gtk):
2127         (FactoryTest.test_qt):
2128         (FactoryTest.test_chromium_gpu):
2129         (FactoryTest.test_chromium_gpu_linux):
2130         (FactoryTest.test_chromium_gpu_mac):
2131         (FactoryTest.test_chromium_gpu_win):
2132         (FactoryTest.test_chromium_mac):
2133         (FactoryTest.test_chromium_linux):
2134         (FactoryTest.test_chromium_win):
2135         (FactoryTest.test_unknown_specified):
2136         (FactoryTest.test_unknown_default):
2137         * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
2138         (TestGoogleChromePort):
2139         (TestGoogleChromePort._verify_baseline_path):
2140         (TestGoogleChromePort._verify_expectations_overrides):
2141         (TestGoogleChromePort.test_get_google_chrome_port):
2142         * Scripts/webkitpy/layout_tests/port/mac.py:
2143         (MacPort):
2144         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
2145         (MacTest):
2146         (assert_name):
2147         (test_tests_for_other_platforms):
2148         (test_version):
2149         (test_versions):
2150         (test_is_version_methods):
2151         (test_setup_environ_for_server):
2152         (_assert_search_path):
2153         (test_show_results_html_file):
2154         * Scripts/webkitpy/layout_tests/port/port_testcase.py:
2155         (PortTestCase):
2156         (PortTestCase.make_port):
2157         * Scripts/webkitpy/layout_tests/port/win.py:
2158         (WinPort):
2159         * Scripts/webkitpy/layout_tests/port/win_unittest.py:
2160         (WinPortTest):
2161         (WinPortTest.test_show_results_html_file):
2162         (WinPortTest._assert_search_path):
2163         (WinPortTest._assert_version):
2164
2165 2012-01-11  Hugo Parente Lima  <hugo.lima@openbossa.org>
2166
2167         [Qt][WK2] Remove workaround introduced into bug 75470
2168         https://bugs.webkit.org/show_bug.cgi?id=75889
2169
2170         Reviewed by Tor Arne Vestbø.
2171
2172         * MiniBrowser/qt/qml/BrowserWindow.qml:
2173
2174 2012-01-10  Dmitry Lomov  <dslomov@google.com>
2175
2176         [Chromium] Remove obsolete references to WebWorker class.
2177         https://bugs.webkit.org/show_bug.cgi?id=76020
2178
2179         Reviewed by David Levin.
2180
2181         * DumpRenderTree/chromium/TestWebWorker.h: Removed.
2182         * DumpRenderTree/chromium/WebViewHost.cpp:
2183         * DumpRenderTree/chromium/WebViewHost.h:
2184
2185 2012-01-11  Csaba Osztrogonác  <ossy@webkit.org>
2186
2187         [Qt] Some css3 filter tests are failing after r104698
2188         https://bugs.webkit.org/show_bug.cgi?id=76055
2189
2190         Reviewed by Simon Hausmann.
2191
2192         * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
2193         (LayoutTestController::overridePreference): Add WebKitAcceleratedCompositingEnabled preference.
2194
2195 2012-01-11  Tony Chang  <tony@chromium.org>
2196
2197         Don't remove 0 byte files when running build-webkit --chromium
2198         https://bugs.webkit.org/show_bug.cgi?id=75997
2199
2200         Reviewed by Csaba Osztrogonác.
2201
2202         If QTDIR is set, isQt() is true even when running build-webkit --chromium.
2203
2204         * Scripts/webkitdirs.pm:
2205         (determineIsQt):
2206
2207 2012-01-10  David Kilzer  <ddkilzer@apple.com>
2208
2209         Add TestWebKitAPI tests for KURL
2210         <http://webkit.org/b/75774>
2211
2212         Reviewed by Adam Barth.
2213
2214         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add a
2215         WebCore folder and KURL.cpp source file to the project.
2216         * TestWebKitAPI/Tests/WebCore/KURL.cpp: Added.
2217         (TestWebKitAPI::WebCore::SetUp): Initialize the main thread
2218         during setup since this test doesn't go through WebKit or
2219         WebKit2.
2220         (TestWebKitAPI::TEST_F): Add two basic tests.
2221
2222 2012-01-10  David Kilzer  <ddkilzer@apple.com>
2223
2224         Extract common code for comparing WTF::String objects into WTFStringUtilities.h
2225
2226         Reviewed by Adam Barth.
2227
2228         Needed for: <http://webkit.org/b/75774> Add TestWebKitAPI tests for KURL
2229
2230         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add
2231         WTFStringUtilities.h to the project.
2232         * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: Update to use
2233         WTFStringUtilities.h.
2234         * TestWebKitAPI/WTFStringUtilities.h: Added.
2235         (WTF::operator<<):
2236
2237 2012-01-10  Vincent Scheib  <scheib@chromium.org>
2238
2239         Clarify run-webkit-tests options reset-results and new-baseline
2240         https://bugs.webkit.org/show_bug.cgi?id=75993
2241
2242         Reviewed by Dirk Pranke.
2243
2244         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2245         (parse_args):
2246
2247 2012-01-10  Simon Fraser  <simon.fraser@apple.com>
2248
2249         Disabled mock scrollbars should draw differently
2250         https://bugs.webkit.org/show_bug.cgi?id=75995
2251
2252         Reviewed by James Robinson.
2253
2254         When the scrollbar is disabled, paint the entire track of
2255         mock scrollbars with a lighter gray, and hide the thumb.
2256
2257         * DumpRenderTree/mac/DumpRenderTree.mm:
2258         (-[DRTMockScroller drawKnob]):
2259         (-[DRTMockScroller drawRect:]):
2260
2261 2012-01-10  James Robinson  <jamesr@chromium.org>
2262
2263         [chromium] Run webkit_unit_tests as part of webkit-patch build-and-test
2264         https://bugs.webkit.org/show_bug.cgi?id=75988
2265
2266         Reviewed by Adam Barth.
2267
2268         * Scripts/webkitpy/common/config/ports.py:
2269         (WebKitPort.run_webkit_unit_tests_command):
2270         (WebKitPort):
2271         (ChromiumPort.run_webkit_unit_tests_command):
2272         (ChromiumPort):
2273         * Scripts/webkitpy/common/config/ports_mock.py:
2274         (MockPort.run_webkit_unit_tests_command):
2275         * Scripts/webkitpy/tool/commands/download_unittest.py:
2276         (DownloadCommandsTest.test_build_and_test):
2277         (test_land):
2278         (test_land_red_builders):
2279         * Scripts/webkitpy/tool/steps/runtests.py:
2280         (RunTests.run):
2281         * Scripts/webkitpy/tool/steps/runtests_unittest.py:
2282
2283 2012-01-09  Dirk Pranke  <dpranke@chromium.org>
2284
2285         webkitpy: add os_name, os_version to platforminfo
2286         https://bugs.webkit.org/show_bug.cgi?id=75931
2287
2288         Reviewed by Eric Siedel.
2289
2290         As a first step in cleaning up the version parsing logic in
2291         webkitpy.layout_tests.port, this adds common routines for
2292         getting the os_name and os_version fields to the PlatformInfo
2293         class. Nothing uses them yet but I've added FIXME's to some of
2294         the code that needs to be deleted in the port files.
2295
2296         * Scripts/webkitpy/common/system/platforminfo.py:
2297         (PlatformInfo.__init__):
2298         (PlatformInfo):
2299         (PlatformInfo._determine_os_name):
2300         (PlatformInfo._determine_mac_version):
2301         (PlatformInfo._determine_linux_version):
2302         (PlatformInfo._determine_win_version):
2303         (PlatformInfo.display_name):
2304         (PlatformInfo.total_bytes_memory):
2305         (PlatformInfo._compute_bytes_from_vm_stat_output):
2306         (PlatformInfo.free_bytes_memory):
2307         * Scripts/webkitpy/common/system/platforminfo_unittest.py: Added.
2308         (TestPlatformInfo):
2309         (TestPlatformInfo.make_info):
2310         (TestPlatformInfo.make_info.mock_run_command):
2311         (TestPlatformInfo.setUp):
2312         (TestPlatformInfo.tearDown):
2313         (TestPlatformInfo.test_basic):
2314         (TestPlatformInfo.integration_test_basic):
2315         (TestPlatformInfo.test_display_name_mac):
2316         (TestPlatformInfo.test_display_name_win32):
2317         (TestPlatformInfo.test_memory_mac):
2318         (TestPlatformInfo.test_memory_win32):
2319         (TestPlatformInfo.test_determine_os_name):
2320         (TestPlatformInfo.test_determine_mac_version):
2321         (TestPlatformInfo.test_determine_linux_version):
2322         (TestPlatformInfo.test_determine_win_version_from_tuple):
2323         (TestPlatformInfo.test_determine_win_version_from_cmd):
2324         * Scripts/webkitpy/layout_tests/port/apple.py:
2325         (ApplePort.__init__):
2326         * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
2327         (ChromiumMacPort.__init__):
2328         * Scripts/webkitpy/layout_tests/port/mac.py:
2329         (MacPort):
2330         * Scripts/webkitpy/layout_tests/port/win.py:
2331         (WinPort):
2332
2333 2012-01-10  Adam Roben  <aroben@apple.com>
2334
2335         Make it possible to type data: URLs into MiniBrowser on Windows
2336
2337         Fixes <http://webkit.org/b/75084> Crash when trying to navigate to a data: URL in
2338         MiniBrowser on Windows
2339
2340         Reviewed by Darin Adler.
2341
2342         * MiniBrowser/win/BrowserWindow.cpp:
2343         (BrowserWindow::handleMessage): Instead of checking for an "http://" prefix when deciding
2344         whether to prepend "http://", just look for whether the typed URL contains a colon. If it
2345         does, we assume it already has a scheme and don't modify it.
2346
2347 2012-01-10  Adam Roben  <aroben@apple.com>
2348
2349         Make MiniBrowser automatically escape invalid URL characters typed in its URL field
2350
2351         Fixes <http://webkit.org/b/75086> Crash when typing a data: URL containing double-quotes in
2352         MiniBrowser on Windows
2353
2354         Reviewed by Darin Adler.
2355
2356         * MiniBrowser/win/BrowserView.cpp:
2357         (BrowserView::goToURL): Pass the typed string through
2358         CFURLCreateStringByAddingPercentEscapes before trying to create a URL from it.
2359
2360 2012-01-10  Ben Wells  <benwells@chromium.org>
2361
2362         Adding myself (benwells) to committers.py
2363         https://bugs.webkit.org/show_bug.cgi?id=75971
2364
2365         Reviewed by Ojan Vafai.
2366
2367         * Scripts/webkitpy/common/config/committers.py:
2368
2369 2012-01-10  Mario Sanchez Prada  <msanchez@igalia.com>
2370
2371         AX: support helpText() in DumpRenderTree
2372         https://bugs.webkit.org/show_bug.cgi?id=40193
2373
2374         Reviewed by Chris Fleizach.
2375
2376         * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
2377         (AccessibilityUIElement::helpText): Implemented.
2378
2379 2012-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2380
2381         Unreviewed, rolling out r104572.
2382         http://trac.webkit.org/changeset/104572
2383         https://bugs.webkit.org/show_bug.cgi?id=75967
2384
2385         It broke zillion tests (Requested by Ossy on #webkit).
2386
2387         * DumpRenderTree/qt/EventSenderQt.cpp:
2388         (EventSender::EventSender):
2389         (EventSender::sendOrQueueEvent):
2390         (EventSender::replaySavedEvents):
2391         (EventSender::eventFilter):
2392         * DumpRenderTree/qt/EventSenderQt.h:
2393
2394 2012-01-10  Hugo Parente Lima  <hugo.lima@openbossa.org>
2395
2396         [Qt] fast/events/dont-loose-last-event test fails on WK1
2397         https://bugs.webkit.org/show_bug.cgi?id=73894
2398
2399         Reviewed by Simon Hausmann.
2400
2401         Empty the entire event queue when requested besides using
2402         sendEvent instead of postEvent to make sure all events were
2403         delivered.
2404         This commit also removes not working DRT code to handle drag and drop,
2405         for more refs see: https://bugs.webkit.org/show_bug.cgi?id=31332
2406
2407         * DumpRenderTree/qt/EventSenderQt.cpp:
2408         (EventSender::EventSender):
2409         (EventSender::sendOrQueueEvent):
2410         (EventSender::replaySavedEvents):
2411         * DumpRenderTree/qt/EventSenderQt.h:
2412
2413 2012-01-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
2414
2415         [Qt] Enable CSS_FILTERS in Qt build
2416         https://bugs.webkit.org/show_bug.cgi?id=75777
2417
2418         Add the CSS_FILTERS feature flag to Qt.
2419
2420         Reviewed by Kenneth Rohde Christiansen.
2421
2422         * qmake/mkspecs/features/features.prf:
2423
2424 2012-01-10  Simon Hausmann  <simon.hausmann@nokia.com>
2425
2426         [Qt] Unreviewed -Werror build fix.
2427
2428         * MiniBrowser/qt/MiniBrowserApplication.cpp:
2429         (MiniBrowserApplication::MiniBrowserApplication): Re-order initialization to match
2430         declaration.
2431
2432 2012-01-10  Simon Hausmann  <simon.hausmann@nokia.com>
2433
2434         [Qt] Remove dependency to uitools
2435         https://bugs.webkit.org/show_bug.cgi?id=75952
2436
2437         Reviewed by Tor Arne Vestbø.
2438
2439         QUiLoader is used for creating QLabel/QProgressBar widgets for
2440         a layout test, to verify some widget embedding feature. Unfortunately
2441         in Qt 5, QUiLoader is part of qttools, which depends on webkit, which
2442         depends on qttools. Since we don't really _need_ QUiLoader for our tests,
2443         let's break the circular dependency.
2444
2445         * DumpRenderTree/qt/DumpRenderTree.pro:
2446         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
2447         (WebCore::WebPage::createPlugin):
2448         * QtTestBrowser/QtTestBrowser.pro:
2449         * QtTestBrowser/launcherwindow.h:
2450         * QtTestBrowser/webpage.cpp:
2451         (WebPage::createPlugin):
2452         * qmake/mkspecs/features/minimal_qt.prf:
2453         * qmake/mkspecs/features/uitools.prf: Removed.
2454
2455 2012-01-10  Alexander Færøy  <alexander.faeroy@nokia.com>
2456
2457         [Qt] Don't expose m_windowOptions as part of the public interface in MiniBrowserApplication
2458         https://bugs.webkit.org/show_bug.cgi?id=75894
2459
2460         Reviewed by Tor Arne Vestbø.
2461
2462         * MiniBrowser/qt/MiniBrowserApplication.h:
2463         (MiniBrowserApplication::windowOptions):
2464         * MiniBrowser/qt/main.cpp:
2465         (main):
2466
2467 2012-01-10  Simon Hausmann  <simon.hausmann@nokia.com>
2468
2469         [Qt] DRT crashes with Qt 5
2470         https://bugs.webkit.org/show_bug.cgi?id=75951
2471
2472         Reviewed by Ossy.
2473
2474         * DumpRenderTree/qt/fonts.conf: Add missing last-resort font fallback for Qt 5 where
2475         Qt relies on font-config to define the default font family.
2476
2477 2012-01-10  Csaba Osztrogonác  <ossy@webkit.org>
2478
2479         [Qt] REGRESSION(r100130): Clean build feature is broken.
2480         https://bugs.webkit.org/show_bug.cgi?id=75863
2481
2482         Reviewed by Tor Arne Vestbø.
2483
2484         * Scripts/webkitdirs.pm:
2485         (buildQMakeProject):
2486
2487 2012-01-10  Zeno Albisser  <zeno@webkit.org>
2488
2489         [Qt][WK2] Fix keyboard shortcuts in MiniBrowser.
2490         https://bugs.webkit.org/show_bug.cgi?id=75885
2491
2492         In QML events are propagated through parents. But since the
2493         WebView may consume key events, a shortcut might never reach
2494         the top QtQuickItem.
2495         Therefore an application wide event handling function in C++
2496         needs to take care of shortcuts for MiniBrowser.
2497
2498         Reviewed by Kenneth Rohde Christiansen.
2499
2500         * MiniBrowser/qt/BrowserWindow.cpp:
2501         (BrowserWindow::reload):
2502         (BrowserWindow::focusAddressBar):
2503         * MiniBrowser/qt/BrowserWindow.h:
2504         * MiniBrowser/qt/MiniBrowserApplication.cpp:
2505         (MiniBrowserApplication::notify):
2506         * MiniBrowser/qt/qml/BrowserWindow.qml:
2507
2508 2012-01-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2509
2510         Add --efl alias for --platform=efl to run-webkit-test
2511         https://bugs.webkit.org/show_bug.cgi?id=75937
2512
2513         Reviewed by Andreas Kling.
2514         
2515         * Scripts/run-webkit-tests: Add --efl alias.
2516         * Scripts/webkitpy/layout_tests/run_webkit_tests.py: Add --efl alias.
2517         (parse_args):
2518
2519 2012-01-09  Dan Bernstein  <mitz@apple.com>
2520
2521         -[DOMRange renderedImageForcingBlackText:] fails with non-user-selectable text
2522         https://bugs.webkit.org/show_bug.cgi?id=75920
2523
2524         Reviewed by Darin Adler.
2525
2526         * TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm:
2527         (TestWebKitAPI::TEST): Added a test for a range in a
2528         -webkit-user-select: none; block.
2529
2530 2012-01-09  Dirk Pranke  <dpranke@chromium.org>
2531
2532         webkitpy.layout_tests.port.mock_drt_unittest.MockChromiumDRTTest has been failing on cr-win
2533         https://bugs.webkit.org/show_bug.cgi?id=75884
2534
2535         Reviewed by Ryosuke Niwa.
2536
2537         Fix regression introduced (revealed?) in r104340. Chromium file         
2538         url syntax is different on win32 and the test results weren't           
2539         expecting that.                                                         
2540
2541         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2542         (TestExpectations._report_errors):
2543         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
2544         (test_parse_error_nonfatal):
2545         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
2546         (MockDRTTest.input_line):
2547         (MockChromiumDRTTest.test_pixeltest__fails):
2548         * Scripts/webkitpy/layout_tests/port/test.py:
2549         * Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:
2550         (TestRebaseliner.make_rebaseliner):
2551         (TestRebaseliner.test_one_platform):
2552         (TestRebaseliner.test_all_platforms):
2553         (TestRebaseliner.test_png_file_with_comment):
2554         (TestRebaseliner.test_png_file_with_comment_remove_old_checksum):
2555         (TestRebaseliner.test_png_file_with_comment_as_duplicate):
2556         (TestRealMain.test_all_platforms):
2557
2558 2012-01-09  Dirk Pranke  <dpranke@chromium.org>
2559
2560         Fix regression in test-webkitpy introduced by removing the webkitpy/python24 directory.
2561
2562         Unreviewed, build fix.
2563
2564         test-webkitpy had a built-in self-test routine to verify that
2565         deleting the .pyc files worked correctly. When I removed the
2566         python24 directory in r104482, I broke the self-test.
2567
2568         I have deleted the self-test for now. Since I am reworking
2569         test-webkitpy I will make sure the new version is adequately
2570         tested.
2571
2572         * Scripts/test-webkitpy:
2573         (configure_logging):
2574         (_clean_pyc_files):
2575         (_clean_packages):
2576         (init):
2577
2578 2012-01-09  Justin Novosad  <junov@chromium.org>
2579
2580         [Chromium] remove all references to the legacy accelerated 2d Canvas
2581         implementation
2582         https://bugs.webkit.org/show_bug.cgi?id=75108
2583
2584         Purging an old settings flag that is no longer referenced
2585
2586         Reviewed by Darin Fisher.
2587
2588         * DumpRenderTree/chromium/DumpRenderTree.cpp:
2589         (main):
2590         * DumpRenderTree/chromium/TestShell.cpp:
2591         (TestShell::TestShell):
2592         (TestShell::resetWebSettings):
2593         * DumpRenderTree/chromium/TestShell.h:
2594         (TestShell::setAccelerated2dCanvasEnabled):
2595         * DumpRenderTree/chromium/WebPreferences.cpp:
2596         (WebPreferences::reset):
2597         (WebPreferences::applyTo):
2598         * DumpRenderTree/chromium/WebPreferences.h:
2599
2600 2012-01-09  Adam Roben  <aroben@apple.com>
2601
2602         Convert Cygwin paths to Windows paths before passing them to DRT
2603
2604         Fixes <http://webkit.org/b/64468> <rdar://problem/10663409> WIN: DumpRenderTree hangs under
2605         NRWT
2606
2607         I couldn't find a way to test this because I couldn't figure out how to override the
2608         cygpath function as it is used by WebKitDriver.
2609
2610         Reviewed by Dirk Pranke.
2611
2612         * Scripts/webkitpy/layout_tests/port/webkit.py:
2613         (WebKitDriver._command_from_driver_input): On Cygwin, convert the test's path to a
2614         Windows-style path before passing it to DRT.
2615
2616 2012-01-06  Dirk Pranke  <dpranke@chromium.org>
2617
2618         webkitpy: revamp version checking
2619         https://bugs.webkit.org/show_bug.cgi?id=75765
2620
2621         Reviewed by Adam Barth.
2622
2623         The version-checking code in webkitpy/python24/versioning seems really
2624         awkward and overdesigned, especially since we don't support python 2.4
2625         any more.
2626
2627         In addition, I am tired of getting warnings about Python 2.6 being "a
2628         newer release than what is supported" :).
2629
2630         I'm taking a page from the depot_tools python code and just creating a
2631         new webkitpy.common.version_check module that will print a message on
2632         stderr and call sys.exit() if we're running an unsupported version.
2633
2634         * Scripts/check-webkit-style:
2635         * Scripts/new-run-webkit-httpd:
2636         * Scripts/new-run-webkit-tests:
2637         * Scripts/rebaseline-chromium-webkit-tests:
2638         * Scripts/test-webkitpy:
2639         (configure_logging):
2640         (init):
2641         * Scripts/webkit-patch:
2642         (main):
2643         * Scripts/webkitpy/common/system/executive.py:
2644         (Executive._child_process_encoding):
2645         (Executive._should_encode_child_process_arguments):
2646         * Scripts/webkitpy/common/version_check.py: Copied from Tools/Scripts/rebaseline-chromium-webkit-tests.
2647         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
2648         * Scripts/webkitpy/python24/__init__.py: Removed.
2649         * Scripts/webkitpy/python24/versioning.py: Removed.
2650         * Scripts/webkitpy/python24/versioning_unittest.py: Removed.
2651
2652 2012-01-09  Adam Barth  <abarth@webkit.org>
2653
2654         Remove Chromium Mac CG from the flakiness dashboard
2655         https://bugs.webkit.org/show_bug.cgi?id=75873
2656
2657         Reviewed by Ojan Vafai.
2658
2659         This configuration no longer exists.
2660
2661         * TestResultServer/static-dashboards/builders.js:
2662         * TestResultServer/static-dashboards/flakiness_dashboard.html:
2663         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
2664         (testOverrideJustBuildType):
2665         (testPlatformAndBuildType):
2666
2667 2012-01-06  Adam Roben  <aroben@apple.com>
2668
2669         Print an error message when NRWT can't run Apache
2670
2671         Fixes <http://webkit.org/b/75712> NRWT mysteriously exits when Apache returns an error code
2672
2673         Reviewed by Dirk Pranke.
2674
2675         * Scripts/webkitpy/layout_tests/port/base.py:
2676         (Port.check_httpd): Print an error message when Apache returns an error code instead of
2677         failing silently.
2678
2679         * Scripts/webkitpy/layout_tests/port/base_unittest.py:
2680         (PortTest.test_check_httpd_success): Test that we don't print anything when we successfully
2681         run Apache.
2682         (PortTest.test_httpd_returns_error_code): Test that we print an error message when Apache
2683         fails.
2684
2685 2012-01-09  Gabor Rapcsanyi  <rgabor@webkit.org>
2686
2687         [Gtk][ARM] Cross compiler buildbot is failing after r103040
2688         https://bugs.webkit.org/show_bug.cgi?id=75846
2689
2690         Reviewed by Philippe Normand.
2691
2692         * Scripts/webkitdirs.pm:
2693         (runAutogenForAutotoolsProjectIfNecessary):
2694
2695 2012-01-09  Alexander Færøy  <ahf@0x90.dk>
2696
2697         [Qt] Add support for dynamically enabling and disabling touch mocking in the Qt MiniBrowser
2698         https://bugs.webkit.org/show_bug.cgi?id=75807
2699
2700         This patch adds a new icon to navigationbar of the Qt MiniBrowser
2701         which allows you to dynamically toggle whether touch mocking is
2702         enabled or disabled.
2703
2704         Reviewed by Tor Arne Vestbø.
2705
2706         * MiniBrowser/qt/MiniBrowser.qrc:
2707         * MiniBrowser/qt/MiniBrowserApplication.cpp:
2708         (MiniBrowserApplication::notify):
2709         * MiniBrowser/qt/MiniBrowserApplication.h:
2710         (WindowOptions::WindowOptions):
2711         (WindowOptions::touchMockingEnabled):
2712         (WindowOptions::setTouchMockingEnabled):
2713         * MiniBrowser/qt/icons/touch.png: Added.
2714         * MiniBrowser/qt/qml/BrowserWindow.qml:
2715
2716 2012-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2717
2718         Unreviewed. Fix make distcheck issues.
2719
2720         * MiniBrowser/gtk/GNUmakefile.am:
2721
2722 2012-01-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2723
2724         Unreviewed, rolling out r104421.
2725         http://trac.webkit.org/changeset/104421
2726         https://bugs.webkit.org/show_bug.cgi?id=75816
2727
2728         Need to rebaseline some tests on Linux (Requested by noamr on
2729         #webkit).
2730
2731         * qmake/mkspecs/features/features.prf:
2732
2733 2012-01-08  Adam Barth  <abarth@webkit.org>
2734
2735         Remove support for Chromium Mac CG from garden-o-matic
2736         https://bugs.webkit.org/show_bug.cgi?id=75814
2737
2738         Reviewed by Eric Seidel.
2739
2740         This configuration no longer exists.  This patch is mostly a matter of
2741         updating config.js and removing the examples from the unit tests.
2742
2743         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
2744         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
2745         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
2746         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js:
2747         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
2748
2749 2012-01-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
2750
2751         [Qt] Enable CSS_FILTERS in Qt build
2752         https://bugs.webkit.org/show_bug.cgi?id=75777
2753
2754         Add the CSS_FILTERS feature flag to Qt.
2755
2756         Reviewed by Kenneth Rohde Christiansen.
2757
2758         * qmake/mkspecs/features/features.prf:
2759
2760 2012-01-08  Ryosuke Niwa  <rniwa@webkit.org>
2761
2762         Categorize bots by ports instead of core/non-core separation
2763         https://bugs.webkit.org/show_bug.cgi?id=75766
2764
2765         Reviewed by Eric Seidel.
2766
2767         Rename categorizes so as to preserve the original ordering of bots per Eric's suggestion
2768         (Chromium still comes before GTK and Qt).
2769
2770         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2771         (loadBuilderConfig):
2772         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
2773
2774 2012-01-08  Ryosuke Niwa  <rniwa@webkit.org>
2775
2776         Remove the concept of core builders from webkitpy
2777         https://bugs.webkit.org/show_bug.cgi?id=75809
2778
2779         Reviewed by Ryosuke Niwa.
2780
2781         Treat all bots equally since core/non-core sepration has been removed from build.webkit.org,
2782         and remove the relevant code.
2783
2784         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
2785         (BuildBot.__init__):
2786         (BuildBot._matches_regexps):
2787         (BuildBot._builder_statuses_with_names_matching_regexps):
2788         (BuildBot.builder_statuses):
2789         (BuildBot.failure_map):
2790         (BuildBot._latest_builds_from_builders):
2791         (BuildBot.last_green_revision):
2792         * Scripts/webkitpy/common/net/buildbot/buildbot_mock.py:
2793         (MockBuildBot.builder_statuses):
2794         * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2795         (test_status_parsing):
2796         (test_last_green_revision):
2797         (test_last_green_revision.mock_builds_from_builders):
2798
2799 2012-01-08  Adam Barth  <abarth@webkit.org>
2800
2801         Remove Chromium Mac CG concept from webkitpy
2802         https://bugs.webkit.org/show_bug.cgi?id=75810
2803
2804         Reviewed by Ryosuke Niwa.
2805
2806         This configuration no longer exists.  We can remove all the supporting
2807         code from webkitpy.
2808
2809         * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
2810         (BaselineOptimizerTest.test_move_baselines):
2811         (BaselineOptimizerTest.test_chromium_covers_mac_win_linux):
2812         (BaselineOptimizerTest.test_chromium_mac_redundant_with_apple_mac):
2813         (BaselineOptimizerTest.test_common_directory_includes_root):
2814         (BaselineOptimizerTest.test_complex_shadowing):
2815         * Scripts/webkitpy/common/config/build.py:
2816         (_should_file_trigger_build):
2817         * Scripts/webkitpy/common/config/build_unittest.py:
2818         (ShouldBuildTest):
2819         * Scripts/webkitpy/layout_tests/port/builders.py:
2820         * Scripts/webkitpy/layout_tests/port/chromium.py:
2821         (ChromiumPort):
2822         (ChromiumPort._generate_all_test_configurations):
2823         * Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
2824         (_default_tests_paths):
2825         (ChromiumGpuLinuxPort.tests):
2826         * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
2827         (ChromiumGpuTest.integration_test_chromium_gpu_mac):
2828         (ChromiumGpuTest.assert_port_works):
2829         (ChromiumGpuTest.test_baseline_paths):
2830         (ChromiumGpuTest.test_graphics_type):
2831         (ChromiumGpuTest.test_default_tests_paths):
2832         (ChromiumGpuTest.test_test_files):
2833         * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
2834         (ChromiumMacPort):
2835         (ChromiumMacPort.__init__):
2836         (ChromiumMacPort.baseline_search_path):
2837         * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
2838         (ChromiumMacPortTest.test_graphics_type):
2839         * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
2840         (ChromiumPortTest.test_all_test_configurations):
2841         * Scripts/webkitpy/layout_tests/port/dryrun.py:
2842         * Scripts/webkitpy/layout_tests/port/factory.py:
2843         (PortFactory._port_name_from_arguments_and_options):
2844         (PortFactory.get):
2845         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
2846         (FactoryTest.test_chromium_gpu_mac):
2847         (FactoryTest.test_chromium_mac):
2848         * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
2849         (GetGoogleChromePortTest._verify_expectations_overrides):
2850         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
2851         (MockChromiumDRTTest.test_chromium_parse_options):
2852         * Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:
2853         * Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:
2854         (test_url_fetcher):
2855         (test_zip_factory):
2856         (test_archive):
2857         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
2858         (TestRebaseline.test_rebaseline_expectations):
2859
2860 2012-01-08  Ryosuke Niwa  <rniwa@webkit.org>
2861
2862         Categorize bots by ports instead of core/non-core separation
2863         https://bugs.webkit.org/show_bug.cgi?id=75766
2864
2865         Reviewed by Adam Barth.
2866
2867         Get rid of the concept of core/non-core builders, and categorize build bots by ports instead.
2868
2869         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2870         (loadBuilderConfig):
2871         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
2872
2873 2012-01-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2874
2875         Unreviewed, rolling out r104403.
2876         http://trac.webkit.org/changeset/104403
2877         https://bugs.webkit.org/show_bug.cgi?id=75803
2878
2879         It broke all tests on Qt5 (Requested by Ossy_weekend on
2880         #webkit).
2881
2882         * qmake/mkspecs/features/features.prf:
2883
2884 2012-01-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
2885
2886         [Qt] Enable CSS_FILTERS in Qt build
2887         https://bugs.webkit.org/show_bug.cgi?id=75777
2888
2889         Add the CSS_FILTERS feature flag to Qt.
2890
2891         Reviewed by Kenneth Rohde Christiansen.
2892
2893         * qmake/mkspecs/features/features.prf:
2894
2895 2012-01-04  Kentaro Hara  <haraken@chromium.org>
2896
2897         Rewrite the CSS parser of prepare-ChangeLog with unittests.
2898         https://bugs.webkit.org/show_bug.cgi?id=75202
2899
2900         Reviewed by David Kilzer.
2901
2902         The current CSS parser can just parse simple CSSes like
2903
2904             foo bar baz {
2905                 property1: value;
2906                 property2: value;
2907             }
2908
2909         , and cannot parse comments nor a CSS in which a selector and {
2910         appears in different lines. This patch rewrites the CSS parser
2911         (i.e. get_selector_line_ranges_for_css()) so that it can parse more CSSes
2912         shown in css_unittests.css.
2913
2914         Test: Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests.css
2915
2916         * Scripts/prepare-ChangeLog:
2917         (get_selector_line_ranges_for_css):
2918         * Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl:
2919         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt: Added.
2920         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests.css: Added.
2921         (element1):
2922         (element2):
2923         (element3):
2924         (element4.p):
2925         (element5.p.q.r.s):
2926         (element6#p):
2927         (element7 element8):
2928         (element9.p element10.q):
2929         (element11#p element12#q):
2930         (element13, element14):
2931         (.p):
2932         (#p):
2933         (.p element15 #q element16.r element17#s):
2934         (element18:target):
2935         (element19):
2936         (element20):
2937         (element21):
2938         (element22):
2939
2940 2012-01-04  Kentaro Hara  <haraken@chromium.org>
2941
2942         The Perl parser of prepare-ChangeLog can parse here-documents
2943         https://bugs.webkit.org/show_bug.cgi?id=73208
2944
2945         Reviewed by David Kilzer.
2946
2947         Currently prepare-ChangeLog cannot recognize here-documents in Perl,
2948         which results in wrong subroutine names in ChangeLogs.
2949         With this patch, prepare-ChangeLog can judge whether the line of "}"
2950         is the end of a subroutine or a line inside a here-document.
2951
2952         Test: Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests.pl
2953
2954         * Scripts/prepare-ChangeLog:
2955         (get_function_line_ranges_for_perl):
2956         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests-expected.txt:
2957         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests.pl:
2958         Added test cases for here-documents.
2959         (func7):
2960         (func8):
2961         (func9):
2962         (func10):
2963         (func11):
2964         (func12):
2965         (func13):
2966         (func14):
2967         (func15):
2968         (func16):
2969
2970 2012-01-08  Kentaro Hara  <haraken@chromium.org>
2971
2972         Add unittests for the JavaScript parser of prepare-ChangeLog
2973         https://bugs.webkit.org/show_bug.cgi?id=75201
2974
2975         Reviewed by David Kilzer.
2976
2977         javascript_unittests.js is a unittest for get_function_line_ranges_for_javascript()
2978         of prepare-ChangeLog.
2979
2980         * Scripts/prepare-ChangeLog:
2981         (get_function_line_ranges_for_javascript): Before this patch, a string found was just
2982         omitted from parsing. Thus,
2983
2984             str = "foo"
2985             function func() {
2986             }
2987
2988         was recognized as equivalent to
2989
2990             str = function func() {
2991             }
2992
2993         This patch replaces a string with a dummy identifier 'string_appeared_here'
2994         to tell the parser that a string appeared there.
2995
2996         * Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl:
2997         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests-expected.txt: Added.
2998         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests.js: Added.
2999         (func1):
3000         (func2):
3001         (func3):
3002         (func4):
3003         (func5):
3004         (func6):
3005         (func7):
3006         (func8):
3007         (func9):
3008         (func10):
3009         (func11):
3010         (func12):
3011         (funcOverloaded):
3012         (Func1.prototype.get x1):
3013         (Func1.prototype.get x2):
3014         (Func1.prototype.set x1):
3015         (Func1.prototype.set x3):
3016         (Func2.prototype.func13):
3017         (Func2.prototype.func14):
3018         (Func2.prototype.func15):
3019         (func16.func17):
3020         (func16.func18):
3021         (func16.func19):
3022         (func16):
3023
3024 2012-01-08  David Levin  <levin@chromium.org>
3025
3026         [chromium] Add layout test support for autosize code in FrameView.
3027         https://bugs.webkit.org/show_bug.cgi?id=73631
3028
3029         Reviewed by Dmitry Titov.
3030
3031         * DumpRenderTree/chromium/LayoutTestController.cpp:
3032         (LayoutTestController::LayoutTestController): Expose the new autoresize method.
3033         (LayoutTestController::reset): Set the autoresize mode back to false.
3034         (LayoutTestController::enableAutoResizeMode): A way to turn on autoresizing from javascript code in DumpRenderTree.
3035         * DumpRenderTree/chromium/LayoutTestController.h:
3036         * DumpRenderTree/chromium/WebViewHost.cpp:
3037         (WebViewHost::didAutoResize): Handle the autoresize callback so that the outer bounds change appropriately.
3038         * DumpRenderTree/chromium/WebViewHost.h:
3039
3040 2012-01-07  Zan Dobersek  <zandobersek@gmail.com>
3041
3042         [WK2][GTK] Each test takes roughly half a second to load
3043         https://bugs.webkit.org/show_bug.cgi?id=70699
3044
3045         Reviewed by Martin Robinson.
3046
3047         Set the XDG_CACHE_HOME environment variable when testing with
3048         WebKitTestRunner. This way the testing is started with a non-existing
3049         application cache. If the cache exists and is not empty, the emptying
3050         and vacuuming that is performed before every test can consume a lot of
3051         time.
3052
3053         This is just a temporary workaround until it becomes possible to set
3054         a desired directory to be used as the application cache location through
3055         WebKitWebContext.
3056
3057         * Scripts/webkitpy/layout_tests/port/gtk.py:
3058         (GtkPort.setup_environ_for_server):
3059
3060 2012-01-07  Zan Dobersek  <zandobersek@gmail.com>
3061
3062         [GTK] Enable requestAnimationFrame in build-webkit
3063         https://bugs.webkit.org/show_bug.cgi?id=75773
3064
3065         Reviewed by Martin Robinson.
3066
3067         Enable requestAnimationFrame for the Gtk port.
3068
3069         * Scripts/build-webkit:
3070
3071 2012-01-06  Jarred Nicholls  <jarred@sencha.com>
3072
3073         Unreviewed build-webkit fix for Chromium to properly use make if gyp generates Makefiles.
3074
3075         * Scripts/webkitdirs.pm:
3076         (buildChromium):
3077         Missing parentheses.
3078
3079 2012-01-06  Simon Fraser  <simon.fraser@apple.com>
3080
3081         Fix DRT build on case-sensitive file systems.
3082
3083         Fix case of include of WebDynamicScrollBarsView.h
3084         
3085         * DumpRenderTree/mac/DumpRenderTree.mm:
3086
3087 2012-01-06  Simon Fraser  <simon.fraser@apple.com>
3088
3089         Pixel results from DumpRenderTree and WebKitTestRunner don't match because of colorspace issues
3090         https://bugs.webkit.org/show_bug.cgi?id=75662
3091
3092         Reviewed by Dan Bernstein.
3093         
3094         The pixel results generated by DumpRenderTree and WebKitTestRunner differed because
3095         of color profile issues. Fix by keeping everything in device RGB and ensuring that the
3096         test window uses the main display's color space, so that the pixel values in the bitmap
3097         that gets checksummed are identical to the CSS colors.
3098         
3099         Removed the code that switches the display profile in DRT, since that is no longer required.
3100
3101         * DumpRenderTree/PixelDumpSupport.h: Remove unused function declarations.
3102         * DumpRenderTree/mac/DumpRenderTree.mm:
3103         (crashHandler): Remove code that switches display profiles.
3104         (prepareConsistentTestingEnvironment): Ditto.
3105         (dumpRenderTree): Ditto.
3106         * DumpRenderTree/mac/PixelDumpSupportMac.mm: Ditto.
3107         (createBitmapContext): Use DeviceRGB for the bitmap colorspace.
3108         (createBitmapContextFromWebView): Add comment about the colorspace handling.
3109         * WebKitTestRunner/cg/TestInvocationCG.cpp:
3110         (WTR::createCGContextFromImage): Use a RetainPtr, add comment.
3111         (WTR::computeMD5HashStringForContext): Simplify the #ifdefs around the braces.
3112         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
3113         (WTR::PlatformWebView::PlatformWebView): Set the window's colorspace to that of the main display.
3114         (WTR::PlatformWebView::windowSnapshotImage): Add comment about colorspaces.
3115
3116 2012-01-06  David Kilzer  <ddkilzer@apple.com>
3117
3118         run-api-tests: specify individual suites and tests on the command-line
3119
3120         Reviewed by Adam Roben.
3121
3122         Fixes: <http://webkit.org/b/75065> run-api-tests should be able to run individual suites and tests
3123
3124         The run-api-tests script will now accept a list of arguments on
3125         the command-line that are used as prefix filters.  To run all
3126         tests in a suite that starts with "WTF" (WTF and WTF_Vector)
3127         use:
3128
3129             $ run-api-tests WTF
3130
3131         To run only the tests in the "WTF" suite, not the "WTF_Vector"
3132         suite, use:
3133
3134             $ run-api-tests WTF.
3135
3136         * Scripts/run-api-tests: Filter tests if any prefix arguments
3137         are passed on the command-line.
3138
3139 2012-01-06  David Kilzer  <ddkilzer@apple.com>
3140
3141         run-api-tests: change internal representation of tests to array of "SuiteName.TestName" strings
3142
3143         Reviewed by Adam Roben.
3144
3145         Part of: <http://webkit.org/b/75065> run-api-tests should be able to run individual suites and tests
3146
3147         * Scripts/run-api-tests:
3148         (dumpTestsBySuite): Update to accept array of tests instead of
3149         hash data structure.
3150         (runTestsBySuite): Ditto.
3151         (listAllTests): Rename from populateTests().  Update to return
3152         an array of tests instad of the hash data structure.
3153
3154 2012-01-05  Dirk Pranke  <dpranke@chromium.org>
3155
3156         webkitpy: clean up test/uri conversion routines
3157         https://bugs.webkit.org/show_bug.cgi?id=75648
3158
3159         Reviewed by Eric Seidel.
3160
3161         This change moves test_to_uri and uri_to_test from the Port
3162         class to the Driver class (the routines were only being
3163         called by the drivers), and removes a bunch of stale and/or
3164         busted logic.
3165
3166         * Scripts/webkitpy/layout_tests/port/base.py:
3167         * Scripts/webkitpy/layout_tests/port/base_unittest.py:
3168         * Scripts/webkitpy/layout_tests/port/chromium.py:
3169         * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
3170         * Scripts/webkitpy/layout_tests/port/driver.py:
3171         (is_http_test):
3172         (test_to_uri):
3173         (uri_to_test):
3174         * Scripts/webkitpy/layout_tests/port/mock_drt.py:
3175         (run_one_test):
3176         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
3177         (MockDRTTest.input_line):
3178         (input_line):
3179         (expected_output):
3180         * Scripts/webkitpy/layout_tests/port/test.py:
3181         * Scripts/webkitpy/layout_tests/port/webkit.py:
3182         (_command_from_driver_input):
3183
3184 2012-01-06  Simon Fraser  <simon.fraser@apple.com>
3185
3186         Mitigate scrollbar differences when running pixel tests
3187         https://bugs.webkit.org/show_bug.cgi?id=67217
3188
3189         Reviewed by Dan Bernstein.
3190         
3191         Add an NSScroller subclass that draws mock scrollbars identically
3192         to the WebCore mock scrollbar theme, and register it with the
3193         WebDynamicScrollbarsView.
3194
3195         * DumpRenderTree/mac/DumpRenderTree.mm:
3196         (-[DRTMockScroller rectForPart:]):
3197         (-[DRTMockScroller drawKnob]):
3198         (-[DRTMockScroller drawRect:]):
3199         (registerMockScrollbars):
3200         (prepareConsistentTestingEnvironment):
3201
3202 2012-01-05  Jon Lee  <jonlee@apple.com>
3203
3204         Update DRT on Mac to draw resize handles on text areas.
3205
3206         Reviewed by John Sullivan.
3207
3208         Enable resize handles on text areas so that we don't have to create two different sets of pixel test results,
3209         between WK1 and WK2. This will require rebaselining existing textarea pixel tests.
3210
3211         * DumpRenderTree/mac/DumpRenderTree.mm:
3212         (resetDefaultsToConsistentValues):
3213
3214 2012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3215
3216         [Qt] Move listing of include paths and libs to pri files in sources
3217
3218         Includepaths are sometimes modified by non-Qt contributors so keeping
3219         them in files inside Sources makes it more likely that they are updated
3220         along with project files for the other ports.
3221
3222         Using pri files instead of prf files for this also has the benefit that
3223         the include() from the main target file can be parsed and followed by
3224         Qt Creator -- something that does not work with load().
3225
3226         Dependency from a target to a library through the WEBKIT variable are
3227         handled through forwarding-files in Tools/qmake/mkspecs/modules, which
3228         set the source root of the module and include the right pri file.
3229
3230         Ideally we'd use the variant of include() that takes an optional
3231         namespace to read the variables into, or the fromfile() function,
3232         but both of these add an overhead of about 40% on the total qmake
3233         runtime, due to making a deep copy of all the variables in the
3234         project or re-reading all the prf files from scratch.
3235
3236         Reviewed by Simon Hausmann.
3237         Reviewed by Ossy.
3238
3239         * qmake/mkspecs/features/default_post.prf:
3240         * qmake/mkspecs/modules/javascriptcore.prf: Added.
3241         * qmake/mkspecs/modules/webcore.prf: Added.
3242         * qmake/mkspecs/modules/webkit2.prf: Added.
3243         * qmake/mkspecs/modules/wtf.prf: Added.
3244
3245 2012-01-06  JungJik Lee  <jungjik.lee@samsung.com>
3246
3247         [EFL] Add pre-render handling code in EWebLauncher.
3248         https://bugs.webkit.org/show_bug.cgi?id=73430
3249
3250         Reviewed by Zoltan Herczeg.
3251
3252         Add pre-render handling code by pressing Insert key.
3253
3254         * EWebLauncher/main.c:
3255         (on_key_down):
3256
3257 2012-01-06  Csaba Osztrogonác  <ossy@webkit.org>
3258
3259         NRWT should use test_expectation.txt on wk2 platforms
3260         https://bugs.webkit.org/show_bug.cgi?id=75417
3261
3262         Reviewed by Dirk Pranke.
3263
3264         * Scripts/webkitpy/layout_tests/port/webkit.py:
3265         (path_to_test_expectations_file):
3266         * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
3267         (test_path_to_test_expectations_file):
3268
3269 2012-01-05  Jochen Eisinger  <jochen@chromium.org>
3270
3271         Don't hardcode expected file URIs in as they depend on the platform
3272         https://bugs.webkit.org/show_bug.cgi?id=75666
3273
3274         Reviewed by Dirk Pranke.
3275
3276         * Scripts/webkitpy/layout_tests/port/win.py:
3277         (WinPort.show_results_html_file):
3278         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3279         (MainTest.test_unexpected_failures):
3280         (MainTest.test_results_directory_default):
3281         (MainTest.test_results_directory_relative):
3282
3283 2012-01-05  Anders Carlsson  <andersca@apple.com>
3284
3285         Crash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe
3286         https://bugs.webkit.org/show_bug.cgi?id=75667
3287         <rdar://problem/10389454>
3288
3289         Reviewed by Kevin Decker.
3290
3291         Add an evaluate method to the plug-in test scriptable object that can be used to evaluate a given JS string.
3292
3293         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
3294         (PluginTest::executeScript):
3295         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
3296         * DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp:
3297         (NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::hasMethod):
3298         (NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::invoke):
3299         (NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::hasProperty):
3300
3301 2012-01-05  Dirk Pranke  <dpranke@chromium.org>
3302
3303         webkitpy: clean up port factory methods
3304         https://bugs.webkit.org/show_bug.cgi?id=75590
3305
3306         Reviewed by Eric Seidel.
3307
3308         This change consolidates much of the "factory method" logic
3309         of determining which port objects to create for a given set
3310         of configurations by merging the separate factory methods in
3311         chromium_gpu and google_chrome into PortFactory so that at least
3312         all of the logic is in one place.
3313
3314         * Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
3315         * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
3316         * Scripts/webkitpy/layout_tests/port/factory.py:
3317         (_port_name_from_arguments_and_options):
3318         (get):
3319         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
3320         (test_google_chrome):
3321         * Scripts/webkitpy/layout_tests/port/google_chrome.py:
3322         (GoogleChromeLinux32Port):
3323         (GoogleChromeLinux32Port.baseline_search_path):
3324         (test_expectations_overrides):
3325         (architecture):
3326         (GoogleChromeLinux64Port):
3327         (GoogleChromeLinux64Port.baseline_search_path):
3328         (GoogleChromeMacPort):
3329         (GoogleChromeMacPort.baseline_search_path):
3330         (GoogleChromeWinPort):
3331         (GoogleChromeWinPort.baseline_search_path):
3332         * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
3333         (_verify_baseline_path):
3334
3335 2012-01-05  Jochen Eisinger  <jochen@chromium.org>
3336
3337         Replace webkitpy.common.system.filesystem.file_path_as_url with webkitpy.common.system.path.abspath_to_uri
3338         https://bugs.webkit.org/show_bug.cgi?id=75617
3339
3340         Reviewed by Dirk Pranke.
3341
3342         * Scripts/webkitpy/common/system/filesystem.py:
3343         (FileSystem.exists):
3344         * Scripts/webkitpy/common/system/filesystem_mock.py:
3345         (MockFileSystem.exists):
3346         * Scripts/webkitpy/common/system/filesystem_unittest.py:
3347         (GenericFileSystemTests.teardown_generic_test_dir):
3348         * Scripts/webkitpy/layout_tests/port/base.py:
3349         (Port.to.show_results_html_file):
3350         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3351         (MainTest.test_results_directory_absolute):
3352
3353 2012-01-05  Adam Roben  <aroben@apple.com>
3354
3355         Remove some unnecessary code from old-run-webkit-tests
3356
3357         Thanks to r104187/r104188, we no longer need to set PATH before launching DumpRenderTree or
3358         WebKitTestRunner.
3359
3360         Fixes <http://webkit.org/b/75640> ORWT unnecessarily sets PATH before launching DRT/WTR on
3361         Windows
3362
3363         Reviewed by Eric Seidel.
3364
3365         * Scripts/old-run-webkit-tests:
3366         (top level):
3367         (openDumpTool):
3368         Removed calls to setPathForRunningWebKitApp.
3369
3370 2012-01-05  Adam Roben  <aroben@apple.com>
3371
3372         Teach NRWT to use run-safari to open results.html on Apple's Windows port
3373
3374         NRWT was trying to use User.open_url, which doesn't work on Cygwin. But run-safari is
3375         better, since we always want to open results.html using the user's build of WebKit, not
3376         whatever their default browser is.
3377
3378         Fixes <http://webkit.org/b/75629> <rdar://problem/10648621> NRWT fails to open results.html
3379         for Apple's Windows port
3380
3381         Reviewed by Eric Seidel.
3382
3383         * Scripts/webkitpy/layout_tests/port/win.py:
3384         (WinPort.show_results_html_file): Changed to use run_safari, like MacPort does. Also removed
3385         an obsolete comment.
3386
3387         * Scripts/webkitpy/layout_tests/port/win_unittest.py:
3388         (WinPortTest.test_show_results_html_file): Updated expected results.
3389
3390 2012-01-05  Adam Roben  <aroben@apple.com>
3391
3392         Prepend Safari.exe's path to the command-line passed to CreateProcess
3393
3394         Safari expects the first argument in the command-line to be the path to Safari.exe itself.
3395         This is how things get set up when Safari is launched normally (e.g., by Explorer). Safari
3396         thus ignores the first argument when looking for command-line arguments. WebKitLauncherWin
3397         was not including the path to Safari.exe in the command-line, so Safari was ignoring the
3398         first argument that WebKitLauncherWin was trying to pass to it.
3399
3400         Fixes <http://webkit.org/b/56571> First argument passed to WebKit.exe is ignored by Safari
3401
3402         Reviewed by Steve Falkenburg.
3403
3404         * WebKitLauncherWin/WebKitLauncherWin.cpp:
3405         (_tWinMain): Construct a command-line for CreateProcess that first contains a double-quoted
3406         path to Safari.exe, then contains any arguments that were passed to WebKitLauncherWin.
3407
3408 2012-01-05  Adam Roben  <aroben@apple.com>
3409
3410         Stop using explicit memory management in WebKitLauncherWin
3411
3412         We now use stack-allocated STL objects instead.
3413
3414         Prep work for <http://webkit.org/b/56571> First argument passed to WebKit.exe is ignored by
3415         Safari
3416
3417         Reviewed by Steve Falkenburg.
3418
3419         * WebKitLauncherWin/WebKitLauncherWin.cpp:
3420         (getStringValue):
3421         (applePathFromRegistry):
3422         (safariInstallDir):
3423         (safariBrowserExe):
3424         (_tWinMain):
3425         Changed to use stack-allocated STL objects instead of malloc/free.
3426
3427 2012-01-05  Adam Roben  <aroben@apple.com>
3428
3429         Turn WebKitTestRunner into a stub .exe launcher and a .dll that contains all the real code
3430
3431         This allows us to add the Safari and Apple Application Support directories to PATH before
3432         trying to load WebKit so that SafariTheme.dll, CoreGraphics.dll and friends can be found.
3433
3434         Fixes <http://webkit.org/b/75486> <rdar://problem/10638124> NRWT fails to launch Apple's
3435         Windows port of DumpRenderTree/WebKitTestRunner
3436
3437         Reviewed by Steve Falkenburg.
3438
3439         * WebKitTestRunner/WebKitTestRunner.sln: Added WebKitTestRunnerLauncher and
3440         ImageDiffLauncher, which I forgot to add to this .sln when that project was created.
3441
3442         * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops:
3443         * WebKitTestRunner/win/WebKitTestRunner.vcproj:
3444         Changed to build WebKitTestRunner.dll instead of WebKitTestRunner.exe.
3445
3446         * WebKitTestRunner/win/WebKitTestRunnerLauncher.vcproj: Copied from
3447         Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj but changed to build
3448         the stub launcher.
3449
3450         * WebKitTestRunner/win/WebKitTestRunnerLauncherCommon.vsprops: Added.
3451         * WebKitTestRunner/win/WebKitTestRunnerLauncherDebug.vsprops: Added.
3452         * WebKitTestRunner/win/WebKitTestRunnerLauncherDebugAll.vsprops: Added.
3453         * WebKitTestRunner/win/WebKitTestRunnerLauncherDebugCairoCFLite.vsprops: Added.
3454         * WebKitTestRunner/win/WebKitTestRunnerLauncherProduction.vsprops: Added.
3455         * WebKitTestRunner/win/WebKitTestRunnerLauncherRelease.vsprops: Added.
3456         * WebKitTestRunner/win/WebKitTestRunnerLauncherReleaseCairoCFLite.vsprops: Added.
3457
3458         * WebKitTestRunner/win/main.cpp:
3459         (dllLauncherEntryPoint): Renamed from main. This is what the stub launcher calls.
3460
3461 2012-01-05  Adam Roben  <aroben@apple.com>
3462
3463         Turn DumpRenderTree into a stub .exe launcher and a .dll that contains all the real code
3464
3465         This allows us to add the Safari and Apple Application Support directories to PATH before
3466         trying to load WebKit so that SafariTheme.dll, CoreGraphics.dll and friends can be found.
3467
3468         Part of <http://webkit.org/b/75486> <rdar://problem/10638124> NRWT fails to launch Apple's
3469         Windows port of DumpRenderTree/WebKitTestRunner
3470
3471         Reviewed by Steve Falkenburg.
3472
3473         * DumpRenderTree/DumpRenderTree.sln: Added DumpRenderTreeLauncher and ImageDiffLauncher,
3474         which I forgot to add to this .sln when that project was created.
3475
3476         * DumpRenderTree/win/DumpRenderTree.cpp:
3477         (dllLauncherEntryPoint): Renamed from main. This is what the stub launcher calls.
3478
3479         * DumpRenderTree/win/DumpRenderTree.vcproj:
3480         * DumpRenderTree/win/DumpRenderTreeCommon.vsprops:
3481         Changed to build DumpRenderTree.dll instead of DumpRenderTree.exe.
3482
3483         * DumpRenderTree/win/DumpRenderTreeLauncher.vcproj: Added.
3484         * DumpRenderTree/win/DumpRenderTreeLauncherCommon.vsprops: Added.
3485         * DumpRenderTree/win/DumpRenderTreeLauncherDebug.vsprops: Added.
3486         * DumpRenderTree/win/DumpRenderTreeLauncherDebugAll.vsprops: Added.
3487         * DumpRenderTree/win/DumpRenderTreeLauncherDebugCairoCFLite.vsprops: Added.
3488         * DumpRenderTree/win/DumpRenderTreeLauncherProduction.vsprops: Added.
3489         * DumpRenderTree/win/DumpRenderTreeLauncherRelease.vsprops: Added.
3490         * DumpRenderTree/win/DumpRenderTreeLauncherReleaseCairoCFLite.vsprops: Added.
3491
3492         * win/DLLLauncher/DLLLauncherMain.cpp:
3493         (modifyPath): Moved code to modify PATH here from main/wWinMain. Changed to also prepend
3494         Safari's directory to PATH so that SafariTheme.dll can be found.
3495
3496         (main):
3497         (wWinMain):
3498         Changed to use the new modifyPath function.
3499
3500 2012-01-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3501
3502         [Qt] Never enable FontConfig on Mac OS X
3503         https://bugs.webkit.org/show_bug.cgi?id=75616
3504
3505         Reviewed by Tor Arne Vestbø.
3506
3507         * qmake/mkspecs/features/features.prf:
3508
3509 2012-01-05  Alpha Lam  <hclam@chromium.org>
3510
3511         Unreviewed, rolling out r104159.
3512         http://trac.webkit.org/changeset/104159
3513         https://bugs.webkit.org/show_bug.cgi?id=75590
3514
3515         Chromium port GPU tests cannot be executed.
3516
3517         * Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
3518         (get):
3519         (_default_tests_paths):
3520         * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
3521         (ChromiumGpuTest.assert_port_works):
3522         * Scripts/webkitpy/layout_tests/port/factory.py:
3523         (PortFactory._port_name_from_arguments_and_options):
3524         (PortFactory):
3525         (PortFactory._get_kwargs):
3526         (PortFactory.get):
3527         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
3528         (FactoryTest.test_google_chrome.names):
3529         (FactoryTest.test_google_chrome):
3530         * Scripts/webkitpy/layout_tests/port/google_chrome.py:
3531         (GetGoogleChromePort):
3532         (GetGoogleChromePort.GoogleChromeLinux32Port):
3533         (GetGoogleChromePort.GoogleChromeLinux32Port.baseline_search_path):
3534         (GetGoogleChromePort.GoogleChromeLinux32Port.test_expectations_overrides):
3535         (GetGoogleChromePort.GoogleChromeLinux32Port.architecture):
3536         (GetGoogleChromePort.GoogleChromeLinux64Port):
3537         (GetGoogleChromePort.GoogleChromeLinux64Port.baseline_search_path):
3538         (GetGoogleChromePort.GoogleChromeLinux64Port.test_expectations_overrides):
3539         (GetGoogleChromePort.GoogleChromeLinux64Port.architecture):
3540         (GetGoogleChromePort.GoogleChromeMacPort):
3541         (GetGoogleChromePort.GoogleChromeMacPort.baseline_search_path):
3542         (GetGoogleChromePort.GoogleChromeMacPort.test_expectations_overrides):
3543         (GetGoogleChromePort.GoogleChromeWinPort):
3544         (GetGoogleChromePort.GoogleChromeWinPort.baseline_search_path):
3545         (GetGoogleChromePort.GoogleChromeWinPort.test_expectations_overrides):
3546         * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
3547         (GetGoogleChromePortTest._verify_baseline_path):
3548         (GetGoogleChromePortTest._verify_expectations_overrides):
3549
3550 2012-01-05  Dirk Pranke  <dpranke@chromium.org>
3551
3552         webkitpy: clean up port factory methods
3553         https://bugs.webkit.org/show_bug.cgi?id=75590
3554
3555         Reviewed by Eric Seidel.
3556
3557         This change consolidates much of the "factory method" logic
3558         of determining which port objects to create for a given set
3559         of configurations by merging the separate factory methods in
3560         chromium_gpu and google_chrome into PortFactory so that at least
3561         all of the logic is in one place.
3562
3563         * Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
3564         * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
3565         * Scripts/webkitpy/layout_tests/port/factory.py:
3566         (_port_name_from_arguments_and_options):
3567         (get):
3568         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
3569         (test_google_chrome):
3570         * Scripts/webkitpy/layout_tests/port/google_chrome.py:
3571         (GoogleChromeLinux32Port):
3572         (GoogleChromeLinux32Port.baseline_search_path):
3573         (test_expectations_overrides):
3574         (architecture):
3575         (GoogleChromeLinux64Port):
3576         (GoogleChromeLinux64Port.baseline_search_path):
3577         (GoogleChromeMacPort):
3578         (GoogleChromeMacPort.baseline_search_path):
3579         (GoogleChromeWinPort):
3580         (GoogleChromeWinPort.baseline_search_path):
3581         * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
3582         (_verify_baseline_path):
3583
3584 2012-01-04  Adam Roben  <aroben@apple.com>
3585
3586         Turn ImageDiff into a stub .exe launcher and a .dll that contains all the real code
3587
3588         This allows us to add the Apple Application Support directory to PATH before trying to load
3589         WebKit so that CoreGraphics.dll and friends can be found.
3590
3591         Fixes <http://webkit.org/b/75572> ImageDiff.exe can't be run without first munging PATH
3592
3593         Reviewed by Anders Carlsson.
3594
3595         * DumpRenderTree/win/ImageDiff.vcproj:
3596         * DumpRenderTree/win/ImageDiffCommon.vsprops:
3597         Changed to build ImageDiff.dll instead of ImageDiff.exe.
3598
3599         * DumpRenderTree/win/ImageDiffLauncher.vcproj: Copied from
3600         Tools/DumpRenderTree/win/ImageDiff.vcproj but changed to build the stub launcher.
3601
3602         * DumpRenderTree/win/ImageDiffLauncherCommon.vsprops: Added.
3603         * DumpRenderTree/win/ImageDiffLauncherDebug.vsprops: Added.
3604         * DumpRenderTree/win/ImageDiffLauncherDebugAll.vsprops: Added.
3605         * DumpRenderTree/win/ImageDiffLauncherDebugCairoCFLite.vsprops: Added.
3606         * DumpRenderTree/win/ImageDiffLauncherProduction.vsprops: Added.
3607         * DumpRenderTree/win/ImageDiffLauncherRelease.vsprops: Added.
3608         * DumpRenderTree/win/ImageDiffLauncherReleaseCairoCFLite.vsprops: Added.
3609
3610         * DumpRenderTree/win/ImageDiffWin.cpp: Added.
3611         (dllLauncherEntryPoint): This function is called by the stub launcher and just calls through
3612         to main.
3613
3614         * win/DLLLauncher/DLLLauncherMain.cpp:
3615         (main):
3616         (wWinMain):
3617         Added support for launching console programs. When USE_CONSOLE_ENTRY_POINT is defined, the
3618         stub launcher acts as a console program and calls a console version of
3619         dllLauncherEntryPoint.
3620
3621 2012-01-04  Adam Roben  <aroben@apple.com>
3622
3623         Turn MiniBrowser into a stub .exe launcher and a .dll that contains all the real code
3624
3625         This allows us to add the Apple Application Support directory to PATH before trying to load
3626         WebKit so that CoreGraphics.dll and friends can be found.
3627
3628         Fixes <http://webkit.org/b/68576> <rdar://problem/10163853> MiniBrowser fails to launch when
3629         double-clicked
3630
3631         Reviewed by Anders Carlsson.
3632
3633         * MiniBrowser/MiniBrowser.vcproj:
3634         * MiniBrowser/Configurations/MiniBrowserCommon.vsprops:
3635         Changed to build MiniBrowser.dll instead of MiniBrowser.exe.
3636
3637         * MiniBrowser/Configurations/MiniBrowserLauncherCommon.vsprops: Added.
3638         * MiniBrowser/Configurations/MiniBrowserLauncherDebug.vsprops: Added.
3639         * MiniBrowser/Configurations/MiniBrowserLauncherDebugAll.vsprops: Added.
3640         * MiniBrowser/Configurations/MiniBrowserLauncherDebugCairoCFLite.vsprops: Added.
3641         * MiniBrowser/Configurations/MiniBrowserLauncherProduction.vsprops: Added.
3642         * MiniBrowser/Configurations/MiniBrowserLauncherRelease.vsprops: Added.
3643         * MiniBrowser/Configurations/MiniBrowserLauncherReleaseCairoCFLite.vsprops: Added.
3644
3645         * MiniBrowser/MiniBrowserLauncher.vcproj: Copied from Tools/MiniBrowser/MiniBrowser.vcproj
3646         but changed to build the stub launcher.
3647
3648         * MiniBrowser/win/main.cpp: Moved the /manifestdependency code to DLLLauncherMain.cpp, since
3649         it needs to be compiled into the .exe instead of the .dll.
3650         (DllMain): Added. We use this to store the DLL's HINSTANCE.
3651         (dllLauncherEntryPoint): Renamed from _tWinMain. This is what gets called by the
3652         DLLLauncherMain code.
3653
3654         * win/DLLLauncher/DLLLauncherMain.cpp: Moved the /manifestdependency code from MiniBrowser
3655         to here.
3656
3657 2012-01-04  Adam Roben  <aroben@apple.com>
3658
3659         Make WinLauncher's window frame respond to clicks/drags again
3660
3661         Fixes <http://webkit.org/b/75562> REGRESSION (r84990): Can't drag WinLauncher by its title
3662         bar when Aero is disabled
3663
3664         Reviewed by Brent Fulgham.
3665
3666         * WinLauncher/WinLauncher.cpp:
3667         (WndProc): Always call up to our parent wndproc when we don't handle WM_NCHITTEST ourselves.
3668         Also removed an unnecessary "break" keyword.
3669
3670 2012-01-04  Adam Roben  <aroben@apple.com>
3671
3672         Turn WinLauncher into a stub .exe launcher and a .dll that contains all the real code
3673
3674         This allows us to add the Apple Application Support directory to PATH before trying to load
3675         WebKit so that CoreGraphics.dll and friends can be found. Eventually all our WebKit apps
3676         should use this mechanism.
3677
3678         Fixes <http://webkit.org/b/68578> <rdar://problem/10163861> WinLauncher fails to launch when
3679         double-clicked
3680
3681         Reviewed by Anders Carlsson.
3682
3683         * WinLauncher/WinLauncher.cpp: Removed InitInstance.
3684         (DllMain): Added. Stores the DLL HINSTANCE in the global hInst variable. This used to be
3685         done by the now-removed InitInstance function.
3686         (dllLauncherEntryPoint): Renamed from _tWinMain. This is the function that our stub launcher
3687         calls. Merged code from InitInstance into this function, and change to use the global hInst
3688         variable, which corresponds to WinLauncher.dll, rather than the HINSTANCE passed into this
3689         function, which corresponds to WinLauncher.exe.
3690
3691         * WinLauncher/WinLauncher.vcproj:
3692         * WinLauncher/WinLauncherCommon.vsprops:
3693         Changed to build WinLauncher.dll instead of WinLauncher.exe.
3694
3695         * WinLauncher/WinLauncherLauncher.rc: Added.
3696         * WinLauncher/WinLauncherLauncherResource.h: Added.
3697         This just references the WinLauncher.ico file to set the application icon (though it looks
3698         like that's a default icon).
3699
3700         * WinLauncher/WinLauncherLauncher.vcproj: Copied from Tools/WinLauncher/WinLauncher.vcproj
3701         but changed to build WinLauncher.exe using the new DLLLauncherMain.cpp file.
3702
3703         * WinLauncher/WinLauncherLauncherCommon.vsprops: Added.
3704         * WinLauncher/WinLauncherLauncherDebug.vsprops: Added.
3705         * WinLauncher/WinLauncherLauncherDebugAll.vsprops: Added.
3706         * WinLauncher/WinLauncherLauncherDebugCairoCFLite.vsprops: Added.
3707         * WinLauncher/WinLauncherLauncherProduction.vsprops: Added.
3708         * WinLauncher/WinLauncherLauncherRelease.vsprops: Added.
3709         * WinLauncher/WinLauncherLauncherReleaseCairoCFLite.vsprops: Added.
3710
3711         * win/DLLLauncher/DLLLauncherMain.cpp: Added.
3712         (enableTerminationOnHeapCorruption): Uses HeapSetInformation to tell Windows to kill the
3713         program if it detects heap corruption.
3714         (getStringValue): Helper function to read a string value from the registry.
3715         (applePathFromRegistry): Helper function to read the InstallDir for a given Apple
3716         application from the registry.
3717         (appleApplicationSupportDirectory): Helper function to return the path to the Apple
3718         Application Support directory.
3719         (copyEnvironmentVariable): Helper function to copy an environment variable's value.
3720         (prependPath): Helper function to prepend a directory to the PATH.
3721         (fatalError): Helper function to display an error to the user.
3722         (wWinMain): Add Apple Application Support to the PATH, then load our DLL and call its
3723         dllLauncherEntryPoint function.
3724
3725 2012-01-05  Kentaro Hara  <haraken@chromium.org>
3726
3727         prepare-ChangeLog cannot parse python code that nests classes and defs
3728         https://bugs.webkit.org/show_bug.cgi?id=75524
3729
3730         Reviewed by Ryosuke Niwa.
3731
3732         This patch fixes the python parser of prepare-ChangeLog so that it can parse
3733         python code that nests classes and defs, like this:
3734
3735         class C:
3736             pass
3737             def f():
3738                 pass
3739             pass
3740
3741         Also, this patch fixes the python parser so that it inserts a dummy line
3742         at the end of the file to pop out all popped scopes.
3743
3744         * Scripts/prepare-ChangeLog:
3745         (get_function_line_ranges_for_python):
3746
3747         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py:
3748         Added test cases that nest classes and defs.
3749         (func7):
3750         (func7.func8):
3751         (func7.func8.func9):
3752         (Class2):
3753         (Class2.Class3):
3754         (Class2.Class3.Class4):
3755         (Class5):
3756         (Class5.func10):
3757         (Class5.func11):
3758         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
3759
3760 2012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3761
3762         [GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+
3763         https://bugs.webkit.org/show_bug.cgi?id=75433
3764
3765         Reviewed by Martin Robinson.
3766
3767         * MiniBrowser/gtk/BrowserWindow.c:
3768         (webViewLoadFailed): Reset the progress bar when load fails.
3769         (browserWindowConstructed): Connect to load-failed signal.
3770
3771 2012-01-04  Dan Bernstein  <mitz@apple.com>
3772
3773         Add a --target-web-process option to the debug-* scripts. When specified, the scripts will
3774         start WebProcess under gdb and WebProcess will then run the client executable.
3775
3776         This is the Tools part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach
3777
3778         Reviewed by Anders Carlsson.
3779
3780         * Scripts/webkitdirs.pm:
3781         (shouldTargetWebProcess): Added.
3782         (determineShouldTargetWebProcess): Added. Checks for --target-web-process.
3783         (execMacWebKitAppForDebugging): Changed to target gdb at WebProcess and pass the path to the
3784         app using the -client-executable option if targeting the web process.
3785
3786 2012-01-04  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3787
3788         Adding myself to committers list.
3789
3790         Unreviewed.
3791
3792         * Scripts/webkitpy/common/config/committers.py:
3793
3794 2012-01-04  David Kilzer  <ddkilzer@apple.com>
3795
3796         Revert fix for Bug 75064: TestWebKitAPI: initialize the main thread before running tests
3797
3798         This reverts commit r103546.
3799
3800         * TestWebKitAPI/TestsController.cpp:
3801         (TestWebKitAPI::TestsController::TestsController):
3802
3803 2012-01-04  James Robinson  <jamesr@chromium.org>
3804
3805         [chromium] Move WebMimeRegistry and dependencies to Source/Platform
3806         https://bugs.webkit.org/show_bug.cgi?id=74583
3807
3808         Reviewed by Darin Fisher.
3809
3810         Teaches the WEBKIT_EXPORT check about the chromium WebKit platform API header location.
3811
3812         * Scripts/webkitpy/style/checkers/cpp.py:
3813         (check_function_definition):
3814
3815 2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3816
3817         [Qt] Fix link order of static libraries and unbreak QtWin32
3818
3819         We were keeping the correct static link order between the intermediate
3820         WebKit libraries, but not the internal dependencies for each of those
3821         libraries. The load() will in some instances mess with LIBS, so we need
3822         to ensure that the dependent libraries are added after the library we
3823         are linking against.
3824
3825         Reviewed by Simon Hausmann.
3826
3827         * qmake/mkspecs/features/default_post.prf:
3828
3829 2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3830
3831         [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies
3832
3833         The custom qmake variable 'WEBKIT' is used for signaling that a
3834         target depends in some way on other subproject of the WebKit
3835         project. For now this is limited to the set of intermediate
3836         libraries: wtf, javascriptcore, webcore, and webkit2.
3837
3838         This replaces the previous convension of using load(foo) for
3839         just include paths, and CONFIG += foo to also link against foo.
3840
3841         Adding a dependency results in additional include paths being
3842         available, and potentially linking to the library. This is
3843         decided by the build system based on conditions such as what
3844         kind of target is being built and the general build config.
3845
3846         An advantage to his approach is that it simplifies the individual
3847         foo.prf files, for example by allowing us to use INCLUDEPATH +=
3848         and LIBS += as normal instead of prepending.
3849
3850         Reviewed by Simon Hausmann.
3851
3852         * DumpRenderTree/qt/DumpRenderTree.pro:
3853         * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
3854         * QtTestBrowser/QtTestBrowser.pro:
3855         * WebKitTestRunner/InjectedBundle/Target.pri:
3856         * WebKitTestRunner/Target.pri:
3857         * qmake/README:
3858         * qmake/mkspecs/features/default_post.prf:
3859         * qmake/mkspecs/features/functions.prf:
3860         * qmake/mkspecs/features/javascriptcore.prf:
3861         * qmake/mkspecs/features/qtwebkit.prf:
3862         * qmake/mkspecs/features/webcore.prf:
3863         * qmake/mkspecs/features/webkit2.prf:
3864         * qmake/mkspecs/features/wtf.prf:
3865
3866 2012-01-04  Alexander Færøy  <ahf@0x90.dk>
3867
3868         [Qt] Add UI for JavaScript Prompt dialog in the Qt MiniBrowser
3869         https://bugs.webkit.org/show_bug.cgi?id=75488
3870
3871         Reviewed by Tor Arne Vestbø.
3872
3873         * MiniBrowser/qt/MiniBrowser.qrc:
3874         * MiniBrowser/qt/qml/BrowserWindow.qml:
3875         * MiniBrowser/qt/qml/Dialog.qml:
3876         * MiniBrowser/qt/qml/DialogLineInput.qml: Copied from Tools/MiniBrowser/qt/qml/Dialog.qml.
3877         * MiniBrowser/qt/qml/PromptDialog.qml: Copied from Tools/MiniBrowser/qt/qml/Dialog.qml.
3878
3879 2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3880
3881         [Qt] Use rpath for WTR's InjectedBundle to pick up the right QtWebKit
3882
3883         It wasn't really a problem at runtime since the right QtWebKit was
3884         already loaded as a dependency of the web process, but the ldd output
3885         would still be busted.
3886
3887         Reviewed by Simon Hausmann.
3888
3889         * WebKitTestRunner/InjectedBundle/Target.pri:
3890
3891 2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3892
3893         [Qt] Move use of $$qtLibraryTarget() to a single place
3894
3895         Reviewed by Kenneth Rohde Christiansen.
3896
3897         * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
3898         * WebKitTestRunner/InjectedBundle/Target.pri:
3899         * qmake/mkspecs/features/default_post.prf:
3900         * qmake/mkspecs/features/webcore.prf:
3901
3902 2012-01-04  Mary Wu  <mary.wu@torchmobile.com.cn>
3903
3904         Enable DOWNLOAD_ATTRIBUTE in BlackBerry porting
3905         https://bugs.webkit.org/show_bug.cgi?id=75238
3906
3907         Reviewed by Antonio Gomes.
3908
3909         Add ENABLE_DOWNLOAD_ATTRIBUTE webkit feature into the build script so that 
3910         it could initiate download directly if it has the download attribute in the link 
3911         and doesn't need to open new blank page for the target="_blank". Enabling this 
3912         feature in the BlackBerry porting also prepares for later blob feature implementation.
3913
3914         * Scripts/build-webkit: Modified to handle ENABLE_DOWNLOAD_ATTRIBUTE. Make it default on
3915         for the BlackBerry porting.
3916
3917 2012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3918
3919         [GTK] Fix a runtime warning when hovering hyperlink auditing setting in MiniBroweser settings dialog
3920         https://bugs.webkit.org/show_bug.cgi?id=75475
3921
3922         Reviewed by Martin Robinson.
3923
3924         The problem is that the property blurb contains <a ping> and tree
3925         view uses gtk_tooltip_set_markup() internally, so we need to
3926         escape the text.
3927
3928         * MiniBrowser/gtk/BrowserSettingsDialog.c:
3929         (browserSettingsDialogConstructed): Escape property blurb before
3930         storing it in the GtkTreeModel.
3931
3932 2012-01-03  Jochen Eisinger  <jochen@chromium.org>
3933
3934         When showing results.html pass a correct URL to webbrowser.open
3935         https://bugs.webkit.org/show_bug.cgi?id=75438
3936
3937         Reviewed by Adam Barth.
3938
3939         * Scripts/webkitpy/common/system/filesystem.py:
3940         (file_path_as_url):
3941         * Scripts/webkitpy/common/system/filesystem_mock.py:
3942         (file_path_as_url):
3943         * Scripts/webkitpy/common/system/filesystem_unittest.py:
3944         (test_file_path_as_url):
3945         * Scripts/webkitpy/layout_tests/port/base.py:
3946         (show_results_html_file):
3947         * Scripts/webkitpy/layout_tests/port/win_unittest.py:
3948         (test_show_results_html_file):
3949         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3950         (test_results_directory_relative):
3951
3952 2012-01-03  Ojan Vafai  <ojan@chromium.org>
3953
3954         shrink the header on the flakiness dashboard
3955         https://bugs.webkit.org/show_bug.cgi?id=65153
3956
3957         Reviewed by Adam Roben.
3958
3959         Move some of the "show" links to be to the right of the header
3960         instead of below the header when they content they're showing
3961         is hidden. That way we don't waste vertical space on them.
3962
3963         No new tests. This code is covered by existing tests.
3964
3965         * TestResultServer/static-dashboards/flakiness_dashboard.html:
3966
3967 2012-01-03  Ryosuke Niwa  <rniwa@webkit.org>
3968
3969         Add a tool to analyze change logs
3970         https://bugs.webkit.org/show_bug.cgi?id=72243
3971
3972         Reviewed by Eric Seidel.
3973
3974         Add the initial implementation of analyze-changelog command. This version supports parsing multiple changelogs
3975         in a single directory and summarizes the result in json files. It also copies summary.html to the output directory
3976         for visualizing json files.
3977
3978         Usage: webkit-patch analyze-changelog [--changelog-count N] <CHANGELOG_DIR> <OUTPUT_DIR>
3979         where CHANGELOG_DIR is the directory to look for changelogs, OUTPUT_DIR is the directory into which the tool
3980         generates json files, and N is the number of changelogs to parse.
3981
3982         * Scripts/webkitpy/common/config/contributionareas.py: Added names().
3983         * Scripts/webkitpy/common/system/filesystem_mock.py: Added readline and iterator support to ReadableTextFileObject.
3984         * Scripts/webkitpy/tool/commands/__init__.py:
3985         * Scripts/webkitpy/tool/commands/analyzechangelog.py: Added.
3986         * Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py: Added.
3987         * Scripts/webkitpy/tool/commands/data/summary.html: Added.
3988         * Scripts/webkitpy/tool/steps/options.py:
3989
3990 2012-01-03  Ryosuke Niwa  <rniwa@webkit.org>
3991
3992         Add a tool to analyze change logs
3993         https://bugs.webkit.org/show_bug.cgi?id=72243
3994
3995         Reviewed by Eric Seidel.
3996
3997         Add the initial implementation of analyze-changelog command. This version supports parsing multiple changelogs
3998         in a single directory and summarizes the result in json files. It also copies summary.html to the output directory
3999         for visualizing json files.
4000
4001         Usage: webkit-patch analyze-changelog [--changelog-count N] <CHANGELOG_DIR> <OUTPUT_DIR>
4002         where CHANGELOG_DIR is the directory to look for changelogs, OUTPUT_DIR is the directory into which the tool
4003         generates json files, and N is the number of changelogs to parse.
4004
4005         * Scripts/webkitpy/common/config/contributionareas.py: Added names().
4006         * Scripts/webkitpy/common/system/filesystem_mock.py: Added readline and iterator support to ReadableTextFileObject.
4007         * Scripts/webkitpy/tool/commands/__init__.py:
4008         * Scripts/webkitpy/tool/commands/analyzechangelog.py: Added.
4009         * Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py: Added.
4010         * Scripts/webkitpy/tool/commands/data/summary.html: Added.
4011         * Scripts/webkitpy/tool/steps/options.py:
4012
4013 2012-01-03  Adam Roben  <aroben@apple.com>
4014
4015         Make Port subclasses override the operating_system method rather than setting an attribute
4016
4017         Without this patch, any use of Port.operating_system() within a port's __init__ method would
4018         return the default value ("mac"). This was confusing the version-checking logic inside
4019         ApplePort.__init__ on Windows.
4020
4021         Fixes <http://webkit.org/b/75479> <rdar://problem/10637385> REGRESSION (r102161): NRWT
4022         crashes on launch on Windows 7 SP1
4023
4024         Reviewed by Eric Seidel.
4025
4026         * Scripts/webkitpy/layout_tests/port/apple.py:
4027         (ApplePort.__init__): Replaced uses of self._operating_system with self.operating_system().
4028
4029         * Scripts/webkitpy/layout_tests/port/base.py:
4030         (Port.__init__): Removed code that set the self._operating_system attribute. Subclasses
4031         should now override the operating_system method instead.
4032         (Port.operating_system): Changed to always return "mac". Subclasses should override to
4033         return something else.
4034
4035         * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
4036         (ChromiumLinuxPort.__init__):
4037         (ChromiumLinuxPort.operating_system):
4038         * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
4039         (ChromiumMacPort.__init__):
4040         (ChromiumMacPort.operating_system):
4041         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
4042         (ChromiumWinPort.__init__):
4043         (ChromiumWinPort.operating_system):
4044         * Scripts/webkitpy/layout_tests/port/mac.py:
4045         (MacPort.__init__):
4046         (MacPort.operating_system):
4047         * Scripts/webkitpy/layout_tests/port/win.py:
4048         (WinPort.__init__):
4049         (WinPort.operating_system):
4050         Changed to override the operating_system method rather than setting the _operating_system
4051         attribute, since setting the attribute isn't sufficient for code inside __init__ methods.
4052
4053         * Scripts/webkitpy/layout_tests/port/qt.py:
4054         (QtPort.__init__):
4055         (QtPort._path_to_webcore_library):
4056         Changed to use self.operating_system() instead of self._operating_system, for consistency
4057         with other Port-related code.
4058
4059         (QtPort.operating_system): Added this override of Port.operating_system that returns the
4060         value we determined in our __init__ method.
4061
4062         * Scripts/webkitpy/layout_tests/port/test.py:
4063         (TestPort.operating_system): Added this override of Port.operating_system that returns the
4064         value we determined in our __init__ method.
4065
4066         * Scripts/webkitpy/layout_tests/port/base_unittest.py:
4067         (PortTest.test_operating_system):
4068         * Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py:
4069         (ChromiumLinuxPortTest.test_operating_system):
4070         * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
4071         (ChromiumMacPortTest.test_operating_system):
4072         * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
4073         (ChromiumWinPortTest.test_operating_system):
4074         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
4075         (MacPortTest.test_operating_system):
4076         * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
4077         (QtPortTest.test_operating_system):
4078         * Scripts/webkitpy/layout_tests/port/win_unittest.py:
4079         (WinPortTest.test_operating_system):
4080         Test that all ports return the expected operating system string.
4081
4082 2012-01-03  Mario Sanchez Prada  <msanchez@igalia.com>
4083
4084         [GTK] run-gtk-test should ignore files with names without a "test" or "Test" prefix
4085         https://bugs.webkit.org/show_bug.cgi?id=75474
4086
4087         Reviewed by Philippe Normand.
4088
4089         * Scripts/run-gtk-tests: Ignore files whose name does not start
4090         with a "test" (for WK1's API tests) or a "Test" prefix (for WK2).
4091
4092 2012-01-03  Alexander Færøy  <alexander.faeroy@nokia.com>
4093
4094         [Qt] Add UI for JavaScript Confirmation dialog in the Qt MiniBrowser
4095         https://bugs.webkit.org/show_bug.cgi?id=75472
4096
4097         Reviewed by Tor Arne Vestbø.
4098
4099         * MiniBrowser/qt/MiniBrowser.pro:
4100         * MiniBrowser/qt/MiniBrowser.qrc:
4101         * MiniBrowser/qt/qml/BrowserWindow.qml:
4102         * MiniBrowser/qt/qml/ConfirmDialog.qml: Added.
4103
4104 2012-01-03  Alexander Færøy  <alexander.faeroy@nokia.com>
4105
4106         [Qt] Add UI for JavaScript Alert dialog in the Qt MiniBrowser
4107         https://bugs.webkit.org/show_bug.cgi?id=75471
4108
4109         Reviewed by Tor Arne Vestbø.
4110
4111         Add simple UI for JavaScript Alert dialogs. This patch also adds a
4112         simple DialogButton QML type and a Dialog QML type which will be
4113         reusable for other JavaScript dialogs.
4114
4115         * MiniBrowser/qt/MiniBrowser.qrc:
4116         * MiniBrowser/qt/qml/AlertDialog.qml: Added.
4117         * MiniBrowser/qt/qml/BrowserWindow.qml:
4118         * MiniBrowser/qt/qml/Dialog.qml: Added.
4119         * MiniBrowser/qt/qml/DialogButton.qml: Added.
4120
4121 2012-01-03  Rafael Brandao  <rafael.lobo@openbossa.org>
4122
4123         [Qt][WK2] MiniBrowser doesn't show url bar
4124         https://bugs.webkit.org/show_bug.cgi?id=75470
4125
4126         Reviewed by Tor Arne Vestbø.
4127
4128         * MiniBrowser/qt/qml/BrowserWindow.qml: Remove clipping until it is fixed
4129         on QtDeclarative (QTBUG-23422).
4130
4131 2012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
4132
4133         [GTK] Simplify loader client WebKit2 GTK+ API
4134         https://bugs.webkit.org/show_bug.cgi?id=74605
4135
4136         Reviewed by Gustavo Noronha Silva.
4137
4138         * gtk/generate-gtkdoc: Ignore WebKitWebLoaderClient since it's now
4139         private API.
4140
4141 2012-01-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
4142
4143         [Qt] Clean up detection of fontconfig
4144
4145         We decide in features.prf whether or not fontconfig is available, and
4146         set the HAVE_FONTCONFIG define accordingly. All leaf project files
4147         should use this define to decide whether or not to link against
4148         fontconfig, not do their own detection.
4149
4150         We don't need to add link_pkgconfig to CONFIG in each project file,
4151         as we selectivly enable that configuration in defaults_post when
4152         needed.
4153
4154         Reviewed by Ossy.
4155
4156         * DumpRenderTree/qt/DumpRenderTree.pro:
4157         * QtTestBrowser/QtTestBrowser.pro:
4158         * WebKitTestRunner/InjectedBundle/Target.pri:
4159         * qmake/mkspecs/features/unix/default_post.prf:
4160         * qmake/mkspecs/features/unix/default_pre.prf:
4161
4162 2012-01-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
4163
4164         [Qt] Introduce qmake replace function for the active build config
4165
4166         Reviewed by Ossy.
4167
4168         * qmake/mkspecs/features/default_post.prf:
4169         * qmake/mkspecs/features/functions.prf:
4170
4171 2012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
4172
4173         [GTK] Use gdk_screen_get_monitor_workarea() when available for screenAvailableRect()
4174         https://bugs.webkit.org/show_bug.cgi?id=75435
4175
4176         Reviewed by Martin Robinson.
4177
4178         * GNUmakefile.am: Make sure DRT links to X11.
4179         * WebKitTestRunner/GNUmakefile.am: Make sure WTR links to X11.
4180
4181 2011-12-04  Philippe Normand  <pnormand@igalia.com>
4182
4183         [WK2][GTK] WebSettings support in MiniBrowser
4184         https://bugs.webkit.org/show_bug.cgi?id=73773
4185
4186         Reviewed by Martin Robinson.
4187
4188         Patch heavily inspired from the WebKit GtkLauncher to support
4189         command-line WebSettings. Example: --enable-fullscreen=TRUE.
4190         The full list of options can be consulted with --help-websettings.
4191
4192         * MiniBrowser/gtk/main.c:
4193         (loadURI):
4194         (parseOptionEntryCallback):
4195         (isValidParameterType):
4196         (getOptionEntriesFromWebKitSettings):
4197         (addSettingsGroupToContext):
4198         (main):
4199
4200 2012-01-02  Philippe Normand  <pnormand@igalia.com>
4201
4202         [GTK] GtkLauncher settings improvements
4203         https://bugs.webkit.org/show_bug.cgi?id=75439
4204
4205         Reviewed by Martin Robinson.
4206
4207         * GtkLauncher/main.c:
4208         (filenameToURL): We can use NULL in C.
4209         (isValidParameterType): Utility function to filter GParamTypes
4210         that can be edited.
4211         (getOptionEntriesFromWebKitWebSettings): Avoid handling
4212         construct-only properties and use the isValidParameterType
4213         function. Makes the code a bit cleaner.
4214
4215 2012-01-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4216
4217         [EFL] Remove whitespace/declaration style exception
4218         https://bugs.webkit.org/show_bug.cgi?id=75424
4219
4220         Reviewed by David Levin.
4221
4222         Remove *whitespace/eclaration* style rule. However, EWebLauncher and MiniBrowser are EFL simple
4223         application. So, they still need to use EFL coding style.
4224
4225         * Scripts/webkitpy/style/checker.py:
4226
4227 2012-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>
4228
4229         [GTK] Add a way to change web view settings in MiniBrowser
4230         https://bugs.webkit.org/show_bug.cgi?id=71568
4231
4232         Reviewed by Philippe Normand.
4233
4234         Add a preferences button to the toolbar that shows a dialog to
4235         change settings of the current web view. It uses a GtkTreeView
4236         with a custom cell renderer to support multiple types of values.
4237
4238         * MiniBrowser/gtk/BrowserCellRendererVariant.c: Added.
4239         (browserCellRendererVariantFinalize):
4240         (browserCellRendererVariantGetProperty):
4241         (browserCellRendererVariantSetModeForValue):
4242         (browserCellRendererVariantSetProperty):
4243         (browserCellRendererVariantGetRendererForValue):
4244         (browserCellRendererVariantCellRendererTextEdited):
4245         (browserCellRendererVariantCellRendererSpinEdited):
4246         (browserCellRendererVariantCellRendererActivate):
4247         (browserCellRendererVariantCellRendererRender):
4248         (browserCellRendererVariantCellRendererStartEditing):
4249         (browserCellRendererVariantCellRendererGetPreferredWidth):
4250         (browserCellRendererVariantCellRendererGetPreferredHeight):
4251         (browserCellRendererVariantCellRendererGetPreferredWidthForHeight):
4252         (browserCellRendererVariantCellRendererGetPreferredHeightForWidth):
4253         (browserCellRendererVariantCellRendererGetAlignedArea):
4254         (browser_cell_renderer_variant_init):
4255         (browser_cell_renderer_variant_class_init):
4256         (browser_cell_renderer_variant_new):
4257         * MiniBrowser/gtk/BrowserCellRendererVariant.h: Added.
4258         * MiniBrowser/gtk/BrowserSettingsDialog.c: Added.
4259         (cellRendererChanged):
4260         (browserSettingsDialogSetProperty):
4261         (browser_settings_dialog_init):
4262         (browserSettingsDialogConstructed):
4263         (browser_settings_dialog_class_init):
4264         (browser_settings_dialog_new):
4265         * MiniBrowser/gtk/BrowserSettingsDialog.h: Added.
4266         * MiniBrowser/gtk/BrowserWindow.c:
4267         (settingsCallback):
4268         (browser_window_init):
4269         * MiniBrowser/gtk/GNUmakefile.am:
4270         * MiniBrowser/gtk/browser-marshal.list: Added.
4271
4272 2012-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>
4273
4274         [GTK] Implement create/ready-to-show/close signals in MiniBrowser
4275         https://bugs.webkit.org/show_bug.cgi?id=74711
4276
4277         Reviewed by Philippe Normand.
4278
4279         * MiniBrowser/gtk/BrowserWindow.c:
4280         (webViewClose): Destroy the window.
4281         (webViewReadyToShow): Use WindowProperties of the new view to
4282         setup and show the window.
4283         (webViewCreate): Create a new view and add it to a browser window.
4284         (browser_window_init):
4285         (browserWindowConstructed): Connect to WebKitWebView::create signal.
4286
4287 2011-12-31  Dan Bernstein  <mitz@apple.com>
4288
4289         MiniBrowser sets the WKView’s frame incorrectly
4290         https://bugs.webkit.org/show_bug.cgi?id=75393
4291
4292         Reviewed by Anders Carlsson.
4293
4294         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Removed Make Launchable build phase,
4295         which is not needed since the binray is linked with the frameworks search path set to the
4296         built products directory.
4297         * MiniBrowser/mac/BrowserWindowController.m:
4298         (-[BrowserWindowController awakeFromNib]): Changed to set the WKView’s frame to its
4299         container’s bounds rather than its frame.
4300         * MiniBrowser/mac/make-launchable.sh: Removed.
4301
4302 2011-12-29  Dan Bernstein  <mitz@apple.com>
4303
4304         debug-safari --no-saved-state fails to start the debugger
4305         https://bugs.webkit.org/show_bug.cgi?id=75374
4306
4307         Reviewed by Sam Weinig.
4308
4309         * Scripts/webkitdirs.pm:
4310         (execMacWebKitAppForDebugging): Pass the --args option to gdb so that it passes arguments to
4311         the executable being debugged.
4312
4313 2011-12-29  Sam Weinig  <sam@webkit.org>
4314
4315         It should be easier to iterate a Vector backwards
4316         https://bugs.webkit.org/show_bug.cgi?id=75359
4317
4318         Reviewed by Anders Carlsson.
4319
4320         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4321         * TestWebKitAPI/TestWebKitAPI.gypi:
4322         * TestWebKitAPI/win/TestWebKitAPI.vcproj:
4323         Add new Vector test.
4324
4325         * TestWebKitAPI/Tests/Vector.cpp: Added.
4326         (TestWebKitAPI::TEST):
4327         Test Vector iterators, reverse_iterators and new reversed proxy.
4328
4329 2011-12-28  Dmitry Lomov &nb