[WebRTC] Add libwebrtc build infrastructure
[WebKit-https.git] / Tools / ChangeLog
1 2017-01-20  Youenn Fablet  <youenn@apple.com>
2
3         [WebRTC] Add libwebrtc build infrastructure
4         https://bugs.webkit.org/show_bug.cgi?id=167207
5
6         Reviewed by Alex Christensen.
7
8         Adding a script doing the libwebrtc project json to CMake file conversion.
9
10         * Scripts/generate-libwebrtc-cmake: Added.
11         * Scripts/webkitpy/libwebrtc/__init__.py: Added.
12         * Scripts/webkitpy/libwebrtc/generate_cmake.py: Added.
13
14 2017-01-20  Joseph Pecoraro  <pecoraro@apple.com>
15
16         Mini Browser: Show tooltip for Experimental Features
17         https://bugs.webkit.org/show_bug.cgi?id=167225
18
19         Reviewed by Alex Christensen.
20
21         * MiniBrowser/mac/SettingsController.m:
22         (-[SettingsController _populateMenu]):
23         Include the full details string as a tooltip.
24
25 2017-01-20  Per Arne Vollan  <pvollan@apple.com>
26
27         [Win] Test output results should not be written twice.
28         https://bugs.webkit.org/show_bug.cgi?id=167197
29
30         Reviewed by Brent Fulgham.
31
32         Prevent test output from being written twice by returning early from
33         the dump() function, if it already has been called.
34         This patch also adds a missing newline to a test output line. 
35         
36         * DumpRenderTree/win/DumpRenderTree.cpp:
37         (dump):
38
39 2017-01-20  Antoine Quint  <graouts@apple.com>
40
41         [Modern Media Controls] Turn modern media controls on by default
42         https://bugs.webkit.org/show_bug.cgi?id=165668
43
44         Reviewed by Dean Jackson.
45
46         Enabled modern media controls by default in test runners.
47
48         * DumpRenderTree/TestOptions.h:
49         * WebKitTestRunner/TestOptions.h:
50
51 2017-01-19  Chris Dumez  <cdumez@apple.com>
52
53         iterable<> should be enabled on WK1
54         https://bugs.webkit.org/show_bug.cgi?id=167221
55         <rdar://problem/30108531>
56
57         Reviewed by Youenn Fablet.
58
59         * DumpRenderTree/mac/DumpRenderTree.mm:
60         (resetWebPreferencesToConsistentValues):
61         * DumpRenderTree/win/DumpRenderTree.cpp:
62         (resetWebPreferencesToConsistentValues):
63         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
64         (WTR::InjectedBundle::beginTesting):
65         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
66         (WTR::TestRunner::setDOMIteratorEnabled): Deleted.
67         * WebKitTestRunner/InjectedBundle/TestRunner.h:
68
69 2017-01-19  Aakash Jain  <aakash_jain@apple.com>
70
71         Ensure status server logs go to log file
72         https://bugs.webkit.org/show_bug.cgi?id=167210
73
74         Reviewed by Alexey Proskuryakov.
75
76         * Scripts/webkitpy/common/net/statusserver.py:
77         (StatusServer.next_work_item): Change log level from debug to info in
78         order to facilitate deubgging issues.
79         (StatusServer.update_work_items): Same.
80
81 2017-01-19  Megan Gardner  <megan_gardner@apple.com>
82
83         Additional selection tests and interpolation fix
84         https://bugs.webkit.org/show_bug.cgi?id=167171
85
86         Reviewed by Simon Fraser.
87
88         We weren't adding the final event when interpolating event streams.
89
90         * WebKitTestRunner/ios/HIDEventGenerator.mm:
91         (-[HIDEventGenerator interpolatedEvents:]):
92
93 2017-01-19  Myles C. Maxfield  <mmaxfield@apple.com>
94
95         [Cocoa] Variation fonts are erroneously disabled on iOS
96         https://bugs.webkit.org/show_bug.cgi?id=167172
97
98         Reviewed by Simon Fraser.
99
100         OpenSource builders don't seem to understand sdk=embedded*.
101
102         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
103
104 2017-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
105
106         Unreviewed. Fix GTK+ unit tests failing since r210531.
107
108         Avoid using paths to files that don't actually exist.
109
110         * TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp:
111         (testWebKitConsoleMessageNetworkError):
112         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
113         (testContextMenuDefaultMenu):
114         * TestWebKitAPI/Tests/WebKit2Gtk/resources/silence.mpg: Added.
115         * TestWebKitAPI/Tests/WebKit2Gtk/resources/simple.json: Added.
116         * TestWebKitAPI/Tests/WebKit2Gtk/resources/tracks.ogg: Added.
117
118 2017-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
119
120         [GTK] Provide API to set proxy settings
121         https://bugs.webkit.org/show_bug.cgi?id=128674
122
123         Reviewed by Michael Catanzaro.
124
125         Add tests for new proxy settings API.
126
127         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
128         (serverCallback):
129         (ProxyTest::ProxyTest):
130         (ProxyTest::~ProxyTest):
131         (ProxyTest::loadURIAndGetMainResourceData):
132         (ProxyTest::proxyServerPortAsString):
133         (testWebContextProxySettings):
134         (beforeAll):
135
136 2017-01-19  Timothy Hatcher  <timothy@hatcher.name>
137
138         Add back my old email address so old commits will still match it.
139
140         * Scripts/webkitpy/common/config/contributors.json:
141
142 2017-01-19  Timothy Hatcher  <timothy@hatcher.name>
143
144         Remove my old email address from contributors.json and watchlist.
145
146         * Scripts/validate-committer-lists:
147         (CommitterListFromGit): Change the mapping to the correct email.
148         * Scripts/webkitpy/common/config/contributors.json:
149         * Scripts/webkitpy/common/config/watchlist:
150
151 2017-01-18  Ryan Haddad  <ryanhaddad@apple.com>
152
153         Unreviewed, rolling out r210848.
154
155         This change introduced media-related LayoutTest failures and
156         crashes on macOS.
157
158         Reverted changeset:
159
160         "[Modern Media Controls] Turn modern media controls on by
161         default"
162         https://bugs.webkit.org/show_bug.cgi?id=165668
163         http://trac.webkit.org/changeset/210848
164
165 2017-01-18  Andreas Kling  <akling@apple.com>
166
167         Document::securityOrigin() should return a reference.
168         <https://webkit.org/b/167124>
169
170         Reviewed by Sam Weinig.
171
172         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
173         (TestWebKitAPI::TEST_F):
174
175 2017-01-18  Per Arne Vollan  <pvollan@apple.com>
176
177         [Win] Clipboard tests are flaky.
178         https://bugs.webkit.org/show_bug.cgi?id=167088
179
180         Reviewed by Brent Fulgham.
181
182         Tests involving the clipboard are flaky when running with multiple DRTs, since the clipboard is global. 
183         We can fix this by assigning each DRT a separate window station (each window station has its own clipboard).
184
185         * DumpRenderTree/win/DumpRenderTree.cpp:
186         (main):
187
188 2017-01-18  Antoine Quint  <graouts@apple.com>
189
190         [Modern Media Controls] Turn modern media controls on by default
191         https://bugs.webkit.org/show_bug.cgi?id=165668
192
193         Reviewed by Dean Jackson.
194
195         Enabled modern media controls by default in test runners. 
196
197         * DumpRenderTree/TestOptions.h:
198         * WebKitTestRunner/TestOptions.h:
199
200 2017-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
201
202         Unreviewed, rolling out r210834
203         https://bugs.webkit.org/show_bug.cgi?id=165668
204
205         It introduced dozens of test timeouts.
206
207         Reverted changeset:
208         "[Modern Media Controls] Turn modern media controls on by default"
209         https://bugs.webkit.org/show_bug.cgi?id=165668
210         http://trac.webkit.org/changeset/210834
211
212 2017-01-17  Antoine Quint  <graouts@apple.com>
213
214         [Modern Media Controls] Turn modern media controls on by default
215         https://bugs.webkit.org/show_bug.cgi?id=165668
216
217         Reviewed by Dean Jackson.
218
219         Enabled modern media controls by default in test runners. 
220
221         * DumpRenderTree/TestOptions.h:
222         * WebKitTestRunner/TestOptions.h:
223
224 2017-01-17  Chris Dumez  <cdumez@apple.com>
225
226         Document title changed twice when setting document.title
227         https://bugs.webkit.org/show_bug.cgi?id=167065
228
229         Reviewed by Darin Adler.
230
231         Add WebKit2GTK API test that was written by Michael Catanzaro.
232
233         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
234         (testWebViewTitleChange):
235         (beforeAll):
236
237 2017-01-17  Joseph Pecoraro  <pecoraro@apple.com>
238
239         ENABLE(USER_TIMING) Not Defined for Apple Windows or OS X Ports
240         https://bugs.webkit.org/show_bug.cgi?id=116551
241         <rdar://problem/13949830>
242
243         Reviewed by Alex Christensen.
244
245         * Scripts/webkitperl/FeatureList.pm:
246         Remove stale RESOURCE_TIMING references which are now a runtime enabled feature
247         that is part of the existing WEB_TIMING feature.
248
249         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
250
251 2017-01-17  Jonathan Bedard  <jbedard@apple.com>
252
253         'webkit-patch post' no longer works with moved/copied files
254         https://bugs.webkit.org/show_bug.cgi?id=166914
255         <rdar://problem/29979707>
256
257         Reviewed by Daniel Bates.
258
259         SVN 1.9 has a bug where when a file has been moved or copied, the svn diff of the new
260         file outputs only the "Index:" line with an empty body.  This workaround
261         ignores such output from svn diff.  A issue has been filed with SVN, a link to the
262         public email list tracking this bug is below.
263         http://mail-archives.apache.org/mod_mbox/subversion-users/201701.mbox/%3cCF9BDE0A-7454-4405-8259-1120C6B76A03@apple.com%3e
264         
265
266         * Scripts/svn-create-patch:
267         (generateDiff): Ignore an "Index:" line with an empty body.
268
269 2017-01-16  Joseph Pecoraro  <pecoraro@apple.com>
270
271         Remove the REQUEST_ANIMATION_FRAME flag
272         https://bugs.webkit.org/show_bug.cgi?id=156980
273         <rdar://problem/25906849>
274
275         Reviewed by Simon Fraser.
276
277         * Scripts/webkitperl/FeatureList.pm:
278         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
279
280 2017-01-15  Sam Weinig  <sam@webkit.org>
281
282         Add the ability to use numbers in makeString()
283         https://bugs.webkit.org/show_bug.cgi?id=167087
284
285         Reviewed by Darin Adler.
286
287         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
288         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: Added.
289         Add tests for StringConcatenate, focusing on new numeric additions.
290
291 2017-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>
292
293         Unreviewed, remove stale comment.
294
295         This test was fixed by r163173.
296
297         * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
298
299 2017-01-14  Yusuke Suzuki  <utatane.tea@gmail.com>
300
301         Annotate large string tests with largeHeap
302         https://bugs.webkit.org/show_bug.cgi?id=167054
303
304         Reviewed by Filip Pizlo.
305
306         * Scripts/run-javascriptcore-tests:
307         * Scripts/run-jsc-stress-tests:
308
309 2017-01-14  Joseph Pecoraro  <pecoraro@apple.com>
310
311         Remove stale references to ENABLE_ES6_GENERATORS and ENABLE_PROMISES
312         https://bugs.webkit.org/show_bug.cgi?id=167043
313
314         Reviewed by Darin Adler.
315
316         * Scripts/webkitperl/FeatureList.pm:
317
318 2017-01-13  Joseph Pecoraro  <pecoraro@apple.com>
319
320         Remove ENABLE(DETAILS_ELEMENT) guards
321         https://bugs.webkit.org/show_bug.cgi?id=167042
322
323         Reviewed by Alex Christensen.
324
325         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
326
327 2017-01-13  Said Abou-Hallawa  <sabouhallawa@apple.com>
328
329         26 MotionMark performance tests failing
330         https://bugs.webkit.org/show_bug.cgi?id=166854
331
332         Reviewed by Ryosuke Niwa.
333
334         Unrelated change. This is the last place that we need to rename Animometer
335         to MotionMark.
336
337         * Scripts/webkitpy/common/config/watchlist:
338
339 2017-01-13  Yusuke Suzuki  <utatane.tea@gmail.com>
340
341         run-jsc-benchmarks' echo should have -e option
342         https://bugs.webkit.org/show_bug.cgi?id=167009
343
344         Reviewed by Sam Weinig.
345
346         echo requires `-e` option to use escape sequence.
347         Without it, in some environment (in my Fedora 25), the escape sequence is not
348         recognized and just dumped as `\c` etc.
349
350         * Scripts/run-jsc-benchmarks:
351
352 2017-01-12  Chris Dumez  <cdumez@apple.com>
353
354         Add KEYBOARD_KEY_ATTRIBUTE / KEYBOARD_CODE_ATTRIBUTE to FeatureDefines.xcconfig
355         https://bugs.webkit.org/show_bug.cgi?id=166995
356
357         Reviewed by Jer Noble.
358
359         Add KEYBOARD_KEY_ATTRIBUTE / KEYBOARD_CODE_ATTRIBUTE to FeatureDefines.xcconfig
360         as some people are having trouble building without it.
361
362         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
363
364 2017-01-12  Sam Weinig  <sam@webkit.org>
365
366         Add the ability to filter the set of bindings tests you want to run
367         https://bugs.webkit.org/show_bug.cgi?id=166977
368
369         Reviewed by Tim Horton.
370
371         Allows doing things like:
372             run-bindings-tests TestObj* TestCEReactions*
373         
374         to run only those tests that match the patterns.
375
376         * Scripts/run-bindings-tests:
377         (main):
378         Switch to using optparse and pass the remaining args as the filters.
379
380         * Scripts/webkitpy/bindings/main.py:
381         (BindingsTests.__init__):
382         Store the pattens.
383
384         (BindingsTests.test_matches_patterns):
385         Add helper predicate to determine if a test should be run. When no
386         patterns are present, all tests should run.
387
388         (BindingsTests.run_tests):
389         Filter tests using the passed in patterns.
390
391 2017-01-12  Per Arne Vollan  <pvollan@apple.com>
392
393         Followup fix after r210503.
394         https://bugs.webkit.org/show_bug.cgi?id=166887
395
396         Reviewed by Alex Christensen.
397
398         After <http://trac.webkit.org/changeset/210503>, test results are written to a
399         duplicated file handle on Windows. This patch fixes the remaining call sites.
400
401         * DumpRenderTree/PixelDumpSupport.cpp:
402         * DumpRenderTree/TestRunner.cpp:
403         (TestRunner::waitToDumpWatchdogTimerFired):
404         * DumpRenderTree/TestRunner.h:
405         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
406         * DumpRenderTree/win/DumpRenderTree.cpp:
407         * DumpRenderTree/win/DumpRenderTreeWin.h:
408         * DumpRenderTree/win/TestRunnerWin.cpp:
409         (TestRunner::setSpellCheckerLoggingEnabled):
410
411 2017-01-11  Megan Gardner  <megan_gardner@apple.com>
412
413         Add committer status for Megan
414         https://bugs.webkit.org/show_bug.cgi?id=166954
415
416         Reviewed by Tim Horton.
417
418         Add committer status for Megan Gardner
419
420         * Scripts/webkitpy/common/config/contributors.json:
421
422 2017-01-11  Brent Fulgham  <bfulgham@apple.com>
423
424         Unreviewed test fix after r210599.
425
426         * TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:
427         (TestWebKitAPI::TEST): Remove debugging code that was causing a timeout.
428
429 2017-01-11  Brent Fulgham  <bfulgham@apple.com>
430
431         Unreviewed build fix after r210599.
432
433         Add missing files.
434
435         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.html: Added.
436         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm: Added.
437
438 2017-01-11  Brent Fulgham  <bfulgham@apple.com>
439
440         File scheme should not allow access of a resource on a different volume.
441         https://bugs.webkit.org/show_bug.cgi?id=158552
442         <rdar://problem/15307582>
443
444         Reviewed by Alex Christensen.
445
446         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
447         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.html: Added.
448         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm: Added.
449
450 2017-01-11  Ryan Haddad  <ryanhaddad@apple.com>
451
452         Unreviewed, rolling out r210571.
453
454         This change broke the 32-bit macOS build and caused LayoutTest
455         failures.
456
457         Reverted changeset:
458
459         "File scheme should not allow access of a resource on a
460         different volume."
461         https://bugs.webkit.org/show_bug.cgi?id=158552
462         http://trac.webkit.org/changeset/210571
463
464 2017-01-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
465
466         [GTK] install-dependencies script misses gdb
467         https://bugs.webkit.org/show_bug.cgi?id=166917
468
469         Reviewed by Michael Catanzaro.
470
471         gdb is needed for generating the crash logs.
472
473         * gtk/install-dependencies:
474
475 2017-01-10  Michael Catanzaro  <mcatanzaro@igalia.com>
476
477         [GTK] No way for applications to set notification permissions without waiting for permission request
478         https://bugs.webkit.org/show_bug.cgi?id=163366
479
480         Reviewed by Carlos Garcia Campos.
481
482         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
483         (testWebViewNotification):
484         (setInitialNotificationPermissionsAllowedCallback):
485         (setInitialNotificationPermissionsDisallowedCallback):
486         (testWebViewNotificationInitialPermissionAllowed):
487         (testWebViewNotificationInitialPermissionDisallowed):
488         (beforeAll):
489         * TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
490         * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
491         (WebViewTest::WebViewTest):
492         (WebViewTest::initializeWebView):
493         * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
494
495 2017-01-10  Tim Horton  <timothy_horton@apple.com>
496
497         MobileMiniBrowser tests don't work by default
498         https://bugs.webkit.org/show_bug.cgi?id=166910
499
500         Reviewed by Alex Christensen.
501
502         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme: Added.
503         Add a shared scheme; the Makefile depends on the MobileMiniBrowserUITests scheme existing, at the very least.
504
505 2017-01-10  Brent Fulgham  <bfulgham@apple.com>
506
507         File scheme should not allow access of a resource on a different volume.
508         https://bugs.webkit.org/show_bug.cgi?id=158552
509         <rdar://problem/15307582>
510
511         Reviewed by Alex Christensen.
512
513         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
514         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.html: Added.
515         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm: Added.
516
517 2017-01-10  Mark Lam  <mark.lam@apple.com>
518
519         Reverting run-jsc-stress-tests' $buildType to use string values.
520         https://bugs.webkit.org/show_bug.cgi?id=166912
521
522         Rubber stamped by Filip Pizlo.
523
524         This is so that we can test for it in the tests e.g.
525         //@ if $buildType == "debug" then runDefault("--maxSingleAllocationSize=1048576") else skip end
526
527         * Scripts/run-jsc-stress-tests:
528
529 2017-01-10  Ryosuke Niwa  <rniwa@webkit.org>
530
531         Temporarily add back the file removed in r210463 to unbreak internal bots.
532
533         * Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch: Copied from Tools/Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch.
534
535 2017-01-10  Jonathan Bedard  <jbedard@apple.com>
536
537         svn-apply failed to apply a patch (deleting file with svn property)
538         https://bugs.webkit.org/show_bug.cgi?id=165953
539
540         Reviewed by Daniel Bates.
541
542         * Scripts/VCSUtils.pm:
543         (parseSvnPropertyValue): The beginning of a diff will cause an early exit in the case of no empty newlines.
544         * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: Add tests without break between diffs for properties.
545
546 2017-01-10  Ryan Haddad  <ryanhaddad@apple.com>
547
548         Update flakiness dashboard configuration.
549         https://bugs.webkit.org/show_bug.cgi?id=166869
550
551         Reviewed by Alexey Proskuryakov.
552
553         * TestResultServer/static-dashboards/builders.jsonp:
554         * TestResultServer/static-dashboards/flakiness_dashboard.js:
555
556 2017-01-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
557
558         [GTK] Stop honoring the environment variable USE_NATIVE_XDISPLAY
559         https://bugs.webkit.org/show_bug.cgi?id=165232
560
561         Unreviewed follow-up patch after r210539 and r210523.
562
563         Instead of using that environment variable, the argument
564         --display-server=xorg should be passed now.
565
566         The GTK+ performance bot was the only bot using this, and is
567         already passing --display-server=xorg after r210539.
568
569         * Scripts/webkitpy/port/gtk.py:
570         (GtkPort._driver_class):
571
572 2017-01-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
573
574         [GTK] Add a new release test bot for Wayland and pass --display-server=xorg to the GTK Perf bot.
575         https://bugs.webkit.org/show_bug.cgi?id=166872
576
577         Reviewed by Michael Catanzaro.
578
579         Add the new wayland release test bot as a test-only bot. It will download the built product from the release build-only bot.
580         Define the required "--display-server=driver" in the bot additionalArguments config entry.
581         Implement support for honoring additionalArguments on the RunGtkAPITests and RunAndUploadPerfTests steps.
582         The step RunWebKitTests already has support for it.
583
584         * BuildSlaveSupport/build.webkit.org-config/config.json:
585         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
586         (RunGtkAPITests.start):
587         (RunAndUploadPerfTests.start):
588         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
589
590 2017-01-09  Ryan Haddad  <ryanhaddad@apple.com>
591
592         Unreviewed, rolling out r210531.
593
594         This change broke the 32-bit macOS build and caused LayoutTest
595         failures.
596
597         Reverted changeset:
598
599         "File scheme should not allow access of a resource on a
600         different volume."
601         https://bugs.webkit.org/show_bug.cgi?id=158552
602         http://trac.webkit.org/changeset/210531
603
604 2017-01-09  Brent Fulgham  <bfulgham@apple.com>
605
606         File scheme should not allow access of a resource on a different volume.
607         https://bugs.webkit.org/show_bug.cgi?id=158552
608         <rdar://problem/15307582>
609
610         Reviewed by Alex Christensen.
611
612         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
613         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.html: Added.
614         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm: Added.
615
616 2017-01-09  Carlos Alberto Lopez Perez  <clopez@igalia.com>
617
618         [GTK][Wayland] Allow running the layout tests under a native Wayland environment.
619         https://bugs.webkit.org/show_bug.cgi?id=165232
620
621         Reviewed by Michael Catanzaro.
622
623         Add a new WaylandDriver to run the tests in the user current wayland session.
624
625         Also merge all the configuration options for selecting the display server inside one
626         switch --display-server=xvfb/xorg/wayland/weston (defaulting to xvfb).
627
628         This switch is supported on the scripts: run-gtk-tests, run-perf-tests and run-webkit-tests.
629
630         * Scripts/run-gtk-tests: Add missing logging.basicConfig() initialization for the error logger.
631         (TestRunner._create_driver):
632         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
633         (parse_args):
634         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
635         (PerfTestsRunner._parse_args):
636         * Scripts/webkitpy/port/gtk.py:
637         (GtkPort.__init__):
638         (GtkPort._driver_class):
639         (GtkPort._search_paths):
640         * Scripts/webkitpy/port/waylanddriver.py: Added.
641         (WaylandDriver):
642         (WaylandDriver.check_driver):
643         (WaylandDriver._setup_environ_for_test):
644         (WaylandDriver._start):
645
646 2017-01-09  Andy Estes  <aestes@apple.com>
647
648         [QuickLook] Add a layout test for webkit.org/b/135651
649         https://bugs.webkit.org/show_bug.cgi?id=166855
650
651         Reviewed by Andreas Kling.
652
653         * DumpRenderTree/mac/FrameLoadDelegate.mm:
654         (-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]): Added output for
655         errors with code WebKitErrorCannotShowURL.
656         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
657         (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): Made the error output
658         not specific to WebKit2 error codes.
659
660 2017-01-09  Antoine Quint  <graouts@apple.com>
661
662         Support webkit-test-runner key-value pairs in http tests in DumpRenderTree
663         https://bugs.webkit.org/show_bug.cgi?id=166837
664
665         Reviewed by Alex Christensen.
666
667         We now correctly handle the --absolutePath argument in DumpRenderTree and use
668         the provided value when trying to determine the path to the test file. Failing
669         that, we use the computed URL or the raw path provided to cover all cases.
670         
671         This was tested in the context of https://bugs.webkit.org/show_bug.cgi?id=165668
672         by applying this patch and seeing the number test failures dramatically reduced
673         with WK1 due to the option to turn modern media controls off for older media controls
674         tests.
675
676         * DumpRenderTree/DumpRenderTree.h:
677         * DumpRenderTree/DumpRenderTreeCommon.cpp:
678         (parseInputLine):
679         * DumpRenderTree/TestOptions.h:
680         * DumpRenderTree/TestOptions.mm:
681         (TestOptions::TestOptions):
682         * DumpRenderTree/mac/DumpRenderTree.mm:
683         (runTest):
684
685 2017-01-09  Milan Crha  <mcrha@redhat.com>
686
687         prepare-ChangeLog: Correct help string for --style option
688         https://bugs.webkit.org/show_bug.cgi?id=166725
689
690         Reviewed by Alexey Proskuryakov.
691
692         * Scripts/prepare-ChangeLog:
693         (main):
694
695 2017-01-09  Lucas Forschler  <lforschler@apple.com>
696
697         https://bugs.webkit.org/show_bug.cgi?id=166839
698         Add php7 support for macOS.
699         Mirror the debian logic to look for a php7 module on disk, and return the appropriate apache config file.
700
701         Reviewed by Alexey Proskuryakov.
702
703         * Scripts/webkitpy/port/base.py:
704         (Port._is_darwin_php_version_7):
705         (Port._debian_php_version):
706         (Port):
707         (Port._darwin_php_version):
708         (Port._apache_config_file_name_for_platform):
709
710 2017-01-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
711
712         [GTK] Should support key and code properties on keyboard events
713         https://bugs.webkit.org/show_bug.cgi?id=166759
714
715         Reviewed by Carlos Garcia Campos.
716
717         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
718         (WTR::getGDKKeySymForKeyRef): add missing modifier keys which were being reported as 'l' and 'r' only
719         on tests.
720
721 2017-01-06  Per Arne Vollan  <pvollan@apple.com>
722
723         [Win] Some tests are flaky because certain DLLs are writing to stdout.
724         https://bugs.webkit.org/show_bug.cgi?id=166760
725
726         Reviewed by Darin Adler.
727
728         Some tests are flaky because certain DLLs are writing to stdout, giving incorrect test results.
729         We can work around that by duplicating and redirecting stdout.
730
731         * DumpRenderTree/PixelDumpSupport.cpp:
732         (dumpWebViewAsPixelsAndCompareWithExpected):
733         (printPNG):
734         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
735         (logEventProc):
736         * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
737         (DRTDesktopNotificationPresenter::showDesktopNotification):
738         (DRTDesktopNotificationPresenter::cancelDesktopNotification):
739         (DRTDesktopNotificationPresenter::requestNotificationPermission):
740         * DumpRenderTree/win/DumpRenderTree.cpp:
741         (dumpFrameScrollPosition):
742         (dumpHistoryItem):
743         (dumpBackForwardList):
744         (dump):
745         (runTest):
746         (main):
747         * DumpRenderTree/win/DumpRenderTreeWin.h:
748         * DumpRenderTree/win/EditingDelegate.cpp:
749         (EditingDelegate::shouldBeginEditingInDOMRange):
750         (EditingDelegate::shouldEndEditingInDOMRange):
751         (EditingDelegate::shouldInsertNode):
752         (EditingDelegate::shouldInsertText):
753         (EditingDelegate::shouldDeleteDOMRange):
754         (EditingDelegate::shouldChangeSelectedDOMRange):
755         (EditingDelegate::shouldApplyStyle):
756         (EditingDelegate::shouldChangeTypingStyle):
757         (EditingDelegate::doPlatformCommand):
758         (EditingDelegate::webViewDidBeginEditing):
759         (EditingDelegate::webViewDidChange):
760         (EditingDelegate::webViewDidEndEditing):
761         (EditingDelegate::webViewDidChangeTypingStyle):
762         (EditingDelegate::webViewDidChangeSelection):
763         * DumpRenderTree/win/FrameLoadDelegate.cpp:
764         (FrameLoadDelegate::didStartProvisionalLoadForFrame):
765         (FrameLoadDelegate::didReceiveServerRedirectForProvisionalLoadForFrame):
766         (FrameLoadDelegate::didChangeLocationWithinPageForFrame):
767         (FrameLoadDelegate::didFailProvisionalLoadWithError):
768         (FrameLoadDelegate::didCommitLoadForFrame):
769         (FrameLoadDelegate::didReceiveTitle):
770         (FrameLoadDelegate::didFinishLoadForFrame):
771         (FrameLoadDelegate::didFailLoadWithError):
772         (FrameLoadDelegate::willPerformClientRedirectToURL):
773         (FrameLoadDelegate::didCancelClientRedirectForFrame):
774         (FrameLoadDelegate::windowScriptObjectAvailable):
775         (FrameLoadDelegate::didFinishDocumentLoadForFrame):
776         (FrameLoadDelegate::didHandleOnloadEventsForFrame):
777         (FrameLoadDelegate::didDisplayInsecureContent):
778         (FrameLoadDelegate::didRunInsecureContent):
779         (FrameLoadDelegate::webViewProgressFinishedNotification):
780         * DumpRenderTree/win/HistoryDelegate.cpp:
781         (HistoryDelegate::didNavigateWithNavigationData):
782         (HistoryDelegate::didPerformClientRedirectFromURL):
783         (HistoryDelegate::didPerformServerRedirectFromURL):
784         (HistoryDelegate::updateHistoryTitle):
785         (HistoryDelegate::populateVisitedLinksForWebView):
786         * DumpRenderTree/win/PolicyDelegate.cpp:
787         (PolicyDelegate::decidePolicyForNavigationAction):
788         (PolicyDelegate::unableToImplementPolicyWithError):
789         * DumpRenderTree/win/ResourceLoadDelegate.cpp:
790         (ResourceLoadDelegate::willSendRequest):
791         (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
792         (ResourceLoadDelegate::didReceiveResponse):
793         (ResourceLoadDelegate::didFinishLoadingFromDataSource):
794         (ResourceLoadDelegate::didFailLoadingWithError):
795         * DumpRenderTree/win/TestRunnerWin.cpp:
796         (TestRunner::addDisallowedURL):
797         (TestRunner::originsWithApplicationCache):
798         (TestRunner::setStorageDatabaseIdleInterval):
799         (TestRunner::closeIdleLocalStorageDatabases):
800         (TestRunner::copyDecodedHostName):
801         (TestRunner::copyEncodedHostName):
802         (TestRunner::numberOfPendingGeolocationPermissionRequests):
803         (TestRunner::isGeolocationProviderActive):
804         (TestRunner::pathToLocalResource):
805         (TestRunner::setMockDeviceOrientation):
806         (TestRunner::setMockGeolocationPosition):
807         (TestRunner::setMockGeolocationPositionUnavailableError):
808         (TestRunner::setSpatialNavigationEnabled):
809         (TestRunner::setAutomaticLinkDetectionEnabled):
810         (TestRunner::isCommandEnabled):
811         (TestRunner::authenticateSession):
812         (TestRunner::addChromeInputField):
813         (TestRunner::removeChromeInputField):
814         (TestRunner::focusWebView):
815         (TestRunner::grantWebNotificationPermission):
816         (TestRunner::denyWebNotificationPermission):
817         (TestRunner::removeAllWebNotificationPermissions):
818         (TestRunner::simulateWebNotificationClick):
819         (TestRunner::imageCountInGeneralPasteboard):
820         * DumpRenderTree/win/UIDelegate.cpp:
821         (UIDelegate::runJavaScriptAlertPanelWithMessage):
822         (UIDelegate::runJavaScriptConfirmPanelWithMessage):
823         (UIDelegate::runJavaScriptTextInputPanelWithPrompt):
824         (UIDelegate::runBeforeUnloadConfirmPanelWithMessage):
825         (UIDelegate::webViewAddMessageToConsole):
826         (UIDelegate::exceededDatabaseQuota):
827         (UIDelegate::setStatusText):
828         (UIDelegate::didPressMissingPluginButton):
829
830 2017-01-07  Tim Horton  <timothy_horton@apple.com>
831
832         Add a setting to create editable MiniBrowser windows by default
833         https://bugs.webkit.org/show_bug.cgi?id=166806
834
835         Reviewed by Beth Dakin.
836
837         * MiniBrowser/mac/AppDelegate.m:
838         (-[BrowserAppDelegate createBrowserWindowController:]):
839         (-[BrowserAppDelegate applicationDidFinishLaunching:]):
840         (-[BrowserAppDelegate _updateNewWindowKeyEquivalents]):
841         * MiniBrowser/mac/SettingsController.h:
842         * MiniBrowser/mac/SettingsController.m:
843         (-[SettingsController _populateMenu]):
844         (-[SettingsController validateMenuItem:]):
845         (-[SettingsController toggleCreateEditorByDefault:]):
846         (-[SettingsController createEditorByDefault]):
847         Add a setting and update the key equivalents accordingly.
848         Also make sure to make the right kind of window on launch.
849
850 2017-01-07  Tim Horton  <timothy_horton@apple.com>
851
852         Fix the 32-bit build.
853
854         * MiniBrowser/mac/BrowserWindowController.h:
855         * MiniBrowser/mac/BrowserWindowController.m:
856
857 2017-01-07  Tim Horton  <timothy_horton@apple.com>
858
859         Fix the 32-bit build.
860
861         * MiniBrowser/mac/BrowserWindowController.m:
862
863 2017-01-07  Tim Horton  <timothy_horton@apple.com>
864
865         Make it possible to drop HTML files on the MiniBrowser icon
866         https://bugs.webkit.org/show_bug.cgi?id=166802
867
868         Reviewed by Simon Fraser.
869
870         * MiniBrowser/mac/AppDelegate.m:
871         (-[BrowserAppDelegate application:openFile:]):
872         * MiniBrowser/mac/Info.plist:
873         If you're using an editable window, the usual trick of dropping on the
874         window doesn't work anymore (it makes an <attachment> instead).
875
876 2017-01-07  Tim Horton  <timothy_horton@apple.com>
877
878         MiniBrowser window gets smaller each time it is instantiated
879         https://bugs.webkit.org/show_bug.cgi?id=166807
880
881         Reviewed by Andy Estes.
882
883         * MiniBrowser/mac/BrowserWindowController.m:
884         (-[BrowserWindowController windowDidLoad]):
885         * MiniBrowser/mac/BrowserWindow.xib:
886         Turn on full-window content view support with IB, instead of waiting
887         until after the views have been loaded. This seems to resolve the
888         longstanding ever-shrinking-window problem.
889
890 2017-01-07  Tim Horton  <timothy_horton@apple.com>
891
892         Add indent/outdent items to MiniBrowser's new format menu
893         https://bugs.webkit.org/show_bug.cgi?id=166805
894
895         Reviewed by Dan Bernstein.
896
897         * MiniBrowser/mac/MainMenu.xib:
898
899 2017-01-07  Tim Horton  <timothy_horton@apple.com>
900
901         Add a stock Format menu to MiniBrowser
902         https://bugs.webkit.org/show_bug.cgi?id=166804
903
904         Reviewed by Andy Estes.
905
906         * MiniBrowser/mac/MainMenu.xib:
907         Many of the features automatically work with editable web views.
908         However, this seems to expose a bug where none of the font-related features
909         (Cmd-B, for example) work until the first time the font panel is shown,
910         per process, which will need to be investigated separately.
911
912 2017-01-07  Tim Horton  <timothy_horton@apple.com>
913
914         Remove unused applicationWillTerminate methods from MiniBrowser
915         https://bugs.webkit.org/show_bug.cgi?id=166803
916
917         Reviewed by Andy Estes.
918
919         * MiniBrowser/mac/AppDelegate.m:
920         (-[BrowserAppDelegate applicationWillTerminate:]): Deleted.
921         * MiniBrowser/mac/BrowserWindowController.h:
922         * MiniBrowser/mac/BrowserWindowController.m:
923         (-[BrowserWindowController applicationTerminating]): Deleted.
924         * MiniBrowser/mac/WK1BrowserWindowController.m:
925         (-[WK1BrowserWindowController applicationTerminating]): Deleted.
926         * MiniBrowser/mac/WK2BrowserWindowController.m:
927         (-[WK2BrowserWindowController applicationTerminating]): Deleted.
928
929 2017-01-07  Tim Horton  <timothy_horton@apple.com>
930
931         Add the ability to create empty contentEditable windows in MiniBrowser
932         https://bugs.webkit.org/show_bug.cgi?id=166801
933
934         Reviewed by Wenson Hsieh.
935
936         * MiniBrowser/mac/AppDelegate.h:
937         * MiniBrowser/mac/AppDelegate.m:
938         (-[BrowserAppDelegate createBrowserWindowController:]):
939         (-[BrowserAppDelegate newWindow:]):
940         (-[BrowserAppDelegate newEditorWindow:]):
941         (-[BrowserAppDelegate openDocument:]):
942         (-[BrowserAppDelegate _updateNewWindowKeyEquivalents]):
943         * MiniBrowser/mac/BrowserWindowController.h:
944         * MiniBrowser/mac/BrowserWindowController.m:
945         (-[BrowserWindowController loadHTMLString:]):
946         (-[BrowserWindowController toggleEditable:]):
947         * MiniBrowser/mac/MainMenu.xib:
948         * MiniBrowser/mac/WK1BrowserWindowController.m:
949         (-[WK1BrowserWindowController awakeFromNib]):
950         (-[WK1BrowserWindowController loadHTMLString:]):
951         (-[WK1BrowserWindowController validateMenuItem:]):
952         (-[WK1BrowserWindowController setEditable:]):
953         (-[WK1BrowserWindowController updateTitle:]):
954         * MiniBrowser/mac/WK2BrowserWindowController.m:
955         (-[WK2BrowserWindowController awakeFromNib]):
956         (-[WK2BrowserWindowController validateMenuItem:]):
957         (-[WK2BrowserWindowController setEditable:]):
958         (-[WK2BrowserWindowController updateTitle:]):
959         (-[WK2BrowserWindowController loadHTMLString:]):
960         Merge more functionality from WebEditingTester.
961         Add two menu items for creating empty editable WebKit1/2 windows.
962         Add a menu item to the Edit menu to toggle editability on any window.
963
964 2017-01-07  Tim Horton  <timothy_horton@apple.com>
965
966         Implement find-in-page in MiniBrowser
967         https://bugs.webkit.org/show_bug.cgi?id=166799
968
969         Reviewed by Andy Estes.
970
971         * MiniBrowser/mac/BrowserWindow.xib:
972         * MiniBrowser/mac/BrowserWindowController.h:
973         * MiniBrowser/mac/BrowserWindowController.m:
974         (-[BrowserWindowController find:]): Deleted.
975         * MiniBrowser/mac/MainMenu.xib:
976         * MiniBrowser/mac/WK1BrowserWindowController.m:
977         (-[WK1BrowserWindowController toggleShrinkToFit:]):
978         (-[WK1BrowserWindowController find:]): Deleted.
979         * MiniBrowser/mac/WK2BrowserWindowController.m:
980         (-[WK2BrowserWindowController awakeFromNib]):
981         (-[WK2BrowserWindowController dealloc]):
982         (-[WK2BrowserWindowController validateMenuItem:]):
983         (-[WK2BrowserWindowController performTextFinderAction:]):
984         (-[WK2BrowserWindowController findBarView]):
985         (-[WK2BrowserWindowController setFindBarView:]):
986         (-[WK2BrowserWindowController isFindBarVisible]):
987         (-[WK2BrowserWindowController setFindBarVisible:]):
988         (-[WK2BrowserWindowController contentView]):
989         (-[WK2BrowserWindowController findBarViewDidChangeHeight]):
990         (-[WK2BrowserWindowController performFindPanelAction:]): Deleted.
991         (-[WK2BrowserWindowController find:]): Deleted.
992         Implement find-in-page using WKWebView's conformance to the NSTextFinderClient
993         protocol. At first glance, it's pretty broken, but vaguely works.
994
995 2017-01-07  Tim Horton  <timothy_horton@apple.com>
996
997         Share the implementation of MiniBrowser view hiding functionality
998         https://bugs.webkit.org/show_bug.cgi?id=166800
999
1000         Reviewed by Andy Estes.
1001
1002         * MiniBrowser/mac/BrowserWindowController.m:
1003         (-[BrowserWindowController showHideWebView:]):
1004         (-[BrowserWindowController removeReinsertWebView:]):
1005         * MiniBrowser/mac/WK1BrowserWindowController.m:
1006         (-[WK1BrowserWindowController showHideWebView:]): Deleted.
1007         (-[WK1BrowserWindowController removeReinsertWebView:]): Deleted.
1008         * MiniBrowser/mac/WK2BrowserWindowController.m:
1009         (-[WK2BrowserWindowController showHideWebView:]): Deleted.
1010         (-[WK2BrowserWindowController removeReinsertWebView:]): Deleted.
1011         Move the implementation of these two things to the shared superclass,
1012         since they don't depend on WebKit-specific things.
1013         Also, there was no reason to retain the (WK)WebView while it was unparented,
1014         as the BrowserWindowController maintains a reference the entire time.
1015
1016 2017-01-06  Andy Estes  <aestes@apple.com>
1017
1018         [Cocoa] Consolidate duplicate copies of WebArchiveDumpSupport in DRT and WKTR into WebCoreTestSupport
1019         https://bugs.webkit.org/show_bug.cgi?id=166789
1020
1021         Reviewed by Alex Christensen.
1022
1023         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
1024         * DumpRenderTree/PlatformMac.cmake:
1025         * DumpRenderTree/cf/WebArchiveDumpSupport.cpp: Removed.
1026         * DumpRenderTree/cf/WebArchiveDumpSupport.h: Removed.
1027         * DumpRenderTree/mac/DumpRenderTree.mm:
1028         Called WebCoreTestSupport::createXMLStringFromWebArchiveData() instead of
1029         createXMLStringFromWebArchiveData().
1030         * DumpRenderTree/mac/WebArchiveDumpSupportMac.mm: Removed.
1031         * WebKitTestRunner/Configurations/Base.xcconfig:
1032         Added $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport to HEADER_SEARCH_PATHS.
1033         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1034         (WTR::InjectedBundlePage::dumpDOMAsWebArchive):
1035         Called WebCoreTestSupport::createXMLStringFromWebArchiveData() instead of
1036         createXMLStringFromWebArchiveData().
1037         * WebKitTestRunner/InjectedBundle/cocoa/WebArchiveDumpSupportCocoa.mm: Removed.
1038         * WebKitTestRunner/PlatformMac.cmake:
1039         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
1040         * WebKitTestRunner/cf/WebArchiveDumpSupport.h: Removed.
1041
1042 2017-01-06  Tim Horton  <timothy_horton@apple.com>
1043
1044         Minor cleanups to IndentOutdentCommand and related code
1045         https://bugs.webkit.org/show_bug.cgi?id=166791
1046
1047         Reviewed by Simon Fraser.
1048
1049         * WebEditingTester/EditingOperations.m:
1050         (editingOperations):
1051         Add the outdent operation to WebEditingTester.
1052
1053 2017-01-06  Said Abou-Hallawa  <sabouhallawa@apple.com>
1054
1055         Create a plan and a patch files for MotionMark and delete the Animometer's ones
1056         https://bugs.webkit.org/show_bug.cgi?id=166785
1057
1058         Reviewed by Ryosuke Niwa.
1059
1060         * Scripts/webkitpy/benchmark_runner/data/patches/MotionMark.patch: Renamed from Tools/Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch.
1061         * Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan: Renamed from Tools/Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan.
1062
1063 2017-01-06  Antoine Quint  <graouts@apple.com>
1064
1065         Support webkit-test-runner key-value pairs in http tests
1066         https://bugs.webkit.org/show_bug.cgi?id=149812
1067
1068         Reviewed by Alex Christensen.
1069
1070         We pass the absolute path for a test through to WKTR so that we can parse
1071         tests that are running as URLs for webkit-test-runner options.
1072
1073         * DumpRenderTree/DumpRenderTreeCommon.cpp:
1074         (parseInputLine):
1075
1076         Explicitly skip the --absolute-path option in DRT or else we'd crash.
1077
1078         * Scripts/webkitpy/port/driver.py:
1079         (Driver._command_from_driver_input):
1080
1081         Pass the absolute path to the file through the CLI.
1082
1083         * WebKitTestRunner/TestController.cpp:
1084         (WTR::updateTestOptionsFromTestHeader):
1085         (WTR::TestController::testOptionsForTest):
1086         (WTR::parseInputLine):
1087         (WTR::TestController::runTest):
1088         * WebKitTestRunner/TestController.h:
1089
1090 2017-01-06  Tim Horton  <timothy_horton@apple.com>
1091
1092         Warning about unconnectable outlets when opening a MiniBrowser window
1093         https://bugs.webkit.org/show_bug.cgi?id=166756
1094
1095         Reviewed by Dan Bernstein.
1096
1097         * MiniBrowser/mac/BrowserWindow.xib:
1098         When launching MiniBrowser, it says:
1099         Failed to connect (Share) outlet from (WK1BrowserWindowController) to
1100             (MBToolbarItem): missing setter or instance variable
1101         Failed to connect (shareButton) outlet from (WK1BrowserWindowController) to
1102             (NSButtonCell): missing setter or instance variable.
1103
1104         It looks like someone added the connection from the share button
1105         to the BrowserWindowController three times; only one of the connections
1106         is valid. Remove the other two.
1107
1108 2017-01-05  Keith Rollin  <krollin@apple.com>
1109
1110         Add WebCore::URL::protocolHostAndPort
1111         https://bugs.webkit.org/show_bug.cgi?id=166426
1112
1113         Reviewed by Alex Christensen.
1114
1115         Add test for protocolHostAndPort.
1116
1117         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1118         (TestWebKitAPI::TEST_F):
1119
1120 2017-01-05  Per Arne Vollan  <pvollan@apple.com>
1121
1122         [Win] Archive test result is failing.
1123         https://bugs.webkit.org/show_bug.cgi?id=166720
1124
1125         Reviewed by Alex Christensen.
1126
1127         Deleting the layout test result folder is sometimes failing
1128         on Windows. This is not a critical error.
1129
1130         * BuildSlaveSupport/test-result-archive:
1131         (archiveTestResults):
1132
1133 2017-01-04  Tomas Popela  <tpopela@redhat.com>
1134
1135         [GTK] Minibrowser: Add printing support
1136         https://bugs.webkit.org/show_bug.cgi?id=165298
1137
1138         Open a print dialog when the Ctrl + P shortcut is pressed. If there is
1139         an error during the print, it's printed on the console.
1140
1141         Reviewed by Michael Catanzaro.
1142
1143         * MiniBrowser/gtk/BrowserWindow.c:
1144         (webKitPrintOperationFailedCallback):
1145         (printPage):
1146         (browser_window_init):
1147
1148 2017-01-04  Manuel Rego Casasnovas  <rego@igalia.com>
1149
1150         [css-grid] Fix crash clamping grid lines
1151         https://bugs.webkit.org/show_bug.cgi?id=166637
1152
1153         Reviewed by Darin Adler.
1154
1155         Creates new unit test to verify that the maximum tracks limit
1156         is used in GridPosition too.
1157
1158         * TestWebKitAPI/PlatformEfl.cmake:
1159         * TestWebKitAPI/PlatformGTK.cmake:
1160         * TestWebKitAPI/PlatformWin.cmake:
1161         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1162         * TestWebKitAPI/Tests/WebCore/GridPosition.cpp: Added.
1163         (TestWebKitAPI::TEST):
1164
1165 2017-01-04  Wenson Hsieh  <wenson_hsieh@apple.com>
1166
1167         Move editing history scripts to WebCore PrivateHeaders
1168         https://bugs.webkit.org/show_bug.cgi?id=166709
1169         <rdar://problem/29876612>
1170
1171         Reviewed by Dan Bernstein.
1172
1173         Update references to editing script files in WebCore that were moved.
1174
1175         * EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
1176
1177 2017-01-04  Yusuke Suzuki  <utatane.tea@gmail.com>
1178
1179         Unreviewed, build fix after r210313 part 2
1180         https://bugs.webkit.org/show_bug.cgi?id=166676
1181
1182         Add 'U' suffix.
1183
1184         * TestWebKitAPI/Tests/WTF/StringView.cpp:
1185         (TestWebKitAPI::TEST):
1186         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
1187         (TestWebKitAPI::TEST):
1188
1189 2017-01-04  Yusuke Suzuki  <utatane.tea@gmail.com>
1190
1191         Limit thread name appropriately
1192         https://bugs.webkit.org/show_bug.cgi?id=166676
1193
1194         Reviewed by Sam Weinig.
1195
1196         * TestWebKitAPI/Tests/WTF/StringView.cpp:
1197         (TestWebKitAPI::TEST):
1198         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
1199         (TestWebKitAPI::TEST):
1200
1201 2017-01-04  Andy Estes  <aestes@apple.com>
1202
1203         [Cocoa] Teach SharedBuffer to return an NSArray of data segments to avoid flattening
1204         https://bugs.webkit.org/show_bug.cgi?id=166696
1205
1206         Reviewed by Tim Horton.
1207
1208         * TestWebKitAPI/PlatformGTK.cmake:
1209         * TestWebKitAPI/PlatformWin.cmake:
1210         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1211         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: Moved class SharedBufferTest to SharedBufferTest.{cpp,h}.
1212         * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp: Moved class SharedBufferTest from SharedBuffer.cpp.
1213         * TestWebKitAPI/Tests/WebCore/SharedBufferTest.h: Ditto.
1214         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm: Added.
1215         (TestWebKitAPI::expectDataArraysEqual): Added a helper to assert that two NSArrays of NSData are equal.
1216         (TestWebKitAPI::TEST_F): Added a test for createNSDataArray.
1217
1218 2017-01-03  Brian Burg  <bburg@apple.com>
1219
1220         Web Inspector: teach the protocol generator about platform-specific types, events, and commands
1221         https://bugs.webkit.org/show_bug.cgi?id=166003
1222         <rdar://problem/28718990>
1223
1224         Reviewed by Joseph Pecoraro.
1225
1226         Teach run-inspector-generator-tests to generate test output using the platform name
1227         derived from the directory that the test is in. For example, tests in the /generic/
1228         subdirectory will pass `--platform generic` to generate-inspector-protocol-bindings.py.
1229
1230         * Scripts/webkitpy/inspector/main.py:
1231         (InspectorGeneratorTests.generate_from_json):
1232         (InspectorGeneratorTests.run_tests):
1233         (InspectorGeneratorTests.main):
1234
1235 2017-01-04  Csaba Osztrogonác  <ossy@webkit.org>
1236
1237         Unreviewed cmake buildfix after r210266.
1238
1239         * DumpRenderTree/PlatformMac.cmake:
1240
1241 2017-01-04  Tim Horton  <timothy_horton@apple.com>
1242
1243         Provide a setting for clients to always prefer low-power WebGL
1244         https://bugs.webkit.org/show_bug.cgi?id=166675
1245         <rdar://problem/29834093>
1246
1247         Reviewed by Dan Bernstein.
1248
1249         * MiniBrowser/mac/Info.plist:
1250         Have MiniBrowser claim to be a modern app that supports
1251         automatic graphics switching. WebKit needs to support automatic
1252         graphics switching, so our test app might as well. Without this
1253         Info.plist parameter, this change has no effect, and bringing up
1254         a WebGL context still brings up the discrete GPU (also true of the
1255         existing web-exposed preferLowPowerToHighPerformance API).
1256
1257 2017-01-03  Yusuke Suzuki  <utatane.tea@gmail.com>
1258
1259         WorkQueueGeneric's platformInvalidate() can deadlock when called on the RunLoop's thread
1260         https://bugs.webkit.org/show_bug.cgi?id=166645
1261
1262         Reviewed by Carlos Garcia Campos.
1263
1264         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
1265         (TestWebKitAPI::TEST):
1266
1267 2017-01-03  Andy Estes  <aestes@apple.com>
1268
1269         Place all the Cocoa WebCore API tests in the same directory
1270         https://bugs.webkit.org/show_bug.cgi?id=166673
1271
1272         Reviewed by Michael Catanzaro.
1273
1274         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1275         * TestWebKitAPI/Tests/WebCore/cocoa/SerializedCryptoKeyWrap.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/SerializedCryptoKeyWrap.mm.
1276         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/Cocoa/URLExtras.mm.
1277         * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/WebCoreNSURLSession.mm.
1278
1279 2017-01-03  Tim Horton  <timothy_horton@apple.com>
1280
1281         NSSpellChecker's recordResponse isn't called for unseen automatic corrections
1282         https://bugs.webkit.org/show_bug.cgi?id=166450
1283         <rdar://problem/29447824>
1284
1285         Reviewed by Darin Adler.
1286
1287         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
1288         * DumpRenderTree/TestRunner.cpp:
1289         (TestRunner::staticFunctions):
1290         * DumpRenderTree/mac/TestRunnerMac.mm:
1291         (setSpellCheckerLoggingEnabledCallback):
1292         * DumpRenderTree/win/TestRunnerWin.cpp:
1293         (setSpellCheckerLoggingEnabledCallback):
1294         * DumpRenderTree/mac/DumpRenderTree.mm:
1295         (resetWebViewToConsistentStateBeforeTesting):
1296         * DumpRenderTree/mac/DumpRenderTreeSpellChecker.h: Added.
1297         * DumpRenderTree/mac/DumpRenderTreeSpellChecker.mm: Added.
1298         (stringForCorrectionResponse):
1299         (drt_NSSpellChecker_recordResponseToCorrection):
1300         (swizzleNSSpellCheckerMethodsIfNeeded):
1301         (setSpellCheckerLoggingEnabled):
1302         Add a new testRunner method, setSpellCheckerLoggingEnabled, which, when
1303         set to true, logs to stdout (which ends up in the test result) whenever
1304         NSSpellChecker recordResponse:toCorrection:forWord:language:inSpellDocumentWithTag:
1305         is called, and then calls the original method. It is reset to false between tests.
1306
1307 2017-01-03  Sam Weinig  <sam@webkit.org>
1308
1309         Make WTF::Expected support Ref template parameters
1310         https://bugs.webkit.org/show_bug.cgi?id=166662
1311
1312         Reviewed by Alex Christensen.
1313
1314         * TestWebKitAPI/Tests/WTF/Expected.cpp:
1315         (TestWebKitAPI::TEST):
1316         Add tests for using Ref with Expected.
1317
1318 2017-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
1319
1320         [GTK] Expose WebKitSecurityOrigin API
1321         https://bugs.webkit.org/show_bug.cgi?id=166632
1322
1323         Reviewed by Carlos Garcia Campos.
1324
1325         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
1326         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSecurityOrigin.cpp: Added.
1327         (testSecurityOriginBasicConstructor):
1328         (testSecurityOriginURIConstructor):
1329         (testSecurityOriginDefaultPort):
1330         (testSecurityOriginFileURI):
1331         (testSecurityOriginDataURI):
1332         (beforeAll):
1333         (afterAll):
1334
1335 2017-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1336
1337         [GTK] HTTP auth layout tests are flaky
1338         https://bugs.webkit.org/show_bug.cgi?id=158919
1339
1340         Reviewed by Michael Catanzaro.
1341
1342         * gtk/jhbuild.modules: Update libsoup to version 2.57.1.
1343         * gtk/jhbuildrc: Stop passing --enable-introspection unconditionally to all modules. We don't really need
1344         introspection for the dependencies in the internal build, and it makes newer libsoup build fail because of
1345         missing valac in the bots.
1346
1347 2017-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1348
1349         REGRESSION(r173753): [GTK] Source/WebKit is distributed in tarballs
1350         https://bugs.webkit.org/show_bug.cgi?id=165797
1351
1352         Reviewed by Michael Catanzaro.
1353
1354         Move directory ruleset after all exclude rules of Source rulset.
1355
1356         * gtk/manifest.txt.in:
1357
1358 2017-01-02  Yusuke Suzuki  <utatane.tea@gmail.com>
1359
1360         Leverage Substring to create new AtomicStringImpl for StaticStringImpl and SymbolImpl
1361         https://bugs.webkit.org/show_bug.cgi?id=166636
1362
1363         Reviewed by Darin Adler.
1364
1365         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
1366         (TestWebKitAPI::TEST):
1367
1368 2017-01-02  Manuel Rego Casasnovas  <rego@igalia.com>
1369
1370         [GTK] WebCore/CSSParser unit test is not being built
1371         https://bugs.webkit.org/show_bug.cgi?id=166492
1372
1373         Reviewed by Michael Catanzaro.
1374
1375         This test was introduced in r175930, but we were not building
1376         it on GTK+ port since r176015.
1377         This patch marks the test to be built again on GTK+.
1378         JFTR, the test is passing right now.
1379
1380         * TestWebKitAPI/PlatformGTK.cmake: Add CSSParser.cpp test file and use
1381         ADD_WHOLE_ARCHIVE_TO_LIBRARIES to avoid linking errors.
1382
1383 2017-01-02  Chris Fleizach  <cfleizach@apple.com>
1384
1385         AX: Expose block quote level to iOS API
1386         https://bugs.webkit.org/show_bug.cgi?id=166629
1387         <rdar://problem/29834793>
1388
1389         Reviewed by Darin Adler.
1390
1391         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
1392         (AccessibilityUIElement::numberAttributeValue):
1393         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
1394         (WTR::AccessibilityUIElement::numberAttributeValue):
1395
1396 2016-12-31  Michael Catanzaro  <mcatanzaro@igalia.com>
1397
1398         SecurityOrigin::create triplet constructor does not canonicalize port
1399         https://bugs.webkit.org/show_bug.cgi?id=166624
1400
1401         Reviewed by Daniel Bates.
1402
1403         * TestWebKitAPI/PlatformGTK.cmake:
1404         * TestWebKitAPI/PlatformWin.cmake:
1405         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1406         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: Added.
1407         (TestWebKitAPI::SecurityOriginTest::SetUp):
1408         (TestWebKitAPI::TEST_F):
1409
1410 2016-12-30  Michael Catanzaro  <mcatanzaro@igalia.com>
1411
1412         [GTK] Improve user agent construction
1413         https://bugs.webkit.org/show_bug.cgi?id=142074
1414
1415         Reviewed by Carlos Garcia Campos.
1416
1417         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1418         (TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
1419         (TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk):
1420         (TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
1421         (TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
1422         (TestWebKitAPI::TEST):
1423
1424 2016-12-27  Michael Catanzaro  <mcatanzaro@igalia.com>
1425
1426         [GTK] Improve user agent construction
1427         https://bugs.webkit.org/show_bug.cgi?id=142074
1428
1429         Reviewed by Carlos Garcia Campos.
1430
1431         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1432         (TestWebKitAPI::TEST):
1433
1434 2016-12-23  Simon Fraser  <simon.fraser@apple.com>
1435
1436         REGRESSION (r209299): Selection is broken when you zoom in webpage using trackpad
1437         https://bugs.webkit.org/show_bug.cgi?id=166472
1438         rdar://problem/29675551
1439
1440         Reviewed by Tim Horton.
1441
1442         These changes are necessary to allow the mouse to leave the WTR window while
1443         drag-scrolling, to test autoscroll. Previously, we were never calling -mouseDragged
1444         (which DRT does); we'd always go through mouseMoved, which hits an early return
1445         in WebViewImpl::mouseMoved() when the point is outside the view.
1446
1447         * WebKitTestRunner/mac/EventSenderProxy.mm:
1448         (WTR::EventSenderProxy::mouseMoveTo):
1449
1450 2016-12-23  Andy Estes  <aestes@apple.com>
1451
1452         [iOS] Fix some crashing webarchive tests
1453         https://bugs.webkit.org/show_bug.cgi?id=166470
1454
1455         Reviewed by Andreas Kling.
1456
1457         Tests that use TestRunner.dumpDOMAsWebArchive() crashed on iOS due to a stub implementation
1458         of WebArchiveDumpSupport in WebKitTestRunner. The Mac implementation works fine on iOS too,
1459         so this change uses that on both platforms.
1460
1461         * WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Removed
1462         WebArchiveDumpSupportMac.mm from EXCLUDED_SOURCE_FILE_NAMES.
1463         * WebKitTestRunner/InjectedBundle/cocoa/WebArchiveDumpSupportCocoa.mm: Renamed from
1464         Tools/WebKitTestRunner/mac/WebArchiveDumpSupportMac.mm.
1465         * WebKitTestRunner/PlatformMac.cmake:
1466         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
1467         * WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm: Removed.
1468
1469 2016-12-22  Saam Barati  <sbarati@apple.com>
1470
1471         WebAssembly: Silence the output of the spec-tests
1472         https://bugs.webkit.org/show_bug.cgi?id=166417
1473
1474         Reviewed by Mark Lam.
1475
1476         * Scripts/run-jsc-stress-tests:
1477
1478 2016-12-22  Zhuo Li  <zachli@apple.com>
1479
1480         [Cocoa] SPI for setloadsImagesAutomatically.
1481         https://bugs.webkit.org/show_bug.cgi?id=166401.
1482
1483         Reviewed by Darin Adler.
1484
1485         * TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm:
1486         (TEST): Test the _setLoadsImagesAutomatically SPI. By default,
1487         _loadsImagesAutomatically returns YES.
1488
1489 2016-12-22  Wenson Hsieh  <wenson_hsieh@apple.com>
1490
1491         fast/events/ios/viewport-shrink-to-fit-allows-double-tap.html is flaky/order dependent
1492         https://bugs.webkit.org/show_bug.cgi?id=161328
1493         <rdar://problem/28475977>
1494
1495         Reviewed by Darin Adler.
1496
1497         Running a test that scales the viewport and listens to a didEndZooming callback (such as
1498         viewport-shrink-to-fit-allows-double-tap.html) immediately after a test that may begin to trigger viewport
1499         scaling as the test completes (such as viewport-device-width-at-initial-scale-fast-clicks.html) may result in
1500         the didEndZooming callback of the latter test being fired early due to the previous test triggering a zoom
1501         animation. Ideally, -[WKScrollView _stopScrollingAndZoomingAnimations], which is called when committing the page
1502         load, should prevent this from happening, but from reading documentation and code inspection, this is not
1503         intended to fire any associated delegate methods or notifications of the UIScrollView, instead deferring them
1504         for later. Instead, what we need in this case is to clear out any started but not yet completed animations after
1505         we finish running a test and before we load the next test.
1506
1507         One way to do this is to remove all animations from the WKScrollView's layer, and the layers of its children,
1508         recursively. Doing so causes scrollViewDidEndZooming:withView:atScale: to fire at the end of the runloop if the
1509         previous test started zooming and then finished before zooming completed. Since this happens before the next
1510         test has a chance to run UI-side scripts, we won't end up firing this callback prematurely during the next test.
1511
1512         * WebKitTestRunner/ios/TestControllerIOS.mm:
1513         (WTR::TestController::platformResetStateToConsistentValues):
1514
1515 2016-12-22  Jer Noble  <jer.noble@apple.com>
1516
1517         Muted media element playback should not interrupt other audio playback
1518         https://bugs.webkit.org/show_bug.cgi?id=166347
1519
1520         Reviewed by Eric Carlson.
1521
1522         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1523         * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
1524         (TestWebKitAPI::TEST):
1525         * TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio.html: Added.
1526
1527 2016-12-22  Alejandro G. Castro  <alex@igalia.com>
1528
1529         [WebRTC] Add support for runtime PeeConnection setting, required after r209757
1530         https://bugs.webkit.org/show_bug.cgi?id=166346
1531
1532         Reviewed by Carlos Garcia Campos.
1533
1534         Enable WebRTC by default to simplify testing.
1535
1536         * MiniBrowser/gtk/main.c:
1537         (main):
1538
1539 2016-12-21  Alexey Proskuryakov  <ap@apple.com>
1540
1541         REGRESSION: API test failure: WKWebView.LocalStorageClear
1542         https://bugs.webkit.org/show_bug.cgi?id=166032
1543         <rdar://problem/29758423>
1544
1545         Reviewed by Simon Fraser.
1546
1547         Add an @autoreleasepool around the code that allocates then clears the WKWebView, 
1548         to ensure that the view is destroyed before the callback fires.
1549
1550         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
1551         (TEST):
1552
1553 2016-12-21  Saam Barati  <sbarati@apple.com>
1554
1555         WebAssembly: Import spec tests
1556         https://bugs.webkit.org/show_bug.cgi?id=166395
1557
1558         Rubber stamped by Keith Miller.
1559
1560         * Scripts/run-jsc-stress-tests:
1561
1562 2016-12-21  Alexey Proskuryakov  <ap@apple.com>
1563
1564         REGRESSION: API test failure: _WKDownload.OriginatingWebView
1565         https://bugs.webkit.org/show_bug.cgi?id=166033
1566         <rdar://problem/29758428>
1567
1568         Reviewed by Simon Fraser.
1569
1570         Add an @autoreleasepool around the code that allocates the WKWebView, 
1571         so that it can be destroyed by removing the last reference in _downloadDidStart.
1572
1573         * TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
1574         (TEST):
1575
1576 2016-12-21  Daniel Bates  <dabates@apple.com>
1577
1578         WebKitTestRunner: Add comment to TestRunner::setCanOpenWindows()
1579         https://bugs.webkit.org/show_bug.cgi?id=166356
1580
1581         Add comment in TestRunner::setCanOpenWindows() to elaborate further on its purpose
1582         as a means to allow a test to explicit allow an embedding client to open a new windows
1583         such that the default behavior is for the embedding client to forbid such an action.
1584         The test plugins/get-url-with-blank-target.html assumes this default behavior though
1585         it is currently skipped on WebKit2 because questions were raised in the patch for
1586         <https://bugs.webkit.org/show_bug.cgi?id=43389> about its correctness and usefulness.
1587         We will need to implement TestRunner::setCanOpenWindows() should we decide to unskip
1588         this test.
1589
1590         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1591         (WTR::TestRunner::setCanOpenWindows):
1592
1593 2016-12-20  Simon Fraser  <simon.fraser@apple.com>
1594
1595         REGRESSION: API test failure: WKWebView.EvaluateJavaScriptBlockCrash
1596         https://bugs.webkit.org/show_bug.cgi?id=166031
1597
1598         Reviewed by Tim Horton.
1599         
1600         Add an @autoreleasepool around the code that allocates then clears the WKWebView, 
1601         to ensure that the view is destroyed before the callback fires.
1602
1603         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm:
1604
1605 2016-12-20  Megan Gardner  <megan_gardner@apple.com>
1606
1607         Throw Exception when test doesn't clean up HID Events properly
1608         https://bugs.webkit.org/show_bug.cgi?id=166271
1609
1610         Reviewed by Simon Fraser.
1611
1612         Add in a check when UIScriptController is deleted to make sure that the HID event
1613         callback dictionary is empty. If it is not, and a HID event is hit, this will cause
1614         the program to crash without any good information. Crashes are race-y, and will still
1615         happen with malformed test, but the information will be much more helpful. 
1616
1617         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1618         (WTR::UIScriptController::checkForClean):
1619         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
1620         (UIScriptContext::~UIScriptContext):
1621         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1622         (WTR::UIScriptController::checkForClean):
1623         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1624         * WebKitTestRunner/ios/HIDEventGenerator.h:
1625         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1626         (-[HIDEventGenerator checkHIDCallbacksClear]):
1627         * WebKitTestRunner/ios/TestControllerIOS.mm:
1628         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1629         (WTR::UIScriptController::checkForClean):
1630
1631 2016-12-20  Andy Estes  <aestes@apple.com>
1632
1633         [Cocoa] REGRESSION (r209558): Calling decisionHandler multiple times in webView:decidePolicyForNavigationAction:decisionHandler: leads to a crash
1634         https://bugs.webkit.org/show_bug.cgi?id=165992
1635
1636         Reviewed by Brady Eidson.
1637
1638         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1639         * TestWebKitAPI/Tests/WebKit2Cocoa/DuplicateCompletionHandlerCalls.mm: Added.
1640         (expectException):
1641         (-[DuplicateCompletionHandlerCallsDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1642         (-[DuplicateCompletionHandlerCallsDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1643         (-[DuplicateCompletionHandlerCallsDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1644         (-[DuplicateCompletionHandlerCallsDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
1645         (-[DuplicateCompletionHandlerCallsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
1646         (-[DuplicateCompletionHandlerCallsDelegate _webView:decideDatabaseQuotaForSecurityOrigin:currentQuota:currentOriginUsage:currentDatabaseUsage:expectedUsage:decisionHandler:]):
1647         (-[DuplicateCompletionHandlerCallsDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
1648         (TEST):
1649         * TestWebKitAPI/Tests/WebKit2Cocoa/duplicate-completion-handler-calls.html: Added.
1650
1651 2016-12-20  Dean Jackson  <dino@apple.com>
1652
1653         Remove INDIE_UI
1654         https://bugs.webkit.org/show_bug.cgi?id=165881
1655         <rdar://problem/29672532>
1656
1657         Reviewed by Simon Fraser.
1658
1659         The Indie UI work has been discontinued.
1660
1661         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1662
1663 2016-12-19  Yusuke Suzuki  <utatane.tea@gmail.com>
1664
1665         [ES6] Enable ES6 Modules
1666         https://bugs.webkit.org/show_bug.cgi?id=165849
1667
1668         Reviewed by Geoffrey Garen.
1669
1670         * DumpRenderTree/mac/DumpRenderTree.mm:
1671         (resetWebPreferencesToConsistentValues):
1672         * DumpRenderTree/win/DumpRenderTree.cpp:
1673         (resetWebPreferencesToConsistentValues):
1674         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1675         (WTR::InjectedBundle::beginTesting):
1676         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1677         (WTR::TestRunner::setES6ModulesEnabled): Deleted.
1678         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1679
1680 2016-12-19  Ryan Haddad  <ryanhaddad@apple.com>
1681
1682         Repurpose bots and clean up dashboard.
1683         https://bugs.webkit.org/show_bug.cgi?id=166045
1684
1685         Reviewed by Lucas Forschler.
1686
1687         * BuildSlaveSupport/build.webkit.org-config/config.json:
1688         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
1689         (BubbleQueueServer):
1690         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
1691         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1692         (WebKitBuildbot):
1693         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
1694         (table.queue-grid tr.platform.mac-os-x-yosemite img.logo): Deleted.
1695
1696 2016-12-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1697
1698         [CMake] TestWebKitAPIBase links to itself
1699         https://bugs.webkit.org/show_bug.cgi?id=165985
1700
1701         Reviewed by Alex Christensen.
1702
1703         Fix CMake warning about a target linking to itself, which makes no sense.
1704
1705         * TestWebKitAPI/CMakeLists.txt:
1706
1707 2016-12-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1708
1709         [GTK] GtkDoc build should be quieter
1710         https://bugs.webkit.org/show_bug.cgi?id=165994
1711
1712         Reviewed by Carlos Garcia Campos.
1713
1714         Make it not print by default.
1715
1716         * gtk/generate-gtkdoc:
1717         (get_generator_for_config):
1718         (generate_doc):
1719         * gtk/gtkdoc.py:
1720         (GTKDoc._run_command):
1721         (GTKDoc._copy_doc_files_to_output_dir):
1722
1723 2016-12-18  Simon Fraser  <simon.fraser@apple.com>
1724
1725         Expose a way for MiniBrowser to simulate header and footer banners
1726         https://bugs.webkit.org/show_bug.cgi?id=166005
1727
1728         Reviewed by Wenson Hsieh.
1729         
1730         Add a MiniBrowser menu item and setting to toggle adding space for header and footer
1731         banners. This only works in WebKit2.
1732         
1733         We need to reset these on each navigation, since newly created FrameViews
1734         don't re-fetch the header and footer height stored on Page.
1735         
1736         Also fix the signature of webView:didFinishNavigation: to follow API changes,
1737         as well as fixing webViewWebContentProcessDidTerminate:
1738
1739         * MiniBrowser/mac/SettingsController.h:
1740         * MiniBrowser/mac/SettingsController.m:
1741         (-[SettingsController _populateMenu]):
1742         (-[SettingsController validateMenuItem:]):
1743         (-[SettingsController toggleReserveSpaceForBanners:]):
1744         (-[SettingsController isSpaceReservedForBanners]):
1745         * MiniBrowser/mac/WK2BrowserWindowController.m:
1746         (-[WK2BrowserWindowController didChangeSettings]):
1747         (-[WK2BrowserWindowController webView:didFinishNavigation:]):
1748         (-[WK2BrowserWindowController webViewWebContentProcessDidTerminate:]):
1749         (-[WK2BrowserWindowController webView:didFinishLoadingNavigation:]): Deleted.
1750         (-[WK2BrowserWindowController _webViewWebProcessDidCrash:]): Deleted.
1751
1752 2016-12-17  Simon Fraser  <simon.fraser@apple.com>
1753
1754         Fix iOS test results after r209967.
1755         
1756         Subtracting out the status bar height was erroneously happening for all tests,
1757         not just for flexible viewport tests.
1758         
1759         Fix by plumbing WebViewSizingMode through resizeTo() and setWindowFrame().
1760
1761         * WebKitTestRunner/PlatformWebView.h:
1762         * WebKitTestRunner/TestController.cpp:
1763         (WTR::TestController::resetStateToConsistentValues):
1764         * WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
1765         (WTR::PlatformWebView::resizeTo):
1766         (WTR::PlatformWebView::setWindowFrame):
1767         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
1768         (WTR::PlatformWebView::resizeTo):
1769         (WTR::PlatformWebView::setWindowFrame):
1770         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
1771         (WTR::PlatformWebView::resizeTo):
1772         (WTR::PlatformWebView::setWindowFrame):
1773         * WebKitTestRunner/ios/TestControllerIOS.mm:
1774         (WTR::TestController::platformConfigureViewForTest):
1775         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
1776         (WTR::PlatformWebView::resizeTo):
1777         (WTR::PlatformWebView::setWindowFrame):
1778
1779 2016-12-17  Joonghun Park  <jh718.park@samsung.com>
1780
1781         [EFL] bump EFL version to 1.18.4
1782         https://bugs.webkit.org/show_bug.cgi?id=166004
1783
1784         Reviewed by Gyuyoung Kim.
1785
1786         * efl/jhbuild.modules: Use efl-1.18.4 instead of 1.18.1.
1787
1788 2016-12-17  Wenson Hsieh  <wenson_hsieh@apple.com>
1789
1790         Visual viewports: bottom fixed elements disappear behind the keyboard
1791         https://bugs.webkit.org/show_bug.cgi?id=165983
1792         <rdar://problem/29409852>
1793
1794         Reviewed by Simon Fraser.
1795
1796         Add support for UIScriptController.inputViewBounds, which UI-side scripts may use to fetch the bounding rect of
1797         the keyboard when it is up.
1798
1799         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1800         (WTR::UIScriptController::inputViewBounds):
1801         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1802         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1803         (WTR::UIScriptController::inputViewBounds):
1804         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1805         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
1806         (WTR::viewRectForWindowRect):
1807
1808         Previously, we accounted for the status bar height by translating the entire web view down by the height of the
1809         status bar. However, we did not shrink the height of the web view itself, which means that for tests which
1810         involve scrolling past the end of the document, the bottom strip of the web view is out of bounds of the window.
1811
1812         (WTR::PlatformWebView::PlatformWebView):
1813         (WTR::PlatformWebView::setWindowFrame):
1814         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1815         (WTR::UIScriptController::inputViewBounds):
1816
1817 2016-12-16  Ryosuke Niwa  <rniwa@webkit.org>
1818
1819         Deleting a character converted from pinyin after an image causes a Safari crash
1820         https://bugs.webkit.org/show_bug.cgi?id=165839
1821         <rdar://problem/27951933>
1822
1823         Reviewed by Wenson Hsieh.
1824
1825         Add a WebKit API test to call attributedSubstringForProposedRange on a WKWebView
1826         while the proposed range contains an image. This should not cause a WebProcess to crash
1827         or send an invalid message to the UIProcess.
1828
1829         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1830         * TestWebKitAPI/Tests/WebKit2/chinese-character-with-image.html: Added.
1831         * TestWebKitAPI/Tests/WebKit2/mac/AttributedSubstringForProposedRangeWithImage.mm: Added.
1832         (TestWebKitAPI::didFinishLoadForFrame):
1833         (TestWebKitAPI::processDidCrash):
1834         (TestWebKitAPI::invalidMessageFunction):
1835         (TestWebKitAPI::WebKit2.AttributedSubstringForProposedRangeWithImage):
1836
1837 2016-12-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1838
1839         Visual viewports: carets and selection UI are incorrectly positioned when editing fixed elements
1840         https://bugs.webkit.org/show_bug.cgi?id=165767
1841         <rdar://problem/29602382>
1842
1843         Reviewed by Simon Fraser.
1844
1845         Introduces two new UIScriptController methods: doAfterWebPageIsInStableState and textSelectionCaretRect. See
1846         WebKit2 ChangeLog for more details.
1847
1848         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1849         (WTR::UIScriptController::doAfterNextStablePresentationUpdate):
1850         (WTR::UIScriptController::textSelectionCaretRect):
1851         * DumpRenderTree/mac/UIScriptControllerMac.mm:
1852         (WTR::UIScriptController::doAfterNextStablePresentationUpdate):
1853         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1854         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1855         (WTR::UIScriptController::doAfterNextStablePresentationUpdate):
1856         (WTR::UIScriptController::textSelectionCaretRect):
1857         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1858         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
1859         (-[TestRunnerWKWebView _setStableStateOverride:]):
1860
1861         Force the WKWebView to update its visible content rects when changing the stable state override.
1862
1863         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1864         (WTR::toNSDictionary):
1865         (WTR::UIScriptController::doAfterNextStablePresentationUpdate):
1866         (WTR::UIScriptController::selectionRangeViewRects):
1867         (WTR::UIScriptController::textSelectionCaretRect):
1868         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
1869         (WTR::UIScriptController::doAfterNextStablePresentationUpdate):
1870
1871 2016-12-15  Brent Fulgham  <bfulgham@apple.com>
1872
1873         Arguments called in wrong order
1874         https://bugs.webkit.org/show_bug.cgi?id=165923
1875
1876         Reviewed by Simon Fraser.
1877
1878         The 'audioDeviceUIDs' array is being passed to the argument that expects video devices,
1879         and the 'videoDeviceUIDs' array is being passed to the audo device argument. Fix this.
1880
1881         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
1882         (TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack): The
1883         order of arguments to WKUserMediaPermissionRequestAllow are flipped.
1884
1885 2016-12-16  Hunseop Jeong  <hs85.jeong@samsung.com>
1886
1887         [EFL] Disable non-srcdir builds for failing libraries
1888         https://bugs.webkit.org/show_bug.cgi?id=165896
1889
1890         Reviewed by Gyuyoung Kim.
1891
1892         * efl/jhbuild.modules: Set non srcdir builds to no
1893
1894 2016-12-15  Daniel Bates  <dabates@apple.com>
1895
1896         check-style should not complain about code in icu directories
1897         https://bugs.webkit.org/show_bug.cgi?id=53929
1898
1899         Reviewed by Darin Adler.
1900
1901         Skip style checking of imported ICU headers to avoid a deluge of style issues
1902         as they do not conform to the WebKit Code Style guideline. We want to preserve
1903         the formatting of these headers so as to make it straightforward to merge
1904         changes to them, if necessary.
1905
1906         * Scripts/webkitpy/style/checker.py:
1907
1908 2016-12-15  Alexey Proskuryakov  <ap@apple.com>
1909
1910         Move JSC testers from Yosemite to Sierra
1911         https://bugs.webkit.org/show_bug.cgi?id=165925
1912
1913         Reviewed by Lucas Forschler.
1914
1915         * BuildSlaveSupport/build.webkit.org-config/config.json:
1916         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1917         (WebKitBuildbot):
1918
1919 2016-12-15  Megan Gardner  <megan_gardner@apple.com>
1920
1921         Add coordinate space to event streams and streamline tests
1922         https://bugs.webkit.org/show_bug.cgi?id=165119
1923
1924         Reviewed by Simon Fraser.
1925
1926         Update event streams to allow for both content and global coordinate space.
1927         Update example script to more accurately show all the available options.
1928
1929         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1930         * WebKitTestRunner/ios/HIDEventGenerator.h:
1931         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1932         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1933         (WTR::convertCoordinates):
1934         (WTR::UIScriptController::sendEventStream):
1935
1936 2016-12-15  Claudio Saavedra  <csaavedra@igalia.com>
1937
1938         [GTK] Ensure gst* docs are not built with update-webkitgtk-libs
1939         https://bugs.webkit.org/show_bug.cgi?id=165855
1940
1941         Reviewed by Philippe Normand.
1942
1943         GStreamer's autogen.sh enables gtk-doc always so we end up building
1944         docs even if we disable them. Use the configure script instead, since
1945         we build from packages and these include it already.
1946
1947         * gtk/jhbuild.modules: Use shipped configure instead of autogen.sh for
1948         upstream gstreamer packages.
1949
1950 2016-12-15  Alex Christensen  <achristensen@webkit.org>
1951
1952         REGRESSION (r208902) Null pointer dereference in wkIsPublicSuffix
1953         https://bugs.webkit.org/show_bug.cgi?id=165885
1954         <rdar://problem/29476917>
1955
1956         Reviewed by Darin Adler.
1957
1958         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1959         (TestWebKitAPI::utf16String): Deleted.
1960         * TestWebKitAPI/Tests/mac/PublicSuffix.mm:
1961         (TestWebKitAPI::TEST_F):
1962         * TestWebKitAPI/WTFStringUtilities.h:
1963         (utf16String):
1964         Moved from URLParser to share with other tests.
1965
1966 2016-12-14  Ryosuke Niwa  <rniwa@webkit.org>
1967
1968         iOS: An element with tabindex is not focusable unless there is no mouse event handler
1969         https://bugs.webkit.org/show_bug.cgi?id=165843
1970
1971         Reviewed by Antti Koivisto.
1972
1973         Add testRunner.isWebKit2 which is always true in WebKitTestRunner.
1974         Without this, it's really hard to reliably differentiate DumpRenderTree and WebKitTestRunner,
1975         and DumpRenderTree's runUIScript would hit an assertion :(
1976
1977         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1978         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1979         (WTR::TestRunner::isWebKit2):
1980
1981 2016-12-14  Brady Eidson  <beidson@apple.com>
1982
1983         IndexedDB 2.0: Massively speedup IDBIndex.get().
1984         https://bugs.webkit.org/show_bug.cgi?id=165802
1985
1986         Reviewed by Alex Christensen.
1987
1988         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1989         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.html: Added.
1990         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm: Added.
1991         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.blob: Added.
1992         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.sqlite3: Added.
1993
1994 2016-12-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1995
1996         [GTK][EFL] Update the JHBuild version.
1997         https://bugs.webkit.org/show_bug.cgi?id=165838
1998
1999         Reviewed by Michael Catanzaro.
2000
2001         * jhbuild/jhbuild-wrapper: This new version fixes a bug with the
2002         usage of the JHBUILD_MIRROR feature with git repositories.
2003
2004 2016-12-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2005
2006         [GTK] Yasm is needed for building the JHBuild after r208940
2007         https://bugs.webkit.org/show_bug.cgi?id=165837
2008
2009         Reviewed by Alejandro G. Castro.
2010
2011         * gtk/install-dependencies: Yasm is needed for building libvpx.
2012
2013 2016-12-14  Youenn Fablet  <youenn@apple.com>
2014
2015         Test infrastructure should allow to filter out text output before doing a comparison with the baseline
2016         https://bugs.webkit.org/show_bug.cgi?id=161310
2017
2018         Reviewed by Ryosuke Niwa.
2019
2020         Adding --dump-jsconsolelog-in-stderr test option for DRT and WTR.
2021         When set, WTR and DRT output JS console log in the stderr and not the test output.
2022         This allows removing potentially flaky information while still being able to read it for investigation.
2023
2024         Updated webkitpy infrastructure to use this test option in case of DumpJSConsoleLogInStdErr modifier.
2025
2026         Changes are covered by updating a fetch test to output console log and set its option to --dump-jsconsolelog-in-stderr in TestExpectations.
2027         This test should have this option when fetch API will start logging resource loader errors.
2028
2029         * DumpRenderTree/DumpRenderTree.h:
2030         (TestCommand::TestCommand): Deleted.
2031         * DumpRenderTree/DumpRenderTreeCommon.cpp:
2032         (parseInputLine):
2033         * DumpRenderTree/TestRunner.h:
2034         (TestRunner::setDumpJSConsoleLogInStdErr):
2035         (TestRunner::dumpJSConsoleLogInStdErr):
2036         * DumpRenderTree/mac/DumpRenderTree.mm:
2037         (runTest):
2038         * DumpRenderTree/mac/UIDelegate.mm:
2039         (-[UIDelegate webView:addMessageToConsole:withSource:]):
2040         * DumpRenderTree/win/DumpRenderTree.cpp:
2041         (runTest):
2042         * DumpRenderTree/win/UIDelegate.cpp:
2043         (UIDelegate::webViewAddMessageToConsole):
2044         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2045         (TestExpectationParser._tokenize_line):
2046         * Scripts/webkitpy/port/driver.py:
2047         (Driver._command_from_driver_input):
2048         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2049         (WTR::InjectedBundle::didReceiveMessageToPage):
2050         (WTR::InjectedBundle::dumpToStdErr):
2051         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2052         (WTR::InjectedBundle::dumpJSConsoleLogInStdErr):
2053         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2054         (WTR::InjectedBundlePage::willAddMessageToConsole):
2055         * WebKitTestRunner/TestController.cpp:
2056         (WTR::parseInputLine):
2057         (WTR::TestController::runTest):
2058         (WTR::TestCommand::TestCommand): Deleted.
2059         * WebKitTestRunner/TestInvocation.cpp:
2060         (WTR::TestInvocation::invoke):
2061         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2062         * WebKitTestRunner/TestInvocation.h:
2063         (WTR::TestInvocation::setDumpJSConsoleLogInStdErr):
2064
2065
2066 2016-12-14  Enrique Ocaña González  <eocanha@igalia.com>
2067
2068         REGRESSION(r207879-207891): [GStreamer] Introduced many layout test failures and crashes, bots exiting early
2069         https://bugs.webkit.org/show_bug.cgi?id=164022
2070
2071         Reviewed by Xabier Rodriguez-Calvar.
2072
2073         * Scripts/webkitperl/FeatureList.pm:
2074           Re-enable MEDIA_SOURCE for the GTK+ port.
2075
2076 2016-12-13  Alex Christensen  <achristensen@webkit.org>
2077
2078         Fix CMake build.
2079
2080         * DumpRenderTree/PlatformMac.cmake:
2081         Define NS_RETURNS_RETAINED as nothing for now.
2082
2083 2016-12-13  Jer Noble  <jer.noble@apple.com>
2084
2085         Fullscreen in WebKit2 does not restore topContentInset upon exiting; leaves top of page not visible
2086         https://bugs.webkit.org/show_bug.cgi?id=165697
2087
2088         Reviewed by Tim Horton.
2089
2090         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.mm:
2091         (TestWebKitAPI::TEST):
2092
2093 2016-12-13  Andy Estes  <aestes@apple.com>
2094
2095         [Cocoa] Implement -shouldInsertText: on WKWebProcessPlugInEditingDelegate
2096         https://bugs.webkit.org/show_bug.cgi?id=165785
2097         <rdar://problem/26929398>
2098
2099         Reviewed by Darin Adler.
2100
2101         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm:
2102         (-[BundleEditingDelegateRemoteObject shouldInsertText:replacingRange:givenAction:]): Added
2103         expectations for the text, range, and action.
2104         (TEST): Set the "EditingDelegateShouldInsertText" bundle parameter to NO so that the plug-in
2105         will return NO in -_webProcessPlugInBrowserContextController:willInsertText:. Added a
2106         plain-text string to the pasteboard, executed a paste action, and verified that the selected
2107         text in the web view did not change.
2108         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm:
2109         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]): Set
2110         _editingDelegateShouldInsertText according to the "EditingDelegateShouldInsertText" bundle
2111         parameter.
2112         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:shouldInsertText:replacingRange:givenAction:]):
2113         Added. Called -shouldInsertText:replacingRange:givenAction: on the remote object proxy
2114         and returned the value of _editingDelegateShouldInsertText.
2115         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegateProtocol.h: Declared
2116         -shouldInsertText:replacingRange:givenAction:.
2117
2118 2016-12-13  Chris Dumez  <cdumez@apple.com>
2119
2120         Unreviewed, rolling out r209544.
2121
2122         Looks like r209489 did not cause the performance regression
2123         after all
2124
2125         Reverted changeset:
2126
2127         "Unreviewed, rolling out r209489."
2128         https://bugs.webkit.org/show_bug.cgi?id=165550
2129         http://trac.webkit.org/changeset/209544
2130
2131 2016-12-12  Sam Weinig  <sam@webkit.org>
2132
2133         [WebIDL] Remove use of Dictionary in ApplePaySession
2134         https://bugs.webkit.org/show_bug.cgi?id=165787
2135
2136         Reviewed by Anders Carlsson.
2137
2138         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2139         (WTR::initializeWebViewConfiguration):
2140         (WTR::TestController::platformCreateWebView):
2141         Enable ApplePay for the tests (where supported).
2142
2143 2016-12-13  Eric Carlson  <eric.carlson@apple.com>
2144
2145         Annotate MediaStream and WebRTC idl with EnabledAtRuntime flag
2146         https://bugs.webkit.org/show_bug.cgi?id=165251
2147
2148         Reviewed by Youenn Fablet.
2149
2150         * TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp:
2151         (TestWebKitAPI::TEST): Enable MediaStream, create web view from the page group upon which
2152         the preferences have been set.
2153
2154 2016-12-08  Antti Koivisto  <antti@apple.com>
2155
2156         Enable network cache speculative revalidation in MiniBrowser
2157         https://bugs.webkit.org/show_bug.cgi?id=165616
2158
2159         Reviewed by Darin Adler.
2160
2161         Match Safari. Also add a menu item to disable it.
2162
2163         * MiniBrowser/mac/AppDelegate.m:
2164         (defaultConfiguration):
2165         * MiniBrowser/mac/SettingsController.h:
2166         * MiniBrowser/mac/SettingsController.m:
2167         (-[SettingsController _populateMenu]):
2168         (-[SettingsController validateMenuItem:]):
2169         (-[SettingsController networkCacheSpeculativeRevalidationDisabled]):
2170         (-[SettingsController toggleNetworkCacheSpeculativeRevalidationDisabled:]):
2171
2172 2016-12-12  Alexey Proskuryakov  <ap@apple.com>
2173
2174         ChangeLogs become readonly after resolving a conflict
2175         https://bugs.webkit.org/show_bug.cgi?id=165440
2176         rdar://problem/29491002
2177
2178         Reviewed by Darin Adler.
2179
2180         * Scripts/resolve-ChangeLogs: (resolveChangeLog): Set correct permissions when
2181         moving the file.
2182
2183 2016-12-12  Filip Pizlo  <fpizlo@apple.com>
2184
2185         Re-enable collectContinuously since it doesn't crash anymore
2186
2187         Rubber stamped by Michael Saboff.
2188
2189         * Scripts/run-jsc-stress-tests:
2190
2191 2016-12-11  Konstantin Tokarev  <annulen@yandex.ru>
2192
2193         Unreviewed attempt to fix EFL and Mac/cmake builds after r209665.
2194         https://bugs.webkit.org/show_bug.cgi?id=165686
2195
2196         * DumpRenderTree/CMakeLists.txt: WebKit2 should precede other target
2197         so that right config.h comes first in include path.
2198
2199 2016-12-11  Dave Hyatt  <hyatt@apple.com>
2200
2201         [CSS Parser] Make sure content extensions initialize AtomicString
2202         https://bugs.webkit.org/show_bug.cgi?id=165737
2203
2204         Reviewed by Darin Adler.
2205
2206         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
2207         (TestWebKitAPI::makeBackend):
2208
2209 2016-12-08  Dave Hyatt  <hyatt@apple.com>
2210
2211         [CSS Parser] Remove the old CSS Parser
2212         https://bugs.webkit.org/show_bug.cgi?id=165645
2213
2214         Reviewed by Daniel Bates.
2215
2216         * TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
2217         (TestWebKitAPI::TEST):
2218
2219 2016-12-10  Konstantin Tokarev  <annulen@yandex.ru>
2220
2221         [cmake] Include WTF, JSC, and WebCore headers automatically to targers using them
2222         https://bugs.webkit.org/show_bug.cgi?id=165686
2223
2224         Reviewed by Michael Catanzaro.
2225
2226         This change reduces duplication of include path lists between modules,
2227         and reduces future need for fixes like r209605 (broken build because of
2228         WebCore header suddenly becoming used in WebKit2).
2229
2230         * DumpRenderTree/CMakeLists.txt:
2231         * DumpRenderTree/PlatformMac.cmake:
2232         * ImageDiff/CMakeLists.txt:
2233         * MiniBrowser/gtk/CMakeLists.txt:
2234         * MiniBrowser/mac/CMakeLists.txt:
2235         * MiniBrowser/win/CMakeLists.txt:
2236         * TestWebKitAPI/CMakeLists.txt:
2237         * TestWebKitAPI/PlatformEfl.cmake:
2238         * TestWebKitAPI/PlatformJSCOnly.cmake:
2239         * TestWebKitAPI/PlatformMac.cmake:
2240         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
2241         * WebKitTestRunner/CMakeLists.txt:
2242         * WebKitTestRunner/PlatformGTK.cmake:
2243         * WebKitTestRunner/PlatformMac.cmake:
2244
2245 2016-12-09  Csaba Osztrogonác  <ossy@webkit.org>
2246
2247         Unreviewed buildfix after r209630.
2248
2249         * Scripts/build-jsc: Remove building the non-existing testWASM.
2250
2251 2016-12-09  Eric Carlson  <eric.carlson@apple.com>
2252
2253         Annotate MediaStream and WebRTC idl with EnabledAtRuntime flag
2254         https://bugs.webkit.org/show_bug.cgi?id=165251
2255
2256         Reviewed by Dean Jackson.
2257
2258         Based on a patch by Dr Alex Gouaillard <agouaillard@gmail.com>
2259
2260         * DumpRenderTree/mac/DumpRenderTree.mm:
2261         (resetWebPreferencesToConsistentValues): Enable MediaStream and PeerConnection.
2262
2263         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2264         (WTR::InjectedBundle::beginTesting): Ditto.
2265
2266         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2267         (WTR::TestRunner::setMediaStreamEnabled): New.
2268         (WTR::TestRunner::setPeerConnectionEnabled): New.
2269         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2270
2271 2016-12-09  Brady Eidson  <beidson@apple.com> 
2272  
2273         Re-landing:
2274         Add _WKIconLoadingDelegate SPI. 
2275         https://bugs.webkit.org/show_bug.cgi?id=164894 
2276  
2277         Reviewed by Alex Christensen. 
2278         
2279         Add MiniBrowser support for this new SPI, configurable with a setting. 
2280  
2281         * MiniBrowser/mac/SettingsController.h: 
2282         * MiniBrowser/mac/SettingsController.m: 
2283         (-[SettingsController _populateMenu]): 
2284         (-[SettingsController validateMenuItem:]): 
2285         (-[SettingsController loadsAllSiteIcons]): 
2286         (-[SettingsController toggleLoadsAllSiteIcons:]): 
2287         * MiniBrowser/mac/WK2BrowserWindowController.m: 
2288         (-[WK2BrowserWindowController awakeFromNib]): 
2289         (-[WK2BrowserWindowController webView:shouldLoadIconWithParameters:completionHandler:]): 
2290
2291 2016-12-09  Ryan Haddad  <ryanhaddad@apple.com>
2292
2293         Fix the 32-bit build.
2294
2295         Unreviewed build fix.
2296
2297         * MiniBrowser/mac/SettingsController.h:
2298
2299 2016-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2300
2301         Fedora also needs a PHP7 config file alternative
2302         https://bugs.webkit.org/show_bug.cgi?id=165606
2303
2304         Reviewed by Michael Catanzaro.
2305
2306         * Scripts/webkitpy/port/base.py:
2307         (Port._is_fedora_php_version_7): check for the php7 library.
2308         (Port._fedora_php_version): get the appropriate filename for Fedora.
2309         (Port._apache_config_file_name_for_platform):
2310
2311 2016-12-09  Ryan Haddad  <ryanhaddad@apple.com>
2312
2313         Complete the revert of r208865.
2314         https://bugs.webkit.org/show_bug.cgi?id=164894
2315
2316         Unreviewed build fix.
2317
2318         * MiniBrowser/mac/SettingsController.h:
2319         * MiniBrowser/mac/SettingsController.m:
2320         (-[SettingsController _populateMenu]):
2321         (-[SettingsController validateMenuItem:]):
2322         (-[SettingsController loadsAllSiteIcons]): Deleted.
2323         (-[SettingsController toggleLoadsAllSiteIcons:]): Deleted.
2324         * MiniBrowser/mac/WK2BrowserWindowController.m:
2325         (-[WK2BrowserWindowController awakeFromNib]):
2326         (-[WK2BrowserWindowController webView:shouldLoadIconWithParameters:completionHandler:]): Deleted.
2327
2328 2016-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2329
2330         [GTK] Force GDK backend to x11 when running with XvfbDriver
2331         https://bugs.webkit.org/show_bug.cgi?id=165612
2332
2333         Reviewed by Michael Catanzaro.
2334
2335         When the developer is running a Wayland session, GDK may get confused
2336         and try to use its Wayland backend (which is higher priority) instead.
2337         This ensures it will use the appropriate backend when running under
2338         Xvfb.
2339
2340         * Scripts/webkitpy/port/gtk.py:
2341         (GtkPort.setup_environ_for_server): when running with XvfbDriver,
2342         force GDK_BACKEND to x11.
2343
2344 2016-12-08  Keith Miller  <keith_miller@apple.com>
2345
2346         Add 64-bit signed LEB decode method
2347         https://bugs.webkit.org/show_bug.cgi?id=165630
2348
2349         Reviewed by Ryosuke Niwa.
2350
2351         Add tests for LEB int64 and uint64 decode since I guess
2352         I forgot to add tests before.
2353
2354         * TestWebKitAPI/Tests/WTF/LEBDecoder.cpp:
2355         (TestWebKitAPI::testUInt32LEBDecode):
2356         (TestWebKitAPI::TEST):
2357         (TestWebKitAPI::testUInt64LEBDecode):
2358         (TestWebKitAPI::testInt32LEBDecode):
2359         (TestWebKitAPI::testInt64LEBDecode):
2360         (TestWebKitAPI::testUnsignedLEBDecode): Deleted.
2361
2362 2016-12-08  Filip Pizlo  <fpizlo@apple.com>
2363
2364         Make it easy to enable --force-collectContinuously
2365         https://bugs.webkit.org/show_bug.cgi?id=165638
2366
2367         Reviewed by Keith Miller.
2368
2369         * Scripts/run-javascriptcore-tests:
2370         (runJSCStressTests):
2371
2372 2016-12-08  Filip Pizlo  <fpizlo@apple.com>
2373
2374         Disable the collectContinuously mode until I investigate failures.
2375
2376         Rubber stamped by Keith Miller.
2377         
2378         I'm seeing collectContinuously crashes on some platforms. Disabling that testing mode
2379         while I investigate.
2380
2381         * Scripts/run-jsc-stress-tests:
2382
2383 2016-12-08  Alex Christensen  <achristensen@webkit.org>
2384
2385         REGRESSION (URL parser): Relative URLs aren’t resolved correctly when the base URL is an applewebdata: URL
2386         https://bugs.webkit.org/show_bug.cgi?id=165621
2387
2388         Reviewed by Dan Bernstein.
2389
2390         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2391         (TestWebKitAPI::TEST_F):
2392
2393 2016-12-06  Filip Pizlo  <fpizlo@apple.com>
2394
2395         Concurrent GC should be stable enough to land enabled
2396         https://bugs.webkit.org/show_bug.cgi?id=164990
2397
2398         Reviewed by Geoffrey Garen.
2399         
2400         Add a new mode that runs GC continuously. Also made eager modes run GC continuously.
2401         
2402         It's clear that this works just fine in release, but I'm still trying to figure out if it's
2403         safe for debug. It might be too slow for debug.
2404
2405         * Scripts/run-jsc-stress-tests:
2406
2407 2016-12-08  Alex Christensen  <achristensen@webkit.org>
2408
2409         Add SPI for sending WebsiteSettings to WebProcess during navigation
2410         https://bugs.webkit.org/show_bug.cgi?id=165517
2411         <rdar://29341068>
2412
2413         Reviewed by Anders Carlsson.
2414
2415         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2416         * TestWebKitAPI/Tests/WebKit2/contentBlockerCheck.html: Added.
2417         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm: Added.
2418         (-[WebsitePoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2419         (-[WebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2420         (-[WebsitePoliciesDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2421         (TEST):
2422
2423 2016-12-08  Chris Dumez  <cdumez@apple.com>
2424
2425         Unreviewed, rolling out r209489.
2426
2427         Likely caused large regressions on JetStream, Sunspider and
2428         Speedometer
2429
2430         Reverted changeset:
2431
2432         "Add system trace points for JavaScript VM entry/exit"
2433         https://bugs.webkit.org/show_bug.cgi?id=165550
2434         http://trac.webkit.org/changeset/209489
2435
2436 2016-12-08  Keith Miller  <keith_miller@apple.com>
2437
2438         Move LEB tests to API tests
2439         https://bugs.webkit.org/show_bug.cgi?id=165586
2440
2441         Reviewed by Saam Barati.
2442
2443         Move the tests from testWasm.cpp and make them functions
2444         rather than macros.
2445
2446         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2447         * TestWebKitAPI/Tests/WTF/LEBDecoder.cpp: Added.
2448         (TestWebKitAPI::testUnsignedLEBDecode):
2449         (TestWebKitAPI::TEST):
2450         (TestWebKitAPI::testInt32LEBDecode):
2451
2452 2016-12-08  Chris Dumez  <cdumez@apple.com>
2453
2454         Support running the layout tests offline
2455         https://bugs.webkit.org/show_bug.cgi?id=165534
2456
2457         Reviewed by Ryosuke Niwa.
2458
2459         * Scripts/webkitpy/common/system/autoinstall.py:
2460         (AutoInstaller._download_to_stream):
2461         getcode() returns None for file URLs so handle this.
2462
2463         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
2464         (WebPlatformTestServer._install_modules):
2465         Deal with local path in the json file and resolve them into file URLs
2466         before using AutoInstall.
2467
2468 2016-12-08  Alex Christensen  <achristensen@webkit.org>
2469
2470         Fix CMake build.
2471
2472         * DumpRenderTree/PlatformMac.cmake:
2473         Remove CheckedMalloc.cpp after r209516.
2474
2475 2016-12-07  Mark Lam  <mark.lam@apple.com>
2476
2477         DumpRenderTree should stop using CheckedMalloc.
2478         https://bugs.webkit.org/show_bug.cgi?id=165563
2479         <rdar://problem/28945820>
2480
2481         Reviewed by Geoffrey Garen.
2482
2483         1. WebKitTestRunner does not have equivalent behavior to that which is implemented
2484            in CheckedMalloc.
2485         2. bmalloc does not honor the settings of CheckedMalloc.
2486
2487         The only time CheckedMalloc comes into play is when DRT uses gmalloc or system
2488         malloc.  As a result, DRT exhibits different behavior from the normal way we run
2489         our tests.  We should obsolete CheckedMalloc and make DRT behave consistently
2490         with WKTR.
2491
2492         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2493         * DumpRenderTree/mac/CheckedMalloc.cpp: Removed.
2494         * DumpRenderTree/mac/CheckedMalloc.h: Removed.
2495         * DumpRenderTree/mac/DumpRenderTree.mm:
2496         (prepareConsistentTestingEnvironment):
2497
2498 2016-12-07  Dean Jackson  <dino@apple.com>
2499
2500         Remove runtime toggle for pointer-lock
2501         https://bugs.webkit.org/show_bug.cgi?id=165577
2502         <rdar://problems/29566996>
2503
2504         Reviewed by Jon Lee.
2505
2506         Remove any runtime calls to check if pointer-lock is enabled. It's
2507         either compiled in or out.
2508
2509         * DumpRenderTree/mac/DumpRenderTree.mm:
2510         (resetWebPreferencesToConsistentValues):
2511         * WebKitTestRunner/TestController.cpp:
2512         (WTR::TestController::resetPreferencesToConsistentValues):
2513
2514 2016-12-07  Eric Carlson  <eric.carlson@apple.com>
2515
2516         [MediaStream][Mac] Revoke sandbox extensions when capture ends
2517         https://bugs.webkit.org/show_bug.cgi?id=165476
2518
2519         Reviewed by Brady Eidson.
2520         
2521         Add a test which loads a page that calls navigator.mediaDevices.enumerateDevices, kills the
2522         page, and loads the same page again to ensure that the WK2 UserMediaPermissionRequestManagerProxy
2523         is reset and recreated when a web page exits and is reloaded.
2524
2525         * TestWebKitAPI/PlatformGTK.cmake:
2526         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2527         * TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp: Added.
2528         (TestWebKitAPI::checkUserMediaPermissionCallback):
2529         (TestWebKitAPI::TEST):
2530         * TestWebKitAPI/Tests/WebKit2/enumerateMediaDevices.html: Added.
2531
2532 2016-12-07  Jeremy Jones  <jeremyj@apple.com>
2533
2534         One esc to exit fullscreen and pointer lock
2535         https://bugs.webkit.org/show_bug.cgi?id=165416
2536         rdar://problem/29430711
2537
2538         Reviewed by Jer Noble.
2539
2540         Implement WKPageUIClientV8 for pointer lock support.
2541         Add "escape" key support in EventSenderProxy.
2542
2543         * WebKitTestRunner/TestController.cpp:
2544         (WTR::requestPointerLock):
2545         (WTR::TestController::createOtherPage):
2546         (WTR::TestController::createWebViewWithOptions):
2547         * WebKitTestRunner/mac/EventSenderProxy.mm:
2548         (WTR::EventSenderProxy::keyDown):
2549
2550 2016-12-07  Simon Fraser  <simon.fraser@apple.com>
2551
2552         Add system trace points for JavaScript VM entry/exit
2553         https://bugs.webkit.org/show_bug.cgi?id=165550
2554
2555         Reviewed by Tim Horton.
2556
2557         Add trace points for entry/exit into/out of the JS VM.
2558
2559         * Tracing/SystemTracePoints.plist:
2560
2561 2016-12-07  ChangSeok Oh  <changseok@webkit.org>
2562
2563         [GTK] Cannot build GTK+ with CUPS 2.* versions
2564         https://bugs.webkit.org/show_bug.cgi?id=163591
2565
2566         Reviewed by Michael Catanzaro.
2567
2568         GTK+ build has failed on the system which CUPS 2.x is installed in. GTK+ 3.16.4
2569         does not assume to use the recent CUPS thus it fails to detect the CUPS in configuration.
2570         GTK+ upstream fixed this issue but it is not easy to apply the original patch to our
2571         old gtk+ since it requires not only bumping up glib accordingly and its consequence
2572         causes many printing test failures. So, I propose to fix the configuration issue by
2573         applying the change to the configure file directly. By doing this, we don't need to
2574         upgrade glib and worry about any test failures as a consequence of the upgraded glib.
2575
2576         * gtk/jhbuild.modules:
2577         * gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Added.
2578
2579 2016-12-07  Simon Fraser  <simon.fraser@apple.com>
2580
2581         Fix use of enum in a WK2 C SPI header.
2582         rdar://problem/28725583
2583
2584         Followup to correctly prefix the enum values.
2585
2586         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2587         (WTR::InjectedBundlePage::prepare):
2588
2589 2016-12-07  Simon Fraser  <simon.fraser@apple.com>
2590
2591         Fix use of enum in a WK2 C SPI header.
2592         rdar://problem/28725583
2593
2594         Reviewed by Dan Bernstein.
2595
2596         Use correct enum style for a C SPI header and fix the callers.
2597
2598         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2599         (WTR::InjectedBundlePage::prepare):
2600
2601 2016-12-07  Wenson Hsieh  <wenson_hsieh@apple.com>
2602
2603         Add a new project for recording and playing back editing commands in editable web content
2604         https://bugs.webkit.org/show_bug.cgi?id=165114
2605         <rdar://problem/29408135>
2606
2607         Reviewed by Beth Dakin.
2608
2609         Adds a new Xcode project containing work towards rewinding and playing back editing commands. This work is
2610         wrapped in an Xcode project to take advantage of the XCTest framework. To manually test recording, open the
2611         capture test harness, edit the contenteditable body, and then hit cmd-S. This downloads a .json file which may
2612         then be dragged into the playback test harness.
2613
2614         Also adds 3 new unit tests in EditingHistoryTests/RewindAndPlaybackTests.m. These tests carry out the following
2615         steps:
2616
2617         1. Load the capture harness and perform test-specific editing on the web view.
2618         2. Let originalState be a dump of the DOM at this point in time.
2619         3. Extract the JSON-serialized editing history data and load the playback harness with this data.
2620         4. Rewind all editing to the beginning.
2621         5. Playback all editing to the end.
2622         6. Dump the state of the DOM. This should be identical to originalState.
2623
2624         * EditingHistory/EditingHistory.xcodeproj/project.pbxproj: Added.
2625         * EditingHistory/EditingHistory/Info.plist: Added.
2626         * EditingHistory/EditingHistory/Resources/CaptureHarness.html: Added.
2627         * EditingHistory/EditingHistory/Resources/DOMTestingUtil.js: Added.
2628         * EditingHistory/EditingHistory/Resources/PlaybackHarness.html: Added.
2629         * EditingHistory/EditingHistory/TestRunner.h: Added.
2630         * EditingHistory/EditingHistory/TestRunner.m: Added.
2631         (injectedMessageEventHandlerScript):
2632         (-[TestRunner init]):
2633         (-[TestRunner deleteBackwards:]):
2634         (-[TestRunner typeString:]):
2635         (-[TestRunner bodyElementSubtree]):
2636         (-[TestRunner bodyTextContent]):
2637         (-[TestRunner editingHistoryJSON]):
2638         (-[TestRunner loadPlaybackTestHarnessWithJSON:]):
2639         (-[TestRunner numberOfUpdates]):
2640         (-[TestRunner jumpToUpdateIndex:]):
2641         (-[TestRunner expectEvents:afterPerforming:]):
2642         (-[TestRunner loadCaptureTestHarness]):
2643         (-[TestRunner setTextObfuscationEnabled:]):
2644         (-[TestRunner isDoneWaitingForPendingEvents]):
2645         (-[TestRunner userContentController:didReceiveScriptMessage:]):
2646
2647         The TestRunner provides utilities that a unit test should use to drive the test forward (e.g. loading harnesses)
2648         or inspect the state of the loaded page (e.g. extracting JSON editing history data from the capture harness).
2649
2650         * EditingHistory/EditingHistory/TestUtil.h: Added.
2651         * EditingHistory/EditingHistory/TestUtil.m: Added.
2652         (waitUntilWithTimeout):
2653         (waitUntil):
2654
2655         Provides utilities for running tests. For now, this is just spinning the runloop on a given condition.
2656
2657         * EditingHistory/EditingHistory/WKWebViewAdditions.h: Added.
2658         * EditingHistory/EditingHistory/WKWebViewAdditions.m: Added.
2659         (-[WKWebView loadPageFromBundleNamed:]):
2660         (-[WKWebView typeCharacter:]):
2661         (-[WKWebView keyPressWithCharacters:keyCode:]):
2662         (-[WKWebView stringByEvaluatingJavaScriptFromString:]):
2663
2664         Provides utilities for simulating interaction in a web view.
2665
2666         * EditingHistory/EditingHistory/main.m: Added.
2667         (main):
2668         * EditingHistory/EditingHistoryTests/Info.plist: Added.
2669         * EditingHistory/EditingHistoryTests/RewindAndPlaybackTests.m: Added.
2670         (-[RewindAndPlaybackTests setUp]):
2671         (-[RewindAndPlaybackTests tearDown]):
2672         (-[RewindAndPlaybackTests testTypingSingleLineOfText]):
2673         (-[RewindAndPlaybackTests testTypingMultipleLinesOfText]):
2674         (-[RewindAndPlaybackTests testTypingAndDeletingText]):
2675         (-[RewindAndPlaybackTests rewindAndPlaybackEditingInPlaybackTestHarness]):
2676         (-[RewindAndPlaybackTests originalBodySubtree:isEqualToFinalSubtree:]):
2677
2678 2016-12-07  Philippe Normand  <pnormand@igalia.com>
2679
2680         [GTK][jhbuild] missing dependency on libvpx in gst-plugins-good
2681         https://bugs.webkit.org/show_bug.cgi?id=165525
2682
2683         Reviewed by Carlos Garcia Campos.
2684
2685         * gtk/jhbuild.modules: gst-plugins-good should depend on the
2686         libvpx package built within jhbuild.
2687
2688 2016-12-07  Philippe Normand  <pnormand@igalia.com>
2689
2690         [GTK][jhbuild] gst-plugins-bad fails to build with OpenSSL 1.1.0
2691         https://bugs.webkit.org/show_bug.cgi?id=165520
2692
2693         Reviewed by Carlos Garcia Campos.
2694
2695         * gtk/jhbuild.modules: Added missing dependency on openh264 in
2696         gst-plugins-bad, along with 2 upstream patches fixing the build
2697         against OpenSSL 1.1.0.
2698         * gtk/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Added.
2699         * gtk/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Added.
2700
2701 2016-12-06  Alexey Proskuryakov  <ap@apple.com>
2702
2703         Correct SDKROOT values in xcconfig files
2704         https://bugs.webkit.org/show_bug.cgi?id=165487
2705         rdar://problem/29539209
2706
2707         Reviewed by Dan Bernstein.
2708
2709         Fix suggested by Dan Bernstein.
2710
2711         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
2712         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
2713         * MiniBrowser/Configurations/DebugRelease.xcconfig:
2714         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
2715         * WebEditingTester/Configurations/DebugRelease.xcconfig:
2716         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2717
2718 2016-12-06  Daniel Bates  <dabates@apple.com>
2719
2720         WebKitTestRunner: Plugins are disabled in new windows
2721         https://bugs.webkit.org/show_bug.cgi?id=165410
2722
2723         Reviewed by Alex Christensen.
2724
2725         Currently WebKitTestRunner only enables plugins in the main window. So, a test that opens
2726         a new window and loads a plugin will fail. We should enable plugins in all windows by
2727         default. Moreover toggling testRunner.setPluginsEnabled() should effect all windows.
2728
2729         Making these changes is a step towards running plugins/open-and-close-window-with-plugin.html
2730         in WebKitTestRunner (we still need to fix <https://bugs.webkit.org/show_bug.cgi?id=46714>) and
2731         will make the behavior of WebKitTestRunner more closely match the behavior DumpRenderTree.
2732
2733         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2734         (WTR::InjectedBundle::beginTesting): Call TestRunner::setPluginsEnabled() instead of
2735         WKBundleSetPluginsEnabled().
2736         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2737         (WTR::TestRunner::setPluginsEnabled): Take a similar approach as TestRunner::setXSSAuditorEnabled()
2738         and make use of WKBundleOverrideBoolPreferenceForTestRunner().
2739
2740 2016-12-05  Dean Jackson  <dino@apple.com>
2741
2742         pointer lock needs to be feature detectable
2743         https://bugs.webkit.org/show_bug.cgi?id=165426
2744         <rdar://problem/29486715>
2745
2746         Reviewed by Antoine Quint.
2747
2748         Expose the comment line to turn on/off pointer lock.
2749
2750         * DumpRenderTree/TestOptions.h:
2751         * DumpRenderTree/TestOptions.mm:
2752         (TestOptions::TestOptions):
2753         * DumpRenderTree/mac/DumpRenderTree.mm:
2754         (resetWebPreferencesToConsistentValues):
2755         * WebKitTestRunner/TestController.cpp:
2756         (WTR::TestController::resetPreferencesToConsistentValues):
2757         (WTR::updateTestOptionsFromTestHeader):
2758         * WebKitTestRunner/TestOptions.h:
2759         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2760         (WTR::PlatformWebView::viewSupportsOptions):
2761         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2762         (WTR::PlatformWebView::viewSupportsOptions):
2763
2764 2016-12-05  Jonathan Bedard  <jbedard@apple.com>
2765
2766         Make it possible to use an existing simulator instance for one-off testing
2767         https://bugs.webkit.org/show_bug.cgi?id=164568
2768         <rdar://problem/29189133>
2769
2770         Reviewed by Daniel Bates.
2771
2772         With this patch, if a simulator is currently running on the machine and
2773         '--dedicated-simulators' is not passed into the application, only one simulator
2774         instance will be used, and this instance will be the existing instance.
2775         If no simulator is running or '--dedicated-simulators' is passed to the script,
2776         previous behavior will be used.
2777
2778         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2779         (parse_args):
2780         * Scripts/webkitpy/port/ios.py:
2781         (IOSSimulatorPort.__init__): Logic for enabling usage of currently running simulator.
2782         (IOSSimulatorPort._create_simulators): Only create simulators when needed, don't reset already running simulators.
2783         (IOSSimulatorPort.setup_test_run): Don't open already running simulators.
2784         (IOSSimulatorPort._quit_ios_simulator): Only quit simulators if we manage them.
2785         (IOSSimulatorPort.clean_up_test_run): Only clean up simulators if we manage them. 
2786         (IOSSimulatorPort._using_dedicated_simulators): True if simulators need to be managed, false if using an existing instance.
2787         (IOSSimulatorPort.device_id_for_worker_number): Access currently running simulator if not managing devices.
2788         * Scripts/webkitpy/xcode/simulator.py:
2789         (Simulator.refresh): Check if xcode_simctl_list returned None instead of a generator.
2790         (Simulator.current_device): Get currently running device.
2791
2792 2016-12-05  Dan Bernstein  <mitz@apple.com>
2793
2794         Disable a crashing test on iOS.
2795
2796         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm:
2797
2798 2016-12-04  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2799
2800         Fix a build break on EFL since r209303.
2801
2802         Unreviewed build fix.
2803
2804         * Scripts/webkitperl/FeatureList.pm: Disable SS Device Adaptation temporarily.
2805
2806 2016-12-03  Yusuke Suzuki  <utatane.tea@gmail.com>
2807
2808         Refactor SymbolImpl layout
2809         https://bugs.webkit.org/show_bug.cgi?id=165247
2810
2811         Reviewed by Darin Adler.
2812
2813         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
2814         (TestWebKitAPI::TEST):
2815
2816 2016-12-03  Dan Bernstein  <mitz@apple.com>
2817
2818         Fixed the build after r209307.
2819
2820         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm:
2821         (TEST):
2822
2823 2016-12-03  Dan Bernstein  <mitz@apple.com>
2824
2825         [Cocoa] Expose InjectedBundlePageEditorClient via the Objective-C bundle SPI
2826         https://bugs.webkit.org/show_bug.cgi?id=165276
2827         <rdar://problem/29467040>
2828
2829         Reviewed by Darin Adler.
2830
2831         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2832         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm: Added.
2833         (-[BundleEditingDelegateRemoteObject willWriteToPasteboard:]):
2834         (-[BundleEditingDelegateRemoteObject didWriteToPasteboard]):
2835         (TEST):
2836         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm: Added.
2837         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
2838         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:willWriteRangeToPasteboard:]):
2839         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:pasteboardDataForRange:]):
2840         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextControllerDidWriteToPasteboard:]):
2841         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegateProtocol.h: Added.
2842
2843 2016-12-02  Andy Estes  <aestes@apple.com>
2844
2845         [Cocoa] Adopt the PRODUCT_BUNDLE_IDENTIFIER build setting
2846         https://bugs.webkit.org/show_bug.cgi?id=164492
2847
2848         Reviewed by Dan Bernstein.
2849
2850         * DumpRenderTree/TestNetscapePlugIn/mac/Info.plist: Changed CFBundleIdentifier's value from
2851         com.apple.testnetscapeplugin to ${PRODUCT_BUNDLE_IDENTIFIER}.
2852         * DumpRenderTree/ios/Info.plist: Changed CFBundleIdentifier's value from
2853         org.webkit.DumpRenderTree to ${PRODUCT_BUNDLE_IDENTIFIER}.
2854         * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig: Set
2855         PRODUCT_BUNDLE_IDENTIFIER to org.webkit.DumpRenderTree.
2856         * DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig: Set
2857         PRODUCT_BUNDLE_IDENTIFIER to com.apple.testnetscapeplugin.
2858         * MiniBrowser/Configurations/MiniBrowser.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to
2859         org.webkit.$(PRODUCT_NAME:rfc1034identifier).
2860         * MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to
2861         com.apple.$(PRODUCT_NAME:rfc1034identifier).
2862         * MiniBrowser/mac/Bundle/Info.plist: Changed CFBundleIdentifier's value from
2863         com.apple.${PRODUCT_NAME:rfc1034identifier} to ${PRODUCT_BUNDLE_IDENTIFIER}.
2864         * MiniBrowser/mac/Info.plist: Changed CFBundleIdentifier's value from
2865         org.webkit.${PRODUCT_NAME} to ${PRODUCT_BUNDLE_IDENTIFIER}.
2866         * TestWebKitAPI/Configurations/InjectedBundle.xcconfig: Set INFOPLIST_FILE to
2867         InjectedBundle-Info.plist and set PRODUCT_BUNDLE_IDENTIFIER to
2868         com.apple.$(PRODUCT_NAME:rfc1034identifier).
2869         * TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to
2870         com.apple.$(PRODUCT_NAME:rfc1034identifier).
2871         * TestWebKitAPI/InjectedBundle-Info.plist: Changed CFBundleIdentifier's value from
2872         com.yourcompany.${PRODUCT_NAME:rfc1034identifier} to ${PRODUCT_BUNDLE_IDENTIFIER}.
2873         * TestWebKitAPI/cocoa/WebProcessPlugIn/Info.plist: Added a CFBundleIdentifier key with the
2874         value ${PRODUCT_BUNDLE_IDENTIFIER}.
2875         * WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Set INFOPLIST_FILE to
2876         InjectedBundle-Info.plist and set PRODUCT_BUNDLE_IDENTIFIER to
2877         com.apple.WebKitTestRunner.InjectedBundle.
2878         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Set
2879         PRODUCT_BUNDLE_IDENTIFIER to org.webkit.$(PRODUCT_NAME:rfc1034identifier).
2880         * WebKitTestRunner/InjectedBundle-Info.plist: Changed CFBundleIdentifier's value from
2881         com.apple.WebKitTestRunner.InjectedBundle to ${PRODUCT_BUNDLE_IDENTIFIER}.
2882         * WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist: Changed
2883         CFBundleIdentifier's value from org.webkit.${PRODUCT_NAME:rfc1034identifier} to
2884         ${PRODUCT_BUNDLE_IDENTIFIER}.
2885
2886 2016-12-02  Brady Eidson  <beidson@apple.com>
2887
2888         Make IndexedDB.WebProcessKillIDBCleanup even more reliable.
2889         https://bugs.webkit.org/show_bug.cgi?id=165330
2890
2891         Reviewed by Alex Christensen.
2892
2893         The test currently nulls out a RetainPtr<WKWebView> to try to destroy the view and kill the process.
2894
2895         Problem is that doesn't reliably destroy the view.
2896         We should explicitly kill the process instead.
2897
2898         Also, by relocating when we kill the process, we can better test behavior of the IndexedDB mechanism.
2899         e.g. We explicitly confirm that a second WebProcess can simultaneously attach to the same unique database as the first.
2900
2901         * TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:
2902         (TEST):
2903
2904 2016-12-02  Commit Queue  <commit-queue@webkit.org>
2905
2906         Unreviewed, rolling out r209136.
2907         https://bugs.webkit.org/show_bug.cgi?id=165337
2908
2909         broke 36 webkitpy tests (Requested by mcatanzaro on #webkit).
2910
2911         Reverted changeset:
2912
2913         "Make it possible to use an existing simulator instance for
2914         one-off testing"
2915         https://bugs.webkit.org/show_bug.cgi?id=164568
2916         http://trac.webkit.org/changeset/209136
2917
2918 2016-12-02  Chris Dumez  <cdumez@apple.com>
2919
2920         [Mac][WK1] Implement new HTML interactive form validation user interface
2921         https://bugs.webkit.org/show_bug.cgi?id=164483
2922
2923         Reviewed by Simon Fraser.
2924
2925         Add support for UIScriptController's contentsOfUserInterfaceItem("validationBubble")
2926         on Mac DRT as this is needed by the HTML form validation layout tests.
2927
2928         * DumpRenderTree/mac/UIScriptControllerMac.mm:
2929         (WTR::UIScriptController::contentsOfUserInterfaceItem):
2930
2931 2016-12-02  Brady Eidson  <beidson@apple.com>
2932
2933         IndexedDB.IndexedDBMultiProcess and IndexedDB.WebProcessKillIDBCleanup sometimes timeout.
2934         https://bugs.webkit.org/show_bug.cgi?id=160780 and https://bugs.webkit.org/show_bug.cgi?id=161001
2935
2936         Reviewed by Alexey Proskuryakov.
2937
2938         These tests had "run-loop races."
2939         
2940         The test spins the runloop waiting for one message.
2941         Two messages might come in from the WebProcess in short succession, and both be delivered to the
2942         UIProcess in the same spin of the runloop.
2943
2944         Therefore by the time the test stops spinning the runloop, notified that a message was received,
2945         the first message has been overwritten by the second.
2946
2947         These tests are fixed by queueing the incoming messages instead of just storing one.
2948
2949         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm:
2950         (-[IndexedDBMPMessageHandler userContentController:didReceiveScriptMessage:]):
2951         (getNextMessage):
2952         (TEST):
2953
2954         * TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:
2955         (-[IndexedDBWebProcessKillMessageHandler userContentController:didReceiveScriptMessage:]):
2956         (getNextMessage):
2957         (TEST):
2958
2959 2016-12-01  Jiewen Tan  <jiewen_tan@apple.com>
2960
2961         Add a runtime flag for SubtleCrypto
2962         https://bugs.webkit.org/show_bug.cgi?id=164982
2963
2964         Reviewed by Brent Fulgham.
2965
2966         * DumpRenderTree/mac/DumpRenderTree.mm:
2967         (resetWebPreferencesToConsistentValues):
2968         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2969         (WTR::InjectedBundle::beginTesting):
2970         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2971         (WTR::TestRunner::setSubtleCryptoEnabled):
2972         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2973
2974 2016-12-01  Alexey Proskuryakov  <ap@apple.com>
2975
2976         Remove webkitpy dependency on Eliza
2977         https://bugs.webkit.org/show_bug.cgi?id=164979
2978
2979         Reviewed by Daniel Bates.
2980
2981         This module is not on pypi, so installing it is a challenge. The jokes feel pretty old too!
2982
2983         * Scripts/webkitpy/thirdparty/__init__.py:
2984         * Scripts/webkitpy/thirdparty/__init___unittest.py: Changed mock import hook to
2985         test buildbot instead of eliza.
2986         * Scripts/webkitpy/tool/bot/ircbot.py:
2987         * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2988
2989 2016-12-01  Beth Dakin  <bdakin@apple.com>
2990
2991         Force clicking tests fail on some machines
2992         https://bugs.webkit.org/show_bug.cgi?id=165263
2993
2994         Reviewed by Tim Horton.
2995
2996         Initialize com.apple.trackpad.forceClick to 1 so that we don’t have to depend on 
2997         the user account having this feature enabled. 
2998         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
2999         (WTR::InjectedBundle::platformInitialize):
3000         * WebKitTestRunner/mac/main.mm:
3001         (setDefaultsToConsistentValuesForTesting):
3002
3003 2016-12-01  Yusuke Suzuki  <utatane.tea@gmail.com>
3004
3005         Introduce StringImpl::StaticStringImpl with constexpr constructor
3006         https://bugs.webkit.org/show_bug.cgi?id=165093
3007
3008         Reviewed by Darin Adler.
3009
3010         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
3011         (TestWebKitAPI::TEST):
3012
3013 2016-11-30  Antoine Quint  <graouts@apple.com>
3014
3015         [Modern Media Controls] Add an HTML comment flag to turn the feature on
3016         https://bugs.webkit.org/show_bug.cgi?id=165226
3017
3018         Reviewed by Dean Jackson.
3019
3020         Add a new flag to turn Modern Media Controls on in the test runners.
3021
3022         * DumpRenderTree/TestOptions.h:
3023         * DumpRenderTree/TestOptions.mm:
3024         (TestOptions::TestOptions):
3025         * DumpRenderTree/mac/DumpRenderTree.mm:
3026         (resetWebPreferencesToConsistentValues):
3027         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3028         (WTR::InjectedBundle::beginTesting):
3029         * WebKitTestRunner/TestController.cpp:
3030         (WTR::TestController::resetPreferencesToConsistentValues):
3031         (WTR::updateTestOptionsFromTestHeader):
3032         * WebKitTestRunner/TestOptions.h:
3033         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3034         (WTR::PlatformWebView::viewSupportsOptions):
3035         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
3036         (WTR::PlatformWebView::viewSupportsOptions):
3037
3038 2016-11-30  Said Abou-Hallawa  <sabouhallawa@apple.com>
3039
3040         Add separate settings and preferences to enable/disable async decoding for large images and animated images
3041         https://bugs.webkit.org/show_bug.cgi?id=165177
3042
3043         Reviewed by Simon Fraser.
3044         
3045         Pref and a menu item to toggle async image decoding settings for WebKits 1 and 2.
3046
3047         * MiniBrowser/mac/SettingsController.h:
3048         * MiniBrowser/mac/SettingsController.m:
3049         (-[SettingsController _populateMenu]):
3050         (-[SettingsController validateMenuItem:]):
3051         (-[SettingsController toggleLargeImageAsyncDecodingEnabled:]):
3052         (-[SettingsController largeImageAsyncDecodingEnabled]):
3053         (-[SettingsController toggleAnimatedImageAsyncDecodingEnabled:]):
3054         (-[SettingsController animatedImageAsyncDecodingEnabled]):
3055         (-[SettingsController toggleAsyncImageDecodingEnabled:]): Deleted.
3056         (-[SettingsController asyncImageDecodingEnabled]): Deleted.
3057         * MiniBrowser/mac/WK1BrowserWindowController.m:
3058         (-[WK1BrowserWindowController didChangeSettings]):
3059         * MiniBrowser/mac/WK2BrowserWindowController.m:
3060         (-[WK2BrowserWindowController didChangeSettings]):
3061
3062 2016-11-30  Jonathan Bedard  <jbedard@apple.com>
3063
3064         Make it possible to use an existing simulator instance for one-off testing
3065         https://bugs.webkit.org/show_bug.cgi?id=164568
3066         <rdar://problem/29189133>
3067
3068         Reviewed by Daniel Bates.
3069
3070         With this patch, if a simulator is currently running on the machine and
3071         '--dedicated-simulators' is not passed into the application, only one simulator
3072         instance will be used, and this instance will be the existing instance.
3073         If no simulator is running or '--dedicated-simulators' is passed to the script,
3074         previous behavior will be used.
3075
3076         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3077         (parse_args):
3078         * Scripts/webkitpy/port/ios.py:
3079         (IOSSimulatorPort.__init__): Logic for enabling usage of currently running simulator.
3080         (IOSSimulatorPort._create_simulators): Only create simulators when needed, don't reset already running simulators.
3081         (IOSSimulatorPort.setup_test_run): Don't open already running simulators.
3082         (IOSSimulatorPort._quit_ios_simulator): Only quit simulators if we manage them.
3083         (IOSSimulatorPort.clean_up_test_run): Only clean up simulators if we manage them. 
3084         (IOSSimulatorPort._using_dedicated_simulators): True if simulators need to be managed, false if using an existing instance.
3085         (IOSSimulatorPort.device_id_for_worker_number): Access currently running simulator if not managing devices.
3086         * Scripts/webkitpy/xcode/simulator.py:
3087         (Simulator.current_device): Get currently running device.
3088
3089 2016-11-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3090
3091         [Linux] run-benchmark should be able to execute the benchmarks with more browsers.
3092         https://bugs.webkit.org/show_bug.cgi?id=164792
3093
3094         Reviewed by Michael Catanzaro.
3095
3096         This removes the GTKBrowserDriver (and the platform 'gtk') from the run-benchmark script,
3097         and adds a new LinuxBrowserDriver with a platform 'linux'.
3098
3099         It add also drivers for Chrome (Chromium), Firefox, Epiphany and MiniBrowser-GTK (previously MiniBrowser).
3100
3101         The detection of the platform is now done automatically, so it is not longer needed to pass a "--platform" parameter.
3102
3103         The tracking of the browser process is now more robust, we track the pid of the browser process and we only try to
3104         kill the ones that were executed by this script, instead of doing a 'killall $browser' (like before).
3105         We also check for browser process childs and we kill them if they are still alive after the main browser process has been killed.
3106         This depends on psutil, so this will only be done if psutil is installed.
3107
3108         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3109         (RunBenchmarkTests.start): The platform is now autodetected and the MiniBrowser driver is renamed to MiniBrowser-GTK.
3110         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
3111         (BenchmarkRunner._run_benchmark): Fix a bug that caused close_browsers to be called twice. Its already called inside BenchmarkRunner._run_one_test.
3112         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py: Added.
3113         (LinuxBrowserDriver): Implement base class that has all the needed functionality for driving the browsers.
3114         (LinuxBrowserDriver.__init__):
3115         (LinuxBrowserDriver.prepare_env):
3116         (LinuxBrowserDriver.restore_env):
3117         (LinuxBrowserDriver.close_browsers): Made the dependency on psutil optional (because it was listed as such on the README file <Tools/Scripts/webkitpy/benchmark_runner/README.md>)
3118         (LinuxBrowserDriver.launch_url):
3119         (LinuxBrowserDriver._get_first_executable_path_from_list):
3120         (LinuxBrowserDriver._screen_size):
3121         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py: Copied from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py.
3122         (LinuxChromeDriver):
3123         (LinuxChromeDriver.launch_url):
3124         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py: Renamed from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_browser_driver.py.
3125         (EpiphanyBrowserDriver):
3126         (EpiphanyBrowserDriver.launch_url):
3127         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py: Copied from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py.
3128         (LinuxFirefoxDriver):
3129         (LinuxFirefoxDriver.launch_url):
3130         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py: Renamed from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py.
3131         (GTKMiniBrowserDriver):
3132         (GTKMiniBrowserDriver.launch_url):
3133         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
3134         (SimpleHTTPServerDriver):
3135         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3136         (getplatform):
3137         (getdefaultbrowser):
3138         (parse_args):
3139         * Scripts/webkitpy/benchmark_runner/utils.py:
3140         (load_subclasses): The loading of subclasses was still (even after r196979) sensitive to the order in which the modules are loaded.
3141         We have to ensure that the files containing subclasses of the base_class_file are loaded after the base_class_file,
3142         we can do that by matching against the base_class_file pattern when the list is created.
3143
3144 2016-11-29  Andy Estes  <aestes@apple.com>
3145
3146         [Cocoa] Enable two clang warnings recommended by Xcode
3147         https://bugs.webkit.org/show_bug.cgi?id=164498
3148
3149         Reviewed by Mark Lam.
3150
3151         * DumpRenderTree/mac/Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
3152         * MiniBrowser/Configurations/Base.xcconfig: Ditto.
3153         * TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
3154         * WebKitTestRunner/Configurations/Base.xcconfig: Ditto.
3155
3156 2016-11-29  Eric Carlson  <eric.carlson@apple.com>
3157
3158         [MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context
3159         https://bugs.webkit.org/show_bug.cgi?id=164760
3160         <rdar://problem/29261266>
3161
3162         Reviewed by Youenn Fablet.
3163         
3164         Allow scripts to determine the number of times the user has been prompted for capture device access.
3165
3166         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3167         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3168         (WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin):
3169         (WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin):
3170         (WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin):
3171         (WTR::InjectedBundle::setUserMediaPermissionForOrigin): Deleted.
3172         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
3173         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3174         (WTR::TestRunner::setUserMediaPersistentPermissionForOrigin):
3175         (WTR::TestRunner::userMediaPermissionRequestCountForOrigin):
3176         (WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin):
3177         (WTR::TestRunner::setUserMediaPermissionForOrigin): Deleted.
3178         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3179         * WebKitTestRunner/TestController.cpp:
3180         (WTR::TestController::resetStateToConsistentValues):
3181         (WTR::OriginSettings::incrementRequestCount):
3182         (WTR::OriginSettings::resetRequestCount):
3183         (WTR::OriginSettings::requestCount):
3184         (WTR::TestController::saltForOrigin):
3185         (WTR::TestController::setUserMediaPersistentPermissionForOrigin):
3186         (WTR::TestController::handleCheckOfUserMediaPermissionForOrigin):
3187         (WTR::TestController::settingsForOrigin):
3188         (WTR::TestController::userMediaPermissionRequestCountForOrigin):
3189         (WTR::TestController::resetUserMediaPermissionRequestCountForOrigin):
3190         (WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible):
3191         (WTR::TestController::setUserMediaPermissionForOrigin): Deleted.
3192         * WebKitTestRunner/TestController.h:
3193         * WebKitTestRunner/TestInvocation.cpp:
3194         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3195         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3196
3197 2016-11-29  Simon Fraser  <simon.fraser@apple.com>
3198
3199         intersection-observer-entry-interface.html test fails on the bots
3200         https://bugs.webkit.org/show_bug.cgi?id=165133
3201
3202         Reviewed by Darin Adler.
3203         
3204         Tests that enabled Intersection Observer via <!-- webkit-test-runner [ enableIntersectionObserver=true ] -->
3205         would fail sometimes, because TestController::ensureViewSupportsOptionsForTest() failed to check
3206         to see if this option required creating a new web view, so would just use the old view without
3207         even resetting preferences.
3208         
3209         In general, TestController doesn't distinguish properly between options that require the creation
3210         of a new view (like mock scrollbars), and those that can be simply reset as resetPreferencesToConsistentValues()
3211         does.
3212         
3213         Do the easy fix of having viewSupportsOptions() check options.enableIntersectionObserver. We should probably
3214         just call resetPreferencesToConsistentValues() even when re-use the same view.
3215         
3216         * WebKitTestRunner/TestController.cpp:
3217         (WTR::TestController::resetPreferencesToConsistentValues):
3218         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3219         (WTR::PlatformWebView::viewSupportsOptions):
3220         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
3221         (WTR::PlatformWebView::viewSupportsOptions):
3222
3223 2016-11-28  Ryan Haddad  <ryanhaddad@apple.com>
3224
3225         Unreviewed, rolling out r209008.
3226
3227         This change appears to have caused two fast/mediastrem
3228         LayoutTests to fail.
3229
3230         Reverted changeset:
3231
3232         "[MediaStream] Don't request user permission for a device if
3233         it has already been granted in the current browsing context"
3234         https://bugs.webkit.org/show_bug.cgi?id=164760
3235         http://trac.webkit.org/changeset/209008
3236
3237 2016-11-28  Daniel Bates  <dabates@apple.com>
3238
3239         Teach webkitpy how to read CSSProperties.json r209001
3240         https://bugs.webkit.org/show_bug.cgi?id=165108
3241
3242         Reviewed by Simon Fraser.
3243
3244         Fix webkitpy logic so that it can read CSS property names from CSSProperties.json following r209001.
3245
3246         Following r209001 CSSPropertyNames.in no longer exists as it was replaced with CSSProperties.json.
3247         We need to modify the webkitpy machinery that processed CSSPropertyNames.in to process CSSProperties.json.
3248
3249         * Scripts/webkitpy/w3c/test_converter.py:
3250         (_W3CTestConverter.__init__): Make self._css_property_file and self._css_property_value_file local
3251         variables as it is unnecessary for them to be instance variables. Call read_webkit_prefixed_css_property_list()
3252         to read the property names from file CSSProperties.json. Call legacy_read_webkit_prefixed_css_property_list() to
3253         read CSS keyword values from CSSValueKeywords.in.
3254         (_W3CTestConverter.read_webkit_prefixed_css_property_list): Added.
3255         (_W3CTestConverter):
3256         (_W3CTestConverter.legacy_read_webkit_prefixed_css_property_list): Renamed from read_webkit_prefixed_css_property_list.
3257         * Scripts/webkitpy/w3c/test_importer_unittest.py:
3258         (TestImporterTest.test_harnesslinks_conversion): Substitute CSSProperties.json for CSSPropertyNames.in.
3259
3260 2016-11-28  Eric Carlson  <eric.carlson@apple.com>
3261
3262         [MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context
3263         https://bugs.webkit.org/show_bug.cgi?id=164760
3264         <rdar://problem/29261266>
3265
3266         Reviewed by Youenn Fablet.
3267         
3268         Allow scripts to determine the number of times the user has been prompted for capture device access.
3269
3270         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3271         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3272         (WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin):
3273         (WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin):
3274         (WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin):
3275         (WTR::InjectedBundle::setUserMediaPermissionForOrigin): Deleted.
3276         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
3277         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3278         (WTR::TestRunner::setUserMediaPersistentPermissionForOrigin):
3279         (WTR::TestRunner::userMediaPermissionRequestCountForOrigin):
3280         (WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin):
3281         (WTR::TestRunner::setUserMediaPermissionForOrigin): Deleted.
3282         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3283         * WebKitTestRunner/TestController.cpp:
3284         (WTR::TestController::resetStateToConsistentValues):
3285         (WTR::OriginSettings::incrementRequestCount):
3286         (WTR::OriginSettings::resetRequestCount):
3287         (WTR::OriginSettings::requestCount):
3288         (WTR::TestController::saltForOrigin):
3289         (WTR::TestController::setUserMediaPersistentPermissionForOrigin):
3290         (WTR::TestController::handleCheckOfUserMediaPermissionForOrigin):
3291         (WTR::TestController::settingsForOrigin):
3292         (WTR::TestController::userMediaPermissionRequestCountForOrigin):
3293         (WTR::TestController::resetUserMediaPermissionRequestCountForOrigin):
3294         (WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible):
3295         (WTR::TestController::setUserMediaPermissionForOrigin): Deleted.
3296         * WebKitTestRunner/TestController.h:
3297         * WebKitTestRunner/TestInvocation.cpp:
3298         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3299         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3300
3301 2016-11-18  Jer Noble  <jer.noble@apple.com>
3302
3303         Add some performance tests for various aspects of media loading and playback.
3304         https://bugs.webkit.org/show_bug.cgi?id=164977
3305
3306         Reviewed by Darin Adler.
3307
3308         Allow callers to pass in extra alias/directory pairs to run-webkit-httpd.
3309
3310         * Scripts/run-webkit-httpd:
3311         (parse_args):
3312         (main):
3313
3314 2016-11-27  Simon Fraser  <simon.fraser@apple.com>
3315
3316         Another fix for CMake.
3317
3318         * DumpRenderTree/TestOptions.h:
3319         * DumpRenderTree/TestOptions.mm:
3320
3321 2016-11-26  Simon Fraser  <simon.fraser@apple.com>
3322
3323         Better fix for the Mac CMake build.
3324
3325         * DumpRenderTree/PlatformMac.cmake:
3326
3327 2016-11-26  Simon Fraser  <simon.fraser@apple.com>
3328
3329         Attempt to fix Mac CMake build.
3330
3331         * DumpRenderTree/PlatformMac.cmake:
3332
3333 2016-11-26  Yusuke Suzuki  <utatane.tea@gmail.com>
3334
3335         [WTF] Import std::optional reference implementation as WTF::Optional
3336         https://bugs.webkit.org/show_bug.cgi?id=164199
3337
3338         Reviewed by Saam Barati and Sam Weinig.
3339
3340         Use WTF::Optional::value_or.
3341
3342         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3343         (WTR::UIScriptController::stableStateOverride):
3344         (WTR::UIScriptController::setStableStateOverride):
3345         * TestRunnerShared/Bindings/JSWrappable.h:
3346         (WTR::JSValueMakeBooleanOrNull):
3347         (WTR::JSValueToNullableBoolean):
3348         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3349         (WTR::UIScriptController::stableStateOverride):
3350         (WTR::UIScriptController::setStableStateOverride):
3351         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3352         * TestWebKitAPI/Tests/WTF/Optional.cpp:
3353         (TestWebKitAPI::TEST):
3354         * TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:
3355         (TestWebKitAPI::testParseHTMLInteger):
3356         (TestWebKitAPI::testParseHTMLNonNegativeInteger):
3357         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
3358         (TestWebKitAPI::checkURL):
3359         (TestWebKitAPI::checkRelativeURL):
3360         (TestWebKitAPI::checkURLDifferences):
3361         (TestWebKitAPI::checkRelativeURLDifferences):
3362         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3363         (WTR::UIScriptController::stableStateOverride):
3364         (WTR::UIScriptController::setStableStateOverride):
3365
3366 2016-11-26  Sam Weinig  <sam@webkit.org>
3367
3368         Convert IntersectionObserver over to using RuntimeEnabledFeatures so it can be properly excluded from script
3369         https://bugs.webkit.org/show_bug.cgi?id=164965
3370
3371         Reviewed by Simon Fraser.
3372
3373         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
3374         Add new files.
3375
3376         * DumpRenderTree/TestOptions.h: Added.
3377         * DumpRenderTree/TestOptions.mm: Added.
3378         (parseBooleanTestHeaderValue):
3379         (TestOptions::TestOptions):
3380         Port TestOption parsing from WKTR to DRT.
3381
3382         * DumpRenderTree/mac/DumpRenderTree.mm:
3383         (resetWebPreferencesToConsistentValues):
3384         (resetWebViewToConsistentStateBeforeTesting):
3385         (runTest):
3386         * WebKitTestRunner/TestController.cpp:
3387         Pass TestOptions down to resetWebPreferencesToConsistentValues to allow setting
3388         preferences conditionally.
3389
3390         (WTR::TestController::resetPreferencesToConsistentValues):
3391         (WTR::updateTestOptionsFromTestHeader):
3392         * WebKitTestRunner/TestOptions.h:
3393         Add a new test option header, enableIntersectionObserver, to enable IntersectionObserver.
3394
3395 2016-11-26  Simon Fraser  <simon.fraser@apple.com>
3396
3397         Migrate some layout timer-related code from std::chrono to Seconds and MonotonicTime
3398         https://bugs.webkit.org/show_bug.cgi?id=164992
3399
3400         Reviewed by Darin Adler.
3401         
3402         Use Seconds::zero().
3403
3404         * TestWebKitAPI/Tests/WTF/Condition.cpp:
3405
3406 2016-11-26  Simon Fraser  <simon.fraser@apple.com>
3407
3408         Add literals for various time units
3409         https://bugs.webkit.org/show_bug.cgi?id=165074
3410
3411         Reviewed by Filip Pizlo.
3412         
3413         Add tests for new time literals. Add new tests for units.
3414
3415         * TestWebKitAPI/Tests/WTF/Time.cpp:
3416         (TestWebKitAPI::TEST):
3417
3418 2016-11-25  Csaba Osztrogonác  <ossy@webkit.org>
3419
3420         Fix compile warnings after r208415
3421         https://bugs.webkit.org/show_bug.cgi?id=165061
3422
3423         Reviewed by Andy Estes.
3424
3425         * TestWebKitAPI/Tests/WTF/Time.cpp:
3426         (TestWebKitAPI::TEST):
3427
3428 2016-11-24  Michael Catanzaro  <mcatanzaro@igalia.com>
3429
3430         [GTK] Notifications API does not expose or respect the "tag" attribute
3431         https://bugs.webkit.org/show_bug.cgi?id=164771
3432
3433         Reviewed by Gustavo Noronha Silva.
3434
3435         Verify that showing a notification with the same tag as another notification closes the
3436         previous notification before the new notification is shown.
3437
3438         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
3439         (testWebViewNotification):
3440
3441 2016-11-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3442
3443         Unreviewed. Fix GTK+ test /webkit2/WebKitWebContext/get-plugins after r208429.
3444
3445         Test plugin library was renamed as libTestNetscapePlugIn.so in r208429.
3446
3447         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
3448         (testWebContextGetPlugins): Update the library name.
3449
3450 2016-11-22  Darin Adler  <darin@apple.com>
3451
3452         Make normal case fast in the input element limitString function
3453         https://bugs.webkit.org/show_bug.cgi?id=165023
3454
3455         Reviewed by Dan Bernstein.
3456
3457         * TestWebKitAPI/CMakeLists.txt: Added TextBreakIterator.cpp.
3458         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
3459         * TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: Added.
3460         Contains some tests for the numGraphemeClusters and
3461         numCharactersInGraphemeClusters functions that I used to make sure
3462         that the new fast paths I added work correctly.
3463
3464 2016-11-22  Tomas Popela  <tpopela@redhat.com>
3465
3466         Unreviewed, add myself as a WebKit committer.
3467
3468         * Scripts/webkitpy/common/config/contributors.json:
3469
3470 2016-11-21  Mark Lam  <mark.lam@apple.com>
3471
3472         Hasher::addCharacters() should be able to handle zero length strings.
3473         https://bugs.webkit.org/show_bug.cgi?id=165024
3474
3475         Reviewed by Yusuke Suzuki.
3476
3477         * TestWebKitAPI/Tests/WTF/StringHasher.cpp:
3478         (TestWebKitAPI::TEST):
3479
3480 2016-11-21  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3481
3482         [CMake] build fails after update to cmake 3.7
3483         https://bugs.webkit.org/show_bug.cgi?id=165008
3484
3485         Reviewed by Dan Bernstein.
3486
3487         When we remove the CMake cache, we should remove both the
3488         CMakeCache.txt file and the CMakeFiles directory.
3489         See: https://gitlab.kitware.com/cmake/cmake/issues/14820
3490
3491         * Scripts/webkitdirs.pm:
3492         (cmakeFilesPath):
3493         (removeCMakeCache):
3494
3495 2016-11-16  Philippe Normand  <pnormand@igalia.com>
3496
3497         [GTK][WebRTC] Switch to downstream OpenWebRTC and more recent GStreamer
3498         https://bugs.webkit.org/show_bug.cgi?id=164817
3499
3500         Reviewed by Alejandro G. Castro.
3501
3502         This is temporary, hopefully. The OpenWebRTC patches will/should
3503         be soon reviewed and upstream but meanwhile it makes sense to use
3504         the Igalia downstream fork so that the WebRTC testing is easier.
3505
3506         Recent GStreamer patches are also needed for RTP bundling support
3507         and RTP retransmission fixes.
3508
3509         * gtk/jhbuild.modules:
3510         * gtk/openwebrtc.modules: Removed.
3511         * gtk/patches/gst-plugins-good-0001-rtpbin-pipeline-gets-an-EOS-when-any-rtpsources-byes.patch: Added.
3512         * gtk/patches/gst-plugins-good-0002-rtpbin-avoid-generating-errors-when-rtcp-messages-ar.patch: Added.
3513         * gtk/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Added.
3514
3515 2016-11-20  Zan Dobersek  <zdobersek@igalia.com>
3516
3517         [EncryptedMedia] Make EME API runtime-enabled
3518         https://bugs.webkit.org/show_bug.cgi?id=164927
3519
3520         Reviewed by Jer Noble.
3521
3522         Enable the EME API via the WKTR InjectedBundle whenever testing
3523         commences. This does not have any effect unless the EME feature
3524         is enabled at compile-time, but it's still added to match other
3525         features and for future use.
3526
3527         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3528         (WTR::InjectedBundle::beginTesting):
3529         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3530         (WTR::TestRunner::setEncryptedMediaAPIEnabled):
3531         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3532
3533 2016-11-19  Simon Fraser  <simon.fraser@apple.com>
3534
3535         Fix the Mac and iOS bulds.
3536
3537         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3538         (-[TestRunnerWKWebView _stableStateOverride]):
3539         (-[TestRunnerWKWebView _setStableStateOverride:]):
3540
3541 2016-11-18  Simon Fraser  <simon.fraser@apple.com>
3542
3543         Make it possible to test non-stable-state scrolling on iOS
3544         https://bugs.webkit.org/show_bug.cgi?id=164905
3545
3546         Reviewed by Dan Bernstein.
3547
3548         Make it possible for an iOS layout test to force every visible rect update
3549         from the UI process to the web process to be in a non-stable state. This emulates
3550         what happens during panning and zooming interactions, and allows us to test the
3551         scrolling and layer trees in these transient states.
3552         
3553         This is done by adding a testing property on WKWebView, _stableStateOverride, whose
3554         getters and setters are overridden in TestRunnerWKWebView. When non-nil, we _updateVisibleContentRectAfterScrollInView
3555         consults the NSNumber's boolValue and uses it to override the stable state.
3556         
3557         To facilitate this kind of testing, also add immediateScrollToOffset() and
3558         immediateZoomToScale() to UIScriptController. Finally, add doAfterPresentationUpdate()
3559         which provides a callback that fires after one trip to the web process and back.
3560         
3561         Add code generation support for optional boolean attributes in IDL.
3562
3563         Align CodeGeneratorDumpRenderTree.pm and CodeGeneratorTestRunner.pm.
3564
3565         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
3566         (_generateImplementationFile):
3567         (_platformTypeConstructor):
3568         (_returnExpression):
3569         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3570         (WTR::UIScriptController::doAfterPresentationUpdate):
3571         (WTR::contentOffsetBoundedInValidRange):
3572         (WTR::UIScriptController::scrollToOffset):
3573         (WTR::UIScriptController::immediateScrollToOffset):
3574         (WTR::UIScriptController::immediateZoomToScale):
3575         (WTR::UIScriptController::stableStateOverride):
3576         (WTR::UIScriptController::setStableStateOverride):
3577         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3578         (WTR::UIScriptController::doAfterPresentationUpdate):
3579         * TestRunnerShared/Bindings/JSWrappable.h:
3580         (WTR::JSValueMakeBooleanOrNull):
3581         (WTR::JSValueToNullableBoolean):
3582         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3583         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3584         (WTR::UIScriptController::immediateScrollToOffset):
3585         (WTR::UIScriptController::immediateZoomToScale):
3586         (WTR::UIScriptController::stableStateOverride):
3587         (WTR::UIScriptController::setStableStateOverride):
3588         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3589         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
3590         (_classRefGetter):
3591         (_platformTypeConstructor):
3592         (_returnExpression):
3593         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3594         (-[TestRunnerWKWebView dealloc]):
3595         (-[TestRunnerWKWebView _stableStateOverride]):
3596         (-[TestRunnerWKWebView _setStableStateOverride:]):
3597         * WebKitTestRunner/ios/TestControllerIOS.mm:
3598         (WTR::TestController::platformResetStateToConsistentValues):
3599         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3600         (WTR::UIScriptController::doAsyncTask):
3601         (WTR::UIScriptController::doAfterPresentationUpdate):
3602         (WTR::UIScriptController::zoomToScale):
3603         (WTR::UIScriptController::immediateScrollToOffset):
3604         (WTR::UIScriptController::immediateZoomToScale):
3605         (WTR::UIScriptController::stableStateOverride):
3606         (WTR::UIScriptController::setStableStateOverride):
3607         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3608         (WTR::UIScriptController::doAfterPresentationUpdate):
3609
3610 2016-11-19  Joanmarie Diggs  <jdiggs@igalia.com>
3611
3612         AX: [ATK] Expose aria-busy via ATK_STATE_BUSY
3613         https://bugs.webkit.org/show_bug.cgi?id=164909
3614
3615         Reviewed by Chris Fleizach.
3616
3617         Implement boolAttributeValue() for ATK so we can test AXElementBusy.
3618
3619         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3620         (WTR::AccessibilityUIElement::boolAttributeValue):
3621
3622 2016-11-18  Simon Fraser  <simon.fraser@apple.com>
3623
3624         [iOS WK2] Eliminate a source of flakiness in layout tests by forcing WebPage into "responsive" mode for all tests, with an internals override
3625         https://bugs.webkit.org/show_bug.cgi?id=164980
3626
3627         Reviewed by Chris Dumez.
3628
3629         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3630         (WTR::InjectedBundlePage::prepare):
3631
3632 2016-11-18  Dean Jackson  <dino@apple.com>
3633
3634         AX: "(inverted-colors)" media query only matches on page reload; should match on change
3635         https://bugs.webkit.org/show_bug.cgi?id=163564
3636         <rdar://problem/28807350>
3637