1 2016-10-25 Eric Carlson <eric.carlson@apple.com>
3 [MediaStream] Add "has capture device" bit to media state flags
4 https://bugs.webkit.org/show_bug.cgi?id=163952
6 Reviewed by Sam Weinig.
8 * UIProcess/API/C/WKPage.cpp:
9 (WKPageGetMediaState): Support MediaProducer::HasMediaCaptureDevice.
10 * UIProcess/API/C/WKPagePrivate.h: Define kWKMediaHasCaptureDevice.
12 2016-10-25 Commit Queue <commit-queue@webkit.org>
14 Unreviewed, rolling out r207827 and r207828.
15 https://bugs.webkit.org/show_bug.cgi?id=163965
17 Caused LayoutTest webaudio/web-audio-is-playing.html to time
18 out on macOS. (Requested by ryanhaddad on #webkit).
22 "[MediaStream] Add "has capture device" bit to media state
24 https://bugs.webkit.org/show_bug.cgi?id=163952
25 http://trac.webkit.org/changeset/207827
27 "[MediaStream] Add "has capture device" bit to media state
29 https://bugs.webkit.org/show_bug.cgi?id=163952
30 http://trac.webkit.org/changeset/207828
32 2016-10-25 Eric Carlson <eric.carlson@apple.com>
34 [MediaStream] Add "has capture device" bit to media state flags
35 https://bugs.webkit.org/show_bug.cgi?id=163952
37 Reviewed by Sam Weinig.
39 * UIProcess/API/C/WKPage.cpp:
40 (WKPageGetMediaState): Support MediaProducer::HasMediaCaptureDevice.
41 * UIProcess/API/C/WKPagePrivate.h: Define kWKMediaHasCaptureDevice.
43 2016-10-25 Chris Dumez <cdumez@apple.com>
45 Unreviewed, rolling out r207494.
47 iOS SDK has been updated on the bots now so rollout the
52 "Unreviewed, rolling out r207413."
53 https://bugs.webkit.org/show_bug.cgi?id=163547
54 http://trac.webkit.org/changeset/207494
56 2016-10-25 Jonathan Bedard <jbedard@apple.com>
60 * UIProcess/API/Cocoa/WKWebView.mm:
61 (-[WKWebView _fullscreenDelegate]): Removed unneeded parenthesis.
63 2016-10-19 Jer Noble <jer.noble@apple.com>
65 Add WKWebView fullscreen delegate SPI
66 https://bugs.webkit.org/show_bug.cgi?id=163674
68 Reviewed by Anders Carlsson.
70 Add a new SPI property to WKWebView allowing clients to be notified when fullscreen mode enters and exits.
72 * UIProcess/API/APIFullscreenClient.h: Added.
73 (API::FullscreenClient::~FullscreenClient):
74 (API::FullscreenClient::willEnterFullscreen):
75 (API::FullscreenClient::didEnterFullscreen):
76 (API::FullscreenClient::willExitFullscreen):
77 (API::FullscreenClient::didExitFullscreen):
78 * UIProcess/API/Cocoa/WKWebView.mm:
79 (-[WKWebView _initializeWithConfiguration:]):
80 (-[WKWebView _setFullscreenDelegate:]):
81 (-[WKWebView _fullscreenDelegate]):
82 (-[WKWebView _isInFullscreen]):
83 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
84 * UIProcess/API/Cocoa/_WKFullscreenDelegate.h: Added.
85 * UIProcess/Cocoa/FullscreenClient.h: Added.
86 (WebKit::FullscreenClient::~FullscreenClient):
87 * UIProcess/Cocoa/FullscreenClient.mm: Added.
88 (WebKit::FullscreenClient::FullscreenClient):
89 (WebKit::FullscreenClient::delegate):
90 (WebKit::FullscreenClient::setDelegate):
91 (WebKit::FullscreenClient::willEnterFullscreen):
92 (WebKit::FullscreenClient::didEnterFullscreen):
93 (WebKit::FullscreenClient::willExitFullscreen):
94 (WebKit::FullscreenClient::didExitFullscreen):
95 * UIProcess/WebFullScreenManagerProxy.cpp:
96 (WebKit::WebFullScreenManagerProxy::willEnterFullScreen):
97 (WebKit::WebFullScreenManagerProxy::didEnterFullScreen):
98 (WebKit::WebFullScreenManagerProxy::willExitFullScreen):
99 (WebKit::WebFullScreenManagerProxy::didExitFullScreen):
100 * UIProcess/WebPageProxy.cpp:
101 (WebKit::WebPageProxy::WebPageProxy):
102 (WebKit::WebPageProxy::setFullscreenClient):
103 (WebKit::WebPageProxy::fullScreenManager): Deleted.
104 * UIProcess/WebPageProxy.h:
105 (WebKit::WebPageProxy::fullscreenClient):
106 * WebKit2.xcodeproj/project.pbxproj:
108 2016-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
110 Unreviewed. Fix timeouts in 12 GTK+ unit tests after r207812.
112 * NetworkProcess/NetworkProcessCreationParameters.h: Initialize loadThrottleLatency.
114 2016-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
116 Unreviewed. Fix Soup based ports debug build after r207813.
118 * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
119 (WebKit::NetworkDataTaskSoup::authenticateCallback):
120 (WebKit::NetworkDataTaskSoup::requestStartedCallback):
122 2016-10-25 Andreas Kling <akling@apple.com>
124 More PassRefPtr purging in WebCore.
125 <https://webkit.org/b/163895>
127 Reviewed by Antti Koivisto.
129 * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
130 * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
131 (WebKit::PDFPlugin::createScrollbar):
133 2016-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
135 NetworkSession: switch to use subclasses for NetworkSession and NetworkDataTask implementations
136 https://bugs.webkit.org/show_bug.cgi?id=163777
138 Reviewed by Alex Christensen.
140 The subclass model allows us to choose the implementation at run time, so we could add other implementations
141 like a mock network class to measure performance, and even one for blobs and finally get rid of ResourceHandle
144 * CMakeLists.txt: Add new files to compilation.
145 * NetworkProcess/NetworkDataTask.cpp: Added.
146 (WebKit::NetworkDataTask::create): Create a NetworkDataTaskCocoa or NetworkDataTaskSoup.
147 (WebKit::NetworkDataTask::NetworkDataTask): Move common code from NetworkDataTaskCocoa and NetworkDataTaskSoup
148 here to handle the early failures.
149 (WebKit::NetworkDataTask::~NetworkDataTask):
150 (WebKit::NetworkDataTask::scheduleFailure):
151 (WebKit::NetworkDataTask::failureTimerFired):
152 * NetworkProcess/NetworkDataTask.h: Remove platform specific members.
153 (WebKit::NetworkDataTask::setPendingDownloadLocation): Make it virtual and set the m_pendingDownloadLocation.
154 (WebKit::NetworkDataTask::suggestedFilename): Make it virtual and const with a default implementation.
155 (WebKit::NetworkDataTask::setSuggestedFilename): Ditto.
156 (WebKit::NetworkDataTask::allowsSpecificHTTPSCertificateForHost): Ditto.
157 * NetworkProcess/NetworkLoad.cpp: Include NetworkDataTaskCocoa.h.
158 * NetworkProcess/NetworkLoad.h: Include NetworkDataTask.h instead of NetworkSession.h.
159 * NetworkProcess/NetworkProcess.cpp:
160 (WebKit::NetworkProcess::NetworkProcess): Use NetworkSessionCocoa.
161 * NetworkProcess/NetworkSession.cpp:
162 (WebKit::NetworkSession::create): Create a NetworkSessionCocoa or NetworkSessionSoup.
163 (WebKit::NetworkSession::defaultSession): In case of cocoa use NetworkSessionCocoa::defaultSession() because of
164 the custom protocol manager, otherwise simply create a default session.
165 (WebKit::NetworkSession::networkStorageSession): Move common code from NetworkSessionCocoa and
166 NetworkSessionSoup here.
167 (WebKit::NetworkSession::NetworkSession):
168 (WebKit::NetworkSession::~NetworkSession):
169 * NetworkProcess/NetworkSession.h: Remove platform specific members.
170 (WebKit::NetworkSession::invalidateAndCancel): Make it virtual.
171 (WebKit::NetworkSession::clearCredentials): Ditto.
172 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: Include NetworkSession.h.
173 * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: Added.
174 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
175 (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
176 (WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
177 (WebKit::NetworkDataTaskCocoa::didSendData):
178 (WebKit::NetworkDataTaskCocoa::didReceiveChallenge):
179 (WebKit::NetworkDataTaskCocoa::didCompleteWithError):
180 (WebKit::NetworkDataTaskCocoa::didReceiveResponse):
181 (WebKit::NetworkDataTaskCocoa::didReceiveData):
182 (WebKit::NetworkDataTaskCocoa::didBecomeDownload):
183 (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
184 (WebKit::NetworkDataTaskCocoa::setPendingDownloadLocation):
185 (WebKit::NetworkDataTaskCocoa::tryPasswordBasedAuthentication):
186 (WebKit::NetworkDataTaskCocoa::transferSandboxExtensionToDownload):
187 (WebKit::NetworkDataTaskCocoa::allowsSpecificHTTPSCertificateForHost):
188 (WebKit::NetworkDataTaskCocoa::suggestedFilename):
189 (WebKit::NetworkDataTaskCocoa::cancel):
190 (WebKit::NetworkDataTaskCocoa::resume):
191 (WebKit::NetworkDataTaskCocoa::suspend):
192 (WebKit::NetworkDataTaskCocoa::state):
193 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
194 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
195 * NetworkProcess/cocoa/NetworkSessionCocoa.h: Added.
196 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
197 (-[WKNetworkSessionDelegate initWithNetworkSession:withCredentials:]):
198 (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
199 (WebKit::configurationForSessionID):
200 (WebKit::NetworkSessionCocoa::setCustomProtocolManager):
201 (WebKit::NetworkSessionCocoa::setSourceApplicationAuditTokenData):
202 (WebKit::NetworkSessionCocoa::setSourceApplicationBundleIdentifier):
203 (WebKit::NetworkSessionCocoa::setSourceApplicationSecondaryIdentifier):
204 (WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType):
205 (WebKit::NetworkSessionCocoa::create):
206 (WebKit::NetworkSessionCocoa::defaultSession):
207 (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
208 (WebKit::NetworkSessionCocoa::~NetworkSessionCocoa):
209 (WebKit::NetworkSessionCocoa::invalidateAndCancel):
210 (WebKit::NetworkSessionCocoa::clearCredentials):
211 (WebKit::NetworkSessionCocoa::dataTaskForIdentifier):
212 (WebKit::NetworkSessionCocoa::addDownloadID):
213 (WebKit::NetworkSessionCocoa::downloadID):
214 (WebKit::NetworkSessionCocoa::takeDownloadID):
215 * NetworkProcess/mac/RemoteNetworkingContext.mm:
216 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
217 * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
218 (WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
219 (WebKit::NetworkDataTaskSoup::~NetworkDataTaskSoup):
220 (WebKit::NetworkDataTaskSoup::suggestedFilename):
221 (WebKit::NetworkDataTaskSoup::setPendingDownloadLocation):
222 (WebKit::NetworkDataTaskSoup::createRequest):
223 (WebKit::NetworkDataTaskSoup::clearRequest):
224 (WebKit::NetworkDataTaskSoup::resume):
225 (WebKit::NetworkDataTaskSoup::suspend):
226 (WebKit::NetworkDataTaskSoup::cancel):
227 (WebKit::NetworkDataTaskSoup::invalidateAndCancel):
228 (WebKit::NetworkDataTaskSoup::state):
229 (WebKit::NetworkDataTaskSoup::timeoutFired):
230 (WebKit::NetworkDataTaskSoup::startTimeout):
231 (WebKit::NetworkDataTaskSoup::stopTimeout):
232 (WebKit::NetworkDataTaskSoup::sendRequestCallback):
233 (WebKit::NetworkDataTaskSoup::didSendRequest):
234 (WebKit::NetworkDataTaskSoup::didReceiveResponse):
235 (WebKit::NetworkDataTaskSoup::tlsErrorsChangedCallback):
236 (WebKit::NetworkDataTaskSoup::tlsErrorsChanged):
237 (WebKit::NetworkDataTaskSoup::applyAuthenticationToRequest):
238 (WebKit::NetworkDataTaskSoup::authenticateCallback):
239 (WebKit::NetworkDataTaskSoup::authenticate):
240 (WebKit::NetworkDataTaskSoup::continueAuthenticate):
241 (WebKit::NetworkDataTaskSoup::skipInputStreamForRedirectionCallback):
242 (WebKit::NetworkDataTaskSoup::skipInputStreamForRedirection):
243 (WebKit::NetworkDataTaskSoup::didFinishSkipInputStreamForRedirection):
244 (WebKit::NetworkDataTaskSoup::shouldStartHTTPRedirection):
245 (WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
246 (WebKit::NetworkDataTaskSoup::readCallback):
247 (WebKit::NetworkDataTaskSoup::read):
248 (WebKit::NetworkDataTaskSoup::didRead):
249 (WebKit::NetworkDataTaskSoup::didFinishRead):
250 (WebKit::NetworkDataTaskSoup::requestNextPartCallback):
251 (WebKit::NetworkDataTaskSoup::requestNextPart):
252 (WebKit::NetworkDataTaskSoup::didRequestNextPart):
253 (WebKit::NetworkDataTaskSoup::didFinishRequestNextPart):
254 (WebKit::NetworkDataTaskSoup::gotHeadersCallback):
255 (WebKit::NetworkDataTaskSoup::didGetHeaders):
256 (WebKit::NetworkDataTaskSoup::wroteBodyDataCallback):
257 (WebKit::NetworkDataTaskSoup::didWriteBodyData):
258 (WebKit::NetworkDataTaskSoup::download):
259 (WebKit::NetworkDataTaskSoup::writeDownloadCallback):
260 (WebKit::NetworkDataTaskSoup::writeDownload):
261 (WebKit::NetworkDataTaskSoup::didWriteDownload):
262 (WebKit::NetworkDataTaskSoup::didFinishDownload):
263 (WebKit::NetworkDataTaskSoup::didFailDownload):
264 (WebKit::NetworkDataTaskSoup::cleanDownloadFiles):
265 (WebKit::NetworkDataTaskSoup::didFail):
266 (WebKit::NetworkDataTaskSoup::networkEventCallback):
267 (WebKit::NetworkDataTaskSoup::networkEvent):
268 (WebKit::NetworkDataTaskSoup::startingCallback):
269 (WebKit::NetworkDataTaskSoup::requestStartedCallback):
270 (WebKit::NetworkDataTaskSoup::didStartRequest):
271 (WebKit::NetworkDataTaskSoup::restartedCallback):
272 (WebKit::NetworkDataTaskSoup::didRestart):
273 * NetworkProcess/soup/NetworkDataTaskSoup.h: Added.
274 * NetworkProcess/soup/NetworkSessionSoup.cpp:
275 (WebKit::NetworkSessionSoup::NetworkSessionSoup):
276 (WebKit::NetworkSessionSoup::~NetworkSessionSoup):
277 (WebKit::NetworkSessionSoup::soupSession):
278 (WebKit::NetworkSessionSoup::invalidateAndCancel):
279 * NetworkProcess/soup/NetworkSessionSoup.h: Added.
280 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
281 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Update to new NetworkSession::create() API.
282 * PlatformEfl.cmake: Add new files to compilation.
283 * PlatformGTK.cmake: Ditto.
284 * WebKit2.xcodeproj/project.pbxproj: Ditto.
285 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
286 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Update to new NetworkSession::create() API.
287 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
288 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Ditto.
290 2016-10-25 Antti Koivisto <antti@apple.com>
292 Add support for introducing simulated latency in network process
293 https://bugs.webkit.org/show_bug.cgi?id=163902
295 Reviewed by Alex Christensen.
297 For testing purposes it is useful to have a mechanism for simulating high latency.
298 This patch adds a basic mechanism that introduces a delay to each response in network
299 process. In Safari it can be used with
301 defaults write com.apple.Safari WebKitNetworkLoadThrottleLatencyMilliseconds 200
303 Setting the delay to 0 disables the feature.
305 * NetworkProcess/NetworkLoad.cpp:
306 (WebKit::NetworkLoad::Throttle::Throttle):
307 (WebKit::NetworkLoad::didReceiveResponseNetworkSession):
308 (WebKit::NetworkLoad::notifyDidReceiveResponse):
309 (WebKit::NetworkLoad::didReceiveData):
310 (WebKit::NetworkLoad::didCompleteWithError):
311 (WebKit::NetworkLoad::throttleDelayCompleted):
312 * NetworkProcess/NetworkLoad.h:
313 * NetworkProcess/NetworkProcess.cpp:
314 (WebKit::NetworkProcess::initializeNetworkProcess):
315 * NetworkProcess/NetworkProcess.h:
316 (WebKit::NetworkProcess::loadThrottleLatency):
317 * NetworkProcess/NetworkProcessCreationParameters.cpp:
318 (WebKit::NetworkProcessCreationParameters::encode):
319 (WebKit::NetworkProcessCreationParameters::decode):
320 * NetworkProcess/NetworkProcessCreationParameters.h:
321 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
322 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
324 2016-10-24 Dan Bernstein <mitz@apple.com>
326 REGRESSION (r206410): Sandbox violations beneath WebProcessProxy::platformIsBeingDebugged
327 https://bugs.webkit.org/show_bug.cgi?id=163879
328 <rdar://problem/28728735>
330 Reviewed by Darin Adler.
332 * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
333 (WebKit::WebProcessProxy::platformIsBeingDebugged): Check if the current process, which is
334 the UI process, is sandboxed before trying to find out if the Web process is being
337 2016-10-21 Alex Christensen <achristensen@webkit.org>
339 URL::port should return Optional<uint16_t>
340 https://bugs.webkit.org/show_bug.cgi?id=163806
342 Reviewed by Darin Adler.
344 * NetworkProcess/mac/NetworkProcessMac.mm:
345 (WebKit::overrideSystemProxies):
346 * Shared/API/APISecurityOrigin.h:
347 (API::SecurityOrigin::create):
348 * Shared/API/APIURL.h:
349 (API::URL::protocol):
350 * Shared/API/c/WKSecurityOriginRef.cpp:
351 (WKSecurityOriginGetPort):
352 * UIProcess/API/Cocoa/WKSecurityOrigin.mm:
353 (-[WKSecurityOrigin port]):
354 * WebProcess/WebPage/WebPage.cpp:
355 (WebKit::WebPage::canHandleRequest):
356 * WebProcess/cocoa/WebProcessCocoa.mm:
359 2016-10-24 Eric Carlson <eric.carlson@apple.com>
361 [MediaStream] Separate media capture and audio playback muting
362 https://bugs.webkit.org/show_bug.cgi?id=163855
363 <rdar://problem/28827186>
365 Reviewed by Darin Adler.
367 * Shared/WebPageCreationParameters.h: Change 'muted' from bool to MutedStateFlags.
369 * UIProcess/API/C/WKPage.cpp: Change parameter from bool to WKMediaMutedState.
371 * UIProcess/API/C/WKPagePrivate.h: Define WKMediaMutedState.
373 * UIProcess/WebPageProxy.cpp:
374 (WebKit::WebPageProxy::WebPageProxy):
375 (WebKit::WebPageProxy::setMuted): m_muted -> m_mutedState.
376 (WebKit::WebPageProxy::creationParameters): Ditto.
377 * UIProcess/WebPageProxy.h:
379 * WebProcess/Plugins/PluginView.cpp:
380 (WebKit::PluginView::isMuted): page.isMuted -> page.mutedState.
382 * WebProcess/WebPage/WebPage.messages.in: Change SetMuted parameter.
384 2016-10-24 Youenn Fablet <youenn@apple.com>
386 Activate WEB_RTC compilation flags for Mac bots
387 https://bugs.webkit.org/show_bug.cgi?id=163886
389 Reviewed by Eric Carlson.
391 * Configurations/FeatureDefines.xcconfig:
393 2016-10-24 Brady Eidson <beidson@apple.com>
395 IndexedDB 2.0: Support IDBIndex name assignment.
396 <rdar://problem/28806932> and https://bugs.webkit.org/show_bug.cgi?id=163805
398 Reviewed by Alex Christensen.
400 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
401 (WebKit::WebIDBConnectionToClient::didRenameIndex):
402 (WebKit::WebIDBConnectionToClient::renameIndex):
403 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
404 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
406 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
407 (WebKit::WebIDBConnectionToServer::renameIndex):
408 (WebKit::WebIDBConnectionToServer::didRenameIndex):
409 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
410 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
412 2016-10-23 Michael Catanzaro <mcatanzaro@igalia.com>
414 [GTK] Remove DO NOT MODIFY headers from files that are no longer autogenerated
415 https://bugs.webkit.org/show_bug.cgi?id=163867
417 Reviewed by Darin Adler.
419 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:
420 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.h:
421 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrPrivate.h:
422 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:
423 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.h:
424 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobPrivate.h:
425 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.cpp:
426 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.h:
427 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASectionPrivate.h:
428 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.h:
429 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.cpp:
430 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.h:
431 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleListPrivate.h:
432 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRulePrivate.h:
433 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.h:
434 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclarationPrivate.h:
435 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.h:
436 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheetPrivate.h:
437 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.h:
438 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValuePrivate.h:
439 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:
440 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.h:
441 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataPrivate.h:
442 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.cpp:
443 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.h:
444 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCommentPrivate.h:
445 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.h:
446 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementationPrivate.h:
447 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp:
448 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
449 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelectionPrivate.h:
450 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.cpp:
451 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
452 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenListPrivate.h:
453 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
454 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
455 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowPrivate.h:
456 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
457 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
458 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.cpp:
459 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
460 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentPrivate.h:
461 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
462 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentPrivate.h:
463 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
464 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.h:
465 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypePrivate.h:
466 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
467 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
468 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
469 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementPrivate.h:
470 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
471 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
472 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.h:
473 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventPrivate.h:
474 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:
475 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.h:
476 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.cpp:
477 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.h:
478 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileListPrivate.h:
479 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFilePrivate.h:
480 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:
481 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
482 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementPrivate.h:
483 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp:
484 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.h:
485 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElementPrivate.h:
486 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:
487 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
488 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementPrivate.h:
489 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.cpp:
490 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.h:
491 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElementPrivate.h:
492 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp:
493 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.h:
494 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElementPrivate.h:
495 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.cpp:
496 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.h:
497 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElementPrivate.h:
498 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:
499 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.h:
500 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementPrivate.h:
501 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp:
502 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.h:
503 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElementPrivate.h:
504 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.cpp:
505 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.h:
506 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollectionPrivate.h:
507 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp:
508 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.h:
509 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElementPrivate.h:
510 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp:
511 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.h:
512 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElementPrivate.h:
513 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.cpp:
514 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.h:
515 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElementPrivate.h:
516 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.cpp:
517 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.h:
518 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocumentPrivate.h:
519 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp:
520 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
521 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementPrivate.h:
522 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
523 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp:
524 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.h:
525 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElementPrivate.h:
526 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:
527 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.h:
528 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementPrivate.h:
529 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.cpp:
530 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.h:
531 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElementPrivate.h:
532 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:
533 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.h:
534 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementPrivate.h:
535 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.cpp:
536 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.h:
537 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElementPrivate.h:
538 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.cpp:
539 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.h:
540 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElementPrivate.h:
541 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.cpp:
542 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.h:
543 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElementPrivate.h:
544 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.cpp:
545 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.h:
546 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElementPrivate.h:
547 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.cpp:
548 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.h:
549 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElementPrivate.h:
550 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:
551 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.h:
552 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementPrivate.h:
553 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:
554 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.h:
555 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementPrivate.h:
556 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:
557 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.h:
558 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementPrivate.h:
559 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
560 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
561 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementPrivate.h:
562 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp:
563 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.h:
564 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElementPrivate.h:
565 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:
566 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.h:
567 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementPrivate.h:
568 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.cpp:
569 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.h:
570 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElementPrivate.h:
571 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
572 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
573 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementPrivate.h:
574 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.cpp:
575 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.h:
576 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElementPrivate.h:
577 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:
578 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.h:
579 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementPrivate.h:
580 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp:
581 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.h:
582 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElementPrivate.h:
583 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.cpp:
584 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.h:
585 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElementPrivate.h:
586 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.cpp:
587 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.h:
588 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElementPrivate.h:
589 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
590 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.h:
591 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementPrivate.h:
592 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:
593 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.h:
594 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementPrivate.h:
595 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.cpp:
596 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.h:
597 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElementPrivate.h:
598 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp:
599 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.h:
600 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElementPrivate.h:
601 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:
602 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.h:
603 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionPrivate.h:
604 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.cpp:
605 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.h:
606 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElementPrivate.h:
607 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.cpp:
608 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.h:
609 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElementPrivate.h:
610 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp:
611 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.h:
612 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElementPrivate.h:
613 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
614 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.cpp:
615 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.h:
616 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElementPrivate.h:
617 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:
618 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
619 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementPrivate.h:
620 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
621 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.h:
622 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementPrivate.h:
623 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:
624 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.h:
625 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementPrivate.h:
626 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.cpp:
627 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.h:
628 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElementPrivate.h:
629 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp:
630 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.h:
631 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElementPrivate.h:
632 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.cpp:
633 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.h:
634 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElementPrivate.h:
635 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:
636 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.h:
637 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementPrivate.h:
638 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.cpp:
639 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.h:
640 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElementPrivate.h:
641 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.cpp:
642 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.h:
643 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElementPrivate.h:
644 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
645 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
646 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementPrivate.h:
647 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.cpp:
648 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.h:
649 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElementPrivate.h:
650 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.cpp:
651 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.h:
652 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElementPrivate.h:
653 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.cpp:
654 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.h:
655 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEventPrivate.h:
656 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.h:
657 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaListPrivate.h:
658 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:
659 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.h:
660 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventPrivate.h:
661 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.cpp:
662 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.h:
663 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMapPrivate.h:
664 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.h:
665 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp:
666 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.h:
667 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIteratorPrivate.h:
668 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.cpp:
669 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.h:
670 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeListPrivate.h:
671 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodePrivate.h:
672 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.cpp:
673 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.h:
674 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstructionPrivate.h:
675 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.cpp:
676 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
677 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangePrivate.h:
678 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
679 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.cpp:
680 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.h:
681 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.cpp:
682 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.h:
683 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetListPrivate.h:
684 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetPrivate.h:
685 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.cpp:
686 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.h:
687 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextPrivate.h:
688 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp:
689 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.h:
690 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalkerPrivate.h:
691 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:
692 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.h:
693 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventPrivate.h:
694 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:
695 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.h:
696 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventPrivate.h:
697 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
698 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.h:
699 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpressionPrivate.h:
700 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathNSResolverPrivate.h:
701 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
702 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.h:
703 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResultPrivate.h:
704 * WebProcess/InjectedBundle/API/gtk/DOM/webkitdom.h:
705 * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups.h:
706 * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:
708 2016-10-23 Chris Dumez <cdumez@apple.com>
710 Another unreviewed attempt to fix the WatchOS / TvOS build after r207585.
711 <rdar://problem/28902292>
713 Disable USE_CFURLCONNECTION on newer WatchOS / TvOS.
717 2016-10-23 Chris Dumez <cdumez@apple.com>
719 Unreviewed attempt to fix WatchOS / TvOS build after r207585.
720 <rdar://problem/28902292>
722 Enable NETWORK_SESSION on those platforms.
726 2016-10-22 Dan Bernstein <mitz@apple.com>
728 [iOS] _webViewWillEndNavigationGesture:withNavigationToBackForwardListItem: is never called
729 https://bugs.webkit.org/show_bug.cgi?id=163758
731 Reviewed by Darin Adler.
733 * UIProcess/ios/ViewGestureControllerIOS.mm:
734 (WebKit::ViewGestureController::beginSwipeGesture): Don’t reset the interactive update
737 2016-10-21 David Kilzer <ddkilzer@apple.com>
739 Bug 163762: IntSize::area() should used checked arithmetic
740 <https://webkit.org/b/163762>
742 Reviewed by Darin Adler.
744 * Shared/ShareableBitmap.cpp:
745 (WebKit::ShareableBitmap::create): Add overflow check and return
747 (WebKit::ShareableBitmap::createShareable): Ditto.
748 (WebKit::ShareableBitmap::create): Change debug assert for
749 adequate buffer size check into release check.
750 * Shared/ShareableBitmap.h:
751 (WebKit::ShareableBitmap::numBytesForSize): Change to return a
752 Checked<unsigned, RecordOverflow> value.
753 (WebKit::ShareableBitmap::sizeInBytes):
754 * Shared/cairo/ShareableBitmapCairo.cpp:
755 (WebKit::ShareableBitmap::numBytesForSize): Ditto.
756 * UIProcess/API/Cocoa/WKWebView.mm:
757 (-[WKWebView _takeViewSnapshot]): Call unsafeGet().
759 2016-10-21 Eric Carlson <eric.carlson@apple.com>
761 [MediaStream] Dynamically generate media capture sandbox extensions
762 https://bugs.webkit.org/show_bug.cgi?id=154861
763 <rdar://problem/24909411>
765 Reviewed by Tim Horton.
767 * Shared/SandboxExtension.h:
768 (WebKit::SandboxExtension::createHandleForGenericExtension):
769 * Shared/mac/SandboxExtensionMac.mm:
770 (WebKit::wkSandboxExtensionType): Add case for generic handle.
771 (WebKit::SandboxExtension::createHandleForGenericExtension): New.
773 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
774 (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Clear the list of extensions granted.
775 (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Extend the web
776 process sandbox as necessary.
777 * UIProcess/UserMediaPermissionRequestManagerProxy.h:
779 * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
780 (WebKit::UserMediaPermissionRequestManager::~UserMediaPermissionRequestManager): Revoke all
782 (WebKit::UserMediaPermissionRequestManager::grantUserMediaDevicesSandboxExtension): Consume
784 * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
786 * WebProcess/WebPage/WebPage.cpp:
787 (WebKit::WebPage::grantUserMediaDevicesSandboxExtension): Pass-through to user media manager.
788 * WebProcess/WebPage/WebPage.h:
790 * WebProcess/WebPage/WebPage.messages.in: Add GrantUserMediaDevicesSandboxExtension.
792 * WebProcess/com.apple.WebProcess.sb.in: Add rules, defines, and a macro to allow dynamic extensions
793 for media capture devices.
795 2016-10-21 Gavin Barraclough <barraclough@apple.com>
797 WebPageProxy should not need PageActivityState
798 https://bugs.webkit.org/show_bug.cgi?id=163821
800 Reviewed by Geoff Garen.
802 The PageActivityState is currently plumbed back from WebCore up to the UI process, to
803 determine whether to enabled process suppression. However the information it contains
804 (whether a page load is ongoing, whether audio is playing) is already available via
805 other means. Remove this use of PageActivityState.
807 * UIProcess/PageLoadState.cpp:
808 (WebKit::PageLoadState::commitChanges):
809 - PageLoadState notifies WebPageProxy when loading state changes.
810 * UIProcess/WebPageProxy.cpp:
811 (WebKit::WebPageProxy::updateThrottleState):
812 - Now relies on info from PageLoadState, setMuted, isPlayingMediaDidChange.
813 (WebKit::WebPageProxy::setMuted):
814 (WebKit::WebPageProxy::isPlayingMediaDidChange):
815 - If audio playback state changes we may need to update the throttle state.
816 (WebKit::WebPageProxy::setPageActivityState): Deleted.
817 - removed PageActivityState from WK2.
818 * UIProcess/WebPageProxy.h:
819 (WebKit::WebPageProxy::isLoadingChanged):
820 - PageLoadState notifies WebPageProxy when loading state changes.
821 * UIProcess/WebPageProxy.messages.in:
822 - removed PageActivityState from WK2.
823 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
824 (WebKit::WebChromeClient::setPageActivityState): Deleted.
825 - removed PageActivityState from WK2.
826 * WebProcess/WebCoreSupport/WebChromeClient.h:
827 - removed PageActivityState from WK2.
828 * WebProcess/WebPage/WebPage.cpp:
829 (WebKit::WebPage::setPageActivityState): Deleted.
830 - removed PageActivityState from WK2.
831 * WebProcess/WebPage/WebPage.h:
832 - removed PageActivityState from WK2.
834 2016-10-21 Gavin Barraclough <barraclough@apple.com>
836 WebPage should take UserActivity directly for user input
837 https://bugs.webkit.org/show_bug.cgi?id=163813
839 Reviewed by Anders Carlsson.
841 When we receive mouse/keyboard events in a page, we want to prevent AppNap. We currently do so
842 via the PageThrottler. This patch is to just make the WebPage drive the UserActivity directly.
844 Two reasons to do so: (1) to cleanup & simplify for further refactoring. (2) The current code
845 isn't really achieving the desired effect. The page setting the flag in the throttler to get
846 the activity to be set is now a less effective way of achieving this goal, since the
847 PageActivityState bounces back across to the UI process & then messages back to the WebContent
848 process to take the UserActivity. These extra hops defeat the purpose of making sure the boost
849 from the initial message isn't lost.
851 * WebProcess/WebPage/WebPage.cpp:
852 (WebKit::m_userActivityHysteresis):
853 - m_userActivityHysteresis triggers updateUserActivity.
854 (WebKit::WebPage::setPageSuppressed):
855 - setPageSuppressed starts/stops m_userActivityHysteresis.
856 (WebKit::WebPage::updateUserActivity):
857 - update UserActivity based on state of m_userActivityHysteresis.
858 (WebKit::WebPage::mouseEvent):
859 (WebKit::WebPage::wheelEvent):
860 (WebKit::WebPage::keyEvent):
861 - input events impulse m_userActivityHysteresis.
862 * WebProcess/WebPage/WebPage.h:
864 2016-10-21 Wenson Hsieh <wenson_hsieh@apple.com>
866 Support (insertFrom|deleteBy)Composition and (insert|delete)CompositionText inputTypes for InputEvents
867 https://bugs.webkit.org/show_bug.cgi?id=163460
868 <rdar://problem/28784142>
870 Reviewed by Darin Adler.
872 Handle new EditAction types for inserting/deleting pending/final compositions.
874 * UIProcess/WebEditCommandProxy.cpp:
875 (WebKit::WebEditCommandProxy::nameForEditAction):
877 2016-10-21 Jeremy Jones <jeremyj@apple.com>
879 Implement basic pointer lock behavior for WebKit and WebKit2.
880 https://bugs.webkit.org/show_bug.cgi?id=162745
882 Reviewed by Simon Fraser.
884 Enable basic pointer lock functionality by plumbing requests through WebPage IPC.
885 Pass through mouse movement deltas.
886 Unlock pointer when view is no longer visible.
888 * Shared/WebEventConversion.cpp:
889 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): Pass along mouse movement.
890 * UIProcess/WebPageProxy.cpp:
891 (WebKit::WebPageProxy::dispatchViewStateChange): Unlock pointer when page is not visible.
892 (WebKit::WebPageProxy::requestPointerLock): Hide and disassociate pointer.
893 (WebKit::WebPageProxy::requestPointerUnlock): Show and associate pointer.
894 * UIProcess/WebPageProxy.h:
895 * UIProcess/WebPageProxy.messages.in: Add methods.
896 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
897 (WebKit::WebChromeClient::requestPointerLock): Pass along to web page.
898 (WebKit::WebChromeClient::requestPointerUnlock): Ditto.
899 * WebProcess/WebCoreSupport/WebChromeClient.h:
900 * WebProcess/WebPage/WebPage.cpp:
901 (WebKit::WebPage::didAcquirePointerLock): Forward to PointerLockController.
902 (WebKit::WebPage::didNotAcquirePointerLock): Ditto.
903 (WebKit::WebPage::didLosePointerLock): Ditto.
904 * WebProcess/WebPage/WebPage.h:
905 * WebProcess/WebPage/WebPage.messages.in: Add methods.
907 2016-10-21 Wenson Hsieh <wenson_hsieh@apple.com>
909 Implement InputEvent.getTargetRanges() for the input events spec
910 https://bugs.webkit.org/show_bug.cgi?id=162947
911 <rdar://problem/28853079>
913 Reviewed by Darin Adler.
915 Boilerplate change to add a runtime guard for InputEvents-related IDL interfaces. See WebCore ChangeLog entry
918 * WebProcess/WebPage/WebPage.cpp:
919 (WebKit::WebPage::updatePreferences):
921 2016-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
923 [GTK] Configures but fails to link with ENABLE_OPENGL=OFF
924 https://bugs.webkit.org/show_bug.cgi?id=163449
926 Reviewed by Michael Catanzaro.
928 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
929 (webkitWebViewBaseRealize): Check TEXTURE_MAPPER_GL instead of TEXTURE_MAPPER and also ensure the current
931 (webkitWebViewBaseUnrealize): Ditto.
932 (webkitWebViewBaseDidRelaunchWebProcess): Check TEXTURE_MAPPER_GL instead of TEXTURE_MAPPER.
933 (webkitWebViewBasePageClosed): Ditto.
934 * UIProcess/AcceleratedDrawingAreaProxy.cpp:
935 (WebKit::AcceleratedDrawingAreaProxy::didUpdateBackingStoreState): Ditto.
936 (WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): Check EGL is enabled before
937 trying to use the WaylandCompositor.
938 * UIProcess/AcceleratedDrawingAreaProxy.h:
939 * UIProcess/WebProcessPool.cpp:
940 (WebKit::WebProcessPool::createNewWebProcess): Ditto.
941 * UIProcess/gtk/AcceleratedBackingStore.cpp:
942 (WebKit::AcceleratedBackingStore::create): Ditto.
943 * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
944 * UIProcess/gtk/WaylandCompositor.cpp:
945 * UIProcess/gtk/WaylandCompositor.h:
946 * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
947 (WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode): Check TEXTURE_MAPPER_GL instead of TEXTURE_MAPPER.
948 * WebProcess/WebPage/AcceleratedDrawingArea.h:
949 * WebProcess/WebPage/DrawingArea.h:
950 * WebProcess/WebPage/DrawingArea.messages.in:
951 * WebProcess/WebPage/LayerTreeHost.h:
953 2016-10-20 Chris Dumez <cdumez@apple.com>
955 "Download Linked File" context menu action should use 'download' attribute as suggested filename
956 https://bugs.webkit.org/show_bug.cgi?id=163742
957 <rdar://problem/28840734>
959 Reviewed by Darin Adler.
961 Update "Download Linked File" context menu action to use the anchor
962 element's 'download' attribute as suggested filename for the download.
964 * NetworkProcess/NetworkProcess.cpp:
965 (WebKit::NetworkProcess::downloadRequest):
966 * NetworkProcess/NetworkProcess.h:
967 * NetworkProcess/NetworkProcess.messages.in:
968 * Shared/WebHitTestResultData.cpp:
969 (WebKit::WebHitTestResultData::WebHitTestResultData):
970 (WebKit::WebHitTestResultData::encode):
971 (WebKit::WebHitTestResultData::decode):
972 * Shared/WebHitTestResultData.h:
973 * UIProcess/WebPageProxy.cpp:
974 (WebKit::WebPageProxy::contextMenuItemSelected):
975 * UIProcess/WebProcessPool.cpp:
976 (WebKit::WebProcessPool::download):
977 * UIProcess/WebProcessPool.h:
978 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
979 (WebKit::InjectedBundleHitTestResult::linkSuggestedFilename):
981 2016-10-19 Myles C. Maxfield <mmaxfield@apple.com>
983 [macOS] [iOS] Disable variation fonts on macOS El Capitan and iOS 9
984 https://bugs.webkit.org/show_bug.cgi?id=163374
986 Reviewed by Darin Adler.
988 * Configurations/FeatureDefines.xcconfig:
990 2016-10-20 Brady Eidson <beidson@apple.com>
992 IndexedDB 2.0: Support IDBObjectStore name assignment.
993 <rdar://problem/28806931> and https://bugs.webkit.org/show_bug.cgi?id=163749
995 Reviewed by Alex Christensen.
997 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
998 (WebKit::WebIDBConnectionToClient::didRenameObjectStore):
999 (WebKit::WebIDBConnectionToClient::renameObjectStore):
1000 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
1001 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
1003 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
1004 (WebKit::WebIDBConnectionToServer::renameObjectStore):
1005 (WebKit::WebIDBConnectionToServer::didRenameObjectStore):
1006 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
1007 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
1009 2016-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
1011 [GTK] Avoid strstr() when checking (E)GL extensions
1012 https://bugs.webkit.org/show_bug.cgi?id=161958
1014 Reviewed by Žan Doberšek.
1016 Use GLContext::isExtensionSupported() instead of strstr().
1018 * UIProcess/gtk/WaylandCompositor.cpp:
1019 (WebKit::WaylandCompositor::initializeEGL):
1021 2016-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
1023 Wrong use of EGL_DEPTH_SIZE
1024 https://bugs.webkit.org/show_bug.cgi?id=155536
1026 Reviewed by Michael Catanzaro.
1028 Use XErrorTrapper class instead of the custom XErrorHandler.
1030 * PluginProcess/unix/PluginProcessMainUnix.cpp:
1031 (WebKit::PluginProcessMainUnix):
1033 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1035 [SOUP] Add NetworkSession implementation and switch to use it
1036 https://bugs.webkit.org/show_bug.cgi?id=163597
1038 Reviewed by Alex Christensen.
1040 Basically move the ResourceHandle implementation to the network process, but modernized, cleaned up, and adapted
1041 to the NetworkSession model.
1043 * CMakeLists.txt: Add new files to compilation.
1044 * NetworkProcess/Downloads/Download.cpp:
1045 (WebKit::Download::Download): Use the same code for all ports using NetworkSession and add missing
1046 initialization of m_sessionID.
1047 * NetworkProcess/Downloads/Download.h:
1048 (WebKit::Download::Download): Define PlatformDownloadTaskRef on every platform to make the constructor common to
1049 all ports using NetworkSession.
1050 * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
1051 (WebKit::Download::cancelNetworkLoad):
1052 (WebKit::Download::platformDidFinish):
1053 * NetworkProcess/NetworkDataTask.h:
1054 (WebKit::NetworkDataTask::pendingDownloadID): Make const.
1055 (WebKit::NetworkDataTask::pendingDownload): Ditto.
1056 (WebKit::NetworkDataTask::pendingDownloadLocation): Ditto.
1057 (WebKit::NetworkDataTask::isDownload): Helper to check if the task is a download.
1058 * NetworkProcess/NetworkLoad.cpp:
1059 (WebKit::NetworkLoad::didReceiveResponseNetworkSession): Use NetworkDataTask::isDownload().
1060 * NetworkProcess/NetworkProcess.cpp:
1061 (WebKit::NetworkProcess::NetworkProcess): NetworkSession::setCustomProtocolManager() is Cocoa only.
1062 * NetworkProcess/NetworkSession.h:
1063 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1064 (WebKit::NetworkSession::networkStorageSession): Make const.
1065 * NetworkProcess/soup/NetworkDataTaskSoup.cpp: Added.
1066 (WebKit::NetworkDataTask::NetworkDataTask):
1067 (WebKit::NetworkDataTask::~NetworkDataTask):
1068 (WebKit::NetworkDataTask::scheduleFailure):
1069 (WebKit::NetworkDataTask::failureTimerFired):
1070 (WebKit::NetworkDataTask::suggestedFilename):
1071 (WebKit::NetworkDataTask::setSuggestedFilename):
1072 (WebKit::NetworkDataTask::setPendingDownloadLocation):
1073 (WebKit::NetworkDataTask::allowsSpecificHTTPSCertificateForHost):
1074 (WebKit::NetworkDataTask::createRequest):
1075 (WebKit::NetworkDataTask::clearRequest):
1076 (WebKit::NetworkDataTask::resume):
1077 (WebKit::NetworkDataTask::suspend):
1078 (WebKit::NetworkDataTask::cancel):
1079 (WebKit::NetworkDataTask::invalidateAndCancel):
1080 (WebKit::NetworkDataTask::state):
1081 (WebKit::NetworkDataTask::timeoutFired):
1082 (WebKit::NetworkDataTask::startTimeout):
1083 (WebKit::NetworkDataTask::stopTimeout):
1084 (WebKit::NetworkDataTask::sendRequestCallback):
1085 (WebKit::NetworkDataTask::didSendRequest):
1086 (WebKit::NetworkDataTask::didReceiveResponse):
1087 (WebKit::NetworkDataTask::tlsErrorsChangedCallback):
1088 (WebKit::NetworkDataTask::tlsErrorsChanged):
1089 (WebKit::NetworkDataTask::applyAuthenticationToRequest):
1090 (WebKit::NetworkDataTask::authenticateCallback):
1091 (WebKit::isAuthenticationFailureStatusCode):
1092 (WebKit::NetworkDataTask::authenticate):
1093 (WebKit::NetworkDataTask::continueAuthenticate):
1094 (WebKit::NetworkDataTask::skipInputStreamForRedirectionCallback):
1095 (WebKit::NetworkDataTask::skipInputStreamForRedirection):
1096 (WebKit::NetworkDataTask::didFinishSkipInputStreamForRedirection):
1097 (WebKit::shouldRedirectAsGET):
1098 (WebKit::NetworkDataTask::shouldStartHTTPRedirection):
1099 (WebKit::NetworkDataTask::continueHTTPRedirection):
1100 (WebKit::NetworkDataTask::readCallback):
1101 (WebKit::NetworkDataTask::read):
1102 (WebKit::NetworkDataTask::didRead):
1103 (WebKit::NetworkDataTask::didFinishRead):
1104 (WebKit::NetworkDataTask::requestNextPartCallback):
1105 (WebKit::NetworkDataTask::requestNextPart):
1106 (WebKit::NetworkDataTask::didRequestNextPart):
1107 (WebKit::NetworkDataTask::didFinishRequestNextPart):
1108 (WebKit::NetworkDataTask::gotHeadersCallback):
1109 (WebKit::NetworkDataTask::didGetHeaders):
1110 (WebKit::NetworkDataTask::wroteBodyDataCallback):
1111 (WebKit::NetworkDataTask::didWriteBodyData):
1112 (WebKit::NetworkDataTask::download):
1113 (WebKit::NetworkDataTask::writeDownloadCallback):
1114 (WebKit::NetworkDataTask::writeDownload):
1115 (WebKit::NetworkDataTask::didWriteDownload):
1116 (WebKit::NetworkDataTask::didFinishDownload):
1117 (WebKit::NetworkDataTask::didFailDownload):
1118 (WebKit::NetworkDataTask::cleanDownloadFiles):
1119 (WebKit::NetworkDataTask::didFail):
1120 (WebKit::NetworkDataTask::networkEventCallback):
1121 (WebKit::NetworkDataTask::networkEvent):
1122 (WebKit::NetworkDataTask::startingCallback):
1123 (WebKit::NetworkDataTask::requestStartedCallback):
1124 (WebKit::NetworkDataTask::didStartRequest):
1125 (WebKit::NetworkDataTask::restartedCallback):
1126 (WebKit::NetworkDataTask::didRestart):
1127 * NetworkProcess/soup/NetworkSessionSoup.cpp:
1128 (WebKit::NetworkSession::create):
1129 (WebKit::NetworkSession::defaultSession):
1130 (WebKit::NetworkSession::networkStorageSession):
1131 (WebKit::NetworkSession::NetworkSession):
1132 (WebKit::NetworkSession::~NetworkSession):
1133 (WebKit::NetworkSession::soupSession):
1134 (WebKit::NetworkSession::invalidateAndCancel):
1135 (WebKit::NetworkSession::clearCredentials):
1136 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1137 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Add implementation matching
1138 WebFrameNetworkingContext::ensurePrivateBrowsingSession().
1139 (WebKit::RemoteNetworkingContext::storageSession): Do not always return the default session if the given one is
1141 * PlatformEfl.cmake: Ad new files to compilation.
1142 * PlatformGTK.cmake: Ditto.
1143 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1144 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Also create a NetworkSession.
1145 * config.h: Enable NetworkSession unconditionally for Soup based ports.
1147 2016-10-19 Alex Christensen <achristensen@webkit.org>
1150 https://bugs.webkit.org/show_bug.cgi?id=163675
1152 Reviewed by Brent Fulgham.
1154 * NetworkProcess/Downloads/Download.h:
1155 * NetworkProcess/Downloads/mac/DownloadMac.mm:
1156 * NetworkProcess/NetworkLoad.h:
1157 * NetworkProcess/mac/NetworkLoadMac.mm:
1158 (WebKit::NetworkLoad::willCacheResponseAsync):
1159 * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
1160 (WebKit::AuthenticationManager::receivedCredential):
1161 (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
1162 (WebKit::AuthenticationManager::receivedCancellation):
1163 (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
1164 (WebKit::AuthenticationManager::receivedChallengeRejection):
1165 * Shared/WebProcessCreationParameters.cpp:
1166 (WebKit::WebProcessCreationParameters::encode):
1167 (WebKit::WebProcessCreationParameters::decode):
1168 * Shared/WebProcessCreationParameters.h:
1169 * Shared/mac/WebCoreArgumentCodersMac.mm:
1170 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
1171 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
1172 * WebKit2.xcodeproj/project.pbxproj:
1174 2016-10-19 Chris Dumez <cdumez@apple.com>
1176 [WK2] Expose suggested filename via WKBundleHitTestResult API
1177 https://bugs.webkit.org/show_bug.cgi?id=163693
1178 <rdar://problem/28840734>
1180 Reviewed by Anders Carlsson.
1182 Expose suggested filename via WKBundleHitTestResult API. The implementation
1183 currently relies on the 'download' attribute on anchor / area elements
1184 that we recently started supporting.
1186 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
1187 (WKBundleHitTestResultCopyLinkSuggestedFilename):
1188 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
1189 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1190 (WebKit::InjectedBundleHitTestResult::create):
1191 (WebKit::InjectedBundleHitTestResult::mediaType):
1192 (WebKit::InjectedBundleHitTestResult::linkSuggestedFilename):
1193 (WebKit::InjectedBundleHitTestResult::imageRect):
1194 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
1196 2016-10-19 Ryan Haddad <ryanhaddad@apple.com>
1198 Unreviewed, rolling out r207557.
1200 This change caused animations/font-variations tests to time
1201 out on pre-Sierra Macs.
1205 "[macOS] [iOS] Disable variation fonts on macOS El Capitan and
1207 https://bugs.webkit.org/show_bug.cgi?id=163374
1208 http://trac.webkit.org/changeset/207557
1210 2016-10-19 Andy Estes <aestes@apple.com>
1212 Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
1213 https://bugs.webkit.org/show_bug.cgi?id=163476
1214 <rdar://problem/26941395>
1216 Reviewed by Andreas Kling.
1218 When custom content providers are registered and a response has a null MIME type, WebPage
1219 will pass a null String to HashSet::contains(). This results in a null pointer dereference,
1220 since the String hash functions do not support null Strings and unconditionally dereference
1221 their StringImpls. Fixed by checking that Strings are non-null before calling
1222 HashSet::contains() on m_mimeTypesWithCustomContentProviders.
1224 New API test: WebKit2.LoadDataWithNilMIMEType.
1226 * WebProcess/WebPage/WebPage.cpp:
1227 (WebKit::WebPage::shouldUseCustomContentProviderForResponse): Checked if mimeType is null
1228 before calling m_mimeTypesWithCustomContentProviders.contains().
1229 (WebKit::WebPage::canShowMIMEType): Ditto.
1230 * WebProcess/WebPage/WebPage.h: Made private the declaration of canPluginHandleResponse().
1232 2016-10-19 Chris Dumez <cdumez@apple.com>
1234 Move HTML Interactive Form Validation behind an experimental flag
1235 https://bugs.webkit.org/show_bug.cgi?id=163673
1237 Reviewed by Daniel Bates.
1239 Move HTML Interactive Form Validation behind an experimental feature flag
1240 and disable by default until by have a better UI.
1242 * Shared/WebPreferencesDefinitions.h:
1243 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1244 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
1246 2016-10-19 Damian Kaleta <dkaleta@apple.com>
1248 https://bugs.webkit.org/show_bug.cgi?id=163292
1250 Reviewed by Brady Eidson.
1252 Added ability to display context menu asynchronously.
1254 * Shared/API/APIObject.h: Added ContextMenuListener.
1255 * Shared/API/c/WKBase.h: Added WKContextMenuListenerRef struct.
1256 * UIProcess/API/APIContextMenuClient.h:
1257 (API::ContextMenuClient::getContextMenuFromProposedMenuAsync): New method that allows showing context menu asynchronously.
1258 * UIProcess/API/C/WKAPICast.h: Added a new mapping for WebContextMenuListenerProxy.
1259 * UIProcess/API/C/WKContextMenuListener.cpp: Added. New class that allow a client to return results asynchronously.
1260 (WKContextMenuListenerGetTypeID):
1261 (WKContextMenuListenerUseContextMenuItems):
1262 * UIProcess/API/C/WKContextMenuListener.h: Added.
1263 * UIProcess/API/C/WKPage.cpp: Added WKPageContextMenuClientV4.
1264 (WKPageSetPageContextMenuClient):
1265 * UIProcess/API/C/WKPageContextMenuClient.h:
1266 * UIProcess/WebContextMenuListenerProxy.cpp: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
1267 (WebKit::WebContextMenuListenerProxy::WebContextMenuListenerProxy):
1268 (WebKit::WebContextMenuListenerProxy::~WebContextMenuListenerProxy):
1269 (WebKit::WebContextMenuListenerProxy::useContextMenuItems): Passes items to m_contextMenuMac.
1270 (WebKit::WebContextMenuListenerProxy::invalidate):
1271 * UIProcess/WebContextMenuListenerProxy.h: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
1272 (WebKit::WebContextMenuListenerProxy::create):
1273 * UIProcess/mac/WebContextMenuProxyMac.h:
1274 * UIProcess/mac/WebContextMenuProxyMac.mm:
1275 (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): Shows context menu.
1276 (WebKit::WebContextMenuProxyMac::showContextMenu): Extracted some logic to showContextMenuWithItems().
1277 * WebKit2.xcodeproj/project.pbxproj:
1279 2016-10-19 Myles C. Maxfield <mmaxfield@apple.com>
1281 [macOS] [iOS] Disable variation fonts on macOS El Capitan and iOS 9
1282 https://bugs.webkit.org/show_bug.cgi?id=163374
1284 Reviewed by Darin Adler.
1286 * Configurations/FeatureDefines.xcconfig:
1288 2016-10-19 Darin Adler <darin@apple.com>
1290 Move XPath from ExceptionCode to Exception
1291 https://bugs.webkit.org/show_bug.cgi?id=163656
1293 Reviewed by Chris Dumez.
1295 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
1296 (webkit_dom_document_create_expression): Use ExceptionOr.
1297 (webkit_dom_document_evaluate): Ditto.
1298 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
1299 (webkit_dom_xpath_expression_evaluate): Ditto.
1300 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
1301 (webkit_dom_xpath_result_iterate_next): Ditto.
1302 (webkit_dom_xpath_result_snapshot_item): Ditto.
1303 (webkit_dom_xpath_result_get_number_value): Ditto.
1304 (webkit_dom_xpath_result_get_string_value): Ditto.
1305 (webkit_dom_xpath_result_get_boolean_value): Ditto.
1306 (webkit_dom_xpath_result_get_single_node_value): Ditto.
1307 (webkit_dom_xpath_result_get_snapshot_length): Ditto.
1309 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1311 NetworkSession: updatedRequest parameter of NetworkProcess::findPendingDownloadLocation is unused since r206988
1312 https://bugs.webkit.org/show_bug.cgi?id=163588
1314 Reviewed by Alex Christensen.
1316 The parameter was used only for the DownloadProxy::DidStart message that is no longer sent from
1317 findPendingDownloadLocation since r206988.
1319 * NetworkProcess/NetworkDataTask.h:
1320 (WebKit::NetworkDataTask::currentRequest): Removed since it's unused now.
1321 * NetworkProcess/NetworkLoad.cpp:
1322 (WebKit::NetworkLoad::convertTaskToDownload): Update the m_currentRequest and pass it to DidStart message.
1323 (WebKit::NetworkLoad::didReceiveResponseNetworkSession):
1324 * NetworkProcess/NetworkProcess.cpp:
1325 (WebKit::NetworkProcess::findPendingDownloadLocation):
1326 * NetworkProcess/NetworkProcess.h:
1327 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Remove currentRequest() implementation.
1329 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1331 Unreviewed. Fix GTK+ build after r207522.
1333 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
1334 (webkit_dom_dom_window_webkit_message_handlers_post_message): Use new exceptions.
1336 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1338 Unreviewed. Fix GTK+ build after r207497.
1340 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
1341 (webkit_dom_html_select_element_add): Update implementation since add() now takes a Variant.
1343 2016-10-18 Simon Fraser <simon.fraser@apple.com>
1345 Add a MiniBrowser menu item to apply page scale in WK1 and WK2
1346 https://bugs.webkit.org/show_bug.cgi?id=163627
1348 Reviewed by Dean Jackson.
1350 New SPI to set and retrieve page scale.
1352 * UIProcess/API/Cocoa/WKWebView.mm:
1353 (-[WKWebView _setPageScale:withOrigin:]):
1354 (-[WKWebView _pageScale]):
1355 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1357 2016-10-18 Dean Jackson <dino@apple.com>
1359 Remove CSS_SHAPES feature definition. This should always be on.
1360 https://bugs.webkit.org/show_bug.cgi?id=163628
1361 <rdar://problem/28834613>
1363 Reviewed by Tim Horton.
1365 * Configurations/FeatureDefines.xcconfig:
1367 2016-10-18 Ryan Haddad <ryanhaddad@apple.com>
1369 Unreviewed, rolling out r207413.
1371 This change broke iOS builds.
1375 "[iOS] Hook up WebPlatformTouchPoint's radiusX / radiusY to
1376 _UIWebTouchPoint.majorRadiusInScreenCoordinates"
1377 https://bugs.webkit.org/show_bug.cgi?id=163547
1378 http://trac.webkit.org/changeset/207413
1380 2016-10-18 Commit Queue <commit-queue@webkit.org>
1382 Unreviewed, rolling out r207443.
1383 https://bugs.webkit.org/show_bug.cgi?id=163616
1385 "Caused 5% PLT regression" (Requested by krollin on #webkit).
1389 "Crash in ASCIICaseInsensitiveHash::hash() when a response has
1391 https://bugs.webkit.org/show_bug.cgi?id=163476
1392 http://trac.webkit.org/changeset/207443
1394 2016-10-18 Megan Gardner <megan_gardner@apple.com>
1396 Fix build for platforms where HAVE(LINK_PREVIEW) is false
1397 https://bugs.webkit.org/show_bug.cgi?id=163607
1399 Reviewed by Tim Horton.
1401 Added needed # for link preview
1403 * UIProcess/ios/WKContentViewInteraction.mm:
1404 (-[WKContentView _contentsOfUserInterfaceItem:]):
1406 2016-10-18 Joseph Pecoraro <pecoraro@apple.com>
1408 Remote Web Inspector: Timeline UI not updating while recording
1409 https://bugs.webkit.org/show_bug.cgi?id=163582
1410 <rdar://problem/28766837>
1412 Reviewed by Timothy Hatcher.
1414 * WebProcess/WebPage/RemoteWebInspectorUI.cpp:
1415 (WebKit::RemoteWebInspectorUI::frontendLoaded):
1416 Local inspector windows keep the web view alive and toggle the
1417 WebInspector.visible state depending on whether or not an inspector is
1418 open. Remote Inspector windows go away when closed, so they can always
1419 be marked as open. This matches earlier remote inspector behavior.
1421 2016-10-18 Eric Carlson <eric.carlson@apple.com>
1423 [MediaStream] Resolve constraints and enumerate devices in the UI process
1424 https://bugs.webkit.org/show_bug.cgi?id=162147
1425 <rdar://problem/28803569>
1427 Reviewed by Darin Adler.
1429 Restructure gUM constraint validation and MediaDevices.enumerateDevices so all media device
1430 access happens in the UI process.
1432 * Scripts/webkit/messages.py:
1433 (headers_for_type): Special case MediaConstraintsData.
1435 * Shared/WebCoreArgumentCoders.cpp:
1436 (IPC::encodeMediaTrackConstraintSetMap): MediaTrackConstraintSetMap encoder.
1437 (IPC::ArgumentCoder<MediaConstraintsData>::encode): MediaConstraintsData encoder.
1438 (IPC::decodeMediaTrackConstraintSetMap): MediaTrackConstraintSetMap decoder.
1439 (IPC::ArgumentCoder<MediaConstraintsData>::decode): MediaConstraintsData decoder.
1440 (IPC::ArgumentCoder<CaptureDevice>::encode): CaptureDevice enoder.
1441 (IPC::ArgumentCoder<CaptureDevice>::decode): CaptureDevice decoder.
1442 * Shared/WebCoreArgumentCoders.h:
1444 * UIProcess/API/APIUIClient.h: Remove UserMediaPermissionCheckProxy forward declaration.
1446 * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
1447 (toWK): Translate UserMediaPermissionRequestDenialReason to UserMediaAccessDenialReason.
1448 (WKUserMediaPermissionRequestDeny): Add "reason" parameter.
1449 * UIProcess/API/C/WKUserMediaPermissionRequest.h:
1451 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
1452 (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Invalidate pending device requests.
1453 (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Make private.
1454 (WebKit::toWebCore): Map from UserMediaAccessDenialReason to MediaAccessDenialReason, cast to
1455 uint64_t to pass to web process.
1456 (WebKit::UserMediaPermissionRequestManagerProxy::denyRequest): Send to web process.
1457 (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto.
1458 (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Validate
1459 constraints and make sure gUM is enabled before prompting user.
1460 (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): New.
1461 (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Send
1462 results of device enumeration to web process.
1463 (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Deleted.
1464 (WebKit::UserMediaPermissionRequestManagerProxy::createUserMediaPermissionCheck): Deleted.
1465 * UIProcess/UserMediaPermissionRequestManagerProxy.h:
1467 * UIProcess/UserMediaPermissionRequestProxy.cpp:
1468 (WebKit::UserMediaPermissionRequestProxy::allow):
1469 (WebKit::UserMediaPermissionRequestProxy::deny): Take "reason" parameter.
1470 * UIProcess/UserMediaPermissionRequestProxy.h:
1472 * UIProcess/WebPageProxy.cpp:
1473 (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
1474 (WebKit::WebPageProxy::enumerateMediaDevicesForFrame):
1475 (WebKit::WebPageProxy::checkUserMediaPermissionForFrame): Deleted.
1476 * UIProcess/WebPageProxy.h:
1477 * UIProcess/WebPageProxy.messages.in:
1479 * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
1480 (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): userMediaAccessDenied -> deny.
1481 Pass the audio and video constraints to the UI process.
1482 (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted):
1483 (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasDenied):
1484 (WebKit::UserMediaPermissionRequestManager::enumerateMediaDevices): Send the enumeration request
1486 (WebKit::UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration):
1487 (WebKit::UserMediaPermissionRequestManager::didCompleteMediaDeviceEnumeration):
1488 (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): Deleted.
1489 (WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): Deleted.
1490 (WebKit::UserMediaPermissionRequestManager::cancelUserMediaPermissionCheck): Deleted.
1491 (WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): Deleted.
1492 * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
1494 * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
1495 (WebKit::WebUserMediaClient::enumerateMediaDevices): New.
1496 (WebKit::WebUserMediaClient::cancelMediaDevicesEnumerationRequest): New.
1497 (WebKit::WebUserMediaClient::checkUserMediaPermission): Deleted.
1498 (WebKit::WebUserMediaClient::cancelUserMediaPermissionCheck): Deleted.
1499 * WebProcess/WebCoreSupport/WebUserMediaClient.h:
1501 * WebProcess/WebPage/WebPage.cpp:
1502 (WebKit::WebPage::userMediaAccessWasGranted): New.
1503 (WebKit::WebPage::userMediaAccessWasDenied): Ditto.
1504 (WebKit::WebPage::didCompleteMediaDeviceEnumeration):
1505 (WebKit::WebPage::didReceiveUserMediaPermissionDecision): Deleted.
1506 (WebKit::WebPage::didCompleteUserMediaPermissionCheck): Deleted.
1507 * WebProcess/WebPage/WebPage.h:
1508 * WebProcess/WebPage/WebPage.messages.in:
1510 2016-10-17 Antti Koivisto <antti@apple.com>
1512 Rename setNeedsStyleRecalc to invalidateStyle
1513 https://bugs.webkit.org/show_bug.cgi?id=163542
1515 Reviewed by Darin Adler.
1517 * WebProcess/Plugins/PluginView.cpp:
1518 (WebKit::PluginView::didInitializePlugin):
1519 (WebKit::PluginView::pluginProcessCrashed):
1521 2016-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
1523 NetworkSession: PendingDownload is leaked if canceled before willDecidePendingDownloadDestination
1524 https://bugs.webkit.org/show_bug.cgi?id=163545
1526 Reviewed by Alex Christensen.
1528 If a download started by DownloadManager::startDownload() is cancelled before
1529 DownloadManager::willDecidePendingDownloadDestination() is called, DownloadManager::cancelDownload() does
1530 nothing, because the Download hasn't been created yet and m_downloadsWaitingForDestination map doesn't contain
1531 the download ID, and the PendingDownload is never removed from the m_pendingDownloads map.
1533 * NetworkProcess/Downloads/DownloadManager.cpp:
1534 (WebKit::DownloadManager::cancelDownload): Always take the PendingDownload from m_pendingDownloads map. Then, if
1535 the download was already in m_downloadsWaitingForDestination map, get the network data task to properly cancel
1536 it and then call the completion handler to ignore the request. Otherwise cancel the pending download if exists.
1537 * NetworkProcess/Downloads/PendingDownload.cpp:
1538 (WebKit::PendingDownload::cancel): Cancel the network load and notify the UI process that the download was canceled.
1539 * NetworkProcess/Downloads/PendingDownload.h:
1541 2016-10-17 Megan Gardner <megan_gardner@apple.com>
1543 Add test and infrastructure for link popover
1544 https://bugs.webkit.org/show_bug.cgi?id=163406
1546 Reviewed by Simon Fraser.
1548 Add infrastructure to see when a link popover appears, and what URL it has loaded.
1550 * UIProcess/API/Cocoa/WKWebView.mm:
1551 (-[WKWebView didShowForcePressPreview]):
1552 (-[WKWebView didDismissForcePressPreview]):
1553 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1554 * UIProcess/ios/WKContentViewInteraction.mm:
1555 (-[WKContentView _contentsOfUserInterfaceItem:]):
1556 (-[WKContentView _presentedViewControllerForPreviewItemController:]):
1557 (-[WKContentView _previewItemController:didDismissPreview:committing:]):
1558 (-[WKContentView _previewItemControllerDidCancelPreview:]):
1560 2016-10-17 Tim Horton <timothy_horton@apple.com>
1562 REGRESSION (r169805): WKWebView canGoBack returning YES when nothing is in the back-forward list after restoring session state
1563 https://bugs.webkit.org/show_bug.cgi?id=163573
1564 <rdar://problem/28744549>
1566 Reviewed by Dan Bernstein.
1568 * UIProcess/WebPageProxy.cpp:
1569 (WebKit::WebPageProxy::restoreFromSessionState):
1570 Update PageLoadState's canGoBack/canGoForward bits when restoring from
1571 session state, because in the don't-navigate case, nothing else will make this happen,
1572 and it will remain stale.
1574 2016-10-17 Andy Estes <aestes@apple.com>
1576 Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
1577 https://bugs.webkit.org/show_bug.cgi?id=163476
1578 <rdar://problem/26941395>
1580 Reviewed by Tim Horton.
1582 When custom content providers are registered and a response has a null MIME type, WebPage
1583 will pass a null String to HashSet::contains(). This results in a null pointer dereference,
1584 since the String hash functions do not support null Strings and unconditionally dereference
1585 their StringImpls. Fixed by checking that Strings are non-null before calling
1586 HashSet::contains() on m_mimeTypesWithCustomContentProviders.
1588 Rearranging WebPage::shouldUseCustomContentProviderForResponse() to call
1589 canPluginHandleResponse() before checking m_mimeTypesWithCustomContentProviders uncovered a
1590 crash in existing layout tests where WebPage::m_mainFrame can be NULL during WebPage
1591 construction (m_mainFrame isn't yet initialized). Fixed this by passing the main Frame to
1592 canPluginHandleResponseInFrame() instead of relying on m_mainFrame.
1594 New API test: WebKit2.LoadDataWithNilMIMEType.
1596 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1597 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Passed
1598 m_frame->coreFrame() to shouldUseCustomContentProviderForResponse().
1599 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Ditto.
1600 * WebProcess/WebPage/WebPage.cpp:
1601 (WebKit::WebPage::canPluginHandleResponse): Added a mainFrame parameter and used it instead
1602 of m_mainFrame->coreFrame().
1603 (WebKit::WebPage::shouldUseCustomContentProviderForResponse): Passed mainFrame to
1604 canPluginHandleResponse(), and checked if mimeType is null before calling
1605 m_mimeTypesWithCustomContentProviders.contains().
1606 (WebKit::WebPage::canShowMIMEType): Checked if MIMEType is null before calling
1607 m_mimeTypesWithCustomContentProviders.contains().
1608 * WebProcess/WebPage/WebPage.h: Made canPluginHandleResponse() a private declaration.
1610 2016-10-17 Chris Dumez <cdumez@apple.com>
1612 [WK2][NetworkCache] PendingFrameLoad objects are sometimes leaked
1613 https://bugs.webkit.org/show_bug.cgi?id=163569
1614 <rdar://problem/28810836>
1616 Reviewed by Antti Koivisto.
1618 PendingFrameLoad objects are created to track frame loads and added to
1619 the m_pendingFrameLoads hash map. These objects are supposed to remove
1620 themselves from the hash map once they detect that the page load has
1621 finished by calling PendingFrameLoad::m_loadCompletionHandler().
1623 PendingFrameLoad::m_loadCompletionHandler() is called from
1624 markLoadAsCompleted() when we detect that the page load has finished
1625 via the m_loadHysteresisActivity HysteresisActivity. We call impulse()
1626 on the HysteresisActivity every time a subresource is loaded in the
1627 frame. The issue is that if no subresource is ever loaded, then we
1628 never call impulse() on the HysteresisActivity, which is therefore
1629 never started. If it nevers starts, then it nevers stops and never
1630 calls markLoadAsCompleted(). To address the problem, we now call
1631 impulse() on the HysteresisActivity as soon as we construct it.
1633 * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
1635 2016-10-17 Jeremy Jones <jeremyj@apple.com>
1637 Enable keyboard in fullscreen.
1638 https://bugs.webkit.org/show_bug.cgi?id=163146
1640 Reviewed by Jer Noble.
1642 Allow keyboard in fullscreen.
1644 * UIProcess/WebFullScreenManagerProxy.cpp:
1645 (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
1647 2016-10-17 Chris Dumez <cdumez@apple.com>
1649 Move form.reportValidity() behind InteractiveFormValidation setting
1650 https://bugs.webkit.org/show_bug.cgi?id=163550
1652 Reviewed by Darin Adler.
1654 Enable InteractiveFormValidation setting by default and link it to
1655 RuntimeEnabledFeatures so we can use it in the IDL.
1657 * UIProcess/API/C/WKPreferencesRefPrivate.h:
1658 * WebProcess/WebPage/WebPage.cpp:
1659 (WebKit::WebPage::updatePreferences):
1661 2016-10-17 Gavin Barraclough <barraclough@apple.com>
1663 UIProcess should determine throttle state for WebContent process
1664 https://bugs.webkit.org/show_bug.cgi?id=163556
1666 Reviewed by Anders Carlsson.
1668 This is a step towards merging page/process throttling code for mac & iOS.
1670 Previously WebPage determined whether to start a UserActivity based on page activity,
1671 visibility and the preference to disable. Now WebPage passes the activity state across
1672 to WebPageProxy, which makes the decision & explicitly instructs WebPage to start/stop
1675 * UIProcess/WebPageProxy.cpp:
1676 (WebKit::WebPageProxy::WebPageProxy):
1677 - updateActivityToken + updateProccessSuppressionState -> updateThrottleState
1678 (WebKit::WebPageProxy::reattachToWebProcess):
1679 - updateActivityToken -> updateThrottleState
1680 (WebKit::WebPageProxy::dispatchViewStateChange):
1681 - updateActivityToken -> updateThrottleState
1682 (WebKit::WebPageProxy::setPageActivityState):
1683 - Record activity state passed from WebPage, and update.
1684 (WebKit::WebPageProxy::preferencesDidChange):
1685 - updateProccessSuppressionState -> updateThrottleState
1686 (WebKit::WebPageProxy::updateActivityToken): Deleted.
1687 (WebKit::WebPageProxy::updateProccessSuppressionState): Deleted.
1688 (WebKit::WebPageProxy::updateThrottleState):
1689 - Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
1690 - Compute whether page should be suppressed, and send SetPageSuppressed message accordingly.
1691 * UIProcess/WebPageProxy.h:
1692 - Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
1693 - Added setPageActivityState/m_activityState to report/record page activity.
1694 - Added m_pageSuppressed to prevent redundant message sends.
1695 * UIProcess/WebPageProxy.messages.in:
1696 - Expose SetPageActivityState message (called by WebPage).
1697 * WebProcess/WebPage/WebPage.cpp:
1698 (WebKit::WebPage::WebPage):
1699 - removed m_processSuppressionEnabled
1700 - updateUserActivity -> setPageSuppressed - explicitly set the page to not be suppressed, until WebPageProxy tells us to do so.
1701 (WebKit::WebPage::setPageActivityState):
1702 - post activity state on to WebPageProxy.
1703 (WebKit::WebPage::setPageSuppressed):
1704 - Start/stop USerActivity accordingly.
1705 (WebKit::WebPage::setViewState):
1706 - No longer need to monitor ViewState changes on the WebProcess side.
1707 (WebKit::WebPage::updatePreferences):
1708 - No longer need to monitor preference changes on the WebProcess side.
1709 (WebKit::WebPage::updateUserActivity): Deleted.
1710 - Only updated on reciept of setPageSuppressed message.
1711 * WebProcess/WebPage/WebPage.h:
1712 - Removed m_activityState, m_processSuppressionEnabled, updateUserActivity.
1713 - Added setPageSuppressed message.
1714 * WebProcess/WebPage/WebPage.messages.in:
1715 - Added SetPageSuppressed message.
1717 2016-10-17 Michael Catanzaro <mcatanzaro@igalia.com>
1719 REGRESSION(r206189): logs error statements when API::URLRequest is canceled
1720 https://bugs.webkit.org/show_bug.cgi?id=163393
1722 Reviewed by Antti Koivisto.
1724 Print this case at normal logging level, not as an error.
1726 * WebProcess/Network/WebLoaderStrategy.cpp:
1727 (WebKit::WebLoaderStrategy::loadResource):
1729 2016-10-17 Chris Dumez <cdumez@apple.com>
1731 [iOS] Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
1732 https://bugs.webkit.org/show_bug.cgi?id=163547
1734 Reviewed by Darin Adler.
1736 Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
1737 now that it is available in UIKit.
1739 * Platform/spi/ios/UIKitSPI.h:
1740 * Shared/ios/NativeWebTouchEventIOS.mm:
1741 (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
1743 2016-10-17 Konstantin Tokarev <annulen@yandex.ru>
1745 Eleminate code duplication between ResourceRequest encoding/decoding implementations
1746 https://bugs.webkit.org/show_bug.cgi?id=163507
1748 Reviewed by Carlos Garcia Campos.
1750 ResourceRequestBase::encodeWithoutPlatformData() and Soup implementation of
1751 ArgumentCoder<ResourceRequest>::encodePlatformData() share most of the code,
1752 ditto for decoding implementations.
1754 * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1755 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
1756 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
1758 2016-10-17 Michael Catanzaro <mcatanzaro@igalia.com>
1760 Move user agent quirks to cross-platform location
1761 https://bugs.webkit.org/show_bug.cgi?id=163508
1763 Reviewed by Carlos Garcia Campos.
1765 #include <WebCore/UserAgent.h> instead of <WebCore/UserAgentGtk.h>.
1767 * UIProcess/API/gtk/WebKitSettings.cpp:
1768 * UIProcess/efl/WebPageProxyEfl.cpp:
1769 * UIProcess/gtk/WebPageProxyGtk.cpp:
1770 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1772 2016-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
1774 [SOUP] Downloads should always sniff contents
1775 https://bugs.webkit.org/show_bug.cgi?id=163538
1777 Reviewed by Michael Catanzaro.
1779 It's quite common that downloads have weird filenames with no extension, so it would be better if the loader
1780 sniff the contents to guess the mime type.
1782 * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
1783 (WebKit::Download::startNetworkLoad): Pass true for shouldContentSniff parameter of ResourceHandle::create().
1785 2016-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
1787 [GTK] Switch to use API::DownloadClient instead of the C API client
1788 https://bugs.webkit.org/show_bug.cgi?id=163537
1790 Reviewed by Michael Catanzaro.
1792 The code is simpler and we avoid all the toImpl/toAPI.
1794 * UIProcess/API/gtk/WebKitDownloadClient.cpp:
1795 (attachDownloadClientToContext):
1797 (didReceiveResponse):
1799 (decideDestinationWithSuggestedFilename):
1800 (didCreateDestination):
1805 2016-10-17 Manuel Rego Casasnovas <rego@igalia.com>
1807 [css-grid] Disable CSS Grid Layout runtime flag by default
1808 https://bugs.webkit.org/show_bug.cgi?id=163432
1810 Reviewed by Darin Adler.
1812 It was enabled in r201042, but now Safari Technology Preview
1813 has a UI to switch runtime flags so it doesn't need to be enabled
1816 * Shared/WebPreferencesDefinitions.h: Disable grid layout runtime flag
1819 2016-10-16 Darin Adler <darin@apple.com>
1821 Move CSS classes from ExceptionCode to Exception
1822 https://bugs.webkit.org/show_bug.cgi?id=163494
1824 Reviewed by Sam Weinig.
1826 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
1827 (webkit_dom_css_rule_set_css_text): Updated for ExceptionOr.
1828 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.cpp:
1829 (webkit_dom_css_style_declaration_remove_property): Ditto.
1830 (webkit_dom_css_style_declaration_set_property): Ditto.
1831 (webkit_dom_css_style_declaration_set_css_text): Ditto.
1832 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.cpp:
1833 (webkit_dom_css_style_sheet_insert_rule): Ditto.
1834 (webkit_dom_css_style_sheet_delete_rule): Ditto.
1835 (webkit_dom_css_style_sheet_add_rule): Ditto.
1836 (webkit_dom_css_style_sheet_remove_rule): Ditto.
1837 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.cpp:
1838 (webkit_dom_css_value_set_css_text): Ditto.
1839 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp:
1840 (webkit_dom_media_list_delete_medium): Ditto.
1841 (webkit_dom_media_list_append_medium): Ditto.
1842 (webkit_dom_media_list_set_media_text): Ditto.
1844 2016-10-16 Carlos Garcia Campos <cgarcia@igalia.com>
1846 [GTK] Default WebKitWebsiteDataManager is always leaked in WebKitWebContext
1847 https://bugs.webkit.org/show_bug.cgi?id=163443
1849 Reviewed by Michael Catanzaro.
1851 Adopt the reference returned by webkitWebsiteDataManagerCreate().
1853 * UIProcess/API/gtk/WebKitWebContext.cpp:
1854 (webkitWebContextConstructed):
1856 2016-10-16 Carlos Garcia Campos <cgarcia@igalia.com>
1858 [GTK] WebKitWebPage URI not updated after URI is modified by InjectedBundlePageResourceLoadClient::willSendRequestForFrame
1859 https://bugs.webkit.org/show_bug.cgi?id=163389
1861 Reviewed by Michael Catanzaro.
1863 Update the page URI also when the load is committed.
1865 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1866 (getDocumentLoaderURL):
1867 (didStartProvisionalLoadForFrame):
1868 (didReceiveServerRedirectForProvisionalLoadForFrame):
1869 (didCommitLoadForFrame):
1870 (webkitWebPageCreate):
1871 (getProvisionalURLForFrame): Deleted.
1873 2016-10-15 Simon Fraser <simon.fraser@apple.com>
1875 Sort the project file.
1877 * WebKit2.xcodeproj/project.pbxproj:
1879 2016-10-14 Anders Carlsson <andersca@apple.com>
1883 * UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
1884 (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
1886 2016-10-14 Anders Carlsson <andersca@apple.com>
1888 Pass on networking settings to the PKPaymentRequest
1889 https://bugs.webkit.org/show_bug.cgi?id=163462
1890 rdar://problem/28567629
1892 Reviewed by Dan Bernstein.
1894 * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h:
1895 * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
1896 (WebKit::toPKPaymentRequest):
1897 * UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
1898 (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
1900 2016-10-14 Anders Carlsson <andersca@apple.com>
1902 Clean up BackForwardClient
1903 https://bugs.webkit.org/show_bug.cgi?id=163454
1905 Reviewed by Sam Weinig.
1907 Remove empty iOS only stubs.
1909 * WebKit2.xcodeproj/project.pbxproj:
1910 * WebProcess/WebPage/WebBackForwardListProxy.h:
1911 * WebProcess/WebPage/ios/WebBackForwardListProxyIOS.mm: Removed.
1913 2016-10-14 Brady Eidson <beidson@apple.com>
1915 Enable Gamepads by default in WK2.
1916 https://bugs.webkit.org/show_bug.cgi?id=163447
1918 Rubberstamped by Sam Weinig.
1920 * Shared/WebPreferencesDefinitions.h:
1922 2016-10-14 Gavin Barraclough <barraclough@apple.com>
1924 Add API to restrict WebKit processes to background priority
1925 https://bugs.webkit.org/show_bug.cgi?id=163363
1927 Reviewed by Anders Carlson.
1929 Add API on _WKProcessPoolConfiguration to flag a process pool as 'alwaysRunsAtBackgroundPriority'.
1930 WebContent and Networking processes associated with that pool will only run a background priority,
1931 when they otherwise would have run at foreground priority.
1933 * UIProcess/API/APIProcessPoolConfiguration.h:
1934 - Add m_alwaysRunsAtBackgroundPriority flag to pool configuration object.
1935 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
1936 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
1937 (-[_WKProcessPoolConfiguration alwaysRunsAtBackgroundPriority]):
1938 (-[_WKProcessPoolConfiguration setAlwaysRunsAtBackgroundPriority:]):
1939 - Expose new configuration property through API.
1940 * UIProcess/Network/NetworkProcessProxy.cpp:
1941 (WebKit::NetworkProcessProxy::alwaysRunsAtBackgroundPriority):
1942 * UIProcess/Network/NetworkProcessProxy.h:
1943 - Support ProcessThrottlerClient interface to check if alwaysRunsAtBackgroundPriority is set.
1944 * UIProcess/ProcessThrottler.cpp:
1945 (WebKit::ProcessThrottler::assertionState):
1946 - When determining whether to take a foreground exception check alwaysRunsAtBackgroundPriority.
1947 * UIProcess/ProcessThrottlerClient.h:
1948 - Add interface to access alwaysRunsAtBackgroundPriority state of WebProcess of NetworkProcess.
1949 * UIProcess/WebProcessPool.cpp:
1950 (WebKit::WebProcessPool::WebProcessPool):
1951 * UIProcess/WebProcessPool.h:
1952 - Add m_alwaysRunsAtBackgroundPriority, set by configuration.
1953 * UIProcess/WebProcessProxy.cpp:
1954 (WebKit::WebProcessProxy::alwaysRunsAtBackgroundPriority):
1955 * UIProcess/WebProcessProxy.h:
1956 - Support ProcessThrottlerClient interface to check if alwaysRunsAtBackgroundPriority is set.
1958 2016-10-14 Youenn Fablet <youenn@apple.com>
1960 Make NetworkCache aware of fetch cache mode
1961 https://bugs.webkit.org/show_bug.cgi?id=163332
1963 Reviewed by Antti Koivisto.
1965 Adding explicit serialization of ResourceRequest cachePolicy since it does no longer map to platform request cache policy.
1968 - Bypassing entirely the network cache in case cache mode is NoStore.
1969 - requiring revalidation in case of cache hit and cache mode is NoCache.
1970 - Not using any entry if cache mode is Reload (but cache can still be updated)
1972 Also made sure that the ResourceRequest::cachePolicy remains the same throughout redirections.
1974 * NetworkProcess/NetworkResourceLoader.cpp:
1975 (WebKit::NetworkResourceLoader::canUseCache):
1976 (WebKit::NetworkResourceLoader::retrieveCacheEntry):
1977 (WebKit::NetworkResourceLoader::continueWillSendRequest):
1978 * NetworkProcess/cache/NetworkCache.cpp:
1979 (WebKit::NetworkCache::cachePolicyAllowsExpired):
1980 (WebKit::NetworkCache::makeRetrieveDecision):
1981 * Shared/mac/WebCoreArgumentCodersMac.mm:
1982 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
1983 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
1985 2016-10-13 Tim Horton <timothy_horton@apple.com>
1987 Rename the SPI added in r207292 due to post-landing review comments
1988 https://bugs.webkit.org/show_bug.cgi?id=163364
1989 <rdar://problem/28012494>
1991 Reviewed by Simon Fraser.
1993 * UIProcess/API/APIPageConfiguration.h:
1994 (API::PageConfiguration::waitsForPaintAfterViewDidMoveToWindow):
1995 (API::PageConfiguration::setWaitsForPaintAfterViewDidMoveToWindow):
1996 (API::PageConfiguration::shouldWaitForPaintAfterViewDidMoveToWindow): Deleted.
1997 (API::PageConfiguration::setShouldWaitForPaintAfterViewDidMoveToWindow): Deleted.
1998 * UIProcess/API/Cocoa/WKWebView.mm:
1999 (-[WKWebView _initializeWithConfiguration:]):
2000 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2001 (-[WKWebViewConfiguration init]):
2002 (-[WKWebViewConfiguration copyWithZone:]):
2003 (-[WKWebViewConfiguration _waitsForPaintAfterViewDidMoveToWindow]):
2004 (-[WKWebViewConfiguration _setWaitsForPaintAfterViewDidMoveToWindow:]):
2005 (-[WKWebViewConfiguration _shouldWaitForPaintAfterViewDidMoveToWindow]): Deleted.
2006 (-[WKWebViewConfiguration _setShouldWaitForPaintAfterViewDidMoveToWindow:]): Deleted.
2007 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2008 * UIProcess/WebPageProxy.cpp:
2009 (WebKit::WebPageProxy::WebPageProxy):
2010 (WebKit::WebPageProxy::dispatchViewStateChange):
2011 * UIProcess/WebPageProxy.h:
2013 2016-10-13 Jonathan Bedard <jbedard@apple.com>
2015 GTK and EFL on Mac fail to compile WebTextChecker due to missing definition of WKTextCheckerClientBase
2016 https://bugs.webkit.org/show_bug.cgi?id=163346
2018 Reviewed by Daniel Bates.
2020 * UIProcess/API/C/WKTextChecker.cpp: Fixed #ifdefs for GTK and EFL builds on Darwin machines.
2021 * UIProcess/API/C/WKTextChecker.h: Ditto.
2023 2016-10-13 Tim Horton <timothy_horton@apple.com>
2025 Expose SPI to disable synchronously blocking on painting after parenting a WKWebView
2026 https://bugs.webkit.org/show_bug.cgi?id=163364
2027 <rdar://problem/28012494>
2029 Reviewed by Geoff Garen.
2031 Some clients may not want the default WKWebView behavior where we synchronously
2032 block on the Web process after the first time a WKWebView is re-added to the window,
2033 because they are e.g. parenting re-used WKWebViews while scrolling.
2035 * UIProcess/API/APIPageConfiguration.h:
2036 (API::PageConfiguration::shouldSynchronizeInitialPaintAfterMovingToWindow):
2037 (API::PageConfiguration::setShouldSynchronizeInitialPaintAfterMovingToWindow):
2038 * UIProcess/API/Cocoa/WKWebView.mm:
2039 (-[WKWebView _initializeWithConfiguration:]):
2040 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2041 (-[WKWebViewConfiguration init]):
2042 (-[WKWebViewConfiguration copyWithZone:]):
2043 (-[WKWebViewConfiguration _shouldSynchronizeInitialPaintAfterMovingToWindow]):
2044 (-[WKWebViewConfiguration _setShouldSynchronizeInitialPaintAfterMovingToWindow:]):
2045 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2046 * UIProcess/WebPageProxy.h:
2047 * UIProcess/WebPageProxy.cpp:
2048 (WebKit::WebPageProxy::WebPageProxy):
2049 Add and plumb a new WKWebView configuration parameter.
2051 (WebKit::WebPageProxy::dispatchViewStateChange):
2052 If the new configuration parameter is set, don't block the main thread when
2053 a view is reparented.
2055 2016-10-12 Chris Dumez <cdumez@apple.com>
2057 [Web IDL] Drop support for legacy [ConstructorConditional=*]
2058 https://bugs.webkit.org/show_bug.cgi?id=163368
2060 Reviewed by Ryosuke Niwa.
2062 Drop ENABLE_DOM4_EVENTS_CONSTRUCTOR compiler flag.
2064 * Configurations/FeatureDefines.xcconfig:
2066 2016-10-12 Alex Christensen <achristensen@webkit.org>
2068 Fix assertion after switching to URLParser
2069 https://bugs.webkit.org/show_bug.cgi?id=163350
2070 rdar://problem/28739938
2072 Reviewed by Brady Eidson.
2074 Covered by a new API test.
2076 * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
2077 (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):
2078 The { } here is not understood by the compiler to mean WebCore::URL(), but rather the empty constructor for the enum ParsedURLStringTag.
2079 We used to be unsafely trusting that the URL was valid and canonicalized, but with URLParser we are canonicalizing it,
2080 and the assertion (url == m_string) in URL.cpp was failing.
2082 2016-10-12 Anders Carlsson <andersca@apple.com>
2084 Remove an unused function
2085 https://bugs.webkit.org/show_bug.cgi?id=163341
2087 Reviewed by Dan Bernstein.
2089 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2090 (WebKit::WebBackForwardListProxy::isActive): Deleted.
2091 * WebProcess/WebPage/WebBackForwardListProxy.h:
2093 2016-10-11 Gyuyoung Kim <gyuyoung.kim@navercorp.com>
2095 [EFL] Update API tests which are passed or failed
2096 https://bugs.webkit.org/show_bug.cgi?id=163322
2098 Unreviewed, simple on/off API test.
2100 *ewk_favicon_database_clear* has been crashed for a long time, however
2101 *ewk_cookie_manager_permanent_storage* is fine now. So the passing test
2102 is enabled again, and disable the failure tests.
2104 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2106 * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
2109 2016-10-11 Daniel Bates <dabates@apple.com>
2111 Attempt to fix the Apple Internal Mac build following r207159
2112 (https://bugs.webkit.org/show_bug.cgi?id=163244)
2114 * UIProcess/API/Cocoa/WKWebView.mm:
2115 (shouldRequireUserGestureToLoadVideo):
2117 2016-10-11 Anders Carlsson <andersca@apple.com>
2119 Clean up WebPageGroup somewhat
2120 https://bugs.webkit.org/show_bug.cgi?id=163299
2122 Reviewed by Tim Horton.
2124 * Shared/API/c/WKDeprecatedFunctions.cpp:
2125 (WKPageGroupCopyIdentifier):
2126 Move this here from WKPageGroup.
2128 (WKPageGroupAddUserContentFilter):
2129 (WKPageGroupRemoveUserContentFilter):
2130 (WKPageGroupRemoveAllUserContentFilters):
2131 Just call directly into the user content controller.
2133 * UIProcess/API/C/WKPageGroup.cpp:
2134 (WKPageGroupAddUserStyleSheet):
2135 (WKPageGroupRemoveAllUserStyleSheets):
2136 (WKPageGroupAddUserScript):
2137 (WKPageGroupRemoveAllUserScripts):
2138 Just call directly into the user content controller.
2140 * UIProcess/API/C/WKPageGroup.h:
2141 * UIProcess/WebPageGroup.cpp:
2142 (WebKit::WebPageGroup::addUserStyleSheet): Deleted.
2143 (WebKit::WebPageGroup::addUserScript): Deleted.
2144 (WebKit::WebPageGroup::removeAllUserStyleSheets): Deleted.
2145 (WebKit::WebPageGroup::removeAllUserScripts): Deleted.
2146 (WebKit::WebPageGroup::removeAllUserContent): Deleted.
2147 (WebKit::WebPageGroup::addUserContentExtension): Deleted.
2148 (WebKit::WebPageGroup::removeUserContentExtension): Deleted.
2149 (WebKit::WebPageGroup::removeAllUserContentExtensions): Deleted.
2150 Get rid of these, all their callers just call into the user content controller now.
2152 * UIProcess/WebPageGroup.h:
2153 (WebKit::WebPageGroup::identifier): Deleted.
2154 (WebKit::WebPageGroup::sendToAllProcessesInGroup): Deleted.
2157 2016-10-11 Daniel Bates <dabates@apple.com>
2159 [iOS] REGRESSION (r197953): User gesture required to load video in iOS 9-built apps
2160 https://bugs.webkit.org/show_bug.cgi?id=163244
2161 <rdar://problem/27250015>
2163 Reviewed by Jer Noble.
2165 Enable or disable the Setting::requiresUserGestureToLoadVideo() in WebKit depending on the
2166 version of iOS SDK that the app was linked against. We require a user gesture to begin
2167 loading a video as of iOS 10.
2169 * Shared/WebPreferencesDefinitions.h:
2170 * UIProcess/API/Cocoa/WKWebView.mm:
2171 (shouldRequireUserGestureToLoadVideo): Added.
2172 (-[WKWebView _initializeWithConfiguration:]): Set the requiresUserGestureToLoadVideo preference.
2173 * WebProcess/WebPage/WebPage.cpp:
2174 (WebKit::WebPage::updatePreferences): Modified to pass the WebKit requiresUserGestureToLoadVideo
2175 preference to WebCore.
2177 2016-10-11 Alex Christensen <achristensen@webkit.org>
2179 Remove dead networking code
2180 https://bugs.webkit.org/show_bug.cgi?id=163263
2182 Reviewed by Daniel Bates.
2184 * NetworkProcess/Downloads/Download.h:
2185 * NetworkProcess/Downloads/ios/DownloadIOS.mm: Removed.
2186 * NetworkProcess/Downloads/mac/DownloadMac.mm:
2187 * NetworkProcess/NetworkLoad.h:
2188 * NetworkProcess/mac/NetworkLoadMac.mm:
2189 (WebKit::NetworkLoad::willCacheResponseAsync): Deleted.
2190 * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
2191 (WebKit::AuthenticationManager::receivedCredential):
2192 (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
2193 (WebKit::AuthenticationManager::receivedCancellation):
2194 (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
2195 (WebKit::AuthenticationManager::receivedChallengeRejection):
2196 * Shared/WebProcessCreationParameters.cpp:
2197 (WebKit::WebProcessCreationParameters::encode):
2198 (WebKit::WebProcessCreationParameters::decode):
2199 * Shared/WebProcessCreationParameters.h:
2200 * Shared/mac/WebCoreArgumentCodersMac.mm:
2201 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
2202 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
2203 * WebKit2.xcodeproj/project.pbxproj:
2205 2016-10-11 Anders Carlsson <andersca@apple.com>
2207 Move no longer used functions to WKDeprecatedFunctions.cpp
2208 https://bugs.webkit.org/show_bug.cgi?id=163290
2210 Reviewed by Dan Bernstein.
2212 * Shared/API/c/WKDeprecatedFunctions.cpp:
2213 (WKPageGroupAddUserContentFilter):
2214 (WKPageGroupRemoveUserContentFilter):
2215 (WKPageGroupRemoveAllUserContentFilters):
2216 (WKContextSetProcessModel): Deleted.
2217 * UIProcess/API/C/WKPageGroup.cpp:
2218 (WKPageGroupRemoveAllUserScripts):
2219 (WKPageGroupAddUserContentFilter): Deleted.
2220 (WKPageGroupRemoveUserContentFilter): Deleted.
2221 (WKPageGroupRemoveAllUserContentFilters): Deleted.
2222 * UIProcess/API/C/WKPageGroup.h:
2224 2016-10-11 Konstantin Tokarev <annulen@yandex.ru>
2226 Use modern for loops for iterating supplement maps
2227 https://bugs.webkit.org/show_bug.cgi?id=163274
2229 Reviewed by Alex Christensen.
2231 * NetworkProcess/NetworkProcess.cpp:
2232 (WebKit::NetworkProcess::initializeNetworkProcess):
2233 (WebKit::NetworkProcess::initializeConnection):
2234 * UIProcess/WebProcessPool.cpp:
2235 (WebKit::WebProcessPool::~WebProcessPool):
2236 (WebKit::WebProcessPool::networkProcessCrashed):
2237 (WebKit::WebProcessPool::databaseProcessCrashed): Iterate by values()
2238 like in other places.
2240 2016-10-11 Wenson Hsieh <wenson_hsieh@apple.com>
2242 The "Input Events" experimental feature runtime flag should not be on by default
2243 https://bugs.webkit.org/show_bug.cgi?id=163278
2245 Reviewed by Zalan Bujtas.
2247 This was intended to be off by default.
2249 * Shared/WebPreferencesDefinitions.h:
2251 2016-10-10 Zan Dobersek <zdobersek@igalia.com>
2253 Add ENABLE_ENCRYPTED_MEDIA configuration option
2254 https://bugs.webkit.org/show_bug.cgi?id=163219
2256 Reviewed by Darin Adler.
2258 * Configurations/FeatureDefines.xcconfig:
2259 Add the ENABLE_ENCRYPTED_MEDIA configuration option. It will be used
2260 to enable or disable the new EME implementation at build-time.
2262 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2264 NetworkSession: NetworkDataTask is leaked if download finishes in didReceiveResponse completion handler
2265 https://bugs.webkit.org/show_bug.cgi?id=163204
2267 Reviewed by Alex Christensen.
2269 After the completion handler a reference of the NetworkDataTask is saved in m_downloadsAfterDestinationDecided.
2270 If the download failed or was canceled DownloadManager::dataTaskBecameDownloadTask is never called and the data
2271 task is kept in the download manager forever. This patch exposes NSURLSessionTask state property in
2272 NetworkDataTask, so that the download manager can check the task state after the completion handler and return
2273 early if the download finished or was cancelled.
2275 * NetworkProcess/Downloads/DownloadManager.cpp:
2276 (WebKit::DownloadManager::continueDecidePendingDownloadDestination):
2277 * NetworkProcess/NetworkDataTask.h:
2278 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
2279 (WebKit::NetworkDataTask::state):
2281 2016-10-10 Konstantin Tokarev <annulen@yandex.ru>
2283 Added final specifier to WebInspectorServer and to its overridden methods
2284 https://bugs.webkit.org/show_bug.cgi?id=163228
2286 Reviewed by Darin Adler.
2288 * UIProcess/InspectorServer/WebInspectorServer.h:
2290 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2292 [GTK] 2.14.0 Compile Errors: GTK 3.22.1
2293 https://bugs.webkit.org/show_bug.cgi?id=163190
2295 Reviewed by Alex Christensen.
2297 * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: Include gtk.h since we are using gtk_widget_queue_draw().
2299 2016-10-10 Gyuyoung Kim <gyuyoung.kim@navercorp.com>
2301 [EFL] ewk_context_preferred_languages has been failed since r206949
2302 https://bugs.webkit.org/show_bug.cgi?id=163211
2304 Reviewed by Chris Dumez.
2306 r206949 changed to return value of navigator.language from en-us to en-US
2307 in order to match other browsers and w3c spec. So ewk_context_preferred_languages
2308 needs to change the expected result as well.
2310 * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2313 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2315 NetworkSession: downloads started by startDownload() can fail before starting from the API point of view
2316 https://bugs.webkit.org/show_bug.cgi?id=163107
2318 Reviewed by Alex Christensen.
2320 In the network process we use a PendingDownload in this case, but in the UI process we always have a single
2321 download proxy. If an error happens before the pending download is converted inot a real download, the DidFail
2322 messages is received in the download proxy before the DidStart one. This is problematic at least for the GTK+
2323 API, because it's common to connect to the started signal and connect to all other signals from there, but in
2324 this case the started signal is never emitted, and then the failed one is not handled. This is not a problem for
2325 downloads started by convertTaskToDownload, because in that case those loads are not considered a download by
2326 the UI process when those early errors happen, and then the web page handles them.
2328 * NetworkProcess/Downloads/PendingDownload.cpp:
2329 (WebKit::PendingDownload::PendingDownload): Send DidStart message right after the network load starts like the
2330 non network session code does.
2331 * NetworkProcess/NetworkLoad.cpp:
2332 (WebKit::NetworkLoad::convertTaskToDownload): Send DidStart message now that the normal load has been converted
2334 * NetworkProcess/NetworkProcess.cpp:
2335 (WebKit::NetworkProcess::findPendingDownloadLocation): Do not send DidStart message here.
2337 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2339 Network Session: PendingDownload is always nullptr in DownloadManager::dataTaskBecameDownloadTask
2340 https://bugs.webkit.org/show_bug.cgi?id=163006
2342 Reviewed by Alex Christensen.
2344 In DownloadManager::dataTaskBecameDownloadTask() we are supposed to have either a pending download, or a network
2345 data task depending on whether the download was started by startDownload() or convertTaskToDownload. However, in
2346 both cases we do have a data task and never a pending download. In the case of startDownload() the pending
2347 download is removed from m_pendingDownloads in willDecidePendingDownloadDestination(). The task is always
2348 added to m_downloadsWaitingForDestination in willDecidePendingDownloadDestination() and to
2349 m_downloadsAfterDestinationDecided in continueDecidePendingDownloadDestination() in both cases.
2351 * NetworkProcess/Downloads/DownloadManager.cpp:
2352 (WebKit::DownloadManager::dataTaskBecameDownloadTask): Add an ASSERT to ensure we don't have a pending download
2353 at this point and that the download is not already in the map. Remove the download from the
2354 m_downloadsAfterDestinationDecided map, but don't check its result because it might not bein that map if
2355 dataTaskBecameDownloadTask is called synchronously from the didReceiveResponse completion handler.
2356 (WebKit::DownloadManager::willDecidePendingDownloadDestination): Do not take the pending download here, wait
2357 until didReceiveResponse completion handler is called.
2358 (WebKit::DownloadManager::continueDecidePendingDownloadDestination): Take the pending download here ensuring
2359 it's alive while the didReceiveResponse completion handler is called. Also remove invalid early return when
2360 either networkDataTask or completionHandler are nullptr because we are using both unconditionally, we should
2361 return early if both are nullptr to avoid crashes. However, we are checking that the download is in the
2362 m_downloadsWaitingForDestination and in that case we should always have both, so better add asserts there. If
2363 the download is already in the map after the completion handler it means that dataTaskBecameDownloadTask() has
2364 alrady been called, so we can just return in that case.
2365 * NetworkProcess/Downloads/DownloadManager.h:
2366 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2367 (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): Protect the NetworkDataTask that can
2368 be deleted by dataTaskBecameDownloadTask().
2370 2016-10-10 Tim Horton <timothy_horton@apple.com>
2372 Share more code between iOS and macOS ViewGestureController
2373 https://bugs.webkit.org/show_bug.cgi?id=163158
2375 Reviewed by Simon Fraser.
2377 Share canSwipeInDirection() and the (unused on Mac) alternate back-forward list mechanism.
2378 Make ViewGestureController operate in terms of WebPageProxy, not WKWebView,
2379 because it shouldn't know anything about WKWebView.
2380 Refactor scrollEventCanBecomeSwipe a bit to be less repetitive.
2382 * UIProcess/API/Cocoa/WKWebView.mm:
2383 (-[WKWebView setAllowsBackForwardNavigationGestures:]):
2384 * UIProcess/Cocoa/ViewGestureController.cpp:
2385 (WebKit::ViewGestureController::ViewGestureController):
2386 (WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
2387 (WebKit::ViewGestureController::canSwipeInDirection):
2388 (WebKit::ViewGestureController::gestureControllerForPage): Deleted.
2389 * UIProcess/Cocoa/ViewGestureController.h:
2390 * UIProcess/WebPageProxy.cpp:
2391 (WebKit::WebPageProxy::WebPageProxy):
2392 * UIProcess/WebPageProxy.h:
2393 (WebKit::WebPageProxy::createWeakPtr):
2394 * UIProcess/ios/ViewGestureControllerIOS.mm:
2395 (WebKit::ViewGestureController::beginSwipeGesture):
2396 (WebKit::ViewGestureController::setAlternateBackForwardListSourceView): Deleted.
2397 (WebKit::ViewGestureController::canSwipeInDirection): Deleted.
2398 * UIProcess/mac/ViewGestureControllerMac.mm:
2399 (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
2400 (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
2401 (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
2403 2016-10-10 Tomas Popela <tpopela@redhat.com>
2405 [GTK] UIProcess crashes when using Japanese IM
2406 https://bugs.webkit.org/show_bug.cgi?id=163011
2408 We have to reference the current GdkEventKey before we try process it
2409 as later when the lambda body is reached the event could be already
2412 Reviewed by Carlos Garcia Campos.
2414 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2415 (webkitWebViewBaseKeyPressEvent):
2416 (webkitWebViewBaseKeyReleaseEvent):
2417 * UIProcess/gtk/InputMethodFilter.h:
2418 Use non-copyable Function so we can use WTFMove to pass the event to
2421 2016-10-09 Wenson Hsieh <wenson_hsieh@apple.com>
2423 Support InputEvent.inputType for the new InputEvent spec
2424 https://bugs.webkit.org/show_bug.cgi?id=163025
2425 <rdar://problem/28658092>
2427 Reviewed by Darin Adler.
2429 Accounts for some changes to the EditAction enum in nameForEditAction. Some former edit
2430 actions, such as EditActionTyping, have been split out into its more specific subtypes,
2431 so we preserve shipping behavior by treating all of the new subtypes the same way as the
2434 * UIProcess/WebEditCommandProxy.cpp:
2435 (WebKit::WebEditCommandProxy::nameForEditAction):
2437 2016-10-08 Emanuele Aina <emanuele.aina@collabora.com>
2439 [GTK] Drop redundant wl_display_flush_clients() call
2440 https://bugs.webkit.org/show_bug.cgi?id=161904
2442 Reviewed by Michael Catanzaro.
2444 The Wayland GSource::prepare() function already calls
2445 wl_display_flush_clients() at every mainloop iteration, so there's no
2446 need to further call it on Surface::commit().
2448 * UIProcess/gtk/WaylandCompositor.cpp:
2449 (WebKit::WaylandCompositor::Surface::commit):
2450 * UIProcess/gtk/WaylandCompositor.h:
2452 2016-10-06 Darin Adler <darin@apple.com>
2454 Next step on moving to modern way to return DOM exceptions
2455 https://bugs.webkit.org/show_bug.cgi?id=163016
2457 Reviewed by Ryosuke Niwa.
2459 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
2460 (webkit_dom_dom_implementation_create_document_type): Updated for name change
2461 from takeReturnValue to releaseReturnValue.
2462 (webkit_dom_dom_implementation_create_document): Ditto.
2463 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp:
2464 (webkit_dom_dom_selection_collapse_to_end): Use ExceptionOr instead of ExceptionCode.
2465 (webkit_dom_dom_selection_collapse_to_start): Ditto.
2466 (webkit_dom_dom_selection_extend): Ditto.
2467 (webkit_dom_dom_selection_get_range_at): Ditto.
2469 2016-10-08 Commit Queue <commit-queue@webkit.org>
2471 Unreviewed, rolling out r206950.
2472 https://bugs.webkit.org/show_bug.cgi?id=163169
2474 broke an API test (Requested by thorton on #webkit).
2478 "Share more code between iOS and macOS ViewGestureController"
2479 https://bugs.webkit.org/show_bug.cgi?id=163158
2480 http://trac.webkit.org/changeset/206950
2482 2016-10-08 Tim Horton <timothy_horton@apple.com>
2484 Share more code between iOS and macOS ViewGestureController
2485 https://bugs.webkit.org/show_bug.cgi?id=163158
2487 Reviewed by Simon Fraser.
2489 Share canSwipeInDirection() and the (unused on Mac) alternate back-forward list mechanism.
2490 Make ViewGestureController operate in terms of WebPageProxy, not WKWebView,
2491 because it shouldn't know anything about WKWebView.
2492 Refactor scrollEventCanBecomeSwipe a bit to be less repetitive.
2494 * UIProcess/API/Cocoa/WKWebView.mm:
2495 (-[WKWebView setAllowsBackForwardNavigationGestures:]):
2496 * UIProcess/Cocoa/ViewGestureController.cpp:
2497 (WebKit::ViewGestureController::ViewGestureController):
2498 (WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
2499 (WebKit::ViewGestureController::canSwipeInDirection):
2500 (WebKit::ViewGestureController::gestureControllerForPage): Deleted.
2501 * UIProcess/Cocoa/ViewGestureController.h:
2502 * UIProcess/WebPageProxy.cpp:
2503 (WebKit::WebPageProxy::WebPageProxy):
2504 * UIProcess/WebPageProxy.h:
2505 (WebKit::WebPageProxy::createWeakPtr):
2506 * UIProcess/ios/ViewGestureControllerIOS.mm:
2507 (WebKit::ViewGestureController::beginSwipeGesture):
2508 (WebKit::ViewGestureController::setAlternateBackForwardListSourceView): Deleted.
2509 (WebKit::ViewGestureController::canSwipeInDirection): Deleted.
2510 * UIProcess/mac/ViewGestureControllerMac.mm:
2511 (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
2512 (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
2513 (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
2515 2016-10-07 Anders Carlsson <andersca@apple.com>
2517 Get rid of API::Session and WKSessionRef
2518 https://bugs.webkit.org/show_bug.cgi?id=163140
2520 Reviewed by Tim Horton.
2522 This API is no longer used.
2525 * Shared/API/APIObject.h:
2526 * Shared/API/c/WKSharedAPICast.h:
2527 * UIProcess/API/APISession.cpp: Removed.
2528 (API::generateID): Deleted.
2529 (API::Session::defaultSession): Deleted.
2530 (API::Session::Session): Deleted.
2531 (API::Session::createEphemeral): Deleted.
2532 (API::Session::isEphemeral): Deleted.
2533 (API::Session::getID): Deleted.
2534 (API::Session::~Session): Deleted.
2535 * UIProcess/API/APISession.h: Removed.
2536 * UIProcess/API/C/WKPage.h:
2537 * UIProcess/API/C/WKSessionRef.cpp: Removed.
2538 (WKSessionCreate): Deleted.
2539 (WKSessionGetTypeID): Deleted.
2540 (WKSessionIsEphemeral): Deleted.
2541 * UIProcess/API/C/WKSessionRef.h: Removed.
2542 * UIProcess/WebPageProxy.h:
2543 * UIProcess/WebProcessProxy.h:
2544 * WebKit2.xcodeproj/project.pbxproj:
2546 2016-10-07 Tim Horton <timothy_horton@apple.com>
2548 Move ViewGestureController files to more accurate locations
2549 https://bugs.webkit.org/show_bug.cgi?id=163141
2551 Reviewed by Anders Carlsson.
2553 * PlatformMac.cmake:
2554 * UIProcess/Cocoa/ViewGestureController.cpp: Renamed from UIProcess/ViewGestureController.cpp.
2555 * UIProcess/Cocoa/ViewGestureController.h: Renamed from UIProcess/mac/ViewGestureController.h.
2556 * UIProcess/Cocoa/ViewGestureController.messages.in: Renamed from UIProcess/mac/ViewGestureController.messages.in.
2557 * WebKit2.xcodeproj/project.pbxproj:
2559 2016-10-07 Tim Horton <timothy_horton@apple.com>
2561 Adopt BlockPtr in ViewGestureController
2562 https://bugs.webkit.org/show_bug.cgi?id=163132
2564 Reviewed by Anders Carlsson.
2566 * UIProcess/Cocoa/WebViewImpl.h:
2567 * UIProcess/Cocoa/WebViewImpl.mm:
2568 (WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
2569 * UIProcess/ViewGestureController.cpp:
2570 (WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent):
2571 * UIProcess/mac/ViewGestureController.h:
2572 (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
2573 (WebKit::ViewGestureController::m_didMoveSwipeSnapshotCallback): Deleted.
2574 * UIProcess/mac/ViewGestureControllerMac.mm:
2575 (WebKit::ViewGestureController::platformTeardown):
2576 (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback): Deleted.
2578 2016-10-07 Anders Carlsson <andersca@apple.com>
2580 Get rid of WKPageSetSession
2581 https://bugs.webkit.org/show_bug.cgi?id=163129
2583 Reviewed by Tim Horton.
2585 This function is no longer used.
2587 * UIProcess/API/C/WKPage.cpp:
2588 (WKPageSetSession): Deleted.
2589 * UIProcess/API/C/WKPage.h:
2590 * UIProcess/WebPageProxy.cpp:
2591 (WebKit::WebPageProxy::setSessionID): Deleted.
2592 * UIProcess/WebPageProxy.h:
2593 (WebKit::WebPageProxy::sessionID):
2594 * WebProcess/WebPage/WebPage.messages.in:
2596 2016-10-07 Commit Queue <commit-queue@webkit.org>
2598 Unreviewed, rolling out r206909.
2599 https://bugs.webkit.org/show_bug.cgi?id=163116
2601 Caused most of GTK layout tests to crash (Requested by KaL on
2606 "[GTK] UIProcess crashes when using Japanese IM"
2607 https://bugs.webkit.org/show_bug.cgi?id=163011
2608 http://trac.webkit.org/changeset/206909
2610 2016-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
2612 Network Session: Allow NetworkDataTask decide what to do when override is allowed for a download
2613 https://bugs.webkit.org/show_bug.cgi?id=163010
2615 Reviewed by Alex Christensen.
2617 Current code always deletes the file before starting a download when allow override is True. In soup backend we
2618 use glib API that takes care of it and tries to ensure that the original file is not deleted if the new file
2619 creation fails for whatever reason.
2621 * NetworkProcess/Downloads/DownloadManager.cpp:
2622 (WebKit::DownloadManager::continueDecidePendingDownloadDestination): Pass allowOverride to setPendingDownloadLocation().
2623 * NetworkProcess/NetworkDataTask.h:
2624 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
2625 (WebKit::NetworkDataTask::setPendingDownloadLocation): Delete the destination file if exists and allowOverride
2628 2016-10-07 Tomas Popela <tpopela@redhat.com>
2630 [GTK] UIProcess crashes when using Japanese IM
2631 https://bugs.webkit.org/show_bug.cgi?id=163011
2633 We have to reference the current GdkEventKey before we try process it
2634 as later when the lambda body is reached the event could be already
2637 Reviewed by Carlos Garcia Campos.
2639 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2640 (webkitWebViewBaseKeyPressEvent):
2641 (webkitWebViewBaseKeyReleaseEvent):
2642 * UIProcess/gtk/InputMethodFilter.h:
2643 Use non-copyable Function so we can use WTFMove to pass the event to
2646 2016-10-06 Michael Catanzaro <mcatanzaro@igalia.com>
2648 [GTK] Expose WebKitDOMHTMLInputElement APIs for form autofill
2649 https://bugs.webkit.org/show_bug.cgi?id=163082
2651 Reviewed by Darin Adler.
2653 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
2654 (webkit_dom_html_input_element_get_auto_filled): Added.
2655 (webkit_dom_html_input_element_set_auto_filled): Added.
2656 (webkit_dom_html_input_element_set_editing_value): Added.
2657 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
2658 * WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
2660 2016-10-06 John Wilander <wilander@apple.com>
2662 Update Resource Load Statistics
2663 https://bugs.webkit.org/show_bug.cgi?id=162811
2665 Reviewed by Alex Christensen.
2667 * UIProcess/WebResourceLoadStatisticsStore.cpp:
2668 (WebKit::WebResourceLoadStatisticsStore::hasPrevalentResourceCharacteristics):
2669 Switched to vector-based classification.
2670 (WebKit::WebResourceLoadStatisticsStore::classifyResource):
2671 Simplified logic and moved the split between has and has
2672 no user interaction into ResourceLoadStatisticsStore.
2673 (WebKit::WebResourceLoadStatisticsStore::clearDataRecords):
2675 (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
2676 Updated to make use of the new functions.
2677 (WebKit::WebResourceLoadStatisticsStore::persistentStoragePath):
2678 Removed stray whitespace.
2679 (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):
2680 Removed stray whitespace.
2681 (WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk):
2682 Removed stray whitespace.
2683 (WebKit::hasPrevalentResourceCharacteristics): Deleted.
2684 (WebKit::classifyPrevalentResources): Deleted.
2685 * UIProcess/WebResourceLoadStatisticsStore.h:
2686 Added member variables for clearing of data records.
2688 2016-10-06 Youenn Fablet <youenn@apple.com>
2690 [WK2] 304 revalidation on the network process does not update the validated response
2691 https://bugs.webkit.org/show_bug.cgi?id=162973
2693 Reviewed by Darin Adler.
2695 * NetworkProcess/NetworkResourceLoader.cpp: Updating cache entry with the revalidated one.
2697 2016-10-05 Wenson Hsieh <wenson_hsieh@apple.com>
2699 Introduce InputEvent bindings in preparation for the input events spec
2700 https://bugs.webkit.org/show_bug.cgi?id=162954
2702 Reviewed by Ryosuke Niwa.
2704 Adds a new runtime switch for enabling InputEvents.
2706 * Shared/WebPreferencesDefinitions.h:
2707 * WebProcess/WebPage/WebPage.cpp:
2708 (WebKit::WebPage::updatePreferences):
2710 2016-10-05 Myles C. Maxfield <mmaxfield@apple.com>
2712 Put variation fonts work behind a compile-time flag
2713 https://bugs.webkit.org/show_bug.cgi?id=162949
2715 Reviewed by Simon Fraser.
2717 * Configurations/FeatureDefines.xcconfig:
2719 2016-10-05 Tim Horton <timothy_horton@apple.com>
2723 * UIProcess/Cocoa/WebViewImpl.mm:
2725 2016-10-05 Tim Horton <timothy_horton@apple.com>
2727 Avoid automatically re-taking snapshots for back-forward items that were never loaded into the view
2728 https://bugs.webkit.org/show_bug.cgi?id=162955
2729 <rdar://problem/27659173>
2731 Reviewed by Simon Fraser.
2733 Make it possible for clients to control the snapshot for back-forward
2734 items that are restored from session state without navigating to them,
2735 by ensuring that we won't stomp on the snapshot that they explicitly take,
2736 until a load occurs.
2738 * UIProcess/WebBackForwardList.cpp:
2739 (WebKit::WebBackForwardList::addItem):
2740 (WebKit::WebBackForwardList::goToItem):
2741 * UIProcess/ios/ViewGestureControllerIOS.mm:
2742 (WebKit::ViewGestureController::beginSwipeGesture):
2743 * UIProcess/mac/ViewGestureControllerMac.mm:
2744 (WebKit::ViewGestureController::trackSwipeGesture):
2745 Disambiguate explicit API-driven snapshot recording from automatic,
2746 navigation-driven snapshot recording.
2748 * UIProcess/Cocoa/WebViewImpl.mm:
2749 (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
2750 Get rid of the version of recordNavigationSnapshot() that doesn't take a
2751 back-forward list item, and grab the current item at the one remaining caller.
2753 * UIProcess/WebPageProxy.cpp:
2754 (WebKit::WebPageProxy::recordAutomaticNavigationSnapshot):
2755 (WebKit::WebPageProxy::recordNavigationSnapshot):
2756 (WebKit::WebPageProxy::restoreFromSessionState):
2757 (WebKit::WebPageProxy::didCommitLoadForFrame):
2758 * UIProcess/WebPageProxy.h:
2759 Rename m_suppressNavigationSnapshotting to m_suppressAutomaticNavigationSnapshotting,
2760 and make it be only about automatic (navigation-driven) snapshots; it won't have
2761 any impact on explicit snapshots forced by clients.
2763 Set m_suppressAutomaticNavigationSnapshotting unconditionally when restoring
2764 from session state, so that we won't start automatically snapshotting until
2765 something has loaded in the view.
2767 2016-10-05 Tim Horton <timothy_horton@apple.com>
2769 Make it possible to test ViewSnapshotStore behaviors
2770 https://bugs.webkit.org/show_bug.cgi?id=162983
2772 Reviewed by Simon Fraser.
2774 Add two pieces of SPI to make it easier to test ViewSnapshotStore:
2776 - [WKWebView _disableBackForwardSnapshotVolatilityForTesting]
2777 This makes it so that we don't make snapshots volatile after we
2778 take them, so that they won't get purged while the test is running
2779 and cause the test to be flaky.
2781 - [WKBackForwardListItem _copySnapshotForTesting]
2782 This returns a CGImage with the content of the given back-forward
2783 item's current snapshot, if there is one.
2785 * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
2786 (-[WKBackForwardListItem _copySnapshotForTesting]):
2787 * UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
2788 * UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h: Added.
2789 Add WKBackForwardListItem SPI to retrieve the snapshot for a given back-forward list item.
2791 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2792 * UIProcess/API/Cocoa/WKWebView.mm:
2793 (-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]):
2794 Add WKWebView SPI to disable volatility of snapshots, for testing purposes.
2796 * UIProcess/Cocoa/WebViewImpl.h:
2797 * UIProcess/Cocoa/WebViewImpl.mm:
2798 (WebKit::WebViewImpl::takeViewSnapshot):
2799 Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
2801 * UIProcess/mac/ViewGestureControllerMac.mm:
2802 (WebKit::ViewGestureController::removeSwipeSnapshot):
2803 Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
2805 * UIProcess/mac/ViewSnapshotStore.h:
2806 (WebKit::ViewSnapshotStore::setDisableSnapshotVolatilityForTesting):
2807 (WebKit::ViewSnapshotStore::disableSnapshotVolatilityForTesting):
2808 * UIProcess/mac/ViewSnapshotStore.mm:
2809 (WebKit::ViewSnapshotStore::ViewSnapshotStore):
2810 (WebKit::ViewSnapshot::setVolatile):
2811 (WebKit::ViewSnapshot::asLayerContents):
2812 Move all touching of snapshot volatility into the new setVolatile,
2813 and short-circuit if the testing-only m_disableSnapshotVolatility bit is set
2815 (WebKit::ViewSnapshot::asImageForTesting):
2816 Make a CGImageRef for the aforementioned WKBackForwardListItem SPI.
2817 This is currently not implemented for the iOS Simulator, because we
2818 don't have access to the bits of the image in that case.
2820 2016-10-05 Chris Dumez <cdumez@apple.com>
2822 KeyboardEvent.getModifierState() should support "CapsLock" modifier
2823 https://bugs.webkit.org/show_bug.cgi?id=162861
2825 Reviewed by Darin Adler.
2827 Add support for CapsLock modifier on events.
2829 * Shared/API/c/WKEvent.h:
2830 * Shared/API/c/WKSharedAPICast.h:
2832 * Shared/WebEventConversion.cpp:
2833 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
2834 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
2835 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
2836 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
2837 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
2838 * Shared/efl/WebEventFactory.cpp:
2839 (WebKit::toWebEventModifiers):
2840 * Shared/ios/WebIOSEventFactory.mm:
2841 (modifiersForEvent):
2842 * Shared/mac/WebEventFactory.mm:
2843 (WebKit::modifiersForEvent):
2844 * UIProcess/API/Cocoa/WKNavigationAction.mm:
2845 (toNSEventModifierFlags):
2846 * UIProcess/Cocoa/WebAutomationSessionCocoa.mm:
2847 (WebKit::WebAutomationSession::platformSimulateMouseInteraction):
2849 2016-10-05 Zan Dobersek <zdobersek@igalia.com>
2851 Rename ENABLE_ENCRYPTED_MEDIA_V2 to ENABLE_LEGACY_ENCRYPTED_MEDIA
2852 https://bugs.webkit.org/show_bug.cgi?id=162903
2854 Reviewed by Alex Christensen.
2856 Rename build guards for the remaining implementation of the legacy EME API
2857 to ENABLE_LEGACY_ENCRYPTED_MEDIA. This will allow for the future implementation
2858 of the near-finished API to be guarded with the simple ENABLE_ENCRYPTED_MEDIA guards.
2860 * Configurations/FeatureDefines.xcconfig:
2861 * WebProcess/WebPage/WebPage.cpp:
2862 (WebKit::m_userInterfaceLayoutDirection):
2863 * WebProcess/WebProcess.cpp:
2864 (WebKit::m_resourceLoadStatisticsStorage):
2866 2016-10-05 Daniel Bates <dabates@apple.com>
2868 [WK2][NetworkSession] Ping requests should follow redirects if applicable
2869 https://bugs.webkit.org/show_bug.cgi?id=162580
2870 <rdar://problem/28631274>
2872 Reviewed by Alex Christensen.
2874 Implement support for following redirects, if applicable, of a ping request when using the
2875 Network Session (ENABLE(NETWORK_SESSION)) code path in WebKit2. For ping requests that are
2876 in response to hyperlink auditing (e.g. <a ping>) we should follow redirect responses.
2877 For Content Security Policy and XSS Auditor violation reports we should not follow redirect
2880 Currently we always ignore redirects for ping requests that are sent using the Network Session
2881 code path in WebKit2. This behavior disagrees with the behavior described in section
2882 "Hyperlink auditing" of the HTML standard, <https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing> (27 September 2016),
2883 as well as the behavior in Legacy WebKit and WebKit2 with Network Session disabled. We should
2884 follow redirects for ping requests initiated as part of hyperlink auditing to more closely
2885 conform to the HTML standard and match the behavior in Legacy WebKit and WebKit2 with Network
2888 * NetworkProcess/PingLoad.h:
2890 2016-10-05 Daniel Bates <dabates@apple.com>
2892 Do not follow redirects when sending violation report
2893 https://bugs.webkit.org/show_bug.cgi?id=162520
2894 <rdar://problem/27957639>
2896 Reviewed by Alex Christensen.
2898 Update the non-Network Session WebKit2 implementation to follow redirect responses for a ping
2899 request, if applicable. I did not update the Network Session implementation at this time. I
2900 will fix it in <https://bugs.webkit.org/show_bug.cgi?id=162580>.
2902 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2903 (WebKit::NetworkConnectionToWebProcess::loadPing): Tell PingHandle whether to follow redirects.
2904 * NetworkProcess/NetworkLoadParameters.h:
2905 * NetworkProcess/NetworkResourceLoadParameters.cpp:
2906 (WebKit::NetworkResourceLoadParameters::encode): Encode NetworkResourceLoadParameters::shouldFollowRedirects.
2907 (WebKit::NetworkResourceLoadParameters::decode): Decode NetworkResourceLoadParameters::shouldFollowRedirects.
2908 * NetworkProcess/PingLoad.h: Added FIXME comment to implement support for following redirects,
2909 if applicable (for hyperlink auditing). See <https://bugs.webkit.org/show_bug.cgi?id=162580>
2911 * WebProcess/Network/WebLoaderStrategy.cpp:
2912 (WebKit::WebLoaderStrategy::createPingHandle): Modified to take a boolean whether to follow
2913 redirects responses and set NetworkResourceLoadParameters::shouldFollowRedirects as appropriate.
2914 * WebProcess/Network/WebLoaderStrategy.h:
2916 2016-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2918 [SOUP] Move global TLS errors handling from ResourceHandle to SoupNetworkSession
2919 https://bugs.webkit.org/show_bug.cgi?id=162910
2921 Reviewed by Alex Christensen.
2923 Use SoupNetworkSession instead of ResourceHandle.
2925 * NetworkProcess/soup/NetworkProcessSoup.cpp:
2926 (WebKit::NetworkProcess::setIgnoreTLSErrors):
2927 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
2929 2016-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2931 Unreviewed. Fix GTK+ build with USE_REDIRECTED_XCOMPOSITE_WINDOW disabled.
2933 * UIProcess/AcceleratedDrawingAreaProxy.cpp:
2934 (WebKit::AcceleratedDrawingAreaProxy::setNativeSurfaceHandleForCompositing):
2936 2016-10-04 Chris Dumez <cdumez@apple.com>
2938 Implement KeyboardEvent.code from the UI Event spec
2939 https://bugs.webkit.org/show_bug.cgi?id=149584
2941 Reviewed by Darin Adler.
2943 Add support for Keyboard.code attribute:
2944 - https://w3c.github.io/uievents/#dom-keyboardevent-code
2945 - https://w3c.github.io/uievents-code/
2947 * Shared/WebEvent.h:
2948 (WebKit::WebKeyboardEvent::code):
2949 * Shared/WebEventConversion.cpp:
2950 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
2951 * Shared/WebKeyboardEvent.cpp:
2952 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
2953 (WebKit::WebKeyboardEvent::encode):
2954 (WebKit::WebKeyboardEvent::decode):
2955 * Shared/mac/WebEventFactory.mm:
2956 (WebKit::WebEventFactory::createWebKeyboardEvent):
2958 2016-10-04 Said Abou-Hallawa <sabouhallawa@apple.com>
2960 The dragged image should be the current frame only of the animated image
2961 https://bugs.webkit.org/show_bug.cgi?id=162109
2963 Reviewed by Tim Horton.
2965 * UIProcess/Cocoa/WebViewImpl.mm:
2966 (WebKit::WebViewImpl::provideDataForPasteboard): Call the Image function with its new name.
2968 2016-10-04 Ryosuke Niwa <rniwa@webkit.org>
2970 Revert a change erroneously committed in r206795.
2972 * WebProcess/WebPage/WebPage.cpp:
2973 (WebKit::WebPage::updatePreferences):
2975 2016-10-04 Anders Carlsson <andersca@apple.com>
2977 Properly kill web processes in the launching state
2978 https://bugs.webkit.org/show_bug.cgi?id=162938
2980 Reviewed by Tim Horton.
2982 * UIProcess/Launcher/ProcessLauncher.h:
2983 Add m_xpcConnection member.
2985 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2986 (WebKit::ProcessLauncher::launchProcess):
2987 Store the XPC connection in the m_xpcConnection member variable.
2988 In the reply handler, handle m_xpcConnection being null.
2990 (WebKit::ProcessLauncher::platformInvalidate):
2991 Cancel and kill the connection.
2993 * UIProcess/WebPageProxy.cpp:
2994 (WebKit::WebPageProxy::terminateProcess):
2995 Get rid of an assertion.
2997 * UIProcess/WebProcessProxy.cpp:
2998 (WebKit::WebProcessProxy::requestTermination):
2999 Handle the launching state.
3001 2016-10-04 Tim Horton <timothy_horton@apple.com>
3005 * Shared/WebBackForwardListItem.cpp:
3006 (WebKit::WebBackForwardListItem::WebBackForwardListItem):
3007 (WebKit::WebBackForwardListItem::highestUsedItemID):
3009 2016-10-04 Tim Horton <timothy_horton@apple.com>
3011 Fix a typo in WebBackForwardListItem (highed->highest)
3012 https://bugs.webkit.org/show_bug.cgi?id=162935
3014 Reviewed by Anders Carlsson.
3016 * Shared/WebBackForwardListItem.cpp:
3017 (WebKit::WebBackForwardListItem::highestUsedItemID):
3018 (WebKit::WebBackForwardListItem::highedUsedItemID): Deleted.
3019 * Shared/WebBackForwardListItem.h:
3020 * UIProcess/WebPageProxy.cpp:
3021 (WebKit::WebPageProxy::creationParameters):
3023 2016-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
3025 [DOMJIT] Introduce DOMJIT::GetterSetter to tell JIT information
3026 https://bugs.webkit.org/show_bug.cgi?id=162916
3028 Reviewed by Filip Pizlo.
3032 2016-10-04 Carlos Garcia Campos <cgarcia@igalia.com>
3034 [SOUP] Remove SSLPolicyFlags from SoupNetworkSession
3035 https://bugs.webkit.org/show_bug.cgi?id=162906
3037 Reviewed by Michael Catanzaro.
3039 * NetworkProcess/soup/NetworkProcessMainSoup.cpp:
3040 (WebKit::NetworkProcessMainUnix):
3042 2016-10-04 Wenson Hsieh <wenson_hsieh@apple.com>
3044 Media controls are displayed in the incorrect state momentarily after switching between tabs playing media
3045 https://bugs.webkit.org/show_bug.cgi?id=162766
3046 <rdar://problem/28533523>
3048 Reviewed by Jer Noble.
3050 Plumbs some more Now Playing information from the web process to the UI process for testing purposes. See
3051 WebCore ChangeLog for more details.
3053 * UIProcess/API/Cocoa/WKWebView.mm:
3054 (-[WKWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]):
3055 (-[WKWebView _handleActiveNowPlayingSessionInfoResponse:]): Deleted.
3056 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3057 * UIProcess/PageClient.h:
3058 * UIProcess/WebPageProxy.cpp:
3059 (WebKit::WebPageProxy::handleActiveNowPlayingSessionInfoResponse):
3060 * UIProcess/WebPageProxy.h:
3061 * UIProcess/WebPageProxy.messages.in:
3062 * UIProcess/mac/PageClientImpl.h:
3063 * UIProcess/mac/PageClientImpl.mm:
3064 (WebKit::PageClientImpl::handleActiveNowPlayingSessionInfoResponse):
3065 * WebProcess/WebPage/mac/WebPageMac.mm:
3066 (WebKit::WebPage::requestActiveNowPlayingSessionInfo):
3068 2016-10-04 Zan Dobersek <zdobersek@igalia.com>
3070 Unreviewed GTK+ build fix.
3072 * UIProcess/API/C/WKPage.cpp:
3073 (WKPageSetPageNavigationClient): Guard the call to getDefaultWebCryptoMasterKey()
3074 with ENABLE(SUBTLE_CRYPTO), since the same guard is used for the definition. Fixes
3075 GTK+ production builds where the feature is disabled.
3077 2016-10-03 Keith Rollin <krollin@apple.com>
3079 More logging to diagnose "WebKit encountered an internal error" messages
3080 https://bugs.webkit.org/show_bug.cgi?id=162754
3082 Reviewed by Antti Koivisto.
3084 Add more logging around calls to internalError, as well as some
3085 low-level logging around SharedMemory, and mach_vm_map in particular.
3087 * NetworkProcess/NetworkResourceLoader.cpp:
3088 (WebKit::NetworkResourceLoader::startNetworkLoad):
3089 * Platform/Logging.h:
3090 * Platform/mac/SharedMemoryMac.cpp:
3091 (WebKit::SharedMemory::allocate):
3092 (WebKit::makeMemoryEntry):
3093 (WebKit::SharedMemory::map):
3094 (WebKit::SharedMemory::~SharedMemory):
3095 * WebProcess/Network/WebLoaderStrategy.cpp:
3096 (WebKit::WebLoaderStrategy::networkProcessCrashed):
3097 (WebKit::WebLoaderStrategy::loadResourceSynchronously):
3098 * WebProcess/Network/WebResourceLoader.cpp:
3099 (WebKit::WebResourceLoader::didReceiveResource):
3101 2016-10-03 Ryan Haddad <ryanhaddad@apple.com>
3103 Unreviewed, rolling out r206754.
3105 This change broke the El Capitan and Yosemite debug builds.
3109 "More logging to diagnose "WebKit encountered an internal
3111 https://bugs.webkit.org/show_bug.cgi?id=162754
3112 http://trac.webkit.org/changeset/206754
3114 2016-10-03 Keith Rollin <krollin@apple.com>
3116 More logging to diagnose "WebKit encountered an internal error" messages
3117 https://bugs.webkit.org/show_bug.cgi?id=162754
3119 Reviewed by Antti Koivisto.
3121 Add more logging around calls to internalError, as well as some
3122 low-level logging around SharedMemory, and mach_vm_map in particular.
3124 * NetworkProcess/NetworkResourceLoader.cpp:
3125 (WebKit::NetworkResourceLoader::startNetworkLoad):
3126 * Platform/Logging.h:
3127 * Platform/mac/SharedMemoryMac.cpp:
3128 (WebKit::SharedMemory::allocate):
3129 (WebKit::makeMemoryEntry):
3130 (WebKit::SharedMemory::map):
3131 (WebKit::SharedMemory::~SharedMemory):
3132 * WebProcess/Network/WebLoaderStrategy.cpp:
3133 (WebKit::WebLoaderStrategy::networkProcessCrashed):
3134 (WebKit::WebLoaderStrategy::loadResourceSynchronously):
3135 * WebProcess/Network/WebResourceLoader.cpp:
3136 (WebKit::WebResourceLoader::didReceiveResource):
3138 2016-10-03 Chris Dumez <cdumez@apple.com>
3140 Add support for KeyboardEvent.key attribute
3141 https://bugs.webkit.org/show_bug.cgi?id=36267
3143 Reviewed by Darin Adler.
3145 Add support for KeyboardEvent.key attribute.
3147 * Shared/WebEvent.h:
3148 (WebKit::WebKeyboardEvent::key):
3149 (WebKit::WebKeyboardEvent::unmodifiedText): Deleted.
3150 * Shared/WebEventConversion.cpp:
3151 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
3152 * Shared/WebKeyboardEvent.cpp:
3153 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
3154 (WebKit::WebKeyboardEvent::encode):
3155 (WebKit::WebKeyboardEvent::decode):
3156 * Shared/mac/WebEventFactory.mm:
3157 (WebKit::WebEventFactory::createWebKeyboardEvent):
3159 2016-10-03 Chris Dumez <cdumez@apple.com>
3161 Add support for KeyboardEvent.key attribute
3162 https://bugs.webkit.org/show_bug.cgi?id=36267
3164 Reviewed by Darin Adler.
3166 Add support for KeyboardEvent.key attribute.
3168 * Shared/WebEvent.h:
3169 (WebKit::WebKeyboardEvent::key):
3170 (WebKit::WebKeyboardEvent::unmodifiedText): Deleted.
3171 * Shared/WebEventConversion.cpp:
3172 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
3173 * Shared/WebKeyboardEvent.cpp:
3174 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
3175 (WebKit::WebKeyboardEvent::encode):
3176 (WebKit::WebKeyboardEvent::decode):
3177 * Shared/mac/WebEventFactory.mm:
3178 (WebKit::WebEventFactory::createWebKeyboardEvent):
3180 2016-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
3182 [SOUP] Cleanup persistent credential storage code
3183 https://bugs.webkit.org/show_bug.cgi?id=162777
3185 Reviewed by Alex Christensen.
3187 Use USE(LIBSECRET) instead of ENABLE(CREDENTIAL_STORAGE).
3189 * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp:
3190 (webkit_authentication_request_can_save_credentials):
3192 2016-10-02 Ryan Haddad <ryanhaddad@apple.com>
3194 Unreviewed, rolling out r206683.
3196 This change caused API test WebKit2.FindMatches to fail on
3201 "The dragged image should be the current frame only of the
3203 https://bugs.webkit.org/show_bug.cgi?id=162109
3204 http://trac.webkit.org/changeset/206683
3206 2016-09-30 Myles C. Maxfield <mmaxfield@apple.com>
3208 Follow-up patch after r206701
3209 https://bugs.webkit.org/show_bug.cgi?id=162818
3213 I missed one place required to enable an experimental feature by default.
3215 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3216 (WebKit::registerUserDefaultsIfNeeded):
3218 2016-09-30 Dan Bernstein <mitz@apple.com>
3220 [iOS] Editing menu omits the Share command if the selected text is longer than 200 characters
3221 https://bugs.webkit.org/show_bug.cgi?id=162821
3222 <rdar://problem/28409828>
3224 Reviewed by Tim Horton.
3226 * UIProcess/ios/WKContentViewInteraction.mm:
3227 (-[WKContentView canPerformAction:withSender:]): Changed to return YES for the _share:
3228 action even if the selection is longer than 200 characters. While Define should not have
3229 been available for longer selections, Share does not have such a limitation.
3231 2016-09-30 Myles C. Maxfield <mmaxfield@apple.com>
3233 Turn variation fonts on by default
3234 https://bugs.webkit.org/show_bug.cgi?id=162818
3236 Reviewed by Simon Fraser.
3238 * Shared/WebPreferencesDefinitions.h:
3240 2016-09-30 Brady Eidson <beidson@apple.com>
3242 REGRESSION (Safari 10 combined with WK changes): Unable to store WebCrypto keys in IndexedDB database.
3243 <rdar://problem/28334440> and https://bugs.webkit.org/show_bug.cgi?id=162554
3245 Reviewed by Alexey Proskuryakov.
3247 Safari 10 has a WKPageNavigation client but does not implement the "copyWebCryptoMasterKey" callback.
3249 WebKit just fails in this case, instead of falling back to "getDefaultWebCryptoMasterKey".
3250 It should fall back.
3252 Additionally there's a WKContextClient callback to get the crypto key, also, but it is completely unused.
3253 So it should be pulled.
3255 * UIProcess/API/APILoaderClient.h:
3256 (API::LoaderClient::webCryptoMasterKey): Deleted.
3257 * UIProcess/API/C/WKContext.h:
3259 * UIProcess/API/C/WKPage.cpp:
3260 (WKPageSetPageLoaderClient):
3261 (WKPageSetPageNavigationClient): If the client doesn't implement this method, fallback to getDefaultWebCryptoMasterKey.
3263 * UIProcess/Cocoa/NavigationState.mm:
3264 (WebKit::NavigationState::NavigationClient::webCryptoMasterKey): If the client doesn't implement this method,
3265 fallback to getDefaultWebCryptoMasterKey.
3267 * UIProcess/WebContextClient.cpp:
3268 (WebKit::WebContextClient::copyWebCryptoMasterKey): Deleted.
3269 * UIProcess/WebContextClient.h:
3271 * UIProcess/WebPageProxy.cpp:
3272 (WebKit::WebPageProxy::wrapCryptoKey): Only ask the NavigationClient before falling back. Don't ask the loader client.
3273 (WebKit::WebPageProxy::unwrapCryptoKey): Ditto.
3275 2016-09-30 Said Abou-Hallawa <sabouhallawa@apple.com>
3277 The dragged image should be the current frame only of the animated image
3278 https://bugs.webkit.org/show_bug.cgi?id=162109
3280 Reviewed by Tim Horton.
3282 * UIProcess/Cocoa/WebViewImpl.mm:
3283 (WebKit::WebViewImpl::provideDataForPasteboard): Call the Image function with its new name.
3285 2016-09-30 Anders Carlsson <andersca@apple.com>
3287 Second time going into fullscreen using silverlight, will hide the menu bar and dock for Safari
3288 https://bugs.webkit.org/show_bug.cgi?id=162805
3289 rdar://problem/28208495
3291 Reviewed by Dan Bernstein.
3293 Turns out that the WindowRef wrappers for full screen NSWindows can end up in the m_windows HashSet,
3296 Fix this by storing the canonical CGWindowIDs in the hash map instead.
3298 * PluginProcess/mac/PluginProcessMac.mm:
3299 (WebKit::cgWindowID):
3300 (WebKit::windowCoversAnyScreen):
3301 (WebKit::FullscreenWindowTracker::windowShown):
3302 (WebKit::FullscreenWindowTracker::windowHidden):
3304 2016-09-30 Myles C. Maxfield <mmaxfield@apple.com>
3306 Create runtime flag for variation font work
3307 https://bugs.webkit.org/show_bug.cgi?id=162780
3309 Reviewed by Alex Christensen.
3311 * Shared/WebPreferencesDefinitions.h:
3312 * WebProcess/WebPage/WebPage.cpp:
3313 (WebKit::WebPage::updatePreferences):
3315 2016-09-30 Chris Dumez <cdumez@apple.com>
3317 [WK2][iOS] Add radiusX / radiusY / rotationAngle to WebPlatformTouchPoint
3318 https://bugs.webkit.org/show_bug.cgi?id=162787
3319 <rdar://problem/28554292>
3321 Reviewed by Benjamin Poulain.
3323 Add radiusX / radiusY / rotationAngle to WebPlatformTouchPoint.
3325 * Platform/spi/ios/UIKitSPI.h:
3326 * Shared/WebEvent.h:
3327 (WebKit::WebPlatformTouchPoint::setRadiusX):
3328 (WebKit::WebPlatformTouchPoint::radiusX):
3329 (WebKit::WebPlatformTouchPoint::setRadiusY):
3330 (WebKit::WebPlatformTouchPoint::radiusY):
3331 (WebKit::WebPlatformTouchPoint::setRotationAngle):
3332 (WebKit::WebPlatformTouchPoint::rotationAngle):
3333 * Shared/WebEventConversion.cpp:
3334 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
3335 * Shared/ios/NativeWebTouchEventIOS.mm:
3336 (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
3337 * Shared/ios/WebPlatformTouchPointIOS.cpp:
3338 (WebKit::WebPlatformTouchPoint::encode):
3339 (WebKit::WebPlatformTouchPoint::decode):
3341 2016-09-30 Megan Gardner <megan_gardner@apple.com>
3343 Make it possible to test web-related user-interface features
3344 https://bugs.webkit.org/show_bug.cgi?id=162657
3346 Reviewed by Simon Fraser.
3348 Added the ability to pull the strings from an Action Sheet and pass them to
3349 test scripts to make sure we are giving the correct available actions for
3350 the item we are interacting with.
3351 Added a test for long press on an image, and used the sheet scraping functionality
3352 to make sure that the correct actions were being displayed.
3353 Test for previous patch, Changeset 205915; Bug 161761
3355 * UIProcess/API/Cocoa/WKWebView.mm:
3356 (-[WKWebView _contentsOfUserInterfaceItem:]):
3357 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3358 * UIProcess/ios/WKActionSheetAssistant.h:
3359 * UIProcess/ios/WKActionSheetAssistant.mm:
3360 (-[WKActionSheetAssistant currentAvailableActionStrings]):
3361 * UIProcess/ios/WKContentViewInteraction.h:
3362 * UIProcess/ios/WKContentViewInteraction.mm:
3363 (-[WKContentView _contentsOfUserInterfaceItem:]):
3365 2016-09-27 Anders Carlsson <andersca@apple.com>
3367 Remove a couple of unused members from PlatformKeyboardEvent
3368 https://bugs.webkit.org/show_bug.cgi?id=162641
3370 Reviewed by Tim Horton.
3372 * Shared/WebEventConversion.cpp:
3373 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
3375 2016-09-29 Nan Wang <n_wang@apple.com>
3377 AX: iOS: Tapping <input> in Safari zooms in a bit when page has max scale = 1
3378 https://bugs.webkit.org/show_bug.cgi?id=162471
3380 Reviewed by Simon Fraser.
3382 * Shared/AssistedNodeInformation.cpp:
3383 (WebKit::AssistedNodeInformation::encode):
3384 (WebKit::AssistedNodeInformation::decode):
3385 * Shared/AssistedNodeInformation.h:
3386 * UIProcess/ios/WKContentViewInteraction.mm:
3387 (-[WKContentView _displayFormNodeInputView]):
3388 * WebProcess/WebPage/WebPage.h:
3389 * WebProcess/WebPage/ios/WebPageIOS.mm:
3390 (WebKit::WebPage::maximumPageScaleFactorIgnoringAlwaysScalable):
3391 (WebKit::WebPage::getAssistedNodeInformation):
3393 2016-09-29 Daniel Bates <dabates@apple.com>
3395 Mark NetworkLoad as final
3396 https://bugs.webkit.org/show_bug.cgi?id=162681
3398 Reviewed by Alex Christensen.
3400 Mark class NetworkLoad as final as we do not have any derived classes at the moment and it
3401 is unclear if it would make sense to subclass it. We can always unmark the class if it turns
3402 out that it makes sense to subclass it.
3404 * NetworkProcess/NetworkLoad.h:
3406 2016-09-29 Sam Weinig <sam@webkit.org>
3408 Allow overriding some NSURLSessionConfiguration properties on a per-NetworkProcess basis
3409 <rdar://problem/27648683>
3410 https://bugs.webkit.org/show_bug.cgi?id=162735
3412 Reviewed by Dan Bernstein.
3414 Add SPI for overriding the following NSURLSessionConfigurations properties:
3415 - _sourceApplicationBundleIdentifier
3416 - _sourceApplicationSecondaryIdentifier
3417 - _CTDataConnectionServiceType
3419 * NetworkProcess/NetworkProcess.cpp:
3420 (WebKit::NetworkProcess::initializeNetworkProcess):
3421 * NetworkProcess/NetworkProcessCreationParameters.cpp:
3422 (WebKit::NetworkProcessCreationParameters::encode):
3423 (WebKit::NetworkProcessCreationParameters::decode):
3424 * NetworkProcess/NetworkProcessCreationParameters.h:
3425 * NetworkProcess/NetworkSession.h:
3426 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3427 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
3428 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
3429 (WebKit::globalSourceApplicationBundleIdentifier):
3430 (WebKit::globalSourceApplicationSecondaryIdentifier):