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