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