== Rolled over to ChangeLog-2016-09-26 ==
[WebKit-https.git] / Source / WebKit2 / ChangeLog-2016-09-26
1 2016-09-26  Michael Catanzaro  <mcatanzaro@igalia.com>
2
3         Fix -Wformat warnings in WebLoaderStrategy
4         https://bugs.webkit.org/show_bug.cgi?id=162553
5
6         Unreviewed
7
8         Two of the format arguments are swapped. Fix them.
9
10         * WebProcess/Network/WebLoaderStrategy.cpp:
11         (WebKit::WebLoaderStrategy::scheduleLoad):
12
13 2016-09-25  Chris Dumez  <cdumez@apple.com>
14
15         Regression(r206356): Caused crashes for !NETWORK_SESSION code path
16         https://bugs.webkit.org/show_bug.cgi?id=162541
17
18         Reviewed by Alexey Proskuryakov.
19
20         After r206356, if Download is downloading a Blob instead of doing a
21         network load, then m_resourceHandle / m_downloadClient are used to do
22         the download. This broke some assumptions on Mac because the
23         NETWORK_SESSION code path assumed it was relying on m_download and the
24         !NETWORK_SESSION code path assumed it was using m_nsURLDownload /
25         m_delegate.
26
27         This patch refactors the code so that:
28         - The Download destructor now takes care of invalidating
29           m_resourceHandle and m_downloadClient before calling
30           platformInvalidate(). For the SOUP code path,
31           platformInvalidate() no longer needs to do anything
32           because SOUP uses m_resourceHandle / m_downloadClient
33           only. For the Mac !NETWORK_SESSION code path, we keep
34           invalidating m_nsURLDownload / m_delegate but we no
35           longer assume that those are initialized (given that
36           they are not when downloading a blob). Other
37           platforms do nothing in platformInvalidate() at the
38           moment.
39         - Download::cancel() now takes care of cancelling the
40           download if we're downloading a blob. Otherwise, we
41           call the platform specific cancelNetworkLoad(). This
42           is the same pattern that is used for start() /
43           startNetworkLoad().
44
45         * NetworkProcess/Downloads/BlobDownloadClient.cpp:
46         (WebKit::BlobDownloadClient::didCancel):
47         * NetworkProcess/Downloads/BlobDownloadClient.h:
48         * NetworkProcess/Downloads/Download.cpp:
49         (WebKit::Download::~Download):
50         (WebKit::Download::cancel):
51         * NetworkProcess/Downloads/Download.h:
52         * NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
53         (WebKit::Download::cancelNetworkLoad):
54         (WebKit::Download::cancel): Deleted.
55         * NetworkProcess/Downloads/ios/DownloadIOS.mm:
56         (WebKit::Download::cancelNetworkLoad):
57         (WebKit::Download::cancel): Deleted.
58         * NetworkProcess/Downloads/mac/DownloadMac.mm:
59         (WebKit::Download::cancelNetworkLoad):
60         (WebKit::Download::platformInvalidate):
61         (WebKit::Download::cancel): Deleted.
62         * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
63         (WebKit::Download::cancelNetworkLoad):
64         (WebKit::Download::platformInvalidate):
65         (WebKit::Download::cancel): Deleted.
66
67 2016-09-24  Chris Dumez  <cdumez@apple.com>
68
69         [WK2] Enable support for 'download' attribute on anchor elements
70         https://bugs.webkit.org/show_bug.cgi?id=162535
71
72         Reviewed by Darin Adler.
73
74         Enable support for 'download' attribute on anchor elements for WebKit2
75         now that:
76         - It works with our NETWORK_SESSION code path (Bug 162531)
77         - Supports Blob / Data URLs (Bug 156099)
78         - Requires user interaction / ignores synthetic clicks (Bug 156099)
79
80         * Shared/WebPreferencesDefinitions.h:
81
82 2016-09-24  Chris Dumez  <cdumez@apple.com>
83
84         <a download> does not support Blob URLs
85         https://bugs.webkit.org/show_bug.cgi?id=156099
86         <rdar://problem/25535520>
87
88         Reviewed by Darin Adler.
89
90         Add support for downloading Blob URLs to WebKit2. This should work for
91         all WebKit2 port. This also works in combination with the download
92         attribute on anchor elements. Note that the download attribute is only
93         enabled at runtime in the context of the layout tests for now. I'll
94         enable the download attribute on WK2 once I have fixed Bug 162531.
95
96         * CMakeLists.txt:
97         * NetworkProcess/Downloads/BlobDownloadClient.cpp: Added.
98         (WebKit::BlobDownloadClient::BlobDownloadClient):
99         (WebKit::BlobDownloadClient::didReceiveResponse):
100         (WebKit::BlobDownloadClient::didReceiveBuffer):
101         (WebKit::BlobDownloadClient::didFinishLoading):
102         (WebKit::BlobDownloadClient::didFail):
103         * NetworkProcess/Downloads/BlobDownloadClient.h: Added.
104         * NetworkProcess/Downloads/Download.cpp:
105         (WebKit::Download::Download):
106         (WebKit::Download::start):
107         (WebKit::Download::didStart):
108         (WebKit::Download::didReceiveResponse):
109         (WebKit::Download::decideDestinationWithSuggestedFilename):
110         (WebKit::Download::~Download): Deleted.
111         (WebKit::Download::didReceiveData): Deleted.
112         (WebKit::Download::shouldDecodeSourceDataOfMIMEType): Deleted.
113         * NetworkProcess/Downloads/Download.h:
114         (WebKit::Download::Download):
115         (WebKit::Download::suggestedName):
116         (WebKit::Download::request):
117         * NetworkProcess/Downloads/DownloadManager.cpp:
118         (WebKit::DownloadManager::startDownload):
119         * NetworkProcess/Downloads/ios/DownloadIOS.mm:
120         (WebKit::Download::startNetworkLoad):
121         * NetworkProcess/Downloads/mac/DownloadMac.mm:
122         (WebKit::Download::startNetworkLoad):
123         * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
124         (WebKit::Download::startNetworkLoad):
125         * UIProcess/Downloads/DownloadProxy.cpp:
126         (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
127         * UIProcess/Downloads/DownloadProxy.h:
128         * UIProcess/Downloads/DownloadProxy.messages.in:
129         * WebKit2.xcodeproj/project.pbxproj:
130
131 2016-09-24  Chris Dumez  <cdumez@apple.com>
132
133         [WK2] anchor.download attribute value is ignored by NETWORK_SESSION code path
134         https://bugs.webkit.org/show_bug.cgi?id=162531
135
136         Reviewed by Darin Adler.
137
138         Pipe the suggested filename through in the NETWORK_SESSION code path so
139         that it is used when deciding the destination path.
140
141         * NetworkProcess/Downloads/DownloadManager.cpp:
142         (WebKit::DownloadManager::startDownload):
143         * NetworkProcess/Downloads/PendingDownload.cpp:
144         (WebKit::PendingDownload::PendingDownload):
145         * NetworkProcess/Downloads/PendingDownload.h:
146         * NetworkProcess/NetworkDataTask.h:
147         * NetworkProcess/NetworkLoad.cpp:
148         (WebKit::NetworkLoad::setSuggestedFilename):
149         * NetworkProcess/NetworkLoad.h:
150         * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
151         (WebKit::NetworkDataTask::suggestedFilename):
152         (WebKit::NetworkDataTask::setSuggestedFilename):
153         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
154         (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
155
156 2016-09-23  Wenson Hsieh  <wenson_hsieh@apple.com>
157
158         Media controls playhead does not animate smoothly while playing
159         https://bugs.webkit.org/show_bug.cgi?id=162399
160         <rdar://problem/28115680>
161
162         Reviewed by Beth Dakin.
163
164         See WebCore ChangeLog for more details.
165
166         In the UI process, we update the WebPlaybackSessionManager's timing value when the rate or current time changes.
167         Each AVValueTiming is generated from the current time, system anchor time, and playback rate. The behavior of
168         the first two properties is unaffected. However, the rate used to update the timing value is the effective
169         playback rate, which is equal to the playback rate unless we are (1) not playing, (2) interacting with the media
170         controls in such a way that the media is essentially not playing, or (3) the current time precedes the playback
171         start time, accounting for playback direction. In these cases, our effective playback rate is 0, which means
172         that we do not animate the playhead.
173
174         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
175         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
176         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
177         (WebKit::WebPlaybackSessionModelContext::beginScrubbing):
178         (WebKit::WebPlaybackSessionModelContext::endScrubbing):
179         (WebKit::WebPlaybackSessionModelContext::setPlaybackStartedTime):
180         (WebKit::WebPlaybackSessionModelContext::setCurrentTime):
181         (WebKit::WebPlaybackSessionManagerProxy::setPlaybackStartedTime):
182         * WebProcess/cocoa/WebPlaybackSessionManager.h:
183         * WebProcess/cocoa/WebPlaybackSessionManager.mm:
184         (WebKit::WebPlaybackSessionInterfaceContext::playbackStartedTimeChanged):
185         (WebKit::WebPlaybackSessionManager::playbackStartedTimeChanged):
186
187 2016-09-23  Caitlin Potter  <caitp@igalia.com>
188
189         [JSC] Implement parsing of Async Functions
190         https://bugs.webkit.org/show_bug.cgi?id=161409
191
192         Reviewed by Yusuke Suzuki.
193
194         * Configurations/FeatureDefines.xcconfig:
195
196 2016-09-23  Jonathan Bedard  <jbedard@apple.com>
197
198         Fix Mac CMake build after r206261
199         https://bugs.webkit.org/show_bug.cgi?id=162493
200
201         Reviewed by Alex Christensen.
202
203         * CMakeLists.txt: Exclude WebTextChecker from Mac CMake builds.
204         * PlatformEfl.cmake: Ditto.
205         * PlatformGTK.cmake: Ditto.
206
207 2016-09-23  Carlos Garcia Campos  <cgarcia@igalia.com>
208
209         [GTK] BadDamage X error in /webkit2/WebKitWebView/preferred-size
210         https://bugs.webkit.org/show_bug.cgi?id=162489
211
212         Reviewed by Michael Catanzaro.
213
214         Do a XSync right after creating/destroying the XDamage used by the redirected window in X11.
215
216         * UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
217         (WebKit::AcceleratedBackingStoreX11::~AcceleratedBackingStoreX11):
218         (WebKit::AcceleratedBackingStoreX11::update):
219
220 2016-09-23  Antoine Quint  <graouts@apple.com>
221
222         Add a new runtime flag for work on modern media controls (off by default)
223         https://bugs.webkit.org/show_bug.cgi?id=162420
224         <rdar://problem/27989489>
225
226         Reviewed by Eric Carlson.
227
228         * Shared/WebPreferencesDefinitions.h:
229         * WebProcess/InjectedBundle/InjectedBundle.cpp:
230         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
231         * WebProcess/WebPage/WebPage.cpp:
232         (WebKit::WebPage::updatePreferences):
233
234 2016-09-23  Carlos Garcia Campos  <cgarcia@igalia.com>
235
236         REGRESSION(r194387): Crash on github.com in IntlDateTimeFormat::resolvedOptions in C locale
237         https://bugs.webkit.org/show_bug.cgi?id=162139
238
239         Reviewed by Michael Catanzaro.
240
241         Handle the case of "C" locale passed by the user using "en-US" as default to match what
242         WTF::platformUserPreferredLanguages() does.
243
244         * UIProcess/API/gtk/WebKitWebContext.cpp:
245         (webkit_web_context_set_preferred_languages): Remove the call to languageDidChange() because
246         overrideUserPreferredLanguages() already calls it, so we were actually notifying the observers twice.
247
248 2016-09-23  Carlos Garcia Campos  <cgarcia@igalia.com>
249
250         [GTK] Improve performance when resizing a window with multiple web views in X11
251         https://bugs.webkit.org/show_bug.cgi?id=162413
252
253         Reviewed by Michael Catanzaro.
254
255         Resizing a window with a single way view performs good enough, but when adding more tabs, the performance
256         decreases a lot. This is because resize is a sync operation, and the UI process waits for the web process to
257         have a new update for the new size, while still draws the previous frame. This is needed for the visible web
258         view, to avoid flickering and artifacts while resizing, but for all other hidden web views, we don't really need
259         to block the UI process. This doesn't happen in Wayland, because in Wayland we never block the UI process while
260         waiting for web process update after a resize.
261
262         * UIProcess/AcceleratedDrawingAreaProxy.cpp:
263         (WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): Return early if the web
264         view is not visible.
265         * UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
266         (WebKit::AcceleratedBackingStoreX11::update): Only schedule a redraw on a damage event when the view is visible.
267         * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
268         (WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11): Do a XSync right after creating the new pixmap.
269         (WebKit::AcceleratedSurfaceX11::resize): Ditto.
270
271 2016-09-22  Daniel Bates  <dabates@apple.com>
272
273         Remove more ENABLE(TEXT_AUTOSIZING) code
274         https://bugs.webkit.org/show_bug.cgi?id=162456
275
276         Reviewed by Simon Fraser.
277
278         * UIProcess/API/efl/ewk_settings.cpp:
279         (ewk_settings_text_autosizing_enabled_set):
280         (ewk_settings_text_autosizing_enabled_get):
281         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
282         (TEST_F):
283
284 2016-09-22  Jonathan Bedard  <jbedard@apple.com>
285
286         Automatic Text Replacement Testing in WebKit2
287         https://bugs.webkit.org/show_bug.cgi?id=161919
288
289         Reviewed by Ryosuke Niwa.
290
291         Implemented test hooks for text replacement for WebKit2.
292         Note that spell checking has not been implemented, so most tests which use text replacement still fail.
293
294         * UIProcess/API/C/WKTextChecker.cpp: Added #ifdefs to include file for iOS and Mac.
295         (WKTextCheckerSetTestingMode): Added.
296         * UIProcess/API/C/WKTextChecker.h: Added #ifdefs to include file for iOS and Mac.
297         * UIProcess/TextChecker.h: Added hooks to bypass writing to NSUserDefaults.
298         * UIProcess/WebPageProxy.cpp:
299         (WebKit::WebPageProxy::toggleSmartInsertDelete):  New message to toggle TextChecker flag.
300         (WebKit::WebPageProxy::toggleAutomaticQuoteSubstitution): Ditto.
301         (WebKit::WebPageProxy::toggleAutomaticLinkDetection): Ditto.
302         (WebKit::WebPageProxy::toggleAutomaticDashSubstitution): Ditto.
303         (WebKit::WebPageProxy::toggleAutomaticTextReplacement): Ditto.
304         * UIProcess/WebPageProxy.h: Added messages to toggle TextChecker flags.
305         * UIProcess/WebPageProxy.messages.in: Ditto.
306         * UIProcess/efl/TextCheckerEfl.cpp: Implemented new TextChecker hooks for non-Cocoa platforms.
307         * UIProcess/gtk/TextCheckerGtk.cpp: Ditto.
308         (WebKit::TextChecker::mutableState): Ditto.
309         * UIProcess/ios/TextCheckerIOS.mm: Implemented new TextChecker hooks.
310         (WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
311         (WebKit::TextChecker::state): Call mutableState.
312         (WebKit::TextChecker::accessSmartInsertDeleteEnabled): Dummy function.
313         * UIProcess/mac/TextCheckerMac.mm:
314         (WebKit::refresh): Reload TextChecker configuration from NSUserDefaults.
315         (WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
316         (WebKit::TextChecker::state): Call mutableState().
317         (WebKit::TextChecker::accessSmartInsertDeleteEnabled): Allow toggling of smartInsertDeleteEnabled without writing to NSUserDefaults.
318         (WebKit::initializeState): Deleted.
319         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
320         (WKBundleSetAutomaticLinkDetectionEnabled): Deleted.
321         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Removed WKBundleSetAutomaticLinkDetectionEnabled.
322         * WebProcess/InjectedBundle/InjectedBundle.cpp:
323         (WebKit::InjectedBundle::setAutomaticLinkDetectionEnabled): Deleted.
324         * WebKit2.xcodeproj/project.pbxproj: Added WKTextChecker to Mac and iOS.
325         * WebProcess/InjectedBundle/InjectedBundle.h: Remove setAutomaticLinkDetectionEnabled.
326         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
327         (WebKit::WebEditorClient::toggleSmartInsertDelete): Send message to UI process to toggle TextChecker.
328         (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution): Ditto.
329         (WebKit::WebEditorClient::toggleAutomaticLinkDetection): Ditto.
330         (WebKit::WebEditorClient::toggleAutomaticDashSubstitution): Ditto.
331         (WebKit::WebEditorClient::toggleAutomaticTextReplacement): Ditto.
332
333 2016-09-22  Carlos Garcia Campos  <cgarcia@igalia.com>
334
335         [GTK] Rename DataObjectGtk as SelectionData
336         https://bugs.webkit.org/show_bug.cgi?id=162380
337
338         Reviewed by Žan Doberšek.
339
340         * PlatformGTK.cmake:
341         * Shared/gtk/ArgumentCodersGtk.cpp:
342         (IPC::ArgumentCoder<SelectionData>::encode):
343         (IPC::ArgumentCoder<SelectionData>::decode):
344         * Shared/gtk/ArgumentCodersGtk.h:
345         * Shared/gtk/WebSelectionData.cpp: Renamed from Source/WebKit2/Shared/gtk/PasteboardContent.cpp.
346         (WebKit::WebSelectionData::WebSelectionData):
347         (WebKit::WebSelectionData::encode):
348         (WebKit::WebSelectionData::decode):
349         * Shared/gtk/WebSelectionData.h: Renamed from Source/WebKit2/Shared/gtk/PasteboardContent.h.
350         * UIProcess/API/gtk/PageClientImpl.cpp:
351         (WebKit::PageClientImpl::startDrag):
352         * UIProcess/API/gtk/PageClientImpl.h:
353         * UIProcess/PageClient.h:
354         * UIProcess/WebPageProxy.cpp:
355         (WebKit::WebPageProxy::performDragControllerAction):
356         (WebKit::WebPageProxy::startDrag):
357         * UIProcess/WebPageProxy.h:
358         * UIProcess/WebPageProxy.messages.in:
359         * UIProcess/WebPasteboardProxy.h:
360         * UIProcess/WebPasteboardProxy.messages.in:
361         * UIProcess/gtk/DragAndDropHandler.cpp:
362         (WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
363         (WebKit::DragAndDropHandler::startDrag):
364         (WebKit::DragAndDropHandler::fillDragData):
365         (WebKit::DragAndDropHandler::finishDrag):
366         (WebKit::DragAndDropHandler::dropDataSelection):
367         (WebKit::DragAndDropHandler::dragEntered):
368         (WebKit::DragAndDropHandler::dragDataSelection):
369         (WebKit::DragAndDropHandler::dragMotion):
370         (WebKit::DragAndDropHandler::dragLeave):
371         (WebKit::DragAndDropHandler::drop):
372         * UIProcess/gtk/DragAndDropHandler.h:
373         * UIProcess/gtk/WebPasteboardProxyGtk.cpp:
374         (WebKit::WebPasteboardProxy::writeToClipboard):
375         (WebKit::WebPasteboardProxy::readFromClipboard):
376         (WebKit::WebPasteboardProxy::setPrimarySelectionOwner): Deleted.
377         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
378         (WebKit::WebPlatformStrategies::writeToClipboard):
379         (WebKit::WebPlatformStrategies::readFromClipboard):
380         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
381         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
382         (WebKit::WebDragClient::startDrag):
383         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
384         * WebProcess/WebPage/WebPage.cpp:
385         (WebKit::WebPage::performDragControllerAction):
386         * WebProcess/WebPage/WebPage.h:
387         * WebProcess/WebPage/WebPage.messages.in:
388
389 2016-09-21  Dan Bernstein  <mitz@apple.com>
390
391         [macOS] Upon layout, _webView:renderingProgressDidChange: fires before the intrinsic content size is updated
392         https://bugs.webkit.org/show_bug.cgi?id=162359
393         <rdar://problem/27776454>
394
395         Reviewed by Tim Horton.
396
397         Test: added to TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm
398
399         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Fixed a bug where
400           m_pendingNewlyReachedLayoutMilestones was never initialized.
401
402         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Added
403           m_pendingNewlyReachedLayoutMilestones member variable to this derived class as well.
404         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
405         (WebKit::TiledCoreAnimationDrawingArea::flushLayers): If we have pending milestones, notify
406           the WebPageProxy now, after any content size changes have been sent.
407         (WebKit::TiledCoreAnimationDrawingArea::dispatchDidReachLayoutMilestone): New override that
408           accumulates the milestones into m_pendingNewlyReachedLayoutMilestones and returns true,
409           so that the caller won’t notify the WebPageProxy immediately.
410
411 2016-09-21  Anders Carlsson  <andersca@apple.com>
412
413         support openPaymentSetup API on ApplePaySession object
414         https://bugs.webkit.org/show_bug.cgi?id=162357
415         rdar://problem/26776939
416
417         Reviewed by Tim Horton.
418
419         * UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
420         (WebKit::WebPaymentCoordinatorProxy::openPaymentSetup):
421         Call through to platformOpenPaymentSetup, and in the completion handler, send back a OpenPaymentSetupReply message.
422
423         * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
424         Add new members.
425
426         * UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:
427         Add OpenPaymentSetup message.
428
429         * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
430         (WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup):
431         Allocate a PKPassLibrary and call openPaymentSetupForMerchantIdentifier:domain:completion: on it.
432
433         * WebProcess/ApplePay/WebPaymentCoordinator.cpp:
434         (WebKit::generateOpenPaymentSetupReplyID):
435         New helper function to generate a reply ID.
436
437         (WebKit::WebPaymentCoordinator::openPaymentSetup):
438         Add the completion handler to m_pendingOpenPaymentSetupCallbacks and send a OpenPaymentSetup message to the UI process.
439
440         (WebKit::WebPaymentCoordinator::openPaymentSetupReply):
441         Grab the callback given its ID and invoke it.
442
443         * WebProcess/ApplePay/WebPaymentCoordinator.h:
444         Add new members.
445
446         * WebProcess/ApplePay/WebPaymentCoordinator.messages.in:
447         Add OpenPaymentSetupReply message.
448
449 2016-09-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
450
451         Unreviewed, build fix.
452
453         * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
454         (WebKit::AcceleratedBackingStoreWayland::paint): fix usage of deviceScaleFactor variable which was
455         removed.
456
457 2016-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
458
459         [GTK] Clean up DataObjectGtk handling
460         https://bugs.webkit.org/show_bug.cgi?id=162267
461
462         Reviewed by Michael Catanzaro.
463
464         In some cases the ownership of DataObjectGtk instances is not clear enough, and we have hacks to avoid memory
465         leaks because of that.
466
467         * Shared/gtk/ArgumentCodersGtk.cpp:
468         (IPC::encodeImage): Use Image instead of GdkPixbuf.
469         (IPC::decodeImage): Ditto.
470         (IPC::ArgumentCoder<DataObjectGtk>::encode):
471         (IPC::ArgumentCoder<DataObjectGtk>::decode):
472         (IPC::encode): Deleted.
473         (IPC::decode): Deleted.
474         (IPC::ArgumentCoder<DragData>::encode): Deleted.
475         (IPC::ArgumentCoder<DragData>::decode): Deleted.
476         * Shared/gtk/ArgumentCodersGtk.h:
477         * Shared/gtk/PasteboardContent.cpp:
478         (WebKit::PasteboardContent::PasteboardContent): Add empty constructor that creates a new DataObjectGtk, a
479         constructor that receives a const reference and another one that takes the ownership of the given DataObjectGtk.
480         (WebKit::PasteboardContent::encode):
481         (WebKit::PasteboardContent::decode):
482         * Shared/gtk/PasteboardContent.h: Use Ref instead of RefPtr for the DataObjectGtk member.
483         * UIProcess/API/gtk/PageClientImpl.cpp:
484         (WebKit::PageClientImpl::startDrag): Transfer the DataObjectGtk to the DragAndDropHandler, instead of using DragData.
485         * UIProcess/API/gtk/PageClientImpl.h:
486         * UIProcess/PageClient.h:
487         * UIProcess/WebPageProxy.cpp:
488         (WebKit::WebPageProxy::performDragControllerAction): Instead of sending a DragData object to the web process,
489         send the DataObjectGtk and DragData members needed as parameters.
490         (WebKit::WebPageProxy::startDrag): Transfer the received DataObjectGtk to page client, instead of using
491         DragData. Also notify the web process that drag started.
492         * UIProcess/WebPageProxy.h:
493         * UIProcess/WebPageProxy.messages.in: Update StartDrag message parameters.
494         * UIProcess/gtk/DragAndDropHandler.cpp:
495         (WebKit::DragAndDropHandler::DragAndDropHandler): Remove unneeded initialization.
496         (WebKit::DragAndDropHandler::startDrag): Take ownership of the given DataObjectGtk.
497         * UIProcess/gtk/DragAndDropHandler.h:
498         * UIProcess/gtk/WebPasteboardProxyGtk.cpp:
499         (WebKit::WebPasteboardProxy::writeToClipboard):
500         (WebKit::WebPasteboardProxy::readFromClipboard):
501         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
502         (WebKit::WebPlatformStrategies::writeToClipboard):
503         (WebKit::WebPlatformStrategies::readFromClipboard):
504         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
505         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
506         (WebKit::convertCairoSurfaceToShareableBitmap):
507         (WebKit::WebDragClient::startDrag): Do not create a DragData and pass the DataObjectGtk directly to the
508         message. Also notify the WebPage that drag is about to start.
509         * WebProcess/WebPage/WebPage.cpp:
510         (WebKit::WebPage::performDragControllerAction): Remove explicit DataObjectGtk derefs and simply create a
511         DragData using the DataObjectGtk pointer as platform data.
512         * WebProcess/WebPage/WebPage.h:
513         * WebProcess/WebPage/WebPage.messages.in: Update PerformDragControllerAction message parameters.
514
515 2016-09-20  Hunseop Jeong  <hs85.jeong@samsung.com>
516
517         [EFL] ewk_context_menu_item_select test have been failed
518         https://bugs.webkit.org/show_bug.cgi?id=162143
519
520         Reviewed by Gyuyoung Kim.
521
522         ewk_context_menu_item_select has been waited until test page loading is finished, but it is
523         unnecessary to wait the loading is finished. It would be good to pass if *testFinished*
524         flag is true.
525
526         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
527         (EWK2ContextMenuTest::checkBasicContextMenuItem):
528         (EWK2ContextMenuTest::testContextMenu):
529         (TEST_F):
530
531 2016-09-20  Keith Rollin  <krollin@apple.com>
532
533         Add new logging for network resource loading
534         https://bugs.webkit.org/show_bug.cgi?id=162237
535
536         Reviewed by Antti Koivisto.
537
538         Add new logging along the non-main path for resource loading. This
539         logging should allow us to differentiate between lack-of-logging due
540         execution along a path that doesn't have logging statements and
541         lack-of-logging due to a hung process.
542
543         * NetworkProcess/NetworkResourceLoader.cpp:
544         (WebKit::NetworkResourceLoader::start):
545         (WebKit::NetworkResourceLoader::startNetworkLoad):
546         (WebKit::NetworkResourceLoader::setDefersLoading):
547         (WebKit::NetworkResourceLoader::abort):
548         (WebKit::NetworkResourceLoader::didReceiveBuffer):
549         * NetworkProcess/NetworkResourceLoader.h:
550         * WebProcess/Network/WebLoaderStrategy.cpp:
551         (WebKit::WebLoaderStrategy::loadResource):
552         (WebKit::WebLoaderStrategy::scheduleLoad):
553
554 2016-09-20  Anders Carlsson  <andersca@apple.com>
555
556         Can't present a payment sheet if a sheet is already active in another window
557         https://bugs.webkit.org/show_bug.cgi?id=162314
558         rdar://problem/27643511
559
560         Reviewed by Tim Horton.
561
562         Instead of keeping track of whether a sheet is active or not, keep track of its underlying payment coordinator proxy,
563         so we can hide it and send a cancel event to WebCore if another sheet is being presented.
564
565         * UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
566         (WebKit::WebPaymentCoordinatorProxy::~WebPaymentCoordinatorProxy):
567         (WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
568         (WebKit::WebPaymentCoordinatorProxy::didReachFinalState):
569
570 2016-09-20  Keith Rollin  <krollin@apple.com>
571
572         Adjust current networking logging
573         https://bugs.webkit.org/show_bug.cgi?id=162235
574
575         Reviewed by Antti Koivisto.
576
577         Update the "always on" network logging in order to better track the
578         loading of a particular resource and to better bind together the
579         resources downloaded for a particular page and frame. Do this by
580         consistently logging pageID, frameID, and resourceID.
581
582         * NetworkProcess/NetworkResourceLoader.cpp:
583         (WebKit::NetworkResourceLoader::didFinishLoading):
584         (WebKit::NetworkResourceLoader::didFailLoading):
585         (WebKit::NetworkResourceLoader::continueWillSendRequest):
586         * WebProcess/Network/WebLoaderStrategy.cpp:
587         (WebKit::WebLoaderStrategy::scheduleLoad):
588         (WebKit::WebLoaderStrategy::startLocalLoad):
589         * WebProcess/Network/WebResourceLoader.cpp:
590         (WebKit::WebResourceLoader::create):
591         (WebKit::WebResourceLoader::WebResourceLoader):
592         (WebKit::WebResourceLoader::willSendRequest):
593         (WebKit::WebResourceLoader::didReceiveResponse):
594         (WebKit::WebResourceLoader::didReceiveData):
595         (WebKit::WebResourceLoader::didFinishResourceLoad):
596         (WebKit::WebResourceLoader::didFailResourceLoad):
597         (WebKit::WebResourceLoader::didReceiveResource):
598         * WebProcess/Network/WebResourceLoader.h:
599
600 2016-09-19  Wenson Hsieh  <wenson_hsieh@apple.com>
601
602         Add a unit test covering <https://trac.webkit.org/changeset/205983>
603         https://bugs.webkit.org/show_bug.cgi?id=162112
604
605         Reviewed by Beth Dakin.
606
607         Adds some a test support method as SPI on WKWebView to determine whether to request candidates. See
608         Tools/ChangeLog for more details.
609
610         * UIProcess/API/Cocoa/WKWebView.mm:
611         (-[WKWebView _shouldRequestCandidates]):
612         (-[WKWebView _forceRequestCandidates]): Deleted.
613         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
614
615 2016-09-19  Anders Carlsson  <andersca@apple.com>
616
617         Suppress JavaScript prompts early on in certain cases
618         https://bugs.webkit.org/show_bug.cgi?id=162243
619         rdar://problem/27661602
620
621         Reviewed by Geoffrey Garen.
622
623         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
624         (WebKit::shouldSuppressJavaScriptDialogs):
625         Add helper function.
626
627         (WebKit::WebChromeClient::runJavaScriptAlert):
628         (WebKit::WebChromeClient::runJavaScriptConfirm):
629         (WebKit::WebChromeClient::runJavaScriptPrompt):
630         Call helper function and return early if we should supress dialogs.
631
632 2016-09-19  Keith Rollin  <krollin@apple.com>
633
634         Reduce logging from WebResourceLoader::didReceiveData
635         https://bugs.webkit.org/show_bug.cgi?id=162233
636
637         Reviewed by Antti Koivisto.
638
639         Only log once even if called multiple times for a single resource.
640
641         * WebProcess/Network/WebResourceLoader.cpp:
642         (WebKit::WebResourceLoader::didReceiveData):
643         * WebProcess/Network/WebResourceLoader.h:
644
645 2016-09-19  Daniel Bates  <dabates@apple.com>
646
647         Remove ENABLE(TEXT_AUTOSIZING) automatic text size adjustment code
648         https://bugs.webkit.org/show_bug.cgi?id=162167
649
650         Reviewed by Simon Fraser.
651
652         * Configurations/FeatureDefines.xcconfig:
653         * WebProcess/WebPage/WebPage.cpp:
654         (WebKit::WebPage::updatePreferences):
655
656 2016-09-19  Alex Christensen  <achristensen@webkit.org>
657
658         Only override URLParser::enabled if NSUserDefaults object exists
659         https://bugs.webkit.org/show_bug.cgi?id=162131
660
661         Reviewed by Sam Weinig.
662
663         * Shared/Cocoa/WebKit2InitializeCocoa.mm:
664         (WebKit::platformInitializeWebKit2):
665         * Shared/WebKit2Initialize.cpp:
666         When I enable URLParser by default, I will want the default to only be overwritten if there is a
667         NSUserDefaults key for URLParserEnabled.  Right now it is setting URLParser::enabled to false always,
668         which isn't a problem because the default is also false.  When the default is true, that will overwrite the default.
669
670 2016-09-19  Joseph Pecoraro  <pecoraro@apple.com>
671
672         Web Inspector: Bring the inspected page's window forward when activating element search
673         https://bugs.webkit.org/show_bug.cgi?id=162114
674         <rdar://problem/28349357>
675
676         Reviewed by Brian Burg.
677
678         * UIProcess/WebInspectorProxy.h:
679         * UIProcess/WebInspectorProxy.cpp:
680         (WebKit::WebInspectorProxy::elementSelectionChanged):
681         When element search is activated allow the platform to bring
682         the window containing the inspected page to the foreground.
683
684         (WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
685         * UIProcess/efl/WebInspectorProxyEfl.cpp:
686         (WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
687         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
688         (WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
689         Default empty implementation for ports.
690
691         * UIProcess/mac/WebInspectorProxyMac.mm:
692         (WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
693         Bring the window containing the inspected page to the foreground.
694
695 2016-09-18  Michael Catanzaro  <mcatanzaro@igalia.com>
696
697         [GTK] Empty referer header after WebKit session state restoration trips Bad Behavior Wordpress plugin
698         https://bugs.webkit.org/show_bug.cgi?id=159606
699
700         Reviewed by Carlos Garcia Campos.
701
702         Leave the referrer member of FrameState unset when restoring from session state, unless
703         there is actually a nonempty referrer saved in the state. If we set it to an empty string,
704         then an empty referrer gets sent to the server, which some servers do not accept. It
705         triggers the Bad Behavior plugin on my WordPress blog, for instance. It also breaks vox.com.
706
707         * UIProcess/API/gtk/WebKitWebViewSessionState.cpp:
708         (decodeFrameState):
709
710 2016-09-18  Chelsea Pugh  <cpugh@apple.com>
711
712         [iOS] Remove unused methods from _WKInputDelegate
713         https://bugs.webkit.org/show_bug.cgi?id=162098
714
715         Reviewed by Anders Carlsson.
716
717         * UIProcess/API/Cocoa/_WKInputDelegate.h:
718
719 2016-09-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
720
721         [GTK] Stop using glReadPixels() to blit AC surfaces in the UIProcess under Wayland
722         https://bugs.webkit.org/show_bug.cgi?id=161530
723
724         Reviewed by Carlos Garcia Campos.
725
726         Use gdk_cairo_draw_from_gl when all necessary conditions exist.
727
728         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
729         (WebKit::ThreadedCompositor::create): take TextureMapper::PaintFlags as optional argument.
730         (WebKit::ThreadedCompositor::ThreadedCompositor): ditto.
731         (WebKit::ThreadedCompositor::renderLayerTree): relay paint flags to TextureMapper::beginPaint.
732         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
733         * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
734         (WebKit::AcceleratedBackingStoreWayland::paint): use the faster gdk_cairo_draw_from_gl when a new
735         enough GTK+ is in use.
736         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
737         (WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): create compositor
738         with PaintingMirrored flag if we have recent GTK+ and are running under Wayland.
739         * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: implement shouldPaintMirrored by always
740         returning false.
741         * WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: implement shouldPaintMirrored by always
742         returning true.
743         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
744         (WebKit::LayerTreeHostGtk::compositeLayersToContext): pass PaintingMirror flag to TextureMapper
745         when under a recent enough GTK+ and Wayland.
746
747 2016-09-17  Carlos Garcia Campos  <cgarcia@igalia.com>
748
749         [GTK] Move the rendering of auth dialog shadow to the auth dialog widget
750         https://bugs.webkit.org/show_bug.cgi?id=162061
751
752         Reviewed by Michael Catanzaro.
753
754         Instead of rendering the shadow in the web view, we can let the auth dialog do it. This fixes the rendering of
755         the shadow in Wayland when using gdk_cairo_draw_from_gl().
756
757         * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
758         (webkitAuthenticationDialogDraw): Draw the shadow before rendering the child.
759         (webkitAuthenticationDialogSizeAllocate): Center the child on the allocated space.
760         (webkit_authentication_dialog_class_init): Add size_allocate implementation.
761         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
762         (webkitWebViewBaseDraw): Do not draw the shadow when auth dialog is present.
763         (webkitWebViewBaseSizeAllocate): Give the whole web view allocation to the auth dialog.
764
765 2016-09-17  Carlos Garcia Campos  <cgarcia@igalia.com>
766
767         [ThreadedCompositor] Scrolling artifacts on accelerated subframes
768         https://bugs.webkit.org/show_bug.cgi?id=149060
769
770         Reviewed by Michael Catanzaro.
771
772         The problem is that we are scrolling the main frame even when scrolling is not delegated.
773
774         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
775         (WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Return early if main frame view doesn't
776         delegate scrolling.
777
778 2016-09-16  Simon Fraser  <simon.fraser@apple.com>
779
780         WKWebViewConfiguration's _incrementalRenderingSuppressionTimeout should be an NSTimeInterval
781         https://bugs.webkit.org/show_bug.cgi?id=162092
782
783         Reviewed by Anders Carlsson.
784         
785         The _incrementalRenderingSuppressionTimeout property should be a NSTimeInterval, not a CGFloat.
786
787         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
788         (-[WKWebViewConfiguration _incrementalRenderingSuppressionTimeout]):
789         (-[WKWebViewConfiguration _setIncrementalRenderingSuppressionTimeout:]):
790         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
791
792 2016-09-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
793
794         [GTK] Surface created for glReadPixels path on Wayland is bigger than needed
795         https://bugs.webkit.org/show_bug.cgi?id=162025
796
797         Reviewed by Carlos Garcia Campos.
798
799         * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
800         (WebKit::AcceleratedBackingStoreWayland::paint): the texture created by the Wayland
801         compositor is already scaled, so scaling its size when creating the surface causes it
802         to end up bigger than necessary.
803
804 2016-09-16  David Kilzer  <ddkilzer@apple.com>
805
806         ASSERT accidentally commented out in r204916
807         <https://webkit.org/b/162077>
808
809         Reviewed by Anders Carlsson.
810
811         * UIProcess/WebPageProxy.cpp:
812         (WebKit::WebPageProxy::terminateProcess): Comment in the ASSERT
813         back in.
814
815 2016-09-16  Wenson Hsieh  <wenson_hsieh@apple.com>
816
817         Inserting a space after inserting an accepted candidate scrolls the document and causes a flicker
818         https://bugs.webkit.org/show_bug.cgi?id=162009
819         <rdar://problem/28086237>
820
821         Reviewed by Tim Horton.
822
823         After inserting a text candidate, if the candidate ended with a soft space, the next space we insert should just
824         replace the soft space. This currently works because we leave the text insertion out of the list of
825         KeypressCommands sent to the web process and instead replace the soft space via WebPage::InsertTextAsync.
826         However, this means when the web process handles this keydown event, the current editor will not handle it,
827         since the list of key commands is empty despite the text and unmodified text being non-empty.
828
829         To fix this, when sending keydown or keyup events where we replace a soft space, we set the key event's text to
830         an empty string instead of a space. This allows us to return early in EventHandler::keyEvent and avoid the
831         codepath that tries to insert text into the current editor and (in the case of inserting a ' ') scrolls the
832         document if necessary. Since we've already handled text insertion via WebPage::InsertTextAsync, there is no need
833         to also dispatch the keypress to the editor.
834
835         Additionally, this patch addresses flickering in the candidates UI due to the fact that we're asynchronously
836         replacing the last soft space. During this operation, we select the range of the soft space and then insert the
837         new text. This causes a momentary range selection which the web process notifies the UI process about, prompting
838         us to hide the candidates list. To address this, we suppress the EditorStateChanged message fired from the web
839         process to the UI process while we're selecting the original range to replace.
840
841         This patch adds 3 new WebKit API tests.
842
843         * Shared/NativeWebKeyboardEvent.h:
844         * Shared/mac/NativeWebKeyboardEventMac.mm:
845         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
846         * Shared/mac/WebEventFactory.h:
847         * Shared/mac/WebEventFactory.mm:
848         (WebKit::textFromEvent):
849         (WebKit::unmodifiedTextFromEvent):
850         (WebKit::WebEventFactory::createWebKeyboardEvent):
851         * UIProcess/API/Cocoa/WKWebView.mm:
852         (-[WKWebView _handleAcceptedCandidate:]):
853         (-[WKWebView _didHandleAcceptedCandidate]):
854         (-[WKWebView _didUpdateCandidateListVisibility:]):
855         (-[WKWebView _forceRequestCandidates]):
856         (-[WKWebView _handleControlledElementIDResponse:]): Deleted.
857         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
858         * UIProcess/API/mac/WKView.mm:
859         (-[WKView _didHandleAcceptedCandidate]):
860         (-[WKView _didUpdateCandidateListVisibility:]):
861         * UIProcess/Cocoa/WebViewImpl.h:
862         * UIProcess/Cocoa/WebViewImpl.mm:
863         (WebKit::WebViewImpl::forceRequestCandidatesForTesting):
864         (WebKit::WebViewImpl::becomeFirstResponder):
865         (WebKit::WebViewImpl::didHandleAcceptedCandidate):
866         (WebKit::WebViewImpl::insertText):
867         (WebKit::WebViewImpl::performKeyEquivalent):
868         (WebKit::WebViewImpl::keyUp):
869         (WebKit::WebViewImpl::keyDown):
870         (WebKit::WebViewImpl::flagsChanged):
871         * UIProcess/WebPageProxy.cpp:
872         (WebKit::WebPageProxy::insertTextAsync):
873         * UIProcess/WebPageProxy.h:
874         * WebProcess/WebPage/WebPage.cpp:
875         (WebKit::WebPage::insertTextAsync):
876         (WebKit::WebPage::didChangeSelection):
877         * WebProcess/WebPage/WebPage.h:
878         * WebProcess/WebPage/WebPage.messages.in:
879
880 2016-09-16  Anders Carlsson  <andersca@apple.com>
881
882         Add support for enum class parameters in the message generator
883         https://bugs.webkit.org/show_bug.cgi?id=162036
884
885         Reviewed by Brady Eidson.
886
887         Also, convert the WebPage::SetLayerHostingMode to take an actual enum class.
888
889         * Scripts/webkit/messages.py:
890         (function_parameter_type):
891         Change this to take the parameter kind as well, and use the raw type for enums.
892
893         (arguments_type):
894         (message_to_struct_declaration):
895         Pass the kind to function_parameter_type.
896
897         (forward_declaration):
898         (forward_declarations_for_namespace):
899         Forward declare enums with "enum class".
900
901         (headers_for_type):
902         Add WebKit::LayerHostingMode as a special case.
903
904         (generate_message_handler):
905         Pass the kind to function_parameter_type.
906
907         * Scripts/webkit/parser.py:
908         (parse_parameters_string):
909         Parse 'enum' as well.
910
911         * Shared/LayerTreeContext.h:
912         Add enum traits.
913
914         * UIProcess/WebPageProxy.cpp:
915         (WebKit::WebPageProxy::viewDidEnterWindow):
916         (WebKit::WebPageProxy::layerHostingModeDidChange):
917         * WebProcess/WebPage/WebPage.cpp:
918         (WebKit::WebPage::reinitializeWebPage):
919         (WebKit::WebPage::setLayerHostingMode):
920         * WebProcess/WebPage/WebPage.h:
921         Change unsigned to LayerHostingMode.
922
923         * WebProcess/WebPage/WebPage.messages.in:
924         Change unsigned to LayerHostingMode.
925
926 2016-09-16  Commit Queue  <commit-queue@webkit.org>
927
928         Unreviewed, rolling out r206000.
929         https://bugs.webkit.org/show_bug.cgi?id=162062
930
931         inadvertent GCC requirement bump (Requested by mcatanzaro on
932         #webkit).
933
934         Reverted changeset:
935
936         "Add support for enum class parameters in the message
937         generator"
938         https://bugs.webkit.org/show_bug.cgi?id=162036
939         http://trac.webkit.org/changeset/206000
940
941 2016-09-15  Brady Eidson  <beidson@apple.com>
942
943         WKWebView.hasOnlySecureContent always returns "YES" after going back to a CachedPage (even if it has http resources).
944         <rdar://problem/27681261> and https://bugs.webkit.org/show_bug.cgi?id=162043
945
946         Reviewed by Brent Fulgham. 
947
948         * Scripts/webkit/messages.py:
949         (headers_for_type): Add a custom header, and alphabetize existing ones.
950
951         * Shared/WebCoreArgumentCoders.h: Add EnumTraits for HasInsecureContent.
952
953         * UIProcess/PageLoadState.h:
954         (WebKit::PageLoadState::committedHasInsecureContent):
955
956         * UIProcess/WebPageProxy.cpp:
957         (WebKit::WebPageProxy::hasInsecureContent):
958         (WebKit::WebPageProxy::didCommitLoadForFrame): If the WebProcess included an existing "HasInsecureContent" value, use it.
959         * UIProcess/WebPageProxy.h:
960         * UIProcess/WebPageProxy.messages.in:
961
962         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
963         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 
964         (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame): Save the "HasInsecureContent" value to the CachedFrame in
965           case we restore it in the future.
966         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
967
968 2016-09-15  Anders Carlsson  <andersca@apple.com>
969
970         Actually assign the decoded enum value to the output value
971         https://bugs.webkit.org/show_bug.cgi?id=162042
972
973         Reviewed by Brady Eidson.
974
975         * Platform/IPC/Decoder.h:
976
977 2016-09-15  Anders Carlsson  <andersca@apple.com>
978
979         Add support for enum class parameters in the message generator
980         https://bugs.webkit.org/show_bug.cgi?id=162036
981
982         Reviewed by Brady Eidson.
983
984         Also, convert the WebPage::SetLayerHostingMode to take an actual enum class.
985
986         * Scripts/webkit/messages.py:
987         (function_parameter_type):
988         Change this to take the parameter kind as well, and use the raw type for enums.
989
990         (arguments_type):
991         (message_to_struct_declaration):
992         Pass the kind to function_parameter_type.
993
994         (forward_declaration):
995         (forward_declarations_for_namespace):
996         Forward declare enums with "enum class".
997
998         (headers_for_type):
999         Add WebKit::LayerHostingMode as a special case.
1000
1001         (generate_message_handler):
1002         Pass the kind to function_parameter_type.
1003
1004         * Scripts/webkit/parser.py:
1005         (parse_parameters_string):
1006         Parse 'enum' as well.
1007
1008         * Shared/LayerTreeContext.h:
1009         Add enum traits.
1010
1011         * UIProcess/WebPageProxy.cpp:
1012         (WebKit::WebPageProxy::viewDidEnterWindow):
1013         (WebKit::WebPageProxy::layerHostingModeDidChange):
1014         * WebProcess/WebPage/WebPage.cpp:
1015         (WebKit::WebPage::reinitializeWebPage):
1016         (WebKit::WebPage::setLayerHostingMode):
1017         * WebProcess/WebPage/WebPage.h:
1018         Change unsigned to LayerHostingMode.
1019
1020         * WebProcess/WebPage/WebPage.messages.in:
1021         Change unsigned to LayerHostingMode.
1022
1023 2016-09-14  Beth Dakin  <bdakin@apple.com>
1024
1025         dictionaryPopupInfoForRange() can change selection temporarily; updates should not 
1026         be sent to the UIProcess.
1027         https://bugs.webkit.org/show_bug.cgi?id=162008
1028         -and corresponding-
1029         rdar://problem/28312297
1030
1031         Reviewed by Tim Horton.
1032
1033         This patch prevents the selection changes that occur while gathering 
1034         dictionaryPopupInfo from being propagated to the UIProcess.
1035         * WebProcess/WebPage/WebPage.cpp:
1036         (WebKit::WebPage::didChangeSelection):
1037         * WebProcess/WebPage/WebPage.h:
1038         * WebProcess/WebPage/mac/WebPageMac.mm:
1039         (WebKit::WebPage::dictionaryPopupInfoForRange):
1040
1041 2016-09-14  Wenson Hsieh  <wenson_hsieh@apple.com>
1042
1043         Media controls behave strangely when changing media sources
1044         https://bugs.webkit.org/show_bug.cgi?id=161914
1045         <rdar://problem/28227805>
1046
1047         Reviewed by Tim Horton.
1048
1049         Allows a web page to have an active video for a media control manager even if no audio or video is currently
1050         being produced. This is because the media element may be in a state where it is changing its source and does not
1051         currently have a video or audio track.
1052
1053         * UIProcess/WebPageProxy.cpp:
1054         (WebKit::WebPageProxy::hasActiveVideoForControlsManager):
1055
1056 2016-09-14  Beth Dakin  <bdakin@apple.com>
1057
1058         Add needsPlainTextQuirk and send it to the UIProcess
1059         https://bugs.webkit.org/show_bug.cgi?id=161996
1060         -and corresponding-
1061         rdar://problem/26013388
1062
1063         Rubber-stamped by Simon Fraser.
1064
1065         Quick clean-up.
1066         * WebProcess/WebPage/WebPage.cpp:
1067         (WebKit::needsPlainTextQuirk):
1068
1069 2016-09-14  Beth Dakin  <bdakin@apple.com>
1070
1071         Add needsPlainTextQuirk and send it to the UIProcess
1072         https://bugs.webkit.org/show_bug.cgi?id=161996
1073         -and corresponding-
1074         rdar://problem/26013388
1075
1076         Reviewed by Anders Carlsson.
1077
1078         WebPageProxy should keep track of m_needsPlainTextQuirk.
1079         * UIProcess/WebPageProxy.cpp:
1080         (WebKit::WebPageProxy::setNeedsPlainTextQuirk):
1081         * UIProcess/WebPageProxy.h:
1082         (WebKit::WebPageProxy::needsPlainTextQuirk):
1083         (WebKit::WebPageProxy::needsHiddenContentEditableQuirk): Deleted.
1084         * UIProcess/WebPageProxy.messages.in:
1085
1086         If m_needsPlainTextQuirk is true, set it back to false on page transition.
1087         * WebProcess/WebPage/WebPage.cpp:
1088         (WebKit::WebPage::didStartPageTransition):
1089
1090         The sites that need this quirk.
1091         (WebKit::needsPlainTextQuirk):
1092         (WebKit::WebPage::didChangeSelection):
1093         * WebProcess/WebPage/WebPage.h:
1094
1095 2016-09-14  Eric Carlson  <eric.carlson@apple.com>
1096
1097         [MediaStream] Minor cleanup
1098         https://bugs.webkit.org/show_bug.cgi?id=161976
1099
1100         Reviewed by Youenn Fablet and Dean Jackson.
1101
1102         * UIProcess/UserMediaPermissionRequestProxy.cpp:
1103
1104 2016-09-14  Beth Dakin  <bdakin@apple.com>
1105
1106         Add needsHiddenContentEditableQuirk and send it to the UIProcess
1107         https://bugs.webkit.org/show_bug.cgi?id=161984
1108         -and corresponding-
1109         rdar://problem/26013388
1110
1111         Reviewed by Anders Carlsson.
1112
1113         Keep track of m_needsHiddenContentEditableQuirk in WebPageProxy.
1114         * UIProcess/WebPageProxy.cpp:
1115         (WebKit::WebPageProxy::setNeedsHiddenContentEditableQuirk):
1116         * UIProcess/WebPageProxy.h:
1117         (WebKit::WebPageProxy::needsHiddenContentEditableQuirk):
1118         (WebKit::WebPageProxy::hasHadSelectionChangesFromUserInteraction): Deleted.
1119         * UIProcess/WebPageProxy.messages.in:
1120
1121         If m_needsHiddenContentEditableQuirk is true, set it back to false on page 
1122         transition.
1123         * WebProcess/WebPage/WebPage.cpp:
1124         (WebKit::WebPage::didStartPageTransition):
1125
1126         Google Docs and iCloud Pages are the sites that need this quirk.
1127         (WebKit::needsHiddenContentEditableQuirk):
1128         (WebKit::WebPage::didChangeSelection):
1129         * WebProcess/WebPage/WebPage.h:
1130
1131 2016-09-14  Megan Gardner  <megan_gardner@apple.com>
1132
1133         Long tap menu on an image link no longer includes "Save Image" button
1134         https://bugs.webkit.org/show_bug.cgi?id=161761
1135         <rdar://27202717>
1136
1137         Reviewed by Beth Dakin.
1138
1139         * UIProcess/ios/WKActionSheetAssistant.mm:
1140         (-[WKActionSheetAssistant defaultActionsForImageSheet:]):
1141         Added share to image sheet as to not regress current functionality
1142         * WebProcess/WebPage/ios/WebPageIOS.mm:
1143         (WebKit::WebPage::getPositionInformation):
1144         Gather information for images as well as links, and they can be both
1145
1146 2016-09-14  Carlos Garnacho  <carlosg@gnome.org>
1147
1148         [GTK][Wayland] Implement clipboard support
1149         https://bugs.webkit.org/show_bug.cgi?id=146574
1150
1151         Reviewed by Carlos Garcia Campos.
1152
1153         Add the necessary plumbing for the GTK+ backend to use the
1154         PlatformPasteboard in WebCore. All selection data is transmitted
1155         at once through the serialization of PasteboardContentGtk/DataObjectGtk.
1156
1157         * PlatformGTK.cmake: Add PasteboardContentGtk.cpp and
1158         WebPasteboardProxyGtk.cpp
1159         * Shared/gtk/ArgumentCodersGtk.cpp:
1160         (IPC::encode):
1161         (IPC::decode): Renamed from encodeDataObject/decodeDataObject
1162         and made public.
1163         (IPC::ArgumentCoder<DragData>::encode):
1164         (IPC::ArgumentCoder<DragData>::decode): Update DataObjectGtk
1165         encode/decode callers. Encode the extra canSmartReplace field.
1166         * Shared/gtk/ArgumentCodersGtk.h: Expose encode/decode methods for
1167         DataObjectGtk.
1168         * Shared/gtk/PasteboardContent.cpp: Added. Wraps a DataObjectGtk
1169         so it can be serialized on WebProcess/UIProcess messaging.
1170         (WebKit::PasteboardContent::PasteboardContent):
1171         (WebKit::PasteboardContent::encode):
1172         (WebKit::PasteboardContent::decode): Methods to encode/decode a
1173         PasteboardContent.
1174         * Shared/gtk/PasteboardContent.h: Added.
1175         * UIProcess/WebFrameProxy.cpp:
1176         (WebKit::WebFrameProxy::collapseSelection): Added plumbing to allow
1177         collapsing the global selection from the UI process side.
1178         * UIProcess/WebFrameProxy.h:
1179         * UIProcess/WebPasteboardProxy.h:
1180         * UIProcess/WebPasteboardProxy.messages.in: Added plumbing for the
1181         GTK+ pasteboard proxy functions.
1182         * UIProcess/gtk/WebPageProxyGtk.cpp:
1183         (WebKit::WebPageProxy::editorStateChanged):
1184         * UIProcess/gtk/WebPasteboardProxyGtk.cpp: Added.
1185         (WebKit::WebPasteboardProxy::writeToClipboard):
1186         (WebKit::WebPasteboardProxy::readFromClipboard): Implemented functions
1187         hooking into the PlatformPasteboard. Per-selection (ie.
1188         primary/clipboard) PlatformPasteboards are kept at this level, so those
1189         are independently set and dealt with.
1190         (WebKit::WebPasteboardProxy::setPrimarySelectionOwner):
1191         (WebKit::WebPasteboardProxy::didDestroyFrame): Implemented functions
1192         to manage the frame currently being currently interacted, so we can
1193         signal back when the global selection has been replaced.
1194         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1195         (WebKit::WebPlatformStrategies::writeToClipboard):
1196         (WebKit::WebPlatformStrategies::readFromClipboard): Added methods to
1197         send the WebProcess->UIProcess messages.
1198         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1199         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
1200         (WebKit::WebEditorClient::updateGlobalSelection): Remove GClosure to
1201         get notifications about changes in global selection ownership. This
1202         is done through a WebPage message now, as the UI process manages the
1203         clipboard.
1204         * WebProcess/WebPage/WebPage.h:
1205         * WebProcess/WebPage/WebPage.messages.in:
1206         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1207         (WebKit::WebPage::collapseSelectionInFrame): Added methods to send
1208         the UIProcess->WebProcess notification that the global selection has
1209         been replaced.
1210
1211 2016-09-13  Tim Horton  <timothy_horton@apple.com>
1212
1213         Provide a mechanism to specify the maximum size of WKThumbnailView snapshots
1214         https://bugs.webkit.org/show_bug.cgi?id=161896
1215         <rdar://problem/28229827>
1216
1217         Reviewed by Simon Fraser.
1218
1219         Some clients know that their thumbnail views will only be displayed up to
1220         a specific size that is significantly smaller than the WKView size. Allow
1221         them to avoid wasting lots of memory on unnecessarily large snapshots.
1222
1223         * UIProcess/API/Cocoa/_WKThumbnailView.h:
1224         * UIProcess/API/Cocoa/_WKThumbnailView.mm:
1225         (-[_WKThumbnailView requestSnapshot]):
1226         (-[_WKThumbnailView _requestSnapshotIfNeeded]):
1227         (-[_WKThumbnailView setMaximumSnapshotSize:]):
1228         Add a maximumSnapshotSize property which can be changed dynamically.
1229
1230 2016-09-13  Anders Carlsson  <andersca@apple.com>
1231
1232         REGRESSION (r196321): Amazon Videos are all black in Fullscreen
1233         https://bugs.webkit.org/show_bug.cgi?id=161924
1234         rdar://problem/28208208
1235
1236         Reviewed by Dan Bernstein.
1237
1238         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
1239         (main):
1240         Set AppleMagnifiedMode to true.
1241
1242 2016-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1243
1244         [GTK] Get rid of DataObjectGtk::forClipboard and cleanup pasteboard code
1245         https://bugs.webkit.org/show_bug.cgi?id=161907
1246
1247         Reviewed by Michael Catanzaro.
1248
1249         Update to DataObjectGtk and PasteboardHelper API changes.
1250
1251         * UIProcess/gtk/DragAndDropHandler.cpp:
1252         (WebKit::DragAndDropHandler::startDrag):
1253         (WebKit::DragAndDropHandler::fillDragData):
1254         (WebKit::DragAndDropHandler::dataObjectForDropData):
1255         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
1256         (WebKit::WebDragClient::startDrag):
1257         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
1258         (WebKit::collapseSelection):
1259         (WebKit::WebEditorClient::updateGlobalSelection): Remove wrong X11 guards, since that code is not X11 specific.
1260
1261 2016-09-12  DAN SAUNDERS  <dasau@microsoft.com>
1262
1263         AX: WKWebView for macOS does not allow configuration of tabsToLinks
1264         https://bugs.webkit.org/show_bug.cgi?id=161394
1265
1266         Reviewed by Anders Carlsson.
1267
1268         * UIProcess/API/Cocoa/WKPreferences.h:
1269         * UIProcess/API/Cocoa/WKPreferences.mm:
1270         (-[WKPreferences encodeWithCoder:]):
1271         (-[WKPreferences initWithCoder:]):
1272         (-[WKPreferences tabFocusesLinks]):
1273         (-[WKPreferences setTabFocusesLinks:]):
1274
1275 2016-09-12  Saam Barati  <sbarati@apple.com>
1276
1277         Add WebKit support for an option in Safari's debug menu similar to "Get Bytecode Profile" but for the Sampling Profiler's data
1278         https://bugs.webkit.org/show_bug.cgi?id=161785
1279
1280         Reviewed by Tim Horton.
1281
1282         This patch follows in the steps of how we dump output for the
1283         internal JSC bytecode profiler tool, but now also for the internal
1284         JSC sampling profiler tool. This can be used when doing performance
1285         analysis work analyzing the JS execution of a page.
1286
1287         * UIProcess/API/C/WKPage.cpp:
1288         (WKPageGetSamplingProfilerOutput):
1289         * UIProcess/API/C/WKPagePrivate.h:
1290         * UIProcess/WebPageProxy.cpp:
1291         (WebKit::WebPageProxy::getSamplingProfilerOutput):
1292         (WebKit::WebPageProxy::invalidateStringCallback):
1293         * UIProcess/WebPageProxy.h:
1294         * UIProcess/WebPageProxy.messages.in:
1295         * WebProcess/WebPage/WebPage.cpp:
1296         (WebKit::WebPage::getSamplingProfilerOutput):
1297         * WebProcess/WebPage/WebPage.h:
1298         * WebProcess/WebPage/WebPage.messages.in:
1299
1300 2016-09-12  Keith Rollin  <krollin@apple.com>
1301
1302         Enhance Network logging
1303         https://bugs.webkit.org/show_bug.cgi?id=161771
1304
1305         Reviewed by Antti Koivisto.
1306
1307         Modify current logging statements to follow a consistent pattern in
1308         order to enhance readability and parsing.
1309
1310         * NetworkProcess/Downloads/Download.cpp:
1311         (WebKit::Download::didReceiveResponse):
1312         (WebKit::Download::didReceiveData):
1313         (WebKit::Download::didFinish):
1314         (WebKit::Download::didFail):
1315         (WebKit::Download::didCancel):
1316         * NetworkProcess/NetworkResourceLoader.cpp:
1317         (WebKit::NetworkResourceLoader::startNetworkLoad):
1318         (WebKit::NetworkResourceLoader::didFinishLoading):
1319         (WebKit::NetworkResourceLoader::didFailLoading):
1320         (WebKit::NetworkResourceLoader::continueWillSendRequest):
1321         * WebProcess/Network/WebLoaderStrategy.cpp:
1322         (WebKit::WebLoaderStrategy::scheduleLoad):
1323         * WebProcess/Network/WebResourceLoader.cpp:
1324         (WebKit::WebResourceLoader::willSendRequest):
1325         (WebKit::WebResourceLoader::didReceiveResponse):
1326         (WebKit::WebResourceLoader::didReceiveData):
1327         (WebKit::WebResourceLoader::didFinishResourceLoad):
1328         (WebKit::WebResourceLoader::didFailResourceLoad):
1329         (WebKit::WebResourceLoader::didReceiveResource):
1330
1331 2016-09-09  Tim Horton  <timothy_horton@apple.com>
1332
1333         WKThumbnailView should expose a mode where it can be reparented without resnapshotting
1334         https://bugs.webkit.org/show_bug.cgi?id=161828
1335         <rdar://problem/28229756>
1336
1337         Reviewed by Alex Christensen.
1338
1339         * UIProcess/API/Cocoa/_WKThumbnailView.h:
1340         * UIProcess/API/Cocoa/_WKThumbnailView.mm:
1341         (-[_WKThumbnailView initWithFrame:fromWKView:]):
1342         (-[_WKThumbnailView _viewWasUnparented]):
1343         Add such a mode. Bail from snapshot teardown when unparented if it is on.
1344
1345 2016-09-08  Dean Jackson  <dino@apple.com>
1346
1347         Expose Apple Pencil data to Touch events
1348         https://bugs.webkit.org/show_bug.cgi?id=161783
1349         <rdar://problem/28218898>
1350
1351         Reviewed by Beth Dakin.
1352
1353         * Platform/spi/ios/UIKitSPI.h: Expose the new SPI. Since this is only used
1354         on public builds, guard it against everything that is <= iOS 10.0.
1355         * Shared/WebEvent.h: New properties.
1356         (WebKit::WebPlatformTouchPoint::setAltitudeAngle):
1357         (WebKit::WebPlatformTouchPoint::altitudeAngle):
1358         (WebKit::WebPlatformTouchPoint::setAzimuthAngle):
1359         (WebKit::WebPlatformTouchPoint::azimuthAngle):
1360         (WebKit::WebPlatformTouchPoint::setTouchType):
1361         (WebKit::WebPlatformTouchPoint::touchType):
1362         (WebKit::WebPlatformTouchPoint::force): Deleted.
1363         * Shared/WebEventConversion.cpp:
1364         (WebKit::webPlatformTouchTypeToPlatform):
1365         (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint): More
1366         parameters sent to parent constructor.
1367         * Shared/ios/NativeWebTouchEventIOS.mm:
1368         (WebKit::convertTouchType):
1369         (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
1370         * Shared/ios/WebPlatformTouchPointIOS.cpp:
1371         (WebKit::WebPlatformTouchPoint::encode):
1372         (WebKit::WebPlatformTouchPoint::decode):
1373
1374 2016-09-09  Tim Horton  <timothy_horton@apple.com>
1375
1376         Text replacement candidates don't always overwrite the entire original string
1377         https://bugs.webkit.org/show_bug.cgi?id=161779
1378         <rdar://problem/28033492>
1379
1380         Reviewed by Simon Fraser.
1381
1382         * WebProcess/WebPage/mac/WebPageMac.mm:
1383         (WebKit::WebPage::platformEditorState):
1384         Make use of the shared implementation of contextRangeForCandidateRequest.
1385
1386 2016-09-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1387
1388         Unreviewed. Fix GTK+ build after r205689.
1389
1390         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
1391         (webkit_dom_html_o_list_element_set_start):
1392
1393 2016-09-08  Dan Bernstein  <mitz@apple.com>
1394
1395         Re-landing the fix for
1396
1397         [Mac] .tbd files for the shims end up installed when building with GENERATE_TEXT_BASED_STUBS=YES
1398         https://bugs.webkit.org/show_bug.cgi?id=161722
1399
1400         without reintroducing https://webkit.org/b/161782
1401
1402         * Configurations/Shim.xcconfig: Don’t install the shims. The Copy Shims build phase in the
1403           WebKit target will copy them into place without bringing their .tbd files along. Keep the
1404           install path set, though, because it determines the dylibs’ install names.
1405
1406 2016-09-08  Commit Queue  <commit-queue@webkit.org>
1407
1408         Unreviewed, rolling out r205576.
1409         https://bugs.webkit.org/show_bug.cgi?id=161782
1410
1411         Introduced a crash at launch and broke all our Mac perf
1412         testing (Requested by rniwa on #webkit).
1413
1414         Reverted changeset:
1415
1416         "[Mac] .tbd files for the shims end up installed when building
1417         with GENERATE_TEXT_BASED_STUBS=YES"
1418         https://bugs.webkit.org/show_bug.cgi?id=161722
1419         http://trac.webkit.org/changeset/205576
1420
1421 2016-09-08  Said Abou-Hallawa  <sabouhallawa@apple.com>
1422
1423         Move the BitmapImage platform dependent code to a new file named NativeImage[CG|Cairo].cpp
1424         https://bugs.webkit.org/show_bug.cgi?id=158684
1425
1426         Reviewed by Simon Fraser.
1427
1428         * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
1429         (WKIconDatabaseTryGetCGImageForURL):
1430         (WKIconDatabaseTryCopyCGImageArrayForURL):
1431         It was the only place in the code which uses BitmapImage::getCGImageArray().
1432         Call BitmapImage::framesNativeImages() instead and form the returned
1433         Vector<NativeImagePtr> build the CFArrayRef.
1434
1435         * UIProcess/WebIconDatabase.h:
1436         Include "NativeImage.h" instead of "NativeImagePtr.h".
1437         
1438         * UIProcess/ios/WKContentViewInteraction.mm:
1439         (-[WKContentView _presentationSnapshotForPreviewItemController:]):
1440         * WebProcess/Plugins/PluginView.cpp:
1441         (WebKit::isAlmostSolidColor):
1442         Call BitmapImage::getCGImageRef() instead of calling BitmapImage::nativeImage().
1443
1444 2016-09-08  Zan Dobersek  <zdobersek@igalia.com>
1445
1446         Move webkit2gtk.pc.in, webkit2gtk-web-extension.pc.in files under Source/WebKit2/gtk/
1447         https://bugs.webkit.org/show_bug.cgi?id=161703
1448
1449         Reviewed by Carlos Garcia Campos.
1450
1451         Move the pkg-config input files that are specific to the GTK+ port
1452         under the Source/WebKit2/gtk/ directory. Build rules are updated
1453         accordingly.
1454
1455         * PlatformGTK.cmake:
1456         * gtk/webkit2gtk-web-extension.pc.in: Renamed from Source/WebKit2/webkit2gtk-web-extension.pc.in.
1457         * gtk/webkit2gtk.pc.in: Renamed from Source/WebKit2/webkit2gtk.pc.in.
1458
1459 2016-09-07  Joseph Pecoraro  <pecoraro@apple.com>
1460
1461         [Mac] Address some clang static analyzer warnings in WebKit
1462         https://bugs.webkit.org/show_bug.cgi?id=161597
1463
1464         Reviewed by Darin Adler.
1465
1466         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
1467         (-[WKLayerHostView makeBackingLayer]):
1468         * UIProcess/mac/WKSharingServicePickerDelegate.mm:
1469         (-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
1470         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
1471         (-[WKDOMRange rangeByExpandingToWordBoundaryByCharacters:inDirection:]):
1472         Address leaks caught by the static analyzer.
1473
1474 2016-09-07  Zan Dobersek  <zdobersek@igalia.com>
1475
1476         [GTK] Remove stale WebSoupRequestManager headers
1477         https://bugs.webkit.org/show_bug.cgi?id=161691
1478
1479         Reviewed by Sergio Villar Senin.
1480
1481         WebSoupRequestManager, WebSoupRequestManagerProxy and WebSoupRequestManagerClient
1482         classes were used to implement custom URI scheme support for Soup. This API and
1483         the implementations of these classes were removed in r174584, but curiously the
1484         headers went unnoticed. This patch removes them, as well as the
1485         WebSoupRequestManagerProxy forwarding declaration in WKAPICastSoup.h.
1486
1487         * UIProcess/API/C/soup/WKAPICastSoup.h:
1488         * UIProcess/soup/WebSoupRequestManagerClient.h: Removed.
1489         * UIProcess/soup/WebSoupRequestManagerProxy.h: Removed.
1490         (WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Deleted.
1491         * WebProcess/soup/WebSoupRequestManager.h: Removed.
1492
1493 2016-09-07  Simon Fraser  <simon.fraser@apple.com>
1494
1495         Enable the <meter> element on iOS
1496         https://bugs.webkit.org/show_bug.cgi?id=161714
1497         rdar://problem/8978410
1498
1499         Reviewed by Tim Horton.
1500
1501         Define ENABLE_METER_ELEMENT unconditionally now.
1502
1503         * Configurations/FeatureDefines.xcconfig:
1504
1505 2016-09-07  Dan Bernstein  <mitz@apple.com>
1506
1507         [Mac] .tbd files for the shims end up installed when building with GENERATE_TEXT_BASED_STUBS=YES
1508         https://bugs.webkit.org/show_bug.cgi?id=161722
1509
1510         Reviewed by Anders Carlsson.
1511
1512         * Configurations/Shim.xcconfig: Don’t install the shims. The Copy Shims build phase in the
1513           WebKit target will copy them into place without bringing their .tbd files along.
1514
1515 2016-09-07  Mark Lam  <mark.lam@apple.com>
1516
1517         Add CatchScope and force all exception checks to be via ThrowScope or CatchScope.
1518         https://bugs.webkit.org/show_bug.cgi?id=161498
1519
1520         Reviewed by Geoffrey Garen.
1521
1522         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1523         (WebKit::NPJSObject::hasMethod):
1524         (WebKit::NPJSObject::hasProperty):
1525         (WebKit::NPJSObject::getProperty):
1526         (WebKit::NPJSObject::setProperty):
1527         (WebKit::NPJSObject::removeProperty):
1528         (WebKit::NPJSObject::construct):
1529         (WebKit::NPJSObject::invoke):
1530
1531 2016-09-07  Konstantin Tokarev  <annulen@yandex.ru>
1532
1533         [GTK] Make inspection of Inspector conditional on DEVELOPER_MODE
1534         https://bugs.webkit.org/show_bug.cgi?id=161702
1535
1536         Reviewed by Michael Catanzaro.
1537
1538         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1539         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1540
1541 2016-09-07  Dan Bernstein  <mitz@apple.com>
1542
1543         [Cocoa] Update availability attributes per the macOS Sierra and iOS 10 GM seeds
1544         https://bugs.webkit.org/show_bug.cgi?id=161704
1545
1546         Reviewed by Anders Carlsson.
1547
1548         * Shared/API/Cocoa/_WKHitTestResult.h:
1549         * UIProcess/API/Cocoa/WKErrorPrivate.h:
1550         * UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
1551         * UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
1552         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
1553         * UIProcess/API/Cocoa/WKOpenPanelParameters.h:
1554         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
1555         * UIProcess/API/Cocoa/WKPreviewActionItem.h:
1556         * UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h:
1557         * UIProcess/API/Cocoa/WKPreviewElementInfo.h:
1558         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
1559         * UIProcess/API/Cocoa/WKUIDelegate.h:
1560         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
1561         * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
1562         * UIProcess/API/Cocoa/WKUserScriptPrivate.h:
1563         * UIProcess/API/Cocoa/WKWebView.h:
1564         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1565         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1566         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1567         * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
1568         * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
1569         * UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
1570         * UIProcess/API/Cocoa/_WKAutomationSession.h:
1571         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
1572         * UIProcess/API/Cocoa/_WKElementAction.h:
1573         * UIProcess/API/Cocoa/_WKExperimentalFeature.h:
1574         * UIProcess/API/Cocoa/_WKFormInputSession.h:
1575         * UIProcess/API/Cocoa/_WKInputDelegate.h:
1576         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
1577         * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
1578         * UIProcess/API/Cocoa/_WKUserContentWorld.h:
1579         * UIProcess/API/Cocoa/_WKUserInitiatedAction.h:
1580         * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
1581         * UIProcess/API/Cocoa/_WKWebsiteDataSize.h:
1582         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
1583         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
1584         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:
1585
1586 2016-09-07  Michael Catanzaro  <mcatanzaro@igalia.com>
1587
1588         [EFL] Switch to ENABLE_NETWORK_CACHE
1589         https://bugs.webkit.org/show_bug.cgi?id=152676
1590
1591         Reviewed by Alex Christensen.
1592
1593         Nowadays GTK+ always uses the network cache, and never the soup cache. Remove support for
1594         using the soup cache, and switch the EFL port to use network cache.
1595
1596         * NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
1597         (WebKit::NetworkCache::BlobStorage::add): Check return value of link to placate
1598         -Werror=unused-result on EFL builder
1599         * NetworkProcess/efl/NetworkProcessMainEfl.cpp:
1600         * NetworkProcess/soup/NetworkProcessSoup.cpp:
1601         (WebKit::getCacheDiskFreeSize):
1602         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
1603         (WebKit::NetworkProcess::platformSetCacheModel):
1604         (WebKit::NetworkProcess::clearDiskCache):
1605         * PlatformEfl.cmake: Add files to build.
1606         * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:
1607         (API::WebsiteDataStore::defaultNetworkCacheDirectory): Use a saner location.
1608         * UIProcess/API/gtk/APIWebsiteDataStoreGtk.cpp:
1609         (API::WebsiteDataStore::defaultNetworkCacheDirectory):
1610         * UIProcess/API/gtk/WebKitPrivate.h:
1611         * UIProcess/soup/WebProcessPoolSoup.cpp:
1612         (WebKit::WebProcessPool::platformInitializeNetworkProcess):
1613         * WebProcess/efl/WebProcessMainEfl.cpp:
1614         * config.h:
1615
1616 2016-09-07  Youenn Fablet  <youenn@apple.com>
1617
1618         [Streams API] Separate compile flag for ReadableStream and WritableStream
1619         https://bugs.webkit.org/show_bug.cgi?id=161044
1620
1621         Reviewed by Alex Christensen.
1622
1623         Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
1624
1625         * Configurations/FeatureDefines.xcconfig:
1626
1627 2016-09-07  Emanuele Aina  <emanuele.aina@collabora.com>
1628
1629         [GTK] Clarify frame callbacks behaviour in Wayland compositor
1630         https://bugs.webkit.org/show_bug.cgi?id=161683
1631
1632         Reviewed by Carlos Garcia Campos.
1633
1634         The way we fire frame callbacks in the nested Wayland compositor can
1635         be puzzling to developers expecting Wayland semantics, but since we
1636         have our own mechanism to handle synchronization we don't care much
1637         about them. Add a comment to avoid surprised Wayland developers.
1638
1639         * UIProcess/gtk/WaylandCompositor.cpp:
1640         (WebKit::WaylandCompositor::Surface::commit):
1641
1642 2016-09-07  Csaba Osztrogonác  <ossy@webkit.org>
1643
1644         URTBF after r205369, just for fun.
1645
1646         * PlatformMac.cmake: Added new files.
1647
1648 2016-09-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1649
1650         [GTK] Remove unused GObject DOM unstable API
1651         https://bugs.webkit.org/show_bug.cgi?id=161440
1652
1653         Reviewed by Philippe Normand.
1654
1655         Remove unstable GObject DOM API now that we no longer auto-generate the bindings.
1656
1657         * PlatformGTK.cmake:
1658         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.cpp: Removed.
1659         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.h: Removed.
1660         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.cpp: Removed.
1661         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.h: Removed.
1662         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffectPrivate.h: Removed.
1663         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.cpp: Removed.
1664         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.h: Removed.
1665         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimelinePrivate.h: Removed.
1666         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:
1667         (webkit_dom_attr_get_property):
1668         (webkit_dom_attr_class_init):
1669         (webkit_dom_attr_get_prefix): Deleted.
1670         (webkit_dom_attr_get_local_name): Deleted.
1671         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrUnstable.h: Removed.
1672         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.cpp: Removed.
1673         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.h: Removed.
1674         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.cpp: Removed.
1675         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.h: Removed.
1676         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackListPrivate.h: Removed.
1677         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackPrivate.h: Removed.
1678         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.cpp: Removed.
1679         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.h: Removed.
1680         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarPropPrivate.h: Removed.
1681         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.cpp: Removed.
1682         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.h: Removed.
1683         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManagerPrivate.h: Removed.
1684         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:
1685         (webkit_dom_blob_get_property):
1686         (webkit_dom_blob_class_init):
1687         (webkit_dom_blob_get_size):
1688         (webkit_dom_blob_init): Deleted.
1689         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobUnstable.h: Removed.
1690         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
1691         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleUnstable.h: Removed.
1692         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:
1693         (webkit_dom_character_data_get_property):
1694         (webkit_dom_character_data_class_init):
1695         (webkit_dom_character_data_get_length):
1696         (webkit_dom_character_data_set_property): Deleted.
1697         (webkit_dom_character_data_substring_data): Deleted.
1698         (webkit_dom_character_data_append_data): Deleted.
1699         (webkit_dom_character_data_insert_data): Deleted.
1700         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataUnstable.h: Removed.
1701         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.cpp: Removed.
1702         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.h: Removed.
1703         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCachePrivate.h: Removed.
1704         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.cpp: Removed.
1705         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.h: Removed.
1706         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespacePrivate.h: Removed.
1707         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.cpp: Removed.
1708         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.h: Removed.
1709         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.cpp: Removed.
1710         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.h: Removed.
1711         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArrayPrivate.h: Removed.
1712         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypePrivate.h: Removed.
1713         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.cpp: Removed.
1714         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.h: Removed.
1715         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollectionPrivate.h: Removed.
1716         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.cpp: Removed.
1717         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.h: Removed.
1718         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.cpp: Removed.
1719         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.h: Removed.
1720         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArrayPrivate.h: Removed.
1721         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginPrivate.h: Removed.
1722         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.cpp: Removed.
1723         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.h: Removed.
1724         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringListPrivate.h: Removed.
1725         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.cpp: Removed.
1726         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.h: Removed.
1727         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMapPrivate.h: Removed.
1728         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
1729         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.cpp: Removed.
1730         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.h: Removed.
1731         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.cpp: Removed.
1732         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.h: Removed.
1733         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCuePrivate.h: Removed.
1734         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.cpp: Removed.
1735         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.h: Removed.
1736         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabasePrivate.h: Removed.
1737         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.cpp: Removed.
1738         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.h: Removed.
1739         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.cpp: Removed.
1740         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.h: Removed.
1741         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimelinePrivate.h: Removed.
1742         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
1743         (webkit_dom_document_type_get_name): Deleted.
1744         (webkit_dom_document_type_get_entities): Deleted.
1745         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypeUnstable.h: Removed.
1746         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
1747         (webkit_dom_event_get_property):
1748         (webkit_dom_event_class_init):
1749         (webkit_dom_event_init): Deleted.
1750         (webkit_dom_event_stop_propagation): Deleted.
1751         (webkit_dom_event_get_bubbles): Deleted.
1752         (webkit_dom_event_get_cancelable): Deleted.
1753         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventUnstable.h: Removed.
1754         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:
1755         (webkit_dom_file_get_property):
1756         (webkit_dom_file_class_init):
1757         (webkit_dom_file_get_name):
1758         (webkit_dom_file_init): Deleted.
1759         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileUnstable.h: Removed.
1760         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.cpp: Removed.
1761         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.h: Removed.
1762         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.cpp: Removed.
1763         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.h: Removed.
1764         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.cpp: Removed.
1765         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.h: Removed.
1766         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocationPrivate.h: Removed.
1767         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:
1768         (webkit_dom_html_anchor_element_set_property):
1769         (webkit_dom_html_anchor_element_get_property):
1770         (webkit_dom_html_anchor_element_class_init):
1771         (webkit_dom_html_anchor_element_init): Deleted.
1772         (webkit_dom_html_anchor_element_get_charset): Deleted.
1773         (webkit_dom_html_anchor_element_set_charset): Deleted.
1774         (webkit_dom_html_anchor_element_get_coords): Deleted.
1775         (webkit_dom_html_anchor_element_set_coords): Deleted.
1776         (webkit_dom_html_anchor_element_get_target): Deleted.
1777         (webkit_dom_html_anchor_element_set_target): Deleted.
1778         (webkit_dom_html_anchor_element_get_type_attr): Deleted.
1779         (webkit_dom_html_anchor_element_set_type_attr): Deleted.
1780         (webkit_dom_html_anchor_element_set_href): Deleted.
1781         (webkit_dom_html_anchor_element_get_protocol): Deleted.
1782         (webkit_dom_html_anchor_element_set_protocol): Deleted.
1783         (webkit_dom_html_anchor_element_set_hash): Deleted.
1784         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
1785         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementUnstable.h: Removed.
1786         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:
1787         (webkit_dom_html_area_element_set_property):
1788         (webkit_dom_html_area_element_get_property):
1789         (webkit_dom_html_area_element_class_init):
1790         (webkit_dom_html_area_element_init): Deleted.
1791         (webkit_dom_html_area_element_get_alt): Deleted.
1792         (webkit_dom_html_area_element_set_alt): Deleted.
1793         (webkit_dom_html_area_element_get_coords): Deleted.
1794         (webkit_dom_html_area_element_set_coords): Deleted.
1795         (webkit_dom_html_area_element_get_hostname): Deleted.
1796         (webkit_dom_html_area_element_set_hostname): Deleted.
1797         (webkit_dom_html_area_element_get_port): Deleted.
1798         (webkit_dom_html_area_element_set_port): Deleted.
1799         (webkit_dom_html_area_element_get_pathname): Deleted.
1800         (webkit_dom_html_area_element_get_hash): Deleted.
1801         (webkit_dom_html_area_element_set_hash): Deleted.
1802         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
1803         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementUnstable.h: Removed.
1804         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.cpp: Removed.
1805         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.h: Removed.
1806         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElementPrivate.h: Removed.
1807         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:
1808         (webkit_dom_html_button_element_set_property):
1809         (webkit_dom_html_button_element_get_property):
1810         (webkit_dom_html_button_element_class_init):
1811         (webkit_dom_html_button_element_get_will_validate):
1812         (webkit_dom_html_button_element_get_autofocus): Deleted.
1813         (webkit_dom_html_button_element_set_autofocus): Deleted.
1814         (webkit_dom_html_button_element_get_disabled): Deleted.
1815         (webkit_dom_html_button_element_set_disabled): Deleted.
1816         (webkit_dom_html_button_element_get_form): Deleted.
1817         (webkit_dom_html_button_element_get_button_type): Deleted.
1818         (webkit_dom_html_button_element_set_button_type): Deleted.
1819         (webkit_dom_html_button_element_get_name): Deleted.
1820         (webkit_dom_html_button_element_set_value): Deleted.
1821         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementUnstable.h: Removed.
1822         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.cpp: Removed.
1823         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.h: Removed.
1824         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElementPrivate.h: Removed.
1825         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:
1826         (webkit_dom_html_field_set_element_get_property):
1827         (webkit_dom_html_field_set_element_class_init):
1828         (webkit_dom_html_field_set_element_get_form):
1829         (webkit_dom_html_field_set_element_init): Deleted.
1830         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementUnstable.h: Removed.
1831         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:
1832         (webkit_dom_html_form_element_set_property):
1833         (webkit_dom_html_form_element_get_property):
1834         (webkit_dom_html_form_element_class_init):
1835         (webkit_dom_html_form_element_get_length):
1836         (webkit_dom_html_form_element_submit): Deleted.
1837         (webkit_dom_html_form_element_reset): Deleted.
1838         (webkit_dom_html_form_element_get_action): Deleted.
1839         (webkit_dom_html_form_element_set_action): Deleted.
1840         (webkit_dom_html_form_element_get_enctype): Deleted.
1841         (webkit_dom_html_form_element_set_encoding): Deleted.
1842         (webkit_dom_html_form_element_get_method): Deleted.
1843         (webkit_dom_html_form_element_set_method): Deleted.
1844         (webkit_dom_html_form_element_set_target): Deleted.
1845         (webkit_dom_html_form_element_get_elements): Deleted.
1846         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementUnstable.h: Removed.
1847         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:
1848         (webkit_dom_html_html_element_set_property):
1849         (webkit_dom_html_html_element_get_property):
1850         (webkit_dom_html_html_element_class_init):
1851         (webkit_dom_html_html_element_set_version):
1852         (webkit_dom_html_html_element_get_version): Deleted.
1853         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementUnstable.h: Removed.
1854         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:
1855         (webkit_dom_html_iframe_element_set_property):
1856         (webkit_dom_html_iframe_element_get_property):
1857         (webkit_dom_html_iframe_element_class_init):
1858         (webkit_dom_html_iframe_element_init): Deleted.
1859         (webkit_dom_html_iframe_element_set_src): Deleted.
1860         (webkit_dom_html_iframe_element_get_width): Deleted.
1861         (webkit_dom_html_iframe_element_set_width): Deleted.
1862         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementUnstable.h: Removed.
1863         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:
1864         (webkit_dom_html_image_element_set_property):
1865         (webkit_dom_html_image_element_get_property):
1866         (webkit_dom_html_image_element_class_init):
1867         (webkit_dom_html_image_element_set_long_desc): Deleted.
1868         (webkit_dom_html_image_element_get_src): Deleted.
1869         (webkit_dom_html_image_element_set_src): Deleted.
1870         (webkit_dom_html_image_element_get_natural_height): Deleted.
1871         (webkit_dom_html_image_element_get_natural_width): Deleted.
1872         (webkit_dom_html_image_element_get_x): Deleted.
1873         (webkit_dom_html_image_element_get_y): Deleted.
1874         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementUnstable.h: Removed.
1875         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
1876         (webkit_dom_html_input_element_set_property):
1877         (webkit_dom_html_input_element_get_property):
1878         (webkit_dom_html_input_element_class_init):
1879         (webkit_dom_html_input_element_set_capture_type):
1880         (webkit_dom_html_input_element_init): Deleted.
1881         (webkit_dom_html_input_element_select): Deleted.
1882         (webkit_dom_html_input_element_get_accept): Deleted.
1883         (webkit_dom_html_input_element_set_accept): Deleted.
1884         (webkit_dom_html_input_element_get_alt): Deleted.
1885         (webkit_dom_html_input_element_set_alt): Deleted.
1886         (webkit_dom_html_input_element_get_default_checked): Deleted.
1887         (webkit_dom_html_input_element_set_default_checked): Deleted.
1888         (webkit_dom_html_input_element_get_checked): Deleted.
1889         (webkit_dom_html_input_element_set_checked): Deleted.
1890         (webkit_dom_html_input_element_get_disabled): Deleted.
1891         (webkit_dom_html_input_element_get_files): Deleted.
1892         (webkit_dom_html_input_element_set_files): Deleted.
1893         (webkit_dom_html_input_element_set_height): Deleted.
1894         (webkit_dom_html_input_element_get_indeterminate): Deleted.
1895         (webkit_dom_html_input_element_get_max_length): Deleted.
1896         (webkit_dom_html_input_element_set_max_length): Deleted.
1897         (webkit_dom_html_input_element_get_name): Deleted.
1898         (webkit_dom_html_input_element_set_name): Deleted.
1899         (webkit_dom_html_input_element_get_size): Deleted.
1900         (webkit_dom_html_input_element_set_size): Deleted.
1901         (webkit_dom_html_input_element_get_src): Deleted.
1902         (webkit_dom_html_input_element_set_input_type): Deleted.
1903         (webkit_dom_html_input_element_get_default_value): Deleted.
1904         (webkit_dom_html_input_element_set_default_value): Deleted.
1905         (webkit_dom_html_input_element_set_value): Deleted.
1906         (webkit_dom_html_input_element_get_width): Deleted.
1907         (webkit_dom_html_input_element_set_width): Deleted.
1908         (webkit_dom_html_input_element_get_will_validate): Deleted.
1909         (webkit_dom_html_input_element_get_align): Deleted.
1910         (webkit_dom_html_input_element_set_align): Deleted.
1911         (webkit_dom_html_input_element_get_use_map): Deleted.
1912         (webkit_dom_html_input_element_set_use_map): Deleted.
1913         (webkit_dom_html_input_element_get_capture_type): Deleted.
1914         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
1915         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementUnstable.h: Removed.
1916         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.cpp: Removed.
1917         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.h: Removed.
1918         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElementPrivate.h: Removed.
1919         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:
1920         (webkit_dom_html_label_element_get_property):
1921         (webkit_dom_html_label_element_class_init):
1922         (webkit_dom_html_label_element_init): Deleted.
1923         (webkit_dom_html_label_element_get_form): Deleted.
1924         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementUnstable.h: Removed.
1925         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
1926         (webkit_dom_html_link_element_set_property):
1927         (webkit_dom_html_link_element_get_property):
1928         (webkit_dom_html_link_element_class_init):
1929         (webkit_dom_html_link_element_get_disabled): Deleted.
1930         (webkit_dom_html_link_element_set_disabled): Deleted.
1931         (webkit_dom_html_link_element_get_charset): Deleted.
1932         (webkit_dom_html_link_element_set_charset): Deleted.
1933         (webkit_dom_html_link_element_get_href): Deleted.
1934         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
1935         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementUnstable.h: Removed.
1936         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:
1937         (webkit_dom_html_marquee_element_class_init):
1938         (webkit_dom_html_marquee_element_stop):
1939         (webkit_dom_html_marquee_element_init): Deleted.
1940         (webkit_dom_html_marquee_element_start): Deleted.
1941         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementUnstable.h: Removed.
1942         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.cpp: Removed.
1943         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.h: Removed.
1944         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElementPrivate.h: Removed.
1945         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
1946         (webkit_dom_html_o_list_element_set_property):
1947         (webkit_dom_html_o_list_element_get_property):
1948         (webkit_dom_html_o_list_element_class_init):
1949         (webkit_dom_html_o_list_element_init): Deleted.
1950         (webkit_dom_html_o_list_element_get_compact): Deleted.
1951         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementUnstable.h: Removed.
1952         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:
1953         (webkit_dom_html_object_element_get_property):
1954         (webkit_dom_html_object_element_class_init):
1955         (webkit_dom_html_object_element_set_property): Deleted.
1956         (webkit_dom_html_object_element_get_form): Deleted.
1957         (webkit_dom_html_object_element_get_code): Deleted.
1958         (webkit_dom_html_object_element_set_code): Deleted.
1959         (webkit_dom_html_object_element_get_align): Deleted.
1960         (webkit_dom_html_object_element_set_align): Deleted.
1961         (webkit_dom_html_object_element_get_archive): Deleted.
1962         (webkit_dom_html_object_element_set_archive): Deleted.
1963         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementUnstable.h: Removed.
1964         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:
1965         (webkit_dom_html_options_collection_get_selected_index): Deleted.
1966         (webkit_dom_html_options_collection_set_selected_index): Deleted.
1967         (webkit_dom_html_options_collection_get_length): Deleted.
1968         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionUnstable.h: Removed.
1969         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
1970         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:
1971         (webkit_dom_html_script_element_set_property):
1972         (webkit_dom_html_script_element_get_property):
1973         (webkit_dom_html_script_element_class_init):
1974         (webkit_dom_html_script_element_set_type_attr):
1975         (webkit_dom_html_script_element_init): Deleted.
1976         (webkit_dom_html_script_element_get_html_for): Deleted.
1977         (webkit_dom_html_script_element_set_html_for): Deleted.
1978         (webkit_dom_html_script_element_get_event): Deleted.
1979         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
1980         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementUnstable.h: Removed.
1981         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
1982         (webkit_dom_html_select_element_set_property):
1983         (webkit_dom_html_select_element_get_property):
1984         (webkit_dom_html_select_element_class_init):
1985         (webkit_dom_html_select_element_get_will_validate):
1986         (webkit_dom_html_select_element_named_item): Deleted.
1987         (webkit_dom_html_select_element_get_autofocus): Deleted.
1988         (webkit_dom_html_select_element_set_autofocus): Deleted.
1989         (webkit_dom_html_select_element_get_disabled): Deleted.
1990         (webkit_dom_html_select_element_set_disabled): Deleted.
1991         (webkit_dom_html_select_element_get_form): Deleted.
1992         (webkit_dom_html_select_element_set_size): Deleted.
1993         (webkit_dom_html_select_element_get_select_type): Deleted.
1994         (webkit_dom_html_select_element_get_options): Deleted.
1995         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementUnstable.h: Removed.
1996         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:
1997         (webkit_dom_html_style_element_set_property):
1998         (webkit_dom_html_style_element_get_property):
1999         (webkit_dom_html_style_element_class_init):
2000         (webkit_dom_html_style_element_get_sheet):
2001         (webkit_dom_html_style_element_get_disabled): Deleted.
2002         (webkit_dom_html_style_element_set_disabled): Deleted.
2003         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementUnstable.h: Removed.
2004         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:
2005         (webkit_dom_html_table_element_set_property):
2006         (webkit_dom_html_table_element_get_property):
2007         (webkit_dom_html_table_element_class_init):
2008         (webkit_dom_html_table_element_insert_row): Deleted.
2009         (webkit_dom_html_table_element_set_summary): Deleted.
2010         (webkit_dom_html_table_element_get_width): Deleted.
2011         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementUnstable.h: Removed.
2012         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
2013         (webkit_dom_html_text_area_element_set_property):
2014         (webkit_dom_html_text_area_element_get_property):
2015         (webkit_dom_html_text_area_element_class_init):
2016         (webkit_dom_html_text_area_element_init): Deleted.
2017         (webkit_dom_html_text_area_element_set_selection_range): Deleted.
2018         (webkit_dom_html_text_area_element_set_autofocus): Deleted.
2019         (webkit_dom_html_text_area_element_get_disabled): Deleted.
2020         (webkit_dom_html_text_area_element_get_form): Deleted.
2021         (webkit_dom_html_text_area_element_get_name): Deleted.
2022         (webkit_dom_html_text_area_element_get_rows): Deleted.
2023         (webkit_dom_html_text_area_element_set_rows): Deleted.
2024         (webkit_dom_html_text_area_element_get_cols): Deleted.
2025         (webkit_dom_html_text_area_element_set_cols): Deleted.
2026         (webkit_dom_html_text_area_element_get_area_type): Deleted.
2027         (webkit_dom_html_text_area_element_get_default_value): Deleted.
2028         (webkit_dom_html_text_area_element_get_value): Deleted.
2029         (webkit_dom_html_text_area_element_set_value): Deleted.
2030         (webkit_dom_html_text_area_element_get_will_validate): Deleted.
2031         (webkit_dom_html_text_area_element_get_selection_start): Deleted.
2032         (webkit_dom_html_text_area_element_set_selection_start): Deleted.
2033         (webkit_dom_html_text_area_element_get_selection_end): Deleted.
2034         (webkit_dom_html_text_area_element_set_selection_end): Deleted.
2035         (webkit_dom_html_text_area_element_is_edited): Deleted.
2036         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementUnstable.h: Removed.
2037         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.cpp: Removed.
2038         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.h: Removed.
2039         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElementPrivate.h: Removed.
2040         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.cpp: Removed.
2041         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.h: Removed.
2042         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistoryPrivate.h: Removed.
2043         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.cpp: Removed.
2044         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.h: Removed.
2045         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffectPrivate.h: Removed.
2046         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.cpp: Removed.
2047         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.h: Removed.
2048         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocationPrivate.h: Removed.
2049         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.cpp: Removed.
2050         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.h: Removed.
2051         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaControllerPrivate.h: Removed.
2052         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.cpp: Removed.
2053         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.h: Removed.
2054         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevicesPrivate.h: Removed.
2055         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.cpp: Removed.
2056         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.h: Removed.
2057         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaErrorPrivate.h: Removed.
2058         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.cpp: Removed.
2059         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.h: Removed.
2060         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryListPrivate.h: Removed.
2061         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.cpp: Removed.
2062         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.h: Removed.
2063         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraintsPrivate.h: Removed.
2064         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.cpp: Removed.
2065         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.h: Removed.
2066         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePortPrivate.h: Removed.
2067         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:
2068         (webkit_dom_mouse_event_get_property):
2069         (webkit_dom_mouse_event_class_init):
2070         (webkit_dom_mouse_event_get_y): Deleted.
2071         (webkit_dom_mouse_event_get_from_element): Deleted.
2072         (webkit_dom_mouse_event_get_to_element): Deleted.
2073         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventUnstable.h: Removed.
2074         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.cpp: Removed.
2075         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.h: Removed.
2076         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.cpp: Removed.
2077         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.h: Removed.
2078         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorPrivate.h: Removed.
2079         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
2080         (webkit_dom_node_get_property):
2081         (webkit_dom_node_class_init):
2082         (webkit_dom_node_init): Deleted.
2083         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeUnstable.h: Removed.
2084         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.cpp: Removed.
2085         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.h: Removed.
2086         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.cpp: Removed.
2087         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.h: Removed.
2088         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntryPrivate.h: Removed.
2089         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.cpp: Removed.
2090         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.h: Removed.
2091         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigationPrivate.h: Removed.
2092         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformancePrivate.h: Removed.
2093         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.cpp: Removed.
2094         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.h: Removed.
2095         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTimingPrivate.h: Removed.
2096         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.cpp:
2097         (WebKit::wrap): Deleted.
2098         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.h:
2099         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.cpp: Removed.
2100         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.h: Removed.
2101         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreenPrivate.h: Removed.
2102         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.cpp: Removed.
2103         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.h: Removed.
2104         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.cpp: Removed.
2105         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.h: Removed.
2106         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEventPrivate.h: Removed.
2107         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisPrivate.h: Removed.
2108         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.cpp: Removed.
2109         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.h: Removed.
2110         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterancePrivate.h: Removed.
2111         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.cpp: Removed.
2112         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.h: Removed.
2113         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoicePrivate.h: Removed.
2114         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.cpp: Removed.
2115         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.h: Removed.
2116         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.cpp: Removed.
2117         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.h: Removed.
2118         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStoragePrivate.h: Removed.
2119         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.cpp: Removed.
2120         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.h: Removed.
2121         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.cpp: Removed.
2122         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.h: Removed.
2123         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMediaPrivate.h: Removed.
2124         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.cpp: Removed.
2125         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.h: Removed.
2126         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.cpp: Removed.
2127         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.h: Removed.
2128         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.cpp: Removed.
2129         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.h: Removed.
2130         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueListPrivate.h: Removed.
2131         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCuePrivate.h: Removed.
2132         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.cpp: Removed.
2133         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.h: Removed.
2134         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackListPrivate.h: Removed.
2135         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackPrivate.h: Removed.
2136         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.cpp: Removed.
2137         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.h: Removed.
2138         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRangesPrivate.h: Removed.
2139         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.cpp: Removed.
2140         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.h: Removed.
2141         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouchPrivate.h: Removed.
2142         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.cpp: Removed.
2143         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.h: Removed.
2144         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEventPrivate.h: Removed.
2145         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:
2146         (webkit_dom_ui_event_get_property):
2147         (webkit_dom_ui_event_class_init):
2148         (webkit_dom_ui_event_get_page_y):
2149         (webkit_dom_ui_event_init): Deleted.
2150         (webkit_dom_ui_event_init_ui_event): Deleted.
2151         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventUnstable.h: Removed.
2152         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.cpp: Removed.
2153         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.h: Removed.
2154         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlerPrivate.h: Removed.
2155         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp: Removed.
2156         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h: Removed.
2157         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespacePrivate.h: Removed.
2158         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.cpp: Removed.
2159         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.h: Removed.
2160         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCuePrivate.h: Removed.
2161         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.cpp: Removed.
2162         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.h: Removed.
2163         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityStatePrivate.h: Removed.
2164         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.cpp: Removed.
2165         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.h: Removed.
2166         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQualityPrivate.h: Removed.
2167         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.cpp: Removed.
2168         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.h: Removed.
2169         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.cpp: Removed.
2170         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.h: Removed.
2171         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackListPrivate.h: Removed.
2172         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackPrivate.h: Removed.
2173         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.cpp: Removed.
2174         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.h: Removed.
2175         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimationPrivate.h: Removed.
2176         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.cpp: Removed.
2177         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.h: Removed.
2178         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlowPrivate.h: Removed.
2179         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.cpp: Removed.
2180         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.h: Removed.
2181         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespacePrivate.h: Removed.
2182         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.cpp: Removed.
2183         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.h: Removed.
2184         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPointPrivate.h: Removed.
2185         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:
2186         (webkit_dom_wheel_event_get_property):
2187         (webkit_dom_wheel_event_class_init):
2188         (webkit_dom_wheel_event_get_wheel_delta):
2189         (webkit_dom_wheel_event_init): Deleted.
2190         (webkit_dom_wheel_event_init_wheel_event): Deleted.
2191         (webkit_dom_wheel_event_get_wheel_delta_x): Deleted.
2192         (webkit_dom_wheel_event_get_wheel_delta_y): Deleted.
2193         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventUnstable.h: Removed.
2194         * WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
2195         * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups-unstable.h: Removed.
2196         * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h: Removed.
2197
2198 2016-09-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2199
2200         [GTK] Move some GObject DOM unstable API to stable
2201         https://bugs.webkit.org/show_bug.cgi?id=161681
2202
2203         Reviewed by Žan Doberšek.
2204
2205         Move unstable API currently used by applications to the stable API in preparation for removing all unused
2206         unstable API.
2207
2208         * PlatformGTK.cmake:
2209         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.cpp: Removed.
2210         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.h:
2211         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustomUnstable.h:
2212         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
2213         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
2214         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
2215         (webkit_dom_dom_window_get_property):
2216         (webkit_dom_dom_window_class_init):
2217         (webkit_dom_dom_window_webkit_message_handlers_post_message):
2218         (webkit_dom_dom_window_set_property): Deleted.
2219         (webkit_dom_dom_window_get_computed_style): Deleted.
2220         (webkit_dom_dom_window_capture_events): Deleted.
2221         (webkit_dom_dom_window_get_frame_element): Deleted.
2222         (webkit_dom_dom_window_get_offscreen_buffering): Deleted.
2223         (webkit_dom_dom_window_get_outer_height): Deleted.
2224         (webkit_dom_dom_window_get_outer_width): Deleted.
2225         (webkit_dom_dom_window_get_inner_height): Deleted.
2226         (webkit_dom_dom_window_get_inner_width): Deleted.
2227         (webkit_dom_dom_window_get_screen_x): Deleted.
2228         (webkit_dom_dom_window_set_status): Deleted.
2229         (webkit_dom_dom_window_get_default_status): Deleted.
2230         (webkit_dom_dom_window_get_window): Deleted.
2231         (webkit_dom_dom_window_get_frames): Deleted.
2232         (webkit_dom_dom_window_get_parent): Deleted.
2233         (webkit_dom_dom_window_get_top): Deleted.
2234         (webkit_dom_dom_window_get_document): Deleted.
2235         (webkit_dom_dom_window_get_device_pixel_ratio): Deleted.
2236         (webkit_dom_dom_window_get_orientation): Deleted.
2237         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
2238         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
2239         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
2240         (webkit_dom_document_get_property):
2241         (webkit_dom_document_webkit_cancel_fullscreen):
2242         (webkit_dom_document_get_webkit_is_fullscreen):
2243         (webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed):
2244         (webkit_dom_document_get_webkit_current_fullscreen_element):
2245         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
2246         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
2247         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
2248         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
2249         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
2250         (webkit_dom_element_webkit_request_fullscreen): Deleted.
2251         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
2252         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
2253         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
2254         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
2255         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
2256         (webkit_dom_html_input_element_is_edited):
2257         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
2258         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
2259         (webkit_dom_html_link_element_set_sizes):
2260         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
2261         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
2262         (webkit_dom_html_text_area_element_is_edited):
2263         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
2264         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
2265         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
2266         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp:
2267         (webkit_dom_user_message_handlers_namespace_get_handler):
2268         (webkit_dom_user_message_handlers_namespace_init): Deleted.
2269         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h:
2270         * WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
2271         * WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-docs.sgml:
2272         * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h:
2273         * WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:
2274
2275 2016-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2276
2277         [GTK][Threaded Compositor] Several flaky tests
2278         https://bugs.webkit.org/show_bug.cgi?id=161242
2279
2280         Reviewed by Michael Catanzaro.
2281
2282         Reset the viewport attributes on SimpleViewportController when viewport attributes change and fixed layout is
2283         not used. We were only updating the viewport attributes when fixed layout was used, but not resetting them again
2284         when it's no longer used. That caused that reference tests run after fast/fixed-layout/fixed-layout.html or
2285         compositing/fixed-with-fixed-layout.html in the same worker thread were incorrectly rendered.
2286
2287         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2288         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): Remove ifdefs and call
2289         WebPage::viewportPropertiesDidChange() unconditionally.
2290         * WebProcess/WebPage/WebPage.cpp:
2291         (WebKit::WebPage::setSize): Pass current page viewport arguments to sendViewportAttributesChanged().
2292         (WebKit::WebPage::sendViewportAttributesChanged): It now receives the viewport arguments.
2293         (WebKit::WebPage::viewportPropertiesDidChange): Move the iOS implementation from WebPageIOS.mm and for
2294         coordinated graphics call sendViewportAttributesChanged() when fixed layout is used or reset the viewport
2295         attributes when not used in case of threaded compositor.
2296         * WebProcess/WebPage/WebPage.h:
2297         (WebKit::WebPage::viewportPropertiesDidChange): Moved out of iOS ifdef.
2298         * WebProcess/WebPage/ios/WebPageIOS.mm:
2299         (WebKit::WebPage::viewportPropertiesDidChange): Deleted.
2300
2301 2016-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2302
2303         Unreviewed. Fix the GTK+ build after r205524.
2304
2305         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
2306         (webkit_dom_html_input_element_get_max_length):
2307         (webkit_dom_html_input_element_set_max_length):
2308         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
2309         (webkit_dom_html_text_area_element_get_max_length):
2310         (webkit_dom_html_text_area_element_set_max_length):
2311
2312 2016-09-06  Daniel Bates  <dabates@apple.com>
2313
2314         [iOS] WebKit2 fails to build with iOS 10 beta SDK - "'UIWKTextInteractionAssistant' may not respond to 'selectAll:'"
2315         https://bugs.webkit.org/show_bug.cgi?id=161663
2316
2317         Reviewed by Darin Adler.
2318
2319         The UIResponderStandardEditActions extensions, including the selectAll: message, are now
2320         part of a formal protocol by the same name as of the iOS 10 beta SDK.
2321
2322         * Platform/spi/ios/UIKitSPI.h:
2323
2324 2016-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2325
2326         Enable custom elements API in Safari Technology Preview
2327         https://bugs.webkit.org/show_bug.cgi?id=161518
2328
2329         Reviewed by Chris Dumez.
2330
2331         Re-enable custom elements API in Safari Technology Preview after r203296
2332         now that our implementation has caught up to the latest specification changes.
2333
2334         * Shared/WebPreferencesDefinitions.h:
2335
2336 2016-09-01  Simon Fraser  <simon.fraser@apple.com>
2337
2338         Use TemporaryChange<> to maintain m_userIsInteracting
2339         https://bugs.webkit.org/show_bug.cgi?id=161497
2340
2341         Reviewed by Tim Horton.
2342
2343         Replace some error-prone manual set/clear of m_userIsInteracting with
2344         TemporaryChange<>.
2345
2346         No behavior change.
2347
2348         * WebProcess/WebPage/WebPage.cpp:
2349         (WebKit::WebPage::mouseEvent):
2350         (WebKit::WebPage::keyEvent):
2351         (WebKit::WebPage::dispatchTouchEvent):
2352
2353 2016-09-06  Tim Horton  <timothy_horton@apple.com>
2354
2355         Remove SwipeTransitionStyle; only Overlap has ever been used
2356         https://bugs.webkit.org/show_bug.cgi?id=161617
2357
2358         Reviewed by Alex Christensen.
2359
2360         * UIProcess/mac/ViewGestureController.h:
2361         * UIProcess/mac/ViewGestureControllerMac.mm:
2362         (WebKit::ViewGestureController::beginSwipeGesture):
2363         (WebKit::ViewGestureController::handleSwipeGesture):
2364         Remove SwipeTransitionStyle::Push, and SwipeTransitionStyle itself entirely,
2365         because we've never used it and it is only supported by the Mac
2366         implementation of ViewGestureController.
2367
2368 2016-09-06  Daniel Bates  <dabates@apple.com>
2369
2370         Remove EXTERN_C from WTF
2371         https://bugs.webkit.org/show_bug.cgi?id=161090
2372
2373         Reviewed by Brent Fulgham.
2374
2375         Guard external C declarations in WTF_EXTERN_C_BEGIN, WTF_EXTERN_C_END.
2376
2377         * Platform/spi/ios/ManagedConfigurationSPI.h:
2378
2379 2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>
2380
2381         Unreviewed, rolling out r205407.
2382
2383         Not the correct way to implement this functionality
2384
2385         Reverted changeset:
2386
2387         "Consult with the FrameLoaderClient about whether or not
2388         content extensions should be enabled when loading this URL."
2389         https://bugs.webkit.org/show_bug.cgi?id=161441
2390         http://trac.webkit.org/changeset/205407
2391
2392 2016-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2393
2394         [GTK][Wayland] evince-browser-plugin prevents viewing PDFs
2395         https://bugs.webkit.org/show_bug.cgi?id=158697
2396
2397         Reviewed by Michael Catanzaro.
2398
2399         Use a different cache file for plugins depending on the current platform display. Plugins can claim to work on
2400         X11 but not on Wayland, for example, if they need XEmebed to work. That's the case of the evince browser plugin.
2401
2402         * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
2403         (WebKit::cacheFilenameForCurrentDisplay):
2404         (WebKit::PluginInfoCache::PluginInfoCache):
2405
2406 2016-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2407
2408         [Threaded Compositor] Update timer should have lower priority than tasks scheduled in compositing thread
2409         https://bugs.webkit.org/show_bug.cgi?id=161625
2410
2411         Reviewed by Sergio Villar Senin.
2412
2413         This way, if a resize is scheduled, for example, and there are pending updates, the resize will happen first,
2414         and then the updates will happen at the right size.
2415
2416         * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
2417         (WebKit::CompositingRunLoop::CompositingRunLoop): Use G_PRIORITY_HIGH_IDLE as update timer priority. The actual
2418         priority doesn't really matter as long as it's lower than G_PRIORITY_DEFAULT, because there are only two
2419         possible sources in the compositing run loop, one for the tasks scheduled, and another one for the update timer.
2420
2421 2016-09-06  Emanuele Aina  <emanuele.aina@collabora.com>
2422
2423         [GTK] glImageTargetTexture2D() is a GL function, rename accordingly
2424         https://bugs.webkit.org/show_bug.cgi?id=161622
2425
2426         Reviewed by Carlos Garcia Campos.
2427
2428         glImageTargetTexture2D() is a GL function, not EGL, using the 'egl'
2429         prefix is misleading.
2430
2431         * UIProcess/gtk/WaylandCompositor.cpp:
2432         (WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
2433         (WebKit::WaylandCompositor::initializeEGL):
2434
2435 2016-09-06  Emanuele Aina  <emanuele.aina@collabora.com>
2436
2437         [GTK][EFL] Make *_PROCESS_CMD_PREFIX conditional on DEVELOPER_MODE
2438         https://bugs.webkit.org/show_bug.cgi?id=161621
2439
2440         Reviewed by Carlos Garcia Campos.
2441
2442         Instead of enabling support for the *_PROCESS_CMD_PREFIX set of
2443         environment valiables (eg. WEB_PROCESS_CMD_PREFIX) on debug builds
2444         only, enable it when DEVELOPER_MODE is enabled as it already guards
2445         similar features (eg. WEBKIT_EXEC_PATH).
2446
2447         * UIProcess/ChildProcessProxy.cpp:
2448         (WebKit::ChildProcessProxy::getLaunchOptions):
2449         * UIProcess/Launcher/ProcessLauncher.h:
2450         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
2451         (WebKit::ProcessLauncher::launchProcess):
2452         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2453         (WebKit::ProcessLauncher::launchProcess):
2454
2455 2016-09-05  Zan Dobersek  <zdobersek@igalia.com>
2456
2457         Fix ENABLE(GAMEPAD) build errors on non-Cocoa platforms
2458         https://bugs.webkit.org/show_bug.cgi?id=161596
2459
2460         Reviewed by Darin Adler.
2461
2462         This patch fixes build errors popping up when enabling Gamepad
2463         feature on non-Cocoa platforms.
2464
2465         * CMakeLists.txt: Add the Source/WebCore/platform/gamepad/ directory to
2466         WebKit2_INCLUDE_DIRECTORIES. Add GamepadData.cpp, UIGamepad.cpp files to the build.
2467         * UIProcess/Gamepad/UIGamepadProvider.cpp: Don't include Cocoa-specific
2468         HIDGamepadProvider.h file. Update methods for the UIGamepadProvider class.
2469         (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput):
2470         (WebKit::UIGamepadProvider::platformStartMonitoringGamepads): Deleted.
2471         (WebKit::UIGamepadProvider::platformStopMonitoringGamepads): Deleted.
2472         (WebKit::UIGamepadProvider::platformGamepads): Deleted.
2473         (WebKit::UIGamepadProvider::platformWebProcessProxyForGamepadInput): Deleted.
2474
2475 2016-09-05  Tim Horton  <timothy_horton@apple.com>
2476
2477         Remove some dead code in ViewGestureControllerMac
2478         https://bugs.webkit.org/show_bug.cgi?id=161616
2479
2480         Reviewed by Darin Adler.
2481
2482         * UIProcess/mac/ViewGestureControllerMac.mm:
2483         (WebKit::ViewGestureController::endSwipeGesture):
2484         All other LEGACY_SWIPE_SHADOW_STYLE code has been removed, except for this.
2485
2486 2016-09-05  Darin Adler  <darin@apple.com>
2487
2488         More bindings improvements, particularly things not needed for JavaScript bindings
2489         https://bugs.webkit.org/show_bug.cgi?id=161572
2490
2491         Reviewed by Sam Weinig.
2492
2493         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
2494         (webkit_dom_dom_implementation_has_feature): Call SVGTests::hasFeatureForLegacyBindings
2495         instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
2496         since this does not do anything that can invoke JavaScript.
2497
2498         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp:
2499         (webkit_dom_document_get_default_charset): Call defaultCharsetForLegacyBindings.
2500         Also removed JSMainThreadNullState.
2501
2502         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
2503         (webkit_dom_document_type_get_entities): Changed to simply return nullptr; same behavior
2504         as before, but with no dependency on WebCore. Also removed JSMainThreadNullState.
2505         (webkit_dom_document_type_get_notations): Ditto.
2506         (webkit_dom_document_type_get_internal_subset): Ditto.
2507
2508         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
2509         (webkit_dom_node_is_supported): Call SVGTests::hasFeatureForLegacyBindings
2510         instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.
2511
2512 2016-09-05  Michael Catanzaro  <mcatanzaro@igalia.com>
2513
2514         Unreviewed, update stale variable name
2515
2516         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2517         (webkitWebViewBaseCreateWebPage):
2518
2519 2016-08-31  Filip Pizlo  <fpizlo@apple.com>
2520
2521         Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
2522         https://bugs.webkit.org/show_bug.cgi?id=160125
2523
2524         Reviewed by Geoffrey Garen and Keith Miller.
2525         
2526         Just rewiring some #includes.
2527
2528         * UIProcess/ViewGestureController.cpp:
2529         * UIProcess/WebPageProxy.cpp:
2530         * UIProcess/WebProcessPool.cpp:
2531         * UIProcess/WebProcessProxy.cpp:
2532         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2533         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2534
2535 2016-09-05  Michael Catanzaro  <mcatanzaro@igalia.com>
2536
2537         Unreviewed error message typo fix
2538
2539         * WebProcess/UserContent/WebUserContentController.cpp:
2540         (WebKit::WebUserContentController::removeUserContentWorlds):
2541
2542 2016-09-05  Dan Bernstein  <mitz@apple.com>
2543
2544         [Cocoa] Drop ".Development" suffix from XPC service bundle IDs, leave it only on the executable
2545         https://bugs.webkit.org/show_bug.cgi?id=161575
2546
2547         Reviewed by Sam Weinig.
2548
2549         Append the ".Development" suffix to the executable names, but not to the bundle names and
2550         bundle IDs.
2551
2552         * Configurations/BaseTarget.xcconfig: No need for a preprocessor definition anymore.
2553         * Configurations/BaseXPCService.xcconfig: Set EXECUTABLE_SUFFIX.
2554         * Configurations/DatabaseService.xcconfig: No need to suffix the service name and bundle ID.
2555         * Configurations/NetworkService.xcconfig: Ditto.
2556         * Configurations/PluginService.32.xcconfig: Ditto.
2557         * Configurations/PluginService.64.xcconfig: Ditto.
2558         * Configurations/WebContentService.xcconfig: Ditto.
2559         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2560         (WebKit::serviceName): Service names are no longer suffixed.
2561         * WebKit2.xcodeproj/project.pbxproj: Ditto.
2562
2563 2016-09-05  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2564
2565         [GTK] GL_PACK_ROW_LENGTH is not available in GLES2
2566         https://bugs.webkit.org/show_bug.cgi?id=161484
2567
2568         Reviewed by Carlos Garcia Campos.
2569
2570         * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
2571         (WebKit::AcceleratedBackingStoreWayland::paint): when under GLES2 we cannot rely on
2572         GL_PACK_ROW_LENGTH; use glReadPixel directly when stride matches width, read line
2573         by line manually otherwise. Colour conversion is also required to get the data out
2574         correctly.
2575
2576 2016-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2577
2578         [GTK] SetNativeSurfaceHandleForCompositing should not be compiled in for wayland build
2579         https://bugs.webkit.org/show_bug.cgi?id=161483
2580
2581         Reviewed by Žan Doberšek.
2582
2583         SetNativeSurfaceHandleForCompositing and DestroyNativeSurfaceHandleForCompositing messages should only be used
2584         for GTK+ port when compiled with OpenGL and X11 enabled and redirected XComposite window disabled. So, we should
2585         use USE(TEXTURE_MAPPER) && PLATFORM(GTK) && PLATFORM(X11) && !USE(REDIRECTED_XCOMPOSITE_WINDOW) consistently.
2586         This fixes the build when building the GTK+ port with Wayland enabled and X11 disabled.
2587
2588         * UIProcess/AcceleratedDrawingAreaProxy.cpp:
2589         (WebKit::AcceleratedDrawingAreaProxy::didUpdateBackingStoreState):
2590         * UIProcess/AcceleratedDrawingAreaProxy.h:
2591         * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
2592         (WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
2593         * WebProcess/WebPage/AcceleratedDrawingArea.h:
2594         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
2595         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
2596         * WebProcess/WebPage/DrawingArea.h:
2597         * WebProcess/WebPage/DrawingArea.messages.in:
2598         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2599         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2600
2601 2016-09-05  Zan Dobersek  <zdobersek@igalia.com>
2602
2603         [GObject bindings] override handleEvent() method in GObjectEventListener
2604         https://bugs.webkit.org/show_bug.cgi?id=161593
2605
2606         Reviewed by Carlos Garcia Campos.
2607
2608         * WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.h: Override
2609         the handleMethod() which is inherited from the WebCore EventListener class.
2610         Suppresses the -Winconsistent-missing-override warning that Clang propagates.
2611
2612 2016-09-04  Joseph Pecoraro  <pecoraro@apple.com>
2613
2614         Remove unnecessary RetainPtr.
2615
2616         Review comments on earlier change.
2617
2618         * UIProcess/mac/WKImmediateActionController.mm:
2619         (-[WKImmediateActionController _defaultAnimationController]):
2620
2621 2016-09-04  Dan Bernstein  <mitz@apple.com>
2622
2623         [Cocoa] Wrapping XPC service execution in os_activity is no longer needed
2624         https://bugs.webkit.org/show_bug.cgi?id=161577
2625
2626         Reviewed by Sam Weinig.
2627
2628         Removed code that created an os_activity around the execution of the XPC service
2629         code, because this workaround is no longer needed.
2630
2631         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
2632         (DatabaseServiceInitializer):
2633         * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
2634         (NetworkServiceInitializer):
2635         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
2636         (PluginServiceInitializer):
2637         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
2638         (WebContentServiceInitializer):
2639
2640 2016-09-04  Commit Queue  <commit-queue@webkit.org>
2641
2642         Unreviewed, rolling out r205415.
2643         https://bugs.webkit.org/show_bug.cgi?id=161573
2644
2645         Many bots see inspector test failures, rolling out now and
2646         investigating later. (Requested by brrian on #webkit).
2647
2648         Reverted changeset:
2649
2650         "Web Inspector: unify Main.html and Test.html sources and
2651         generate different copies with the preprocessor"
2652         https://bugs.webkit.org/show_bug.cgi?id=161212
2653         http://trac.webkit.org/changeset/205415
2654
2655 2016-09-01  Brian Burg  <bburg@apple.com>
2656
2657         Web Inspector: unify Main.html and Test.html sources and generate different copies with the preprocessor
2658         https://bugs.webkit.org/show_bug.cgi?id=161212
2659         <rdar://problem/28017961>
2660
2661         Reviewed by Joseph Pecoraro.
2662
2663         Rearrange CMake rules so that most Inspector UI work is done in WebInspectorUI.
2664
2665         * PlatformGTK.cmake:
2666         - Move the list of Inspector resources into WebInspectorUI/CMakeLists.txt.
2667         - Move generation of InspectorGResourceBundle into WebInspectorUI.
2668         - Copy over InspectorGResourceBundle.c into WebKit2's Derived Sources before compiling.
2669
2670 2016-09-03  Wenson Hsieh  <wenson_hsieh@apple.com>
2671
2672         Refactor the heuristic for showing media controls to take all media sessions into account
2673         https://bugs.webkit.org/show_bug.cgi?id=161503
2674         <rdar://problem/28033783>
2675
2676         Reviewed by Darin Adler.
2677
2678         Adds an SPI testing hook for sending the element ID of the currently controlled video element from the web
2679         process to the UI process. See VideoControlsManager.mm in Tools/TestWebKitAPI/ for usage.
2680
2681         * UIProcess/API/Cocoa/WKWebView.mm:
2682         (-[WKWebView _requestControlledElementID]):
2683         (-[WKWebView _handleControlledElementIDResponse:]):
2684         (-[WKWebView _hasActiveVideoForControlsManager]): Deleted.
2685         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2686         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
2687         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
2688         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
2689         (WebKit::WebPlaybackSessionManagerProxy::handleControlledElementIDResponse):
2690         (WebKit::WebPlaybackSessionManagerProxy::requestControlledElementID):
2691         * UIProcess/PageClient.h:
2692         * UIProcess/WebPageProxy.cpp:
2693         (WebKit::WebPageProxy::requestControlledElementID):
2694         (WebKit::WebPageProxy::handleControlledElementIDResponse):
2695         * UIProcess/WebPageProxy.h:
2696         * UIProcess/mac/PageClientImpl.h:
2697         * UIProcess/mac/PageClientImpl.mm:
2698         (WebKit::PageClientImpl::handleControlledElementIDResponse):
2699         * WebProcess/cocoa/WebPlaybackSessionManager.h:
2700         * WebProcess/cocoa/WebPlaybackSessionManager.messages.in:
2701         * WebProcess/cocoa/WebPlaybackSessionManager.mm:
2702         (WebKit::WebPlaybackSessionManager::handleControlledElementIDRequest):
2703
2704 2016-09-03  Darin Adler  <darin@apple.com>
2705
2706         Streamline DOMImplementation, and move it to our new DOM exception system
2707         https://bugs.webkit.org/show_bug.cgi?id=161295
2708
2709         Reviewed by Ryosuke Niwa.
2710
2711         * UIProcess/WebFrameProxy.cpp:
2712         (WebKit::WebFrameProxy::isDisplayingMarkupDocument): Use isXMLMIMEType in its
2713         new location in MIMETypeRegistry rather than in DOMImplementation.
2714         (WebKit::WebFrameProxy::isDisplayingPDFDocument): Removed unneeded redundant
2715         check for empty string, already done by MIMETypeRegistry.
2716
2717 2016-09-03  Brian Weinstein  <bweinstein@apple.com>
2718
2719         Implement WebFrameLoaderClient::shouldUseContentExtensionsForURL and consult the InjectedBundlePageLoaderClient.
2720         https://bugs.webkit.org/show_bug.cgi?id=161441
2721
2722         Reviewed by Darin Adler.
2723
2724         WebFrameLoaderClient::shouldUseContentExtensionsForURL only consults the injected bundle, because we don't want to
2725         defer the loading of every main resource to consult with the UI Process about whether or not we should use content
2726         extensions for the load.
2727
2728         * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Bump the latest version to WKBundlePageLoaderClientV9 and
2729         add WKBundlePageShouldUseContentExtensionsForURLCallback.
2730         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2731         (WebKit::InjectedBundlePageLoaderClient::shouldUseContentExtensionsForURL): Ask the client if we should use content
2732         extensions for this URL.
2733         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2734         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2735         (WebKit::WebFrameLoaderClient::shouldUseContentExtensionsForURL): Only consult with the injected bundle about whether
2736         or not we should use content extensions for this URL.
2737         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2738
2739         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
2740         (webkit_dom_dom_implementation_create_document_type): Updated to work with ExceptionOr.
2741         (webkit_dom_dom_implementation_create_document): Updated to work with ExceptionOr.
2742         (webkit_dom_dom_implementation_create_css_style_sheet): Updated since this function
2743         can no longer raise an exception.
2744
2745         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
2746         (webkit_dom_document_set_xml_standalone): Updated since this function can no longer
2747         raise an exception.
2748
2749 2016-09-03  Joseph Pecoraro  <pecoraro@apple.com>
2750
2751         Web Inspector: Move WebKit2 WebInspector files to #pragma once
2752         https://bugs.webkit.org/show_bug.cgi?id=161550
2753
2754         Reviewed by Darin Adler.
2755
2756         * UIProcess/InspectorServer/WebInspectorServer.h:
2757         * UIProcess/WebInspectorProxy.h:
2758         * UIProcess/gtk/WebInspectorClientGtk.h:
2759         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2760         * WebProcess/WebPage/WebInspector.h:
2761         * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h:
2762         * WebProcess/WebPage/WebInspectorUI.h:
2763
2764 2016-09-02  Michael Catanzaro  <mcatanzaro@igalia.com>
2765
2766         [GTK] -Wmissing-field-initializers on WaylandCompositor.cpp:295
2767         https://bugs.webkit.org/show_bug.cgi?id=161524
2768
2769         Reviewed by Carlos Garcia Campos.
2770
2771         * UIProcess/gtk/WaylandCompositor.cpp:
2772
2773 2016-09-02  Carlos Garcia Campos  <cgarcia@igalia.com>
2774
2775         [Threaded Compositor] Move the viewport controller off the compositing thread
2776         https://bugs.webkit.org/show_bug.cgi?id=161532
2777
2778         Reviewed by Michael Catanzaro.
2779
2780         While working on bug #161242 I've realized that having the view port controller in the compositing thread makes
2781         everything more complex. The viewport controller receives changes about things like contents size, viewport
2782         size, etc. and uses that information to compute the visible contents rect and page scale factor. Then it
2783         notifies back to main thread about the computed visible contents rect and page scale. Those computations are not
2784         heave at all, so they could be done in the main thread and we would avoid communications between the main and
2785         compositing thread in both directions. The main thread needs the visible contents rect to notify the compositing
2786         coordinator and the page cale to scale the page in case of pixed layout. But the compositing thread only needs
2787         to know the effective scale and scroll position. So, instead of going to the compositing thread after every
2788         change that might update the visible contents rect and page scale factor, we could do those calculations in the
2789         main thread and only notify the compositing thread about the actual changes in the scroll position and effective scale.
2790
2791         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
2792         (WebKit::CoordinatedGraphicsScene::createTilesIfNeeded): Return early if backingStore is nullptr, which can
2793         happen if the layer shouldn't have a backing store and was removed by the previous call to prepareContentBackingStore().
2794         (WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded): Ditto.
2795         * Shared/CoordinatedGraphics/SimpleViewportController.cpp:
2796         (WebKit::SimpleViewportController::SimpleViewportController): Remove the client since we no longer need to
2797         notify about changes.
2798         (WebKit::SimpleViewportController::didChangeViewportSize): Remove call to syncVisibleContents().
2799         (WebKit::SimpleViewportController::didChangeContentsSize): Ditto.
2800         (WebKit::SimpleViewportController::didChangeViewportAttributes): Ditto.
2801         (WebKit::SimpleViewportController::didScroll): Removed unused scrollBy methods and renamed scrollTo as
2802         didiScroll for consistency. Save the position without calling boundContentsPosition, because that's already
2803         donde when the position is used to compute the contents visible rectangle.
2804         (WebKit::SimpleViewportController::visibleContentsRect): No need to notify about the changes.
2805         (WebKit::SimpleViewportController::visibleContentsSize): Deleted.
2806         * Shared/CoordinatedGraphics/SimpleViewportController.h:
2807         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
2808         (WebKit::ThreadedCompositor::create): Pass a reference to the client instead of a pointer. It's no longer
2809         possible to have a valid pointer when the object has been destroyed, so we can better use a reference now.
2810         (WebKit::ThreadedCompositor::ThreadedCompositor): Ditto.
2811         (WebKit::ThreadedCompositor::~ThreadedCompositor): Remove assert.
2812         (WebKit::ThreadedCompositor::invalidate): No need to invalidate the client.
2813         (WebKit::ThreadedCompositor::setScaleFactor): Set the effective scale factor that should be used for rendering.
2814         (WebKit::ThreadedCompositor::setScrollPosition): Set the current scroll position and effective scale factor.
2815         (WebKit::ThreadedCompositor::setViewportSize): Set the viewport size and effective scale factor.
2816         (WebKit::ThreadedCompositor::renderNextFrame): Update m_client use that is no longer a pointer.
2817         (WebKit::ThreadedCompositor::commitScrollOffset): Ditto.
2818         (WebKit::ThreadedCompositor::renderLayerTree): Call glViewport after a resize and use m_viewportSize,
2819         m_scrollPosition and m_scaleFactor members.
2820         (WebKit::ThreadedCompositor::didChangeVisibleRect): Deleted.
2821         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
2822         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
2823         (WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Pass the compositor client as a
2824         reference to ThreadedCompositor constructor.
2825         (WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Update the viewport and call didChangeViewport().
2826         (WebKit::ThreadedCoordinatedLayerTreeHost::contentsSizeChanged): Ditto.
2827         (WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): Pass the effective scale factor to
2828         the compositor.
2829         (WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange): Update the viewport, the compositor and call didChangeViewport().
2830         (WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewportProperties): Update the viewport and call didChangeViewport().
2831         (WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewport): Notify the compositing coordinator about the new
2832         visible contents rectangle, and update the threaded compositor if needed.
2833         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
2834
2835 2016-09-02  Beth Dakin  <bdakin@apple.com>
2836
2837         Need to updateEditorState if an element change edit-ability without changing 
2838         selection
2839         https://bugs.webkit.org/show_bug.cgi?id=161546
2840         -and corresponding-
2841         rdar://problem/27806012
2842
2843         Reviewed by Ryosuke Niwa.
2844
2845         Every time WebPage::editorState() is called, we now save whether the last state 
2846         was contentEditable. That way in updateEditorStateAfterLayoutIfNeeded() we can 
2847         assess whether or not edit-ability has changed. 
2848
2849         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2850         (WebKit::WebEditorClient:: updateEditorStateAfterLayoutIfEditabilityChanged):
2851         * WebProcess/WebCoreSupport/WebEditorClient.h:
2852         * WebProcess/WebPage/WebPage.cpp:
2853         (WebKit::WebPage::editorState):
2854         (WebKit::WebPage:: updateEditorStateAfterLayoutIfEditabilityChanged):
2855         (WebKit::WebPage::didStartPageTransition):
2856         * WebProcess/WebPage/WebPage.h:
2857
2858 2016-09-02  Jonathan Bedard  <jbedard@apple.com>
2859
2860         WebKitTestRunner needs layoutTestController.setDashboardCompatibilityMode
2861         https://bugs.webkit.org/show_bug.cgi?id=42547
2862
2863         Reviewed by Darin Adler.
2864
2865         Added access to setUseDashBoardCompatibilityMode for WebKit2.
2866         Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
2867
2868         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2869         (WKBundleSetUseDashboardCompatibilityMode): Added dashboard compatiblity mode setter.
2870         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Ditto.
2871         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2872         (WebKit::InjectedBundle::setUseDashboardCompatibilityMode): Ditto.
2873         * WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
2874
2875 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
2876
2877         [Mac] RetainPtr misuse, AnimationController leaks
2878         https://bugs.webkit.org/show_bug.cgi?id=161552
2879
2880         Reviewed by Tim Horton.
2881
2882         * UIProcess/mac/WKImmediateActionController.mm:
2883         (-[WKImmediateActionController _defaultAnimationController]):
2884
2885 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
2886
2887         [Mac] RetainPtr misuse, DDActionContext leaks
2888         https://bugs.webkit.org/show_bug.cgi?id=161551
2889
2890         Reviewed by Tim Horton.
2891
2892         * Platform/mac/MenuUtilities.mm:
2893         (WebKit::menuItemForTelephoneNumber):
2894         (WebKit::menuForTelephoneNumber):
2895
2896 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
2897
2898         Fix Mac CMake build, missing _WKRemoteWebInspectorViewController.mm
2899
2900         Unreviewed build fix.
2901
2902         * PlatformMac.cmake:
2903
2904 2016-09-02  Jer Noble  <jer.noble@apple.com>
2905
2906         Unreviewed build fix; partial roll out of r205365 to remove unintentional change in WKWebView.mm.
2907
2908         * UIProcess/API/Cocoa/WKWebView.mm:
2909         (-[WKWebView _initializeWithConfiguration:]):
2910
2911 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
2912
2913         Web Inspector: If inspector process crashes, re-inspecting the page does not work
2914         https://bugs.webkit.org/show_bug.cgi?id=161502
2915         <rdar://problem/28120368>
2916
2917         Reviewed by Brian Burg.
2918
2919         This is an issue on Mac because WebInspectorProxyMac's platformDidClose
2920         doesn't immediately get rid of the WKWebView for the inspector. This is
2921         intended so that a quick close and reopen of Web Inspector is faster,
2922         however in the case where the WebPage under the WKWebView crashed, we
2923         actually should clear things instead of using the timer path. Provide
2924         a stronger platform close handler when the inspector page crashed.
2925
2926         * UIProcess/WebInspectorProxy.cpp:
2927         (WebKit::WebInspectorProxy::closeForCrash):
2928         (WebKit::webProcessDidCrash):
2929         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
2930         Go through a stronger path when the web process crashes.
2931         Some platforms may want to handle this differently then the user
2932         closing a web inspector window.
2933         
2934         * UIProcess/WebInspectorProxy.h:
2935         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2936         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
2937         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2938         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
2939         These platforms do not need to do anything special.
2940
2941         * UIProcess/mac/WebInspectorProxyMac.mm:
2942         (WebKit::WebInspectorProxy::closeTimerFired):
2943         Loosen this code. There is no need for it to be so strict.
2944
2945         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
2946         If the inspector page crashed, close our handles immediately.
2947
2948 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
2949
2950         Web Inspector: Provide a way to open an inspector frontend for a remote target
2951         https://bugs.webkit.org/show_bug.cgi?id=161515
2952         <rdar://problem/13182127>
2953
2954         Reviewed by Brian Burg.
2955
2956         Provide an interface to open a Web Inspector window/webView for a
2957         remote debuggable. Unlike the local Web Inspector, the remote
2958         debuggable may be either a JSContext or WebPage, and may only
2959         support an older version of the protocol. The Inspector frontend
2960         already supports these configurations.
2961
2962         This adds new RemoteWebInspector/Proxy classes that mirror the
2963         WebInspector/Proxy classes for local inspection, but have
2964         slightly different behavior as the inspected target is not
2965         directly available (and may not be a web page).
2966
2967         The remote and local classes share a lot of inspector
2968         frontend implementation:
2969
2970           - share most of the inspector frontend host implementation
2971           - share much of the frontend webview/window handling
2972           - use an inspector process for the frontend page
2973
2974         But remains separate in some ways:
2975
2976           - inspected target is unavailable
2977           - docking is never available
2978           - a few inspector frontend host methods are duplicated
2979           - some of the webview/window handling is duplicated
2980
2981         * UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h: Added.
2982         * UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm: Added.
2983         (-[_WKRemoteWebInspectorViewController init]):
2984         (-[_WKRemoteWebInspectorViewController window]):
2985         (-[_WKRemoteWebInspectorViewController webView]):
2986         (-[_WKRemoteWebInspectorViewController loadForDebuggableType:backendCommandsURL:]):
2987         (-[_WKRemoteWebInspectorViewController close]):
2988         (-[_WKRemoteWebInspectorViewController show]):
2989         (-[_WKRemoteWebInspectorViewController sendMessageToFrontend:]):
2990         (-[_WKRemoteWebInspectorViewController sendMessageToBackend:]):
2991         (-[_WKRemoteWebInspectorViewController closeFromFrontend]):
2992         The interface that may be used to open an inspector window for
2993         a remote debuggable. There are only a few delegates to handle
2994         sending messages to the backend and knowing if the frontend
2995         closed itself (InspectorFrontendHost.closeWindow() or crashed).
2996
2997         * UIProcess/WebInspectorUtilities.h:
2998         * UIProcess/WebInspectorUtilities.cpp: Added.
2999         (WebKit::pageLevelMap):
3000         (WebKit::inspectorLevelForPage):
3001         (WebKit::inspectorPageGroupIdentifierForPage):
3002         (WebKit::trackInspectorPage):
3003         (WebKit::untrackInspectorPage):
3004         (WebKit::inspectorProcessPool):
3005         (WebKit::isInspectorProcessPool):
3006         (WebKit::isInspectorPage):
3007         Extract utilities for determining if a page contains an inspector frontend.
3008         Previously this was part of WebInspectorProxy and subclasses but can
3009         now be used by multiple classes.
3010
3011         * UIProcess/WebInspectorProxy.h:
3012         * UIProcess/WebInspectorProxy.cpp:
3013         (WebKit::WebInspectorProxy::inspectionLevel):
3014         (WebKit::WebInspectorProxy::invalidate):
3015         (WebKit::WebInspectorProxy::isMainOrTestInspectorPage):
3016         (WebKit::decidePolicyForNavigationAction):
3017         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
3018         (WebKit::WebInspectorProxy::didClose):
3019         (WebKit::pageLevelMap): Deleted.
3020         (WebKit::WebInspectorProxy::inspectorPageGroupIdentifier): Deleted.
3021         (WebKit::WebInspectorProxy::inspectorProcessPool): Deleted.
3022         (WebKit::WebInspectorProxy::isInspectorProcessPool): Deleted.
3023         (WebKit::WebInspectorProxy::isInspectorPage): Deleted.
3024         (WebKit::isMainOrTestInspectorPage): Deleted.
3025         * UIProcess/WebPageProxy.cpp:
3026         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
3027         * UIProcess/WebProcessProxy.cpp:
3028         (WebKit::WebProcessProxy::getLaunchOptions):
3029         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3030         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3031         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3032         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3033         Extract methods to utilities and use them.
3034
3035         Also address an issue where WebInspectorProxy was untracking
3036         the wrong page. It should have been untracking the inspector
3037         page but was untracking the inspected page.
3038
3039         * UIProcess/RemoteWebInspectorProxy.cpp: Added.
3040         (WebKit::RemoteWebInspectorProxy::RemoteWebInspectorProxy):
3041         (WebKit::RemoteWebInspectorProxy::~RemoteWebInspectorProxy):
3042         (WebKit::RemoteWebInspectorProxy::invalidate):
3043         (WebKit::RemoteWebInspectorProxy::load):
3044         (WebKit::RemoteWebInspectorProxy::closeFromBackend):
3045         (WebKit::RemoteWebInspectorProxy::closeFromCrash):
3046         (WebKit::RemoteWebInspectorProxy::show):
3047         (WebKit::RemoteWebInspectorProxy::sendMessageToFrontend):
3048         (WebKit::RemoteWebInspectorProxy::frontendDidClose):
3049         (WebKit::RemoteWebInspectorProxy::bringToFront):
3050         (WebKit::RemoteWebInspectorProxy::save):
3051         (WebKit::RemoteWebInspectorProxy::append):
3052         (WebKit::RemoteWebInspectorProxy::startWindowDrag):
3053         (WebKit::RemoteWebInspectorProxy::openInNewTab):
3054         (WebKit::RemoteWebInspectorProxy::sendMessageToBackend):
3055         (WebKit::RemoteWebInspectorProxy::createFrontendPageAndWindow):
3056         (WebKit::RemoteWebInspectorProxy::closeFrontendPageAndWindow):
3057         This class behaves like WebInspectorProxy but without having a
3058         reference to the inspected target. It communicates with
3059         RemoteInspectorUI in an Inspector process to send and receive
3060         frontend messages. What can't be easily shared is duplicated.
3061
3062         * UIProcess/mac/RemoteWebInspectorProxyMac.mm: Added.
3063         (-[WKRemoteWebInspectorProxyObjCAdapter initWithRemoteWebInspectorProxy:]):
3064         (-[WKRemoteWebInspectorProxyObjCAdapter webViewWebContentProcessDidTerminate:]):
3065         (-[WKRemoteWebInspectorProxyObjCAdapter webView:decidePolicyForNavigationAction:decisionHandler:]):
3066         (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
3067         (WebKit::RemoteWebInspectorProxy::platformCloseFrontendPageAndWindow):
3068         (WebKit::RemoteWebInspectorProxy::platformBringToFront):
3069         (WebKit::RemoteWebInspectorProxy::platformSave):
3070         (WebKit::RemoteWebInspectorProxy::platformAppend):
3071         (WebKit::RemoteWebInspectorProxy::platformStartWindowDrag):
3072         (WebKit::RemoteWebInspectorProxy::platformOpenInNewTab):
3073         Platform implementation for the bits that are platform specific.
3074         What can't be easily shared is duplicated. Ideally we will
3075         eventually share this with WebInspectorProxyMac.
3076
3077         * UIProcess/mac/WKWebInspectorWKWebView.h:
3078         * UIProcess/mac/WKWebInspectorWKWebView.mm: Added.
3079         (WebKit::getWindowFrame):
3080         (WebKit::setWindowFrame):
3081         (WebKit::exceededDatabaseQuota):
3082         (WebKit::runOpenPanel):
3083         (-[WKWebInspectorWKWebView initWithFrame:configuration:]):
3084         (-[WKWebInspectorWKWebView tag]):
3085         Extract Mac platform code for the inspector webview from WebInspectorProxyMac.
3086
3087         * UIProcess/mac/WebInspectorProxyMac.mm:
3088         (WebKit::WebInspectorProxy::closeTimerFired):
3089         (WebKit::WebInspectorProxy::createInspectorWindow):
3090         (WebKit::WebInspectorProxy::createFrontendConfiguration):
3091         (WebKit::WebInspectorProxy::createFrontendWindow):
3092         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3093         (-[WKWebInspectorWKWebView tag]): Deleted.
3094         (WebKit::getWindowFrame): Deleted.
3095         (WebKit::setWindowFrame): Deleted.
3096         (WebKit::exceededDatabaseQuota): Deleted.
3097         (WebKit::runOpenPanel): Deleted.
3098         Extact Mac platform code to be shared for construction of a
3099         WKWebViewConfiguration, WKWebView, and NSWindow for an inspector webview.
3100         
3101         * WebProcess/WebPage/RemoteWebInspectorUI.cpp: Added.
3102         (WebKit::RemoteWebInspectorUI::create):
3103         (WebKit::RemoteWebInspectorUI::RemoteWebInspectorUI):
3104         (WebKit::RemoteWebInspectorUI::initialize):
3105         (WebKit::RemoteWebInspectorUI::didSave):
3106         (WebKit::RemoteWebInspectorUI::didAppend):
3107         (WebKit::RemoteWebInspectorUI::sendMessageToFrontend):
3108         (WebKit::RemoteWebInspectorUI::sendMessageToBackend):
3109         (WebKit::RemoteWebInspectorUI::windowObjectCleared):
3110         (WebKit::RemoteWebInspectorUI::frontendLoaded):
3111         (WebKit::RemoteWebInspectorUI::startWindowDrag):
3112         (WebKit::RemoteWebInspectorUI::moveWindowBy):
3113         (WebKit::RemoteWebInspectorUI::bringToFront):
3114         (WebKit::RemoteWebInspectorUI::closeWindow):
3115         (WebKit::RemoteWebInspectorUI::openInNewTab):
3116         (WebKit::RemoteWebInspectorUI::save):
3117         (WebKit::RemoteWebInspectorUI::append):
3118         (WebKit::RemoteWebInspectorUI::inspectedURLChanged):
3119         * WebProcess/WebPage/RemoteWebInspectorUI.h: Added.
3120         * WebProcess/WebPage/RemoteWebInspectorUI.messages.in: Added.
3121         * UIProcess/RemoteWebInspectorProxy.messages.in: Added.
3122         * UIProcess/RemoteWebInspectorProxy.mm: Added.
3123         Inspector frontend client that knows to talk
3124         with a RemoteWebInspectorProxy instead of a WebInspectorProxy.
3125
3126         * WebProcess/WebPage/WebInspectorUI.cpp:
3127         * WebProcess/WebPage/WebInspectorUI.h:
3128         * WebProcess/WebPage/mac/WebInspectorUIMac.mm:
3129         (WebKit::webInspectorUILocalizedStringsURL):
3130         (WebKit::WebInspectorUI::localizedStringsURL):
3131         (WebKit::RemoteWebInspectorUI::localizedStringsURL):
3132         Simplify localized string URL lookup.
3133
3134         * DerivedSources.make:
3135         * WebKit2.xcodeproj/project.pbxproj:
3136         New files.
3137
3138         * WebProcess/WebPage/WebPage.cpp:
3139         (WebKit::WebPage::WebPage):
3140         (WebKit::WebPage::~WebPage):
3141         (WebKit::WebPage::remoteInspectorUI):
3142         (WebKit::WebPage::didReceiveMessage):
3143         * WebProcess/WebPage/WebPage.h:
3144         (WebKit::WebPage::isInspectorPage):
3145         An InspectorProcess WebPage may have either a WebInspectorUI or a RemoteWebInspectorUI.
3146
3147 2016-07-08  Jer Noble  <jer.noble@apple.com>
3148
3149         Refactor WebPlaybackSessionModelMediaElement to be client based.
3150         https://bugs.webkit.org/show_bug.cgi?id=159580
3151
3152         Reviewed by Eric Carlson.
3153
3154         Adopt the changes made in the WebPlaybackSessionModel,Interface and WebVideoFullscreenModel,Interface
3155         in the WebPlaybackSessionManager,Proxy classes.
3156
3157         * UIProcess/API/Cocoa/WKWebView.mm:
3158         (-[WKWebView _initializeWithConfiguration:]): Deleted.
3159         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
3160         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
3161         (WebKit::WebPlaybackSessionModelContext::addClient):
3162         (WebKit::WebPlaybackSessionModelContext::removeClient):
3163         (WebKit::WebPlaybackSessionModelContext::setDuration):
3164         (WebKit::WebPlaybackSessionModelContext::setCurrentTime):
3165         (WebKit::WebPlaybackSessionModelContext::setBufferedTime):
3166         (WebKit::WebPlaybackSessionModelContext::setRate):
3167         (WebKit::WebPlaybackSessionModelContext::setSeekableRanges):
3168         (WebKit::WebPlaybackSessionModelContext::setCanPlayFastReverse):
3169         (WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionOptions):
3170         (WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionOptions):
3171         (WebKit::WebPlaybackSessionModelContext::setExternalPlayback):
3172         (WebKit::WebPlaybackSessionModelContext::setWirelessVideoPlaybackDisabled):
3173         (WebKit::WebPlaybackSessionManagerProxy::createModelAndInterface):
3174         (WebKit::WebPlaybackSessionManagerProxy::removeClientForContext):
3175         (WebKit::WebPlaybackSessionManagerProxy::setCurrentTime):
3176         (WebKit::WebPlaybackSessionManagerProxy::setBufferedTime):
3177         (WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector):
3178         (WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse):
3179         (WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
3180         (WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
3181         (WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties):
3182         (WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled):
3183         (WebKit::WebPlaybackSessionManagerProxy::setDuration):
3184         (WebKit::WebPlaybackSessionManagerProxy::setRate):
3185         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
3186         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
3187         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
3188         (WebKit::WebVideoFullscreenModelContext::addClient):
3189         (WebKit::WebVideoFullscreenModelContext::removeClient):
3190         (WebKit::WebVideoFullscreenManagerProxy::setHasVideo):
3191         (WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions):
3192         * WebProcess/cocoa/WebPlaybackSessionManager.h:
3193         * WebProcess/cocoa/WebPlaybackSessionManager.mm:
3194         (WebKit::WebPlaybackSessionInterfaceContext::durationChanged):
3195         (WebKit::WebPlaybackSessionInterfaceContext::currentTimeChanged):
3196         (WebKit::WebPlaybackSessionInterfaceContext::bufferedTimeChanged):
3197         (WebKit::WebPlaybackSessionInterfaceContext::rateChanged):
3198         (WebKit::WebPlaybackSessionInterfaceContext::seekableRangesChanged):
3199         (WebKit::WebPlaybackSessionInterfaceContext::canPlayFastReverseChanged):
3200         (WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionOptionsChanged):
3201         (WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionOptionsChanged):
3202         (WebKit::WebPlaybackSessionInterfaceContext::externalPlaybackChanged):
3203         (WebKit::WebPlaybackSessionInterfaceContext::wirelessVideoPlaybackDisabledChanged):
3204         (WebKit::WebPlaybackSessionManager::~WebPlaybackSessionManager):
3205         (WebKit::WebPlaybackSessionManager::createModelAndInterface):
3206         (WebKit::WebPlaybackSessionManager::removeContext):
3207         (WebKit::WebPlaybackSessionManager::durationChanged):
3208         (WebKit::WebPlaybackSessionManager::currentTimeChanged):
3209         (WebKit::WebPlaybackSessionManager::bufferedTimeChanged):
3210         (WebKit::WebPlaybackSessionManager::rateChanged):
3211         (WebKit::WebPlaybackSessionManager::seekableRangesChanged):
3212         (WebKit::WebPlaybackSessionManager::canPlayFastReverseChanged):
3213         (WebKit::WebPlaybackSessionManager::audioMediaSelectionOptionsChanged):
3214         (WebKit::WebPlaybackSessionManager::legibleMediaSelectionOptionsChanged):
3215         (WebKit::WebPlaybackSessionManager::externalPlaybackChanged):
3216         (WebKit::WebPlaybackSessionManager::wirelessVideoPlaybackDisabledChanged):
3217         (WebKit::WebPlaybackSessionInterfaceContext::setDuration): Deleted.
3218         (WebKit::WebPlaybackSessionInterfaceContext::setCurrentTime): Deleted.
3219         (WebKit::WebPlaybackSessionInterfaceContext::setBufferedTime): Deleted.
3220         (WebKit::WebPlaybackSessionInterfaceContext::setRate): Deleted.
3221         (WebKit::WebPlaybackSessionInterfaceContext::setSeekableRanges): Deleted.
3222         (WebKit::WebPlaybackSessionInterfaceContext::setCanPlayFastReverse): Deleted.
3223         (WebKit::WebPlaybackSessionInterfaceContext::setAudioMediaSelectionOptions): Deleted.
3224         (WebKit::WebPlaybackSessionInterfaceContext::setLegibleMediaSelectionOptions): Deleted.
3225         (WebKit::WebPlaybackSessionInterfaceContext::setExternalPlayback): Deleted.
3226         (WebKit::WebPlaybackSessionInterfaceContext::setWirelessVideoPlaybackDisabled): Deleted.
3227         (WebKit::WebPlaybackSessionManager::setDuration): Deleted.
3228         (WebKit::WebPlaybackSessionManager::setCurrentTime): Deleted.
3229         (WebKit::WebPlaybackSessionManager::setBufferedTime): Deleted.
3230         (WebKit::WebPlaybackSessionManager::setRate): Deleted.
3231         (WebKit::WebPlaybackSessionManager::setSeekableRanges): Deleted.
3232         (WebKit::WebPlaybackSessionManager::setCanPlayFastReverse): Deleted.
3233         (WebKit::WebPlaybackSessionManager::setAudioMediaSelectionOptions): Deleted.
3234         (WebKit::WebPlaybackSessionManager::setLegibleMediaSelectionOptions): Deleted.
3235         (WebKit::WebPlaybackSessionManager::setExternalPlayback): Deleted.
3236         (WebKit::WebPlaybackSessionManager::setWirelessVideoPlaybackDisabled): Deleted.
3237         * WebProcess/cocoa/WebVideoFullscreenManager.h:
3238         (WebKit::WebVideoFullscreenInterfaceContext::create):
3239         * WebProcess/cocoa/WebVideoFullscreenManager.mm:
3240         (WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext):
3241         (WebKit::WebVideoFullscreenInterfaceContext::hasVideoChanged):
3242         (WebKit::WebVideoFullscreenInterfaceContext::videoDimensionsChanged):
3243         (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
3244         (WebKit::WebVideoFullscreenManager::createModelAndInterface):
3245         (WebKit::WebVideoFullscreenManager::removeContext):
3246         (WebKit::WebVideoFullscreenManager::hasVideoChanged):
3247         (WebKit::WebVideoFullscreenManager::videoDimensionsChanged):
3248         (WebKit::WebVideoFullscreenInterfaceContext::resetMediaState): Deleted.
3249         (WebKit::WebVideoFullscreenInterfaceContext::setDuration): Deleted.
3250        &n