35e4ed5c3737be83903526bdcf3264647551355d
[WebKit-https.git] / Tools / ChangeLog
1 2017-03-28  Timothy Horton  <timothy_horton@apple.com>
2
3         Safari crashes when attempting to close tab that is displaying PDF
4         https://bugs.webkit.org/show_bug.cgi?id=170201
5         <rdar://problem/31242019>
6
7         Reviewed by Wenson Hsieh.
8
9         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
10         (TEST):
11         Add a test for doAfterNextStablePresentationUpdate just like the existing
12         non-stable one.
13
14 2017-03-28  Jonathan Bedard  <jbedard@apple.com>
15
16         webkitpy: Use host pattern for devices
17         https://bugs.webkit.org/show_bug.cgi?id=170121
18
19         Reviewed by Daniel Bates.
20
21         Devices should be treated like hosts throughout webkitpy
22         so that more code can be re-used.  Add the needed properties
23         and use executive over custom implemented polling/killing
24         functions.
25
26         * Scripts/webkitpy/port/device.py:
27         (Device):
28         (Device.executive): Add optional executive property.
29         (Device.filesystem): Add optional filesystem property.
30         (Device.user): Add optional user property.
31         (Device.platform): Add optional platform property.
32         (Device.workspace): Add optional workspace property.
33         (Device.poll): Deleted.
34         * Scripts/webkitpy/port/simulator_process.py:
35         (SimulatorProcess.Popen.poll): Use the devices executive.
36         (SimulatorProcess.stop): Ditto.
37         (SimulatorProcess._kill): Ditto.
38         * Scripts/webkitpy/xcode/simulated_device.py:
39         (SimulatedDevice.__init__): Add executive, filesystem, user, platform
40         and workspace to the platform device.
41         (SimulatedDevice.poll): Deleted.
42
43 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
44
45         Dashboard test fails with error: latestIterationGetter is not a function
46         https://bugs.webkit.org/show_bug.cgi?id=170167
47
48         Reviewed by Alexey Proskuryakov.
49
50         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
51         (this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup.
52
53 2017-03-27  Lucas Forschler  <lforschler@apple.com>
54
55         Another test v8.
56
57 2017-03-27  Lucas Forschler  <lforschler@apple.com>
58
59         Another test v7.
60
61 2017-03-27  Lucas Forschler  <lforschler@apple.com>
62
63         Another test v6.
64
65 2017-03-27  Lucas Forschler  <lforschler@apple.com>
66
67         Another test v5.
68
69 2017-03-27  Lucas Forschler  <lforschler@apple.com>
70
71         Another test v4.
72
73 2017-03-27  Lucas Forschler  <lforschler@apple.com>
74
75         Another test v3.
76
77 2017-03-27  Lucas Forschler  <lforschler@apple.com>
78
79         Another test v2.
80
81 2017-03-27  Lucas Forschler  <lforschler@apple.com>
82
83         Another test.
84
85 2017-03-27  Lucas Forschler  <lforschler@apple.com>
86
87         <rdar://problem/30949128>
88         Update build.webkit.org to use port 16000 for PBChangeSource.
89         
90         Reviewed by Alexey Proskuryakov.
91
92         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
93
94 2017-03-27  Jason Marcell  <jmarcell@apple.com>
95
96         Bots should run the dashboard tests
97         https://bugs.webkit.org/show_bug.cgi?id=168994
98
99         Reviewed by Daniel Bates and David Kilzer.
100
101         We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests.
102
103         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
104         (RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed.
105         (RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory.
106         (RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard.
107         (RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests.
108         (ExtractTestResults.addCustomURLs): Update the current results URL label to indicate that it links to layout tests results and add a new link to link to dashboard layout test results.
109         (TestFactory.__init__): Update unit tests to account for new RunDashboardTests step.
110         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
111         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
112
113 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
114
115         webkitpy: Look for 'ios' test expectations for IOSPorts
116         https://bugs.webkit.org/show_bug.cgi?id=169413
117
118         Reviewed by Alexey Proskuryakov.
119
120         Test expectations for iOS tests should include the 'ios' folder.  Modify
121         default_baseline_search_path to include 'ios' folder and derivatives for
122         IOSPort.
123
124         * Scripts/webkitpy/port/ios.py:
125         (IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort.
126         (IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations.
127         (IOSPort.test_expectations_file_position): Added for testing.
128         * Scripts/webkitpy/port/ios_simulator.py:
129         (IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort.
130         (IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort.
131
132 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
133
134         REGRESSION: Reseting _device_map on each child process
135         <rdar://problem/31274476>
136
137         Unreviewed infrastructure fix.
138
139         * Scripts/webkitpy/port/ios_simulator.py:
140         (IOSSimulatorPort): Add _DEVICE_MAP class variable.
141         (IOSSimulatorPort.__init__): Use shared class variable
142         (IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable
143         (IOSSimulatorPort._create_devices): Ditto.
144         (IOSSimulatorPort._quit_ios_simulator): Ditto.
145         (IOSSimulatorPort.clean_up_test_run): Ditto.
146
147 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
148
149         REGRESSION: Failing to iterate over Simulator.managed_devices map
150         <rdar://problem/31274476>
151
152         Unreviewed infrastructure fix.
153
154         * Scripts/webkitpy/port/ios_simulator.py:
155         (IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number.
156
157 2017-03-27  Alex Christensen  <achristensen@webkit.org>
158
159         Make WebSockets work in network process
160         https://bugs.webkit.org/show_bug.cgi?id=169930
161
162         Reviewed by Youenn Fablet.
163
164         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
165         Add terminateNetworkProcess for the new test
166         http/tests/websocket/tests/hybi/network-process-crash-error.html
167         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
168         (WTR::TestRunner::setAllowsAnySSLCertificate):
169         (WTR::TestRunner::terminateNetworkProcess):
170         * WebKitTestRunner/InjectedBundle/TestRunner.h:
171         * WebKitTestRunner/TestController.cpp:
172         (WTR::TestController::setAllowsAnySSLCertificate):
173         (WTR::TestController::terminateNetworkProcess):
174         * WebKitTestRunner/TestController.h:
175         * WebKitTestRunner/TestInvocation.cpp:
176         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
177         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
178         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
179         (WTR::TestController::platformContext):
180         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
181         (WTR::TestController::platformContext):
182         (WTR::TestController::platformLibraryPathForTesting):
183         Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html
184         which calls testRunner.setAllowsAnySSLCertificate.  It used to only be effective
185         for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess,
186         and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test,
187         which tests that wss works, but our test certificate has an invalid certificate chain.
188         We want production software to not have the ability to have its security weakened, so this
189         is a test code path that is only implemented in WebKitTestRunner.
190
191 2017-03-25  Jonathan Bedard  <jbedard@apple.com>
192
193         webkitpy: Use generalized device instead of platform specific one
194         https://bugs.webkit.org/show_bug.cgi?id=170078
195
196         Reviewed by Daniel Bates.
197
198         SimulatedDevice is re-created each time 'xcrun simctl list' is called.  Device
199         should remain persistent.  Changing Device to a more explicit interface.
200         SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices
201         wrapping SimulatedDevices.
202
203         * Scripts/webkitpy/port/device.py: Added.
204         (Device):
205         (Device.__init__): Construct with platform device.
206         (Device.install_app): Install app at app path on platform device.
207         (Device.launch_app): Launch app with bundle ID on platform device.
208         (Device.poll): Poll platform device.
209         (Device.udid): Access platform device UDID.
210         (Device.__nonzero__): Check if instantiated with a valid platform device.
211         (Device.__eq__): Compare by udid.
212         (Device.__ne__): Ditto.
213         (Device.__repr__): Print out platform_device representation.
214         * Scripts/webkitpy/port/ios_simulator.py:
215         (IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary.
216         (IOSSimulatorPort._device_for_worker_number_map):  Return self._device_map.
217         (IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly.
218         (IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the
219         device map.
220         (IOSSimulatorPort._quit_ios_simulator): Reset self._device_map.
221         * Scripts/webkitpy/xcode/device.py: Removed.
222         * Scripts/webkitpy/xcode/simulated_device.py:
223         (SimulatedDevice):
224         (SimulatedDevice.__init__): Move host, name and did to SimulatedDevice.
225         (SimulatedDevice.__eq__): Compare two simulated devices.
226         (SimulatedDevice.__ne__): Ditto.
227         (SimulatedDevice.__repr__): Print name and udid.
228
229 2017-03-25  Adrian Perez de Castro  <aperez@igalia.com>
230
231         [GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp
232         https://bugs.webkit.org/show_bug.cgi?id=170059
233
234         Reviewed by Carlos Garcia Campos.
235
236         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration,
237         the only use of the method in this same file ignores the returned value anyway.
238
239 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
240
241         webkitpy should be able to run API tests
242         https://bugs.webkit.org/show_bug.cgi?id=170028
243
244         Reviewed by Alexey Proskuryakov.
245
246         * Scripts/webkitpy/common/config/ports.py:
247         (DeprecatedPort.run_api_tests_command): Added.
248         * Scripts/webkitpy/port/base.py:
249         (Port.api_results_directory): Added.
250         * Scripts/webkitpy/tool/steps/runtests.py:
251         (RunTests.run): Check if we should be running API tests.
252         (RunTests._run_api_tests): Generate script to run API tests with json output.
253         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
254
255 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
256
257         Add JSON results for API tests
258         https://bugs.webkit.org/show_bug.cgi?id=170021
259
260         Reviewed by Alexey Proskuryakov.
261
262         * Scripts/run-api-tests:
263         (runTestsBySuite): Appends failures and timeouts to JSON data.
264         (writeJsonDataIfApplicable): Writes JSON data to a file.
265
266 2017-03-24  Lucas Forschler  <lforschler@apple.com>
267
268         update committer_auth.py to be python 2.7 compliant
269         https://bugs.webkit.org/show_bug.cgi?id=170063
270         
271         Reviewed by Alexey Proskuryakov.
272
273         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
274         (CommitterAuth.authenticate):
275             convert e.message to e.args[0]
276
277 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
278
279         webkitpy: Parse JSON results from run-api-tests
280         https://bugs.webkit.org/show_bug.cgi?id=170062
281
282         Reviewed by Alexey Proskuryakov.
283
284         * Scripts/webkitpy/common/net/apitestresults.py: Added.
285         (APITestResults): Structure to represent API test results.
286         (APITestResults.__init__):
287         (APITestResults.intersection): Return the failures common to both sets of results.
288         (APITestResults.results_from_string): Create an APITestResults object from a JSON results string.
289         (APITestResults.equals): Return True if both results were the same.
290         (APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests.
291         (APITestResults.all_passed): Return True if everything passed.
292         (APITestResults.failing_tests): List of tests that didn't pass.
293         (APITestResults.did_exceed_test_failure_limit): Always False.
294         * Scripts/webkitpy/common/net/apitestresults_unittest.py: Added.
295         (APITestResultsTest): Unit tests.
296         * Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added.
297         (APITestResultsReader): Read contents of JSON results file.
298
299 2017-03-24  Alex Christensen  <achristensen@webkit.org>
300
301         REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
302         https://bugs.webkit.org/show_bug.cgi?id=169167
303
304         Reviewed by Simon Fraser.
305
306         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
307         (TestWebKitAPI::TEST_F):
308         Test an example of a selector that was incorrectly determined to be invalid.
309
310 2017-03-24  Jonathan Bedard  <jbedard@apple.com>
311
312         Increase timeout for booting simulators.
313         <rdar://problem/31080009>
314
315         Unreviewed infrastructure fix.
316
317         * Scripts/webkitpy/xcode/simulator.py:
318         (Simulator.wait_until_device_is_booted): Increase timeout.
319         (Simulator.wait_until_device_is_in_state): Increase timeout.
320
321 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
322
323         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277.
324
325         Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it
326         in our unit tests to work.
327
328         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
329         (testWebViewJavaScriptDialogs):
330
331 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
332
333         [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
334         https://bugs.webkit.org/show_bug.cgi?id=170001
335
336         Reviewed by Michael Catanzaro.
337
338         Ignore style of xdgmime sources.
339
340         * Scripts/webkitpy/tool/steps/checkstyle.py:
341
342 2017-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>
343
344         Dragging on a large image should not revert to a file icon if data interaction is enabled
345         https://bugs.webkit.org/show_bug.cgi?id=170018
346         <rdar://problem/31184508>
347
348         Reviewed by Tim Horton.
349
350         Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while
351         AttachmentElementItemProviders was a test that was previously removed due to <rdar://problem/31038797>.
352
353         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
354         * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added.
355         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
356         (TestWebKitAPI::TEST):
357
358 2017-03-23  Fujii Hironori  <Hironori.Fujii@sony.com>
359
360         Update WinCairoRequirements.zip
361         https://bugs.webkit.org/show_bug.cgi?id=169950
362
363         Reviewed by Alex Christensen.
364
365         * Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL.
366
367 == Rolled over to ChangeLog-2017-03-23 ==