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