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