Reverted r218056 because it made the IDE reindex constantly.
[WebKit-https.git] / Tools / ChangeLog
1 2017-06-10  Dan Bernstein  <mitz@apple.com>
2
3         Reverted r218056 because it made the IDE reindex constantly.
4
5         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
6         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
7         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
8         * MiniBrowser/Configurations/DebugRelease.xcconfig:
9         * MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
10         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
11         * WebEditingTester/Configurations/DebugRelease.xcconfig:
12         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
13
14 2017-06-10  Dan Bernstein  <mitz@apple.com>
15
16         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
17         https://bugs.webkit.org/show_bug.cgi?id=173223
18
19         Reviewed by Sam Weinig.
20
21         The rebuilds were happening due to a difference in the compiler options that the IDE and
22         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
23         xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
24         specify an appropriate path in CLANG_INDEX_STORE_PATH.
25
26         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
27         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
28         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
29         * MiniBrowser/Configurations/DebugRelease.xcconfig:
30         * MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
31         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
32         * WebEditingTester/Configurations/DebugRelease.xcconfig:
33         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
34
35 2017-06-10  Jonathan Bedard  <jbedard@apple.com>
36
37         webkitpy: Reduce polling in ServerProcess
38         https://bugs.webkit.org/show_bug.cgi?id=173116
39
40         Reviewed by Ryosuke Niwa.
41
42         We should be smarter about polling. We do not need to poll every time a line is read from
43         stdout and stderr since lines are usually read from cached data. We should only poll
44         when extracting that cached data from stdout and stderr.
45
46         * Scripts/webkitpy/port/driver.py:
47         (Driver._read_block): Rely on output of the ServerProcess to detect a crash or a timeout
48         and on ServerProcess to poll the process if not data is available in stdout and stderr.
49         * Scripts/webkitpy/port/driver_unittest.py:
50         (DriverTest.test_read_block_crashed_process): Test that the Driver will handle a crashing
51         ServerProcess.
52         * Scripts/webkitpy/port/server_process.py:
53         (ServerProcess._read): Allow for data to be read from _output even if the process has
54         crashed. Only poll the process if data needs to be extracted from stdout or stderr. 
55         * Scripts/webkitpy/port/server_process_mock.py:
56         (MockServerProcess): Add number_of_times_polled.
57         (MockServerProcess.poll): Increment number_of_times_polled.
58         (MockServerProcess.has_crashed): Poll before returning crash state.
59         (MockServerProcess.read_stdout_line): MockServerProcess should return None if it has crashed,
60         just like a ServerProcess would.
61         (MockServerProcess.read_stdout): Ditto.
62         * Scripts/webkitpy/port/server_process_unittest.py:
63         (TestServerProcess.test_basic): Use stdin.readline() instead of time.sleep() to prevent the
64         process from ending before stdout and stderr are read. This is the reason this test was flakey.
65         (TestServerProcess):
66         (TestServerProcess.test_process_crashing): Test that when a process crashes, data can be read until
67         the processes is polled.
68         (TestServerProcess.test_process_crashing_no_data): Test that when a process which has not output any
69         data to stdout and stderr crashes, ServerProcess._read(...) polls the process to detect the crash.
70
71 2017-06-10  Andy Estes  <aestes@apple.com>
72
73         [QuickLook] PreviewLoader needs to check if its ResourceLoader has reached the terminal state before calling didReceiveResponse() and friends
74         https://bugs.webkit.org/show_bug.cgi?id=173190
75         <rdar://problem/31360659>
76
77         Reviewed by Brady Eidson.
78         
79         Added a release assert that tries to create a proper test failure if the web process crashes.
80
81         * TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
82         (-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]):
83
84 2017-06-09  Wenson Hsieh  <wenson_hsieh@apple.com>
85
86         [iOS DnD] Add a hook to perform two-step drops in editable content
87         https://bugs.webkit.org/show_bug.cgi?id=172992
88         <rdar://problem/32590174>
89
90         Reviewed by Tim Horton.
91
92         Adds 2 new API tests to cover using the injected editing bundle to override performTwoStepDrop.
93         Tests:  DataInteractionTests.InjectedBundleOverridePerformTwoStepDrop
94                 DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop
95
96         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm:
97         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
98         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:performTwoStepDrop:atDestination:isMove:]):
99
100         Allow the BundleOverridePerformTwoStepDrop bundle parameter to determine whether or not two-step drops should
101         be overridden. Currently, this is overridden to just return true.
102
103         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
104         (TestWebKitAPI::TEST):
105         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
106         (WTR::InjectedBundlePage::InjectedBundlePage):
107
108 2017-06-09  Zan Dobersek  <zdobersek@igalia.com>
109
110         [WPE] Enable ENCRYPTED_MEDIA for build-webkit builds
111         https://bugs.webkit.org/show_bug.cgi?id=173103
112
113         Reviewed by Xabier Rodriguez-Calvar.
114
115         * Scripts/webkitperl/FeatureList.pm: Enable ENCRYPTED_MEDIA flag
116         when building the WPE port through build-webkit.
117
118 2017-06-09  Zan Dobersek  <zdobersek@igalia.com>
119
120         [WPE] Enable MEDIA_SOURCE for build-webkit builds
121         https://bugs.webkit.org/show_bug.cgi?id=173136
122
123         Reviewed by Xabier Rodriguez-Calvar.
124
125         * Scripts/webkitperl/FeatureList.pm: Enable the MEDIA_SOURCE feature for WPE.
126
127 2017-06-08  Carlos Garcia Campos  <cgarcia@igalia.com>
128
129         [GTK] Use API::FormClient instead of the C API in WebKitFormClient
130         https://bugs.webkit.org/show_bug.cgi?id=173098
131
132         Reviewed by Žan Doberšek.
133
134         Fix memory leak and runtime warning when running /webkit2/WebKitWebView/submit-form. The web extension is
135         assuming that all tests containing forms define ids for the form elements like
136         /webkit2/WebKitWebExtension/form-controls-associated-signal does.
137
138         * TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
139         (formControlsAssociatedCallback):
140
141 2017-06-08  Jonathan Bedard  <jbedard@apple.com>
142
143         webkitpy: Run sample/spindump on iOS devices
144         https://bugs.webkit.org/show_bug.cgi?id=171881
145         <rdar://problem/32084602>
146
147         Reviewed by Daniel Bates.
148
149         * Scripts/webkitpy/port/darwin.py:
150         (DarwinPort.sample_process): Only add sudo prefix if the platform is Mac, which
151         requires sudo to run spindump.
152         * Scripts/webkitpy/port/ios_device.py:
153         (IOSDevicePort.look_for_new_samples): Deleted.
154         (IOSDevicePort.sample_process): Deleted.
155         * Scripts/webkitpy/port/ios_device_unittest.py:
156         (IOSDeviceTest): iOS devices use 'ios' and their os_name.
157         (IOSDeviceTest.test_spindump):
158         (IOSDeviceTest.test_sample_process):
159         (IOSDeviceTest.test_sample_process_exception):
160         * Scripts/webkitpy/port/ios_simulator_unittest.py:
161         (IOSSimulatorTest): iOS Simulators run on Mac and use 'mac' as their os_name.
162
163 2017-06-08  Keith Miller  <keith_miller@apple.com>
164
165         WebAssembly: We should only create wrappers for functions that can be exported
166         https://bugs.webkit.org/show_bug.cgi?id=173088
167
168         Reviewed by Saam Barati.
169
170         Add quick mode for wasm tests.
171
172         * Scripts/run-jsc-stress-tests:
173
174 2017-06-08  Darin Adler  <darin@apple.com>
175
176         WTF tests have incorrect RefLogger lifetimes making it impossible to test with Address Sanitizer
177         https://bugs.webkit.org/show_bug.cgi?id=173106
178
179         Reviewed by Sam Weinig.
180
181         * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp: Define RefLogger objects first, so they are
182         destroyed last.
183         * TestWebKitAPI/Tests/WTF/HashMap.cpp: Ditto.
184         * TestWebKitAPI/Tests/WTF/HashSet.cpp: Ditto.
185
186 2017-06-07  Dan Bernstein  <mitz@apple.com>
187
188         [Cocoa] additionalReadAccessAllowedURLs doesn’t preserve non-Latin1 paths
189         https://bugs.webkit.org/show_bug.cgi?id=173086
190
191         Reviewed by Andy Estes.
192
193         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
194         (TEST):
195
196 2017-06-07  Alexey Proskuryakov  <ap@apple.com>
197
198         Add High Sierra support to WebKit tools
199         https://bugs.webkit.org/show_bug.cgi?id=173080
200
201         Rubber-stamped by Daniel Bates.
202
203         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra.png: Added.
204         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra@2x.png: Added.
205         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
206         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
207         Added dashboard support.
208
209         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
210         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
211         Trigger the right build queues on check-in.
212
213         * Scripts/webkitpy/common/system/platforminfo.py:
214         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
215         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
216         * Scripts/webkitpy/port/mac.py:
217         * Scripts/webkitpy/port/mac_unittest.py:
218         * TestResultServer/static-dashboards/flakiness_dashboard.js:
219         Added cases for Sierra, and updated tests for new baseline search paths.
220
221 2017-06-07  Ryan Haddad  <ryanhaddad@apple.com>
222
223         Unreviewed, rolling out r217902.
224
225         This change appears to have caused imported/w3c/web-platform-
226         tests/fetch/api/cors tests to fail on El Capitan.
227
228         Reverted changeset:
229
230         "Teach run-webkit-tests how to run HTTPS Web Platform Tests"
231         https://bugs.webkit.org/show_bug.cgi?id=172930
232         http://trac.webkit.org/changeset/217902
233
234 2017-06-07  Daniel Bates  <dabates@apple.com>
235
236         Teach run-webkit-tests how to run HTTPS Web Platform Tests
237         https://bugs.webkit.org/show_bug.cgi?id=172930
238         <rdar://problem/32570201>
239
240         Reviewed by Youenn Fablet.
241
242         Some web platform tests need to be run from an HTTPS server in order to exercise functionality
243         that is conditioned on the page being delivered over a secure protocol. One example of such
244         a test is LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-secure-context-available.https.sub.html.
245
246         Ideally we should look to use wptrunner to run Web Platform Tests. For now, modify run-webkit-tests
247         to access web platform tests from an HTTPS server when the filename of the test contains ".https.".
248         This makes run-webkit-test match the behavior of wptrunner: <https://github.com/w3c/web-platform-tests/blob/7ce469d1c46dd45aacfe1b408bf2ad36a630e089/tools/manifest/item.py#L42>.
249
250         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
251         (https_base_url): Parses the Web Platform Tests JSON configuration and returns the base URL
252         to the Web Platform Tests HTTPS server.
253         * Scripts/webkitpy/port/base.py:
254         (Port.to.web_platform_test_server_https_base_url): Turns around and calls https_base_url().
255         * Scripts/webkitpy/port/driver.py:
256         (Driver.__init__): Caches the base URL to the Web Platform Tests HTTPS server. Also rename
257         instance variables web_platform_test_server_doc_root, web_platform_test_server_base_url to
258         _web_platform_test_server_doc_root and _web_platform_test_server_base_url, respectively to
259         indicate that they should be considered private instance variables.
260         (Driver.is_web_platform_test): Update code for renamed instance variables.
261         (Driver):
262         (Driver._web_platform_test_base_url_for_test): Returns the URL to access the specified test.
263         (Driver.test_to_uri): Modified to use Driver._web_platform_test_base_url_for_test() to
264         determine the base URL to use to access the test.
265         (Driver.uri_to_test): Added logic to compute the filesystem local test name from a Web
266         Platform Tests HTTPS URL. Also updated code for renamed instance variables.
267
268 2017-06-07  Per Arne Vollan  <pvollan@apple.com>
269
270         Support removal of authentication data through the Website data store API.
271         https://bugs.webkit.org/show_bug.cgi?id=171217
272
273         Reviewed by Brady Eidson.
274
275         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
276         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
277         (WTR::InjectedBundle::didReceiveMessageToPage):
278         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
279         (WTR::TestRunner::removeAllSessionCredentials):
280         (WTR::TestRunner::callDidRemoveAllSessionCredentialsCallback):
281         * WebKitTestRunner/InjectedBundle/TestRunner.h:
282         * WebKitTestRunner/TestController.h:
283         * WebKitTestRunner/TestInvocation.cpp:
284         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
285         (WTR::TestInvocation::didRemoveAllSessionCredentials):
286         * WebKitTestRunner/TestInvocation.h:
287         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
288         (WTR::TestController::removeAllSessionCredentials):
289
290 2017-06-07  Charlie Turner  <cturner@igalia.com>
291
292         Add Charlie Turner as contributor
293         https://bugs.webkit.org/show_bug.cgi?id=173055
294
295         Reviewed by Carlos Alberto Lopez Perez.
296
297         I also ran the Tools/Scripts/validate-committer-lists --canonicalize command at the suggestion
298         of webkit-patch upload, which reordered some fields and removed a newline.
299
300         * Scripts/webkitpy/common/config/contributors.json:
301
302 2017-06-06  Chris Dumez  <cdumez@apple.com>
303
304         RELEASE_ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values)) hit in convertEnumerationToJS<WebCore::History::ScrollRestoration>()
305         https://bugs.webkit.org/show_bug.cgi?id=173033
306         <rdar://problem/32591099>
307
308         Reviewed by Simon Fraser.
309
310         Add API test coverage to make sure History's scrollRestoration is properly saved / restored via the
311         WKPageCopySessionState() / WKPageRestoreFromSessionState() C API.
312
313         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
314         * TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Added.
315         (TestWebKitAPI::didFinishLoadForFrame):
316         (TestWebKitAPI::setPageLoaderClient):
317         (TestWebKitAPI::createSessionStateDataContainingScrollRestoration):
318         (TestWebKitAPI::TEST):
319
320 2017-06-06  Andy Estes  <aestes@apple.com>
321
322         REGRESSION (r199558): WKWebView upload file which name contains Chinese character results in garbled code
323         https://bugs.webkit.org/show_bug.cgi?id=172849
324         <rdar://problem/32567454>
325
326         Reviewed by Darin Adler.
327
328         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
329         * TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Added.
330         (-[RunOpenPanelUIDelegate webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
331         (TestWebKitAPI::TEST):
332
333 2017-06-06  Yoav Weiss  <yoav@yoav.ws>
334
335         [preload] Conditional support for media preloading and align media `as` values.
336         https://bugs.webkit.org/show_bug.cgi?id=172501
337
338         Reviewed by Dean Jackson.
339
340         Turn on media preloading preference for tests.
341
342         * DumpRenderTree/mac/DumpRenderTree.mm: Turn on media preloading preference.
343         * DumpRenderTree/win/DumpRenderTree.cpp: Turn on media preloading preference.
344         * WebKitTestRunner/TestController.cpp: Turn on media preloading preference.
345
346 2017-06-06  Jonathan Bedard  <jbedard@apple.com>
347
348         webkitpy: Return correct process names from SimulatorProcess
349         https://bugs.webkit.org/show_bug.cgi?id=172940
350
351         Reviewed by Aakash Jain.
352
353         * Scripts/webkitpy/port/darwin.py:
354         (DarwinPort.plist_data_from_bundle): Share plist access code for accessing different plist entries.
355         (DarwinPort.app_identifier_from_bundle): Use plist_data_from_bundle.
356         (DarwinPort.app_executable_from_bundle): Access name of app executable from provided app bundle.
357         * Scripts/webkitpy/port/driver.py:
358         (Driver.has_crashed): Use _server_process.process_name() instead of _server_process.name() since
359         _server_process.name() will not return the correct process name for iOS.
360         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
361         (Driver._read_block): Ditto.
362         * Scripts/webkitpy/port/driver_unittest.py:
363         (DriverTest.test_check_for_driver_crash.FakeServerProcess.process_name): Update since Driver uses
364         process_name() instead of name().
365         * Scripts/webkitpy/port/server_process.py:
366         (ServerProcess._start): Use process_name() instead of name().
367         (ServerProcess.stop): Ditto.
368         (ServerProcess.name): Deleted.
369         * Scripts/webkitpy/port/simulator_process.py:
370         (SimulatorProcess.process_name): Check the provided bundle for the process name.
371
372 2017-06-06  Dean Johnson  <dean_johnson@apple.com>
373
374         test-webkitpy: stop forking unsafely from within a spawned process
375         https://bugs.webkit.org/show_bug.cgi?id=172774
376
377         Reviewed by Darin Adler.
378
379         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
380         (Builder.__init__): We don't use mechanize.Browser() as part of testing, so only initialize it when
381         it's going to be used.
382         (Builder.force_build):
383
384 2017-06-06  Jonathan Bedard  <jbedard@apple.com>
385
386         webkitpy: Process crash-logs for iOS devices
387         https://bugs.webkit.org/show_bug.cgi?id=171976
388         <rdar://problem/32134551>
389
390         Reviewed by David Kilzer.
391
392         When running layout tests on an iOS device, crash logs should be processed.
393         Implement crash log searching and parsing for iOS devices.
394
395         * Scripts/webkitpy/common/system/crashlogs.py:
396         (CrashLogs): Moved process regular expression for Darwin to class variable.
397         (CrashLogs.__init__): Accept optional list of crash logs to ignore.
398         (CrashLogs.find_newest_log): Add iOS as a potential platform.
399         (CrashLogs.find_all_logs): Ditto.
400         (CrashLogs._parse_darwin_crash_log): Share code for parsing of Darwin crash logs.
401         Do not assume that a Darwin crash log starts with the process.
402         (CrashLogs._find_newest_log_darwin): Remove .app in process name for iOS, use
403         shared code for parsing Darwin crash logs.
404         (CrashLogs._find_newest_log_darwin.is_crash_log): Skip crash logs passed into this
405         object so that crash logs already on the system before testing are not parsed.
406         (CrashLogs._find_newest_log_win.is_crash_log): Ditto.
407         (CrashLogs._find_all_logs_darwin.is_crash_log): Ditto.
408         (CrashLogs._find_all_logs_darwin): Use shared code for parsing Darwin crash logs.
409         * Scripts/webkitpy/common/system/crashlogs_unittest.py:
410         (make_mock_crash_report_darwin): Crash logs may not have their process on the first line.
411         * Scripts/webkitpy/common/system/systemhost.py:
412         (SystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
413         systems is just the crashlog, use this behavior by default.
414         * Scripts/webkitpy/common/system/systemhost_mock.py:
415         (MockSystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
416         systems is just the crashlog, use this behavior by default.
417         * Scripts/webkitpy/port/apple.py:
418         (ApplePort): Add a dictionary mapping hosts to a list of crash logs to be skipped.
419         (ApplePort.setup_test_run): Set the list of crash logs to be skipped to the crash logs on
420         the system before testing begins
421         * Scripts/webkitpy/port/base.py:
422         (Port._get_crash_log): Pass optional target host when getting crash logs.
423         * Scripts/webkitpy/port/darwin.py:
424         (DarwinPort._look_for_all_crash_logs_in_log_dir): Pass list of crash logs to be skipped to
425         CrashLogs object.
426         (DarwinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
427         logs to be skipped to CrashLogs object.
428         * Scripts/webkitpy/port/darwin_testcase.py:
429         (DarwinTest.test_get_crash_log): Removed unused local function.
430         (DarwinTest.test_get_crash_log.fake_time_cb): Deleted.
431         * Scripts/webkitpy/port/device.py:
432         (Device.symbolicate_crash_log_if_needed): If the platform device has a function with this
433         name, call it. Otherwise, assume the default behavior and read the file at the provided path.
434         * Scripts/webkitpy/port/driver.py:
435         (Driver._get_crash_log): Pass optional target host when getting crash logs.
436         * Scripts/webkitpy/port/gtk.py:
437         (GtkPort._get_crash_log): Pass optional target host when getting crash logs.
438         * Scripts/webkitpy/port/ios.py: Ditto.
439         (IOSPort.setup_test_run): Each device is treated as an independent host. Set the list of crash logs
440         to be skipped for each host.
441         * Scripts/webkitpy/port/ios_device.py:
442         (IOSDevicePort.path_to_crash_logs): Consult apple_additions for the path to crash logs.
443         (IOSDevicePort._look_for_all_crash_logs_in_log_dir): Search every connected device for
444         crash logs and pass list of crash logs to ignore to each instance of CrashLogs.
445         (IOSDevicePort._get_crash_log): Search the specified target host for a crash log if a target
446         host is specified. Else, search all connected devices for the specified crash-log.
447         (IOSDevicePort.look_for_new_crash_logs): Deleted.
448         * Scripts/webkitpy/port/ios_device_unittest.py:
449         (IOSDeviceTest.test_crashlog_path): Without apple_additions, an exception should be raised.
450         (IOSDeviceTest.test_get_crash_log): Ditto.
451         * Scripts/webkitpy/port/simulator_process.py:
452         (SimulatorProcess.process_name): Check the provided bundle for the process name.
453         * Scripts/webkitpy/port/win.py:
454         (WinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
455         logs to be skipped to CrashLogs object.
456         * Scripts/webkitpy/port/wpe.py:
457         (WPEPort._get_crash_log): Pass optional target host when getting crash logs.
458
459 2017-06-06  David Kilzer  <ddkilzer@apple.com>
460
461         Move WTF_ATTRIBUTE_PRINTF() from implementation to declaration
462         <https://webkit.org/b/172804>
463
464         Reviewed by Darin Adler.
465
466         WTF_ATTRIBUTE_PRINTF() only works outside the current
467         compilation unit if it's on the declaration, not the
468         implementation, of a function or class method.
469
470         * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
471         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
472         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
473         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
474         - Move WTF_ATTRIBUTE_PRINTF() macro to declaration.
475         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
476         - Remove redundant CRASH() macro definition.  Use the one from
477           <wtf/Assertions.h> instead.
478
479 2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
480
481         Move Resource Timing / User Timing from experimental features into main preferences
482         https://bugs.webkit.org/show_bug.cgi?id=172950
483
484         Reviewed by Darin Adler.
485
486         * DumpRenderTree/mac/DumpRenderTree.mm:
487         (enableExperimentalFeatures):
488         (resetWebPreferencesToConsistentValues):
489         * DumpRenderTree/win/DumpRenderTree.cpp:
490         (enableExperimentalFeatures):
491         (resetWebPreferencesToConsistentValues):
492         * WebKitTestRunner/TestController.cpp:
493         (WTR::TestController::resetPreferencesToConsistentValues):
494         Move out no longer experimental features to the main list.
495
496 2017-06-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>
497
498         [WPE] Add an install-dependencies script
499         https://bugs.webkit.org/show_bug.cgi?id=172948
500
501         Reviewed by Žan Doberšek.
502
503         It is based on the gtk/install-dependencies script.
504         Includes support for Debian based distrubutions, Fedora and Arch.
505         It has been tested on a minimal Debian 9 chroot.
506
507         * wpe/install-dependencies: Added.
508
509 2017-06-05  Wenson Hsieh  <wenson_hsieh@apple.com>
510
511         Refactor -[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:] to check readable types
512         https://bugs.webkit.org/show_bug.cgi?id=172891
513         <rdar://problem/32204540>
514
515         Reviewed by Darin Adler.
516
517         Adds 2 new API tests to exercise data interaction of HTML data and an attributed string into a rich
518         contenteditable. See WebCore ChangeLog for more details.
519
520         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
521         (TestWebKitAPI::TEST):
522
523 2017-06-05  Daniel Bates  <dabates@apple.com>
524
525         webkitpy: Abstract Executive class
526         https://bugs.webkit.org/show_bug.cgi?id=172928
527         <rdar://problem/32569531>
528
529         Reviewed by Ryosuke Niwa.
530
531         Adds an AbstractExecutive class and makes Executive extend AbstractExecutive.
532         This will make it straightforward to create additional derived classes that
533         adhere to the same interface, say for iOS on-device testing.
534
535         * Scripts/webkitpy/common/system/abstractexecutive.py: Added.
536         (AbstractExecutive):
537         (AbstractExecutive.run_and_throw_if_fail):
538         (AbstractExecutive.cpu_count):
539         (AbstractExecutive.interpreter_for_script):
540         (AbstractExecutive.shell_command_for_script):
541         (AbstractExecutive.kill_process):
542         (AbstractExecutive.check_running_pid):
543         (AbstractExecutive.running_pids):
544         (AbstractExecutive.wait_newest):
545         (AbstractExecutive.wait_limited):
546         (AbstractExecutive.interrupt):
547         (AbstractExecutive.default_error_handler):
548         (AbstractExecutive.ignore_error):
549         (AbstractExecutive._stringify_args):
550         (AbstractExecutive.command_for_printing):
551         (AbstractExecutive.run_command):
552         (AbstractExecutive.popen):
553         (AbstractExecutive.run_in_parallel):
554         * Scripts/webkitpy/common/system/executive.py:
555         (Executive):
556         (Executive.cpu_count):
557         (Executive.running_pids):
558         (Executive.kill_all):
559         (Executive._compute_stdin):
560         (Executive.interpreter_for_script): Deleted.
561         (Executive.shell_command_for_script): Deleted.
562         (Executive.wait_newest): Deleted.
563         (Executive.wait_limited): Deleted.
564         (Executive.default_error_handler): Deleted.
565         (Executive.ignore_error): Deleted.
566         (Executive.command_for_printing): Deleted.
567
568 2017-06-05  Jonathan Bedard  <jbedard@apple.com>
569
570         webkitpy: Add iOS to platform
571         https://bugs.webkit.org/show_bug.cgi?id=172931
572
573         Reviewed by Daniel Bates.
574
575         * Scripts/webkitpy/common/system/platforminfo.py:
576         PlatformInfo.__init__): Use platform_module.release() as the os_version for iOS device.
577         (PlatformInfo.is_ios): Added.
578         (PlatformInfo._determine_os_name): A platform name of 'ios' means that the os name is 'ios'.
579         * Scripts/webkitpy/common/system/platforminfo_mock.py:
580         (MockPlatformInfo.is_ios): Added.
581
582 2017-06-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
583
584         [WPE][JHBuild] Switch github repository from git:// to https://
585         https://bugs.webkit.org/show_bug.cgi?id=172921
586
587         Reviewed by Alex Christensen.
588
589         * wpe/jhbuild.modules:
590
591 2017-06-05  Tim Horton  <timothy_horton@apple.com>
592
593         ASSERTION FAILED: m_currentScriptCallbackID in UIScriptContext::requestUIScriptCompletion(JSStringRef) running fast/events/ios/autocorrect-with-range-selection.html
594         https://bugs.webkit.org/show_bug.cgi?id=172887
595         <rdar://problem/32546061>
596
597         Reviewed by Sam Weinig.
598
599         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
600         (WTR::UIScriptController::applyAutocorrection):
601         applyAutocorrection can call its completion handler synchronously,
602         which makes UIScriptController unhappy (see bug 172884).
603
604 2017-06-03  Jonathan Bedard  <jbedard@apple.com>
605
606         webkitpy: Add contextmanager to disable logging for a block
607         https://bugs.webkit.org/show_bug.cgi?id=172876
608
609         Reviewed by Daniel Bates.
610
611         Add a context manager which will use an OutputCapture object to capture logging
612         in a block and hold it in a variable.
613
614         * Scripts/webkitpy/common/system/outputcapture.py:
615         (OutputCaptureScope):
616         (OutputCaptureScope.__init__): Construct with OutputCapture object.
617         (OutputCaptureScope.__enter__): Begin capturing output. 
618         (OutputCaptureScope.__exit__): Restore output and save captured output to a variable.
619         output and retain the resulting log.
620         * Scripts/webkitpy/common/system/outputcapture_unittest.py:
621         (OutputCaptureTest.test_output_capture_scope): Added.
622
623 2017-06-02  Zalan Bujtas  <zalan@apple.com>
624
625         Cleanup FrameView::autoSizeIfEnabled.
626         https://bugs.webkit.org/show_bug.cgi?id=172889
627         <rdar://problem/32550783>
628
629         Reviewed by Tim Horton.
630
631         * TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
632         (-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]): progression.
633         (TEST):
634
635 2017-06-02  Chris Dumez  <cdumez@apple.com>
636
637         ResourceLoadStatistics are not using unique paths during test runs
638         https://bugs.webkit.org/show_bug.cgi?id=172861
639         <rdar://problem/32442251>
640
641         Reviewed by Darin Adler.
642
643         Make sure WebKitTestRunner sets a temporary path for saving resource
644         load statistics.
645
646         * WebKitTestRunner/TestController.cpp:
647         (WTR::TestController::generateContextConfiguration):
648
649 2017-06-02  Brady Eidson  <beidson@apple.com>
650
651         Prevent scheme handlers from handling all built-in URL schemes.
652         <rdar://problem/32404790> and https://bugs.webkit.org/show_bug.cgi?id=172869
653
654         Reviewed by Andy Estes.
655
656         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
657
658 2017-06-02  Stephan Szabo  <stephan.szabo@am.sony.com>
659
660         [JSCOnly] Build static jsc.exe on Windows
661         https://bugs.webkit.org/show_bug.cgi?id=172833
662
663         Reviewed by Konstantin Tokarev.
664
665         * CMakeLists.txt:
666         * Scripts/build-jsc:
667
668 2017-06-02  Zalan Bujtas  <zalan@apple.com>
669
670         Disable ViewportSizeForViewportUnits tests on iOS.
671         https://bugs.webkit.org/show_bug.cgi?id=172872
672
673         Reviewed by Tim Horton.
674
675         * TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm:
676
677 2017-06-02  Zalan Bujtas  <zalan@apple.com>
678
679         Allow clients to override viewport size for CSS viewport units.
680         https://bugs.webkit.org/show_bug.cgi?id=172838
681         <rdar://problem/32523441>
682
683         Reviewed by Tim Horton.
684
685         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
686         * TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Added.
687         (TEST):
688
689 2017-06-02  Simon Fraser  <simon.fraser@apple.com>
690
691         Get <chrono> out of StdLibExtras.h
692         https://bugs.webkit.org/show_bug.cgi?id=172744
693
694         Reviewed by Zalan Bujtas.
695
696         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
697
698 2017-06-02  Zan Dobersek  <zdobersek@igalia.com>
699
700         [WPE] Enable SUBTLE_CRYPTO
701         https://bugs.webkit.org/show_bug.cgi?id=172756
702
703         Reviewed by Michael Catanzaro.
704
705         * Scripts/webkitperl/FeatureList.pm: Set ENABLE_SUBTLE_CRYPTO to 1 for WPE.
706         * wpe/jhbuild.modules: Add libgpg-error and libgcrypt dependencies.
707         * wpe/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Added. Prevents
708         exhausting entropy when running the crypto layout tests.
709
710 2017-06-01  Carlos Garcia Campos  <cgarcia@igalia.com>
711
712         [GTK] Bump GTK+ and its dependencies in jhbuild
713         https://bugs.webkit.org/show_bug.cgi?id=171918
714
715         Reviewed by Carlos Alberto Lopez Perez.
716
717         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
718         (WTR::initializeGtkSettings):
719         * gtk/jhbuild.modules:
720         * gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
721         * gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
722
723 2017-06-01  Carlos Garcia Campos  <cgarcia@igalia.com>
724
725         [GTK] Bump wayland and weston in jhbuild
726         https://bugs.webkit.org/show_bug.cgi?id=171921
727
728         Reviewed by Carlos Alberto Lopez Perez.
729
730         * gtk/jhbuild.modules:
731         * gtk/patches/weston-libweston-include-weston-egl-ext.h-in-drm-x11-and-wa.patch: Added.
732
733 2017-06-01  Andy Estes  <aestes@apple.com>
734
735         REGRESSION (r217626): ENABLE_APPLE_PAY_SESSION_V3 was disabled by mistake
736         https://bugs.webkit.org/show_bug.cgi?id=172828
737
738         Reviewed by Beth Dakin.
739
740         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
741
742 2017-06-01  Jonathan Bedard  <jbedard@apple.com>
743
744         webkitpy: Remove unneeded simulator teardown
745         https://bugs.webkit.org/show_bug.cgi?id=171891
746
747         Reviewed by Aakash Jain.
748
749         * Scripts/webkitpy/port/ios_simulator.py:
750         (IOSSimulatorPort.clean_up_test_run): Remove FIFO deletion since TCP is used
751         for communication between Python and WebKitTestRunner/DumpRenderTree.
752
753 2017-06-01  Keith Miller  <keith_miller@apple.com>
754
755         Undo rollout in r217638 with bug fix
756         https://bugs.webkit.org/show_bug.cgi?id=172824
757
758         Unreviewed, reland patch with unused set_state code removed.
759
760         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
761         (runThreadMessageTest):
762         (TEST):
763
764 2017-06-01  Jonathan Bedard  <jbedard@apple.com>
765
766         webkitpy: Do not send 0 or -1 as a pid to kill_process
767         https://bugs.webkit.org/show_bug.cgi?id=172818
768
769         Reviewed by Darin Adler.
770
771         Sending a signal to process 0 will result in all processes in the group receiving 
772         the signal. Sending a signal to process -1 will result in all non-system processes
773         receiving the signal. Both Executive.kill_process and Executive.check_running_pid
774         should consider these cases
775
776         * Scripts/webkitpy/common/system/executive.py:
777         (Executive.kill_process): Throw exception if pid is undefined, 0 or negative.
778         (Executive.check_running_pid): An undefined pid, pid 0 or a negative pid will
779         never be running, although os.kill may succeed.
780         * Scripts/webkitpy/port/simulator_process.py:
781         (SimulatorProcess.stop): Do not kill process if it is undefined.
782
783 2017-05-31  Alexey Proskuryakov  <ap@apple.com>
784
785         JSC EWS bot does not run on WTF only patches
786         https://bugs.webkit.org/show_bug.cgi?id=172777
787         rdar://problem/32495975
788
789         Reviewed by Aakash Jain.
790
791         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
792         (CheckPatchRelevance): Add a missing comma.
793
794 2017-05-31  Commit Queue  <commit-queue@webkit.org>
795
796         Unreviewed, rolling out r217611 and r217631.
797         https://bugs.webkit.org/show_bug.cgi?id=172785
798
799         "caused wasm-hashset-many.html to become flaky." (Requested by
800         keith_miller on #webkit).
801
802         Reverted changesets:
803
804         "Reland r216808, underlying lldb bug has been fixed."
805         https://bugs.webkit.org/show_bug.cgi?id=172759
806         http://trac.webkit.org/changeset/217611
807
808         "Use dispatch queues for mach exceptions"
809         https://bugs.webkit.org/show_bug.cgi?id=172775
810         http://trac.webkit.org/changeset/217631
811
812 2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>
813
814         EWS bots should reboot themselves more frequently
815         https://bugs.webkit.org/show_bug.cgi?id=172402
816
817         Reviewed by Alexey Proskuryakov.
818
819         Instead of rebooting once a day, EWS bots will reboot after running 10 iterations.
820
821         * EWSTools/start-queue-mac.sh: Remove the restriction placed on the time that the bot will perform a reboot.
822
823 2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>
824
825         Reallocate hardware for iOS bots.
826         https://bugs.webkit.org/show_bug.cgi?id=172657
827
828         Reviewed by Alexey Proskuryakov.
829
830         * BuildSlaveSupport/build.webkit.org-config/config.json:
831
832 2017-05-31  Andy Estes  <aestes@apple.com>
833
834         Rename ENABLE_APPLE_PAY_DELEGATE to ENABLE_APPLE_PAY_SESSION_V3 and bump the supported version number
835         https://bugs.webkit.org/show_bug.cgi?id=172366
836
837         Reviewed by Daniel Bates.
838
839         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
840
841 2017-05-31  Jiewen Tan  <jiewen_tan@apple.com>
842
843         Unreviewed, add Jiewen Tan as a reviewer
844
845         * Scripts/webkitpy/common/config/contributors.json:
846
847 2017-05-31  Adrian Perez de Castro  <aperez@igalia.com>
848
849         [GTK] MiniBrowser's browser_window_get_or_create_web_view_for_automation never creates new windows
850         https://bugs.webkit.org/show_bug.cgi?id=172770
851
852         Reviewed by Michael Catanzaro.
853
854         * MiniBrowser/gtk/BrowserWindow.c:
855         (browser_window_get_or_create_web_view_for_automation): Removed stray semicolon
856         which caused the body of the if-clause to be accidentally empty.
857
858 2017-05-31  Keith Miller  <keith_miller@apple.com>
859
860         Reland r216808, underlying lldb bug has been fixed.
861         https://bugs.webkit.org/show_bug.cgi?id=172759
862
863         Unreviewed, relanding old patch. See: rdar://problem/31183352
864
865         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
866         (runThreadMessageTest):
867         (TEST):
868
869 2017-05-31  Matt Lewis  <jlewis3@apple.com>
870
871         Unreviewed, rolling out r217603.
872
873         This patch broke the internal builds.
874
875         Reverted changeset:
876
877         "Get <chrono> out of StdLibExtras.h"
878         https://bugs.webkit.org/show_bug.cgi?id=172744
879         http://trac.webkit.org/changeset/217603
880
881 2017-05-31  Brent Fulgham  <bfulgham@apple.com>
882
883         Make ResourceLoadStatistics testing more reliable
884         https://bugs.webkit.org/show_bug.cgi?id=172730
885         <rdar://problem/32028373>
886
887         Reviewed by Andy Estes.
888
889         When we tell the UIProcess (WebKitTestRunner) to notify the system about statistics update notifications,
890         we also need to tell the WebProcess to do so, too, or else the test system doesn't get messages.
891
892         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
893         (WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
894
895 2017-05-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>
896
897         [GTK][WPE] run-javascriptcore-tests should use the jhbuild
898         https://bugs.webkit.org/show_bug.cgi?id=172757
899
900         Reviewed by Xabier Rodriguez-Calvar.
901
902         When needed, add the jhbuild wrapper at the beginning of the array
903         that will be invoked to execute the run-jsc-stress-test or testapi
904         commands.
905
906         * Scripts/run-javascriptcore-tests:
907         (runJSCStressTests):
908         * Scripts/webkitdirs.pm:
909         (shouldUseJhbuild):
910
911 2017-05-31  Simon Fraser  <simon.fraser@apple.com>
912
913         Get <chrono> out of StdLibExtras.h
914         https://bugs.webkit.org/show_bug.cgi?id=172744
915
916         Reviewed by Saam Barati.
917
918         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
919
920 2017-05-30  Tim Horton  <timothy_horton@apple.com>
921
922         Keyboard autocorrections do not apply with an active selection (but keyboard acts like they did)
923         https://bugs.webkit.org/show_bug.cgi?id=172735
924         <rdar://problem/32015977>
925
926         Reviewed by Enrica Casucci.
927
928         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
929         (WTR::UIScriptController::applyAutocorrection):
930         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
931         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
932         (WTR::UIScriptController::applyAutocorrection):
933         * TestRunnerShared/UIScriptContext/UIScriptController.h:
934         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
935         (WTR::UIScriptController::applyAutocorrection):
936         Expose applyAutocorrection to UIScriptController. Use a WKTesting method
937         because I don't know how to tap the button in the autocorrection bar from a test.
938
939 2017-05-30  Daniel Bates  <dabates@apple.com>
940
941         Add unit test for WebKit2 C SPI runBeforeUnloadConfirmPanel()
942         https://bugs.webkit.org/show_bug.cgi?id=172671
943
944         Reviewed by Alex Christensen.
945
946         We should add a unit test to ensure we do not regress the WKPageUIClient runBeforeUnloadConfirmPanel() callback.
947         For completeness, the callback runBeforeUnloadConfirmPanel() existed since inception of WKPageUIClient (WKPageUIClientV0).
948
949         * TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp:
950         (TestWebKitAPI::analyzeDialogArguments): Test the runBeforeUnloadConfirmPanel() callback last as we need
951         to trigger a navigation to test it.
952         (TestWebKitAPI::runBeforeUnloadConfirmPanel): Added.
953         (TestWebKitAPI::createNewPage): Wire up the runBeforeUnloadConfirmPanel callback.
954
955 2017-05-30  Jonathan Bedard  <jbedard@apple.com>
956
957         webkitpy: Start servers before setting-up for testing
958         https://bugs.webkit.org/show_bug.cgi?id=172176
959         <rdar://problem/32225538>
960
961         Reviewed by Alexey Proskuryakov.
962
963         On-device testing requires that servers are started before ports set-up their
964         test environments.
965
966         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
967         (LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
968         Servers are unconditionally stopped on exit.
969         (LayoutTestRunner.run_tests): Move the starting of servers to the initializer. The
970         Manager now stops servers.
971         (LayoutTestRunner.start_servers): Set flag to indicate servers are running.
972         (LayoutTestRunner.stop_servers): Check flag, only shutdown servers if they are shutdown.
973         * Scripts/webkitpy/layout_tests/controllers/manager.py:
974         (Manager.__init__): Delay construction of the test runner until we can determine
975         if servers need to be started.
976         (Manager.run): Determine if servers need to be started and construct the test runner.
977         Shut servers down when the test run is finished.
978         (Manager._run_tests): Move the determination of servers to run into Manager.run.
979         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
980         (is_wpt_server_running): Server is not running if no config is found.
981         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
982         (PyWebSocket.is_running): Check if this WebSocket server is running.
983         * Scripts/webkitpy/port/base.py:
984         (Port.__init__): Define secure WebSocket server.
985         (Port.to.is_websocket_server_running): Check if WebSocket servers are defined.
986
987 2017-05-30  Daniel Bates  <dabates@apple.com>
988
989         [WK2] Add runBeforeUnloadConfirmPanel WKUIDelegate SPI; support onbeforeunload confirm panel in MiniBrowser
990         https://bugs.webkit.org/show_bug.cgi?id=172603
991         <rdar://problem/32471306>
992
993         Reviewed by Brady Eidson.
994
995         Implement the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: delegate
996         method in MiniBrowser to show a confirm panel as to whether to allow the unloading of the page when
997         unloading is initiated for a page that registered a onbeforeunload handler.
998
999         Modify TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm to test that the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:
1000         is called. Also fix style nit; pass YES instead of true to avoid implicit conversion from bool to BOOL
1001         when invoking the completion handler in -_webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:.
1002
1003         Until we fix <https://bugs.webkit.org/show_bug.cgi?id=172614> the unit test in TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm
1004         for -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: is only run on Mac
1005         as we do not have the infrastructure to simulate a click/tap on iOS and a click/tap on the page that
1006         registered an onbeforeunload handler is required to show a confirm panel when the page will be unloaded.
1007
1008         * MiniBrowser/mac/WK2BrowserWindowController.m:
1009         (-[WK2BrowserWindowController _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
1010         * TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html:
1011         * TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm:
1012         (sawDialog):
1013         (-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
1014         (-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
1015         (-[ModalAlertsUIDelegate _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
1016
1017 2017-05-30  Alex Christensen  <achristensen@webkit.org>
1018
1019         Update libwebrtc configuration
1020         https://bugs.webkit.org/show_bug.cgi?id=172727
1021
1022         Reviewed by Geoffrey Garen.
1023
1024         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1025
1026 2017-05-30  Fujii Hironori  <Hironori.Fujii@sony.com>
1027
1028         [WinCairo] TestWebKitAPI: ASSERTION FAILED: m_eglDisplay == EGL_NO_DISPLAY
1029         https://bugs.webkit.org/show_bug.cgi?id=172702
1030
1031         Reviewed by Alex Christensen.
1032
1033         EGL PlatformDisplay needs to be shut down before existing a
1034         program on Windows.
1035
1036         * TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp:
1037         (TestWebKitAPI::ScaleWebView::TearDown): Call shutDownWebKit().
1038         * TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:
1039         (TestWebKitAPI::WebViewDestruction::TearDown): Ditto.
1040
1041 2017-05-30  Per Arne Vollan  <pvollan@apple.com>
1042
1043         [Win] fast/shadow-dom/fullscreen-in-slot-fullscreenElement.html is flaky.
1044         https://bugs.webkit.org/show_bug.cgi?id=172709
1045
1046         Reviewed by Brent Fulgham.
1047
1048         Exit fullscreen mode after a fullscreen test.
1049
1050         * DumpRenderTree/win/DumpRenderTree.cpp:
1051         (resetWebViewToConsistentStateBeforeTesting):
1052
1053 2017-05-30  Antti Koivisto  <antti@apple.com>
1054
1055         ASSERTION FAILED: !needsLayout() in com.apple.WebCore: WebCore::FrameView::paintContents in fast/events/tabindex-focus-blur-all.html on WK1
1056         https://bugs.webkit.org/show_bug.cgi?id=172713
1057
1058         Reviewed by Zalan Bujtas.
1059
1060         * DumpRenderTree/mac/ResourceLoadDelegate.mm:
1061         (-[ResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
1062
1063             Remove forced display from plugin resource load delegate. It is testing some long-obsolete
1064             Safari WK1 behavior. Forcing display from this resource load delegate will hit the assertion
1065             because on Mac WK1 it may get invoked from middle of a layout.
1066
1067             Painting code skips out after the assert so it doesn't indicate unsafe access of any sort.
1068
1069 2017-05-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1070
1071         Add a WPE EWS queue
1072         https://bugs.webkit.org/show_bug.cgi?id=172693
1073
1074         Reviewed by Carlos Garcia Campos.
1075
1076         * QueueStatusServer/config/queues.py:
1077         * QueueStatusServer/model/queues.py: Capitalize the name of the
1078         port on the tooltip of the bubbles. Do the same for the GTK port.
1079         (Queue.display_name):
1080         * Scripts/webkitpy/common/config/ews.json: Update the watcher mail
1081         for the GTK+ EWS also. Set for both ports as watcher the alias
1082         bugs-noreply@webkitgtk.org that maintainers of both ports follow.
1083         * Scripts/webkitpy/common/config/ports.py:
1084         (DeprecatedPort.port):
1085         (WpePort):
1086         (WpePort.build_webkit_command):
1087         (WpePort.run_webkit_tests_command):
1088         * Scripts/webkitpy/common/config/ports_unittest.py:
1089         (DeprecatedPortTest):
1090         (DeprecatedPortTest.test_wpe_port):
1091         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
1092         (test_ews_name):
1093
1094 2017-05-29  Zan Dobersek  <zdobersek@igalia.com>
1095
1096         Unreviewed. Bumping the WPEBackend-mesa dependency version.
1097
1098         * wpe/jhbuild.modules: Use the latest version that uses proper GLib
1099         priorities for IPC communication.
1100
1101 2017-05-27  Yusuke Suzuki  <utatane.tea@gmail.com>
1102
1103         [JSC] Map and Set constructors should have fast path for cloning
1104         https://bugs.webkit.org/show_bug.cgi?id=172413
1105
1106         Reviewed by Saam Barati.
1107
1108         * TestWebKitAPI/Tests/WTF/MathExtras.cpp:
1109         (TestWebKitAPI::TEST):
1110
1111 2017-05-27  Zalan Bujtas  <zalan@apple.com>
1112
1113         enclosingIntRect returns a rect with -1 width/height when the input FloatRect overflows integer.
1114         https://bugs.webkit.org/show_bug.cgi?id=172676
1115
1116         Reviewed by Simon Fraser.
1117
1118         * TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
1119         (TestWebKitAPI::TEST):
1120
1121 2017-05-26  Zalan Bujtas  <zalan@apple.com>
1122
1123         TestWebKitAPI: EnclosingIntRect and RoundedIntRect should use EXPECT_EQ.
1124         https://bugs.webkit.org/show_bug.cgi?id=172674
1125
1126         Reviewed by Simon Fraser.
1127
1128         * TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
1129         (TestWebKitAPI::TEST):
1130
1131 2017-05-26  Wenson Hsieh  <wenson_hsieh@apple.com>
1132
1133         Add test resources back into TestWebKitAPI Copy Resources phase
1134
1135         Rubber-stamped by Beth Dakin.
1136
1137         Add two files back into the Copy Resources phase after they were unintentionally
1138         removed in r217447 and r217496.
1139
1140         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1141
1142 2017-05-26  Beth Dakin  <bdakin@apple.com>
1143
1144         Media documents inside iframes should not get controls in the TouchBar unless the 
1145         video is playing
1146         https://bugs.webkit.org/show_bug.cgi?id=172620
1147         -and corresponding-
1148         rdar://problem/32165477
1149
1150         Reviewed by Jon Lee.
1151
1152         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1153         * TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
1154         (TestWebKitAPI::TEST):
1155         * TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Added.
1156
1157 2017-05-25  Joseph Pecoraro  <pecoraro@apple.com>
1158
1159         _WKUserStyleSheet and WKUserScript leak string data
1160         https://bugs.webkit.org/show_bug.cgi?id=172583
1161         <rdar://problem/32395209>
1162
1163         Reviewed by Sam Weinig.
1164
1165         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
1166         We should not have been adopting an autoreleased object.
1167
1168 2017-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
1169
1170         [WK1] iframes in layer-backed NSViews are not cleared between successive draws
1171         https://bugs.webkit.org/show_bug.cgi?id=172554
1172         <rdar://problem/31247133>
1173
1174         Reviewed by Simon Fraser.
1175
1176         Previously, there was no way to make DumpRenderTree's views layer-backed. Unfortunately,
1177         simply setting [WebView setWantsLayer:] is insufficient; turning it on and then off again
1178         leaves some state around inside the NSWindow which isn't easily cleaned up. Instead,
1179         we should just tear down and rebuild the window whenever we need a layer-backed WebView.
1180         We can also use the "webkit-test-runner" header comment to trigger this new layer-backed
1181         codepath.
1182
1183         * DumpRenderTree/TestOptions.h:
1184         * DumpRenderTree/TestOptions.mm:
1185         (TestOptions::TestOptions):
1186         (TestOptions::webViewIsCompatibleWithOptions):
1187         * DumpRenderTree/mac/DumpRenderTree.mm:
1188         (shouldIgnoreWebCoreNodeLeaks):
1189         (allowedFontFamilySet):
1190         (-[DRTMockScroller rectForPart:]):
1191         (-[DRTMockScroller drawKnob]):
1192         (-[DRTMockScroller drawRect:]):
1193         (createWebViewAndOffscreenWindow):
1194         (initializeGlobalsFromCommandLineOptions):
1195         (prepareConsistentTestingEnvironment):
1196         (dumpRenderTree):
1197         (dumpAudio):
1198         (dumpHistoryItem):
1199         (dumpBackForwardListForWebView):
1200         (resetWebViewToConsistentStateBeforeTesting):
1201         (WebThreadLockAfterDelegateCallbacksHaveCompleted):
1202         (runTest):
1203
1204 2017-05-25  Sam Weinig  <sam@webkit.org>
1205
1206         [WebIDL] Use the term 'operation' more consistently
1207         https://bugs.webkit.org/show_bug.cgi?id=172601
1208
1209         Reviewed by Chris Dumez.
1210
1211         We were using the term 'operation', a WebIDL term for function-like
1212         constructs, inconsistently in the code generator. Now, when we use
1213         'operation' when referring to the IDL concept (usually the object the
1214         parser produces) and 'function' when referring to code being generated.
1215
1216         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
1217         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
1218
1219 2017-05-25  Jer Noble  <jer.noble@apple.com>
1220
1221         Unreviewed build fix after r217447; only run test where JSC's ObjC API is available.
1222
1223         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
1224
1225 2017-05-25  Jer Noble  <jer.noble@apple.com>
1226
1227         System sleeps while playing to wireless target, ending stream.
1228         https://bugs.webkit.org/show_bug.cgi?id=172541
1229
1230         Reviewed by Eric Carlson.
1231
1232         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1233         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.html: Added.
1234         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm: Added.
1235         (-[MediaPlaybackSleepAssertionLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):
1236         (-[MediaPlaybackSleepAssertionPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
1237         (TestWebKitAPI::simulateKeyDown):
1238         (TestWebKitAPI::hasAssertionType):
1239         (TestWebKitAPI::TEST):
1240
1241 2017-05-25  Commit Queue  <commit-queue@webkit.org>
1242
1243         Unreviewed, rolling out r217423 and r217424.
1244         https://bugs.webkit.org/show_bug.cgi?id=172607
1245
1246         These caused an api failure on all testers. (Requested by
1247         mlewis13 on #webkit).
1248
1249         Reverted changesets:
1250
1251         "REGRESSION (r216977): 4 leaks introduced in new
1252         WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test"
1253         https://bugs.webkit.org/show_bug.cgi?id=172558
1254         http://trac.webkit.org/changeset/217423
1255
1256         "REGRESSION (r217423): Fix last-second typo in 'auto'"
1257         http://trac.webkit.org/changeset/217424
1258
1259 2017-05-25  Joanmarie Diggs  <jdiggs@igalia.com>
1260
1261         [ATK] Expose doc-footnote ARIA role with ATK_ROLE_FOOTNOTE
1262         https://bugs.webkit.org/show_bug.cgi?id=172355
1263
1264         Reviewed by Chris Fleizach.
1265
1266         Add map ATK_ROLE_FOOTNOTE to "AXFootnote" and bump jhbuild minimum
1267         versions of atk, at-spi2-core, and at-spi2-atk to 2.25.2 (the earliest
1268         releases which support the new platform footnote accessibility role.
1269
1270         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
1271         * gtk/jhbuild.modules:
1272
1273 2017-05-25  David Kilzer  <ddkilzer@apple.com>
1274
1275         REGRESSION (r217423): Fix last-second typo in 'auto'
1276
1277         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
1278         (WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix typo.
1279
1280 2017-05-24  David Kilzer  <ddkilzer@apple.com>
1281
1282         REGRESSION (r216977): 4 leaks introduced in new WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test
1283         <https://webkit.org/b/172558>
1284
1285         Reviewed by Sam Weinig.
1286
1287         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
1288         (WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix the leaks.
1289
1290 2017-05-24  Don Olmstead  <don.olmstead@am.sony.com>
1291
1292         [CMake] Consolidate CMake code related to Cairo
1293         https://bugs.webkit.org/show_bug.cgi?id=172568
1294
1295         Reviewed by Alex Christensen.
1296
1297         * DumpRenderTree/config.h:
1298         * TestWebKitAPI/config.h:
1299
1300 2017-05-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1301
1302         Plumb additional image metadata to item providers when beginning data interaction on an image
1303         https://bugs.webkit.org/show_bug.cgi?id=172536
1304         <rdar://problem/32371300>
1305
1306         Reviewed by Beth Dakin.
1307
1308         Tweak existing image data interaction tests to check for suggested name and estimated size on the generated
1309         source item providers.
1310
1311         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1312         (checkSuggestedNameAndEstimatedSize):
1313         (TestWebKitAPI::TEST):
1314
1315 2017-05-24  Per Arne Vollan  <pvollan@apple.com>
1316
1317         [Win] Create unique network storage session for each DRT.
1318         https://bugs.webkit.org/show_bug.cgi?id=172540
1319
1320         Reviewed by Brent Fulgham.
1321
1322         During layout testing, each DRT instance should have its own network storage session.
1323
1324         * DumpRenderTree/win/DumpRenderTree.cpp:
1325         (prepareConsistentTestingEnvironment):
1326
1327 2017-05-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1328
1329         Respect image UTIs when writing to item providers when beginning data interaction on an image
1330         https://bugs.webkit.org/show_bug.cgi?id=172436
1331         <rdar://problem/31786569>
1332
1333         Reviewed by Beth Dakin.
1334
1335         Tweaks existing unit tests and adds a new test for image data interaction. See WebCore ChangeLog for more
1336         details.
1337
1338         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1339         * TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Added.
1340         * TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Added.
1341
1342         Create a new test page containing a GIF and a file input.
1343
1344         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1345         (checkTypeIdentifierIsRegisteredAtIndex):
1346         (TestWebKitAPI::TEST):
1347
1348 2017-05-23  Per Arne Vollan  <pvollan@apple.com>
1349
1350         [Win] Increase test timeout for slow tests.
1351         https://bugs.webkit.org/show_bug.cgi?id=172449
1352
1353         Reviewed by Alexey Proskuryakov.
1354
1355         Instead of using a fixed timeout of 30 seconds for all tests, we should use the
1356         timeout member in the TestRunner class.
1357
1358         * DumpRenderTree/win/TestRunnerWin.cpp:
1359         (TestRunner::setWaitToDump):
1360
1361 2017-05-15  Matt Rajca  <mrajca@apple.com>
1362
1363         Replace autoplay events that fire at navigation with a DidAutoplayMediaPastThreshold event.
1364         https://bugs.webkit.org/show_bug.cgi?id=172138
1365
1366         Reviewed by Alex Christensen.
1367
1368         Added API tests.
1369
1370         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1371         * TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Added.
1372         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1373         (TEST):
1374         * TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Added.
1375
1376 2017-05-23  Simon Fraser  <simon.fraser@apple.com>
1377
1378         Stop consulting -viewsNeedDisplay when doing layer flushing in WebKit1
1379         https://bugs.webkit.org/show_bug.cgi?id=172522
1380         rdar://problem/31071812
1381
1382         Reviewed by Sam Weinig.
1383
1384         Remove NSWindowStyleMaskFullSizeContentView which is no longer referenced in code.
1385         We set this in the .xib file now.
1386
1387         * MiniBrowser/mac/MiniBrowser_Prefix.pch:
1388
1389 2017-05-22  Simon Fraser  <simon.fraser@apple.com>
1390
1391         Snapshotting via -renderInContext: should do synchronous image decodes
1392         https://bugs.webkit.org/show_bug.cgi?id=172485
1393         rdar://problem/32276146
1394
1395         Reviewed by Tim Horton.
1396
1397         New API test.
1398
1399         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1400         * TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Added.
1401         (-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
1402         (-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
1403         (TestWebKitAPI::getPixelIndex):
1404         (TestWebKitAPI::TEST):
1405
1406 2017-05-23  Myles C. Maxfield  <mmaxfield@apple.com>
1407
1408         Remove dead ENABLE(FONT_LOAD_EVENTS) code
1409         https://bugs.webkit.org/show_bug.cgi?id=172517
1410
1411         Rubber-stamped by Simon Fraser.
1412
1413         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1414
1415 2017-05-23  Wenson Hsieh  <wenson_hsieh@apple.com>
1416
1417         Multiple links should be inserted separately when performing data interaction
1418         https://bugs.webkit.org/show_bug.cgi?id=172489
1419         <rdar://problem/31510832>
1420
1421         Reviewed by Dan Bernstein.
1422
1423         Adds a new test that performs data interaction in a contenteditable with multiple items containing URLs.
1424
1425         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1426         (TestWebKitAPI::TEST):
1427
1428 2017-05-23  Tim Horton  <timothy_horton@apple.com>
1429
1430         REGRESSION: API test WebKit2.WKObject is failing
1431         https://bugs.webkit.org/show_bug.cgi?id=172497
1432         <rdar://problem/31694641>
1433
1434         Reviewed by Geoff Garen.
1435
1436         * TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
1437         (TestWebKitAPI::TEST):
1438         Add a test that ensures that we pretend to at least be *some* kind of
1439         NSString, which my first fix would not have passed.
1440
1441 2017-05-23  youenn fablet  <youenn@apple.com>
1442
1443         There should be an easy way to run HTTP/WPT served tests on a browser
1444         https://bugs.webkit.org/show_bug.cgi?id=172068
1445
1446         Reviewed by Sam Weinig.
1447
1448         Adding a new script open-layout-test to open a layout-test in a
1449         browser and making sure it is served as done through run-webkit-tests.
1450         In case tests should be run using a server, detecting whether the
1451         server are running. If not, calling run-webkit-httpd to run the
1452         servers and open the URL in a browser.
1453         Otherwise, open directly the URL.
1454
1455         Adding an option in run-webkit-httpd to open an URL after having
1456         started the servers.
1457
1458         Adding the --no-http-servers option in run-webkit-tests to not start any HTTP server.
1459         This allows running run-webkit-httpd once and not having to restart
1460         servers everytime a test should be served.
1461
1462         Moving most of run-webkit-httpd logic in its own python file to reuse
1463         it in open-layout-test script.
1464
1465         Adding routines to check whether HTTP and WPT servers are running.
1466
1467         * Scripts/open-layout-test: Added.
1468         (parse_args):
1469         (main):
1470         * Scripts/run-webkit-httpd:
1471         (main):
1472         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
1473         (LayoutTestFinder.find_tests):
1474         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1475         (LayoutTestRunner.run_tests):
1476         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1477         (parse_args):
1478         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
1479         (HttpServerBase._is_server_running_on_all_ports):
1480         (HttpServerBase):
1481         (HttpServerBase._is_running_on_port):
1482         (HttpServerBase._check_that_all_ports_are_available):
1483         (is_http_server_running):
1484         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: Copied from Tools/Scripts/run-webkit-httpd.
1485         (parse_args):
1486         (main):
1487         (run_server):
1488         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1489         (is_wpt_server_running):
1490         * Scripts/webkitpy/port/base.py:
1491         (Port.to.is_http_server_running):
1492         (Port.to):
1493         (Port.to.is_wpt_server_running):
1494         (Port.to.start_web_platform_test_server):
1495         * Scripts/webkitpy/port/driver.py:
1496         (DriverProxy.is_web_platform_test):
1497         (DriverProxy):
1498         (DriverProxy.is_webkit_specific_web_platform_test):
1499
1500 2017-05-23  Emilio Cobos Álvarez  <ecobos@igalia.com>
1501
1502         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
1503         https://bugs.webkit.org/show_bug.cgi?id=171984
1504
1505         Reviewed by Antti Koivisto.
1506
1507         * DumpRenderTree/mac/DumpRenderTree.mm:
1508         (enableExperimentalFeatures):
1509         * WebKitTestRunner/TestController.cpp:
1510         (WTR::TestController::resetPreferencesToConsistentValues):
1511
1512 2017-05-20  Alex Christensen  <achristensen@webkit.org>
1513
1514         REGRESSION(r215686): O(n^2) algorithm in CachedRawResource::addDataBuffer
1515         https://bugs.webkit.org/show_bug.cgi?id=172406
1516         <rdar://32109532>
1517
1518         Reviewed by Brady Eidson.
1519
1520         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
1521         (TestWebKitAPI::checkBuffer):
1522         (TestWebKitAPI::TEST_F):
1523
1524 2017-05-22  Jason Marcell  <jmarcell@apple.com>
1525
1526         Do not enter Subversion-specific logic when parsing Git-based Trac data.
1527         https://bugs.webkit.org/show_bug.cgi?id=172433
1528         <rdar://problem/32234188>
1529
1530         Reviewed by Alexey Proskuryakov.
1531
1532         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
1533         (Trac.prototype._convertCommitInfoElementToObject):
1534
1535 2017-05-22  Tim Horton  <timothy_horton@apple.com>
1536
1537         ExplicitSnapshotsChangeUponNavigation API test often fails
1538         https://bugs.webkit.org/show_bug.cgi?id=172475
1539         <rdar://problem/31688322>
1540
1541         Reviewed by Simon Fraser.
1542
1543         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1544         (-[TestWKWebView _setUpTestWindow:]):
1545         Make TestWKWebView's window layer-backed. This is now the default,
1546         and it's also easy to accidentally write a test that depends on it
1547         (for example, ExplicitSnapshotsChangeUponNavigation adds an NSBox,
1548         which becomes layer backed, just like the WKWebView, but with no
1549         common layer-backed ancestor).
1550
1551 2017-05-22  youenn fablet  <youenn@apple.com>
1552
1553         Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
1554         https://bugs.webkit.org/show_bug.cgi?id=172426
1555
1556         Reviewed by Chris Dumez.
1557
1558         * Scripts/webkitpy/w3c/test_importer.py:
1559         (TestImporter.remove_deleted_files): Outputting warning when trying to delete a file that no longer exists.
1560
1561 2017-05-22  Konstantin Tokarev  <annulen@yandex.ru>
1562
1563         Unreviewed, change my status to reviewer and fill "expertise" field
1564
1565         * Scripts/webkitpy/common/config/contributors.json:
1566
1567 2017-05-22  Tomas Popela  <tpopela@redhat.com>
1568
1569         Remove some of the EFL port leftovers
1570         https://bugs.webkit.org/show_bug.cgi?id=172440
1571
1572         Reviewed by Carlos Garcia Campos.
1573
1574         * BuildSlaveSupport/built-product-archive:
1575         (archiveBuiltProduct):
1576         (extractBuiltProduct):
1577         * BuildSlaveSupport/test-result-archive:
1578         (archiveTestResults):
1579         * ImageDiff/PlatformEfl.cmake: Removed.
1580         * Scripts/run-efl-tests: Removed.
1581         * Scripts/webkit-build-directory:
1582         * Scripts/webkitpy/common/config/contributionareas.py:
1583         * Scripts/webkitpy/common/config/watchlist:
1584         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1585         (parse_args):
1586         (_set_up_derived_options):
1587         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
1588         (PerfTestsRunner.__init__):
1589         * Scripts/webkitpy/style/checker.py:
1590         * Scripts/webkitpy/style/checker_unittest.py:
1591         (GlobalVariablesTest.test_path_rules_specifier):
1592         * gtk/manifest.txt.in:
1593         * jhbuild/jhbuild-wrapper:
1594
1595 2017-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1596
1597         Unreviewed. Do not include WPE files in GTK+ tarballs.
1598
1599         * gtk/manifest.txt.in:
1600
1601 2017-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1602
1603         [GTK] Add webkit_context_menu_item_new_from_gaction
1604         https://bugs.webkit.org/show_bug.cgi?id=159631
1605
1606         Reviewed by Michael Catanzaro.
1607
1608         Update context menu tests to check the new GAction API.
1609
1610         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
1611         (testContextMenuPopulateMenu):
1612
1613 2017-05-21  Michael Catanzaro  <mcatanzaro@igalia.com>
1614
1615         [GTK] Remove Firefox user agent quirk for Google domains
1616         https://bugs.webkit.org/show_bug.cgi?id=171941
1617
1618         Reviewed by Carlos Garcia Campos.
1619
1620         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1621         (TestWebKitAPI::TEST):
1622         (TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk): Deleted.
1623
1624 2017-05-20  Ting-Wei Lan  <lantw44@gmail.com>
1625
1626         [GTK] gtkdoc-fixxref needs --module argument to work
1627         https://bugs.webkit.org/show_bug.cgi?id=172415
1628
1629         Reviewed by Michael Catanzaro.
1630
1631         * gtk/gtkdoc.py:
1632         (GTKDoc._run_gtkdoc_fixxref):
1633
1634 2017-05-20  Alexey Proskuryakov  <ap@apple.com>
1635
1636         make-new-script-test should create tests that use js-test.js, not js-test-pre.js
1637         https://bugs.webkit.org/show_bug.cgi?id=172416
1638
1639         Reviewed by Daniel Bates.
1640
1641         * Scripts/make-new-script-test:
1642
1643 2017-05-19  Fujii Hironori  <Hironori.Fujii@sony.com>
1644
1645         [Win] error LNK2005: WebCore::JSNode::checkSubClassPatchpoint() already defined in WebKit.lib
1646         https://bugs.webkit.org/show_bug.cgi?id=172267
1647
1648         Reviewed by Per Arne Vollan.
1649
1650         TestWebCoreLib and TestWebKitLib have linked both WebCore and WebKit.
1651         TestWebCoreLib should link only with WebCore. And, TestWebKitLib
1652         should link only with WebKit.
1653
1654         Unfortunately, there is a layer violation at the moment.
1655         WebCore::Image::loadPlatformResource needs loadResourceIntoBuffer
1656         in WebKit. This change contains a stub of loadResourceIntoBuffer
1657         in TestWebCoreLib for the workaround.
1658
1659         * TestWebKitAPI/PlatformWin.cmake: Do not link WebKit to
1660         TestWebCoreLib. Do not link WebCore to TestWebKitLib.
1661         * TestWebKitAPI/win/TestWebCoreStubs.cpp: Added.
1662         (loadResourceIntoBuffer): Added a stub.
1663
1664 2017-05-19  Simon Fraser  <simon.fraser@apple.com>
1665
1666         Fix dump-class-layout to handle different file architectures
1667         https://bugs.webkit.org/show_bug.cgi?id=172392
1668
1669         Reviewed by Zalan Bujtas.
1670
1671         Instead of using lldb.LLDB_ARCH_DEFAULT by default, run 'file' on the binary
1672         and use the first architecture reported. Also add a "--architecture" argument
1673         to allow the user to specify an architecture.
1674
1675         * Scripts/dump-class-layout:
1676         (import_lldb):
1677         (verify_type_recursive):
1678         (get_first_file_architecture):
1679         (dump_class):
1680         (main):
1681         (find_build_directory): Deleted.
1682
1683 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
1684
1685         Unreviewed infrastructure fix.
1686
1687         * Scripts/webkitpy/port/ios_simulator.py:
1688         (IOSSimulatorPort._create_devices): Ignore failure to open Simulator.app.
1689
1690 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
1691
1692         webkitpy: Use simctl boot to run multiple simulators at once
1693         https://bugs.webkit.org/show_bug.cgi?id=172374
1694
1695         Reviewed by Alexey Proskuryakov.
1696
1697         * Scripts/webkitpy/common/system/platforminfo.py:
1698         (PlatformInfo.xcode_version): Return the current version of Xcode.
1699         * Scripts/webkitpy/common/system/platforminfo_mock.py:
1700         (MockPlatformInfo.xcode_version): Return version 8.0 for testing.
1701         * Scripts/webkitpy/port/ios_simulator.py:
1702         (IOSSimulatorPort.use_multiple_simulator_apps): Return true if we need to
1703         run multiple Simulator.app instances.
1704         (IOSSimulatorPort._create_simulators): Only copy the simulator app for older
1705         versions of Xcode.
1706         (IOSSimulatorPort._create_devices): Use 'simctl boot' directly unless using
1707         an older version of Xcode.
1708
1709 2017-05-19  Wenson Hsieh  <wenson_hsieh@apple.com>
1710
1711         Unreviewed, fix the build on the latest internal SDK.
1712
1713         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1714         (TestWebKitAPI::TEST):
1715
1716 2017-05-19  Filip Pizlo  <fpizlo@apple.com>
1717
1718         arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided
1719         https://bugs.webkit.org/show_bug.cgi?id=172369
1720
1721         Reviewed by Mark Lam.
1722         
1723         Because I wrote a test that relies on the NoCJIT config scribbling free cells, I thought it
1724         would be a good idea to write this down.
1725
1726         * Scripts/run-jsc-stress-tests:
1727
1728 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
1729
1730         webkitpy: Layout tests which have no output will succeed
1731         https://bugs.webkit.org/show_bug.cgi?id=172322
1732         <rdar://problem/32258350>
1733
1734         Reviewed by David Kilzer.
1735
1736         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
1737         (SingleTestRunner._compare_text): Add FailreNotTested to failures if test has no output.
1738         * Scripts/webkitpy/layout_tests/models/test_failures.py:
1739         (determine_result_type): FailureNotTested means that the test could not be loaded. This
1740         is classified as a MISSING failure.
1741         (FailureNotTested): Added.
1742         (FailureNotTested.message):
1743
1744 2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
1745
1746         Add SixSpeed benchmark to PerformanceTests
1747         https://bugs.webkit.org/show_bug.cgi?id=172326
1748
1749         Reviewed by Sam Weinig.
1750
1751         * Scripts/run-jsc-benchmarks:
1752
1753 2017-05-19  Wenson Hsieh  <wenson_hsieh@apple.com>
1754
1755         [WK1] MiniBrowser should navigate when handling a dropped URL
1756         https://bugs.webkit.org/show_bug.cgi?id=172350
1757
1758         Reviewed by Tim Horton.
1759
1760         Allow all drop actions, including URL navigation, for WebKit1 MiniBrowser.
1761
1762         * MiniBrowser/mac/WK1BrowserWindowController.m:
1763         (-[WK1BrowserWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
1764
1765 2017-05-18  Ryosuke Niwa  <rniwa@webkit.org>
1766
1767         REGRESSION (r216694 - 216712): Performance test Speedometer/Full.html is failing
1768         https://bugs.webkit.org/show_bug.cgi?id=172077
1769
1770         Reviewed by Chris Dumez.
1771
1772         Fixed perftest.py by updating the lines to ignore in Speedometer.
1773
1774         Also start report the results as "Speedometer" instead of "DoYouEvenBench/Full.html" to perf.webkit.org.
1775
1776         * Scripts/webkitpy/performance_tests/perftest.py:
1777         (PerfTest._lines_to_ignore_in_parser_result): Updated for Speedometer 2.0.
1778         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
1779         (PerfTestsRunner._collect_tests): Use "Speedometer" instead of "Speedometer/index.html" as the test name.
1780         (_generate_results_dict): Removed the workaround to keep reporting Speedometer as DoYouEvenBench.
1781         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
1782         (MainTest.test_collect_tests_with_index_html_and_resources): Added.
1783
1784 2017-05-18  Andy Estes  <aestes@apple.com>
1785
1786         ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier
1787         https://bugs.webkit.org/show_bug.cgi?id=172305
1788
1789         Reviewed by Anders Carlsson.
1790
1791         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1792
1793 2017-05-18  Wenson Hsieh  <wenson_hsieh@apple.com>
1794
1795         Selection around attachment elements should not persist when beginning a drag
1796         https://bugs.webkit.org/show_bug.cgi?id=172319
1797         <rdar://problem/32283008>
1798
1799         Reviewed by Tim Horton.
1800
1801         Tests that temporary selection around an attachment does not persist longer than it needs to.
1802
1803         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1804         (TestWebKitAPI::TEST):
1805
1806 2017-05-18  John Wilander  <wilander@apple.com>
1807
1808         Resource Load Statistics: Grandfather domains for existing data records
1809         https://bugs.webkit.org/show_bug.cgi?id=172155
1810         <rdar://problem/24913532>
1811
1812         Reviewed by Alex Christensen.
1813
1814         Adds test infrastructure needed for the added functionality.
1815
1816         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1817         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1818         (WTR::InjectedBundle::didReceiveMessageToPage):
1819         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1820         (WTR::TestRunner::setStatisticsGrandfathered):
1821         (WTR::TestRunner::isStatisticsGrandfathered):
1822         (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
1823         (WTR::TestRunner::statisticsDidScanDataRecordsCallback):
1824         (WTR::TestRunner::setStatisticsGrandfatheringTime):
1825         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1826         * WebKitTestRunner/TestController.cpp:
1827         (WTR::TestController::setStatisticsGrandfathered):
1828         (WTR::TestController::isStatisticsGrandfathered):
1829         (WTR::TestController::setStatisticsGrandfatheringTime):
1830         * WebKitTestRunner/TestController.h:
1831         * WebKitTestRunner/TestInvocation.cpp:
1832         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1833
1834 2017-05-18  Saam Barati  <sbarati@apple.com>
1835
1836         WebAssembly: perform stack checks
1837         https://bugs.webkit.org/show_bug.cgi?id=165546
1838         <rdar://problem/29760307>
1839
1840         Reviewed by Filip Pizlo.
1841
1842         Add some new testing modes for using and not using fast TLS wasm contexts.
1843
1844         * Scripts/run-jsc-stress-tests:
1845
1846 2017-05-18  Daniel Bates  <dabates@apple.com>
1847
1848         REGRESSION (r209608): Cross-origin plugin document opened in child window blocked by parent
1849         window CSP when object-src 'none' is set
1850         https://bugs.webkit.org/show_bug.cgi?id=172038
1851         <rdar://problem/32258262>
1852
1853         Reviewed by Andy Estes.
1854
1855         Teach the test Netscape plugin to look for a URL that contains plugin-document-alert-and-notify-done.pl.
1856         When it sees this URL it will show a JavaScript alert and call testRunner.notifyDone().
1857
1858         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
1859         (NPP_New):
1860
1861 2017-05-18  Per Arne Vollan  <pvollan@apple.com>
1862
1863         [Win] Many layout tests are failing.
1864         https://bugs.webkit.org/show_bug.cgi?id=172286
1865
1866         Reviewed by Brent Fulgham.
1867
1868         Add a FIXME comment about unimplemented functions, instead of writing this to the test result file.
1869  
1870         * DumpRenderTree/win/TestRunnerWin.cpp:
1871         (TestRunner::grantWebNotificationPermission):
1872         (TestRunner::denyWebNotificationPermission):
1873         (TestRunner::removeAllWebNotificationPermissions):
1874         (TestRunner::simulateWebNotificationClick):
1875
1876 2017-05-18  Don Olmstead  <don.olmstead@am.sony.com>
1877
1878         [Win] Remove usage of _snprintf
1879         https://bugs.webkit.org/show_bug.cgi?id=172251
1880
1881         Reviewed by Per Arne Vollan.
1882
1883         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
1884         * MiniBrowser/win/PageLoadTestClient.cpp:
1885         (PageLoadTestClient::dumpRunStatistics):
1886
1887 2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>
1888
1889         Unreviewed, rolling out r217014.
1890
1891         This change caused mac-wk2 LayoutTests to exit early due to
1892         crashes.
1893
1894         Reverted changeset:
1895
1896         "Resource Load Statistics: Grandfather domains for existing
1897         data records"
1898         https://bugs.webkit.org/show_bug.cgi?id=172155
1899         http://trac.webkit.org/changeset/217014
1900
1901 2017-05-17  John Wilander  <wilander@apple.com>
1902
1903         Resource Load Statistics: Grandfather domains for existing data records
1904         https://bugs.webkit.org/show_bug.cgi?id=172155
1905         <rdar://problem/24913532>
1906
1907         Reviewed by Alex Christensen.
1908
1909         Adds test infrastructure needed for the added functionality.
1910
1911         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1912         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1913         (WTR::InjectedBundle::didReceiveMessageToPage):
1914         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1915         (WTR::TestRunner::setStatisticsGrandfathered):
1916         (WTR::TestRunner::isStatisticsGrandfathered):
1917         (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
1918         (WTR::TestRunner::statisticsDidScanDataRecordsCallback):
1919         (WTR::TestRunner::setStatisticsGrandfatheringTime):
1920         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1921         * WebKitTestRunner/TestController.cpp:
1922         (WTR::TestController::setStatisticsGrandfathered):
1923         (WTR::TestController::isStatisticsGrandfathered):
1924         (WTR::TestController::setStatisticsGrandfatheringTime):
1925         * WebKitTestRunner/TestController.h:
1926         * WebKitTestRunner/TestInvocation.cpp:
1927         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1928
1929 2017-05-17  Alex Christensen  <achristensen@webkit.org>
1930
1931         Fix ios-simulator API test after r216977
1932         https://bugs.webkit.org/show_bug.cgi?id=171987
1933
1934         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
1935         (TEST):
1936         <rdar://problem/32260156> covers the investigation of this, but fixing it is 
1937         not as urgent as having the rest of this working. Notably the ephemeral part of the
1938         test works, so something is just wrong with the persistent part.
1939
1940 2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>
1941
1942         Unreviewed, rolling out r216955.
1943
1944         This change caused strange behavior with web-platform-tests
1945         locally and on EWS.
1946
1947         Reverted changeset:
1948
1949         "webkitpy: Start servers before setting-up for testing"
1950         https://bugs.webkit.org/show_bug.cgi?id=172176
1951         http://trac.webkit.org/changeset/216955
1952
1953 2017-05-17  Wenson Hsieh  <wenson_hsieh@apple.com>
1954
1955         A URL type is vended for a non-URL plain text string when starting data interaction
1956         https://bugs.webkit.org/show_bug.cgi?id=172228
1957         <rdar://problem/32166729>
1958
1959         Reviewed by Andy Estes.
1960
1961         Adds two new data interaction tests, SinglePlainTextWordTypeIdentifiers and SinglePlainTextURLTypeIdentifiers,
1962         to verify that a URL UTI is not vended when beginning a data interaction on a single word, but that a URL is
1963         still vended when beginning data interaction on something that resembles a link.
1964
1965         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1966
1967 2017-05-17  David Kilzer  <ddkilzer@apple.com>
1968
1969         BlobDataFileReference::generateReplacementFile() should use mkstemp()
1970         <https://webkit.org/b/172192>
1971
1972         Reviewed by Brent Fulgham.
1973
1974         * Scripts/webkitpy/style/checkers/cpp.py:
1975         (check_language): Add check for mktemp.
1976         (CppChecker): Add 'security/temp_file' category.
1977         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1978         (CppStyleTest.test_insecure_temp_file): Add test.
1979
1980 2017-05-17  Devin Rousso  <drousso@apple.com>
1981
1982         Unreviewed, change my email.
1983
1984         * Scripts/webkitpy/common/config/contributors.json:
1985
1986 2017-05-17  Matt Lewis  <jlewis3@apple.com>
1987
1988         Unreviewed, rolling out r216974.
1989
1990         Revision caused consistent timeouts on all platforms.
1991
1992         Reverted changeset:
1993
1994         "Add a RuntimeEnabledFeature for display: contents, defaulted
1995         to false."
1996         https://bugs.webkit.org/show_bug.cgi?id=171984
1997         http://trac.webkit.org/changeset/216974
1998
1999 2017-05-17  Alex Christensen  <achristensen@webkit.org>
2000
2001         Interacting with WKHTTPCookieStores before creating WKWebViews and WKProcessPools should affect cookies used
2002         https://bugs.webkit.org/show_bug.cgi?id=171987
2003
2004         Reviewed by Brady Eidson.
2005
2006         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
2007         (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2008         (TEST):
2009
2010 2017-05-17  Emilio Cobos Álvarez  <ecobos@igalia.com>
2011
2012         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
2013         https://bugs.webkit.org/show_bug.cgi?id=171984
2014
2015         Reviewed by Antti Koivisto.
2016
2017         * DumpRenderTree/mac/DumpRenderTree.mm:
2018         (enableExperimentalFeatures):
2019         * WebKitTestRunner/TestController.cpp:
2020         (WTR::TestController::resetPreferencesToConsistentValues):
2021
2022 2017-05-16  Timothy Horton  <timothy_horton@apple.com>
2023
2024         Fix the build
2025
2026         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
2027         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
2028
2029 2017-05-16  Tim Horton  <timothy_horton@apple.com>
2030
2031         PageVisibilityStateWithWindowChanges tests sometimes time out
2032         https://bugs.webkit.org/show_bug.cgi?id=172202
2033         <rdar://problem/29653266>
2034
2035         Reviewed by Dean Jackson.
2036
2037         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
2038         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
2039         Make sure the window is miniaturizable, otherwise, in some cases, miniaturize: will not work.
2040
2041 2017-05-16  Jonathan Bedard  <jbedard@apple.com>
2042
2043         webkitpy: Start servers before setting-up for testing
2044         https://bugs.webkit.org/show_bug.cgi?id=172176
2045         <rdar://problem/32225538>
2046
2047         Reviewed by Alexey Proskuryakov.
2048
2049         On-device testing requires that servers are started before ports set-up their
2050         test environments.
2051
2052         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
2053         (LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
2054         (LayoutTestRunner.run_tests): Move the starting of servers to the initializer.
2055         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2056         (Manager.__init__): Delay construction of the test runner until we can determine
2057         if servers need to be started.
2058         (Manager.run): Determine if servers need to be started and construct the test runner.
2059         (Manager._run_tests): Move the determination of servers to run into Manager.run.
2060
2061 2017-05-16  Adrian Perez de Castro  <aperez@igalia.com>
2062
2063         Unreviewed, adding myself to contributors.json
2064
2065         * Scripts/webkitpy/common/config/contributors.json:
2066
2067 2017-05-16  Claudio Saavedra  <csaavedra@igalia.com>
2068
2069         [GTK] Tests that always pass when run alone, but fail in the bots
2070         https://bugs.webkit.org/show_bug.cgi?id=168572
2071
2072         Reviewed by Michael Catanzaro.
2073
2074         PlatformWebView::viewSupportsOptions() is basically a comparison
2075         that checks that the passed options are the ones supported by the
2076         web view. There is no reason for them to be implemented for each
2077         platform differently. In fact doing so causes issues each time a
2078         new option is added, if the corresponding platform implementation
2079         is not updated accordingly.
2080
2081         A consequence of not updating the viewSupportOptions()
2082         implementations when new options are added is that tests that need
2083         these options might fail if they are executed after a test that
2084         didn't need the option, as the webview will be reused even if the
2085         option is not supported. This cannot be spotted when running the
2086         tests individually. See bug #165133 for other example of the same
2087         problem.
2088
2089         Remove the platform implementations and make the comparison a
2090         method of the TestOptions structure, so that the check is in one
2091         place. For the time being, only include in the comparison the
2092         options that were checked in the mac platform, which seem to be
2093         the only ones relevant this far (unless newer ones have also been
2094         forgotten).
2095
2096         * WebKitTestRunner/PlatformWebView.h:
2097         (WTR::PlatformWebView::viewSupportsOptions): Use the method
2098         defined below.
2099         * WebKitTestRunner/TestOptions.h:
2100         (WTR::TestOptions::hasSameInitializationOptions): Added.
2101         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2102         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2103         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2104         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2105         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2106         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2107         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2108         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2109
2110 2017-05-15  Yusuke Suzuki  <utatane.tea@gmail.com>
2111
2112         [JSC] Build testapi in non Apple ports
2113         https://bugs.webkit.org/show_bug.cgi?id=172103
2114
2115         Reviewed by Filip Pizlo.
2116
2117         Now testapi is drived in JSCOnly, GTK and WPE ports too.
2118
2119         * Scripts/build-jsc:
2120         * Scripts/run-javascriptcore-tests:
2121
2122 2017-05-15  Youenn Fablet  <youenn@apple.com>
2123
2124         WPT test importer should not account for slow manual tests
2125         https://bugs.webkit.org/show_bug.cgi?id=172127
2126
2127         Reviewed by Ryosuke Niwa.
2128
2129         Making sure manual tests are not triggering updating tests-options.json file.
2130
2131         * Scripts/webkitpy/w3c/test_importer.py:
2132         (TestImporter.find_importable_tests):
2133         (TestImporter._already_identified_as_resource_file):
2134         (TestImporter.update_tests_options):
2135         * Scripts/webkitpy/w3c/test_importer_unittest.py:
2136         (test_manual_slow_test):
2137
2138 2017-05-15  Jonathan Bedard  <jbedard@apple.com>
2139
2140         webkitpy: Some versions of simctl do not place parenthesis around runtime identifiers
2141         https://bugs.webkit.org/show_bug.cgi?id=172142
2142
2143         Reviewed by Tim Horton.
2144
2145         * Scripts/webkitpy/xcode/simulator.py:
2146         (Simulator._parse_runtimes): Newer versions of simctl output do not put parenthesis
2147         around runtime identifiers.
2148         * Scripts/webkitpy/xcode/simulator_unittest.py: Add tests for new simctl output.
2149
2150 2017-05-15  Ryosuke Niwa  <rniwa@webkit.org>
2151
2152         Update ARES-6 plan file to use the latest version
2153         https://bugs.webkit.org/show_bug.cgi?id=172139
2154
2155         Reviewed by Keith Miller.
2156
2157         Include r216538.
2158
2159         * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
2160
2161 2017-05-15  Jeremy Jones  <jeremyj@apple.com>
2162
2163         Disable Picture In Picture API tests on unsupported platforms.
2164         https://bugs.webkit.org/show_bug.cgi?id=172125
2165         rdar://problem/32199477
2166
2167         Reviewed by Simon Fraser.
2168
2169         The callbacks and allowing picture-in-picture require new SPI.
2170
2171         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
2172
2173 2017-05-15  Brady Eidson  <beidson@apple.com>
2174
2175         [ios-simulator] API test WKWebView.ClearAppCache is failing.
2176         https://bugs.webkit.org/show_bug.cgi?id=172120
2177
2178         Unreviewed test gardening.
2179
2180         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2181         (TEST): ios-sim needs explicit deleting of the app cache paths that I'd removed in 216805.
2182           Restoring that code fixes this.
2183
2184 2017-05-15  Timothy Horton  <timothy_horton@apple.com>
2185
2186         Null deref under WebContentReader::readURL when interacting with a file URL
2187         https://bugs.webkit.org/show_bug.cgi?id=172045
2188         <rdar://problem/25880647>
2189
2190         Reviewed by Wenson Hsieh.
2191
2192         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2193         (TestWebKitAPI::TEST):
2194         The text of the file URL is pasted because a textual version of it gets
2195         onto the pasteboard. However, this test would have crashed before. Also
2196         tests that we don't make an <a>.
2197
2198 2017-05-14  Per Arne Vollan  <pvollan@apple.com>
2199
2200         [Win] fast/cookies/local-file-can-set-cookies.html is flaky.
2201         https://bugs.webkit.org/show_bug.cgi?id=172071
2202
2203         Reviewed by Alexey Proskuryakov.
2204
2205         * DumpRenderTree/win/DumpRenderTree.cpp:
2206         (resetWebPreferencesToConsistentValues):
2207
2208 2017-05-14  Chris Dumez  <cdumez@apple.com>
2209
2210         Drop PassRefPtr class from WTF
2211         https://bugs.webkit.org/show_bug.cgi?id=172091
2212
2213         Reviewed by Alex Christensen.
2214
2215         Drop API test coverage.
2216
2217         * TestWebKitAPI/Tests/WTF/Ref.cpp:
2218         (TestWebKitAPI::TEST):
2219         (TestWebKitAPI::passWithPassRefPtr): Deleted.
2220
2221 2017-05-13  Eric Carlson  <eric.carlson@apple.com>
2222
2223         [MediaStream] deviceId constraint doesn't work with getUserMedia
2224         https://bugs.webkit.org/show_bug.cgi?id=171877
2225         <rdar://problem/31899730>
2226
2227         Reviewed by Jer Noble.
2228
2229         The device ID hash salt is now required for getUserMedia to check deviceId constraint, so
2230         implement the "checkUserMediaPermission" callback.
2231         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
2232         (TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
2233         (TestWebKitAPI::checkUserMediaPermissionCallback):
2234         (TestWebKitAPI::TEST):
2235
2236         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:
2237         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
2238
2239 2017-05-13  Chris Dumez  <cdumez@apple.com>
2240
2241         Stop using RefPtr::release()
2242         https://bugs.webkit.org/show_bug.cgi?id=172074
2243
2244         Reviewed by Geoffrey Garen.
2245
2246         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
2247         (TestWebKitAPI::TEST):
2248
2249 2017-05-13  Commit Queue  <commit-queue@webkit.org>
2250
2251         Unreviewed, rolling out r216808.
2252         https://bugs.webkit.org/show_bug.cgi?id=172075
2253
2254         caused lldb to hang when debugging (Requested by smfr on
2255         #webkit).
2256
2257         Reverted changeset:
2258
2259         "Use Mach exceptions instead of signals where possible"
2260         https://bugs.webkit.org/show_bug.cgi?id=171865
2261         http://trac.webkit.org/changeset/216808
2262
2263 2017-05-12  Alex Christensen  <achristensen@webkit.org>
2264
2265         Rename WKContentExtension to WKContentRuleList
2266         https://bugs.webkit.org/show_bug.cgi?id=172053
2267         <rdar://problem/32141005>
2268
2269         Reviewed by Geoffrey Garen.
2270
2271         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm:
2272         (WKContentRuleListStoreTest::SetUp):
2273         (TEST_F):
2274         (-[ContentRuleListDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2275         (WKContentExtensionStoreTest::SetUp): Deleted.
2276         (-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
2277
2278 2017-05-12  Keith Miller  <keith_miller@apple.com>
2279
2280         Use Mach exceptions instead of signals where possible
2281         https://bugs.webkit.org/show_bug.cgi?id=171865
2282
2283         Reviewed by Mark Lam.
2284
2285         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
2286         (runThreadMessageTest):
2287         (TEST):
2288
2289 2017-05-12  Jeremy Jones  <jeremyj@apple.com>
2290
2291         Add objc version of WK2 UIPageClient setHasVideoInPictureInPicture and rename it to hasVideoInPictureInPictureDidChange.
2292         https://bugs.webkit.org/show_bug.cgi?id=172048
2293         rdar://problem/32163054
2294
2295         Reviewed by Simon Fraser.
2296
2297         Add a WKWebView test for hasVideoInPictureInPictureDidChange UIDelegate callback.
2298
2299         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html:
2300         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
2301         (hasVideoInPictureInPictureDidChange):
2302         (-[PictureInPictureUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
2303         (-[PictureInPictureUIDelegate userContentController:didReceiveScriptMessage:]):
2304         (TestWebKitAPI::TEST):
2305
2306 2017-05-12  Brady Eidson  <beidson@apple.com>
2307
2308         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
2309         https://bugs.webkit.org/show_bug.cgi?id=172030
2310
2311         Unreviewed - Test gardening
2312
2313         Try to resolve this once and for all by using the WebsiteDataStore API to nuke everything
2314         before the test starts.
2315
2316         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2317         (defaultWebsiteCacheDirectory):
2318         (defaultApplicationCacheDirectory):
2319         (TEST):
2320         (defaultWebsiteDataDirectory): Deleted.
2321
2322 2017-05-12  David Quesada  <david_quesada@apple.com>
2323
2324         Add SPI for overriding WKWebView's clipping behavior for _visibleContentRect
2325         https://bugs.webkit.org/show_bug.cgi?id=172000
2326         rdar://problem/32144756
2327
2328         Reviewed by Simon Fraser.
2329
2330         Added API tests to verify that WKWebView provides the expected value for
2331         _visibleContentRect in various configurations. (i.e. not inside a scrollview,
2332         inside a scrollview but not clipped, clipped by an ancestor scrollview,
2333         clipped by the webview's _enclosingViewForExposedRectComputation)
2334
2335         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2336         * TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Added.
2337         (-[TestWKWebViewWithEnclosingView _enclosingViewForExposedRectComputation]):
2338         (TestWebKitAPI::TEST):
2339
2340 2017-05-12  Brady Eidson  <beidson@apple.com>
2341
2342         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
2343         https://bugs.webkit.org/show_bug.cgi?id=172030
2344
2345         Unreviewed - Test gardening, in effect...
2346
2347         More exploration as to why this continues to fail on the bots.
2348         
2349         This change should give us a smoking gun.
2350         
2351         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2352         (TEST):
2353
2354 2017-05-12  Hyungwook Lee  <hyungwook.lee@navercorp.com>
2355
2356         [GTK] Fix compile warnings in PlatformImageCairo.cpp
2357         https://bugs.webkit.org/show_bug.cgi?id=171850
2358
2359         Reviewed by Michael Catanzaro.
2360
2361         * ImageDiff/cairo/PlatformImageCairo.cpp:
2362         (ImageDiff::PlatformImage::createFromStdin):
2363         (ImageDiff::PlatformImage::writeAsPNGToStdout):
2364
2365 2017-05-12  Jeremy Jones  <jeremyj@apple.com>
2366
2367         Add UIClient callback for when picture-in-picture is activated.
2368         https://bugs.webkit.org/show_bug.cgi?id=172023
2369
2370         Reviewed by Simon Fraser.
2371
2372         Added a test for WKPageUIClientV10 setHasVideoInPictureInPicture.
2373
2374         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2375         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Added.
2376         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Added.
2377         (onLoadedCompletedCallback):
2378         (waitUntilOnLoadIsCompleted):
2379         (didFinishLoadForFrame):
2380         (setHasVideoInPictureInPicture):
2381         (TestWebKitAPI::TEST):
2382
2383 2017-05-12  Jonathan Bedard  <jbedard@apple.com>
2384
2385         Unreviewed follow-up to r216776.
2386
2387         * Scripts/webkitpy/port/base.py:
2388         (Port.path_to_crash_logs): Raise not implemented.
2389         * Scripts/webkitpy/port/test.py:
2390         (TestPort.path_to_crash_logs): Return results directory as the location of crash logs.
2391         * Scripts/webkitpy/port/win.py:
2392         (WinPort.path_to_crash_logs): Ditto.
2393
2394 2017-05-12  Alexey Proskuryakov  <ap@apple.com>
2395
2396         Bot watcher's dashboard shows results links twice sometimes
2397         https://bugs.webkit.org/show_bug.cgi?id=172043
2398
2399         Reviewed by Tim Horton.
2400
2401         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
2402         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
2403
2404 2017-05-12  Brady Eidson  <beidson@apple.com>
2405
2406         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
2407         https://bugs.webkit.org/show_bug.cgi?id=172030
2408
2409         Unreviewed - Test gardening, in effect...
2410
2411         This failure is only being seen by the bots.
2412         
2413         I believe this test is utterly broken in the first place; when it checks the .wal file's
2414         size that is not actually an indicator that the records were deleted.
2415         
2416         But that isn't what's coming up as failure on the bots.
2417         
2418         This patch is an attempt to:
2419         1 - More forcefully clear the Website data directory of leftovers before the test starts.
2420         2 - Give an earlier indication of the failure that the bots are seeing, to possibly reveal more.
2421
2422         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2423         (defaultWebsiteDataDirectory):
2424         (defaultApplicationCacheDirectory):
2425         (TEST):
2426
2427 2017-05-12  Jonathan Bedard  <jbedard@apple.com>
2428
2429         webkitpy: Pass directory with crash logs into CrashLogs
2430         https://bugs.webkit.org/show_bug.cgi?id=172033
2431         <rdar://problem/32157616>
2432
2433         Reviewed by Daniel Bates.
2434
2435         Refactor CrashLogs and the callers of CrashLogs so that the port object owns
2436         the location of crash logs.
2437
2438         * Scripts/webkitpy/common/system/crashlogs.py:
2439         (CrashLogs.__init__): Pass mandatory crash_log_directory when constructing.
2440         (CrashLogs._find_newest_log_darwin): Use self._crash_log_directory instead of
2441         generating one.
2442         (CrashLogs._find_newest_log_win): Use self._crash_log_directory instead of
2443         self._results_directory.
2444         (CrashLogs._find_all_logs_darwin): Use self._crash_log_directory instead of
2445         generating one.
2446         (CrashLogs._log_directory_darwin): Moved to port.
2447         * Scripts/webkitpy/common/system/crashlogs_unittest.py: Update tests since the path
2448         to the crash log is no longer owned by CrashLogs.
2449         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Use the general
2450         directory for uploading crash logs. Note that crash logs are only supported on Mac
2451         and Windows.
2452         * Scripts/webkitpy/port/apple.py: Remove unneeded CrashLogs import.
2453         * Scripts/webkitpy/port/base.py:
2454         (Port.path_to_crash_logs): Unless ports declare otherwise, crash logs are assumed
2455         to be in the results directory.
2456         * Scripts/webkitpy/port/darwin.py:
2457         (DarwinPort.path_to_crash_logs): Moved from CrashLogs._log_directory_darwin.
2458         (DarwinPort._look_for_all_crash_logs_in_log_dir): Use port specific crash log path.
2459         (DarwinPort._get_crash_log): Ditto.
2460         * Scripts/webkitpy/port/darwin_testcase.py:
2461         (DarwinTest.test_crashlog_path): Test that the Darwin ports are correctly calculating
2462         the path to crash logs.
2463         * Scripts/webkitpy/port/ios_device.py:
2464         (IOSDevicePort.path_to_crash_logs): Currently, crash log retrieval is undefined for iOS.
2465         * Scripts/webkitpy/port/ios_device_unittest.py:
2466         (IOSDeviceTest.test_crashlog_path): Currently, crash log retrieval is undefined for iOS.
2467         * Scripts/webkitpy/port/ios_simulator.py: Remove unneeded CrashLogs import.
2468         * Scripts/webkitpy/port/mac.py: Ditto.
2469         * Scripts/webkitpy/port/test.py:
2470         (TestDriver.run_test): Use port specific crash log path when retrieving crash logs.
2471         * Scripts/webkitpy/port/win.py:
2472         (WinPort._get_crash_log): Ditto.
2473         * Scripts/webkitpy/tool/commands/queries.py:
2474         (execute): Construct a port object since this is the object which owns the path to crash logs.
2475
2476 2017-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2477
2478         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/create-navigation-data after r216615.
2479
2480         In r216615 the custom code for window.open() was removed. The generated code now correctly handles the optional
2481         URL parameter using the default value "about:blank" when not provided.
2482
2483         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
2484         (testWebViewCreateNavigationData):
2485
2486 2017-05-11  Youenn Fablet  <youenn@apple.com>
2487
2488         Allow WPT server to serve specific WebKit test
2489         https://bugs.webkit.org/show_bug.cgi?id=171479
2490
2491         Reviewed by Ryosuke Niwa.
2492
2493         Adding a new mount point to WPT server.
2494         It points to LayoutTests/http/wpt folder and is triggered on "/WebKit" urls.
2495
2496         Updating the webkitpy infrastructure to launch WPT server and do test url mapping for LayoutTests/wpt tests.
2497
2498         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2499         (Manager.__init__):
2500         (Manager._is_http_test):
2501         (Manager._needs_web_platform_test):
2502         (Manager._run_tests):
2503         (Manager._is_web_platform_test): Deleted.
2504         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
2505         (build_routes):
2506         (main):
2507         * Scripts/webkitpy/port/driver.py:
2508         (Driver):
2509         (Driver.is_webkit_specific_web_platform_test):
2510         (Driver.test_to_uri):
2511         (Driver._command_from_driver_input):
2512
2513 2017-05-11  Brady Eidson  <beidson@apple.com>
2514
2515         [WKWebsiteDataStore removeDataOfTypes:...] doesn't work for IndexedDB if the data store has a custom IDB path.
2516         <rdar://problem/30612463> and https://bugs.webkit.org/show_bug.cgi?id=171994
2517
2518         Reviewed by Andy Estes.
2519         Informal review by Maureen Daum.
2520
2521         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2522         (TEST):
2523
2524 2017-05-11  Joseph Pecoraro  <pecoraro@apple.com>
2525
2526         REGRESSION(r216217): lldb_webkit.py no longer prints out a WTFString, StringImpl needs to handle StringImplShape change
2527         https://bugs.webkit.org/show_bug.cgi?id=171989
2528
2529         Reviewed by Brian Burg.
2530
2531         * lldb/lldb_webkit.py:
2532         (WTFStringImplProvider.get_data8):
2533         (WTFStringImplProvider.get_data16):
2534         m_data8 and m_data16 are now part of the superclass StringImplShape
2535         instead of directly in StringImpl. So first get the shape by getting
2536         index 0, and the data properties are the same offset within that.
2537
2538 2017-05-11  Joseph Pecoraro  <pecoraro@apple.com>
2539
2540         Remove Vibration API
2541         https://bugs.webkit.org/show_bug.cgi?id=171766
2542
2543         Rubber-stamped by Alexey Proskuryakov.
2544
2545         * Scripts/webkitperl/FeatureList.pm:
2546
2547 2017-05-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2548
2549         Add WPE release bots
2550         https://bugs.webkit.org/show_bug.cgi?id=171973
2551
2552         Reviewed by Žan Doberšek.
2553
2554         This adds a WPE Release Build bot (64-bit) and a WPE Release Test bot.
2555         It also adds a new WPE buildbot category.
2556
2557         * BuildSlaveSupport/build.webkit.org-config/config.json:
2558         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2559         (InstallWpeDependencies):
2560         (appendCustomBuildFlags):
2561         (Factory.__init__):
2562         (loadBuilderConfig):
2563         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2564         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
2565
2566 2017-05-09  Sam Weinig  <sam@webkit.org>
2567
2568         Remove support for legacy Notifications
2569         https://bugs.webkit.org/show_bug.cgi?id=171487
2570
2571         Reviewed by Jon Lee.
2572
2573         * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
2574         (DRTDesktopNotificationPresenter::checkNotificationPermission):
2575         * Scripts/webkitperl/FeatureList.pm:
2576         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2577         Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
2578
2579 2017-05-10  Michael Catanzaro  <mcatanzaro@igalia.com>
2580
2581         Remove user agent quirk for Slack
2582         https://bugs.webkit.org/show_bug.cgi?id=171869
2583
2584         Reviewed by Carlos Garcia Campos.
2585
2586         Remove the corresponding test.
2587
2588         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
2589         (TestWebKitAPI::TEST):
2590
2591 2017-05-10  Commit Queue  <commit-queue@webkit.org>
2592
2593         Unreviewed, rolling out r216578.
2594         https://bugs.webkit.org/show_bug.cgi?id=171920
2595
2596         Broke the GTK+ build with Wayland enabled (Requested by KaL on
2597         #webkit).
2598
2599         Reverted changeset:
2600
2601         "[GTK] Bump GTK+ and its dependencies in jhbuild"
2602         https://bugs.webkit.org/show_bug.cgi?id=171918
2603         http://trac.webkit.org/changeset/216578
2604
2605 2017-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2606
2607         [GTK] Bump GTK+ and its dependencies in jhbuild
2608         https://bugs.webkit.org/show_bug.cgi?id=171918
2609
2610         Reviewed by Carlos Alberto Lopez Perez.
2611
2612         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
2613         (WTR::initializeGtkSettings):
2614         * gtk/jhbuild.modules:
2615         * gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
2616         * gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
2617
2618 2017-05-10  Don Olmstead  <don.olmstead@am.sony.com>
2619
2620         [Win] Set CMake args in build-webkit
2621         https://bugs.webkit.org/show_bug.cgi?id=171436
2622
2623         Reviewed by Per Arne Vollan.
2624
2625         * Scripts/build-webkit:
2626
2627 2017-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2628
2629         ImageDiff: Add CG implementation for new ImageDiff
2630         https://bugs.webkit.org/show_bug.cgi?id=170608
2631
2632         Reviewed Alex Christensen.
2633
2634         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2635         * DumpRenderTree/win/ImageDiffCairo.cpp: Removed.
2636         * DumpRenderTree/win/ImageDiffWin.cpp: Removed.
2637         * ImageDiff/CMakeLists.txt:
2638         * ImageDiff/Cairo.cmake:
2639         * ImageDiff/ImageDiff.cpp:
2640         (main):
2641         * ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
2642         * ImageDiff/PlatformImage.cpp:
2643         * ImageDiff/PlatformImage.h:
2644         * ImageDiff/cairo/PlatformImageCairo.cpp:
2645         * ImageDiff/cg/ImageDiff.cpp: Removed.
2646         * ImageDiff/cg/PlatformImageCG.cpp: Added.
2647         (ImageDiff::PlatformImage::createFromStdin):
2648         (ImageDiff::PlatformImage::createFromDiffData):
2649         (ImageDiff::PlatformImage::PlatformImage):
2650         (ImageDiff::PlatformImage::~PlatformImage):
2651         (ImageDiff::PlatformImage::width):
2652         (ImageDiff::PlatformImage::height):
2653         (ImageDiff::PlatformImage::rowBytes):
2654         (ImageDiff::PlatformImage::hasAlpha):
2655         (ImageDiff::PlatformImage::pixels):
2656         (ImageDiff::PlatformImage::writeAsPNGToStdout):
2657
2658 2017-05-10  Zan Dobersek  <zdobersek@igalia.com>
2659
2660         Enable FTL JIT by default on AArch64
2661         https://bugs.webkit.org/show_bug.cgi?id=144039
2662
2663         Reviewed by Yusuke Suzuki.
2664
2665         * Scripts/build-jsc: Enable the FTL JIT option by default on ARM64.
2666         * Scripts/run-jsc-stress-tests: Unmark the ARM64 and Linux combination
2667         as an unsupported FTL platform.
2668         * Scripts/webkitdirs.pm:
2669         (isARM64): Returns 1 if the determined architecture is 'arm64'.
2670         * Scripts/webkitperl/FeatureList.pm: Enable FTL_JIT and WEBASSEMBLY on ARM64.
2671
2672 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
2673
2674         webkitpy: Remove unneeded crash log retrieval, refactor Darwin crash retrieval
2675         https://bugs.webkit.org/show_bug.cgi?id=170857
2676         <rdar://problem/31635373>
2677
2678         Reviewed by Aakash Jain.
2679
2680         Since LayoutTestRelay has been removed, iOS Simulators and Macs can use the same
2681         code to search for crash logs.
2682
2683         * Scripts/webkitpy/port/darwin.py:
2684         (DarwinPort._get_crash_log): Moved from MacPort.
2685         * Scripts/webkitpy/port/darwin_testcase.py:
2686         (DarwinTest.test_get_crash_log): Moved from MacTest.
2687         * Scripts/webkitpy/port/ios_device.py:
2688         (IOSDevicePort._get_crash_log): Implement pass-through for iOS device, since iOS
2689         devices must search for crash-logs remotely.
2690         * Scripts/webkitpy/port/ios_simulator.py:
2691         (IOSSimulatorPort._get_crash_log): Deleted.
2692         * Scripts/webkitpy/port/ios_simulator_unittest.py:
2693         (IOSSimulatorTest.test_get_crash_log): Deleted.
2694         * Scripts/webkitpy/port/mac.py:
2695         (MacPort._get_crash_log): Moved to DarwinPort
2696         * Scripts/webkitpy/port/mac_unittest.py:
2697         (MacTest.test_get_crash_log): Moved to DarwinTest.
2698
2699 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
2700
2701         build ImageDiff with host SDK from Make
2702         https://bugs.webkit.org/show_bug.cgi?id=171835
2703
2704         Reviewed by Alexey Proskuryakov.
2705
2706         ImageDiff should be built for the default SDK and default architecture when
2707         the SDKROOT is set to either iOS device or iOS simulator. Check the
2708         DO_NOT_BUILD_IMAGE_DIFF flag to skip the ImageDiff build.
2709
2710         * ImageDiff/Makefile: Use Mac SDK when building for iOS Simulator or iOS device.
2711         * Makefile: Do not build ImageDiff if the DO_NOT_BUILD_IMAGE_DIFF flag is set.
2712
2713 2017-05-09  Matt Lewis  <jlewis3@apple.com>
2714
2715         Unreviewed, adding myself to contributors.json
2716
2717         * Scripts/webkitpy/common/config/contributors.json:
2718
2719 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
2720
2721         REGRESSION: ImageDiff not building with make
2722         https://bugs.webkit.org/show_bug.cgi?id=171788
2723
2724         Reviewed by Alex Christensen.
2725
2726         * Makefile: Build ImageDiff for all platforms.
2727
2728 2017-05-09  Fujii Hironori  <Hironori.Fujii@sony.com>
2729
2730         [Win] ImageDiff isn't built since Bug 168945
2731         https://bugs.webkit.org/show_bug.cgi?id=171847
2732
2733         Reviewed by Alex Christensen.
2734
2735         * CMakeLists.txt: Add 'ImageDiff' sub-directory to build if WIN32.
2736         * ImageDiff/ImageDiff.cpp: Include some header files to fix compilation errors.
2737         * ImageDiff/PlatformWin.cmake: Define USE_CAIRO if WinCairo port.
2738
2739 2017-05-09  Zan Dobersek  <zdobersek@igalia.com>
2740
2741         Upstream the WPE port
2742         https://bugs.webkit.org/show_bug.cgi?id=171110
2743
2744         Reviewed by Alex Christensen.
2745
2746         webkit-dev thread:
2747         https://lists.webkit.org/pipermail/webkit-dev/2017-April/028923.html
2748
2749         Add WPE support to various tooling scripts, TestWebKitAPI and WebKitTestRunner.
2750         In-file changes removed from this ChangeLog entry for brevity.
2751
2752         * BuildSlaveSupport/built-product-archive:
2753         * BuildSlaveSupport/test-result-archive:
2754         * CMakeLists.txt:
2755         * ImageDiff/PlatformWPE.cmake: Added.
2756         * Scripts/build-dumprendertree:
2757         * Scripts/build-webkit:
2758         * Scripts/build-webkittestrunner:
2759         * Scripts/update-webkit-libs-jhbuild:
2760         * Scripts/update-webkitwpe-libs: Added.
2761         * Scripts/webkitdirs.pm:
2762         * Scripts/webkitperl/FeatureList.pm:
2763         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2764         * Scripts/webkitpy/port/factory.py:
2765         * Scripts/webkitpy/port/wpe.py: Added.
2766         * TestWebKitAPI/PlatformWPE.cmake: Added.
2767         * TestWebKitAPI/wpe/InjectedBundleControllerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
2768         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp: Added.
2769         * TestWebKitAPI/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
2770         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
2771         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
2772         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
2773         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2774         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2775         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2776         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Added.
2777         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Added.
2778         * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp: Added.
2779         * WebKitTestRunner/InjectedBundle/wpe/InjectedBundleWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
2780         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
2781         * WebKitTestRunner/PlatformWPE.cmake: Added.
2782         * WebKitTestRunner/PlatformWebView.h:
2783         * WebKitTestRunner/TestController.cpp:
2784         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp: Added.
2785         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp: Added.
2786         * WebKitTestRunner/wpe/HeadlessViewBackend.h: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h.
2787         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: Added.
2788         * WebKitTestRunner/wpe/TestControllerWPE.cpp: Added.
2789         * WebKitTestRunner/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
2790         * jhbuild/jhbuild-wrapper:
2791         * wpe/generate-inspector-gresource-manifest.py: Added.
2792         * wpe/jhbuild.modules: Added.
2793         * wpe/jhbuildrc: Added.
2794         * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Added.
2795         * wpe/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Added.
2796         * wpe/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Added.
2797         * wpe/patches/gdate-suppress-string-format-literal-warning.patch: Added.
2798         * wpe/patches/glib-warning-fix.patch: Added.
2799         * wpe/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Added.
2800         * wpe/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Added.
2801         * wpe/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Added.
2802         * wpe/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Added.
2803         * wpe/patches/gstreamer-typefind-Only-push-a-CAPS-event-downstream-if-the-.patch: Added.
2804
2805 2017-05-08  Jonathan Bedard  <jbedard@apple.com>
2806
2807         Implement PlatformWebView::windowSnapshotImage and createBitmapContextFromWebView for iOS devices
2808         https://bugs.webkit.org/show_bug.cgi?id=169421
2809         <rdar://problem/30950171>
2810
2811         Reviewed by Tim Horton.
2812
2813         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
2814         (createBitmapContextFromWebView): Implement for IOSurface.
2815         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2816         (WTR::PlatformWebView::windowSnapshotImage): Use snapshot API for device.
2817
2818 2017-05-08  Jonathan Bedard  <jbedard@apple.com>
2819
2820         buildbot: Cleanup simulators after running tests
2821         https://bugs.webkit.org/show_bug.cgi?id=171679
2822
2823         Reviewed by Aakash Jain.
2824
2825         simctl is partitioned for each user. Since kill-old-processes
2826         is run as root, we need to specify the buildbot user when tearing
2827         down simulators between steps.
2828
2829         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2830         (KillOldProcesses): Pass buildbot user to kill-old-processes.
2831         * BuildSlaveSupport/kill-old-processes:
2832         (main): Specify the user for simctl if one has been provided.
2833
2834 2017-05-08  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2835
2836         REGRESSION(r216179): [GTK] Script install-dependencies misses liborc
2837         https://bugs.webkit.org/show_bug.cgi?id=171681
2838
2839         Reviewed by Carlos Garcia Campos.
2840
2841         * gtk/install-dependencies:
2842
2843 2017-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2844
2845         Unreviewed. Fix GTK+ test /webkit2/WebKitConsoleMessage/network-error after r215556.
2846
2847         Glib uses now Unicode quotes in error messages.
2848
2849         * TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp:
2850         (testWebKitConsoleMessageNetworkError):
2851
2852 2017-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2853
2854         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r215404.
2855
2856         Sending down+up keys is no longer enough to simulate a real user interaction after r215404, the key events now
2857         should be handled by the web process to be considered a user interaction. So, add an input to the HTML and send
2858         characters to the input. Also fix typo in the function name.
2859
2860         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
2861         (testWebViewJavaScriptDialogs):
2862
2863 2017-05-07  Michael Catanzaro  <mcatanzaro@igalia.com>
2864
2865         [GTK] Cannot sign in with new Google sign-in page
2866         https://bugs.webkit.org/show_bug.cgi?id=171770
2867
2868         Unreviewed. This just adds a test.
2869
2870         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
2871         (TestWebKitAPI::TEST):
2872
2873 2017-05-06  Simon Fraser  <simon.fraser@apple.com>
2874
2875         [iOS WK2] Make rotation tests more reliable
2876         https://bugs.webkit.org/show_bug.cgi?id=171778
2877
2878         Reviewed by Tim Horton.
2879
2880         Switching between "safari-style" rotation and normal rotation left state on the WKWebView
2881         that would cause later viewport-sensitive tests to fail. The WKWebView would be left
2882         with override layout parameters, and an override orientation, and these caused viewport
2883         size to leak into later tests, and WebCore orientation to not get reset correctly.
2884
2885         Also, WKWebView was unregistering for UIWindowDidRotateNotification notifications when
2886         an override orientation was set, and would never re-register, causing lost orientationchanged
2887         events.
2888
2889         Fix by exposing WKWebView SPI to clear the various bits of overide state. Also don't unregister
2890         from the UIWindowDidRotateNotification notification; it's already ignored anyway if it fires.
2891
2892         Also wait for a visible content rect update after resizing the WKWebVeiw between tests, to make sure
2893         the WebProcess is caught up before proceeding with the test.
2894
2895         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2896         (-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
2897         * WebKitTestRunner/ios/TestControllerIOS.mm:
2898         (WTR::TestController::platformResetStateToConsistentValues):
2899         (WTR::TestController::platformConfigureViewForTest):
2900
2901 2017-05-06  Csaba Osztrogonác  <ossy@webkit.org>
2902
2903         [Mac][cmake] Buildfix after r216047
2904         https://bugs.webkit.org/show_bug.cgi?id=171769
2905
2906         Unreviewed buildfix.
2907
2908         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2909
2910 2017-05-05  Brady Eidson  <beidson@apple.com>
2911
2912         API test WebKit2.WebsiteDataStoreCustomPaths is failing on ios-simulator.
2913         <rdar://problem/31977294> and https://bugs.webkit.org/show_bug.cgi?id=171513
2914
2915         Reviewed by Andy Estes.
2916
2917         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2918         (TEST):
2919
2920 2017-05-05  Brian Burg  <bburg@apple.com>
2921
2922         [Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as session cookies
2923         https://bugs.webkit.org/show_bug.cgi?id=171748
2924         <rdar://problem/32027327>
2925
2926         Reviewed by Michael Catanzaro.
2927
2928         Remove temporary workaround now that the assertion failure is fixed.
2929
2930         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
2931         (TEST):
2932
2933 2017-05-05  Simon Fraser  <simon.fraser@apple.com>
2934
2935         Make it possible to test rotation in iOS WebKitTestRunner
2936         https://bugs.webkit.org/show_bug.cgi?id=171755
2937
2938         Reviewed by Tim Horton.
2939
2940         Add to UIScriptController:
2941             void simulateRotation(DeviceOrientation orientation, object callback);
2942             void simulateRotationLikeSafari(DeviceOrientation orientation, object callback);
2943
2944         The former just does a view resize, as a simple WKWebView app would do. The second does
2945         animation more like MobileSafari, using _begin/_endAnimatedResize. and associated override
2946         layout size and interface orientation. The two behaviors produce different resize and
2947         orientationchange events and sizes, and both need to be tested.
2948
2949         Rotation is initiated by a call on UIDevice, and responded to by the root view controller,
2950         which is now a custom subclass (PlatformWebViewController).
2951
2952         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2953         (WTR::UIScriptController::simulateRotation):
2954         (WTR::UIScriptController::simulateRotationLikeSafari):
2955         * DumpRenderTree/mac/UIScriptControllerMac.mm:
2956         (WTR::UIScriptController::simulateRotation):
2957         (WTR::UIScriptController::simulateRotationLikeSafari):
2958         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2959         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2960         (WTR::toDeviceOrientation):
2961         (WTR::UIScriptController::simulateRotation):
2962         (WTR::UIScriptController::simulateRotationLikeSafari):
2963         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2964         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
2965         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2966         (-[TestRunnerWKWebView dealloc]):
2967         (-[TestRunnerWKWebView _didEndRotation]):
2968         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2969         (-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
2970         (WTR::PlatformWebView::PlatformWebView):
2971         * WebKitTestRunner/ios/TestControllerIOS.mm:
2972         (WTR::TestController::platformResetStateToConsistentValues):
2973         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2974         (WTR::toUIDeviceOrientation):
2975         (WTR::UIScriptController::simulateRotation):
2976         (WTR::UIScriptController::simulateRotationLikeSafari):
2977         (WTR::UIScriptController::platformClearAllCallbacks):
2978         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2979         (WTR::UIScriptController::simulateRotation):
2980         (WTR::UIScriptController::simulateRotationLikeSafari):
2981
2982 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
2983
2984         Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
2985         https://bugs.webkit.org/show_bug.cgi?id=168945
2986         <rdar://problem/30745695>
2987
2988         Reviewed by David Kilzer.
2989
2990         Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
2991         target SDK. These two changes must happen simultaneously because some archives will
2992         clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
2993
2994         * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
2995         * DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
2996         tools directory still includes ImageDiff.
2997         * DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
2998         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
2999         * Scripts/webkitpy/port/darwin.py: 
3000         (DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
3001         locally or when running archives.
3002         * Scripts/webkitpy/port/image_diff.py:
3003         (IOSSimulatorImageDiffer): Deleted.
3004         * Scripts/webkitpy/port/ios_simulator.py:
3005         (IOSSimulatorPort.diff_image): Deleted.
3006
3007 2017-05-05  Brian Burg  <bburg@apple.com>
3008
3009         API test WebKit2.WKHTTPCookieStore fails due to possible issue with handling non-session cookies
3010         https://bugs.webkit.org/show_bug.cgi?id=171748
3011
3012         Unreviewed test gardening.
3013
3014         The assertion failure will be investigated separately in order to avoid rolling out
3015         the fix for "secure" cookies. This assertion fails even without r216258 applied.
3016
3017         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
3018         (TEST):
3019
3020 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
3021
3022         Unreviewed, rolling out r216260.
3023
3024         Breaks internal iOS testers
3025
3026         Reverted changeset:
3027
3028         "Use ImageDiff built by host SDK and remove ImageDiff from
3029         DumpRenderTree"
3030         https://bugs.webkit.org/show_bug.cgi?id=168945
3031         http://trac.webkit.org/changeset/216260
3032
3033 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
3034
3035         Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
3036         https://bugs.webkit.org/show_bug.cgi?id=168945
3037         <rdar://problem/30745695>
3038
3039         Reviewed by David Kilzer.
3040
3041         Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
3042         target SDK. These two changes must happen simultaneously because some archives will
3043         clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
3044
3045         * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
3046         * DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
3047         tools directory still includes ImageDiff.
3048         * DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
3049         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
3050         * Scripts/webkitpy/port/darwin.py: 
3051         (DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
3052         locally or when running archives.
3053         * Scripts/webkitpy/port/image_diff.py:
3054         (IOSSimulatorImageDiffer): Deleted.
3055         * Scripts/webkitpy/port/ios_simulator.py:
3056         (IOSSimulatorPort.diff_image): Deleted.
3057
3058 2017-05-05  Brian Burg  <bburg@apple.com>
3059
3060         [Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as secure
3061         https://bugs.webkit.org/show_bug.cgi?id=171700
3062         <rdar://problem/32017975>
3063
3064         Reviewed by Brady Eidson.
3065
3066         Fix a mistake in the test that should have caught this bug.
3067
3068         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
3069         (TEST):
3070         The assertions that were meant to check round-tripping were actually checking
3071         the properties of the original cookie objects, not the round-tripped ones.
3072         This test now fails without the bugfix and passes when it is applied.
3073
3074 2017-05-05  Daniel Bates  <dabates@apple.com>
3075
3076         Use EXPECT_EQ() when comparing strings in TestWebKitAPI tests
3077         https://bugs.webkit.org/show_bug.cgi?id=171698
3078
3079         Reviewed by Darin Adler.
3080
3081         We should use EXPECT_EQ() instead of EXPECT_TRUE() to compare WTF::String() objects
3082         so that we get pretty diff output when the actual string differs from the expected
3083         string as opposed to seeing a boolean result. The former makes makes it straightforward
3084         to diagnose a regression without reading the code for the test or instrumenting it to
3085         determine the actual string that was compared.
3086
3087         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
3088         (TestWebKitAPI::TEST):
3089         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
3090         (TestWebKitAPI::TEST_F):
3091         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
3092         (TestWebKitAPI::TEST_F):
3093
3094 2017-05-05  Chris Dumez  <cdumez@apple.com>
3095
3096         Rename webProcessDidCrashWithReason callback to webProcessDidTerminate and stop calling webProcessDidCrash for client terminations
3097         https://bugs.webkit.org/show_bug.cgi?id=171624
3098
3099         Reviewed by Dan Bernstein.
3100
3101         Extend API test coverage to cover crashes in addition to terminations requested by the client.
3102
3103         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3104         * TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp.
3105         (TestWebKitAPI::webProcessWasTerminatedByClient):
3106         (TestWebKitAPI::webProcessCrashed):
3107         (TestWebKitAPI::TEST):
3108
3109 2017-05-04  Mark Lam  <mark.lam@apple.com>
3110
3111         DRT's setAudioResultCallback() and IDBRequest::setResult() need to acquire the JSLock.
3112         https://bugs.webkit.org/show_bug.cgi?id=171716
3113         <rdar://problem/30878027>
3114
3115         Reviewed by Saam Barati.
3116
3117         setAudioResultCallback() needs to acquire the JSLock before calling toJS() (which
3118         does JS conversion and therefore, potentially JS allocations) and accessing
3119         methods of internal JS data structures (which may do JS invocation, etc).
3120
3121         * DumpRenderTree/TestRunner.cpp:
3122         (setAudioResultCallback):
3123
3124 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
3125
3126         buildbot: Cleanup simulators after running tests
3127         https://bugs.webkit.org/show_bug.cgi?id=171679
3128         <rdar://problem/31994361>
3129
3130         Reviewed by Aakash Jain.
3131
3132         We shutdown the simulator process between tests, but in some cases, this is not
3133         sufficient. Explicitly shutdown every booted simulator.
3134
3135         * BuildSlaveSupport/kill-old-processes:
3136         (main): Shutdown all booted simulators.
3137
3138 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3139
3140         [GTK] Assertion failure in Inspector::RemoteInspector::setRemoteInspectorClient when disposing WebKitWebContext
3141         https://bugs.webkit.org/show_bug.cgi?id=171644
3142
3143         Reviewed by Michael Catanzaro.
3144
3145         Check that only one WebKitWebContext can have automation enabled.
3146
3147         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
3148         (testAutomationSessionRequestSession):
3149
3150 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3151
3152         [GTK] TestController timeout source callback should return G_SOURCE_REMOVE
3153         https://bugs.webkit.org/show_bug.cgi?id=171724
3154
3155         Reviewed by Michael Catanzaro.
3156
3157         It's currently returning CONTINUE which causes it to be called again even if the run loop has been stopped.
3158
3159         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
3160         (WTR::timeoutSource):
3161
3162 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3163
3164         Unreviewed. Fix wrong assert after r215176.
3165
3166         Cairo surface received by computeMD5HashStringForCairoSurface() doesn't need to be ARGB32 since r215176, it
3167         could also be RGB24 when created from a web view snapshot.
3168
3169         * WebKitTestRunner/cairo/TestInvocationCairo.cpp:
3170         (WTR::computeMD5HashStringForCairoSurface):
3171
3172 2017-05-04  Brian Burg  <bburg@apple.com>
3173
3174         lldb_webkit.py should provide a type summary for WebCore::URL
3175         https://bugs.webkit.org/show_bug.cgi?id=171670
3176
3177         Reviewed by Jer Noble.
3178
3179         Just print out the underlying string using the WTFString provider.
3180
3181         * lldb/lldb_webkit.py:
3182         (__lldb_init_module):
3183         (WebCoreURL_SummaryProvider):
3184         (WebCoreURLProvider):
3185         (WebCoreURLProvider.__init__):
3186         (WebCoreURLProvider.to_string):
3187
3188 2017-05-04  Commit Queue  <commit-queue@webkit.org>
3189
3190         Unreviewed, rolling out r216206.
3191         https://bugs.webkit.org/show_bug.cgi?id=171714
3192
3193         Multiple LayoutTests crashing in Document::page() (Requested
3194         by ap on #webkit).
3195
3196         Reverted changeset:
3197
3198         "Remove support for legacy Notifications"
3199         https://bugs.webkit.org/show_bug.cgi?id=171487
3200         http://trac.webkit.org/changeset/216206
3201
3202 2017-05-04  Mark Lam  <mark.lam@apple.com>
3203
3204         API test WTF.StaticStringImpl crashing in TestWebKitAPI::WTF_StaticStringImpl_Test::TestBody() + 3188
3205         https://bugs.webkit.org/show_bug.cgi?id=171702
3206
3207         Reviewed by Filip Pizlo.
3208
3209         The test was supposed to use the MAKE_STATIC_STRING_IMPL macro.  I had previously
3210         changed it to instantiate an automatic StaticStringImpl (i.e. stack allocated) to
3211         confirm that the test will detect a regression.  Unfortunately, I forgot to
3212         change it back to using MAKE_STATIC_STRING_IMPL before I landed the test.
3213         This patch fixes that.
3214
3215         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
3216         (TestWebKitAPI::neverDestroyedString):
3217
3218 2017-05-04  Ryan Haddad  <ryanhaddad@apple.com>
3219
3220         Disable failing API test WebKit2.ResizeWithHiddenContentDoesNotHang.
3221         https://bugs.webkit.org/show_bug.cgi?id=170195
3222
3223         Unreviewed test gardening.
3224
3225         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
3226         (TEST):
3227
3228 2017-05-04  Don Olmstead  <don.olmstead@am.sony.com>
3229
3230         [Win] Remove redundant macros that are set in the CMake config
3231         https://bugs.webkit.org/show_bug.cgi?id=171571
3232
3233         Reviewed by Brent Fulgham.
3234
3235         * DumpRenderTree/config.h:
3236         * MiniBrowser/win/stdafx.h:
3237         * TestWebKitAPI/config.h:
3238
3239 2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>
3240
3241         Add testRunner.display() to force displaying the web page for testing
3242         https://bugs.webkit.org/show_bug.cgi?id=171694
3243
3244         Reviewed by Simon Fraser.
3245
3246         Unlike testRunner.displayAndTrackRepaints(), this new function forces 
3247         drawing the web page but without track repaints.
3248
3249         * DumpRenderTree/TestRunner.cpp:
3250         (displayCallback):
3251         (TestRunner::staticFunctions):
3252         * DumpRenderTree/TestRunner.h:
3253         * DumpRenderTree/mac/TestRunnerMac.mm:
3254         (TestRunner::display):
3255         * DumpRenderTree/win/TestRunnerWin.cpp:
3256         (TestRunner::display):
3257         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3258         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3259         (WTR::TestRunner::display):
3260         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3261
3262 2017-05-04  Mark Lam  <mark.lam@apple.com>
3263
3264         NeverDestroyed<String>(ASCIILiteral(...)) is not thread safe.
3265         https://bugs.webkit.org/show_bug.cgi?id=171586
3266         <rdar://problem/31873190>
3267
3268         Reviewed by Yusuke Suzuki.
3269
3270         API test for exercising StaticStringImpl and the MAKE_STATIC_STRING_IMPL macro.
3271
3272         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
3273         (TestWebKitAPI::neverDestroyedString):
3274         (TestWebKitAPI::getNeverDestroyedStringAtStackDepth):
3275         (TestWebKitAPI::TEST):
3276
3277 2017-05-04  Wenson Hsieh  <wenson_hsieh@apple.com>
3278
3279         [WK2] Add support for keeping the selection in a focused editable element when dragging begins
3280         https://bugs.webkit.org/show_bug.cgi?id=171585
3281         <rdar://problem/31544320>
3282
3283         Reviewed by Beth Dakin and Zalan Bujtas.
3284
3285         Adds 1 new unit test and tweaks existing tests to check that when first responder status is lost after beginning
3286         a drag while editing, content is still moved (and not copied) when performing data interaction on a different
3287         element. ContentEditableMoveParagraphs checks that content can be shifted within a single element via a move
3288         operation rather than a copy.
3289
3290         See WebCore ChangeLog for more details.
3291
3292         Tests:  DataInteractionSimulator.ContentEditableToContentEditable
3293                 DataInteractionSimulator.ContentEditableToTextarea
3294                 DataInteractionSimulator.ContentEditableMoveParagraphs
3295                 DataInteractionSimulator.TextAreaToInput
3296
3297         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3298         * TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Added.
3299         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3300         (TestWebKitAPI::TEST):
3301         * TestWebKitAPI/ios/DataInteractionSimulator.h:
3302         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
3303         (-[DataInteractionSimulator initWithWebView:]):
3304         (-[DataInteractionSimulator dealloc]):
3305         (-[DataInteractionSimulator _advanceProgress]):
3306         (-[DataInteractionSimulator waitForInputSession]):
3307         (-[DataInteractionSimulator _webView:focusShouldStartInputSession:]):
3308         (-[DataInteractionSimulator _webView:didStartInputSession:]):
3309
3310 2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>
3311
3312         Rename TestRunner.display() to TestRunner::displayAndTrackRepaints()
3313         https://bugs.webkit.org/show_bug.cgi?id=171641
3314
3315         Reviewed by Simon Fraser.
3316
3317         The plan is to add back the TestRunner.display() which does the display
3318         only without track repaints.
3319
3320         * DumpRenderTree/DumpRenderTree.h:
3321         * DumpRenderTree/TestRunner.cpp:
3322         (displayAndTrackRepaintsCallback):
3323         (TestRunner::staticFunctions):
3324         (displayCallback): Deleted.
3325         (displayInvalidatedRegionCallback): Deleted.
3326         * DumpRenderTree/TestRunner.h:
3327         * DumpRenderTree/mac/DumpRenderTree.mm:
3328         (displayWebView):
3329         (displayAndTrackRepaintsWebView):
3330         * DumpRenderTree/mac/TestRunnerMac.mm:
3331         (TestRunner::displayAndTrackRepaints):
3332         (TestRunner::display): Deleted.
3333         * DumpRenderTree/win/TestRunnerWin.cpp:
3334         (TestRunner::displayAndTrackRepaints):
3335         (TestRunner::display): Deleted.
3336         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3337         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3338         (WTR::TestRunner::displayAndTrackRepaints):
3339         (WTR::TestRunner::display): Deleted.
3340         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3341
3342 2017-05-04  Brady Eidson  <beidson@apple.com>
3343
3344         [ios-simulator] API test WebKit2.WebsiteDataStoreCustomPaths is failing.
3345         https://bugs.webkit.org/show_bug.cgi?id=171513
3346
3347         Unreviewed gardening.
3348
3349         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
3350         (TEST): Skip the failing parts of the test on iOS for now.
3351
3352 2017-05-03  Jonathan Bedard  <jbedard@apple.com>
3353
3354         Make ImageDiff stand-alone
3355         https://bugs.webkit.org/show_bug.cgi?id=168939
3356
3357         Reviewed by David Kilzer.
3358
3359         Create ImageDiff without dependencies on bmalloc and WTF so that it exists as a
3360         stand-alone project. Note that this change does not eliminate the ImageDiff inside
3361         the DumpRenderTree project.
3362
3363         * ImageDiff/ImageDiff.xcodeproj: Added.
3364         * ImageDiff/ImageDiff.xcodeproj/project.pbxproj: Added.
3365         * ImageDiff/Makefile: Use ImageDiff project.
3366         * ImageDiff/PlatformMac.cmake: Added.
3367         * ImageDiff/PlatformWin.cmake: Added.
3368         * ImageDiff/cg: Added.
3369         * ImageDiff/cg/Configurations: Added.
3370         * ImageDiff/cg/Configurations/Base.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/Base.xcconfig.
3371         * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig.
3372         * ImageDiff/cg/Configurations/ImageDiff.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig.
3373         * ImageDiff/cg/ImageDiff.cpp: Copied from Tools/DumpRenderTree/cg/ImageDiffCG.cpp.
3374         (createImageFromStdin): Stop using RetainPtr.
3375         (createDifferenceImage): Ditto.
3376         (main): Ditto.
3377         * Scripts/build-imagediff: Stop building WTF and bmalloc.
3378
3379 2017-05-04  Sam Weinig  <sam@webkit.org>
3380
3381         Remove support for legacy Notifications
3382         https://bugs.webkit.org/show_bug.cgi?id=171487
3383
3384         Reviewed by Jon Lee.
3385
3386         * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
3387         (DRTDesktopNotificationPresenter::checkNotificationPermission):
3388         * Scripts/webkitperl/FeatureList.pm:
3389         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3390         Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
3391
3392 2017-05-04  Andy Estes  <aestes@apple.com>
3393
3394         Give +testwebkitapi_configurationWithTestPlugInClassName: a shorter name
3395         https://bugs.webkit.org/show_bug.cgi?id=171673
3396
3397         Reviewed by Dan Bernstein.
3398
3399         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
3400         (TEST):
3401         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm:
3402         (TEST):
3403         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
3404         (TEST):
3405         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
3406         (TEST):
3407         * TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm:
3408         (TEST):
3409         * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm:
3410         (configurationWithContentFilterSettings):
3411         (-[LazilyLoadPlatformFrameworksController init]):
3412         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:
3413         (TEST):
3414         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
3415         (runTestWithWidth):
3416         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm:
3417         (TEST):
3418         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3419         (TestWebKitAPI::TEST):
3420         * TestWebKitAPI/WKWebViewConfigurationExtras.h:
3421         * TestWebKitAPI/WKWebViewConfigurationExtras.mm:
3422         (+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:]):
3423         (+[WKWebViewConfiguration testwebkitapi_configurationWithTestPlugInClassName:]): Renamed to
3424         +_test_configurationWithTestPlugInClassName:
3425
3426 2017-05-04  Eric Carlson  <eric.carlson@apple.com>
3427
3428         [MediaStream] Allow host application to enable/disable media capture
3429         https://bugs.webkit.org/show_bug.cgi?id=171292
3430         <rdar://problem/31821492>
3431
3432         Reviewed by Jer Noble.
3433
3434         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3435         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
3436         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
3437         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
3438         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
3439         (MediaCaptureDisabledTest::SetUp):
3440         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
3441         (TEST_F):
3442         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
3443
3444 2017-05-04  Caio Lima  <ticaiolima@gmail.com>
3445
3446         Unreviewed, Adding self to contributors.json
3447
3448         * Scripts/webkitpy/common/config/contributors.json: Added name.
3449
3450 2017-05-04  Konstantin Tokarev  <annulen@yandex.ru>
3451
3452         Fix compilation with ICU 59.1
3453         https://bugs.webkit.org/show_bug.cgi?id=171612
3454
3455         Reviewed by Mark Lam.
3456
3457         ICU 59.1 has broken source compatibility. Now it defines UChar as
3458         char16_t, which does not allow automatic type conversion from unsigned
3459         short in C++ code.
3460
3461         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
3462         (UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback):
3463
3464 2017-05-04  Andy Estes  <aestes@apple.com>
3465
3466         [Cocoa] Add an optional width parameter to -[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]
3467         https://bugs.webkit.org/show_bug.cgi?id=171646
3468         <rdar://problem/30306321>
3469
3470         Reviewed by Tim Horton.
3471
3472         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
3473         (runTestWithWidth):
3474         (TEST):
3475         (-[RenderedImageWithOptionsObject didRenderImageWithSize:]): Deleted.
3476         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm:
3477         (-[RenderedImageWithOptionsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
3478         (-[RenderedImageWithOptionsPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
3479         (-[RenderedImageWithOptionsPlugIn renderImageWithWidth:completionHandler:]):
3480         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h:
3481
3482 2017-05-04  Adrian Perez de Castro  <aperez@igalia.com>
3483
3484         [GTK] Fontconfig 2.11.2 in JHBuild does not build with glibc 2.25+ or gperf 3.1+
3485         https://bugs.webkit.org/show_bug.cgi?id=171649
3486
3487         Reviewed by Carlos Garcia Campos.
3488
3489         Add two patches picked from the upstream repository to fix building of
3490         the Fontconfig module in JHBuild. Additionally, this needed a patch to
3491         add "autogen.sh" as it is not included in release tarballs. Also:
3492         building the module with srcdir!=builddir prevents "fcobjshash.gperf"
3493         being regenerated (which is needed) so this is disabled for the
3494         Fontconfig module.
3495
3496         * gtk/jhbuild.modules:
3497         * gtk/patches/fontconfig-2.11.1-add-autogen.patch: Added.
3498         * gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Added.
3499         * gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Added.
3500
3501 2017-05-04  Commit Queue  <commit-queue@webkit.org>
3502
3503         Unreviewed, rolling out r216172.
3504         https://bugs.webkit.org/show_bug.cgi?id=171654
3505
3506         FTBFS for iOS due to missing WebPageProxy::stopMediaCapture()
3507         implementation. (Requested by ddkilzer on #webkit).
3508
3509         Reverted changeset:
3510
3511         "[MediaStream] Allow host application to enable/disable media
3512         capture"
3513         https://bugs.webkit.org/show_bug.cgi?id=171292
3514         http://trac.webkit.org/changeset/216172
3515
3516 2017-05-04  Carlos Garcia Campos  <cgarcia@igalia.com>
3517
3518         [GTK] Bump GStreamer version to 1.10.4 in jhbuild
3519         https://bugs.webkit.org/show_bug.cgi?id=171595
3520
3521         Reviewed by Xabier Rodriguez-Calvar.
3522
3523         * gtk/jhbuild.modules:
3524         * gtk/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Removed.
3525         * gtk/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Removed.
3526         * gtk/patches/gst-plugins-good-0001-rtpbin-pipeline-gets-an-EOS-when-any-rtpsources-byes.patch: Removed.
3527         * gtk/patches/gst-plugins-good-0002-rtpbin-avoid-generating-errors-when-rtcp-messages-ar.patch: Removed.
3528         * gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch:
3529         * gtk/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
3530         * gtk/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
3531
3532 2017-05-03  Saam Barati  <sbarati@apple.com>
3533
3534         How we build polymorphic cases is wrong when making a call from Wasm
3535         https://bugs.webkit.org/show_bug.cgi?id=171527
3536
3537         Reviewed by JF Bastien.
3538
3539         * Scripts/run-jsc-stress-tests:
3540
3541 2017-05-03  Eric Carlson  <eric.carlson@apple.com>
3542
3543         [MediaStream] Allow host application to enable/disable media capture
3544         https://bugs.webkit.org/show_bug.cgi?id=171292
3545         <rdar://problem/31821492>
3546
3547         Reviewed by Jer Noble.
3548
3549         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3550         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
3551         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
3552         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
3553         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
3554         (MediaCaptureDisabledTest::SetUp):
3555         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
3556         (TEST_F):
3557         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
3558
3559 2017-05-03  John Wilander  <wilander@apple.com>
3560
3561         Resource Load Statistics: Remove all statistics for modifiedSince website data removals
3562         https://bugs.webkit.org/show_bug.cgi?id=171584
3563         <rdar://problem/24702576>
3564
3565         Reviewed by Brent Fulgham.
3566
3567         New function to call the clear function that takes a modifiedSince parameter.
3568
3569         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3570         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3571         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
3572         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3573         * WebKitTestRunner/TestController.cpp:
3574         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
3575         * WebKitTestRunner/TestController.h:
3576         * WebKitTestRunner/TestInvocation.cpp:
3577         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3578
3579 2017-05-03  Commit Queue  <commit-queue@webkit.org>
3580
3581         Unreviewed, rolling out r216160 and r216161.
3582         https://bugs.webkit.org/show_bug.cgi?id=171640
3583
3584         These changes broke the iOS build. (Requested by mlewis13 on
3585         #webkit).
3586
3587         Reverted changesets:
3588
3589         "[MediaStream] Allow host application to enable/disable media
3590         capture"
3591         https://bugs.webkit.org/show_bug.cgi?id=171292
3592         http://trac.webkit.org/changeset/216160
3593
3594         "[MediaStream] Allow host application to enable/disable media
3595         capture"
3596         https://bugs.webkit.org/show_bug.cgi?id=171292
3597         http://trac.webkit.org/changeset/216161
3598
3599 2017-05-03  Eric Carlson  <eric.carlson@apple.com>
3600
3601         [MediaStream] Allow host application to enable/disable media capture
3602         https://bugs.webkit.org/show_bug.cgi?id=171292
3603         <rdar://problem/31821492>
3604
3605         Reviewed by Jer Noble.
3606
3607         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3608         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
3609         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
3610         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
3611         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
3612         (MediaCaptureDisabledTest::SetUp):
3613         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
3614         (TEST_F):
3615         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
3616
3617 2017-04-26  Jiewen Tan  <jiewen_tan@apple.com>
3618
3619         [WebCrypto] Add an api test for testing wrapping/unwrapping serialized crypto keys
3620         https://bugs.webkit.org/show_bug.cgi?id=171350
3621         <rdar://problem/28600836>
3622
3623         Patched by Brady Eidson.
3624
3625         Reviewed by Brent Fulgham.
3626
3627         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3628         * TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Added.
3629         (TestWebKitAPI::runJavaScriptAlert):
3630         (TestWebKitAPI::decidePolicyForNavigationAction):
3631         (TestWebKitAPI::decidePolicyForNavigationResponse):
3632         (TestWebKitAPI::TEST):
3633         * TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Added.
3634
3635 2017-05-03  Simon Fraser  <simon.fraser@apple.com>
3636
3637         Have WKWebView call _updateVisibleContentRects for the current transaction if possible, rather than always delaying
3638         https://bugs.webkit.org/show_bug.cgi?id=171619
3639         https://bugs.webkit.org/show_bug.cgi?id=170195
3640
3641         Reviewed by Tim Horton.
3642
3643         Re-enable WebKit2.ResizeWithHiddenContentDoesNotHang.
3644
3645         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
3646         (TEST):
3647
3648 2017-05-03  Michael Catanzaro  <mcatanzaro@igalia.com>
3649
3650         YouTube user agent quirk breaks new YouTube
3651         https://bugs.webkit.org/show_bug.cgi?id=171603
3652
3653         Reviewed by Carlos Garcia Campos.
3654
3655         Remove the YouTube quirk test.
3656
3657         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
3658         (TestWebKitAPI::TEST):
3659
3660 2017-05-03  Said Abou-Hallawa  <sabouhallawa@apple.com>
3661
3662         Async image decoding should be disabled for snapshots, printing and preview
3663         https://bugs.webkit.org/show_bug.cgi?id=171467
3664
3665         Reviewed by Simon Fraser.
3666
3667         Add a API test for snapshotting with large images. Ensure the images are
3668         drawn correctly which implies they should have been synchronously decoded.
3669
3670         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3671         * TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Added.
3672         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm:
3673         (TEST):
3674
3675 2017-05-03  Chris Dumez  <cdumez@apple.com>
3676
3677         [WK2] Extend processDidCrash delegate to let the client know the reason for the crash
3678         https://bugs.webkit.org/show_bug.cgi?id=171565
3679         <rdar://problem/31204417>
3680
3681         Reviewed by Sam Weinig.
3682
3683         Add API test coverage.
3684
3685         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3686         * TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp: Added.
3687         (TestWebKitAPI::didFinishNavigation):
3688         (TestWebKitAPI::didCrashWithReason):
3689         (TestWebKitAPI::TEST):
3690
3691 2017-05-02  David Kilzer  <ddkilzer@apple.com>
3692
3693         check-webkit-style should also keep js-test-post[-async].js in sync
3694         <https://webkit.org/b/171568>
3695
3696         Reviewed by Joseph Pecoraro.
3697
3698         * Scripts/webkitpy/style/checker.py:
3699         (_NEVER_SKIPPED_JS_FILES): Add new list that just contains
3700         JavaScript files not to be skipped.
3701         (_NEVER_SKIPPED_FILES): Update to use _NEVER_SKIPPED_JS_FILES.
3702         (CheckerDispatcher._create_checker): Update to use
3703         _NEVER_SKIPPED_JS_FILES.
3704
3705         * Scripts/webkitpy/style/checkers/jstest.py:
3706         (ALL_JS_TEST_FUNCTION_FILES): Rename from ALL_JS_TEST_FILES.
3707         This is the list of files containing functions that need to be
3708         kept in sync.
3709         (KEEP_JS_TEST_FILES_IN_SYNC): Change to list-of-lists format so
3710         we can keep more sets of files in sync between
3711         LayoutTests/resources and LayoutTests/http/tests/resources.
3712         (JSTestChecker.check): Update to use KEEP_JS_TEST_FILES_IN_SYNC
3713         as list of lists.  Update for ALL_JS_TEST_FUNCTION_FILES rename.
3714         (JSTestChecker.check_js_test_files): Add 'file_group' argument
3715         for list of files to check instead of using
3716         KEEP_JS_TEST_FILES_IN_SYNC.
3717         (JSTestChecker.check_js_test_functions): Update for
3718         ALL_JS_TEST_FUNCTION_FILES rename.
3719
3720         * Scripts/webkitpy/style/checkers/jstest_unittest.py:
3721         (JSTestCheckerTestCase):
3722         (JSTestCheckerTestCase.test_map_functions_to_dict):
3723         - Add test case for map_functions_to_dict() in jstest.py.
3724
3725 2017-05-02  Aakash Jain  <aakash_jain@apple.com>
3726
3727         ews should indicate in logs when it fails to fetch the attachment
3728         https://bugs.webkit.org/show_bug.cgi?id=171583
3729
3730         Reviewed by Alexey Proskuryakov.
3731
3732         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3733         (Bugzilla.fetch_attachment): Added log statement.
3734
3735 2017-05-02  David Kilzer  <ddkilzer@apple.com>
3736
3737         Rolling out jstest_unittest.py so it can be reviewed
3738
3739         Follow-up fix for:
3740         check-webkit-style should keep JavaScript test functions in sync
3741         <https://webkit.org/b/171424>
3742
3743         * Scripts/webkitpy/style/checkers/jstest_unittest.py: Remove.
3744
3745 2017-05-02  David Kilzer  <ddkilzer@apple.com>
3746
3747         check-webkit-style should keep JavaScript test functions in sync
3748         <https://webkit.org/b/171424>
3749
3750         Reviewed by Joseph Pecoraro.
3751
3752         Add a new JSTestChecker for check-webkit-style that keeps these
3753         two files in sync:
3754
3755             LayoutTests/http/tests/resources/js-test-pre.js
3756             LayoutTests/resources/js-test-pre.js
3757
3758         And keeps implementations of shouldBe(), shouldNotBe(),
3759         shouldNotThrow(), and shouldThrow() in sync across multiple
3760         files (with the ability to add more functions later):
3761
3762             JSTests/stress/resources/standalone-pre.js
3763             LayoutTests/http/tests/resources/js-test-pre.js
3764             LayoutTests/resources/js-test-pre.js
3765             LayoutTests/resources/js-test.js
3766             LayoutTests/resources/standalone-pre.js
3767
3768         * Scripts/webkitpy/style/checker.py: Remove unused import.  Add
3769         import for JSTestChecker.
3770         (_NEVER_SKIPPED_FILES): Add array of file names that are never
3771         skipped regardless of other rules.
3772         (_all_categories): Add JSTestChecker categories.
3773         (CheckerDispatcher.should_skip_without_warning): Use
3774         _NEVER_SKIPPED_FILES.
3775         (CheckerDispatcher._create_checker): Return JSTestChecker for
3776         the files to check.
3777
3778         * Scripts/webkitpy/style/checkers/jstest.py: Add.
3779         (map_functions_to_dict): Parse JavaScript source by splitting on
3780         /^function\s+/ regex.  This is good enough for the sanity checks
3781         to keep function implementations in sync.
3782         (strip_blank_lines_and_comments): Strips blank lines and lines
3783         with comments from the end of a chunk of text representing a
3784         function.
3785         (JSTestChecker): New checker.
3786         (JSTestChecker.__init__):
3787         (JSTestChecker.check):
3788         (JSTestChecker.check_js_test_files): Keeps whole files in sync.
3789         (JSTestChecker.check_js_test_functions): Keeps individual
3790         functions in sync.
3791
3792         * Scripts/webkitpy/style/checkers/jstest_unittest.py: Add test
3793         case.
3794         (JSTestTestCase):
3795         (JSTestTestCase.test_map_functions_to_dict):
3796
3797 2017-05-02  Joanmarie Diggs  <jdiggs@igalia.com>
3798
3799         AX: Update implementation of aria-orientation
3800         https://bugs.webkit.org/show_bug.cgi?id=171166
3801
3802         Reviewed by Chris Fleizach.
3803
3804         Return "AXUnknownOrientation" when ATK_STATE_VERTICAL and ATK_STATE_HORIZONTAL
3805         are both absent from the state set. Before we were returning an empty string
3806         which was not consistent with what the Mac port does, thus making shared tests
3807         harder.
3808
3809         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3810         (WTR::AccessibilityUIElement::orientation):
3811
3812 2017-05-01  David Kilzer  <ddkilzer@apple.com>
3813
3814         Stop using sprintf() in JavaScriptCore debugger
3815         <https://webkit.org/b/171512>
3816
3817         Reviewed by Keith Miller.
3818
3819         * Scripts/webkitpy/style/checker.py:
3820         (_PATH_RULES_SPECIFIER): Ignore some formatting checkers since
3821         Source/JavaScriptCore/disassembler/udis86/ is generated code.
3822
3823 2017-05-01  Timothy Horton  <timothy_horton@apple.com>
3824
3825         Expose viewport-fit instead of clip-to-safe-area
3826         https://bugs.webkit.org/show_bug.cgi?id=171503
3827         <rdar://problem/31918249>
3828
3829         Reviewed by Simon Fraser.
3830
3831         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3832         (WTR::UIScriptController::setSafeAreaInsets):
3833         (WTR::UIScriptController::setObscuredInsets): Deleted.
3834         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3835         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3836         (WTR::UIScriptController::setSafeAreaInsets):
3837         (WTR::UIScriptController::setObscuredInsets): Deleted.
3838         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3839         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
3840         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3841         (-[TestRunnerWKWebView setOverrideSafeAreaInsets:]):
3842         (-[TestRunnerWKWebView _safeAreaInsetsForFrame:inSuperview:]):
3843         * WebKitTestRunner/ios/TestControllerIOS.mm:
3844         (WTR::TestController::platformResetStateToConsistentValues):
3845         * WebKitTestRunner/ios/UIKitSPI.h:
3846         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3847         (WTR::UIScriptController::setSafeAreaInsets):
3848         (WTR::UIScriptController::setObscuredInsets): Deleted.
3849         Expose a safe area inset setter instead of obscured insets.
3850
3851 2017-05-01  Wenson Hsieh  <wenson_hsieh@apple.com>
3852
3853         Unreviewed, fix the build on a new internal SDK
3854
3855         Replace usages of NSItemProviderRepresentationVisibilityAll with
3856         UIItemProviderRepresentationOptionsVisibilityAll.
3857
3858         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3859         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
3860         (TestWebKitAPI::TEST):
3861
3862 2017-05-01  David Kilzer  <ddkilzer@apple.com>
3863
3864         [Cocoa] Replace uses of [get…Class() alloc] in TestWebKitAPI
3865         <https://webkit.org/b/171493>
3866
3867         Reviewed by Dan Bernstein.
3868
3869         * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
3870         Remove UIKit soft-link since TestWebKitAPI links to
3871         UIKit.framework.
3872         (TestWebKitAPI::WebKit1_AudioSessionCategoryIOS_Test): Use
3873         UIWindow and UIWebView classes directly.
3874         * TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
3875         Remove UIKit soft-link since TestWebKitAPI links to
3876         UIKit.framework.
3877         (RequiresUserActionForPlaybackTest::createWebView): Use UIWindow
3878         class directly.
3879
3880 2017-05-01  Brady Eidson  <beidson@apple.com>
3881
3882         Update names in WKURLSchemeHandler/WKURLSchemeHandlerTask APIs.
3883         <rdar://problem/31824838> and https://bugs.webkit.org/show_bug.cgi?id=171508
3884
3885         Reviewed by Andy Estes.
3886
3887         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
3888         (-[SchemeHandler webView:startURLSchemeTask:]):
3889         (-[SchemeHandler webView:stopURLSchemeTask:]):
3890         (-[SchemeHandler webView:startTask:]): Deleted.
3891         (-[SchemeHandler webView:stopTask:]): Deleted.
3892
3893 2017-05-01  Jason Marcell  <jmarcell@apple.com>
3894
3895         Add a new function for getting the Git hash for a pure git directory.
3896         https://bugs.webkit.org/show_bug.cgi?id=171450
3897
3898         Reviewed by David Kilzer.
3899
3900         * Scripts/VCSUtils.pm:
3901         (gitHashForDirectory):
3902
3903 2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>
3904
3905         [ATK] Expose values of aria-rowcount, aria-colcount, aria-rowindex, aria-colindex, aria-rowspan, and aria-colspan as object attributes
3906         https://bugs.webkit.org/show_bug.cgi?id=171496
3907
3908         Reviewed by Chris Fleizach.
3909
3910         Add new attribute names so that the values of the object attributes can be tested.
3911
3912         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3913         (WTR::AccessibilityUIElement::numberAttributeValue):
3914
3915 2017-05-01  Beth Dakin  <bdakin@apple.com>
3916
3917         On-screen panel for candidate bar is in the wrong place when the caret is at the 
3918         start of a paragraph
3919         https://bugs.webkit.org/show_bug.cgi?id=171453
3920         -and corresponding-
3921         rdar://problem/29779764
3922
3923         Reviewed by Tim Horton.
3924
3925         This test hard-codes the y-coordinate for the expected candidateRect. 
3926         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
3927         (TEST):
3928
3929 2017-05-01  David Kilzer  <ddkilzer@apple.com>
3930
3931         check-webkit-style: Enable sprintf(), strcat(), strcpy() and printf() format checks
3932         <https://webkit.org/b/171494>
3933
3934         Reviewed by Brent Fulgham.
3935
3936         * Scripts/webkitpy/style/checkers/cpp.py:
3937         (check_language): Change categories for certain checkers from
3938         'runtime/printf' to 'security/printf' so they are no longer
3939         filtered.
3940         (CppChecker.categories): Add 'security/printf'.
3941         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
3942         (CppStyleTest.test_insecure_string_operations): Add new test for
3943         sprintf(), strcat() and strcpy().
3944         (CppStyleTest.test_format_strings): Update test results for new
3945         'security/printf' category use.
3946
3947 2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>
3948
3949         AX: [GTK] Add support to query for aria-current
3950         https://bugs.webkit.org/show_bug.cgi?id=149016
3951
3952         Reviewed by Chris Fleizach.
3953
3954         Implement support for "AXARIACurrent" string attribute value.
3955
3956         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3957
3958 2017-05-01  David Kilzer  <ddkilzer@apple.com>
3959
3960         REGRESSION (r216000): test-webkitpy fails after adding new soft-linked class checker
3961
3962         Unreviewed.
3963
3964         Follow-up fix for:
3965         [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
3966         https://bugs.webkit.org/show_bug.cgi?id=171486
3967
3968         * Scripts/webkitpy/style/checkers/cpp.py:
3969         (check_soft_link_class_alloc): Use (\w+) instead of ([^\s]+) to
3970         match and capture the function name.  The latter also mistakenly
3971         matches C-preprocessor directives.
3972         (CppChecker.categories): Add 'runtime/soft-linked-alloc', which
3973         is a requirement for the CppChecker class.
3974
3975 2017-05-01  Carlos Garcia Campos  <cgarcia@igalia.com>
3976
3977         [GTK] Add automation session API
3978         https://bugs.webkit.org/show_bug.cgi?id=171428
3979
3980         Reviewed by Carlos Alberto Lopez Perez.
3981
3982         Add an automation mode to MiniBrowser using the new API and add a unit test too.
3983
3984         * MiniBrowser/gtk/BrowserWindow.c:
3985         (webViewTitleChanged):
3986         (webViewDecidePolicy):
3987         (newTabCallback):
3988         (openPrivateWindow):
3989         (browserWindowFinalize):
3990         (browser_window_init):
3991         (browser_window_get_or_create_web_view_for_automation):
3992         * MiniBrowser/gtk/BrowserWindow.h:
3993         * MiniBrowser/gtk/main.c:
3994         (createBrowserTab):
3995         (createWebViewForAutomationCallback):
3996         (automationStartedCallback):
3997         (main):
3998         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
3999         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp: Added.
4000         (testAutomationSessionRequestSession):
4001         (beforeAll):
4002         (afterAll):
4003
4004 2017-04-30  Dan Bernstein  <mitz@apple.com>
4005
4006         [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
4007         https://bugs.webkit.org/show_bug.cgi?id=171486
4008
4009         Reviewed by Sam Weinig.
4010
4011         * Scripts/webkitpy/style/checkers/cpp.py:
4012         (check_soft_link_class_alloc): Added. Looks for [get…Class() alloc] and suggests
4013           alloc…Instance() instead.
4014         (check_style): Invoke new check.
4015
4016 2017-04-30  Brady Eidson  <beidson@apple.com>
4017
4018         More fixing after r215991
4019         https://bugs.webkit.org/show_bug.cgi?id=171483
4020
4021         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
4022         (TEST):
4023
4024 2017-04-30  Brady Eidson  <beidson@apple.com>
4025
4026         Updates to _WKWebsiteDataStoreConfiguration cookie storage location SPI.
4027         <rdar://problem/31906397> and https://bugs.webkit.org/show_bug.cgi?id=171483
4028
4029         Reviewed by Geoff Garen (and kind of Andy Estes).
4030
4031         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
4032         (TEST):
4033
4034 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
4035
4036         [ATK] Implement support for aria-autocomplete
4037         https://bugs.webkit.org/show_bug.cgi?id=171167
4038
4039         Reviewed by Chris Fleizach.
4040
4041         Add "AXSupportsAutoCompletion" attribute so the presence of
4042         ATK_STATE_SUPPORTS_AUTOCOMPLETION can be tested.
4043
4044         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4045         (WTR::AccessibilityUIElement::boolAttributeValue):
4046
4047 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
4048
4049         [ATK] ARIA treegrid role should be exposed as ATK_ROLE_TREE_TABLE; not ATK_ROLE_TABLE
4050         https://bugs.webkit.org/show_bug.cgi?id=171170
4051
4052         Reviewed by Chris Fleizach.
4053
4054         Add "AXInterfaceTable" attribute to test which elements implement AtkTable.
4055
4056         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4057         (WTR::AccessibilityUIElement::boolAttributeValue):
4058
4059 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
4060
4061         [ATK] Emit object:state-changed:busy event when aria-busy value changes
4062         https://bugs.webkit.org/show_bug.cgi?id=171181
4063
4064         Reviewed by Chris Fleizach.
4065
4066         Add handler for AXElementBusyChanged notifications.
4067
4068         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
4069
4070 2017-04-29  Aakash Jain  <aakash_jain@apple.com>
4071
4072         Use PEP8 style guide for raising exceptions in webkitpy.
4073         https://bugs.webkit.org/show_bug.cgi?id=171439
4074
4075         Reviewed by Daniel Bates.
4076
4077         As per https://www.python.org/dev/peps/pep-0008/
4078         "When raising an exception in Python 2, use raise ValueError('message') 
4079         instead of the older form raise ValueError, 'message'"
4080
4081         * Scripts/webkitpy/common/net/irc/ircbot.py: Using new style for raising exceptions.
4082         * Scripts/webkitpy/common/thread/messagepump.py: Same.
4083         * Scripts/webkitpy/tool/bot/queueengine.py: Same.
4084         * Scripts/webkitpy/tool/commands/queues.py: Same.
4085         * Scripts/webkitpy/tool/commands/stepsequence.py: Same.
4086         * Scripts/webkitpy/tool/multicommandtool.py: Same.
4087         * Scripts/webkitpy/tool/steps/abstractstep.py: Same.
4088
4089 2017-04-28  Simon Fraser  <simon.fraser@apple.com>
4090
4091         Add system trace points for Document::updateTouchEventRegions()
4092         https://bugs.webkit.org/show_bug.cgi?id=171470
4093         rdar://problem/31901239
4094
4095         Reviewed by Tim Horton.
4096
4097         Add trace markers for updateTouchEventRegions.
4098
4099         * Tracing/SystemTracePoints.plist:
4100
4101 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
4102
4103         webkitpy: Add apple_additions to webkitpy to insert Internal tools
4104         https://bugs.webkit.org/show_bug.cgi?id=170461
4105         <rdar://problem/31433077>
4106
4107         Reviewed by Daniel Bates.
4108
4109         Allow a package to be pulled in by run-webkit-tests which provides an interface to
4110         run layout tests on an iOS device.  If this package is not available, throw an
4111         exception when attempting to run layout tests on an iOS device.
4112
4113         * Scripts/webkitpy/port/config.py:
4114         (apple_additions): Import apple_additions package.
4115         * Scripts/webkitpy/port/device.py:
4116         (Device.install_dylibs): Pass a directory with all the frameworks and dylibs to be
4117         installed on a device.
4118         (Device.prepare_for_testing): Pass a list of ports to forward from the device to the
4119         host, the bundle id of the app to be used for testing and a path to the layout test
4120         directory to be mounted on the device.
4121         (Device.finished_testing):
4122         * Scripts/webkitpy/port/factory.py:
4123         (platform_options): Add apple_additions platform options if apple_additions exists.
4124         * Scripts/webkitpy/port/ios.py:
4125         (IOSPort.setup_test_run): Install dylibs and frameworks on the device, pass ports
4126         to forward, the bundle ID of the testing app and the layout tests directory to
4127         each device.
4128         * Scripts/webkitpy/port/ios_device.py:
4129         (IOSDevicePort):
4130         (IOSDevicePort.default_child_processes): Query apple_additions for the number of child
4131         processes to be run.
4132         (IOSDevicePort.using_multiple_devices): Always assume multiple devices are used. When
4133         a single device is used, it is still accessed through an array.
4134         (IOSDevicePort._device_for_worker_number_map): Query apple_additions for the device
4135         for worker number map.
4136         (IOSDevicePort._driver_class): Query apple_additions for the test driver.
4137         (IOSDevicePort.determine_full_port_name): Use class variable over hard-coded string.
4138         (IOSDevicePort.check_for_leaks): No implementation for iOSDevicePort.
4139         (IOSDevicePort.look_for_new_crash_logs): Ditto.
4140         (IOSDevicePort.look_for_new_samples): Ditto.
4141         (IOSDevicePort.sample_process): Ditto.
4142         (IOSDevicePort._build_driver_flags): Use class variable over hard-coded string.
4143         (IOSDevicePort._create_devices): Check that devices are available for testing and check
4144         that we have enough devices for each child process.
4145         (IOSDevicePort.clean_up_test_run): Have apple_additions preform any needed clean up.
4146         * Scripts/webkitpy/port/ios_device_unittest.py:
4147         (IOSDeviceTest.test_operating_system):
4148         (IOSDeviceTest.test_spindump): Override method from DarwinTest.
4149         (IOSDeviceTest.test_sample_process): Ditto.
4150         (IOSDeviceTest.test_sample_process_exception): Ditto.
4151
4152 2017-04-28  Wenson Hsieh  <wenson_hsieh@apple.com>
4153
4154         Fix and re-enable data interaction unit tests
4155         https://bugs.webkit.org/show_bug.cgi?id=171446
4156         <rdar://problem/31820646>
4157
4158         Reviewed by Tim Horton.
4159
4160         Enables all DataInteractionTests, and adjusts file upload tests to no longer write to a temporary file before
4161         registering with the UIItemProvider, and instead just register data directly via
4162         -registerDataRepresentationForTypeIdentifier:visibility:loadHandler:.
4163
4164         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
4165         (TestWebKitAPI::TEST):
4166         (temporaryURLForDataInteractionFileLoad): Deleted.
4167         (cleanUpDataInteractionTemporaryPath): Deleted.
4168         (-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]): Deleted.
4169         * TestWebKitAPI/ios/DataInteractionSimulator.h:
4170         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
4171
4172 2017-04-28  Brady Eidson  <beidson@apple.com>
4173
4174         Teach the DatabaseProcess to be fully SessionID aware
4175         https://bugs.webkit.org/show_bug.cgi?id=171451
4176
4177         Reviewed by Geoffrey Garen.
4178
4179         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
4180
4181 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
4182
4183         Unreviewed follow-up to r214705.
4184
4185         shut.copytree will fail if given a file as an argument instead of a directory.
4186
4187         * Scripts/webkitpy/common/system/filesystem.py:
4188         (FileSystem.copy_to_base_host): Use copytree when source is a directory and copyfile
4189         when source is a file.
4190         (FileSystem.copy_from_base_host): Ditto.
4191
4192 2017-04-28  Chris Dumez  <cdumez@apple.com>
4193
4194         Update DOMTokenList.replace() to match the latest DOM specification
4195         https://bugs.webkit.org/show_bug.cgi?id=171388
4196
4197         Reviewed by Alex Christensen.
4198
4199         Add API test coverage for new Vector API.
4200
4201         * TestWebKitAPI/Tests/WTF/Vector.cpp:
4202         (TestWebKitAPI::TEST):
4203
4204 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
4205
4206         WebKitTestRunner/DumpRenderTree prevent device from sleeping
4207         https://bugs.webkit.org/show_bug.cgi?id=170731
4208
4209         Reviewed by Alex Christensen.
4210
4211         While running layout tests on a device, the device should not be put asleep.
4212
4213         * DumpRenderTree/mac/DumpRenderTree.mm:
4214         (dumpRenderTree): Disable idle timer.
4215         * WebKitTestRunner/ios/TestControllerIOS.mm:
4216         (WTR::TestController::platformInitialize): Ditto.
4217
4218 2017-04-28  Brady Eidson  <beidson@apple.com>
4219
4220         Start of support for multiple WebsiteDataStore/SessionIDs per process
4221         https://bugs.webkit.org/show_bug.cgi?id=171422
4222
4223         Reviewed by Geoffrey Garen.
4224
4225         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
4226         (TEST):
4227
4228 2017-04-28  Youenn Fablet  <youenn@apple.com>
4229
4230         Adding a runtime flag specific to MediaDevices
4231         https://bugs.webkit.org/show_bug.cgi?id=171433
4232
4233         Reviewed by Geoffrey Garen.
4234
4235         Updating WTR and DRT as peer connection and media stream runtime flags are enabled by default.
4236         Setting media devices runtime flag to true for WTR and DRT.
4237
4238         * DumpRenderTree/mac/DumpRenderTree.mm:
4239         (enableExperimentalFeatures):
4240         (resetWebPreferencesToConsistentValues):
4241         * TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp:
4242         (TestWebKitAPI::TEST):
4243         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
4244         (TestWebKitAPI::TEST):
4245         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
4246         (WTR::InjectedBundle::beginTesting):
4247         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4248         (WTR::TestRunner::setMediaDevicesEnabled):
4249         (WTR::TestRunner::setMediaStreamEnabled): Deleted.
4250         (WTR::TestRunner::setPeerConnectionEnabled): Deleted.
4251         * WebKitTestRunner/InjectedBundle/TestRunner.h:
4252         * WebKitTestRunner/TestController.cpp:
4253         (WTR::TestController::resetPreferencesToConsistentValues):
4254
4255 2017-04-28  Dean Jackson  <dino@apple.com>
4256
4257         [WebGPU] Label MTLCommandQueues with a prefix for internal telemetry
4258         https://bugs.webkit.org/show_bug.cgi?id=171441
4259         <rdar://problem/31826915>
4260
4261         Reviewed by Tim Horton.
4262
4263         Add an API test for GPUCommandQueue, exercising creation
4264         and setting the label.
4265
4266         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4267         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Added.
4268         (TestWebKitAPI::TEST_F):
4269
4270 2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>
4271
4272         [ATK] aria-modal="true" should be exposed via ATK_STATE_MODAL
4273         https://bugs.webkit.org/show_bug.cgi?id=171188
4274
4275         Reviewed by Chris Fleizach.
4276
4277         Add "AXModal" attribute string so that we can test the state's exposure.
4278
4279         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4280         (WTR::A