1 2016-10-25 Commit Queue <commit-queue@webkit.org>
3 Unreviewed, rolling out r207827 and r207828.
4 https://bugs.webkit.org/show_bug.cgi?id=163965
6 Caused LayoutTest webaudio/web-audio-is-playing.html to time
7 out on macOS. (Requested by ryanhaddad on #webkit).
11 "[MediaStream] Add "has capture device" bit to media state
13 https://bugs.webkit.org/show_bug.cgi?id=163952
14 http://trac.webkit.org/changeset/207827
16 "[MediaStream] Add "has capture device" bit to media state
18 https://bugs.webkit.org/show_bug.cgi?id=163952
19 http://trac.webkit.org/changeset/207828
21 2016-10-25 Eric Carlson <eric.carlson@apple.com>
23 [MediaStream] Add "has capture device" bit to media state flags
24 https://bugs.webkit.org/show_bug.cgi?id=163952
26 Reviewed by Sam Weinig.
28 * UIProcess/API/C/WKPage.cpp:
29 (WKPageGetMediaState): Support MediaProducer::HasMediaCaptureDevice.
30 * UIProcess/API/C/WKPagePrivate.h: Define kWKMediaHasCaptureDevice.
32 2016-10-25 Chris Dumez <cdumez@apple.com>
34 Unreviewed, rolling out r207494.
36 iOS SDK has been updated on the bots now so rollout the
41 "Unreviewed, rolling out r207413."
42 https://bugs.webkit.org/show_bug.cgi?id=163547
43 http://trac.webkit.org/changeset/207494
45 2016-10-25 Jonathan Bedard <jbedard@apple.com>
49 * UIProcess/API/Cocoa/WKWebView.mm:
50 (-[WKWebView _fullscreenDelegate]): Removed unneeded parenthesis.
52 2016-10-19 Jer Noble <jer.noble@apple.com>
54 Add WKWebView fullscreen delegate SPI
55 https://bugs.webkit.org/show_bug.cgi?id=163674
57 Reviewed by Anders Carlsson.
59 Add a new SPI property to WKWebView allowing clients to be notified when fullscreen mode enters and exits.
61 * UIProcess/API/APIFullscreenClient.h: Added.
62 (API::FullscreenClient::~FullscreenClient):
63 (API::FullscreenClient::willEnterFullscreen):
64 (API::FullscreenClient::didEnterFullscreen):
65 (API::FullscreenClient::willExitFullscreen):
66 (API::FullscreenClient::didExitFullscreen):
67 * UIProcess/API/Cocoa/WKWebView.mm:
68 (-[WKWebView _initializeWithConfiguration:]):
69 (-[WKWebView _setFullscreenDelegate:]):
70 (-[WKWebView _fullscreenDelegate]):
71 (-[WKWebView _isInFullscreen]):
72 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
73 * UIProcess/API/Cocoa/_WKFullscreenDelegate.h: Added.
74 * UIProcess/Cocoa/FullscreenClient.h: Added.
75 (WebKit::FullscreenClient::~FullscreenClient):
76 * UIProcess/Cocoa/FullscreenClient.mm: Added.
77 (WebKit::FullscreenClient::FullscreenClient):
78 (WebKit::FullscreenClient::delegate):
79 (WebKit::FullscreenClient::setDelegate):
80 (WebKit::FullscreenClient::willEnterFullscreen):
81 (WebKit::FullscreenClient::didEnterFullscreen):
82 (WebKit::FullscreenClient::willExitFullscreen):
83 (WebKit::FullscreenClient::didExitFullscreen):
84 * UIProcess/WebFullScreenManagerProxy.cpp:
85 (WebKit::WebFullScreenManagerProxy::willEnterFullScreen):
86 (WebKit::WebFullScreenManagerProxy::didEnterFullScreen):
87 (WebKit::WebFullScreenManagerProxy::willExitFullScreen):
88 (WebKit::WebFullScreenManagerProxy::didExitFullScreen):
89 * UIProcess/WebPageProxy.cpp:
90 (WebKit::WebPageProxy::WebPageProxy):
91 (WebKit::WebPageProxy::setFullscreenClient):
92 (WebKit::WebPageProxy::fullScreenManager): Deleted.
93 * UIProcess/WebPageProxy.h:
94 (WebKit::WebPageProxy::fullscreenClient):
95 * WebKit2.xcodeproj/project.pbxproj:
97 2016-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
99 Unreviewed. Fix timeouts in 12 GTK+ unit tests after r207812.
101 * NetworkProcess/NetworkProcessCreationParameters.h: Initialize loadThrottleLatency.
103 2016-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
105 Unreviewed. Fix Soup based ports debug build after r207813.
107 * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
108 (WebKit::NetworkDataTaskSoup::authenticateCallback):
109 (WebKit::NetworkDataTaskSoup::requestStartedCallback):
111 2016-10-25 Andreas Kling <akling@apple.com>
113 More PassRefPtr purging in WebCore.
114 <https://webkit.org/b/163895>
116 Reviewed by Antti Koivisto.
118 * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
119 * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
120 (WebKit::PDFPlugin::createScrollbar):
122 2016-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
124 NetworkSession: switch to use subclasses for NetworkSession and NetworkDataTask implementations
125 https://bugs.webkit.org/show_bug.cgi?id=163777
127 Reviewed by Alex Christensen.
129 The subclass model allows us to choose the implementation at run time, so we could add other implementations
130 like a mock network class to measure performance, and even one for blobs and finally get rid of ResourceHandle
133 * CMakeLists.txt: Add new files to compilation.
134 * NetworkProcess/NetworkDataTask.cpp: Added.
135 (WebKit::NetworkDataTask::create): Create a NetworkDataTaskCocoa or NetworkDataTaskSoup.
136 (WebKit::NetworkDataTask::NetworkDataTask): Move common code from NetworkDataTaskCocoa and NetworkDataTaskSoup
137 here to handle the early failures.
138 (WebKit::NetworkDataTask::~NetworkDataTask):
139 (WebKit::NetworkDataTask::scheduleFailure):
140 (WebKit::NetworkDataTask::failureTimerFired):
141 * NetworkProcess/NetworkDataTask.h: Remove platform specific members.
142 (WebKit::NetworkDataTask::setPendingDownloadLocation): Make it virtual and set the m_pendingDownloadLocation.
143 (WebKit::NetworkDataTask::suggestedFilename): Make it virtual and const with a default implementation.
144 (WebKit::NetworkDataTask::setSuggestedFilename): Ditto.
145 (WebKit::NetworkDataTask::allowsSpecificHTTPSCertificateForHost): Ditto.
146 * NetworkProcess/NetworkLoad.cpp: Include NetworkDataTaskCocoa.h.
147 * NetworkProcess/NetworkLoad.h: Include NetworkDataTask.h instead of NetworkSession.h.
148 * NetworkProcess/NetworkProcess.cpp:
149 (WebKit::NetworkProcess::NetworkProcess): Use NetworkSessionCocoa.
150 * NetworkProcess/NetworkSession.cpp:
151 (WebKit::NetworkSession::create): Create a NetworkSessionCocoa or NetworkSessionSoup.
152 (WebKit::NetworkSession::defaultSession): In case of cocoa use NetworkSessionCocoa::defaultSession() because of
153 the custom protocol manager, otherwise simply create a default session.
154 (WebKit::NetworkSession::networkStorageSession): Move common code from NetworkSessionCocoa and
155 NetworkSessionSoup here.
156 (WebKit::NetworkSession::NetworkSession):
157 (WebKit::NetworkSession::~NetworkSession):
158 * NetworkProcess/NetworkSession.h: Remove platform specific members.
159 (WebKit::NetworkSession::invalidateAndCancel): Make it virtual.
160 (WebKit::NetworkSession::clearCredentials): Ditto.
161 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: Include NetworkSession.h.
162 * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: Added.
163 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
164 (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
165 (WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
166 (WebKit::NetworkDataTaskCocoa::didSendData):
167 (WebKit::NetworkDataTaskCocoa::didReceiveChallenge):
168 (WebKit::NetworkDataTaskCocoa::didCompleteWithError):
169 (WebKit::NetworkDataTaskCocoa::didReceiveResponse):
170 (WebKit::NetworkDataTaskCocoa::didReceiveData):
171 (WebKit::NetworkDataTaskCocoa::didBecomeDownload):
172 (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
173 (WebKit::NetworkDataTaskCocoa::setPendingDownloadLocation):
174 (WebKit::NetworkDataTaskCocoa::tryPasswordBasedAuthentication):
175 (WebKit::NetworkDataTaskCocoa::transferSandboxExtensionToDownload):
176 (WebKit::NetworkDataTaskCocoa::allowsSpecificHTTPSCertificateForHost):
177 (WebKit::NetworkDataTaskCocoa::suggestedFilename):
178 (WebKit::NetworkDataTaskCocoa::cancel):
179 (WebKit::NetworkDataTaskCocoa::resume):
180 (WebKit::NetworkDataTaskCocoa::suspend):
181 (WebKit::NetworkDataTaskCocoa::state):
182 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
183 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
184 * NetworkProcess/cocoa/NetworkSessionCocoa.h: Added.
185 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
186 (-[WKNetworkSessionDelegate initWithNetworkSession:withCredentials:]):
187 (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
188 (WebKit::configurationForSessionID):
189 (WebKit::NetworkSessionCocoa::setCustomProtocolManager):
190 (WebKit::NetworkSessionCocoa::setSourceApplicationAuditTokenData):
191 (WebKit::NetworkSessionCocoa::setSourceApplicationBundleIdentifier):
192 (WebKit::NetworkSessionCocoa::setSourceApplicationSecondaryIdentifier):
193 (WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType):
194 (WebKit::NetworkSessionCocoa::create):
195 (WebKit::NetworkSessionCocoa::defaultSession):
196 (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
197 (WebKit::NetworkSessionCocoa::~NetworkSessionCocoa):
198 (WebKit::NetworkSessionCocoa::invalidateAndCancel):
199 (WebKit::NetworkSessionCocoa::clearCredentials):
200 (WebKit::NetworkSessionCocoa::dataTaskForIdentifier):
201 (WebKit::NetworkSessionCocoa::addDownloadID):
202 (WebKit::NetworkSessionCocoa::downloadID):
203 (WebKit::NetworkSessionCocoa::takeDownloadID):
204 * NetworkProcess/mac/RemoteNetworkingContext.mm:
205 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
206 * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
207 (WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
208 (WebKit::NetworkDataTaskSoup::~NetworkDataTaskSoup):
209 (WebKit::NetworkDataTaskSoup::suggestedFilename):
210 (WebKit::NetworkDataTaskSoup::setPendingDownloadLocation):
211 (WebKit::NetworkDataTaskSoup::createRequest):
212 (WebKit::NetworkDataTaskSoup::clearRequest):
213 (WebKit::NetworkDataTaskSoup::resume):
214 (WebKit::NetworkDataTaskSoup::suspend):
215 (WebKit::NetworkDataTaskSoup::cancel):
216 (WebKit::NetworkDataTaskSoup::invalidateAndCancel):
217 (WebKit::NetworkDataTaskSoup::state):
218 (WebKit::NetworkDataTaskSoup::timeoutFired):
219 (WebKit::NetworkDataTaskSoup::startTimeout):
220 (WebKit::NetworkDataTaskSoup::stopTimeout):
221 (WebKit::NetworkDataTaskSoup::sendRequestCallback):
222 (WebKit::NetworkDataTaskSoup::didSendRequest):
223 (WebKit::NetworkDataTaskSoup::didReceiveResponse):
224 (WebKit::NetworkDataTaskSoup::tlsErrorsChangedCallback):
225 (WebKit::NetworkDataTaskSoup::tlsErrorsChanged):
226 (WebKit::NetworkDataTaskSoup::applyAuthenticationToRequest):
227 (WebKit::NetworkDataTaskSoup::authenticateCallback):
228 (WebKit::NetworkDataTaskSoup::authenticate):
229 (WebKit::NetworkDataTaskSoup::continueAuthenticate):
230 (WebKit::NetworkDataTaskSoup::skipInputStreamForRedirectionCallback):
231 (WebKit::NetworkDataTaskSoup::skipInputStreamForRedirection):
232 (WebKit::NetworkDataTaskSoup::didFinishSkipInputStreamForRedirection):
233 (WebKit::NetworkDataTaskSoup::shouldStartHTTPRedirection):
234 (WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
235 (WebKit::NetworkDataTaskSoup::readCallback):
236 (WebKit::NetworkDataTaskSoup::read):
237 (WebKit::NetworkDataTaskSoup::didRead):
238 (WebKit::NetworkDataTaskSoup::didFinishRead):
239 (WebKit::NetworkDataTaskSoup::requestNextPartCallback):
240 (WebKit::NetworkDataTaskSoup::requestNextPart):
241 (WebKit::NetworkDataTaskSoup::didRequestNextPart):
242 (WebKit::NetworkDataTaskSoup::didFinishRequestNextPart):
243 (WebKit::NetworkDataTaskSoup::gotHeadersCallback):
244 (WebKit::NetworkDataTaskSoup::didGetHeaders):
245 (WebKit::NetworkDataTaskSoup::wroteBodyDataCallback):
246 (WebKit::NetworkDataTaskSoup::didWriteBodyData):
247 (WebKit::NetworkDataTaskSoup::download):
248 (WebKit::NetworkDataTaskSoup::writeDownloadCallback):
249 (WebKit::NetworkDataTaskSoup::writeDownload):
250 (WebKit::NetworkDataTaskSoup::didWriteDownload):
251 (WebKit::NetworkDataTaskSoup::didFinishDownload):
252 (WebKit::NetworkDataTaskSoup::didFailDownload):
253 (WebKit::NetworkDataTaskSoup::cleanDownloadFiles):
254 (WebKit::NetworkDataTaskSoup::didFail):
255 (WebKit::NetworkDataTaskSoup::networkEventCallback):
256 (WebKit::NetworkDataTaskSoup::networkEvent):
257 (WebKit::NetworkDataTaskSoup::startingCallback):
258 (WebKit::NetworkDataTaskSoup::requestStartedCallback):
259 (WebKit::NetworkDataTaskSoup::didStartRequest):
260 (WebKit::NetworkDataTaskSoup::restartedCallback):
261 (WebKit::NetworkDataTaskSoup::didRestart):
262 * NetworkProcess/soup/NetworkDataTaskSoup.h: Added.
263 * NetworkProcess/soup/NetworkSessionSoup.cpp:
264 (WebKit::NetworkSessionSoup::NetworkSessionSoup):
265 (WebKit::NetworkSessionSoup::~NetworkSessionSoup):
266 (WebKit::NetworkSessionSoup::soupSession):
267 (WebKit::NetworkSessionSoup::invalidateAndCancel):
268 * NetworkProcess/soup/NetworkSessionSoup.h: Added.
269 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
270 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Update to new NetworkSession::create() API.
271 * PlatformEfl.cmake: Add new files to compilation.
272 * PlatformGTK.cmake: Ditto.
273 * WebKit2.xcodeproj/project.pbxproj: Ditto.
274 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
275 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Update to new NetworkSession::create() API.
276 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
277 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Ditto.
279 2016-10-25 Antti Koivisto <antti@apple.com>
281 Add support for introducing simulated latency in network process
282 https://bugs.webkit.org/show_bug.cgi?id=163902
284 Reviewed by Alex Christensen.
286 For testing purposes it is useful to have a mechanism for simulating high latency.
287 This patch adds a basic mechanism that introduces a delay to each response in network
288 process. In Safari it can be used with
290 defaults write com.apple.Safari WebKitNetworkLoadThrottleLatencyMilliseconds 200
292 Setting the delay to 0 disables the feature.
294 * NetworkProcess/NetworkLoad.cpp:
295 (WebKit::NetworkLoad::Throttle::Throttle):
296 (WebKit::NetworkLoad::didReceiveResponseNetworkSession):
297 (WebKit::NetworkLoad::notifyDidReceiveResponse):
298 (WebKit::NetworkLoad::didReceiveData):
299 (WebKit::NetworkLoad::didCompleteWithError):
300 (WebKit::NetworkLoad::throttleDelayCompleted):
301 * NetworkProcess/NetworkLoad.h:
302 * NetworkProcess/NetworkProcess.cpp:
303 (WebKit::NetworkProcess::initializeNetworkProcess):
304 * NetworkProcess/NetworkProcess.h:
305 (WebKit::NetworkProcess::loadThrottleLatency):
306 * NetworkProcess/NetworkProcessCreationParameters.cpp:
307 (WebKit::NetworkProcessCreationParameters::encode):
308 (WebKit::NetworkProcessCreationParameters::decode):
309 * NetworkProcess/NetworkProcessCreationParameters.h:
310 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
311 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
313 2016-10-24 Dan Bernstein <mitz@apple.com>
315 REGRESSION (r206410): Sandbox violations beneath WebProcessProxy::platformIsBeingDebugged
316 https://bugs.webkit.org/show_bug.cgi?id=163879
317 <rdar://problem/28728735>
319 Reviewed by Darin Adler.
321 * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
322 (WebKit::WebProcessProxy::platformIsBeingDebugged): Check if the current process, which is
323 the UI process, is sandboxed before trying to find out if the Web process is being
326 2016-10-21 Alex Christensen <achristensen@webkit.org>
328 URL::port should return Optional<uint16_t>
329 https://bugs.webkit.org/show_bug.cgi?id=163806
331 Reviewed by Darin Adler.
333 * NetworkProcess/mac/NetworkProcessMac.mm:
334 (WebKit::overrideSystemProxies):
335 * Shared/API/APISecurityOrigin.h:
336 (API::SecurityOrigin::create):
337 * Shared/API/APIURL.h:
338 (API::URL::protocol):
339 * Shared/API/c/WKSecurityOriginRef.cpp:
340 (WKSecurityOriginGetPort):
341 * UIProcess/API/Cocoa/WKSecurityOrigin.mm:
342 (-[WKSecurityOrigin port]):
343 * WebProcess/WebPage/WebPage.cpp:
344 (WebKit::WebPage::canHandleRequest):
345 * WebProcess/cocoa/WebProcessCocoa.mm:
348 2016-10-24 Eric Carlson <eric.carlson@apple.com>
350 [MediaStream] Separate media capture and audio playback muting
351 https://bugs.webkit.org/show_bug.cgi?id=163855
352 <rdar://problem/28827186>
354 Reviewed by Darin Adler.
356 * Shared/WebPageCreationParameters.h: Change 'muted' from bool to MutedStateFlags.
358 * UIProcess/API/C/WKPage.cpp: Change parameter from bool to WKMediaMutedState.
360 * UIProcess/API/C/WKPagePrivate.h: Define WKMediaMutedState.
362 * UIProcess/WebPageProxy.cpp:
363 (WebKit::WebPageProxy::WebPageProxy):
364 (WebKit::WebPageProxy::setMuted): m_muted -> m_mutedState.
365 (WebKit::WebPageProxy::creationParameters): Ditto.
366 * UIProcess/WebPageProxy.h:
368 * WebProcess/Plugins/PluginView.cpp:
369 (WebKit::PluginView::isMuted): page.isMuted -> page.mutedState.
371 * WebProcess/WebPage/WebPage.messages.in: Change SetMuted parameter.
373 2016-10-24 Youenn Fablet <youenn@apple.com>
375 Activate WEB_RTC compilation flags for Mac bots
376 https://bugs.webkit.org/show_bug.cgi?id=163886
378 Reviewed by Eric Carlson.
380 * Configurations/FeatureDefines.xcconfig:
382 2016-10-24 Brady Eidson <beidson@apple.com>
384 IndexedDB 2.0: Support IDBIndex name assignment.
385 <rdar://problem/28806932> and https://bugs.webkit.org/show_bug.cgi?id=163805
387 Reviewed by Alex Christensen.
389 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
390 (WebKit::WebIDBConnectionToClient::didRenameIndex):
391 (WebKit::WebIDBConnectionToClient::renameIndex):
392 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
393 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
395 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
396 (WebKit::WebIDBConnectionToServer::renameIndex):
397 (WebKit::WebIDBConnectionToServer::didRenameIndex):
398 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
399 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
401 2016-10-23 Michael Catanzaro <mcatanzaro@igalia.com>
403 [GTK] Remove DO NOT MODIFY headers from files that are no longer autogenerated
404 https://bugs.webkit.org/show_bug.cgi?id=163867
406 Reviewed by Darin Adler.
408 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:
409 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.h:
410 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrPrivate.h:
411 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:
412 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.h:
413 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobPrivate.h:
414 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.cpp:
415 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.h:
416 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASectionPrivate.h:
417 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.h:
418 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.cpp:
419 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.h:
420 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleListPrivate.h:
421 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRulePrivate.h:
422 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.h:
423 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclarationPrivate.h:
424 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.h:
425 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheetPrivate.h:
426 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.h:
427 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValuePrivate.h:
428 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:
429 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.h:
430 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataPrivate.h:
431 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.cpp:
432 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.h:
433 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCommentPrivate.h:
434 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.h:
435 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementationPrivate.h:
436 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp:
437 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
438 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelectionPrivate.h:
439 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.cpp:
440 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
441 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenListPrivate.h:
442 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
443 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
444 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowPrivate.h:
445 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
446 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
447 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.cpp:
448 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
449 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentPrivate.h:
450 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
451 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentPrivate.h:
452 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
453 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.h:
454 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypePrivate.h:
455 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
456 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
457 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
458 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementPrivate.h:
459 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
460 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
461 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.h:
462 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventPrivate.h:
463 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:
464 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.h:
465 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.cpp:
466 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.h:
467 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileListPrivate.h:
468 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFilePrivate.h:
469 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:
470 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
471 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementPrivate.h:
472 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp:
473 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.h:
474 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElementPrivate.h:
475 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:
476 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
477 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementPrivate.h:
478 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.cpp:
479 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.h:
480 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElementPrivate.h:
481 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp:
482 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.h:
483 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElementPrivate.h:
484 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.cpp:
485 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.h:
486 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElementPrivate.h:
487 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:
488 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.h:
489 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementPrivate.h:
490 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp:
491 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.h:
492 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElementPrivate.h:
493 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.cpp:
494 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.h:
495 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollectionPrivate.h:
496 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp:
497 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.h:
498 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElementPrivate.h:
499 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp:
500 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.h:
501 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElementPrivate.h:
502 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.cpp:
503 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.h:
504 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElementPrivate.h:
505 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.cpp:
506 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.h:
507 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocumentPrivate.h:
508 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp:
509 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
510 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementPrivate.h:
511 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
512 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp:
513 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.h:
514 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElementPrivate.h:
515 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:
516 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.h:
517 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementPrivate.h:
518 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.cpp:
519 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.h:
520 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElementPrivate.h:
521 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:
522 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.h:
523 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementPrivate.h:
524 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.cpp:
525 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.h:
526 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElementPrivate.h:
527 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.cpp:
528 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.h:
529 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElementPrivate.h:
530 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.cpp:
531 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.h:
532 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElementPrivate.h:
533 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.cpp:
534 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.h:
535 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElementPrivate.h:
536 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.cpp:
537 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.h:
538 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElementPrivate.h:
539 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:
540 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.h:
541 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementPrivate.h:
542 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:
543 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.h:
544 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementPrivate.h:
545 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:
546 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.h:
547 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementPrivate.h:
548 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
549 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
550 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementPrivate.h:
551 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp:
552 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.h:
553 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElementPrivate.h:
554 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:
555 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.h:
556 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementPrivate.h:
557 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.cpp:
558 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.h:
559 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElementPrivate.h:
560 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
561 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
562 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementPrivate.h:
563 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.cpp:
564 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.h:
565 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElementPrivate.h:
566 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:
567 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.h:
568 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementPrivate.h:
569 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp:
570 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.h:
571 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElementPrivate.h:
572 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.cpp:
573 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.h:
574 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElementPrivate.h:
575 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.cpp:
576 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.h:
577 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElementPrivate.h:
578 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
579 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.h:
580 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementPrivate.h:
581 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:
582 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.h:
583 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementPrivate.h:
584 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.cpp:
585 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.h:
586 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElementPrivate.h:
587 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp:
588 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.h:
589 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElementPrivate.h:
590 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:
591 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.h:
592 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionPrivate.h:
593 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.cpp:
594 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.h:
595 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElementPrivate.h:
596 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.cpp:
597 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.h:
598 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElementPrivate.h:
599 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp:
600 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.h:
601 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElementPrivate.h:
602 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
603 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.cpp:
604 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.h:
605 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElementPrivate.h:
606 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:
607 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
608 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementPrivate.h:
609 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
610 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.h:
611 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementPrivate.h:
612 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:
613 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.h:
614 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementPrivate.h:
615 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.cpp:
616 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.h:
617 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElementPrivate.h:
618 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp:
619 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.h:
620 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElementPrivate.h:
621 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.cpp:
622 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.h:
623 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElementPrivate.h:
624 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:
625 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.h:
626 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementPrivate.h:
627 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.cpp:
628 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.h:
629 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElementPrivate.h:
630 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.cpp:
631 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.h:
632 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElementPrivate.h:
633 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
634 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
635 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementPrivate.h:
636 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.cpp:
637 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.h:
638 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElementPrivate.h:
639 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.cpp:
640 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.h:
641 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElementPrivate.h:
642 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.cpp:
643 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.h:
644 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEventPrivate.h:
645 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.h:
646 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaListPrivate.h:
647 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:
648 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.h:
649 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventPrivate.h:
650 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.cpp:
651 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.h:
652 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMapPrivate.h:
653 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.h:
654 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp:
655 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.h:
656 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIteratorPrivate.h:
657 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.cpp:
658 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.h:
659 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeListPrivate.h:
660 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodePrivate.h:
661 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.cpp:
662 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.h:
663 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstructionPrivate.h:
664 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.cpp:
665 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
666 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangePrivate.h:
667 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
668 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.cpp:
669 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.h:
670 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.cpp:
671 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.h:
672 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetListPrivate.h:
673 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetPrivate.h:
674 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.cpp:
675 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.h:
676 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextPrivate.h:
677 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp:
678 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.h:
679 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalkerPrivate.h:
680 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:
681 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.h:
682 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventPrivate.h:
683 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:
684 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.h:
685 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventPrivate.h:
686 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
687 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.h:
688 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpressionPrivate.h:
689 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathNSResolverPrivate.h:
690 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
691 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.h:
692 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResultPrivate.h:
693 * WebProcess/InjectedBundle/API/gtk/DOM/webkitdom.h:
694 * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups.h:
695 * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:
697 2016-10-23 Chris Dumez <cdumez@apple.com>
699 Another unreviewed attempt to fix the WatchOS / TvOS build after r207585.
700 <rdar://problem/28902292>
702 Disable USE_CFURLCONNECTION on newer WatchOS / TvOS.
706 2016-10-23 Chris Dumez <cdumez@apple.com>
708 Unreviewed attempt to fix WatchOS / TvOS build after r207585.
709 <rdar://problem/28902292>
711 Enable NETWORK_SESSION on those platforms.
715 2016-10-22 Dan Bernstein <mitz@apple.com>
717 [iOS] _webViewWillEndNavigationGesture:withNavigationToBackForwardListItem: is never called
718 https://bugs.webkit.org/show_bug.cgi?id=163758
720 Reviewed by Darin Adler.
722 * UIProcess/ios/ViewGestureControllerIOS.mm:
723 (WebKit::ViewGestureController::beginSwipeGesture): Don’t reset the interactive update
726 2016-10-21 David Kilzer <ddkilzer@apple.com>
728 Bug 163762: IntSize::area() should used checked arithmetic
729 <https://webkit.org/b/163762>
731 Reviewed by Darin Adler.
733 * Shared/ShareableBitmap.cpp:
734 (WebKit::ShareableBitmap::create): Add overflow check and return
736 (WebKit::ShareableBitmap::createShareable): Ditto.
737 (WebKit::ShareableBitmap::create): Change debug assert for
738 adequate buffer size check into release check.
739 * Shared/ShareableBitmap.h:
740 (WebKit::ShareableBitmap::numBytesForSize): Change to return a
741 Checked<unsigned, RecordOverflow> value.
742 (WebKit::ShareableBitmap::sizeInBytes):
743 * Shared/cairo/ShareableBitmapCairo.cpp:
744 (WebKit::ShareableBitmap::numBytesForSize): Ditto.
745 * UIProcess/API/Cocoa/WKWebView.mm:
746 (-[WKWebView _takeViewSnapshot]): Call unsafeGet().
748 2016-10-21 Eric Carlson <eric.carlson@apple.com>
750 [MediaStream] Dynamically generate media capture sandbox extensions
751 https://bugs.webkit.org/show_bug.cgi?id=154861
752 <rdar://problem/24909411>
754 Reviewed by Tim Horton.
756 * Shared/SandboxExtension.h:
757 (WebKit::SandboxExtension::createHandleForGenericExtension):
758 * Shared/mac/SandboxExtensionMac.mm:
759 (WebKit::wkSandboxExtensionType): Add case for generic handle.
760 (WebKit::SandboxExtension::createHandleForGenericExtension): New.
762 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
763 (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Clear the list of extensions granted.
764 (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Extend the web
765 process sandbox as necessary.
766 * UIProcess/UserMediaPermissionRequestManagerProxy.h:
768 * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
769 (WebKit::UserMediaPermissionRequestManager::~UserMediaPermissionRequestManager): Revoke all
771 (WebKit::UserMediaPermissionRequestManager::grantUserMediaDevicesSandboxExtension): Consume
773 * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
775 * WebProcess/WebPage/WebPage.cpp:
776 (WebKit::WebPage::grantUserMediaDevicesSandboxExtension): Pass-through to user media manager.
777 * WebProcess/WebPage/WebPage.h:
779 * WebProcess/WebPage/WebPage.messages.in: Add GrantUserMediaDevicesSandboxExtension.
781 * WebProcess/com.apple.WebProcess.sb.in: Add rules, defines, and a macro to allow dynamic extensions
782 for media capture devices.
784 2016-10-21 Gavin Barraclough <barraclough@apple.com>
786 WebPageProxy should not need PageActivityState
787 https://bugs.webkit.org/show_bug.cgi?id=163821
789 Reviewed by Geoff Garen.
791 The PageActivityState is currently plumbed back from WebCore up to the UI process, to
792 determine whether to enabled process suppression. However the information it contains
793 (whether a page load is ongoing, whether audio is playing) is already available via
794 other means. Remove this use of PageActivityState.
796 * UIProcess/PageLoadState.cpp:
797 (WebKit::PageLoadState::commitChanges):
798 - PageLoadState notifies WebPageProxy when loading state changes.
799 * UIProcess/WebPageProxy.cpp:
800 (WebKit::WebPageProxy::updateThrottleState):
801 - Now relies on info from PageLoadState, setMuted, isPlayingMediaDidChange.
802 (WebKit::WebPageProxy::setMuted):
803 (WebKit::WebPageProxy::isPlayingMediaDidChange):
804 - If audio playback state changes we may need to update the throttle state.
805 (WebKit::WebPageProxy::setPageActivityState): Deleted.
806 - removed PageActivityState from WK2.
807 * UIProcess/WebPageProxy.h:
808 (WebKit::WebPageProxy::isLoadingChanged):
809 - PageLoadState notifies WebPageProxy when loading state changes.
810 * UIProcess/WebPageProxy.messages.in:
811 - removed PageActivityState from WK2.
812 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
813 (WebKit::WebChromeClient::setPageActivityState): Deleted.
814 - removed PageActivityState from WK2.
815 * WebProcess/WebCoreSupport/WebChromeClient.h:
816 - removed PageActivityState from WK2.
817 * WebProcess/WebPage/WebPage.cpp:
818 (WebKit::WebPage::setPageActivityState): Deleted.
819 - removed PageActivityState from WK2.
820 * WebProcess/WebPage/WebPage.h:
821 - removed PageActivityState from WK2.
823 2016-10-21 Gavin Barraclough <barraclough@apple.com>
825 WebPage should take UserActivity directly for user input
826 https://bugs.webkit.org/show_bug.cgi?id=163813
828 Reviewed by Anders Carlsson.
830 When we receive mouse/keyboard events in a page, we want to prevent AppNap. We currently do so
831 via the PageThrottler. This patch is to just make the WebPage drive the UserActivity directly.
833 Two reasons to do so: (1) to cleanup & simplify for further refactoring. (2) The current code
834 isn't really achieving the desired effect. The page setting the flag in the throttler to get
835 the activity to be set is now a less effective way of achieving this goal, since the
836 PageActivityState bounces back across to the UI process & then messages back to the WebContent
837 process to take the UserActivity. These extra hops defeat the purpose of making sure the boost
838 from the initial message isn't lost.
840 * WebProcess/WebPage/WebPage.cpp:
841 (WebKit::m_userActivityHysteresis):
842 - m_userActivityHysteresis triggers updateUserActivity.
843 (WebKit::WebPage::setPageSuppressed):
844 - setPageSuppressed starts/stops m_userActivityHysteresis.
845 (WebKit::WebPage::updateUserActivity):
846 - update UserActivity based on state of m_userActivityHysteresis.
847 (WebKit::WebPage::mouseEvent):
848 (WebKit::WebPage::wheelEvent):
849 (WebKit::WebPage::keyEvent):
850 - input events impulse m_userActivityHysteresis.
851 * WebProcess/WebPage/WebPage.h:
853 2016-10-21 Wenson Hsieh <wenson_hsieh@apple.com>
855 Support (insertFrom|deleteBy)Composition and (insert|delete)CompositionText inputTypes for InputEvents
856 https://bugs.webkit.org/show_bug.cgi?id=163460
857 <rdar://problem/28784142>
859 Reviewed by Darin Adler.
861 Handle new EditAction types for inserting/deleting pending/final compositions.
863 * UIProcess/WebEditCommandProxy.cpp:
864 (WebKit::WebEditCommandProxy::nameForEditAction):
866 2016-10-21 Jeremy Jones <jeremyj@apple.com>
868 Implement basic pointer lock behavior for WebKit and WebKit2.
869 https://bugs.webkit.org/show_bug.cgi?id=162745
871 Reviewed by Simon Fraser.
873 Enable basic pointer lock functionality by plumbing requests through WebPage IPC.
874 Pass through mouse movement deltas.
875 Unlock pointer when view is no longer visible.
877 * Shared/WebEventConversion.cpp:
878 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): Pass along mouse movement.
879 * UIProcess/WebPageProxy.cpp:
880 (WebKit::WebPageProxy::dispatchViewStateChange): Unlock pointer when page is not visible.
881 (WebKit::WebPageProxy::requestPointerLock): Hide and disassociate pointer.
882 (WebKit::WebPageProxy::requestPointerUnlock): Show and associate pointer.
883 * UIProcess/WebPageProxy.h:
884 * UIProcess/WebPageProxy.messages.in: Add methods.
885 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
886 (WebKit::WebChromeClient::requestPointerLock): Pass along to web page.
887 (WebKit::WebChromeClient::requestPointerUnlock): Ditto.
888 * WebProcess/WebCoreSupport/WebChromeClient.h:
889 * WebProcess/WebPage/WebPage.cpp:
890 (WebKit::WebPage::didAcquirePointerLock): Forward to PointerLockController.
891 (WebKit::WebPage::didNotAcquirePointerLock): Ditto.
892 (WebKit::WebPage::didLosePointerLock): Ditto.
893 * WebProcess/WebPage/WebPage.h:
894 * WebProcess/WebPage/WebPage.messages.in: Add methods.
896 2016-10-21 Wenson Hsieh <wenson_hsieh@apple.com>
898 Implement InputEvent.getTargetRanges() for the input events spec
899 https://bugs.webkit.org/show_bug.cgi?id=162947
900 <rdar://problem/28853079>
902 Reviewed by Darin Adler.
904 Boilerplate change to add a runtime guard for InputEvents-related IDL interfaces. See WebCore ChangeLog entry
907 * WebProcess/WebPage/WebPage.cpp:
908 (WebKit::WebPage::updatePreferences):
910 2016-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
912 [GTK] Configures but fails to link with ENABLE_OPENGL=OFF
913 https://bugs.webkit.org/show_bug.cgi?id=163449
915 Reviewed by Michael Catanzaro.
917 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
918 (webkitWebViewBaseRealize): Check TEXTURE_MAPPER_GL instead of TEXTURE_MAPPER and also ensure the current
920 (webkitWebViewBaseUnrealize): Ditto.
921 (webkitWebViewBaseDidRelaunchWebProcess): Check TEXTURE_MAPPER_GL instead of TEXTURE_MAPPER.
922 (webkitWebViewBasePageClosed): Ditto.
923 * UIProcess/AcceleratedDrawingAreaProxy.cpp:
924 (WebKit::AcceleratedDrawingAreaProxy::didUpdateBackingStoreState): Ditto.
925 (WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): Check EGL is enabled before
926 trying to use the WaylandCompositor.
927 * UIProcess/AcceleratedDrawingAreaProxy.h:
928 * UIProcess/WebProcessPool.cpp:
929 (WebKit::WebProcessPool::createNewWebProcess): Ditto.
930 * UIProcess/gtk/AcceleratedBackingStore.cpp:
931 (WebKit::AcceleratedBackingStore::create): Ditto.
932 * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
933 * UIProcess/gtk/WaylandCompositor.cpp:
934 * UIProcess/gtk/WaylandCompositor.h:
935 * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
936 (WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode): Check TEXTURE_MAPPER_GL instead of TEXTURE_MAPPER.
937 * WebProcess/WebPage/AcceleratedDrawingArea.h:
938 * WebProcess/WebPage/DrawingArea.h:
939 * WebProcess/WebPage/DrawingArea.messages.in:
940 * WebProcess/WebPage/LayerTreeHost.h:
942 2016-10-20 Chris Dumez <cdumez@apple.com>
944 "Download Linked File" context menu action should use 'download' attribute as suggested filename
945 https://bugs.webkit.org/show_bug.cgi?id=163742
946 <rdar://problem/28840734>
948 Reviewed by Darin Adler.
950 Update "Download Linked File" context menu action to use the anchor
951 element's 'download' attribute as suggested filename for the download.
953 * NetworkProcess/NetworkProcess.cpp:
954 (WebKit::NetworkProcess::downloadRequest):
955 * NetworkProcess/NetworkProcess.h:
956 * NetworkProcess/NetworkProcess.messages.in:
957 * Shared/WebHitTestResultData.cpp:
958 (WebKit::WebHitTestResultData::WebHitTestResultData):
959 (WebKit::WebHitTestResultData::encode):
960 (WebKit::WebHitTestResultData::decode):
961 * Shared/WebHitTestResultData.h:
962 * UIProcess/WebPageProxy.cpp:
963 (WebKit::WebPageProxy::contextMenuItemSelected):
964 * UIProcess/WebProcessPool.cpp:
965 (WebKit::WebProcessPool::download):
966 * UIProcess/WebProcessPool.h:
967 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
968 (WebKit::InjectedBundleHitTestResult::linkSuggestedFilename):
970 2016-10-19 Myles C. Maxfield <mmaxfield@apple.com>
972 [macOS] [iOS] Disable variation fonts on macOS El Capitan and iOS 9
973 https://bugs.webkit.org/show_bug.cgi?id=163374
975 Reviewed by Darin Adler.
977 * Configurations/FeatureDefines.xcconfig:
979 2016-10-20 Brady Eidson <beidson@apple.com>
981 IndexedDB 2.0: Support IDBObjectStore name assignment.
982 <rdar://problem/28806931> and https://bugs.webkit.org/show_bug.cgi?id=163749
984 Reviewed by Alex Christensen.
986 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
987 (WebKit::WebIDBConnectionToClient::didRenameObjectStore):
988 (WebKit::WebIDBConnectionToClient::renameObjectStore):
989 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
990 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
992 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
993 (WebKit::WebIDBConnectionToServer::renameObjectStore):
994 (WebKit::WebIDBConnectionToServer::didRenameObjectStore):
995 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
996 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
998 2016-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
1000 [GTK] Avoid strstr() when checking (E)GL extensions
1001 https://bugs.webkit.org/show_bug.cgi?id=161958
1003 Reviewed by Žan Doberšek.
1005 Use GLContext::isExtensionSupported() instead of strstr().
1007 * UIProcess/gtk/WaylandCompositor.cpp:
1008 (WebKit::WaylandCompositor::initializeEGL):
1010 2016-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
1012 Wrong use of EGL_DEPTH_SIZE
1013 https://bugs.webkit.org/show_bug.cgi?id=155536
1015 Reviewed by Michael Catanzaro.
1017 Use XErrorTrapper class instead of the custom XErrorHandler.
1019 * PluginProcess/unix/PluginProcessMainUnix.cpp:
1020 (WebKit::PluginProcessMainUnix):
1022 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1024 [SOUP] Add NetworkSession implementation and switch to use it
1025 https://bugs.webkit.org/show_bug.cgi?id=163597
1027 Reviewed by Alex Christensen.
1029 Basically move the ResourceHandle implementation to the network process, but modernized, cleaned up, and adapted
1030 to the NetworkSession model.
1032 * CMakeLists.txt: Add new files to compilation.
1033 * NetworkProcess/Downloads/Download.cpp:
1034 (WebKit::Download::Download): Use the same code for all ports using NetworkSession and add missing
1035 initialization of m_sessionID.
1036 * NetworkProcess/Downloads/Download.h:
1037 (WebKit::Download::Download): Define PlatformDownloadTaskRef on every platform to make the constructor common to
1038 all ports using NetworkSession.
1039 * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
1040 (WebKit::Download::cancelNetworkLoad):
1041 (WebKit::Download::platformDidFinish):
1042 * NetworkProcess/NetworkDataTask.h:
1043 (WebKit::NetworkDataTask::pendingDownloadID): Make const.
1044 (WebKit::NetworkDataTask::pendingDownload): Ditto.
1045 (WebKit::NetworkDataTask::pendingDownloadLocation): Ditto.
1046 (WebKit::NetworkDataTask::isDownload): Helper to check if the task is a download.
1047 * NetworkProcess/NetworkLoad.cpp:
1048 (WebKit::NetworkLoad::didReceiveResponseNetworkSession): Use NetworkDataTask::isDownload().
1049 * NetworkProcess/NetworkProcess.cpp:
1050 (WebKit::NetworkProcess::NetworkProcess): NetworkSession::setCustomProtocolManager() is Cocoa only.
1051 * NetworkProcess/NetworkSession.h:
1052 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1053 (WebKit::NetworkSession::networkStorageSession): Make const.
1054 * NetworkProcess/soup/NetworkDataTaskSoup.cpp: Added.
1055 (WebKit::NetworkDataTask::NetworkDataTask):
1056 (WebKit::NetworkDataTask::~NetworkDataTask):
1057 (WebKit::NetworkDataTask::scheduleFailure):
1058 (WebKit::NetworkDataTask::failureTimerFired):
1059 (WebKit::NetworkDataTask::suggestedFilename):
1060 (WebKit::NetworkDataTask::setSuggestedFilename):
1061 (WebKit::NetworkDataTask::setPendingDownloadLocation):
1062 (WebKit::NetworkDataTask::allowsSpecificHTTPSCertificateForHost):
1063 (WebKit::NetworkDataTask::createRequest):
1064 (WebKit::NetworkDataTask::clearRequest):
1065 (WebKit::NetworkDataTask::resume):
1066 (WebKit::NetworkDataTask::suspend):
1067 (WebKit::NetworkDataTask::cancel):
1068 (WebKit::NetworkDataTask::invalidateAndCancel):
1069 (WebKit::NetworkDataTask::state):
1070 (WebKit::NetworkDataTask::timeoutFired):
1071 (WebKit::NetworkDataTask::startTimeout):
1072 (WebKit::NetworkDataTask::stopTimeout):
1073 (WebKit::NetworkDataTask::sendRequestCallback):
1074 (WebKit::NetworkDataTask::didSendRequest):
1075 (WebKit::NetworkDataTask::didReceiveResponse):
1076 (WebKit::NetworkDataTask::tlsErrorsChangedCallback):
1077 (WebKit::NetworkDataTask::tlsErrorsChanged):
1078 (WebKit::NetworkDataTask::applyAuthenticationToRequest):
1079 (WebKit::NetworkDataTask::authenticateCallback):
1080 (WebKit::isAuthenticationFailureStatusCode):
1081 (WebKit::NetworkDataTask::authenticate):
1082 (WebKit::NetworkDataTask::continueAuthenticate):
1083 (WebKit::NetworkDataTask::skipInputStreamForRedirectionCallback):
1084 (WebKit::NetworkDataTask::skipInputStreamForRedirection):
1085 (WebKit::NetworkDataTask::didFinishSkipInputStreamForRedirection):
1086 (WebKit::shouldRedirectAsGET):
1087 (WebKit::NetworkDataTask::shouldStartHTTPRedirection):
1088 (WebKit::NetworkDataTask::continueHTTPRedirection):
1089 (WebKit::NetworkDataTask::readCallback):
1090 (WebKit::NetworkDataTask::read):
1091 (WebKit::NetworkDataTask::didRead):
1092 (WebKit::NetworkDataTask::didFinishRead):
1093 (WebKit::NetworkDataTask::requestNextPartCallback):
1094 (WebKit::NetworkDataTask::requestNextPart):
1095 (WebKit::NetworkDataTask::didRequestNextPart):
1096 (WebKit::NetworkDataTask::didFinishRequestNextPart):
1097 (WebKit::NetworkDataTask::gotHeadersCallback):
1098 (WebKit::NetworkDataTask::didGetHeaders):
1099 (WebKit::NetworkDataTask::wroteBodyDataCallback):
1100 (WebKit::NetworkDataTask::didWriteBodyData):
1101 (WebKit::NetworkDataTask::download):
1102 (WebKit::NetworkDataTask::writeDownloadCallback):
1103 (WebKit::NetworkDataTask::writeDownload):
1104 (WebKit::NetworkDataTask::didWriteDownload):
1105 (WebKit::NetworkDataTask::didFinishDownload):
1106 (WebKit::NetworkDataTask::didFailDownload):
1107 (WebKit::NetworkDataTask::cleanDownloadFiles):
1108 (WebKit::NetworkDataTask::didFail):
1109 (WebKit::NetworkDataTask::networkEventCallback):
1110 (WebKit::NetworkDataTask::networkEvent):
1111 (WebKit::NetworkDataTask::startingCallback):
1112 (WebKit::NetworkDataTask::requestStartedCallback):
1113 (WebKit::NetworkDataTask::didStartRequest):
1114 (WebKit::NetworkDataTask::restartedCallback):
1115 (WebKit::NetworkDataTask::didRestart):
1116 * NetworkProcess/soup/NetworkSessionSoup.cpp:
1117 (WebKit::NetworkSession::create):
1118 (WebKit::NetworkSession::defaultSession):
1119 (WebKit::NetworkSession::networkStorageSession):
1120 (WebKit::NetworkSession::NetworkSession):
1121 (WebKit::NetworkSession::~NetworkSession):
1122 (WebKit::NetworkSession::soupSession):
1123 (WebKit::NetworkSession::invalidateAndCancel):
1124 (WebKit::NetworkSession::clearCredentials):
1125 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1126 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Add implementation matching
1127 WebFrameNetworkingContext::ensurePrivateBrowsingSession().
1128 (WebKit::RemoteNetworkingContext::storageSession): Do not always return the default session if the given one is
1130 * PlatformEfl.cmake: Ad new files to compilation.
1131 * PlatformGTK.cmake: Ditto.
1132 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1133 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Also create a NetworkSession.
1134 * config.h: Enable NetworkSession unconditionally for Soup based ports.
1136 2016-10-19 Alex Christensen <achristensen@webkit.org>
1139 https://bugs.webkit.org/show_bug.cgi?id=163675
1141 Reviewed by Brent Fulgham.
1143 * NetworkProcess/Downloads/Download.h:
1144 * NetworkProcess/Downloads/mac/DownloadMac.mm:
1145 * NetworkProcess/NetworkLoad.h:
1146 * NetworkProcess/mac/NetworkLoadMac.mm:
1147 (WebKit::NetworkLoad::willCacheResponseAsync):
1148 * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
1149 (WebKit::AuthenticationManager::receivedCredential):
1150 (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
1151 (WebKit::AuthenticationManager::receivedCancellation):
1152 (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
1153 (WebKit::AuthenticationManager::receivedChallengeRejection):
1154 * Shared/WebProcessCreationParameters.cpp:
1155 (WebKit::WebProcessCreationParameters::encode):
1156 (WebKit::WebProcessCreationParameters::decode):
1157 * Shared/WebProcessCreationParameters.h:
1158 * Shared/mac/WebCoreArgumentCodersMac.mm:
1159 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
1160 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
1161 * WebKit2.xcodeproj/project.pbxproj:
1163 2016-10-19 Chris Dumez <cdumez@apple.com>
1165 [WK2] Expose suggested filename via WKBundleHitTestResult API
1166 https://bugs.webkit.org/show_bug.cgi?id=163693
1167 <rdar://problem/28840734>
1169 Reviewed by Anders Carlsson.
1171 Expose suggested filename via WKBundleHitTestResult API. The implementation
1172 currently relies on the 'download' attribute on anchor / area elements
1173 that we recently started supporting.
1175 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
1176 (WKBundleHitTestResultCopyLinkSuggestedFilename):
1177 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
1178 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1179 (WebKit::InjectedBundleHitTestResult::create):
1180 (WebKit::InjectedBundleHitTestResult::mediaType):
1181 (WebKit::InjectedBundleHitTestResult::linkSuggestedFilename):
1182 (WebKit::InjectedBundleHitTestResult::imageRect):
1183 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
1185 2016-10-19 Ryan Haddad <ryanhaddad@apple.com>
1187 Unreviewed, rolling out r207557.
1189 This change caused animations/font-variations tests to time
1190 out on pre-Sierra Macs.
1194 "[macOS] [iOS] Disable variation fonts on macOS El Capitan and
1196 https://bugs.webkit.org/show_bug.cgi?id=163374
1197 http://trac.webkit.org/changeset/207557
1199 2016-10-19 Andy Estes <aestes@apple.com>
1201 Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
1202 https://bugs.webkit.org/show_bug.cgi?id=163476
1203 <rdar://problem/26941395>
1205 Reviewed by Andreas Kling.
1207 When custom content providers are registered and a response has a null MIME type, WebPage
1208 will pass a null String to HashSet::contains(). This results in a null pointer dereference,
1209 since the String hash functions do not support null Strings and unconditionally dereference
1210 their StringImpls. Fixed by checking that Strings are non-null before calling
1211 HashSet::contains() on m_mimeTypesWithCustomContentProviders.
1213 New API test: WebKit2.LoadDataWithNilMIMEType.
1215 * WebProcess/WebPage/WebPage.cpp:
1216 (WebKit::WebPage::shouldUseCustomContentProviderForResponse): Checked if mimeType is null
1217 before calling m_mimeTypesWithCustomContentProviders.contains().
1218 (WebKit::WebPage::canShowMIMEType): Ditto.
1219 * WebProcess/WebPage/WebPage.h: Made private the declaration of canPluginHandleResponse().
1221 2016-10-19 Chris Dumez <cdumez@apple.com>
1223 Move HTML Interactive Form Validation behind an experimental flag
1224 https://bugs.webkit.org/show_bug.cgi?id=163673
1226 Reviewed by Daniel Bates.
1228 Move HTML Interactive Form Validation behind an experimental feature flag
1229 and disable by default until by have a better UI.
1231 * Shared/WebPreferencesDefinitions.h:
1232 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1233 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
1235 2016-10-19 Damian Kaleta <dkaleta@apple.com>
1237 https://bugs.webkit.org/show_bug.cgi?id=163292
1239 Reviewed by Brady Eidson.
1241 Added ability to display context menu asynchronously.
1243 * Shared/API/APIObject.h: Added ContextMenuListener.
1244 * Shared/API/c/WKBase.h: Added WKContextMenuListenerRef struct.
1245 * UIProcess/API/APIContextMenuClient.h:
1246 (API::ContextMenuClient::getContextMenuFromProposedMenuAsync): New method that allows showing context menu asynchronously.
1247 * UIProcess/API/C/WKAPICast.h: Added a new mapping for WebContextMenuListenerProxy.
1248 * UIProcess/API/C/WKContextMenuListener.cpp: Added. New class that allow a client to return results asynchronously.
1249 (WKContextMenuListenerGetTypeID):
1250 (WKContextMenuListenerUseContextMenuItems):
1251 * UIProcess/API/C/WKContextMenuListener.h: Added.
1252 * UIProcess/API/C/WKPage.cpp: Added WKPageContextMenuClientV4.
1253 (WKPageSetPageContextMenuClient):
1254 * UIProcess/API/C/WKPageContextMenuClient.h:
1255 * UIProcess/WebContextMenuListenerProxy.cpp: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
1256 (WebKit::WebContextMenuListenerProxy::WebContextMenuListenerProxy):
1257 (WebKit::WebContextMenuListenerProxy::~WebContextMenuListenerProxy):
1258 (WebKit::WebContextMenuListenerProxy::useContextMenuItems): Passes items to m_contextMenuMac.
1259 (WebKit::WebContextMenuListenerProxy::invalidate):
1260 * UIProcess/WebContextMenuListenerProxy.h: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
1261 (WebKit::WebContextMenuListenerProxy::create):
1262 * UIProcess/mac/WebContextMenuProxyMac.h:
1263 * UIProcess/mac/WebContextMenuProxyMac.mm:
1264 (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): Shows context menu.
1265 (WebKit::WebContextMenuProxyMac::showContextMenu): Extracted some logic to showContextMenuWithItems().
1266 * WebKit2.xcodeproj/project.pbxproj:
1268 2016-10-19 Myles C. Maxfield <mmaxfield@apple.com>
1270 [macOS] [iOS] Disable variation fonts on macOS El Capitan and iOS 9
1271 https://bugs.webkit.org/show_bug.cgi?id=163374
1273 Reviewed by Darin Adler.
1275 * Configurations/FeatureDefines.xcconfig:
1277 2016-10-19 Darin Adler <darin@apple.com>
1279 Move XPath from ExceptionCode to Exception
1280 https://bugs.webkit.org/show_bug.cgi?id=163656
1282 Reviewed by Chris Dumez.
1284 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
1285 (webkit_dom_document_create_expression): Use ExceptionOr.
1286 (webkit_dom_document_evaluate): Ditto.
1287 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
1288 (webkit_dom_xpath_expression_evaluate): Ditto.
1289 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
1290 (webkit_dom_xpath_result_iterate_next): Ditto.
1291 (webkit_dom_xpath_result_snapshot_item): Ditto.
1292 (webkit_dom_xpath_result_get_number_value): Ditto.
1293 (webkit_dom_xpath_result_get_string_value): Ditto.
1294 (webkit_dom_xpath_result_get_boolean_value): Ditto.
1295 (webkit_dom_xpath_result_get_single_node_value): Ditto.
1296 (webkit_dom_xpath_result_get_snapshot_length): Ditto.
1298 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1300 NetworkSession: updatedRequest parameter of NetworkProcess::findPendingDownloadLocation is unused since r206988
1301 https://bugs.webkit.org/show_bug.cgi?id=163588
1303 Reviewed by Alex Christensen.
1305 The parameter was used only for the DownloadProxy::DidStart message that is no longer sent from
1306 findPendingDownloadLocation since r206988.
1308 * NetworkProcess/NetworkDataTask.h:
1309 (WebKit::NetworkDataTask::currentRequest): Removed since it's unused now.
1310 * NetworkProcess/NetworkLoad.cpp:
1311 (WebKit::NetworkLoad::convertTaskToDownload): Update the m_currentRequest and pass it to DidStart message.
1312 (WebKit::NetworkLoad::didReceiveResponseNetworkSession):
1313 * NetworkProcess/NetworkProcess.cpp:
1314 (WebKit::NetworkProcess::findPendingDownloadLocation):
1315 * NetworkProcess/NetworkProcess.h:
1316 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Remove currentRequest() implementation.
1318 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1320 Unreviewed. Fix GTK+ build after r207522.
1322 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
1323 (webkit_dom_dom_window_webkit_message_handlers_post_message): Use new exceptions.
1325 2016-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
1327 Unreviewed. Fix GTK+ build after r207497.
1329 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
1330 (webkit_dom_html_select_element_add): Update implementation since add() now takes a Variant.
1332 2016-10-18 Simon Fraser <simon.fraser@apple.com>
1334 Add a MiniBrowser menu item to apply page scale in WK1 and WK2
1335 https://bugs.webkit.org/show_bug.cgi?id=163627
1337 Reviewed by Dean Jackson.
1339 New SPI to set and retrieve page scale.
1341 * UIProcess/API/Cocoa/WKWebView.mm:
1342 (-[WKWebView _setPageScale:withOrigin:]):
1343 (-[WKWebView _pageScale]):
1344 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1346 2016-10-18 Dean Jackson <dino@apple.com>
1348 Remove CSS_SHAPES feature definition. This should always be on.
1349 https://bugs.webkit.org/show_bug.cgi?id=163628
1350 <rdar://problem/28834613>
1352 Reviewed by Tim Horton.
1354 * Configurations/FeatureDefines.xcconfig:
1356 2016-10-18 Ryan Haddad <ryanhaddad@apple.com>
1358 Unreviewed, rolling out r207413.
1360 This change broke iOS builds.
1364 "[iOS] Hook up WebPlatformTouchPoint's radiusX / radiusY to
1365 _UIWebTouchPoint.majorRadiusInScreenCoordinates"
1366 https://bugs.webkit.org/show_bug.cgi?id=163547
1367 http://trac.webkit.org/changeset/207413
1369 2016-10-18 Commit Queue <commit-queue@webkit.org>
1371 Unreviewed, rolling out r207443.
1372 https://bugs.webkit.org/show_bug.cgi?id=163616
1374 "Caused 5% PLT regression" (Requested by krollin on #webkit).
1378 "Crash in ASCIICaseInsensitiveHash::hash() when a response has
1380 https://bugs.webkit.org/show_bug.cgi?id=163476
1381 http://trac.webkit.org/changeset/207443
1383 2016-10-18 Megan Gardner <megan_gardner@apple.com>
1385 Fix build for platforms where HAVE(LINK_PREVIEW) is false
1386 https://bugs.webkit.org/show_bug.cgi?id=163607
1388 Reviewed by Tim Horton.
1390 Added needed # for link preview
1392 * UIProcess/ios/WKContentViewInteraction.mm:
1393 (-[WKContentView _contentsOfUserInterfaceItem:]):
1395 2016-10-18 Joseph Pecoraro <pecoraro@apple.com>
1397 Remote Web Inspector: Timeline UI not updating while recording
1398 https://bugs.webkit.org/show_bug.cgi?id=163582
1399 <rdar://problem/28766837>
1401 Reviewed by Timothy Hatcher.
1403 * WebProcess/WebPage/RemoteWebInspectorUI.cpp:
1404 (WebKit::RemoteWebInspectorUI::frontendLoaded):
1405 Local inspector windows keep the web view alive and toggle the
1406 WebInspector.visible state depending on whether or not an inspector is
1407 open. Remote Inspector windows go away when closed, so they can always
1408 be marked as open. This matches earlier remote inspector behavior.
1410 2016-10-18 Eric Carlson <eric.carlson@apple.com>
1412 [MediaStream] Resolve constraints and enumerate devices in the UI process
1413 https://bugs.webkit.org/show_bug.cgi?id=162147
1414 <rdar://problem/28803569>
1416 Reviewed by Darin Adler.
1418 Restructure gUM constraint validation and MediaDevices.enumerateDevices so all media device
1419 access happens in the UI process.
1421 * Scripts/webkit/messages.py:
1422 (headers_for_type): Special case MediaConstraintsData.
1424 * Shared/WebCoreArgumentCoders.cpp:
1425 (IPC::encodeMediaTrackConstraintSetMap): MediaTrackConstraintSetMap encoder.
1426 (IPC::ArgumentCoder<MediaConstraintsData>::encode): MediaConstraintsData encoder.
1427 (IPC::decodeMediaTrackConstraintSetMap): MediaTrackConstraintSetMap decoder.
1428 (IPC::ArgumentCoder<MediaConstraintsData>::decode): MediaConstraintsData decoder.
1429 (IPC::ArgumentCoder<CaptureDevice>::encode): CaptureDevice enoder.
1430 (IPC::ArgumentCoder<CaptureDevice>::decode): CaptureDevice decoder.
1431 * Shared/WebCoreArgumentCoders.h:
1433 * UIProcess/API/APIUIClient.h: Remove UserMediaPermissionCheckProxy forward declaration.
1435 * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
1436 (toWK): Translate UserMediaPermissionRequestDenialReason to UserMediaAccessDenialReason.
1437 (WKUserMediaPermissionRequestDeny): Add "reason" parameter.
1438 * UIProcess/API/C/WKUserMediaPermissionRequest.h:
1440 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
1441 (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Invalidate pending device requests.
1442 (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Make private.
1443 (WebKit::toWebCore): Map from UserMediaAccessDenialReason to MediaAccessDenialReason, cast to
1444 uint64_t to pass to web process.
1445 (WebKit::UserMediaPermissionRequestManagerProxy::denyRequest): Send to web process.
1446 (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto.
1447 (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Validate
1448 constraints and make sure gUM is enabled before prompting user.
1449 (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): New.
1450 (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Send
1451 results of device enumeration to web process.
1452 (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Deleted.
1453 (WebKit::UserMediaPermissionRequestManagerProxy::createUserMediaPermissionCheck): Deleted.
1454 * UIProcess/UserMediaPermissionRequestManagerProxy.h:
1456 * UIProcess/UserMediaPermissionRequestProxy.cpp:
1457 (WebKit::UserMediaPermissionRequestProxy::allow):
1458 (WebKit::UserMediaPermissionRequestProxy::deny): Take "reason" parameter.
1459 * UIProcess/UserMediaPermissionRequestProxy.h:
1461 * UIProcess/WebPageProxy.cpp:
1462 (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
1463 (WebKit::WebPageProxy::enumerateMediaDevicesForFrame):
1464 (WebKit::WebPageProxy::checkUserMediaPermissionForFrame): Deleted.
1465 * UIProcess/WebPageProxy.h:
1466 * UIProcess/WebPageProxy.messages.in:
1468 * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
1469 (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): userMediaAccessDenied -> deny.
1470 Pass the audio and video constraints to the UI process.
1471 (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted):
1472 (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasDenied):
1473 (WebKit::UserMediaPermissionRequestManager::enumerateMediaDevices): Send the enumeration request
1475 (WebKit::UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration):
1476 (WebKit::UserMediaPermissionRequestManager::didCompleteMediaDeviceEnumeration):
1477 (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): Deleted.
1478 (WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): Deleted.
1479 (WebKit::UserMediaPermissionRequestManager::cancelUserMediaPermissionCheck): Deleted.
1480 (WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): Deleted.
1481 * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
1483 * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
1484 (WebKit::WebUserMediaClient::enumerateMediaDevices): New.
1485 (WebKit::WebUserMediaClient::cancelMediaDevicesEnumerationRequest): New.
1486 (WebKit::WebUserMediaClient::checkUserMediaPermission): Deleted.
1487 (WebKit::WebUserMediaClient::cancelUserMediaPermissionCheck): Deleted.
1488 * WebProcess/WebCoreSupport/WebUserMediaClient.h:
1490 * WebProcess/WebPage/WebPage.cpp:
1491 (WebKit::WebPage::userMediaAccessWasGranted): New.
1492 (WebKit::WebPage::userMediaAccessWasDenied): Ditto.
1493 (WebKit::WebPage::didCompleteMediaDeviceEnumeration):
1494 (WebKit::WebPage::didReceiveUserMediaPermissionDecision): Deleted.
1495 (WebKit::WebPage::didCompleteUserMediaPermissionCheck): Deleted.
1496 * WebProcess/WebPage/WebPage.h:
1497 * WebProcess/WebPage/WebPage.messages.in:
1499 2016-10-17 Antti Koivisto <antti@apple.com>
1501 Rename setNeedsStyleRecalc to invalidateStyle
1502 https://bugs.webkit.org/show_bug.cgi?id=163542
1504 Reviewed by Darin Adler.
1506 * WebProcess/Plugins/PluginView.cpp:
1507 (WebKit::PluginView::didInitializePlugin):
1508 (WebKit::PluginView::pluginProcessCrashed):
1510 2016-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
1512 NetworkSession: PendingDownload is leaked if canceled before willDecidePendingDownloadDestination
1513 https://bugs.webkit.org/show_bug.cgi?id=163545
1515 Reviewed by Alex Christensen.
1517 If a download started by DownloadManager::startDownload() is cancelled before
1518 DownloadManager::willDecidePendingDownloadDestination() is called, DownloadManager::cancelDownload() does
1519 nothing, because the Download hasn't been created yet and m_downloadsWaitingForDestination map doesn't contain
1520 the download ID, and the PendingDownload is never removed from the m_pendingDownloads map.
1522 * NetworkProcess/Downloads/DownloadManager.cpp:
1523 (WebKit::DownloadManager::cancelDownload): Always take the PendingDownload from m_pendingDownloads map. Then, if
1524 the download was already in m_downloadsWaitingForDestination map, get the network data task to properly cancel
1525 it and then call the completion handler to ignore the request. Otherwise cancel the pending download if exists.
1526 * NetworkProcess/Downloads/PendingDownload.cpp:
1527 (WebKit::PendingDownload::cancel): Cancel the network load and notify the UI process that the download was canceled.
1528 * NetworkProcess/Downloads/PendingDownload.h:
1530 2016-10-17 Megan Gardner <megan_gardner@apple.com>
1532 Add test and infrastructure for link popover
1533 https://bugs.webkit.org/show_bug.cgi?id=163406
1535 Reviewed by Simon Fraser.
1537 Add infrastructure to see when a link popover appears, and what URL it has loaded.
1539 * UIProcess/API/Cocoa/WKWebView.mm:
1540 (-[WKWebView didShowForcePressPreview]):
1541 (-[WKWebView didDismissForcePressPreview]):
1542 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1543 * UIProcess/ios/WKContentViewInteraction.mm:
1544 (-[WKContentView _contentsOfUserInterfaceItem:]):
1545 (-[WKContentView _presentedViewControllerForPreviewItemController:]):
1546 (-[WKContentView _previewItemController:didDismissPreview:committing:]):
1547 (-[WKContentView _previewItemControllerDidCancelPreview:]):
1549 2016-10-17 Tim Horton <timothy_horton@apple.com>
1551 REGRESSION (r169805): WKWebView canGoBack returning YES when nothing is in the back-forward list after restoring session state
1552 https://bugs.webkit.org/show_bug.cgi?id=163573
1553 <rdar://problem/28744549>
1555 Reviewed by Dan Bernstein.
1557 * UIProcess/WebPageProxy.cpp:
1558 (WebKit::WebPageProxy::restoreFromSessionState):
1559 Update PageLoadState's canGoBack/canGoForward bits when restoring from
1560 session state, because in the don't-navigate case, nothing else will make this happen,
1561 and it will remain stale.
1563 2016-10-17 Andy Estes <aestes@apple.com>
1565 Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
1566 https://bugs.webkit.org/show_bug.cgi?id=163476
1567 <rdar://problem/26941395>
1569 Reviewed by Tim Horton.
1571 When custom content providers are registered and a response has a null MIME type, WebPage
1572 will pass a null String to HashSet::contains(). This results in a null pointer dereference,
1573 since the String hash functions do not support null Strings and unconditionally dereference
1574 their StringImpls. Fixed by checking that Strings are non-null before calling
1575 HashSet::contains() on m_mimeTypesWithCustomContentProviders.
1577 Rearranging WebPage::shouldUseCustomContentProviderForResponse() to call
1578 canPluginHandleResponse() before checking m_mimeTypesWithCustomContentProviders uncovered a
1579 crash in existing layout tests where WebPage::m_mainFrame can be NULL during WebPage
1580 construction (m_mainFrame isn't yet initialized). Fixed this by passing the main Frame to
1581 canPluginHandleResponseInFrame() instead of relying on m_mainFrame.
1583 New API test: WebKit2.LoadDataWithNilMIMEType.
1585 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1586 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Passed
1587 m_frame->coreFrame() to shouldUseCustomContentProviderForResponse().
1588 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Ditto.
1589 * WebProcess/WebPage/WebPage.cpp:
1590 (WebKit::WebPage::canPluginHandleResponse): Added a mainFrame parameter and used it instead
1591 of m_mainFrame->coreFrame().
1592 (WebKit::WebPage::shouldUseCustomContentProviderForResponse): Passed mainFrame to
1593 canPluginHandleResponse(), and checked if mimeType is null before calling
1594 m_mimeTypesWithCustomContentProviders.contains().
1595 (WebKit::WebPage::canShowMIMEType): Checked if MIMEType is null before calling
1596 m_mimeTypesWithCustomContentProviders.contains().
1597 * WebProcess/WebPage/WebPage.h: Made canPluginHandleResponse() a private declaration.
1599 2016-10-17 Chris Dumez <cdumez@apple.com>
1601 [WK2][NetworkCache] PendingFrameLoad objects are sometimes leaked
1602 https://bugs.webkit.org/show_bug.cgi?id=163569
1603 <rdar://problem/28810836>
1605 Reviewed by Antti Koivisto.
1607 PendingFrameLoad objects are created to track frame loads and added to
1608 the m_pendingFrameLoads hash map. These objects are supposed to remove
1609 themselves from the hash map once they detect that the page load has
1610 finished by calling PendingFrameLoad::m_loadCompletionHandler().
1612 PendingFrameLoad::m_loadCompletionHandler() is called from
1613 markLoadAsCompleted() when we detect that the page load has finished
1614 via the m_loadHysteresisActivity HysteresisActivity. We call impulse()
1615 on the HysteresisActivity every time a subresource is loaded in the
1616 frame. The issue is that if no subresource is ever loaded, then we
1617 never call impulse() on the HysteresisActivity, which is therefore
1618 never started. If it nevers starts, then it nevers stops and never
1619 calls markLoadAsCompleted(). To address the problem, we now call
1620 impulse() on the HysteresisActivity as soon as we construct it.
1622 * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
1624 2016-10-17 Jeremy Jones <jeremyj@apple.com>
1626 Enable keyboard in fullscreen.
1627 https://bugs.webkit.org/show_bug.cgi?id=163146
1629 Reviewed by Jer Noble.
1631 Allow keyboard in fullscreen.
1633 * UIProcess/WebFullScreenManagerProxy.cpp:
1634 (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
1636 2016-10-17 Chris Dumez <cdumez@apple.com>
1638 Move form.reportValidity() behind InteractiveFormValidation setting
1639 https://bugs.webkit.org/show_bug.cgi?id=163550
1641 Reviewed by Darin Adler.
1643 Enable InteractiveFormValidation setting by default and link it to
1644 RuntimeEnabledFeatures so we can use it in the IDL.
1646 * UIProcess/API/C/WKPreferencesRefPrivate.h:
1647 * WebProcess/WebPage/WebPage.cpp:
1648 (WebKit::WebPage::updatePreferences):
1650 2016-10-17 Gavin Barraclough <barraclough@apple.com>
1652 UIProcess should determine throttle state for WebContent process
1653 https://bugs.webkit.org/show_bug.cgi?id=163556
1655 Reviewed by Anders Carlsson.
1657 This is a step towards merging page/process throttling code for mac & iOS.
1659 Previously WebPage determined whether to start a UserActivity based on page activity,
1660 visibility and the preference to disable. Now WebPage passes the activity state across
1661 to WebPageProxy, which makes the decision & explicitly instructs WebPage to start/stop
1664 * UIProcess/WebPageProxy.cpp:
1665 (WebKit::WebPageProxy::WebPageProxy):
1666 - updateActivityToken + updateProccessSuppressionState -> updateThrottleState
1667 (WebKit::WebPageProxy::reattachToWebProcess):
1668 - updateActivityToken -> updateThrottleState
1669 (WebKit::WebPageProxy::dispatchViewStateChange):
1670 - updateActivityToken -> updateThrottleState
1671 (WebKit::WebPageProxy::setPageActivityState):
1672 - Record activity state passed from WebPage, and update.
1673 (WebKit::WebPageProxy::preferencesDidChange):
1674 - updateProccessSuppressionState -> updateThrottleState
1675 (WebKit::WebPageProxy::updateActivityToken): Deleted.
1676 (WebKit::WebPageProxy::updateProccessSuppressionState): Deleted.
1677 (WebKit::WebPageProxy::updateThrottleState):
1678 - Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
1679 - Compute whether page should be suppressed, and send SetPageSuppressed message accordingly.
1680 * UIProcess/WebPageProxy.h:
1681 - Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
1682 - Added setPageActivityState/m_activityState to report/record page activity.
1683 - Added m_pageSuppressed to prevent redundant message sends.
1684 * UIProcess/WebPageProxy.messages.in:
1685 - Expose SetPageActivityState message (called by WebPage).
1686 * WebProcess/WebPage/WebPage.cpp:
1687 (WebKit::WebPage::WebPage):
1688 - removed m_processSuppressionEnabled
1689 - updateUserActivity -> setPageSuppressed - explicitly set the page to not be suppressed, until WebPageProxy tells us to do so.
1690 (WebKit::WebPage::setPageActivityState):
1691 - post activity state on to WebPageProxy.
1692 (WebKit::WebPage::setPageSuppressed):
1693 - Start/stop USerActivity accordingly.
1694 (WebKit::WebPage::setViewState):
1695 - No longer need to monitor ViewState changes on the WebProcess side.
1696 (WebKit::WebPage::updatePreferences):
1697 - No longer need to monitor preference changes on the WebProcess side.
1698 (WebKit::WebPage::updateUserActivity): Deleted.
1699 - Only updated on reciept of setPageSuppressed message.
1700 * WebProcess/WebPage/WebPage.h:
1701 - Removed m_activityState, m_processSuppressionEnabled, updateUserActivity.
1702 - Added setPageSuppressed message.
1703 * WebProcess/WebPage/WebPage.messages.in:
1704 - Added SetPageSuppressed message.
1706 2016-10-17 Michael Catanzaro <mcatanzaro@igalia.com>
1708 REGRESSION(r206189): logs error statements when API::URLRequest is canceled
1709 https://bugs.webkit.org/show_bug.cgi?id=163393
1711 Reviewed by Antti Koivisto.
1713 Print this case at normal logging level, not as an error.
1715 * WebProcess/Network/WebLoaderStrategy.cpp:
1716 (WebKit::WebLoaderStrategy::loadResource):
1718 2016-10-17 Chris Dumez <cdumez@apple.com>
1720 [iOS] Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
1721 https://bugs.webkit.org/show_bug.cgi?id=163547
1723 Reviewed by Darin Adler.
1725 Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
1726 now that it is available in UIKit.
1728 * Platform/spi/ios/UIKitSPI.h:
1729 * Shared/ios/NativeWebTouchEventIOS.mm:
1730 (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
1732 2016-10-17 Konstantin Tokarev <annulen@yandex.ru>
1734 Eleminate code duplication between ResourceRequest encoding/decoding implementations
1735 https://bugs.webkit.org/show_bug.cgi?id=163507
1737 Reviewed by Carlos Garcia Campos.
1739 ResourceRequestBase::encodeWithoutPlatformData() and Soup implementation of
1740 ArgumentCoder<ResourceRequest>::encodePlatformData() share most of the code,
1741 ditto for decoding implementations.
1743 * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1744 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
1745 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
1747 2016-10-17 Michael Catanzaro <mcatanzaro@igalia.com>
1749 Move user agent quirks to cross-platform location
1750 https://bugs.webkit.org/show_bug.cgi?id=163508
1752 Reviewed by Carlos Garcia Campos.
1754 #include <WebCore/UserAgent.h> instead of <WebCore/UserAgentGtk.h>.
1756 * UIProcess/API/gtk/WebKitSettings.cpp:
1757 * UIProcess/efl/WebPageProxyEfl.cpp:
1758 * UIProcess/gtk/WebPageProxyGtk.cpp:
1759 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1761 2016-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
1763 [SOUP] Downloads should always sniff contents
1764 https://bugs.webkit.org/show_bug.cgi?id=163538
1766 Reviewed by Michael Catanzaro.
1768 It's quite common that downloads have weird filenames with no extension, so it would be better if the loader
1769 sniff the contents to guess the mime type.
1771 * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
1772 (WebKit::Download::startNetworkLoad): Pass true for shouldContentSniff parameter of ResourceHandle::create().
1774 2016-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
1776 [GTK] Switch to use API::DownloadClient instead of the C API client
1777 https://bugs.webkit.org/show_bug.cgi?id=163537
1779 Reviewed by Michael Catanzaro.
1781 The code is simpler and we avoid all the toImpl/toAPI.
1783 * UIProcess/API/gtk/WebKitDownloadClient.cpp:
1784 (attachDownloadClientToContext):
1786 (didReceiveResponse):
1788 (decideDestinationWithSuggestedFilename):
1789 (didCreateDestination):
1794 2016-10-17 Manuel Rego Casasnovas <rego@igalia.com>
1796 [css-grid] Disable CSS Grid Layout runtime flag by default
1797 https://bugs.webkit.org/show_bug.cgi?id=163432
1799 Reviewed by Darin Adler.
1801 It was enabled in r201042, but now Safari Technology Preview
1802 has a UI to switch runtime flags so it doesn't need to be enabled
1805 * Shared/WebPreferencesDefinitions.h: Disable grid layout runtime flag
1808 2016-10-16 Darin Adler <darin@apple.com>
1810 Move CSS classes from ExceptionCode to Exception
1811 https://bugs.webkit.org/show_bug.cgi?id=163494
1813 Reviewed by Sam Weinig.
1815 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
1816 (webkit_dom_css_rule_set_css_text): Updated for ExceptionOr.
1817 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.cpp:
1818 (webkit_dom_css_style_declaration_remove_property): Ditto.
1819 (webkit_dom_css_style_declaration_set_property): Ditto.
1820 (webkit_dom_css_style_declaration_set_css_text): Ditto.
1821 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.cpp:
1822 (webkit_dom_css_style_sheet_insert_rule): Ditto.
1823 (webkit_dom_css_style_sheet_delete_rule): Ditto.
1824 (webkit_dom_css_style_sheet_add_rule): Ditto.
1825 (webkit_dom_css_style_sheet_remove_rule): Ditto.
1826 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.cpp:
1827 (webkit_dom_css_value_set_css_text): Ditto.
1828 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp:
1829 (webkit_dom_media_list_delete_medium): Ditto.
1830 (webkit_dom_media_list_append_medium): Ditto.
1831 (webkit_dom_media_list_set_media_text): Ditto.
1833 2016-10-16 Carlos Garcia Campos <cgarcia@igalia.com>
1835 [GTK] Default WebKitWebsiteDataManager is always leaked in WebKitWebContext
1836 https://bugs.webkit.org/show_bug.cgi?id=163443
1838 Reviewed by Michael Catanzaro.
1840 Adopt the reference returned by webkitWebsiteDataManagerCreate().
1842 * UIProcess/API/gtk/WebKitWebContext.cpp:
1843 (webkitWebContextConstructed):
1845 2016-10-16 Carlos Garcia Campos <cgarcia@igalia.com>
1847 [GTK] WebKitWebPage URI not updated after URI is modified by InjectedBundlePageResourceLoadClient::willSendRequestForFrame
1848 https://bugs.webkit.org/show_bug.cgi?id=163389
1850 Reviewed by Michael Catanzaro.
1852 Update the page URI also when the load is committed.
1854 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1855 (getDocumentLoaderURL):
1856 (didStartProvisionalLoadForFrame):
1857 (didReceiveServerRedirectForProvisionalLoadForFrame):
1858 (didCommitLoadForFrame):
1859 (webkitWebPageCreate):
1860 (getProvisionalURLForFrame): Deleted.
1862 2016-10-15 Simon Fraser <simon.fraser@apple.com>
1864 Sort the project file.
1866 * WebKit2.xcodeproj/project.pbxproj:
1868 2016-10-14 Anders Carlsson <andersca@apple.com>
1872 * UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
1873 (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
1875 2016-10-14 Anders Carlsson <andersca@apple.com>
1877 Pass on networking settings to the PKPaymentRequest
1878 https://bugs.webkit.org/show_bug.cgi?id=163462
1879 rdar://problem/28567629
1881 Reviewed by Dan Bernstein.
1883 * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h:
1884 * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
1885 (WebKit::toPKPaymentRequest):
1886 * UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
1887 (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
1889 2016-10-14 Anders Carlsson <andersca@apple.com>
1891 Clean up BackForwardClient
1892 https://bugs.webkit.org/show_bug.cgi?id=163454
1894 Reviewed by Sam Weinig.
1896 Remove empty iOS only stubs.
1898 * WebKit2.xcodeproj/project.pbxproj:
1899 * WebProcess/WebPage/WebBackForwardListProxy.h:
1900 * WebProcess/WebPage/ios/WebBackForwardListProxyIOS.mm: Removed.
1902 2016-10-14 Brady Eidson <beidson@apple.com>
1904 Enable Gamepads by default in WK2.
1905 https://bugs.webkit.org/show_bug.cgi?id=163447
1907 Rubberstamped by Sam Weinig.
1909 * Shared/WebPreferencesDefinitions.h:
1911 2016-10-14 Gavin Barraclough <barraclough@apple.com>
1913 Add API to restrict WebKit processes to background priority
1914 https://bugs.webkit.org/show_bug.cgi?id=163363
1916 Reviewed by Anders Carlson.
1918 Add API on _WKProcessPoolConfiguration to flag a process pool as 'alwaysRunsAtBackgroundPriority'.
1919 WebContent and Networking processes associated with that pool will only run a background priority,
1920 when they otherwise would have run at foreground priority.
1922 * UIProcess/API/APIProcessPoolConfiguration.h:
1923 - Add m_alwaysRunsAtBackgroundPriority flag to pool configuration object.
1924 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
1925 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
1926 (-[_WKProcessPoolConfiguration alwaysRunsAtBackgroundPriority]):
1927 (-[_WKProcessPoolConfiguration setAlwaysRunsAtBackgroundPriority:]):
1928 - Expose new configuration property through API.
1929 * UIProcess/Network/NetworkProcessProxy.cpp:
1930 (WebKit::NetworkProcessProxy::alwaysRunsAtBackgroundPriority):
1931 * UIProcess/Network/NetworkProcessProxy.h:
1932 - Support ProcessThrottlerClient interface to check if alwaysRunsAtBackgroundPriority is set.
1933 * UIProcess/ProcessThrottler.cpp:
1934 (WebKit::ProcessThrottler::assertionState):
1935 - When determining whether to take a foreground exception check alwaysRunsAtBackgroundPriority.
1936 * UIProcess/ProcessThrottlerClient.h:
1937 - Add interface to access alwaysRunsAtBackgroundPriority state of WebProcess of NetworkProcess.
1938 * UIProcess/WebProcessPool.cpp:
1939 (WebKit::WebProcessPool::WebProcessPool):
1940 * UIProcess/WebProcessPool.h:
1941 - Add m_alwaysRunsAtBackgroundPriority, set by configuration.
1942 * UIProcess/WebProcessProxy.cpp:
1943 (WebKit::WebProcessProxy::alwaysRunsAtBackgroundPriority):
1944 * UIProcess/WebProcessProxy.h:
1945 - Support ProcessThrottlerClient interface to check if alwaysRunsAtBackgroundPriority is set.
1947 2016-10-14 Youenn Fablet <youenn@apple.com>
1949 Make NetworkCache aware of fetch cache mode
1950 https://bugs.webkit.org/show_bug.cgi?id=163332
1952 Reviewed by Antti Koivisto.
1954 Adding explicit serialization of ResourceRequest cachePolicy since it does no longer map to platform request cache policy.
1957 - Bypassing entirely the network cache in case cache mode is NoStore.
1958 - requiring revalidation in case of cache hit and cache mode is NoCache.
1959 - Not using any entry if cache mode is Reload (but cache can still be updated)
1961 Also made sure that the ResourceRequest::cachePolicy remains the same throughout redirections.
1963 * NetworkProcess/NetworkResourceLoader.cpp:
1964 (WebKit::NetworkResourceLoader::canUseCache):
1965 (WebKit::NetworkResourceLoader::retrieveCacheEntry):
1966 (WebKit::NetworkResourceLoader::continueWillSendRequest):
1967 * NetworkProcess/cache/NetworkCache.cpp:
1968 (WebKit::NetworkCache::cachePolicyAllowsExpired):
1969 (WebKit::NetworkCache::makeRetrieveDecision):
1970 * Shared/mac/WebCoreArgumentCodersMac.mm:
1971 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
1972 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
1974 2016-10-13 Tim Horton <timothy_horton@apple.com>
1976 Rename the SPI added in r207292 due to post-landing review comments
1977 https://bugs.webkit.org/show_bug.cgi?id=163364
1978 <rdar://problem/28012494>
1980 Reviewed by Simon Fraser.
1982 * UIProcess/API/APIPageConfiguration.h:
1983 (API::PageConfiguration::waitsForPaintAfterViewDidMoveToWindow):
1984 (API::PageConfiguration::setWaitsForPaintAfterViewDidMoveToWindow):
1985 (API::PageConfiguration::shouldWaitForPaintAfterViewDidMoveToWindow): Deleted.
1986 (API::PageConfiguration::setShouldWaitForPaintAfterViewDidMoveToWindow): Deleted.
1987 * UIProcess/API/Cocoa/WKWebView.mm:
1988 (-[WKWebView _initializeWithConfiguration:]):
1989 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1990 (-[WKWebViewConfiguration init]):
1991 (-[WKWebViewConfiguration copyWithZone:]):
1992 (-[WKWebViewConfiguration _waitsForPaintAfterViewDidMoveToWindow]):
1993 (-[WKWebViewConfiguration _setWaitsForPaintAfterViewDidMoveToWindow:]):
1994 (-[WKWebViewConfiguration _shouldWaitForPaintAfterViewDidMoveToWindow]): Deleted.
1995 (-[WKWebViewConfiguration _setShouldWaitForPaintAfterViewDidMoveToWindow:]): Deleted.
1996 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1997 * UIProcess/WebPageProxy.cpp:
1998 (WebKit::WebPageProxy::WebPageProxy):
1999 (WebKit::WebPageProxy::dispatchViewStateChange):
2000 * UIProcess/WebPageProxy.h:
2002 2016-10-13 Jonathan Bedard <jbedard@apple.com>
2004 GTK and EFL on Mac fail to compile WebTextChecker due to missing definition of WKTextCheckerClientBase
2005 https://bugs.webkit.org/show_bug.cgi?id=163346
2007 Reviewed by Daniel Bates.
2009 * UIProcess/API/C/WKTextChecker.cpp: Fixed #ifdefs for GTK and EFL builds on Darwin machines.
2010 * UIProcess/API/C/WKTextChecker.h: Ditto.
2012 2016-10-13 Tim Horton <timothy_horton@apple.com>
2014 Expose SPI to disable synchronously blocking on painting after parenting a WKWebView
2015 https://bugs.webkit.org/show_bug.cgi?id=163364
2016 <rdar://problem/28012494>
2018 Reviewed by Geoff Garen.
2020 Some clients may not want the default WKWebView behavior where we synchronously
2021 block on the Web process after the first time a WKWebView is re-added to the window,
2022 because they are e.g. parenting re-used WKWebViews while scrolling.
2024 * UIProcess/API/APIPageConfiguration.h:
2025 (API::PageConfiguration::shouldSynchronizeInitialPaintAfterMovingToWindow):
2026 (API::PageConfiguration::setShouldSynchronizeInitialPaintAfterMovingToWindow):
2027 * UIProcess/API/Cocoa/WKWebView.mm:
2028 (-[WKWebView _initializeWithConfiguration:]):
2029 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2030 (-[WKWebViewConfiguration init]):
2031 (-[WKWebViewConfiguration copyWithZone:]):
2032 (-[WKWebViewConfiguration _shouldSynchronizeInitialPaintAfterMovingToWindow]):
2033 (-[WKWebViewConfiguration _setShouldSynchronizeInitialPaintAfterMovingToWindow:]):
2034 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2035 * UIProcess/WebPageProxy.h:
2036 * UIProcess/WebPageProxy.cpp:
2037 (WebKit::WebPageProxy::WebPageProxy):
2038 Add and plumb a new WKWebView configuration parameter.
2040 (WebKit::WebPageProxy::dispatchViewStateChange):
2041 If the new configuration parameter is set, don't block the main thread when
2042 a view is reparented.
2044 2016-10-12 Chris Dumez <cdumez@apple.com>
2046 [Web IDL] Drop support for legacy [ConstructorConditional=*]
2047 https://bugs.webkit.org/show_bug.cgi?id=163368
2049 Reviewed by Ryosuke Niwa.
2051 Drop ENABLE_DOM4_EVENTS_CONSTRUCTOR compiler flag.
2053 * Configurations/FeatureDefines.xcconfig:
2055 2016-10-12 Alex Christensen <achristensen@webkit.org>
2057 Fix assertion after switching to URLParser
2058 https://bugs.webkit.org/show_bug.cgi?id=163350
2059 rdar://problem/28739938
2061 Reviewed by Brady Eidson.
2063 Covered by a new API test.
2065 * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
2066 (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):
2067 The { } here is not understood by the compiler to mean WebCore::URL(), but rather the empty constructor for the enum ParsedURLStringTag.
2068 We used to be unsafely trusting that the URL was valid and canonicalized, but with URLParser we are canonicalizing it,
2069 and the assertion (url == m_string) in URL.cpp was failing.
2071 2016-10-12 Anders Carlsson <andersca@apple.com>
2073 Remove an unused function
2074 https://bugs.webkit.org/show_bug.cgi?id=163341
2076 Reviewed by Dan Bernstein.
2078 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2079 (WebKit::WebBackForwardListProxy::isActive): Deleted.
2080 * WebProcess/WebPage/WebBackForwardListProxy.h:
2082 2016-10-11 Gyuyoung Kim <gyuyoung.kim@navercorp.com>
2084 [EFL] Update API tests which are passed or failed
2085 https://bugs.webkit.org/show_bug.cgi?id=163322
2087 Unreviewed, simple on/off API test.
2089 *ewk_favicon_database_clear* has been crashed for a long time, however
2090 *ewk_cookie_manager_permanent_storage* is fine now. So the passing test
2091 is enabled again, and disable the failure tests.
2093 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2095 * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
2098 2016-10-11 Daniel Bates <dabates@apple.com>
2100 Attempt to fix the Apple Internal Mac build following r207159
2101 (https://bugs.webkit.org/show_bug.cgi?id=163244)
2103 * UIProcess/API/Cocoa/WKWebView.mm:
2104 (shouldRequireUserGestureToLoadVideo):
2106 2016-10-11 Anders Carlsson <andersca@apple.com>
2108 Clean up WebPageGroup somewhat
2109 https://bugs.webkit.org/show_bug.cgi?id=163299
2111 Reviewed by Tim Horton.
2113 * Shared/API/c/WKDeprecatedFunctions.cpp:
2114 (WKPageGroupCopyIdentifier):
2115 Move this here from WKPageGroup.
2117 (WKPageGroupAddUserContentFilter):
2118 (WKPageGroupRemoveUserContentFilter):
2119 (WKPageGroupRemoveAllUserContentFilters):
2120 Just call directly into the user content controller.
2122 * UIProcess/API/C/WKPageGroup.cpp:
2123 (WKPageGroupAddUserStyleSheet):
2124 (WKPageGroupRemoveAllUserStyleSheets):
2125 (WKPageGroupAddUserScript):
2126 (WKPageGroupRemoveAllUserScripts):
2127 Just call directly into the user content controller.
2129 * UIProcess/API/C/WKPageGroup.h:
2130 * UIProcess/WebPageGroup.cpp:
2131 (WebKit::WebPageGroup::addUserStyleSheet): Deleted.
2132 (WebKit::WebPageGroup::addUserScript): Deleted.
2133 (WebKit::WebPageGroup::removeAllUserStyleSheets): Deleted.
2134 (WebKit::WebPageGroup::removeAllUserScripts): Deleted.
2135 (WebKit::WebPageGroup::removeAllUserContent): Deleted.
2136 (WebKit::WebPageGroup::addUserContentExtension): Deleted.
2137 (WebKit::WebPageGroup::removeUserContentExtension): Deleted.
2138 (WebKit::WebPageGroup::removeAllUserContentExtensions): Deleted.
2139 Get rid of these, all their callers just call into the user content controller now.
2141 * UIProcess/WebPageGroup.h:
2142 (WebKit::WebPageGroup::identifier): Deleted.
2143 (WebKit::WebPageGroup::sendToAllProcessesInGroup): Deleted.
2146 2016-10-11 Daniel Bates <dabates@apple.com>
2148 [iOS] REGRESSION (r197953): User gesture required to load video in iOS 9-built apps
2149 https://bugs.webkit.org/show_bug.cgi?id=163244
2150 <rdar://problem/27250015>
2152 Reviewed by Jer Noble.
2154 Enable or disable the Setting::requiresUserGestureToLoadVideo() in WebKit depending on the
2155 version of iOS SDK that the app was linked against. We require a user gesture to begin
2156 loading a video as of iOS 10.
2158 * Shared/WebPreferencesDefinitions.h:
2159 * UIProcess/API/Cocoa/WKWebView.mm:
2160 (shouldRequireUserGestureToLoadVideo): Added.
2161 (-[WKWebView _initializeWithConfiguration:]): Set the requiresUserGestureToLoadVideo preference.
2162 * WebProcess/WebPage/WebPage.cpp:
2163 (WebKit::WebPage::updatePreferences): Modified to pass the WebKit requiresUserGestureToLoadVideo
2164 preference to WebCore.
2166 2016-10-11 Alex Christensen <achristensen@webkit.org>
2168 Remove dead networking code
2169 https://bugs.webkit.org/show_bug.cgi?id=163263
2171 Reviewed by Daniel Bates.
2173 * NetworkProcess/Downloads/Download.h:
2174 * NetworkProcess/Downloads/ios/DownloadIOS.mm: Removed.
2175 * NetworkProcess/Downloads/mac/DownloadMac.mm:
2176 * NetworkProcess/NetworkLoad.h:
2177 * NetworkProcess/mac/NetworkLoadMac.mm:
2178 (WebKit::NetworkLoad::willCacheResponseAsync): Deleted.
2179 * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
2180 (WebKit::AuthenticationManager::receivedCredential):
2181 (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
2182 (WebKit::AuthenticationManager::receivedCancellation):
2183 (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
2184 (WebKit::AuthenticationManager::receivedChallengeRejection):
2185 * Shared/WebProcessCreationParameters.cpp:
2186 (WebKit::WebProcessCreationParameters::encode):
2187 (WebKit::WebProcessCreationParameters::decode):
2188 * Shared/WebProcessCreationParameters.h:
2189 * Shared/mac/WebCoreArgumentCodersMac.mm:
2190 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
2191 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
2192 * WebKit2.xcodeproj/project.pbxproj:
2194 2016-10-11 Anders Carlsson <andersca@apple.com>
2196 Move no longer used functions to WKDeprecatedFunctions.cpp
2197 https://bugs.webkit.org/show_bug.cgi?id=163290
2199 Reviewed by Dan Bernstein.
2201 * Shared/API/c/WKDeprecatedFunctions.cpp:
2202 (WKPageGroupAddUserContentFilter):
2203 (WKPageGroupRemoveUserContentFilter):
2204 (WKPageGroupRemoveAllUserContentFilters):
2205 (WKContextSetProcessModel): Deleted.
2206 * UIProcess/API/C/WKPageGroup.cpp:
2207 (WKPageGroupRemoveAllUserScripts):
2208 (WKPageGroupAddUserContentFilter): Deleted.
2209 (WKPageGroupRemoveUserContentFilter): Deleted.
2210 (WKPageGroupRemoveAllUserContentFilters): Deleted.
2211 * UIProcess/API/C/WKPageGroup.h:
2213 2016-10-11 Konstantin Tokarev <annulen@yandex.ru>
2215 Use modern for loops for iterating supplement maps
2216 https://bugs.webkit.org/show_bug.cgi?id=163274
2218 Reviewed by Alex Christensen.
2220 * NetworkProcess/NetworkProcess.cpp:
2221 (WebKit::NetworkProcess::initializeNetworkProcess):
2222 (WebKit::NetworkProcess::initializeConnection):
2223 * UIProcess/WebProcessPool.cpp:
2224 (WebKit::WebProcessPool::~WebProcessPool):
2225 (WebKit::WebProcessPool::networkProcessCrashed):
2226 (WebKit::WebProcessPool::databaseProcessCrashed): Iterate by values()
2227 like in other places.
2229 2016-10-11 Wenson Hsieh <wenson_hsieh@apple.com>
2231 The "Input Events" experimental feature runtime flag should not be on by default
2232 https://bugs.webkit.org/show_bug.cgi?id=163278
2234 Reviewed by Zalan Bujtas.
2236 This was intended to be off by default.
2238 * Shared/WebPreferencesDefinitions.h:
2240 2016-10-10 Zan Dobersek <zdobersek@igalia.com>
2242 Add ENABLE_ENCRYPTED_MEDIA configuration option
2243 https://bugs.webkit.org/show_bug.cgi?id=163219
2245 Reviewed by Darin Adler.
2247 * Configurations/FeatureDefines.xcconfig:
2248 Add the ENABLE_ENCRYPTED_MEDIA configuration option. It will be used
2249 to enable or disable the new EME implementation at build-time.
2251 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2253 NetworkSession: NetworkDataTask is leaked if download finishes in didReceiveResponse completion handler
2254 https://bugs.webkit.org/show_bug.cgi?id=163204
2256 Reviewed by Alex Christensen.
2258 After the completion handler a reference of the NetworkDataTask is saved in m_downloadsAfterDestinationDecided.
2259 If the download failed or was canceled DownloadManager::dataTaskBecameDownloadTask is never called and the data
2260 task is kept in the download manager forever. This patch exposes NSURLSessionTask state property in
2261 NetworkDataTask, so that the download manager can check the task state after the completion handler and return
2262 early if the download finished or was cancelled.
2264 * NetworkProcess/Downloads/DownloadManager.cpp:
2265 (WebKit::DownloadManager::continueDecidePendingDownloadDestination):
2266 * NetworkProcess/NetworkDataTask.h:
2267 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
2268 (WebKit::NetworkDataTask::state):
2270 2016-10-10 Konstantin Tokarev <annulen@yandex.ru>
2272 Added final specifier to WebInspectorServer and to its overridden methods
2273 https://bugs.webkit.org/show_bug.cgi?id=163228
2275 Reviewed by Darin Adler.
2277 * UIProcess/InspectorServer/WebInspectorServer.h:
2279 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2281 [GTK] 2.14.0 Compile Errors: GTK 3.22.1
2282 https://bugs.webkit.org/show_bug.cgi?id=163190
2284 Reviewed by Alex Christensen.
2286 * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: Include gtk.h since we are using gtk_widget_queue_draw().
2288 2016-10-10 Gyuyoung Kim <gyuyoung.kim@navercorp.com>
2290 [EFL] ewk_context_preferred_languages has been failed since r206949
2291 https://bugs.webkit.org/show_bug.cgi?id=163211
2293 Reviewed by Chris Dumez.
2295 r206949 changed to return value of navigator.language from en-us to en-US
2296 in order to match other browsers and w3c spec. So ewk_context_preferred_languages
2297 needs to change the expected result as well.
2299 * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2302 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2304 NetworkSession: downloads started by startDownload() can fail before starting from the API point of view
2305 https://bugs.webkit.org/show_bug.cgi?id=163107
2307 Reviewed by Alex Christensen.
2309 In the network process we use a PendingDownload in this case, but in the UI process we always have a single
2310 download proxy. If an error happens before the pending download is converted inot a real download, the DidFail
2311 messages is received in the download proxy before the DidStart one. This is problematic at least for the GTK+
2312 API, because it's common to connect to the started signal and connect to all other signals from there, but in
2313 this case the started signal is never emitted, and then the failed one is not handled. This is not a problem for
2314 downloads started by convertTaskToDownload, because in that case those loads are not considered a download by
2315 the UI process when those early errors happen, and then the web page handles them.
2317 * NetworkProcess/Downloads/PendingDownload.cpp:
2318 (WebKit::PendingDownload::PendingDownload): Send DidStart message right after the network load starts like the
2319 non network session code does.
2320 * NetworkProcess/NetworkLoad.cpp:
2321 (WebKit::NetworkLoad::convertTaskToDownload): Send DidStart message now that the normal load has been converted
2323 * NetworkProcess/NetworkProcess.cpp:
2324 (WebKit::NetworkProcess::findPendingDownloadLocation): Do not send DidStart message here.
2326 2016-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
2328 Network Session: PendingDownload is always nullptr in DownloadManager::dataTaskBecameDownloadTask
2329 https://bugs.webkit.org/show_bug.cgi?id=163006
2331 Reviewed by Alex Christensen.
2333 In DownloadManager::dataTaskBecameDownloadTask() we are supposed to have either a pending download, or a network
2334 data task depending on whether the download was started by startDownload() or convertTaskToDownload. However, in
2335 both cases we do have a data task and never a pending download. In the case of startDownload() the pending
2336 download is removed from m_pendingDownloads in willDecidePendingDownloadDestination(). The task is always
2337 added to m_downloadsWaitingForDestination in willDecidePendingDownloadDestination() and to
2338 m_downloadsAfterDestinationDecided in continueDecidePendingDownloadDestination() in both cases.
2340 * NetworkProcess/Downloads/DownloadManager.cpp:
2341 (WebKit::DownloadManager::dataTaskBecameDownloadTask): Add an ASSERT to ensure we don't have a pending download
2342 at this point and that the download is not already in the map. Remove the download from the
2343 m_downloadsAfterDestinationDecided map, but don't check its result because it might not bein that map if
2344 dataTaskBecameDownloadTask is called synchronously from the didReceiveResponse completion handler.
2345 (WebKit::DownloadManager::willDecidePendingDownloadDestination): Do not take the pending download here, wait
2346 until didReceiveResponse completion handler is called.
2347 (WebKit::DownloadManager::continueDecidePendingDownloadDestination): Take the pending download here ensuring
2348 it's alive while the didReceiveResponse completion handler is called. Also remove invalid early return when
2349 either networkDataTask or completionHandler are nullptr because we are using both unconditionally, we should
2350 return early if both are nullptr to avoid crashes. However, we are checking that the download is in the
2351 m_downloadsWaitingForDestination and in that case we should always have both, so better add asserts there. If
2352 the download is already in the map after the completion handler it means that dataTaskBecameDownloadTask() has
2353 alrady been called, so we can just return in that case.
2354 * NetworkProcess/Downloads/DownloadManager.h:
2355 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2356 (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): Protect the NetworkDataTask that can
2357 be deleted by dataTaskBecameDownloadTask().
2359 2016-10-10 Tim Horton <timothy_horton@apple.com>
2361 Share more code between iOS and macOS ViewGestureController
2362 https://bugs.webkit.org/show_bug.cgi?id=163158
2364 Reviewed by Simon Fraser.
2366 Share canSwipeInDirection() and the (unused on Mac) alternate back-forward list mechanism.
2367 Make ViewGestureController operate in terms of WebPageProxy, not WKWebView,
2368 because it shouldn't know anything about WKWebView.
2369 Refactor scrollEventCanBecomeSwipe a bit to be less repetitive.
2371 * UIProcess/API/Cocoa/WKWebView.mm:
2372 (-[WKWebView setAllowsBackForwardNavigationGestures:]):
2373 * UIProcess/Cocoa/ViewGestureController.cpp:
2374 (WebKit::ViewGestureController::ViewGestureController):
2375 (WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
2376 (WebKit::ViewGestureController::canSwipeInDirection):
2377 (WebKit::ViewGestureController::gestureControllerForPage): Deleted.
2378 * UIProcess/Cocoa/ViewGestureController.h:
2379 * UIProcess/WebPageProxy.cpp:
2380 (WebKit::WebPageProxy::WebPageProxy):
2381 * UIProcess/WebPageProxy.h:
2382 (WebKit::WebPageProxy::createWeakPtr):
2383 * UIProcess/ios/ViewGestureControllerIOS.mm:
2384 (WebKit::ViewGestureController::beginSwipeGesture):
2385 (WebKit::ViewGestureController::setAlternateBackForwardListSourceView): Deleted.
2386 (WebKit::ViewGestureController::canSwipeInDirection): Deleted.
2387 * UIProcess/mac/ViewGestureControllerMac.mm:
2388 (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
2389 (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
2390 (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
2392 2016-10-10 Tomas Popela <tpopela@redhat.com>
2394 [GTK] UIProcess crashes when using Japanese IM
2395 https://bugs.webkit.org/show_bug.cgi?id=163011
2397 We have to reference the current GdkEventKey before we try process it
2398 as later when the lambda body is reached the event could be already
2401 Reviewed by Carlos Garcia Campos.
2403 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2404 (webkitWebViewBaseKeyPressEvent):
2405 (webkitWebViewBaseKeyReleaseEvent):
2406 * UIProcess/gtk/InputMethodFilter.h:
2407 Use non-copyable Function so we can use WTFMove to pass the event to
2410 2016-10-09 Wenson Hsieh <wenson_hsieh@apple.com>
2412 Support InputEvent.inputType for the new InputEvent spec
2413 https://bugs.webkit.org/show_bug.cgi?id=163025
2414 <rdar://problem/28658092>
2416 Reviewed by Darin Adler.
2418 Accounts for some changes to the EditAction enum in nameForEditAction. Some former edit
2419 actions, such as EditActionTyping, have been split out into its more specific subtypes,
2420 so we preserve shipping behavior by treating all of the new subtypes the same way as the
2423 * UIProcess/WebEditCommandProxy.cpp:
2424 (WebKit::WebEditCommandProxy::nameForEditAction):
2426 2016-10-08 Emanuele Aina <emanuele.aina@collabora.com>
2428 [GTK] Drop redundant wl_display_flush_clients() call
2429 https://bugs.webkit.org/show_bug.cgi?id=161904
2431 Reviewed by Michael Catanzaro.
2433 The Wayland GSource::prepare() function already calls
2434 wl_display_flush_clients() at every mainloop iteration, so there's no
2435 need to further call it on Surface::commit().
2437 * UIProcess/gtk/WaylandCompositor.cpp:
2438 (WebKit::WaylandCompositor::Surface::commit):
2439 * UIProcess/gtk/WaylandCompositor.h:
2441 2016-10-06 Darin Adler <darin@apple.com>
2443 Next step on moving to modern way to return DOM exceptions
2444 https://bugs.webkit.org/show_bug.cgi?id=163016
2446 Reviewed by Ryosuke Niwa.
2448 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
2449 (webkit_dom_dom_implementation_create_document_type): Updated for name change
2450 from takeReturnValue to releaseReturnValue.
2451 (webkit_dom_dom_implementation_create_document): Ditto.
2452 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp:
2453 (webkit_dom_dom_selection_collapse_to_end): Use ExceptionOr instead of ExceptionCode.
2454 (webkit_dom_dom_selection_collapse_to_start): Ditto.
2455 (webkit_dom_dom_selection_extend): Ditto.
2456 (webkit_dom_dom_selection_get_range_at): Ditto.
2458 2016-10-08 Commit Queue <commit-queue@webkit.org>
2460 Unreviewed, rolling out r206950.
2461 https://bugs.webkit.org/show_bug.cgi?id=163169
2463 broke an API test (Requested by thorton on #webkit).
2467 "Share more code between iOS and macOS ViewGestureController"
2468 https://bugs.webkit.org/show_bug.cgi?id=163158
2469 http://trac.webkit.org/changeset/206950
2471 2016-10-08 Tim Horton <timothy_horton@apple.com>
2473 Share more code between iOS and macOS ViewGestureController
2474 https://bugs.webkit.org/show_bug.cgi?id=163158
2476 Reviewed by Simon Fraser.
2478 Share canSwipeInDirection() and the (unused on Mac) alternate back-forward list mechanism.
2479 Make ViewGestureController operate in terms of WebPageProxy, not WKWebView,
2480 because it shouldn't know anything about WKWebView.
2481 Refactor scrollEventCanBecomeSwipe a bit to be less repetitive.
2483 * UIProcess/API/Cocoa/WKWebView.mm:
2484 (-[WKWebView setAllowsBackForwardNavigationGestures:]):
2485 * UIProcess/Cocoa/ViewGestureController.cpp:
2486 (WebKit::ViewGestureController::ViewGestureController):
2487 (WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
2488 (WebKit::ViewGestureController::canSwipeInDirection):
2489 (WebKit::ViewGestureController::gestureControllerForPage): Deleted.
2490 * UIProcess/Cocoa/ViewGestureController.h:
2491 * UIProcess/WebPageProxy.cpp:
2492 (WebKit::WebPageProxy::WebPageProxy):
2493 * UIProcess/WebPageProxy.h:
2494 (WebKit::WebPageProxy::createWeakPtr):
2495 * UIProcess/ios/ViewGestureControllerIOS.mm:
2496 (WebKit::ViewGestureController::beginSwipeGesture):
2497 (WebKit::ViewGestureController::setAlternateBackForwardListSourceView): Deleted.
2498 (WebKit::ViewGestureController::canSwipeInDirection): Deleted.
2499 * UIProcess/mac/ViewGestureControllerMac.mm:
2500 (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
2501 (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
2502 (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
2504 2016-10-07 Anders Carlsson <andersca@apple.com>
2506 Get rid of API::Session and WKSessionRef
2507 https://bugs.webkit.org/show_bug.cgi?id=163140
2509 Reviewed by Tim Horton.
2511 This API is no longer used.
2514 * Shared/API/APIObject.h:
2515 * Shared/API/c/WKSharedAPICast.h:
2516 * UIProcess/API/APISession.cpp: Removed.
2517 (API::generateID): Deleted.
2518 (API::Session::defaultSession): Deleted.
2519 (API::Session::Session): Deleted.
2520 (API::Session::createEphemeral): Deleted.
2521 (API::Session::isEphemeral): Deleted.
2522 (API::Session::getID): Deleted.
2523 (API::Session::~Session): Deleted.
2524 * UIProcess/API/APISession.h: Removed.
2525 * UIProcess/API/C/WKPage.h:
2526 * UIProcess/API/C/WKSessionRef.cpp: Removed.
2527 (WKSessionCreate): Deleted.
2528 (WKSessionGetTypeID): Deleted.
2529 (WKSessionIsEphemeral): Deleted.
2530 * UIProcess/API/C/WKSessionRef.h: Removed.
2531 * UIProcess/WebPageProxy.h:
2532 * UIProcess/WebProcessProxy.h:
2533 * WebKit2.xcodeproj/project.pbxproj:
2535 2016-10-07 Tim Horton <timothy_horton@apple.com>
2537 Move ViewGestureController files to more accurate locations
2538 https://bugs.webkit.org/show_bug.cgi?id=163141
2540 Reviewed by Anders Carlsson.
2542 * PlatformMac.cmake:
2543 * UIProcess/Cocoa/ViewGestureController.cpp: Renamed from UIProcess/ViewGestureController.cpp.
2544 * UIProcess/Cocoa/ViewGestureController.h: Renamed from UIProcess/mac/ViewGestureController.h.
2545 * UIProcess/Cocoa/ViewGestureController.messages.in: Renamed from UIProcess/mac/ViewGestureController.messages.in.
2546 * WebKit2.xcodeproj/project.pbxproj:
2548 2016-10-07 Tim Horton <timothy_horton@apple.com>
2550 Adopt BlockPtr in ViewGestureController
2551 https://bugs.webkit.org/show_bug.cgi?id=163132
2553 Reviewed by Anders Carlsson.
2555 * UIProcess/Cocoa/WebViewImpl.h:
2556 * UIProcess/Cocoa/WebViewImpl.mm:
2557 (WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
2558 * UIProcess/ViewGestureController.cpp:
2559 (WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent):
2560 * UIProcess/mac/ViewGestureController.h:
2561 (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
2562 (WebKit::ViewGestureController::m_didMoveSwipeSnapshotCallback): Deleted.
2563 * UIProcess/mac/ViewGestureControllerMac.mm:
2564 (WebKit::ViewGestureController::platformTeardown):
2565 (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback): Deleted.
2567 2016-10-07 Anders Carlsson <andersca@apple.com>
2569 Get rid of WKPageSetSession
2570 https://bugs.webkit.org/show_bug.cgi?id=163129
2572 Reviewed by Tim Horton.
2574 This function is no longer used.
2576 * UIProcess/API/C/WKPage.cpp:
2577 (WKPageSetSession): Deleted.
2578 * UIProcess/API/C/WKPage.h:
2579 * UIProcess/WebPageProxy.cpp:
2580 (WebKit::WebPageProxy::setSessionID): Deleted.
2581 * UIProcess/WebPageProxy.h:
2582 (WebKit::WebPageProxy::sessionID):
2583 * WebProcess/WebPage/WebPage.messages.in:
2585 2016-10-07 Commit Queue <commit-queue@webkit.org>
2587 Unreviewed, rolling out r206909.
2588 https://bugs.webkit.org/show_bug.cgi?id=163116
2590 Caused most of GTK layout tests to crash (Requested by KaL on
2595 "[GTK] UIProcess crashes when using Japanese IM"
2596 https://bugs.webkit.org/show_bug.cgi?id=163011
2597 http://trac.webkit.org/changeset/206909
2599 2016-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
2601 Network Session: Allow NetworkDataTask decide what to do when override is allowed for a download
2602 https://bugs.webkit.org/show_bug.cgi?id=163010
2604 Reviewed by Alex Christensen.
2606 Current code always deletes the file before starting a download when allow override is True. In soup backend we
2607 use glib API that takes care of it and tries to ensure that the original file is not deleted if the new file
2608 creation fails for whatever reason.
2610 * NetworkProcess/Downloads/DownloadManager.cpp:
2611 (WebKit::DownloadManager::continueDecidePendingDownloadDestination): Pass allowOverride to setPendingDownloadLocation().
2612 * NetworkProcess/NetworkDataTask.h:
2613 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
2614 (WebKit::NetworkDataTask::setPendingDownloadLocation): Delete the destination file if exists and allowOverride
2617 2016-10-07 Tomas Popela <tpopela@redhat.com>
2619 [GTK] UIProcess crashes when using Japanese IM
2620 https://bugs.webkit.org/show_bug.cgi?id=163011
2622 We have to reference the current GdkEventKey before we try process it
2623 as later when the lambda body is reached the event could be already
2626 Reviewed by Carlos Garcia Campos.
2628 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2629 (webkitWebViewBaseKeyPressEvent):
2630 (webkitWebViewBaseKeyReleaseEvent):
2631 * UIProcess/gtk/InputMethodFilter.h:
2632 Use non-copyable Function so we can use WTFMove to pass the event to
2635 2016-10-06 Michael Catanzaro <mcatanzaro@igalia.com>
2637 [GTK] Expose WebKitDOMHTMLInputElement APIs for form autofill
2638 https://bugs.webkit.org/show_bug.cgi?id=163082
2640 Reviewed by Darin Adler.
2642 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
2643 (webkit_dom_html_input_element_get_auto_filled): Added.
2644 (webkit_dom_html_input_element_set_auto_filled): Added.
2645 (webkit_dom_html_input_element_set_editing_value): Added.
2646 * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
2647 * WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
2649 2016-10-06 John Wilander <wilander@apple.com>
2651 Update Resource Load Statistics
2652 https://bugs.webkit.org/show_bug.cgi?id=162811
2654 Reviewed by Alex Christensen.
2656 * UIProcess/WebResourceLoadStatisticsStore.cpp:
2657 (WebKit::WebResourceLoadStatisticsStore::hasPrevalentResourceCharacteristics):
2658 Switched to vector-based classification.
2659 (WebKit::WebResourceLoadStatisticsStore::classifyResource):
2660 Simplified logic and moved the split between has and has
2661 no user interaction into ResourceLoadStatisticsStore.
2662 (WebKit::WebResourceLoadStatisticsStore::clearDataRecords):
2664 (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
2665 Updated to make use of the new functions.
2666 (WebKit::WebResourceLoadStatisticsStore::persistentStoragePath):
2667 Removed stray whitespace.
2668 (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):
2669 Removed stray whitespace.
2670 (WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk):
2671 Removed stray whitespace.
2672 (WebKit::hasPrevalentResourceCharacteristics): Deleted.
2673 (WebKit::classifyPrevalentResources): Deleted.
2674 * UIProcess/WebResourceLoadStatisticsStore.h:
2675 Added member variables for clearing of data records.
2677 2016-10-06 Youenn Fablet <youenn@apple.com>
2679 [WK2] 304 revalidation on the network process does not update the validated response
2680 https://bugs.webkit.org/show_bug.cgi?id=162973
2682 Reviewed by Darin Adler.
2684 * NetworkProcess/NetworkResourceLoader.cpp: Updating cache entry with the revalidated one.
2686 2016-10-05 Wenson Hsieh <wenson_hsieh@apple.com>
2688 Introduce InputEvent bindings in preparation for the input events spec
2689 https://bugs.webkit.org/show_bug.cgi?id=162954
2691 Reviewed by Ryosuke Niwa.
2693 Adds a new runtime switch for enabling InputEvents.
2695 * Shared/WebPreferencesDefinitions.h:
2696 * WebProcess/WebPage/WebPage.cpp:
2697 (WebKit::WebPage::updatePreferences):
2699 2016-10-05 Myles C. Maxfield <mmaxfield@apple.com>
2701 Put variation fonts work behind a compile-time flag
2702 https://bugs.webkit.org/show_bug.cgi?id=162949
2704 Reviewed by Simon Fraser.
2706 * Configurations/FeatureDefines.xcconfig:
2708 2016-10-05 Tim Horton <timothy_horton@apple.com>
2712 * UIProcess/Cocoa/WebViewImpl.mm:
2714 2016-10-05 Tim Horton <timothy_horton@apple.com>
2716 Avoid automatically re-taking snapshots for back-forward items that were never loaded into the view
2717 https://bugs.webkit.org/show_bug.cgi?id=162955
2718 <rdar://problem/27659173>
2720 Reviewed by Simon Fraser.
2722 Make it possible for clients to control the snapshot for back-forward
2723 items that are restored from session state without navigating to them,
2724 by ensuring that we won't stomp on the snapshot that they explicitly take,
2725 until a load occurs.
2727 * UIProcess/WebBackForwardList.cpp:
2728 (WebKit::WebBackForwardList::addItem):
2729 (WebKit::WebBackForwardList::goToItem):
2730 * UIProcess/ios/ViewGestureControllerIOS.mm:
2731 (WebKit::ViewGestureController::beginSwipeGesture):
2732 * UIProcess/mac/ViewGestureControllerMac.mm:
2733 (WebKit::ViewGestureController::trackSwipeGesture):
2734 Disambiguate explicit API-driven snapshot recording from automatic,
2735 navigation-driven snapshot recording.
2737 * UIProcess/Cocoa/WebViewImpl.mm:
2738 (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
2739 Get rid of the version of recordNavigationSnapshot() that doesn't take a
2740 back-forward list item, and grab the current item at the one remaining caller.
2742 * UIProcess/WebPageProxy.cpp:
2743 (WebKit::WebPageProxy::recordAutomaticNavigationSnapshot):
2744 (WebKit::WebPageProxy::recordNavigationSnapshot):
2745 (WebKit::WebPageProxy::restoreFromSessionState):
2746 (WebKit::WebPageProxy::didCommitLoadForFrame):
2747 * UIProcess/WebPageProxy.h:
2748 Rename m_suppressNavigationSnapshotting to m_suppressAutomaticNavigationSnapshotting,
2749 and make it be only about automatic (navigation-driven) snapshots; it won't have
2750 any impact on explicit snapshots forced by clients.
2752 Set m_suppressAutomaticNavigationSnapshotting unconditionally when restoring
2753 from session state, so that we won't start automatically snapshotting until
2754 something has loaded in the view.
2756 2016-10-05 Tim Horton <timothy_horton@apple.com>
2758 Make it possible to test ViewSnapshotStore behaviors
2759 https://bugs.webkit.org/show_bug.cgi?id=162983
2761 Reviewed by Simon Fraser.
2763 Add two pieces of SPI to make it easier to test ViewSnapshotStore:
2765 - [WKWebView _disableBackForwardSnapshotVolatilityForTesting]
2766 This makes it so that we don't make snapshots volatile after we
2767 take them, so that they won't get purged while the test is running
2768 and cause the test to be flaky.
2770 - [WKBackForwardListItem _copySnapshotForTesting]
2771 This returns a CGImage with the content of the given back-forward
2772 item's current snapshot, if there is one.
2774 * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
2775 (-[WKBackForwardListItem _copySnapshotForTesting]):
2776 * UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
2777 * UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h: Added.
2778 Add WKBackForwardListItem SPI to retrieve the snapshot for a given back-forward list item.
2780 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2781 * UIProcess/API/Cocoa/WKWebView.mm:
2782 (-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]):
2783 Add WKWebView SPI to disable volatility of snapshots, for testing purposes.
2785 * UIProcess/Cocoa/WebViewImpl.h:
2786 * UIProcess/Cocoa/WebViewImpl.mm:
2787 (WebKit::WebViewImpl::takeViewSnapshot):
2788 Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
2790 * UIProcess/mac/ViewGestureControllerMac.mm:
2791 (WebKit::ViewGestureController::removeSwipeSnapshot):
2792 Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
2794 * UIProcess/mac/ViewSnapshotStore.h:
2795 (WebKit::ViewSnapshotStore::setDisableSnapshotVolatilityForTesting):
2796 (WebKit::ViewSnapshotStore::disableSnapshotVolatilityForTesting):
2797 * UIProcess/mac/ViewSnapshotStore.mm:
2798 (WebKit::ViewSnapshotStore::ViewSnapshotStore):
2799 (WebKit::ViewSnapshot::setVolatile):
2800 (WebKit::ViewSnapshot::asLayerContents):
2801 Move all touching of snapshot volatility into the new setVolatile,
2802 and short-circuit if the testing-only m_disableSnapshotVolatility bit is set
2804 (WebKit::ViewSnapshot::asImageForTesting):
2805 Make a CGImageRef for the aforementioned WKBackForwardListItem SPI.
2806 This is currently not implemented for the iOS Simulator, because we
2807 don't have access to the bits of the image in that case.
2809 2016-10-05 Chris Dumez <cdumez@apple.com>
2811 KeyboardEvent.getModifierState() should support "CapsLock" modifier
2812 https://bugs.webkit.org/show_bug.cgi?id=162861
2814 Reviewed by Darin Adler.
2816 Add support for CapsLock modifier on events.
2818 * Shared/API/c/WKEvent.h:
2819 * Shared/API/c/WKSharedAPICast.h:
2821 * Shared/WebEventConversion.cpp:
2822 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
2823 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
2824 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
2825 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
2826 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
2827 * Shared/efl/WebEventFactory.cpp:
2828 (WebKit::toWebEventModifiers):
2829 * Shared/ios/WebIOSEventFactory.mm:
2830 (modifiersForEvent):
2831 * Shared/mac/WebEventFactory.mm:
2832 (WebKit::modifiersForEvent):
2833 * UIProcess/API/Cocoa/WKNavigationAction.mm:
2834 (toNSEventModifierFlags):
2835 * UIProcess/Cocoa/WebAutomationSessionCocoa.mm:
2836 (WebKit::WebAutomationSession::platformSimulateMouseInteraction):
2838 2016-10-05 Zan Dobersek <zdobersek@igalia.com>
2840 Rename ENABLE_ENCRYPTED_MEDIA_V2 to ENABLE_LEGACY_ENCRYPTED_MEDIA
2841 https://bugs.webkit.org/show_bug.cgi?id=162903
2843 Reviewed by Alex Christensen.
2845 Rename build guards for the remaining implementation of the legacy EME API
2846 to ENABLE_LEGACY_ENCRYPTED_MEDIA. This will allow for the future implementation
2847 of the near-finished API to be guarded with the simple ENABLE_ENCRYPTED_MEDIA guards.
2849 * Configurations/FeatureDefines.xcconfig:
2850 * WebProcess/WebPage/WebPage.cpp:
2851 (WebKit::m_userInterfaceLayoutDirection):
2852 * WebProcess/WebProcess.cpp:
2853 (WebKit::m_resourceLoadStatisticsStorage):
2855 2016-10-05 Daniel Bates <dabates@apple.com>
2857 [WK2][NetworkSession] Ping requests should follow redirects if applicable
2858 https://bugs.webkit.org/show_bug.cgi?id=162580
2859 <rdar://problem/28631274>
2861 Reviewed by Alex Christensen.
2863 Implement support for following redirects, if applicable, of a ping request when using the
2864 Network Session (ENABLE(NETWORK_SESSION)) code path in WebKit2. For ping requests that are
2865 in response to hyperlink auditing (e.g. <a ping>) we should follow redirect responses.
2866 For Content Security Policy and XSS Auditor violation reports we should not follow redirect
2869 Currently we always ignore redirects for ping requests that are sent using the Network Session
2870 code path in WebKit2. This behavior disagrees with the behavior described in section
2871 "Hyperlink auditing" of the HTML standard, <https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing> (27 September 2016),
2872 as well as the behavior in Legacy WebKit and WebKit2 with Network Session disabled. We should
2873 follow redirects for ping requests initiated as part of hyperlink auditing to more closely
2874 conform to the HTML standard and match the behavior in Legacy WebKit and WebKit2 with Network
2877 * NetworkProcess/PingLoad.h:
2879 2016-10-05 Daniel Bates <dabates@apple.com>
2881 Do not follow redirects when sending violation report
2882 https://bugs.webkit.org/show_bug.cgi?id=162520
2883 <rdar://problem/27957639>
2885 Reviewed by Alex Christensen.
2887 Update the non-Network Session WebKit2 implementation to follow redirect responses for a ping
2888 request, if applicable. I did not update the Network Session implementation at this time. I
2889 will fix it in <https://bugs.webkit.org/show_bug.cgi?id=162580>.
2891 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2892 (WebKit::NetworkConnectionToWebProcess::loadPing): Tell PingHandle whether to follow redirects.
2893 * NetworkProcess/NetworkLoadParameters.h:
2894 * NetworkProcess/NetworkResourceLoadParameters.cpp:
2895 (WebKit::NetworkResourceLoadParameters::encode): Encode NetworkResourceLoadParameters::shouldFollowRedirects.
2896 (WebKit::NetworkResourceLoadParameters::decode): Decode NetworkResourceLoadParameters::shouldFollowRedirects.
2897 * NetworkProcess/PingLoad.h: Added FIXME comment to implement support for following redirects,
2898 if applicable (for hyperlink auditing). See <https://bugs.webkit.org/show_bug.cgi?id=162580>
2900 * WebProcess/Network/WebLoaderStrategy.cpp:
2901 (WebKit::WebLoaderStrategy::createPingHandle): Modified to take a boolean whether to follow
2902 redirects responses and set NetworkResourceLoadParameters::shouldFollowRedirects as appropriate.
2903 * WebProcess/Network/WebLoaderStrategy.h:
2905 2016-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2907 [SOUP] Move global TLS errors handling from ResourceHandle to SoupNetworkSession
2908 https://bugs.webkit.org/show_bug.cgi?id=162910
2910 Reviewed by Alex Christensen.
2912 Use SoupNetworkSession instead of ResourceHandle.
2914 * NetworkProcess/soup/NetworkProcessSoup.cpp:
2915 (WebKit::NetworkProcess::setIgnoreTLSErrors):
2916 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
2918 2016-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2920 Unreviewed. Fix GTK+ build with USE_REDIRECTED_XCOMPOSITE_WINDOW disabled.
2922 * UIProcess/AcceleratedDrawingAreaProxy.cpp:
2923 (WebKit::AcceleratedDrawingAreaProxy::setNativeSurfaceHandleForCompositing):
2925 2016-10-04 Chris Dumez <cdumez@apple.com>
2927 Implement KeyboardEvent.code from the UI Event spec
2928 https://bugs.webkit.org/show_bug.cgi?id=149584
2930 Reviewed by Darin Adler.
2932 Add support for Keyboard.code attribute:
2933 - https://w3c.github.io/uievents/#dom-keyboardevent-code
2934 - https://w3c.github.io/uievents-code/
2936 * Shared/WebEvent.h:
2937 (WebKit::WebKeyboardEvent::code):
2938 * Shared/WebEventConversion.cpp:
2939 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
2940 * Shared/WebKeyboardEvent.cpp:
2941 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
2942 (WebKit::WebKeyboardEvent::encode):
2943 (WebKit::WebKeyboardEvent::decode):
2944 * Shared/mac/WebEventFactory.mm:
2945 (WebKit::WebEventFactory::createWebKeyboardEvent):
2947 2016-10-04 Said Abou-Hallawa <sabouhallawa@apple.com>
2949 The dragged image should be the current frame only of the animated image
2950 https://bugs.webkit.org/show_bug.cgi?id=162109
2952 Reviewed by Tim Horton.
2954 * UIProcess/Cocoa/WebViewImpl.mm:
2955 (WebKit::WebViewImpl::provideDataForPasteboard): Call the Image function with its new name.
2957 2016-10-04 Ryosuke Niwa <rniwa@webkit.org>
2959 Revert a change erroneously committed in r206795.
2961 * WebProcess/WebPage/WebPage.cpp:
2962 (WebKit::WebPage::updatePreferences):
2964 2016-10-04 Anders Carlsson <andersca@apple.com>
2966 Properly kill web processes in the launching state
2967 https://bugs.webkit.org/show_bug.cgi?id=162938
2969 Reviewed by Tim Horton.
2971 * UIProcess/Launcher/ProcessLauncher.h:
2972 Add m_xpcConnection member.
2974 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2975 (WebKit::ProcessLauncher::launchProcess):
2976 Store the XPC connection in the m_xpcConnection member variable.
2977 In the reply handler, handle m_xpcConnection being null.
2979 (WebKit::ProcessLauncher::platformInvalidate):
2980 Cancel and kill the connection.
2982 * UIProcess/WebPageProxy.cpp:
2983 (WebKit::WebPageProxy::terminateProcess):
2984 Get rid of an assertion.
2986 * UIProcess/WebProcessProxy.cpp:
2987 (WebKit::WebProcessProxy::requestTermination):
2988 Handle the launching state.
2990 2016-10-04 Tim Horton <timothy_horton@apple.com>
2994 * Shared/WebBackForwardListItem.cpp:
2995 (WebKit::WebBackForwardListItem::WebBackForwardListItem):
2996 (WebKit::WebBackForwardListItem::highestUsedItemID):
2998 2016-10-04 Tim Horton <timothy_horton@apple.com>
3000 Fix a typo in WebBackForwardListItem (highed->highest)
3001 https://bugs.webkit.org/show_bug.cgi?id=162935
3003 Reviewed by Anders Carlsson.
3005 * Shared/WebBackForwardListItem.cpp:
3006 (WebKit::WebBackForwardListItem::highestUsedItemID):
3007 (WebKit::WebBackForwardListItem::highedUsedItemID): Deleted.
3008 * Shared/WebBackForwardListItem.h:
3009 * UIProcess/WebPageProxy.cpp:
3010 (WebKit::WebPageProxy::creationParameters):
3012 2016-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
3014 [DOMJIT] Introduce DOMJIT::GetterSetter to tell JIT information
3015 https://bugs.webkit.org/show_bug.cgi?id=162916
3017 Reviewed by Filip Pizlo.
3021 2016-10-04 Carlos Garcia Campos <cgarcia@igalia.com>
3023 [SOUP] Remove SSLPolicyFlags from SoupNetworkSession
3024 https://bugs.webkit.org/show_bug.cgi?id=162906
3026 Reviewed by Michael Catanzaro.
3028 * NetworkProcess/soup/NetworkProcessMainSoup.cpp:
3029 (WebKit::NetworkProcessMainUnix):
3031 2016-10-04 Wenson Hsieh <wenson_hsieh@apple.com>
3033 Media controls are displayed in the incorrect state momentarily after switching between tabs playing media
3034 https://bugs.webkit.org/show_bug.cgi?id=162766
3035 <rdar://problem/28533523>
3037 Reviewed by Jer Noble.
3039 Plumbs some more Now Playing information from the web process to the UI process for testing purposes. See
3040 WebCore ChangeLog for more details.
3042 * UIProcess/API/Cocoa/WKWebView.mm:
3043 (-[WKWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]):
3044 (-[WKWebView _handleActiveNowPlayingSessionInfoResponse:]): Deleted.
3045 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3046 * UIProcess/PageClient.h:
3047 * UIProcess/WebPageProxy.cpp:
3048 (WebKit::WebPageProxy::handleActiveNowPlayingSessionInfoResponse):
3049 * UIProcess/WebPageProxy.h:
3050 * UIProcess/WebPageProxy.messages.in:
3051 * UIProcess/mac/PageClientImpl.h:
3052 * UIProcess/mac/PageClientImpl.mm:
3053 (WebKit::PageClientImpl::handleActiveNowPlayingSessionInfoResponse):
3054 * WebProcess/WebPage/mac/WebPageMac.mm:
3055 (WebKit::WebPage::requestActiveNowPlayingSessionInfo):
3057 2016-10-04 Zan Dobersek <zdobersek@igalia.com>
3059 Unreviewed GTK+ build fix.
3061 * UIProcess/API/C/WKPage.cpp:
3062 (WKPageSetPageNavigationClient): Guard the call to getDefaultWebCryptoMasterKey()
3063 with ENABLE(SUBTLE_CRYPTO), since the same guard is used for the definition. Fixes
3064 GTK+ production builds where the feature is disabled.
3066 2016-10-03 Keith Rollin <krollin@apple.com>
3068 More logging to diagnose "WebKit encountered an internal error" messages
3069 https://bugs.webkit.org/show_bug.cgi?id=162754
3071 Reviewed by Antti Koivisto.
3073 Add more logging around calls to internalError, as well as some
3074 low-level logging around SharedMemory, and mach_vm_map in particular.
3076 * NetworkProcess/NetworkResourceLoader.cpp:
3077 (WebKit::NetworkResourceLoader::startNetworkLoad):
3078 * Platform/Logging.h:
3079 * Platform/mac/SharedMemoryMac.cpp:
3080 (WebKit::SharedMemory::allocate):
3081 (WebKit::makeMemoryEntry):
3082 (WebKit::SharedMemory::map):
3083 (WebKit::SharedMemory::~SharedMemory):
3084 * WebProcess/Network/WebLoaderStrategy.cpp:
3085 (WebKit::WebLoaderStrategy::networkProcessCrashed):
3086 (WebKit::WebLoaderStrategy::loadResourceSynchronously):
3087 * WebProcess/Network/WebResourceLoader.cpp:
3088 (WebKit::WebResourceLoader::didReceiveResource):
3090 2016-10-03 Ryan Haddad <ryanhaddad@apple.com>
3092 Unreviewed, rolling out r206754.
3094 This change broke the El Capitan and Yosemite debug builds.
3098 "More logging to diagnose "WebKit encountered an internal
3100 https://bugs.webkit.org/show_bug.cgi?id=162754
3101 http://trac.webkit.org/changeset/206754
3103 2016-10-03 Keith Rollin <krollin@apple.com>
3105 More logging to diagnose "WebKit encountered an internal error" messages
3106 https://bugs.webkit.org/show_bug.cgi?id=162754
3108 Reviewed by Antti Koivisto.
3110 Add more logging around calls to internalError, as well as some
3111 low-level logging around SharedMemory, and mach_vm_map in particular.
3113 * NetworkProcess/NetworkResourceLoader.cpp:
3114 (WebKit::NetworkResourceLoader::startNetworkLoad):
3115 * Platform/Logging.h:
3116 * Platform/mac/SharedMemoryMac.cpp:
3117 (WebKit::SharedMemory::allocate):
3118 (WebKit::makeMemoryEntry):
3119 (WebKit::SharedMemory::map):
3120 (WebKit::SharedMemory::~SharedMemory):
3121 * WebProcess/Network/WebLoaderStrategy.cpp:
3122 (WebKit::WebLoaderStrategy::networkProcessCrashed):
3123 (WebKit::WebLoaderStrategy::loadResourceSynchronously):
3124 * WebProcess/Network/WebResourceLoader.cpp:
3125 (WebKit::WebResourceLoader::didReceiveResource):
3127 2016-10-03 Chris Dumez <cdumez@apple.com>
3129 Add support for KeyboardEvent.key attribute
3130 https://bugs.webkit.org/show_bug.cgi?id=36267
3132 Reviewed by Darin Adler.
3134 Add support for KeyboardEvent.key attribute.
3136 * Shared/WebEvent.h:
3137 (WebKit::WebKeyboardEvent::key):
3138 (WebKit::WebKeyboardEvent::unmodifiedText): Deleted.
3139 * Shared/WebEventConversion.cpp:
3140 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
3141 * Shared/WebKeyboardEvent.cpp:
3142 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
3143 (WebKit::WebKeyboardEvent::encode):
3144 (WebKit::WebKeyboardEvent::decode):
3145 * Shared/mac/WebEventFactory.mm:
3146 (WebKit::WebEventFactory::createWebKeyboardEvent):
3148 2016-10-03 Chris Dumez <cdumez@apple.com>
3150 Add support for KeyboardEvent.key attribute
3151 https://bugs.webkit.org/show_bug.cgi?id=36267
3153 Reviewed by Darin Adler.
3155 Add support for KeyboardEvent.key attribute.
3157 * Shared/WebEvent.h:
3158 (WebKit::WebKeyboardEvent::key):
3159 (WebKit::WebKeyboardEvent::unmodifiedText): Deleted.
3160 * Shared/WebEventConversion.cpp:
3161 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
3162 * Shared/WebKeyboardEvent.cpp:
3163 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
3164 (WebKit::WebKeyboardEvent::encode):
3165 (WebKit::WebKeyboardEvent::decode):
3166 * Shared/mac/WebEventFactory.mm:
3167 (WebKit::WebEventFactory::createWebKeyboardEvent):
3169 2016-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
3171 [SOUP] Cleanup persistent credential storage code
3172 https://bugs.webkit.org/show_bug.cgi?id=162777
3174 Reviewed by Alex Christensen.
3176 Use USE(LIBSECRET) instead of ENABLE(CREDENTIAL_STORAGE).
3178 * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp:
3179 (webkit_authentication_request_can_save_credentials):
3181 2016-10-02 Ryan Haddad <ryanhaddad@apple.com>
3183 Unreviewed, rolling out r206683.
3185 This change caused API test WebKit2.FindMatches to fail on
3190 "The dragged image should be the current frame only of the
3192 https://bugs.webkit.org/show_bug.cgi?id=162109
3193 http://trac.webkit.org/changeset/206683
3195 2016-09-30 Myles C. Maxfield <mmaxfield@apple.com>
3197 Follow-up patch after r206701
3198 https://bugs.webkit.org/show_bug.cgi?id=162818
3202 I missed one place required to enable an experimental feature by default.
3204 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3205 (WebKit::registerUserDefaultsIfNeeded):
3207 2016-09-30 Dan Bernstein <mitz@apple.com>
3209 [iOS] Editing menu omits the Share command if the selected text is longer than 200 characters
3210 https://bugs.webkit.org/show_bug.cgi?id=162821
3211 <rdar://problem/28409828>
3213 Reviewed by Tim Horton.
3215 * UIProcess/ios/WKContentViewInteraction.mm:
3216 (-[WKContentView canPerformAction:withSender:]): Changed to return YES for the _share:
3217 action even if the selection is longer than 200 characters. While Define should not have
3218 been available for longer selections, Share does not have such a limitation.
3220 2016-09-30 Myles C. Maxfield <mmaxfield@apple.com>
3222 Turn variation fonts on by default
3223 https://bugs.webkit.org/show_bug.cgi?id=162818
3225 Reviewed by Simon Fraser.
3227 * Shared/WebPreferencesDefinitions.h:
3229 2016-09-30 Brady Eidson <beidson@apple.com>
3231 REGRESSION (Safari 10 combined with WK changes): Unable to store WebCrypto keys in IndexedDB database.
3232 <rdar://problem/28334440> and https://bugs.webkit.org/show_bug.cgi?id=162554
3234 Reviewed by Alexey Proskuryakov.
3236 Safari 10 has a WKPageNavigation client but does not implement the "copyWebCryptoMasterKey" callback.
3238 WebKit just fails in this case, instead of falling back to "getDefaultWebCryptoMasterKey".
3239 It should fall back.
3241 Additionally there's a WKContextClient callback to get the crypto key, also, but it is completely unused.
3242 So it should be pulled.
3244 * UIProcess/API/APILoaderClient.h:
3245 (API::LoaderClient::webCryptoMasterKey): Deleted.
3246 * UIProcess/API/C/WKContext.h:
3248 * UIProcess/API/C/WKPage.cpp:
3249 (WKPageSetPageLoaderClient):
3250 (WKPageSetPageNavigationClient): If the client doesn't implement this method, fallback to getDefaultWebCryptoMasterKey.
3252 * UIProcess/Cocoa/NavigationState.mm:
3253 (WebKit::NavigationState::NavigationClient::webCryptoMasterKey): If the client doesn't implement this method,
3254 fallback to getDefaultWebCryptoMasterKey.
3256 * UIProcess/WebContextClient.cpp:
3257 (WebKit::WebContextClient::copyWebCryptoMasterKey): Deleted.
3258 * UIProcess/WebContextClient.h:
3260 * UIProcess/WebPageProxy.cpp:
3261 (WebKit::WebPageProxy::wrapCryptoKey): Only ask the NavigationClient before falling back. Don't ask the loader client.
3262 (WebKit::WebPageProxy::unwrapCryptoKey): Ditto.
3264 2016-09-30 Said Abou-Hallawa <sabouhallawa@apple.com>
3266 The dragged image should be the current frame only of the animated image
3267 https://bugs.webkit.org/show_bug.cgi?id=162109
3269 Reviewed by Tim Horton.
3271 * UIProcess/Cocoa/WebViewImpl.mm:
3272 (WebKit::WebViewImpl::provideDataForPasteboard): Call the Image function with its new name.
3274 2016-09-30 Anders Carlsson <andersca@apple.com>
3276 Second time going into fullscreen using silverlight, will hide the menu bar and dock for Safari
3277 https://bugs.webkit.org/show_bug.cgi?id=162805
3278 rdar://problem/28208495
3280 Reviewed by Dan Bernstein.
3282 Turns out that the WindowRef wrappers for full screen NSWindows can end up in the m_windows HashSet,
3285 Fix this by storing the canonical CGWindowIDs in the hash map instead.
3287 * PluginProcess/mac/PluginProcessMac.mm:
3288 (WebKit::cgWindowID):
3289 (WebKit::windowCoversAnyScreen):
3290 (WebKit::FullscreenWindowTracker::windowShown):
3291 (WebKit::FullscreenWindowTracker::windowHidden):
3293 2016-09-30 Myles C. Maxfield <mmaxfield@apple.com>
3295 Create runtime flag for variation font work
3296 https://bugs.webkit.org/show_bug.cgi?id=162780
3298 Reviewed by Alex Christensen.
3300 * Shared/WebPreferencesDefinitions.h:
3301 * WebProcess/WebPage/WebPage.cpp:
3302 (WebKit::WebPage::updatePreferences):
3304 2016-09-30 Chris Dumez <cdumez@apple.com>
3306 [WK2][iOS] Add radiusX / radiusY / rotationAngle to WebPlatformTouchPoint
3307 https://bugs.webkit.org/show_bug.cgi?id=162787
3308 <rdar://problem/28554292>
3310 Reviewed by Benjamin Poulain.
3312 Add radiusX / radiusY / rotationAngle to WebPlatformTouchPoint.
3314 * Platform/spi/ios/UIKitSPI.h:
3315 * Shared/WebEvent.h:
3316 (WebKit::WebPlatformTouchPoint::setRadiusX):
3317 (WebKit::WebPlatformTouchPoint::radiusX):
3318 (WebKit::WebPlatformTouchPoint::setRadiusY):
3319 (WebKit::WebPlatformTouchPoint::radiusY):
3320 (WebKit::WebPlatformTouchPoint::setRotationAngle):
3321 (WebKit::WebPlatformTouchPoint::rotationAngle):
3322 * Shared/WebEventConversion.cpp:
3323 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
3324 * Shared/ios/NativeWebTouchEventIOS.mm:
3325 (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
3326 * Shared/ios/WebPlatformTouchPointIOS.cpp:
3327 (WebKit::WebPlatformTouchPoint::encode):
3328 (WebKit::WebPlatformTouchPoint::decode):
3330 2016-09-30 Megan Gardner <megan_gardner@apple.com>
3332 Make it possible to test web-related user-interface features
3333 https://bugs.webkit.org/show_bug.cgi?id=162657
3335 Reviewed by Simon Fraser.
3337 Added the ability to pull the strings from an Action Sheet and pass them to
3338 test scripts to make sure we are giving the correct available actions for
3339 the item we are interacting with.
3340 Added a test for long press on an image, and used the sheet scraping functionality
3341 to make sure that the correct actions were being displayed.
3342 Test for previous patch, Changeset 205915; Bug 161761
3344 * UIProcess/API/Cocoa/WKWebView.mm:
3345 (-[WKWebView _contentsOfUserInterfaceItem:]):
3346 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3347 * UIProcess/ios/WKActionSheetAssistant.h:
3348 * UIProcess/ios/WKActionSheetAssistant.mm:
3349 (-[WKActionSheetAssistant currentAvailableActionStrings]):
3350 * UIProcess/ios/WKContentViewInteraction.h:
3351 * UIProcess/ios/WKContentViewInteraction.mm:
3352 (-[WKContentView _contentsOfUserInterfaceItem:]):
3354 2016-09-27 Anders Carlsson <andersca@apple.com>
3356 Remove a couple of unused members from PlatformKeyboardEvent
3357 https://bugs.webkit.org/show_bug.cgi?id=162641
3359 Reviewed by Tim Horton.
3361 * Shared/WebEventConversion.cpp:
3362 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
3364 2016-09-29 Nan Wang <n_wang@apple.com>
3366 AX: iOS: Tapping <input> in Safari zooms in a bit when page has max scale = 1
3367 https://bugs.webkit.org/show_bug.cgi?id=162471
3369 Reviewed by Simon Fraser.
3371 * Shared/AssistedNodeInformation.cpp:
3372 (WebKit::AssistedNodeInformation::encode):
3373 (WebKit::AssistedNodeInformation::decode):
3374 * Shared/AssistedNodeInformation.h:
3375 * UIProcess/ios/WKContentViewInteraction.mm:
3376 (-[WKContentView _displayFormNodeInputView]):
3377 * WebProcess/WebPage/WebPage.h:
3378 * WebProcess/WebPage/ios/WebPageIOS.mm:
3379 (WebKit::WebPage::maximumPageScaleFactorIgnoringAlwaysScalable):
3380 (WebKit::WebPage::getAssistedNodeInformation):
3382 2016-09-29 Daniel Bates <dabates@apple.com>
3384 Mark NetworkLoad as final
3385 https://bugs.webkit.org/show_bug.cgi?id=162681
3387 Reviewed by Alex Christensen.
3389 Mark class NetworkLoad as final as we do not have any derived classes at the moment and it
3390 is unclear if it would make sense to subclass it. We can always unmark the class if it turns
3391 out that it makes sense to subclass it.
3393 * NetworkProcess/NetworkLoad.h:
3395 2016-09-29 Sam Weinig <sam@webkit.org>
3397 Allow overriding some NSURLSessionConfiguration properties on a per-NetworkProcess basis
3398 <rdar://problem/27648683>
3399 https://bugs.webkit.org/show_bug.cgi?id=162735
3401 Reviewed by Dan Bernstein.
3403 Add SPI for overriding the following NSURLSessionConfigurations properties:
3404 - _sourceApplicationBundleIdentifier
3405 - _sourceApplicationSecondaryIdentifier
3406 - _CTDataConnectionServiceType
3408 * NetworkProcess/NetworkProcess.cpp:
3409 (WebKit::NetworkProcess::initializeNetworkProcess):
3410 * NetworkProcess/NetworkProcessCreationParameters.cpp:
3411 (WebKit::NetworkProcessCreationParameters::encode):
3412 (WebKit::NetworkProcessCreationParameters::decode):
3413 * NetworkProcess/NetworkProcessCreationParameters.h:
3414 * NetworkProcess/NetworkSession.h:
3415 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3416 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
3417 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
3418 (WebKit::globalSourceApplicationBundleIdentifier):
3419 (WebKit::globalSourceApplicationSecondaryIdentifier):
3420 (WebKit::globalCTDataConnectionServiceType):
3421 (WebKit::NetworkSession::setCustomProtocolManager):
3422 (WebKit::NetworkSession::setSourceApplicationAuditTokenData):
3423 (WebKit::NetworkSession::setSourceApplicationBundleIdentifier):
3424 (WebKit::NetworkSession::setSourceApplicationSecondaryIdentifier):
3425 (WebKit::NetworkSession::setCTDataConnectionServiceType):
3426 (WebKit::NetworkSession::NetworkSession):
3427 * UIProcess/API/APIProcessPoolConfiguration.cpp:
3428 (API::ProcessPoolConfiguration::copy):
3429 * UIProcess/API/APIProcessPoolConfiguration.h:
3430 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
3431 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
3432 (-[_WKProcessPoolConfiguration sourceApplicationBundleIdentifier]):
3433 (-[_WKProcessPoolConfiguration setSourceApplicationBundleIdentifier:]):
3434 (-[_WKProcessPoolConfiguration sourceApplicationSecondaryIdentifier]):
3435 (-[_WKProcessPoolConfiguration setSourceApplicationSecondaryIdentifier:]):
3436 (-[_WKProcessPoolConfiguration CTDataConnectionServiceType]):
3437 (-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]):
3438 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3439 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
3440 * WebProcess/WebProcess.cpp:
3441 (WebKit::WebProcess::initializeWebProcess):
3442 * WebProcess/cocoa/WebProcessCocoa.mm:
3443 (WebKit::WebProcess::platformInitializeWebProcess):
3445 2016-09-29 Carlos Garcia Campos <cgarcia@igalia.com>
3447 NetworkSession: HTTP authentication doesn't work if PROTECTION_SPACE_AUTH_CALLBACK is not enabled
3448 https://bugs.webkit.org/show_bug.cgi?id=162724
3450 Reviewed by Alex Christensen.
3452 NetworkLoad always expects continueCanAuthenticateAgainstProtectionSpace() to be called to complete the
3453 authentication challenge, which is only defined when PROTECTION_SPACE_AUTH_CALLBACK is enabled.
3454 I've added missing #ifdefs for PROTECTION_SPACE_AUTH_CALLBACK.
3456 * NetworkProcess/Downloads/DownloadManager.cpp:
3457 (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
3458 * NetworkProcess/Downloads/DownloadManager.h:
3459 * NetworkProcess/Downloads/PendingDownload.cpp:
3460 (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
3461 * NetworkProcess/Downloads/PendingDownload.h:
3462 * NetworkProcess/NetworkLoad.cpp:
3463 (WebKit::NetworkLoad::~NetworkLoad):
3464 (WebKit::NetworkLoad::didReceiveChallenge): Call completeAuthenticationChallenge() instead of
3465 canAuthenticateAgainstProtectionSpaceAsync() when PROTECTION_SPACE_AUTH_CALLBACK is not enabled.
3466 (WebKit::NetworkLoad::completeAuthenticationChallenge): Moved common code to complete the authentication
3467 challenge from continueCanAuthenticateAgainstProtectionSpace().
3468 (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): Call completeAuthenticationChallenge().
3469 (WebKit::NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync):
3470 * NetworkProcess/NetworkLoad.h:
3471 * NetworkProcess/NetworkLoadClient.h:
3472 * NetworkProcess/NetworkProcess.cpp:
3473 (WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpaceDownload):
3474 * NetworkProcess/NetworkProcess.h:
3475 * NetworkProcess/NetworkProcess.messages.in:
3476 * NetworkProcess/NetworkResourceLoader.cpp:
3477 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
3478 (WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
3479 * NetworkProcess/NetworkResourceLoader.h:
3480 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
3481 * Shared/Authentication/AuthenticationManager.h:
3482 * UIProcess/Downloads/DownloadProxy.cpp:
3483 (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
3484 * UIProcess/Downloads/DownloadProxy.h:
3485 * UIProcess/Downloads/DownloadProxy.messages.in:
3487 2016-09-28 Joseph Pecoraro <pecoraro@apple.com>
3489 WKSharedAPICast should not warn about acceptable custom context menu tag values
3490 https://bugs.webkit.org/show_bug.cgi?id=162597
3491 <rdar://problem/28487627>
3493 Reviewed by Tim Horton.
3495 * Shared/API/c/WKSharedAPICast.h:
3498 Don't log an error when casting ContextMenu types if it is within
3499 the Custom ContextMenu tag range.
3501 2016-09-27 Wenson Hsieh <wenson_hsieh@apple.com>
3503 Adopt MediaRemote SPI to achieve desired Now Playing behavior
3504 https://bugs.webkit.org/show_bug.cgi?id=162658
3505 <rdar://problem/28499358>
3507 Reviewed by Jer Noble.
3509 Plumbs Now Playing session information (for now, this is just a flag indicating whether or not there is an
3510 active session) across from the web process to the UI process for testing in the form of asynchronous request/
3511 handle-response messages on the WebPage and its proxy in the UI process.
3513 * UIProcess/API/Cocoa/WKWebView.mm:
3514 (-[WKWebView _requestActiveNowPlayingSessionInfo]):
3515 (-[WKWebView _handleActiveNowPlayingSessionInfoResponse:]):
3516 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3517 * UIProcess/PageClient.h:
3518 * UIProcess/WebPageProxy.cpp:
3519 (WebKit::WebPageProxy::requestActiveNowPlayingSessionInfo):
3520 (WebKit::WebPageProxy::handleActiveNowPlayingSessionInfoResponse):
3521 * UIProcess/WebPageProxy.h:
3522 * UIProcess/WebPageProxy.messages.in:
3523 * UIProcess/mac/PageClientImpl.h:
3524 * UIProcess/mac/PageClientImpl.mm:
3525 (WebKit::PageClientImpl::handleActiveNowPlayingSessionInfoResponse):
3526 * WebProcess/WebPage/WebPage.h:
3527 * WebProcess/WebPage/WebPage.messages.in:
3528 * WebProcess/WebPage/mac/WebPageMac.mm:
3529 (WebKit::WebPage::requestActiveNowPlayingSessionInfo):
3531 2016-09-28 Carlos Garcia Campos <cgarcia@igalia.com>
3533 [GTK] Switch to use GMenu internally in the context menu implementation
3534 https://bugs.webkit.org/show_bug.cgi?id=162603
3536 Reviewed by Michael Catanzaro.
3538 Switch to use GAction instead of GtkAction internally, but still keeping a GtkAction associated to the GAction,
3539 because our API depends on GtkAction.
3541 * Shared/gtk/WebContextMenuItemGtk.cpp:
3542 (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk):
3543 (WebKit::WebContextMenuItemGtk::createActionIfNeeded): Create the GAction and the associated GtkAction. Ensure a
3544 unique name for the GAction, since the name now matters.
3545 * Shared/gtk/WebContextMenuItemGtk.h:
3546 (WebKit::WebContextMenuItemGtk::gtkAction):
3547 (WebKit::WebContextMenuItemGtk::gAction):
3548 (WebKit::WebContextMenuItemGtk::submenuItems): Deleted.
3549 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3550 (WebKit::contextMenuItemActivatedCallback): Use the GAction.
3551 (WebKit::WebContextMenuProxyGtk::append): Create a new GMenuItem for the GAction.
3552 (WebKit::WebContextMenuProxyGtk::buildMenu): Build a GMenu for the given items.
3553 (WebKit::WebContextMenuProxyGtk::populate): Create a GMenu and bind it ot the GtkMenu.
3554 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Create the GActionGroup for the menu.
3555 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Remove the action group from the GtkMenu.
3556 * UIProcess/gtk/WebContextMenuProxyGtk.h:
3558 2016-09-27 Daniel Bates <dabates@apple.com>
3560 NetworkLoad and PingLoad should use private inheritance
3561 https://bugs.webkit.org/show_bug.cgi?id=162649
3563 Reviewed by Alex Christensen.
3565 Make NetworkLoad privately inherit from NetworkDataTaskClient and ResourceHandleClient,
3566 and make the client callbacks from these interfaces private as this class implements
3569 Similarly, make PingLoad privately inherit from ResourceHandleClient.
3571 * NetworkProcess/NetworkLoad.h:
3572 * NetworkProcess/PingLoad.h:
3574 2016-09-20 Anders Carlsson <andersca@apple.com>
3576 PlatformEvent::m_modifiers should be an OptionSet
3577 https://bugs.webkit.org/show_bug.cgi?id=162326
3579 Reviewed by Daniel Bates.
3581 * Shared/WebEventConversion.cpp:
3582 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
3583 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
3584 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
3585 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
3587 2016-09-27 Dan Bernstein <mitz@apple.com>
3589 [iOS] REGRESSION (r182126): Selection highlight and handles aren’t visible with WKSelectionGranularityCharacter
3590 https://bugs.webkit.org/show_bug.cgi?id=162577
3591 <rdar://problem/28481984>
3593 Reviewed by Simon Fraser.
3595 * UIProcess/API/Cocoa/WKWebView.mm:
3596 (-[WKWebView _uiTextSelectionRectViews]): Added this method in the WKTesting category, which
3597 uses UIKit internals to get the views used for the selection highlight.
3598 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3600 * UIProcess/ios/WKContentViewInteraction.mm:
3601 (-[WKContentView _selectionClipRect]): When selection is not confined to a form control or
3602 content-editable element, return the null rect to indicate no clipping, rather than
3603 clipping to the empty rect at the origin.
3605 2016-09-27 Jer Noble <jer.noble@apple.com>
3607 Remove deprecated ENCRYPTED_MEDIA implementation.
3608 https://bugs.webkit.org/show_bug.cgi?id=161010
3610 Reviewed by Eric Carlson.
3612 Remove ENABLE_ENCRYPTED_MEDIA.
3614 * Configurations/FeatureDefines.xcconfig:
3616 2016-09-27 Chris Dumez <cdumez@apple.com>
3618 [WK2] Navigating to a Blob URL does not trigger a download
3619 https://bugs.webkit.org/show_bug.cgi?id=162574
3621 Reviewed by Darin Adler.
3623 Add support for converting Blob URL loads into downloads.
3625 * NetworkProcess/Downloads/BlobDownloadClient.cpp:
3626 (WebKit::BlobDownloadClient::didReceiveResponseAsync):
3627 Make sure we return a valid suggested filename because the client side (Safari)
3628 does not deal with empty suggested filenames. Use "unknown" by default to
3629 match the default suggested filename of non-Blob downloads.
3631 * NetworkProcess/Downloads/Download.cpp:
3632 (WebKit::Download::startWithHandle):
3633 * NetworkProcess/Downloads/Download.h:
3634 * NetworkProcess/Downloads/DownloadManager.cpp:
3635 (WebKit::DownloadManager::convertHandleToDownload):
3636 * NetworkProcess/Downloads/DownloadManager.h:
3637 * NetworkProcess/Downloads/ios/DownloadIOS.mm:
3638 (WebKit::Download::startNetworkLoadWithHandle):
3639 * NetworkProcess/Downloads/mac/DownloadMac.mm:
3640 (WebKit::Download::startNetworkLoadWithHandle):
3641 * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
3642 (WebKit::Download::startNetworkLoadWithHandle):
3643 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3644 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
3645 * NetworkProcess/NetworkLoad.h:
3646 (WebKit::NetworkLoad::handle):
3648 2016-09-27 Michael Catanzaro <mcatanzaro@igalia.com>
3650 [GTK] Unreviewed typo fix
3652 * UIProcess/API/gtk/WebKitWebInspector.cpp:
3653 (webkit_web_inspector_class_init):
3655 2016-09-27 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3657 [GTK] Should check whether GDK can use GL before asking it to
3658 https://bugs.webkit.org/show_bug.cgi?id=162598
3660 Reviewed by Michael Catanzaro.
3662 gdk_cairo_draw_from_gl can fail even when WebKit itself has been able to use GL (its
3663 context creation code might be buggy, GL may have been disabled using GDK_GL=disable, …).
3664 Unfortunately it does not have any error reporting other than a warning printed to
3665 stderr, so we cannot fallback from it. We have to first check if GL can be used by GDK
3666 by trying to create a context.
3668 See https://bugzilla.redhat.com/show_bug.cgi?id=1378987
3670 * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
3671 (WebKit::AcceleratedBackingStoreWayland::canGdkUseGL): decide whether GDK can use GL by
3672 trying to create a context for a GdkWindow.
3673 (WebKit::AcceleratedBackingStoreWayland::paint): fallback to glReadPixels if GDK cannot
3675 * UIProcess/gtk/AcceleratedBackingStoreWayland.h:
3677 2016-09-26 Tim Horton <timothy_horton@apple.com>
3679 Delete some unused code from r202695
3680 https://bugs.webkit.org/show_bug.cgi?id=162595
3681 <rdar://problem/28343784>
3683 Reviewed by Dan Bernstein.
3685 * UIProcess/API/Cocoa/WKWebView.mm:
3686 (-[WKWebView _initializeWithConfiguration:]):
3687 (-[WKWebView _setIsBlankBeforeFirstNonEmptyLayout:]): Deleted.
3688 (-[WKWebView _didFirstVisuallyNonEmptyLayoutForMainFrame]): Deleted.
3689 * UIProcess/API/Cocoa/WKWebViewInternal.h:
3690 * UIProcess/ios/PageClientImplIOS.mm:
3691 (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
3692 We didn't end up needing this mechanism.
3694 2016-09-26 Dan Bernstein <mitz@apple.com>
3696 -_webViewWebProcessDidBecomeUnresponsive: gets called when the Web process is stopped in the debugger
3697 https://bugs.webkit.org/show_bug.cgi?id=162234
3699 Reviewed by Sam Weinig.
3701 * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
3702 (WebKit::WebProcessProxy::platformIsBeingDebugged): Use the KERN_PROC sysctl to get the
3703 process flags and check for P_TRACED.
3705 * UIProcess/ResponsivenessTimer.cpp:
3706 (WebKit::ResponsivenessTimer::timerFired): Call the new client function
3707 mayBecomeUnresponsive. If it returns false, restart the timer and bail out without
3708 changing the responsiveness state.
3710 * UIProcess/ResponsivenessTimer.h: Declared new client function mayBecomeUnresponsive.
3712 * UIProcess/WebProcessProxy.cpp:
3713 (WebKit::WebProcessProxy::platformIsBeingDebugged): A generic implementation that always
3715 (WebKit::WebProcessProxy::mayBecomeUnresponsive): Implement this new
3716 ResponsivenessTimer::Client function to return true unless the process is being debugged.
3717 * UIProcess/WebProcessProxy.h:
3719 2016-09-26 Chris Dumez <cdumez@apple.com>
3721 [WK2] BlobDownloadClient should use asynchronous IPC to decide destination path
3722 https://bugs.webkit.org/show_bug.cgi?id=162568
3724 Reviewed by Alex Christensen.
3726 Use DecideDestinationWithSuggestedFilenameAsync IPC to decide the destination
3727 path in the case of Blob downloads, instead of the synchronous alternative.
3728 To achieve this, BlobResourceHandle was updated in WebCore to properly support
3729 asynchronous callback and BlobDownloadClient was updated to use asynchronous
3730 callbacks. When BlobDownloadClient::didReceiveResponseAsync() is called, we
3731 now ask the WebContent process asynchronously to decide what the destination
3732 path should be. Then, when we later get the destination path back from the
3733 WebContent process, we create the file on disk and call
3734 continueDidReceiveResponse() on the BlobResourceHandle so we start getting the
3737 * NetworkProcess/Downloads/BlobDownloadClient.cpp:
3738 (WebKit::BlobDownloadClient::didReceiveResponseAsync):
3739 (WebKit::BlobDownloadClient::didDecideDownloadDestination):
3740 * NetworkProcess/Downloads/BlobDownloadClient.h:
3741 * NetworkProcess/Downloads/Download.cpp:
3742 (WebKit::Download::decideDestinationWithSuggestedFilenameAsync):
3743 (WebKit::Download::didDecideDownloadDestination):
3744 (WebKit::Download::continueDidReceiveResponse):
3745 (WebKit::Download::decideDestinationWithSuggestedFilename): Deleted.
3746 * NetworkProcess/Downloads/Download.h:
3747 * NetworkProcess/Downloads/DownloadManager.cpp:
3748 (WebKit::DownloadManager::willDecidePendingDownloadDestination):
3749 (WebKit::DownloadManager::continueDecidePendingDownloadDestination):
3750 (WebKit::DownloadManager::convertHandleToDownload): Deleted.
3751 * NetworkProcess/Downloads/DownloadManager.h:
3752 * NetworkProcess/NetworkLoad.cpp:
3753 (WebKit::NetworkLoad::continueDidReceiveResponse):
3754 * NetworkProcess/NetworkProcess.cpp:
3755 (WebKit::NetworkProcess::continueDecidePendingDownloadDestination):
3756 * NetworkProcess/NetworkProcess.h:
3757 * NetworkProcess/NetworkProcess.messages.in:
3758 * UIProcess/Downloads/DownloadProxy.cpp:
3759 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync): Deleted.
3760 * UIProcess/Downloads/DownloadProxy.h:
3761 * UIProcess/Downloads/DownloadProxy.messages.in:
3763 2016-09-26 Daniel Bates <dabates@apple.com>
3765 Mark Ping{Handle, Load} as final
3766 https://bugs.webkit.org/show_bug.cgi?id=162576
3768 Reviewed by Alex Christensen.
3770 We should not support subclassing of a ping handle or overriding its NetworkDataTaskClient
3771 callbacks because there are security/privacy implications with a ping request. We should
3772 not encourage subclassing without careful consideration.
3774 * NetworkProcess/PingLoad.h:
3776 2016-09-26 Daniel Bates <dabates@apple.com>
3778 Rename IOS_TEXT_AUTOSIZING to TEXT_AUTOSIZING
3779 https://bugs.webkit.org/show_bug.cgi?id=162365
3781 Reviewed by Simon Fraser.
3783 * Configurations/FeatureDefines.xcconfig:
3784 * WebProcess/WebPage/WebPage.cpp:
3785 (WebKit::WebPage::updatePreferences):
3787 2016-09-26 Michael Catanzaro <mcatanzaro@igalia.com>
3789 Fix -Wformat warnings in WebLoaderStrategy
3790 https://bugs.webkit.org/show_bug.cgi?id=162553
3792 Reviewed by Alex Christensen.
3794 Consistently use PRIu64 to print uint64_t
3796 * NetworkProcess/Downloads/Download.cpp:
3797 (WebKit::Download::didReceiveResponse):
3798 (WebKit::Download::didReceiveData):
3799 (WebKit::Download::didFinish):
3800 (WebKit::Download::didFail):
3801 (WebKit::Download::didCancel):
3802 * NetworkProcess/NetworkResourceLoader.cpp:
3803 (WebKit::NetworkResourceLoader::start):
3804 (WebKit::NetworkResourceLoader::startNetworkLoad):
3805 (WebKit::NetworkResourceLoader::setDefersLoading):
3806 (WebKit::NetworkResourceLoader::abort):
3807 (WebKit::NetworkResourceLoader::didReceiveBuffer):
3808 (WebKit::NetworkResourceLoader::didFinishLoading):
3809 (WebKit::NetworkResourceLoader::didFailLoading):
3810 (WebKit::NetworkResourceLoader::continueWillSendRequest):
3811 * WebProcess/Network/WebLoaderStrategy.cpp:
3812 (WebKit::WebLoaderStrategy::scheduleLoad):
3813 * WebProcess/Network/WebResourceLoader.cpp:
3814 (WebKit::WebResourceLoader::willSendRequest):
3815 (WebKit::WebResourceLoader::didReceiveResponse):
3816 (WebKit::WebResourceLoader::didReceiveData):
3817 (WebKit::WebResourceLoader::didFinishResourceLoad):
3818 (WebKit::WebResourceLoader::didFailResourceLoad):
3819 (WebKit::WebResourceLoader::didReceiveResource):
3821 == Rolled over to ChangeLog-2016-09-26 ==