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