3c41fa55a79c3c31ea56c8c98b34adb55a793c03
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-12-03  Anders Carlsson  <andersca@apple.com>
2
3         PageOverlayClientImpl should be a proper API::Client
4         https://bugs.webkit.org/show_bug.cgi?id=125199
5
6         Reviewed by Tim Horton.
7
8         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
9         (PageOverlayClientImpl::PageOverlayClientImpl):
10         (PageOverlayClientImpl::setAccessibilityClient):
11         (PageOverlayClientImpl::willMoveToWebPage):
12         (PageOverlayClientImpl::didMoveToWebPage):
13         (PageOverlayClientImpl::drawRect):
14         (PageOverlayClientImpl::mouseEvent):
15         (PageOverlayClientImpl::copyAccessibilityAttributeValue):
16         (PageOverlayClientImpl::copyAccessibilityAttributeNames):
17         (WKBundlePageOverlayCreate):
18         (WKBundlePageOverlaySetAccessibilityClient):
19
20 2013-12-03  Anders Carlsson  <andersca@apple.com>
21
22         Initialize the PageBannerClientImpl API::Client
23         https://bugs.webkit.org/show_bug.cgi?id=125198
24
25         Reviewed by Tim Horton.
26
27         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
28         (PageBannerClientImpl::PageBannerClientImpl):
29
30 2013-12-03  Tim Horton  <timothy_horton@apple.com>
31
32         Remote Layer Tree: Force repaint
33         https://bugs.webkit.org/show_bug.cgi?id=125189
34         <rdar://problem/15541789>
35
36         Reviewed by Anders Carlsson.
37
38         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
39         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
40         (WebKit::RemoteLayerTreeContext::forceRepaint):
41         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
42         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
43         (WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
44         Implement WebProcess-synchronous force repaint.
45         We don't need the async variant because it is only needed
46         to synchronize with the WebProcess-side threaded scrolling
47         tree, which is not a component of the remote layer tree model.
48         The UI process will not handle the callback until after
49         RemoteLayerTreeHost::commit is complete, ensuring that the commit
50         is actually done.
51
52 2013-12-03  Simon Fraser  <simon.fraser@apple.com>
53
54         Remove some iOS-related documentScale code
55         https://bugs.webkit.org/show_bug.cgi?id=125194
56
57         Reviewed by Enrica Casucci.
58         
59         Upstream bits of removal of Frame::documentScale on iOS.
60
61         * WebProcess/WebPage/WebPage.cpp:
62         (WebKit::WebPage::updatePreferences): Whitespace.
63         * WebProcess/WebPage/ios/WebPageIOS.mm:
64         (WebKit::WebPage::didFinishZooming): Don't call setDocumentScale().
65         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Remove minimumDocumentScale().
66         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: Ditto.
67         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): We delegate page scaling on iOS.
68         (WebKit::RemoteLayerTreeDrawingArea::setDeviceScaleFactor):
69
70 2013-12-03  Anders Carlsson  <andersca@apple.com>
71
72         PageBannerClientImpl should be an API::Client
73         https://bugs.webkit.org/show_bug.cgi?id=125190
74
75         Reviewed by Tim Horton.
76
77         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
78         (PageBannerClientImpl::PageBannerClientImpl):
79         (PageBannerClientImpl::~PageBannerClientImpl):
80         (WKBundlePageBannerCreateBannerWithCALayer):
81
82 2013-12-03  Dan Bernstein  <mitz@apple.com>
83
84         [Cocoa] Give two load delegate methods more conventional names
85         https://bugs.webkit.org/show_bug.cgi?id=125183
86
87         Reviewed by Anders Carlsson.
88
89         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
90         (didFailProvisionalLoadWithErrorForFrame): Updated for rename.
91         (didFailLoadWithErrorForFrame): Ditto.
92         * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Renamed
93         -browsingContextControllerDidFailProvisionalLoad:withError: to
94         -browsingContextController:didFailProvisionalLoadWithError: and
95         -browsingContextControllerDidFailLoad:withError: to
96         -browsingContextController:didFailLoadWithError:.
97
98 2013-12-03  Anders Carlsson  <andersca@apple.com>
99
100         Deprecate WKNotificationProvider
101         https://bugs.webkit.org/show_bug.cgi?id=125178
102
103         Reviewed by Sam Weinig.
104
105         * Shared/API/c/WKDeclarationSpecifiers.h:
106         Add WK_DEPRECATED and WK_ENUM_DEPRECATED macros so we can things as deprecated.
107
108         * UIProcess/API/C/WKNotificationManager.cpp:
109         (WKNotificationManagerSetProvider):
110         * UIProcess/API/C/WKNotificationManager.h:
111         WKNotificationManagerSetProvider now takes a WKNotificationProviderBase.
112
113         * UIProcess/API/C/WKNotificationProvider.h:
114         Deprecate WKNotificationProvider and kWKNotificationProviderCurrentVersion.
115
116 2013-12-03  Brady Eidson  <beidson@apple.com>
117
118         Indexed Database work should be done on a non-main queue
119         https://bugs.webkit.org/show_bug.cgi?id=125127
120
121         Reviewed by Darin Adler.
122
123         Add a non-main WorkQueue to the DatabaseProcess:
124         * DatabaseProcess/DatabaseProcess.cpp:
125         (WebKit::DatabaseProcess::DatabaseProcess):
126         (WebKit::DatabaseProcess::queue):
127         * DatabaseProcess/DatabaseProcess.h:
128
129         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
130         (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
131         (WebKit::UniqueIDBDatabase::enqueueDatabaseQueueRequest): Add an AsyncRequest to the deque then schedule performing
132           the requests on the background WorkQueue.
133         (WebKit::UniqueIDBDatabase::processDatabaseRequestQueue): Processes all enqueued database requests.
134         (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Renamed from getIDBDatabaseMetadata().
135         (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadataInternal): For doing i/o on a background queue/thread.
136         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
137
138         Add a creator that takes the abort handler as an argument, and rename requestedCompleted()
139         to completeRequest(). This makes more sense in more situations:
140         * Shared/AsyncRequest.cpp:
141         (WebKit::AsyncRequest::AsyncRequest):
142         (WebKit::AsyncRequest::setAbortHandler):
143         * Shared/AsyncRequest.h:
144         (WebKit::AsyncRequest::completeRequest):
145
146         Update for the AsyncRequest rename:
147         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
148         (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
149
150         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
151         (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
152
153 2013-12-03  Tim Horton  <timothy_horton@apple.com>
154
155         Remove TiledCoreAnimationDrawingArea(Proxy)IOS
156         https://bugs.webkit.org/show_bug.cgi?id=125176
157
158         Reviewed by Simon Fraser.
159
160         Remove unused code.
161
162         * UIProcess/API/ios/WKContentView.mm:
163         * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.h: Removed.
164         * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm: Removed.
165         * Shared/DrawingAreaInfo.h:
166         * WebProcess/WebPage/DrawingArea.cpp:
167         (WebKit::DrawingArea::create):
168         * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.h: Removed.
169         * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.mm: Removed.
170
171 2013-12-03  Anders Carlsson  <andersca@apple.com>
172
173         Remove old WebKit::APIClient cruft
174         https://bugs.webkit.org/show_bug.cgi?id=125173
175
176         Reviewed by Antti Koivisto.
177
178         * Shared/APIClient.h:
179         * Shared/APIClientTraits.cpp: Removed.
180         * Shared/APIClientTraits.h: Removed.
181         * WebKit2.xcodeproj/project.pbxproj:
182         * WebProcess/Plugins/PDF/PDFPlugin.mm:
183
184 2013-12-03  Enrica Casucci  <enrica@apple.com>
185
186         Build fix for iOS.
187
188         Reviewed by Tim Horton.
189
190         * Shared/WebCoreArgumentCoders.cpp: Added missing header.
191
192 2013-12-03  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
193
194         Remove WTF:: prefix from types in messages.in files.
195         https://bugs.webkit.org/show_bug.cgi?id=124578
196
197         Reviewed by Anders Carlsson.
198
199         The WTF:: prefixes are removed from the messages.in files, and the
200         messages.py now handles unprefixed non-template WTF classes (only
201         the WTF::String class is used currently). Tests are also updated.
202
203         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
204         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
205         * NetworkProcess/NetworkProcess.messages.in:
206         * PluginProcess/PluginControllerProxy.messages.in:
207         * PluginProcess/PluginProcess.messages.in:
208         * Scripts/webkit2/messages.py:
209         (forward_declarations_and_headers):
210         (class_template_headers):
211         (argument_coder_headers_for_type):
212         * Scripts/webkit2/messages_unittest.py:
213         (std):
214         * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
215         * UIProcess/Downloads/DownloadProxy.messages.in:
216         * UIProcess/Plugins/PluginProcessProxy.messages.in:
217         * UIProcess/Storage/StorageManager.messages.in:
218         * UIProcess/WebContext.messages.in:
219         * UIProcess/WebCookieManagerProxy.messages.in:
220         * UIProcess/WebDatabaseManagerProxy.messages.in:
221         * UIProcess/WebIconDatabase.messages.in:
222         * UIProcess/WebInspectorProxy.messages.in:
223         * UIProcess/WebMediaCacheManagerProxy.messages.in:
224         * UIProcess/WebPageProxy.messages.in:
225         * UIProcess/WebProcessProxy.messages.in:
226         * WebProcess/Cookies/WebCookieManager.messages.in:
227         * WebProcess/Geolocation/WebGeolocationManager.messages.in:
228         * WebProcess/MediaCache/WebMediaCacheManager.messages.in:
229         * WebProcess/Notifications/WebNotificationManager.messages.in:
230         * WebProcess/Plugins/PluginProcessConnection.messages.in:
231         * WebProcess/Plugins/PluginProxy.messages.in:
232         * WebProcess/Storage/StorageAreaMap.messages.in:
233         * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
234         * WebProcess/WebPage/WebInspector.messages.in:
235         * WebProcess/WebPage/WebPage.messages.in:
236         * WebProcess/WebProcess.messages.in:
237         * WebProcess/soup/WebSoupRequestManager.messages.in:
238
239 2013-12-03  Anders Carlsson  <andersca@apple.com>
240
241         Tweak build fixes.
242
243         * Shared/APIClient.h:
244
245 2013-12-03  Laszlo Vidacs  <lac@inf.u-szeged.hu>
246
247         Fix EFL build error in WK2 (159965)
248         https://bugs.webkit.org/show_bug.cgi?id=125153
249
250         Reviewed by Darin Adler.
251
252         * Shared/APIClient.h:
253
254 2013-12-03  Seokju Kwon  <seokju@webkit.org>
255
256         Debug build fix : Add '<algorithm>' for 'std::is_sorted' after r159965.
257         https://bugs.webkit.org/show_bug.cgi?id=125140
258
259         Reviewed by Csaba Osztrogonác.
260
261         * Shared/APIClient.h:
262
263 2013-12-03  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
264
265         Fix EFL build with INPUT_TYPE_COLOR disabled.
266         https://bugs.webkit.org/show_bug.cgi?id=125065
267
268         Reviewed by Zoltan Herczeg.
269
270         * UIProcess/API/efl/ewk_color_picker.cpp:
271
272 2013-12-03  Dariusz Frankiewicz  <d.frankiewic@samsung.com>
273
274         Add spatial navigation API in EFL port
275         https://bugs.webkit.org/show_bug.cgi?id=125002
276
277         Reviewed by Gyuyoung Kim.
278
279         API enables capability of turning on and off spatial navigation
280         and check is state.
281         Spatial navigation is the ability to navigate between focusable
282         elements by keyboard.
283
284         * UIProcess/API/efl/ewk_settings.cpp:
285         (ewk_settings_spatial_navigation_enabled_set):
286         (ewk_settings_spatial_navigation_enabled_get):
287         * UIProcess/API/efl/ewk_settings.h:
288         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
289         (TEST_F):
290
291 2013-12-02  Zan Dobersek  <zdobersek@igalia.com>
292
293         Build fixes for GCC-using ports after r159965 and later
294         https://bugs.webkit.org/show_bug.cgi?id=125136
295
296         GCC doesn't process API::ClientTraits template instantiations unless they're done
297         inside the API namespace.
298
299         * Shared/WebConnectionClient.h:
300         * UIProcess/Notifications/WebNotificationProvider.h:
301         * UIProcess/WebContextClient.h:
302         * UIProcess/WebContextConnectionClient.h:
303         * UIProcess/WebContextInjectedBundleClient.h:
304         * UIProcess/WebCookieManagerProxyClient.h:
305         * UIProcess/WebDatabaseManagerProxyClient.h:
306         * UIProcess/WebDownloadClient.h:
307         * UIProcess/WebFindClient.h:
308         * UIProcess/WebFormClient.h:
309         * UIProcess/WebGeolocationProvider.h:
310         * UIProcess/WebHistoryClient.h:
311         * UIProcess/WebIconDatabaseClient.h:
312         * UIProcess/WebLoaderClient.h:
313         * UIProcess/WebOriginDataManagerProxyChangeClient.h:
314         * UIProcess/WebPageContextMenuClient.h:
315         * UIProcess/WebPolicyClient.h:
316         * UIProcess/WebUIClient.h:
317         * WebProcess/InjectedBundle/InjectedBundleClient.h:
318         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
319         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
320         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
321         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
322         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
323         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
324         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
325         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
326         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
327
328 2013-12-02  Dan Bernstein  <mitz@apple.com>
329
330         Build fix.
331
332         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
333         (-[WKGeolocationProviderIOS initWithContext:]):
334
335 2013-12-02  Martin Hock  <mhock@apple.com>
336
337         Add ability to iterate over API::Array
338         https://bugs.webkit.org/show_bug.cgi?id=124533
339
340         Reviewed by Sam Weinig.
341
342         * GNUmakefile.list.am:
343         * Shared/APIArray.h:
344         * Shared/FilterIterator.h:
345         * Shared/IteratorPair.h:
346         * WebKit2.xcodeproj/project.pbxproj:
347         * WebProcess/InjectedBundle/InjectedBundle.cpp:
348         (WebKit::toStringVector):
349         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
350         (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
351
352 2013-12-02  Dan Bernstein  <mitz@apple.com>
353
354         [Cocoa] WebProtectionSpace has a generic wrapper
355         https://bugs.webkit.org/show_bug.cgi?id=125125
356
357         Reviewed by Anders Carlsson.
358
359         Added WKNSURLProtectionSpace.
360
361         * Shared/Cocoa/APIObject.mm:
362         (API::Object::newObject): Allocate a WKNSURLProtectionSpace if the object is a
363         WebProtectionSpace.
364         * Shared/Cocoa/WKNSURLProtectionSpace.h: Added.
365         (WebKit::wrapper): Added. Returns a WebProtecitonSpace’s wrapper as an NSURLProtectionSpace.
366         * Shared/Cocoa/WKNSURLProtectionSpace.mm: Added.
367         (-[WKNSURLProtectionSpace copyWithZone:]): Retains self.
368         * UIProcess/Authentication/WebProtectionSpace.h:
369         (WebKit::WebProtectionSpace::protectionSpace): Added an accessor for the
370         WebCore::ProtectionSpace.
371         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
372
373 2013-12-02  Anders Carlsson  <andersca@apple.com>
374
375         Replace uses of WebKit::APIClient with API::Client
376         https://bugs.webkit.org/show_bug.cgi?id=125129
377
378         Reviewed by Andreas Kling.
379
380         * Shared/API/c/WKConnectionRef.cpp:
381         (WKConnectionSetConnectionClient):
382         * Shared/WebConnection.cpp:
383         (WebKit::WebConnection::initializeConnectionClient):
384         * Shared/WebConnection.h:
385         * Shared/WebConnectionClient.cpp:
386         (WebKit::WebConnectionClient::didReceiveMessage):
387         (WebKit::WebConnectionClient::didClose):
388         * Shared/WebConnectionClient.h:
389         * UIProcess/API/C/WKContext.cpp:
390         (WKContextSetClient):
391         (WKContextSetInjectedBundleClient):
392         (WKContextSetHistoryClient):
393         (WKContextSetDownloadClient):
394         (WKContextSetConnectionClient):
395         * UIProcess/API/C/WKCookieManager.cpp:
396         (WKCookieManagerSetClient):
397         * UIProcess/API/C/WKDatabaseManager.cpp:
398         (WKDatabaseManagerSetClient):
399         * UIProcess/API/C/WKGeolocationManager.cpp:
400         (WKGeolocationManagerSetProvider):
401         * UIProcess/API/C/WKIconDatabase.cpp:
402         (WKIconDatabaseSetIconDatabaseClient):
403         * UIProcess/API/C/WKNotificationManager.cpp:
404         (WKNotificationManagerSetProvider):
405         * UIProcess/API/C/WKOriginDataManager.cpp:
406         (WKOriginDataManagerSetChangeClient):
407         * UIProcess/API/C/WKPage.cpp:
408         (WKPageSetPageContextMenuClient):
409         (WKPageSetPageFindClient):
410         (WKPageSetPageFindMatchesClient):
411         (WKPageSetPageFormClient):
412         (WKPageSetPagePolicyClient):
413         (WKPageSetPageUIClient):
414         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
415         (setUpPagePolicyClient):
416         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
417         (WebKit::WebNotificationManagerProxy::initializeProvider):
418         * UIProcess/Notifications/WebNotificationManagerProxy.h:
419         * UIProcess/Notifications/WebNotificationProvider.cpp:
420         (WebKit::WebNotificationProvider::show):
421         (WebKit::WebNotificationProvider::cancel):
422         (WebKit::WebNotificationProvider::didDestroyNotification):
423         (WebKit::WebNotificationProvider::clearNotifications):
424         (WebKit::WebNotificationProvider::addNotificationManager):
425         (WebKit::WebNotificationProvider::removeNotificationManager):
426         (WebKit::WebNotificationProvider::notificationPermissions):
427         * UIProcess/Notifications/WebNotificationProvider.h:
428         * UIProcess/WebContext.cpp:
429         (WebKit::WebContext::initializeClient):
430         (WebKit::WebContext::initializeInjectedBundleClient):
431         (WebKit::WebContext::initializeConnectionClient):
432         (WebKit::WebContext::initializeHistoryClient):
433         (WebKit::WebContext::initializeDownloadClient):
434         * UIProcess/WebContext.h:
435         * UIProcess/WebContextClient.cpp:
436         (WebKit::WebContextClient::plugInAutoStartOriginHashesChanged):
437         (WebKit::WebContextClient::networkProcessDidCrash):
438         (WebKit::WebContextClient::plugInInformationBecameAvailable):
439         * UIProcess/WebContextClient.h:
440         * UIProcess/WebContextConnectionClient.cpp:
441         (WebKit::WebContextConnectionClient::didCreateConnection):
442         * UIProcess/WebContextConnectionClient.h:
443         * UIProcess/WebContextInjectedBundleClient.cpp:
444         (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
445         (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
446         (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
447         * UIProcess/WebContextInjectedBundleClient.h:
448         * UIProcess/WebCookieManagerProxy.cpp:
449         (WebKit::WebCookieManagerProxy::initializeClient):
450         * UIProcess/WebCookieManagerProxy.h:
451         * UIProcess/WebCookieManagerProxyClient.cpp:
452         (WebKit::WebCookieManagerProxyClient::cookiesDidChange):
453         * UIProcess/WebCookieManagerProxyClient.h:
454         * UIProcess/WebDatabaseManagerProxy.cpp:
455         (WebKit::WebDatabaseManagerProxy::initializeClient):
456         * UIProcess/WebDatabaseManagerProxy.h:
457         * UIProcess/WebDatabaseManagerProxyClient.cpp:
458         (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
459         (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
460         * UIProcess/WebDatabaseManagerProxyClient.h:
461         * UIProcess/WebDownloadClient.cpp:
462         (WebKit::WebDownloadClient::didStart):
463         (WebKit::WebDownloadClient::didReceiveAuthenticationChallenge):
464         (WebKit::WebDownloadClient::didReceiveResponse):
465         (WebKit::WebDownloadClient::didReceiveData):
466         (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
467         (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
468         (WebKit::WebDownloadClient::didCreateDestination):
469         (WebKit::WebDownloadClient::didFinish):
470         (WebKit::WebDownloadClient::didFail):
471         (WebKit::WebDownloadClient::didCancel):
472         (WebKit::WebDownloadClient::processDidCrash):
473         * UIProcess/WebDownloadClient.h:
474         * UIProcess/WebFindClient.cpp:
475         (WebKit::WebFindClient::didFindString):
476         (WebKit::WebFindClient::didFailToFindString):
477         (WebKit::WebFindClient::didCountStringMatches):
478         (WebKit::WebFindMatchesClient::didFindStringMatches):
479         (WebKit::WebFindMatchesClient::didGetImageForMatchResult):
480         * UIProcess/WebFindClient.h:
481         * UIProcess/WebFormClient.cpp:
482         (WebKit::WebFormClient::willSubmitForm):
483         * UIProcess/WebFormClient.h:
484         * UIProcess/WebGeolocationManagerProxy.cpp:
485         (WebKit::WebGeolocationManagerProxy::initializeProvider):
486         * UIProcess/WebGeolocationManagerProxy.h:
487         * UIProcess/WebGeolocationProvider.cpp:
488         (WebKit::WebGeolocationProvider::startUpdating):
489         (WebKit::WebGeolocationProvider::stopUpdating):
490         (WebKit::WebGeolocationProvider::setEnableHighAccuracy):
491         * UIProcess/WebGeolocationProvider.h:
492         * UIProcess/WebHistoryClient.cpp:
493         (WebKit::WebHistoryClient::didNavigateWithNavigationData):
494         (WebKit::WebHistoryClient::didPerformClientRedirect):
495         (WebKit::WebHistoryClient::didPerformServerRedirect):
496         (WebKit::WebHistoryClient::didUpdateHistoryTitle):
497         (WebKit::WebHistoryClient::populateVisitedLinks):
498         * UIProcess/WebHistoryClient.h:
499         * UIProcess/WebIconDatabase.cpp:
500         (WebKit::WebIconDatabase::initializeIconDatabaseClient):
501         * UIProcess/WebIconDatabase.h:
502         * UIProcess/WebIconDatabaseClient.cpp:
503         (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
504         (WebKit::WebIconDatabaseClient::didRemoveAllIcons):
505         (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
506         * UIProcess/WebIconDatabaseClient.h:
507         * UIProcess/WebInspectorProxy.cpp:
508         (WebKit::WebInspectorProxy::createInspectorPage):
509         * UIProcess/WebLoaderClient.h:
510         * UIProcess/WebOriginDataManagerProxy.cpp:
511         (WebKit::WebOriginDataManagerProxy::setChangeClient):
512         * UIProcess/WebOriginDataManagerProxy.h:
513         * UIProcess/WebOriginDataManagerProxyChangeClient.cpp:
514         (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
515         * UIProcess/WebOriginDataManagerProxyChangeClient.h:
516         * UIProcess/WebPageContextMenuClient.cpp:
517         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
518         (WebKit::WebPageContextMenuClient::customContextMenuItemSelected):
519         (WebKit::WebPageContextMenuClient::contextMenuDismissed):
520         (WebKit::WebPageContextMenuClient::showContextMenu):
521         (WebKit::WebPageContextMenuClient::hideContextMenu):
522         * UIProcess/WebPageContextMenuClient.h:
523         * UIProcess/WebPageProxy.cpp:
524         (WebKit::WebPageProxy::initializePolicyClient):
525         (WebKit::WebPageProxy::initializeFormClient):
526         (WebKit::WebPageProxy::initializeUIClient):
527         (WebKit::WebPageProxy::initializeFindClient):
528         (WebKit::WebPageProxy::initializeFindMatchesClient):
529         (WebKit::WebPageProxy::initializeContextMenuClient):
530         * UIProcess/WebPageProxy.h:
531         * UIProcess/WebPolicyClient.cpp:
532         (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
533         (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
534         (WebKit::WebPolicyClient::decidePolicyForResponse):
535         (WebKit::WebPolicyClient::unableToImplementPolicy):
536         * UIProcess/WebPolicyClient.h:
537         * UIProcess/WebUIClient.cpp:
538         (WebKit::WebUIClient::createNewPage):
539         (WebKit::WebUIClient::showPage):
540         (WebKit::WebUIClient::close):
541         (WebKit::WebUIClient::takeFocus):
542         (WebKit::WebUIClient::focus):
543         (WebKit::WebUIClient::unfocus):
544         (WebKit::WebUIClient::runJavaScriptAlert):
545         (WebKit::WebUIClient::runJavaScriptConfirm):
546         (WebKit::WebUIClient::runJavaScriptPrompt):
547         (WebKit::WebUIClient::setStatusText):
548         (WebKit::WebUIClient::mouseDidMoveOverElement):
549         (WebKit::WebUIClient::unavailablePluginButtonClicked):
550         (WebKit::WebUIClient::didNotHandleKeyEvent):
551         (WebKit::WebUIClient::didNotHandleWheelEvent):
552         (WebKit::WebUIClient::toolbarsAreVisible):
553         (WebKit::WebUIClient::setToolbarsAreVisible):
554         (WebKit::WebUIClient::menuBarIsVisible):
555         (WebKit::WebUIClient::setMenuBarIsVisible):
556         (WebKit::WebUIClient::statusBarIsVisible):
557         (WebKit::WebUIClient::setStatusBarIsVisible):
558         (WebKit::WebUIClient::isResizable):
559         (WebKit::WebUIClient::setIsResizable):
560         (WebKit::WebUIClient::setWindowFrame):
561         (WebKit::WebUIClient::windowFrame):
562         (WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
563         (WebKit::WebUIClient::didDraw):
564         (WebKit::WebUIClient::pageDidScroll):
565         (WebKit::WebUIClient::exceededDatabaseQuota):
566         (WebKit::WebUIClient::runOpenPanel):
567         (WebKit::WebUIClient::decidePolicyForGeolocationPermissionRequest):
568         (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
569         (WebKit::WebUIClient::headerHeight):
570         (WebKit::WebUIClient::footerHeight):
571         (WebKit::WebUIClient::drawHeader):
572         (WebKit::WebUIClient::drawFooter):
573         (WebKit::WebUIClient::printFrame):
574         (WebKit::WebUIClient::runModal):
575         (WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
576         (WebKit::WebUIClient::shouldInterruptJavaScript):
577         (WebKit::WebUIClient::showColorPicker):
578         (WebKit::WebUIClient::hideColorPicker):
579         * UIProcess/WebUIClient.h:
580         * UIProcess/mac/WebInspectorProxyMac.mm:
581         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
582         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
583         (WKBundleSetClient):
584         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
585         (WKBundlePageSetContextMenuClient):
586         (WKBundlePageSetEditorClient):
587         (WKBundlePageSetFormClient):
588         (WKBundlePageSetPageLoaderClient):
589         (WKBundlePageSetResourceLoadClient):
590         (WKBundlePageSetPolicyClient):
591         (WKBundlePageSetUIClient):
592         (WKBundlePageSetFullScreenClient):
593         (WKBundlePageSetDiagnosticLoggingClient):
594         * WebProcess/InjectedBundle/InjectedBundle.cpp:
595         (WebKit::InjectedBundle::initializeClient):
596         * WebProcess/InjectedBundle/InjectedBundle.h:
597         * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
598         (WebKit::InjectedBundleClient::didCreatePage):
599         (WebKit::InjectedBundleClient::willDestroyPage):
600         (WebKit::InjectedBundleClient::didInitializePageGroup):
601         (WebKit::InjectedBundleClient::didReceiveMessage):
602         (WebKit::InjectedBundleClient::didReceiveMessageToPage):
603         * WebProcess/InjectedBundle/InjectedBundleClient.h:
604         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
605         (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
606         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
607         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
608         (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):
609         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
610         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
611         (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
612         (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
613         (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
614         (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
615         (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
616         (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
617         (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
618         (WebKit::InjectedBundlePageEditorClient::didBeginEditing):
619         (WebKit::InjectedBundlePageEditorClient::didEndEditing):
620         (WebKit::InjectedBundlePageEditorClient::didChange):
621         (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
622         (WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard):
623         (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
624         (WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard):
625         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
626         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
627         (WebKit::InjectedBundlePageFormClient::didFocusTextField):
628         (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
629         (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
630         (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
631         (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
632         (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
633         (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
634         (WebKit::InjectedBundlePageFormClient::willSubmitForm):
635         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
636         (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
637         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
638         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
639         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
640         (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
641         (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
642         (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
643         (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
644         (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
645         (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
646         (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
647         (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
648         (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
649         (WebKit::InjectedBundlePageLoaderClient::didFinishProgress):
650         (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
651         (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
652         (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
653         (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
654         (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
655         (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
656         (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
657         (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
658         (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
659         (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
660         (WebKit::InjectedBundlePageLoaderClient::didLayout):
661         (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
662         (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
663         (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
664         (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
665         (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):
666         (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
667         (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
668         (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
669         (WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL):
670         (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
671         (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame):
672         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
673         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
674         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
675         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
676         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
677         (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
678         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
679         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
680         (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
681         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
682         (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
683         (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
684         (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
685         (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
686         (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
687         (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):
688         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
689         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
690         (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
691         (WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
692         (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
693         (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
694         (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
695         (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
696         (WebKit::InjectedBundlePageUIClient::pageDidScroll):
697         (WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload):
698         (WebKit::InjectedBundlePageUIClient::generateFileForUpload):
699         (WebKit::InjectedBundlePageUIClient::statusBarIsVisible):
700         (WebKit::InjectedBundlePageUIClient::menuBarIsVisible):
701         (WebKit::InjectedBundlePageUIClient::toolbarsAreVisible):
702         (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
703         (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
704         (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
705         (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
706         (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
707         (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
708         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
709         * WebProcess/WebPage/WebPage.cpp:
710         (WebKit::WebPage::initializeInjectedBundleContextMenuClient):
711         (WebKit::WebPage::initializeInjectedBundleEditorClient):
712         (WebKit::WebPage::initializeInjectedBundleFormClient):
713         (WebKit::WebPage::initializeInjectedBundleLoaderClient):
714         (WebKit::WebPage::initializeInjectedBundlePolicyClient):
715         (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
716         (WebKit::WebPage::initializeInjectedBundleUIClient):
717         (WebKit::WebPage::initializeInjectedBundleFullScreenClient):
718         (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient):
719         * WebProcess/WebPage/WebPage.h:
720
721 2013-12-02  Enrica Casucci  <enrica@apple.com>
722
723         Merging some more iOS WebKit2 stuff.
724         https://bugs.webkit.org/show_bug.cgi?id=125119
725
726         Reviewed by Tim Horton.
727
728         * Shared/EditorState.h:
729         * Shared/NativeWebKeyboardEvent.h:
730         * Shared/NativeWebMouseEvent.h:
731         * Shared/NativeWebTouchEvent.h:
732         * Shared/mac/RemoteLayerBackingStore.h:
733         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
734         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
735         * UIProcess/PageClient.h:
736         * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm:
737         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
738         * UIProcess/mac/SecItemShimProxy.messages.in:
739         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
740         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
741         * WebProcess/WebPage/WebPage.cpp:
742         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
743         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
744
745 2013-12-02  Anders Carlsson  <andersca@apple.com>
746
747         Add versioned structs for the remaining clients
748         https://bugs.webkit.org/show_bug.cgi?id=125123
749
750         Reviewed by Andreas Kling.
751
752         * UIProcess/API/C/WKContext.h:
753         * UIProcess/API/C/WKContextConnectionClient.h:
754         * UIProcess/API/C/WKContextDownloadClient.h:
755         * UIProcess/API/C/WKContextHistoryClient.h:
756         * UIProcess/API/C/WKContextInjectedBundleClient.h:
757         * UIProcess/API/C/WKOriginDataManager.h:
758
759 2013-12-02  Anders Carlsson  <andersca@apple.com>
760
761         Move WKContext clients to separate files
762         https://bugs.webkit.org/show_bug.cgi?id=125121
763
764         Reviewed by Andreas Kling.
765
766         * UIProcess/API/C/WKContext.h:
767         * UIProcess/API/C/WKContextConnectionClient.h: Added.
768         * UIProcess/API/C/WKContextDownloadClient.h: Added.
769         * UIProcess/API/C/WKContextHistoryClient.h: Added.
770         * UIProcess/API/C/WKContextInjectedBundleClient.h: Added.
771         * WebKit2.xcodeproj/project.pbxproj:
772
773 2013-12-02  Sam Weinig  <sam@webkit.org>
774
775         WebPageGroups should keep track of what processes they are being used by
776         https://bugs.webkit.org/show_bug.cgi?id=124556
777
778         Reviewed by Anders Carlsson.
779
780         * UIProcess/WebContextUserMessageCoders.h:
781         (WebKit::WebContextUserMessageEncoder::encode):
782         (WebKit::WebContextUserMessageDecoder::decode):
783         * UIProcess/WebPageGroup.cpp:
784         (WebKit::WebPageGroup::addProcess):
785         (WebKit::WebPageGroup::disconnectProcess):
786         * UIProcess/WebPageGroup.h:
787         (WebKit::WebPageGroup::sendToAllProcessesInGroup):
788         * UIProcess/WebPageProxy.cpp:
789         (WebKit::WebPageProxy::initializeWebPage):
790         * UIProcess/WebProcessProxy.cpp:
791         (WebKit::WebProcessProxy::disconnect):
792         (WebKit::WebProcessProxy::webPageGroup):
793         (WebKit::WebProcessProxy::addWebPageGroup):
794         * UIProcess/WebProcessProxy.h:
795         * WebProcess/WebProcess.cpp:
796         (WebKit::WebProcess::webPageGroup):
797
798 2013-12-02  Anders Carlsson  <andersca@apple.com>
799
800         Add versioned structs for all clients except the ones in WKContext.h
801         https://bugs.webkit.org/show_bug.cgi?id=125120
802
803         Reviewed by Andreas Kling.
804
805         * Shared/API/c/WKConnectionRef.h:
806         * UIProcess/API/C/WKCookieManager.h:
807         * UIProcess/API/C/WKDatabaseManager.h:
808         * UIProcess/API/C/WKGeolocationManager.h:
809         * UIProcess/API/C/WKIconDatabase.h:
810         * UIProcess/API/C/WKNotificationProvider.h:
811         * UIProcess/API/C/WKPageContextMenuClient.h:
812         * UIProcess/API/C/WKPageFindClient.h:
813         * UIProcess/API/C/WKPageFindMatchesClient.h:
814         * UIProcess/API/C/WKPageFormClient.h:
815         * UIProcess/API/C/WKPageLoaderClient.h:
816         * UIProcess/API/C/WKPagePolicyClient.h:
817         * UIProcess/API/C/WKPageUIClient.h:
818         * WebProcess/InjectedBundle/API/c/WKBundle.h:
819         * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
820         * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
821         * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
822         * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
823         * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
824         * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
825         * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
826         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
827         * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
828         * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
829         * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
830
831 2013-12-02  Anders Carlsson  <andersca@apple.com>
832
833         Split bundle page clients out into separate headers
834         https://bugs.webkit.org/show_bug.cgi?id=125115
835
836         Reviewed by Andreas Kling.
837
838         * WebKit2.xcodeproj/project.pbxproj:
839         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
840         * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Added.
841         * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Added.
842         * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Added.
843         * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Added.
844         * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Added.
845         * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Added.
846         * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Added.
847         * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Added.
848         * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Added.
849
850 2013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>
851
852         [WK2] Improve readability of 'generate_message_handler' function
853         https://bugs.webkit.org/show_bug.cgi?id=125085
854
855         Reviewed by Sam Weinig.
856
857         * Scripts/webkit2/messages.py:
858         (generate_message_handler):
859
860 2013-12-02  Tim Horton  <timothy_horton@apple.com>
861
862         Remote Layer Tree: Support cloning layers
863         https://bugs.webkit.org/show_bug.cgi?id=124874
864         <rdar://problem/15349468>
865
866         Reviewed by Simon Fraser.
867
868         We use PlatformCALayer::clone for CSS reflections, so implement it.
869
870         Also, since many reflections testcases also use masks,
871         working on this revealed that masks weren't working, because
872         we weren't flushing mask layers.
873
874         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
875         (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
876         * Shared/mac/RemoteLayerTreeTransaction.mm:
877         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
878         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
879         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
880         Rename maskLayer->maskLayerID since it's a LayerID.
881
882         * UIProcess/mac/RemoteLayerTreeHost.mm:
883         (WebKit::RemoteLayerTreeHost::commit):
884         Don't try to look up the layer if it's null.
885
886         * Shared/mac/RemoteLayerTreeTransaction.h:
887         (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
888         * Shared/mac/RemoteLayerTreeTransaction.mm:
889         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
890         Keep track of all properties that have ever been changed on a layer.
891
892         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
893         (PlatformCALayerRemote::create):
894         (PlatformCALayerRemote::PlatformCALayerRemote):
895         (PlatformCALayerRemote::clone):
896         Copy all of the layer properties from the original to the clone,
897         and mark all properties that have ever been modified as
898         needing to be flushed to the UI process.
899
900         (PlatformCALayerRemote::recursiveBuildTransaction):
901         Flush our mask layer, if we have one.
902
903         (PlatformCALayerRemote::setMask):
904         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
905         Store the mask layer we're given. Our owning GraphicsLayer will
906         hold on to it for us.
907
908 2013-12-02  Anders Carlsson  <andersca@apple.com>
909
910         WKPageLoaderClient should be versioned
911         https://bugs.webkit.org/show_bug.cgi?id=125104
912
913         Reviewed by Sam Weinig.
914
915         Add multiple versions of the WKPageLoaderClient struct. In a subsequent patch,
916         WKPageLoaderClient and kWKPageLoaderClientCurrentVersion will be deprecated. Instead,
917         users of the API are supposed to explicitly choose a version and a versioned struct.
918
919         * Shared/APIClient.h:
920         Add a new API::Client class with a new ClientTraits template that uses std::tuple for versions.
921
922         * Shared/APIClientTraits.cpp:
923         * Shared/APIClientTraits.h:
924         Remove WKPageLoaderClient interface sizes.
925
926         * UIProcess/API/C/WKPage.cpp:
927         (WKPageSetPageLoaderClient):
928         Add an explicit cast to WKPageLoaderClientBase. In an upcoming patch, WKPageSetPageLoaderClient
929         will be changed to take a WKPageLoaderClientBase instead.
930
931         * UIProcess/API/C/WKPageLoaderClient.h:
932         Add new versions.
933
934         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
935         (setUpPageLoaderClient):
936         Use an explicit version.
937
938         * UIProcess/WebLoaderClient.cpp:
939         (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
940         (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
941         (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
942         (WebKit::WebLoaderClient::didCommitLoadForFrame):
943         (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
944         (WebKit::WebLoaderClient::didFinishLoadForFrame):
945         (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
946         (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
947         (WebKit::WebLoaderClient::didReceiveTitleForFrame):
948         (WebKit::WebLoaderClient::didFirstLayoutForFrame):
949         (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
950         (WebKit::WebLoaderClient::didLayout):
951         (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
952         (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
953         (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
954         (WebKit::WebLoaderClient::didDetectXSSForFrame):
955         (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
956         (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
957         (WebKit::WebLoaderClient::didStartProgress):
958         (WebKit::WebLoaderClient::didChangeProgress):
959         (WebKit::WebLoaderClient::didFinishProgress):
960         (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
961         (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
962         (WebKit::WebLoaderClient::processDidBecomeResponsive):
963         (WebKit::WebLoaderClient::processDidCrash):
964         (WebKit::WebLoaderClient::didChangeBackForwardList):
965         (WebKit::WebLoaderClient::shouldGoToBackForwardListItem):
966         (WebKit::WebLoaderClient::willGoToBackForwardListItem):
967         (WebKit::WebLoaderClient::didFailToInitializePlugin):
968         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
969         (WebKit::WebLoaderClient::pluginLoadPolicy):
970         Go through client.base everywhere.
971
972         * UIProcess/WebLoaderClient.h:
973         Add API::ClientTraits specialization. Change WebLoaderClient to derive from API::Client<WKPageLoaderClientBase>.
974
975         * UIProcess/WebPageProxy.cpp:
976         (WebKit::WebPageProxy::initializeLoaderClient):
977         This now takes a WKPageLoaderClientBase*.
978         
979 2013-12-02  Beth Dakin  <bdakin@apple.com>
980
981         Add a setting to opt into a mode where the background extends and fixed elements 
982         don't move on rubber-band
983         https://bugs.webkit.org/show_bug.cgi?id=124745
984
985         Reviewed by Tim Horton.
986
987         Add SPI to enable the new setting.
988
989         * Shared/WebPreferencesStore.h:
990         * UIProcess/API/C/WKPreferences.cpp:
991         (WKPreferencesSetBackgroundShouldExtendBeyondPage):
992         (WKPreferencesGetBackgroundShouldExtendBeyondPage):
993         * UIProcess/API/C/WKPreferencesPrivate.h:
994         * WebProcess/WebPage/WebPage.cpp:
995         (WebKit::WebPage::updatePreferences):
996
997 2013-12-02  Tim Horton  <timothy_horton@apple.com>
998
999         Remote Layer Tree: Hook up setLayerTreeStateIsFrozen
1000         https://bugs.webkit.org/show_bug.cgi?id=124872
1001
1002         Reviewed by Brent Fulgham.
1003
1004         setLayerTreeStateIsFrozen is the mechanism used to ensure that
1005         layer property changes (including new backing store) aren't committed
1006         while e.g. the page is reconfigured for printing.
1007
1008         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1009         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1010         (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
1011         (WebKit::RemoteLayerTreeContext::flushLayers):
1012         (WebKit::RemoteLayerTreeContext::setIsFlushingSuspended):
1013         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1014         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1015         (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
1016
1017 2013-12-02  Tim Horton  <timothy_horton@apple.com>
1018
1019         Remote Layer Tree: Disable direct image compositing
1020         https://bugs.webkit.org/show_bug.cgi?id=124875
1021         <rdar://problem/15446024>
1022
1023         Reviewed by Simon Fraser.
1024
1025         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
1026         Image-as-layer-contents is not implemented for the remote layer tree.
1027
1028 2013-12-01  ChangSeok Oh  <changseok.oh@collabora.com>
1029
1030         Unreviewed Gtk port Build fix after r159903
1031
1032         * UIProcess/DrawingAreaProxyImpl.cpp:
1033         (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
1034         (WebKit::DrawingAreaProxyImpl::update):
1035         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
1036         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
1037         (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
1038         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1039         (WebKit::WebFullScreenManagerProxy::invalidate):
1040         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1041         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1042         * UIProcess/gtk/WebPageProxyGtk.cpp:
1043         (WebKit::WebPageProxy::setAcceleratedCompositingWindowId):
1044
1045 2013-12-01  Sam Weinig  <sam@webkit.org>
1046
1047         Give UserMessageEncoders WebProcessProxy reference (like the decoders already have)
1048         https://bugs.webkit.org/show_bug.cgi?id=125053
1049
1050         Reviewed by Dan Bernstein.
1051
1052         - Give the UserMessageEncoders a process reference.
1053         - Switch UserMessageDecoders to storing a process reference, rather than pointer.
1054
1055         * Shared/UserMessageCoders.h:
1056         * Shared/mac/ObjCObjectGraphCoders.h:
1057         * Shared/mac/ObjCObjectGraphCoders.mm:
1058         * UIProcess/WebConnectionToWebProcess.cpp:
1059         * UIProcess/WebContext.cpp:
1060         * UIProcess/WebContextUserMessageCoders.h:
1061         * UIProcess/WebPageProxy.cpp:
1062         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
1063
1064 2013-12-01  Sam Weinig  <sam@webkit.org>
1065
1066         [Cocoa] The PageLoadState::Observer is not being set on iOS
1067         https://bugs.webkit.org/show_bug.cgi?id=125051
1068
1069         Reviewed by Dan Bernstein.
1070
1071         * UIProcess/ios/WebPageProxyIOS.mm:
1072         (WebKit::WebPageProxy::platformInitialize):
1073         Add missing call to _finishInitialization.
1074
1075 2013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>
1076
1077         Unreviewed EFL Build fix attempt after r159903
1078
1079         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
1080         (WebKit::CoordinatedDrawingAreaProxy::layerHostingModeDidChange):
1081         (WebKit::CoordinatedDrawingAreaProxy::update):
1082         (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
1083         (WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
1084         (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
1085         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
1086         (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
1087         (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
1088         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
1089         (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
1090         (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
1091         (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
1092         * UIProcess/WebTextChecker.cpp:
1093         (WebKit::WebTextChecker::checkSpelling):
1094         (WebKit::WebTextChecker::changeSpellingToWord):
1095         * UIProcess/WebTextChecker.h:
1096         * UIProcess/WebVibrationProxy.cpp:
1097         (WebKit::WebVibrationProxy::WebVibrationProxy):
1098         (WebKit::WebVibrationProxy::~WebVibrationProxy):
1099         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
1100         (WebKit::WebFullScreenManagerProxy::invalidate):
1101         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1102         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1103         * UIProcess/efl/WebPageProxyEfl.cpp:
1104         (WebKit::WebPageProxy::setThemePath):
1105         (WebKit::WebPageProxy::confirmComposition):
1106         (WebKit::WebPageProxy::setComposition):
1107         (WebKit::WebPageProxy::cancelComposition):
1108
1109 2013-12-01  Sam Weinig  <sam@webkit.org>
1110
1111         Fix the iOS build.
1112
1113         * UIProcess/API/ios/WKContentView.mm:
1114         * UIProcess/API/ios/WKInteractionView.mm:
1115         * UIProcess/ios/WebPageProxyIOS.mm:
1116
1117 2013-12-01  Sam Weinig  <sam@webkit.org>
1118
1119         [CTTE] The WebPageProxy's WebProcessProxy is never null so it should be stored in a Ref
1120         https://bugs.webkit.org/show_bug.cgi?id=125047
1121
1122         Reviewed by Dan Bernstein.
1123
1124         * UIProcess/API/C/WKPage.cpp:
1125         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
1126         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1127         * UIProcess/API/mac/WKView.mm:
1128         * UIProcess/Downloads/DownloadProxy.cpp:
1129         * UIProcess/Downloads/DownloadProxy.h:
1130         * UIProcess/Downloads/DownloadProxyMap.cpp:
1131         * UIProcess/Downloads/DownloadProxyMap.h:
1132         * UIProcess/DrawingAreaProxy.cpp:
1133         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1134         * UIProcess/Network/NetworkProcessProxy.cpp:
1135         * UIProcess/Network/NetworkProcessProxy.h:
1136         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
1137         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1138         * UIProcess/WebContext.cpp:
1139         * UIProcess/WebContext.h:
1140         * UIProcess/WebEditCommandProxy.cpp:
1141         * UIProcess/WebFrameProxy.cpp:
1142         * UIProcess/WebFullScreenManagerProxy.cpp:
1143         * UIProcess/WebInspectorProxy.cpp:
1144         * UIProcess/WebPageGroup.h:
1145         * UIProcess/WebPageProxy.cpp:
1146         * UIProcess/WebPageProxy.h:
1147         * UIProcess/WebProcessProxy.cpp:
1148         * UIProcess/WebProcessProxy.h:
1149         * UIProcess/cf/WebPageProxyCF.cpp:
1150         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1151         * UIProcess/mac/RemoteLayerTreeHost.mm:
1152         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1153         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
1154         * UIProcess/mac/WebInspectorProxyMac.mm:
1155         * UIProcess/mac/WebPageProxyMac.mm:
1156
1157 2013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>
1158
1159         [EFL][CoordinatedGraphics] Clear m_contentsSize when new contents are loaded
1160         https://bugs.webkit.org/show_bug.cgi?id=125033
1161
1162         Reviewed by Gyuyoung Kim.
1163
1164         m_contentsSize should be cleared when new contents are loaded so that PageViewportController
1165         would take care of newly loaded contents with same size as previous one.
1166         It's because PageViewportController is cleared not to make wrong behaviour
1167         while loading when new contents are committed.
1168
1169         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1170         (TEST_F):
1171         Improve tests to check contents,size,changed signal when loaded contents having
1172         same size with previous one.
1173         * UIProcess/CoordinatedGraphics/WebView.cpp:
1174         (WebKit::WebView::didCommitLoadForMainFrame): Cleared m_contentsSize.
1175
1176 2013-12-01  Philippe Normand  <pnormand@igalia.com>
1177
1178         Unreviewed GTK build fix after r159896.
1179
1180         * UIProcess/API/gtk/WebKitWebContext.cpp:
1181         (webkitWebContextCreatePageForWebView):
1182         * UIProcess/API/gtk/WebKitWebView.cpp:
1183         (webkitWebViewConstructed):
1184         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1185         (webkitWebViewBaseUpdatePreferences):
1186
1187 2013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>
1188
1189         Unreviewed build fix after r159896.
1190
1191         * UIProcess/API/efl/ewk_settings.cpp:
1192         (EwkSettings::preferences):
1193         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
1194         (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
1195         * UIProcess/CoordinatedGraphics/WebView.cpp:
1196         (WebKit::WebView::WebView):
1197
1198 2013-11-30  Sam Weinig  <sam@webkit.org>
1199
1200         [CTTE] The WebPageProxy's WebPageGroup is never null so it should be stored in a Ref
1201         https://bugs.webkit.org/show_bug.cgi?id=125038
1202
1203         Reviewed by Dan Bernstein.
1204
1205         * UIProcess/API/C/WKPage.cpp:
1206         (WKPageGetPageGroup):
1207         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
1208         (WKPageIsURLKnownHSTSHost):
1209         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1210         (-[WKBrowsingContextController browsingContextGroup]):
1211         * UIProcess/API/mac/WKView.mm:
1212         (-[WKView _preferencesDidChange]):
1213         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1214         * UIProcess/WebContext.cpp:
1215         (WebKit::WebContext::WebContext):
1216         (WebKit::WebContext::createWebPage):
1217         * UIProcess/WebContext.h:
1218         * UIProcess/WebInspectorProxy.cpp:
1219         (WebKit::WebInspectorPageGroups::inspectorLevel):
1220         (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
1221         (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
1222         (WebKit::WebInspectorProxy::isInspectorPage):
1223         * UIProcess/WebInspectorProxy.h:
1224         * UIProcess/WebPageGroup.cpp:
1225         (WebKit::WebPageGroup::createNonNull):
1226         * UIProcess/WebPageGroup.h:
1227         * UIProcess/WebPageProxy.cpp:
1228         (WebKit::WebPageProxy::create):
1229         (WebKit::WebPageProxy::WebPageProxy):
1230         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
1231         (WebKit::WebPageProxy::preferencesDidChange):
1232         * UIProcess/WebPageProxy.h:
1233         (WebKit::WebPageProxy::pageGroup):
1234         * UIProcess/WebProcessProxy.cpp:
1235         (WebKit::WebProcessProxy::createWebPage):
1236         * UIProcess/WebProcessProxy.h:
1237         * UIProcess/mac/WebInspectorProxyMac.mm:
1238         (WebKit::WebInspectorProxy::createInspectorWindow):
1239         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1240         (WebKit::WebInspectorProxy::windowFrameDidChange):
1241         * UIProcess/mac/WebProcessProxyMac.mm:
1242         (WebKit::WebProcessProxy::pageIsProcessSuppressible):
1243
1244 2013-11-30  Dan Bernstein  <mitz@apple.com>
1245
1246         Added a version of +[NSURL _web_URLWithWTFString:relativeToURL:] that doesn’t take a base URL and switched all callers to it.
1247         https://bugs.webkit.org/show_bug.cgi?id=125040
1248
1249         Reviewed by Sam Weinig.
1250
1251         * Shared/Cocoa/WKNSURLExtras.h: Declared new method.
1252         * Shared/Cocoa/WKNSURLExtras.mm:
1253         (urlWithWTFString): Added helper function.
1254         (+[NSURL _web_URLWithWTFString:]): Added.
1255         (+[NSURL _web_URLWithWTFString:relativeToURL:]): Changed to use helper function.
1256         * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
1257         (-[WKBackForwardListItem URL]): Changed to call new method.
1258         (-[WKBackForwardListItem originalURL]): Ditto.
1259         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1260         (-[WKBrowsingContextController activeURL]): Ditto.
1261         (-[WKBrowsingContextController provisionalURL]): Ditto.
1262         (-[WKBrowsingContextController committedURL]): Ditto.
1263         (-[WKBrowsingContextController unreachableURL]): Ditto.
1264         (setUpPagePolicyClient): Ditto.
1265         * UIProcess/API/Cocoa/WKNavigationData.mm:
1266         (-[WKNavigationData destinationURL]): Ditto.
1267
1268 2013-11-30  Dan Bernstein  <mitz@apple.com>
1269
1270         [Cocoa] Stop using the WKPageRef API in WKBrowsingContextController
1271         https://bugs.webkit.org/show_bug.cgi?id=125036
1272
1273         Reviewed by Sam Weinig.
1274
1275         * Shared/Cocoa/WKNSURLExtras.h: Declared new method.
1276         * Shared/Cocoa/WKNSURLExtras.mm:
1277         (-[NSURL _web_originalDataAsWTFString]): Added. Returns a WTF::String with the receiver’s
1278         bytes.
1279
1280         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1281         (-[WKBrowsingContextController loadRequest:userData:]):
1282         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
1283         (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
1284         (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
1285         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
1286         (-[WKBrowsingContextController stopLoading]):
1287         (-[WKBrowsingContextController reload]):
1288         (-[WKBrowsingContextController reloadFromOrigin]):
1289         (-[WKBrowsingContextController goForward]):
1290         (-[WKBrowsingContextController canGoForward]):
1291         (-[WKBrowsingContextController goBack]):
1292         (-[WKBrowsingContextController canGoBack]):
1293         (-[WKBrowsingContextController activeURL]):
1294         (-[WKBrowsingContextController provisionalURL]):
1295         (-[WKBrowsingContextController committedURL]):
1296         (-[WKBrowsingContextController title]):
1297         (-[WKBrowsingContextController textZoom]):
1298         (-[WKBrowsingContextController setTextZoom:]):
1299         (-[WKBrowsingContextController pageZoom]):
1300         (-[WKBrowsingContextController setPageZoom:]):
1301         (setUpPageLoaderClient):
1302         (setUpPagePolicyClient):
1303         (-[WKBrowsingContextController setLoadDelegate:]):
1304         (-[WKBrowsingContextController setPolicyDelegate:]):
1305         (-[WKBrowsingContextController _pageRef]):
1306         (-[WKBrowsingContextController setPaginationMode:]):
1307         (-[WKBrowsingContextController paginationMode]):
1308         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]):
1309         (-[WKBrowsingContextController paginationBehavesLikeColumns]):
1310         (-[WKBrowsingContextController setPageLength:]):
1311         (-[WKBrowsingContextController pageLength]):
1312         (-[WKBrowsingContextController setGapBetweenPages:]):
1313         (-[WKBrowsingContextController gapBetweenPages]):
1314         (-[WKBrowsingContextController pageCount]):
1315
1316 2013-11-30  Commit Queue  <commit-queue@webkit.org>
1317
1318         Unreviewed, rolling out r159865.
1319         http://trac.webkit.org/changeset/159865
1320         https://bugs.webkit.org/show_bug.cgi?id=125037
1321
1322         the position of mouse events are wrong at MiniBrowser/efl
1323         (Requested by ryuan on #webkit).
1324
1325         * UIProcess/API/efl/EwkView.cpp:
1326         (EwkView::displayTimerFired):
1327         (EwkView::createGLSurface):
1328         (EwkView::handleEvasObjectCalculate):
1329
1330 2013-11-30  Sam Weinig  <sam@webkit.org>
1331
1332         [CTTE] The WebPageProxy's WebBackForwardList is never null so it should be stored in a Ref
1333         https://bugs.webkit.org/show_bug.cgi?id=125035
1334
1335         Reviewed by Dan Bernstein.
1336
1337         * UIProcess/API/C/WKPage.cpp:
1338         (WKPageGetBackForwardList):
1339         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1340         (-[WKBrowsingContextController backForwardList]): Remove null check.
1341         * UIProcess/WebBackForwardList.cpp:
1342         (WebKit::WebBackForwardList::WebBackForwardList):
1343         (WebKit::WebBackForwardList::currentItem): Constify.
1344         (WebKit::WebBackForwardList::backItem): Constify.
1345         (WebKit::WebBackForwardList::forwardItem): Constify.
1346         (WebKit::WebBackForwardList::itemAtIndex): Constify.
1347         * UIProcess/WebBackForwardList.h:
1348         (WebKit::WebBackForwardList::create):
1349         * UIProcess/WebPageProxy.cpp:
1350         (WebKit::WebPageProxy::WebPageProxy):
1351         * UIProcess/WebPageProxy.h:
1352         (WebKit::WebPageProxy::backForwardList):
1353
1354 2013-11-30  Zan Dobersek  <zdobersek@igalia.com>
1355
1356         Unreviewed GTK build fix after r159889.
1357
1358         * UIProcess/gtk/WebPageProxyGtk.cpp:
1359         (WebKit::WebPageProxy::viewWidget): Adjust the static cast of the PageClient reference to PageClientImpl.
1360
1361 2013-11-30  Sam Weinig  <sam@webkit.org>
1362
1363         [CTTE] WebPageProxy should store the PageClient as a reference
1364         https://bugs.webkit.org/show_bug.cgi?id=125030
1365
1366         Reviewed by Dan Bernstein.
1367
1368         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1369         (webkitWebViewBaseCreateWebPage):
1370         * UIProcess/API/ios/WKContentView.mm:
1371         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
1372         * UIProcess/API/mac/WKView.mm:
1373         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1374         * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp:
1375         (WebKit::WebPageProxy::didFindZoomableArea):
1376         * UIProcess/CoordinatedGraphics/WebView.cpp:
1377         (WebKit::WebView::WebView):
1378         * UIProcess/WebContext.cpp:
1379         (WebKit::WebContext::createWebPage):
1380         * UIProcess/WebContext.h:
1381         * UIProcess/WebPageProxy.cpp:
1382         (WebKit::WebPageProxy::create):
1383         (WebKit::WebPageProxy::WebPageProxy):
1384         (WebKit::WebPageProxy::reattachToWebProcess):
1385         (WebKit::WebPageProxy::initializeWebPage):
1386         (WebKit::WebPageProxy::close):
1387         (WebKit::WebPageProxy::setViewNeedsDisplay):
1388         (WebKit::WebPageProxy::displayView):
1389         (WebKit::WebPageProxy::canScrollView):
1390         (WebKit::WebPageProxy::scrollView):
1391         (WebKit::WebPageProxy::updateViewState):
1392         (WebKit::WebPageProxy::viewStateDidChange):
1393         (WebKit::WebPageProxy::viewSize):
1394         (WebKit::WebPageProxy::startDrag):
1395         (WebKit::WebPageProxy::handleTouchEvent):
1396         (WebKit::WebPageProxy::preferencesDidChange):
1397         (WebKit::WebPageProxy::didCommitLoadForFrame):
1398         (WebKit::WebPageProxy::closePage):
1399         (WebKit::WebPageProxy::setWindowFrame):
1400         (WebKit::WebPageProxy::getWindowFrame):
1401         (WebKit::WebPageProxy::screenToWindow):
1402         (WebKit::WebPageProxy::windowToScreen):
1403         (WebKit::WebPageProxy::pageDidRequestScroll):
1404         (WebKit::WebPageProxy::pageTransitionViewportReady):
1405         (WebKit::WebPageProxy::didRenderFrame):
1406         (WebKit::WebPageProxy::didChangeViewportProperties):
1407         (WebKit::WebPageProxy::handleDownloadRequest):
1408         (WebKit::WebPageProxy::didChangeContentSize):
1409         (WebKit::WebPageProxy::showColorPicker):
1410         (WebKit::WebPageProxy::editorStateChanged):
1411         (WebKit::WebPageProxy::canUndoRedo):
1412         (WebKit::WebPageProxy::executeUndoRedo):
1413         (WebKit::WebPageProxy::clearAllEditCommands):
1414         (WebKit::WebPageProxy::setFindIndicator):
1415         (WebKit::WebPageProxy::showPopupMenu):
1416         (WebKit::WebPageProxy::internalShowContextMenu):
1417         (WebKit::WebPageProxy::registerEditCommand):
1418         (WebKit::WebPageProxy::setToolTip):
1419         (WebKit::WebPageProxy::setCursor):
1420         (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves):
1421         (WebKit::WebPageProxy::didReceiveEvent):
1422         (WebKit::WebPageProxy::processDidCrash):
1423         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1424         (WebKit::WebPageProxy::initializeCreationParameters):
1425         (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
1426         (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
1427         (WebKit::WebPageProxy::updateAcceleratedCompositingMode):
1428         (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
1429         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
1430         (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
1431         (WebKit::WebPageProxy::showCorrectionPanel):
1432         (WebKit::WebPageProxy::dismissCorrectionPanel):
1433         (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
1434         (WebKit::WebPageProxy::recordAutocorrectionResponse):
1435         (WebKit::WebPageProxy::showDictationAlternativeUI):
1436         (WebKit::WebPageProxy::removeDictationAlternatives):
1437         (WebKit::WebPageProxy::dictationAlternatives):
1438         * UIProcess/WebPageProxy.h:
1439         * UIProcess/WebProcessProxy.cpp:
1440         (WebKit::WebProcessProxy::createWebPage):
1441         * UIProcess/WebProcessProxy.h:
1442         * UIProcess/gtk/WebPageProxyGtk.cpp:
1443         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
1444         * UIProcess/ios/WebPageProxyIOS.mm:
1445         (WebKit::WebPageProxy::interpretKeyEvent):
1446         (WebKit::WebPageProxy::mainDocumentDidReceiveMobileDocType):
1447         (WebKit::WebPageProxy::didGetTapHighlightGeometries):
1448         (WebKit::WebPageProxy::didChangeViewportArguments):
1449         (WebKit::WebPageProxy::startAssistingNode):
1450         (WebKit::WebPageProxy::stopAssistingNode):
1451         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
1452         * UIProcess/mac/WebPageProxyMac.mm:
1453         (WebKit::WebPageProxy::windowAndViewFramesChanged):
1454         (WebKit::WebPageProxy::insertDictatedText):
1455         (WebKit::WebPageProxy::setDragImage):
1456         (WebKit::WebPageProxy::setPromisedData):
1457         (WebKit::WebPageProxy::interpretQueuedKeyEvent):
1458         (WebKit::WebPageProxy::didPerformDictionaryLookup):
1459         (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
1460         (WebKit::WebPageProxy::makeFirstResponder):
1461         (WebKit::WebPageProxy::colorSpace):
1462         (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
1463         (WebKit::WebPageProxy::setPluginComplexTextInputState):
1464         (WebKit::WebPageProxy::executeSavedCommandBySelector):
1465         (WebKit::WebPageProxy::wkView):
1466         (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
1467         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
1468
1469 2013-11-30  Sam Weinig  <sam@webkit.org>
1470
1471         [RTTE] The PermissionRequestManagerProxies should use WebPageProxy references.
1472         https://bugs.webkit.org/show_bug.cgi?id=125029
1473
1474         Reviewed by Dan Bernstein.
1475
1476         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1477         (WebKit::GeolocationPermissionRequestManagerProxy::GeolocationPermissionRequestManagerProxy):
1478         (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
1479         (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
1480         * UIProcess/GeolocationPermissionRequestManagerProxy.h:
1481         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
1482         (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
1483         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
1484         (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
1485         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
1486         * UIProcess/WebPageProxy.cpp:
1487         (WebKit::WebPageProxy::WebPageProxy):
1488         Do some additional modernization while we are here.
1489
1490 2013-11-30  Dan Bernstein  <mitz@apple.com>
1491
1492         <rdar://problem/15560240> ResourceError encoding drops NSURL-valued keys in the NSError’s userInfo, including NSErrorFailingURLKey
1493         https://bugs.webkit.org/show_bug.cgi?id=125016
1494
1495         Reviewed by Anders “happy name day” Carlsson.
1496
1497         * Shared/mac/WebCoreArgumentCodersMac.mm:
1498         (CoreIPC::::encodePlatformData): Encode all string- and URL-valued keys as a dictionary.
1499         (CoreIPC::::decodePlatformData): Decode user info as a dictionary.
1500
1501 2013-11-29  Zan Dobersek  <zdobersek@igalia.com>
1502
1503         Unreviewed build fix for EFL and GTK WK2 builds.
1504
1505         * Scripts/generate-forwarding-headers.pl: Add Cocoa to the list of platform prefixes.
1506
1507 2013-11-29  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
1508
1509         Fix build warnings in WebKit2
1510         https://bugs.webkit.org/show_bug.cgi?id=125012
1511
1512         Reviewed by Anders Carlsson.
1513
1514         fix unused parameter warnings in the following files:
1515
1516         * Platform/gtk/WorkQueueGtk.cpp:
1517         (WorkQueue::SocketEventSource::eventCallback):
1518         * Shared/API/c/WKDeprecatedFunctions.cpp:
1519         (WKArrayIsMutable):
1520         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1521         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1522         (WebKit::WebChromeClient::didAddHeaderLayer):
1523         (WebKit::WebChromeClient::didAddFooterLayer):
1524         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1525         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
1526
1527 2013-11-29  Sam Weinig  <sam@webkit.org>
1528
1529         [Cocoa] Add a little template magic to the inline API::Object storage to remove the need for all the reinterpret_casts
1530         https://bugs.webkit.org/show_bug.cgi?id=125024
1531
1532         Reviewed by Dan Bernstein.
1533
1534         Introduce API::ObjectStorage which wraps std::aligned_storage and adds some convenience functions
1535         to reinterpret the data as the corresponding type. Deploy it everywhere we were previously using 
1536         std::aligned_storage.
1537
1538         * Shared/Cocoa/WKNSArray.mm:
1539         * Shared/Cocoa/WKNSDictionary.mm:
1540         * Shared/Cocoa/WKObject.h:
1541         * UIProcess/API/Cocoa/WKBackForwardList.mm:
1542         * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
1543         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1544         * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
1545         * UIProcess/API/Cocoa/WKNavigationData.mm:
1546         * UIProcess/API/Cocoa/WKProcessGroup.mm:
1547
1548 2013-11-29  Sam Weinig  <sam@webkit.org>
1549
1550         Fix crashing API tests.
1551
1552         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1553         (-[WKBrowsingContextController dealloc]):
1554
1555 2013-11-29  Sam Weinig  <sam@webkit.org>
1556
1557         Fix some style boo-boos.
1558
1559         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1560         (-[WKBrowsingContextController loadDelegate]):
1561         (-[WKBrowsingContextController setLoadDelegate:]):
1562         (-[WKBrowsingContextController policyDelegate]):
1563         (-[WKBrowsingContextController setPolicyDelegate:]):
1564
1565 2013-11-29  Sam Weinig  <sam@webkit.org>
1566
1567         Fix the iOS build.
1568
1569         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1570         (-[WKBrowsingContextController loadDelegate]):
1571         (-[WKBrowsingContextController policyDelegate]):
1572         (-[WKBrowsingContextController setPolicyDelegate:]):
1573
1574 2013-11-29  Sam Weinig  <sam@webkit.org>
1575
1576         [Cocoa] Make WKBrowsingContextController work with WKObject wrapping
1577         https://bugs.webkit.org/show_bug.cgi?id=125022
1578
1579         Reviewed by Dan Bernstein.
1580
1581         * Shared/Cocoa/APIObject.mm:
1582         (API::Object::newObject):
1583         
1584         * Shared/mac/ObjCObjectGraphCoders.mm:
1585         Add support for WKProcessGroup.
1586
1587         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
1588         Replace call to _browsingContextControllerForPageRef: with wrapper.
1589
1590         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1591         Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline.
1592
1593         (-[WKBrowsingContextController dealloc]):
1594         Add explicit destructor call.
1595
1596         (-[WKBrowsingContextController setLoadDelegate:]):
1597         (-[WKBrowsingContextController setPolicyDelegate:]):
1598         Lazily set up the load and policy clients only once a delegate has been set to allow
1599         continued use of the C-SPI clients for WebKitTestRunner.
1600
1601         (-[WKBrowsingContextController _finishInitialization]):
1602         Move remaining work that was done in the initialize (setting up the observer) here,
1603         and have the WebPageProxy call it.
1604
1605         * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
1606         (WebKit::wrapper):
1607         Add wrapper() helper and declare conformance to the WKObject protocol. Remove no longer used
1608         _initWithPageRef: and _browsingContextControllerForPageRef: helpers.
1609
1610         * UIProcess/API/Cocoa/WKProcessGroup.mm:
1611         (didNavigateWithNavigationData):
1612         (didPerformClientRedirect):
1613         (didPerformServerRedirect):
1614         (didUpdateHistoryTitle):
1615         Switch to using wrapper().
1616
1617         * UIProcess/API/ios/WKContentView.mm:
1618         * UIProcess/API/mac/WKView.mm:
1619         Stop caching the WKBrowsingContextController, as it no long makes sense since it is the same object
1620         as the WebPageProxy.
1621
1622         * UIProcess/mac/WebPageProxyMac.mm:
1623         (WebKit::WebPageProxy::platformInitialize):
1624         Inform the wrapper that it is safe to finish initialization.
1625
1626 2013-11-29  Dan Bernstein  <mitz@apple.com>
1627
1628         [Cocoa] Add a way to recover from load errors
1629         https://bugs.webkit.org/show_bug.cgi?id=125020
1630
1631         Reviewed by Sam Weinig.
1632
1633         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1634         (createErrorWithRecoveryAttempter): Added this helper function. It creates an NSError from
1635         the given error, adding two keys to the user info dictionary: the context controller under
1636         the recovery attempter key, and the frame under a private key.
1637         (didFailProvisionalLoadWithErrorForFrame): Changed to use createErrorWithRecoveryAttempter.
1638         (didFailLoadWithErrorForFrame): Ditto.
1639         (-[WKBrowsingContextController attemptRecoveryFromError:]): Implemented this
1640         WKErrorRecoveryAttempting protocol method by loading the failing URL from the error into the
1641         frame from the error.
1642
1643         * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h: Added. Defines a protocol for attempting
1644         recovery from errors and declares the error user info dictionary key under which an object
1645         conforming to this protocol may be stored.
1646         * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Added. Defines
1647         WKRecoveryAttempterErrorKey.
1648
1649         * UIProcess/WebFrameProxy.cpp:
1650         (WebKit::WebFrameProxy::loadURL): Added. Sends the LoadURLInFrame message to the page.
1651         * UIProcess/WebFrameProxy.h:
1652
1653         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
1654
1655         * WebProcess/WebPage/WebPage.cpp:
1656         (WebKit::WebPage::loadURLInFrame): Added. Loads the URL in the given frame.
1657         * WebProcess/WebPage/WebPage.h:
1658         * WebProcess/WebPage/WebPage.messages.in: Added LoadURLInFrame.
1659
1660 2013-11-29  Dan Bernstein  <mitz@apple.com>
1661
1662         [Cocoa] Expose loadAlternateHTMLString via the API
1663         https://bugs.webkit.org/show_bug.cgi?id=125019
1664
1665         Reviewed by Sam Weinig.
1666
1667         * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new method.
1668         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1669         (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]): Added.
1670         Calls WebPageProxy::loadAlternateHTMLString.
1671
1672 2013-11-29  Sam Weinig  <sam@webkit.org>
1673
1674         Move API files shared between Mac and iOS to the Cocoa directory
1675         https://bugs.webkit.org/show_bug.cgi?id=125017
1676
1677         Reviewed by Dan Bernstein.
1678
1679         * UIProcess/API/Cocoa/WKBrowsingContextController.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h.
1680         * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm.
1681         * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.
1682         * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h.
1683         * UIProcess/API/Cocoa/WKBrowsingContextGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h.
1684         * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm.
1685         * UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
1686         * UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h.
1687         * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h.
1688         * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h.
1689         * UIProcess/API/Cocoa/WKConnection.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.h.
1690         * UIProcess/API/Cocoa/WKConnection.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.mm.
1691         * UIProcess/API/Cocoa/WKConnectionInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h.
1692         * UIProcess/API/Cocoa/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h.
1693         * UIProcess/API/Cocoa/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm.
1694         * UIProcess/API/Cocoa/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
1695         * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h.
1696         * UIProcess/API/Cocoa/WKTypeRefWrapper.h: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h.
1697         * UIProcess/API/Cocoa/WKTypeRefWrapper.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm.
1698         * UIProcess/API/Cocoa/WKView.h: Copied from Source/WebKit2/UIProcess/API/mac/WKView.h.
1699         * UIProcess/API/Cocoa/WKViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h.
1700         * UIProcess/API/Cocoa/WebKit2.h: Copied from Source/WebKit2/UIProcess/API/mac/WebKit2.h.
1701         * UIProcess/API/mac/WKBrowsingContextController.h: Removed.
1702         * UIProcess/API/mac/WKBrowsingContextController.mm: Removed.
1703         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Removed.
1704         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Removed.
1705         * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed.
1706         * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed.
1707         * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Removed.
1708         * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Removed.
1709         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed.
1710         * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Removed.
1711         * UIProcess/API/mac/WKConnection.h: Removed.
1712         * UIProcess/API/mac/WKConnection.mm: Removed.
1713         * UIProcess/API/mac/WKConnectionInternal.h: Removed.
1714         * UIProcess/API/mac/WKProcessGroup.h: Removed.
1715         * UIProcess/API/mac/WKProcessGroup.mm: Removed.
1716         * UIProcess/API/mac/WKProcessGroupInternal.h: Removed.
1717         * UIProcess/API/mac/WKProcessGroupPrivate.h: Removed.
1718         * UIProcess/API/mac/WKTypeRefWrapper.h: Removed.
1719         * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed.
1720         * UIProcess/API/mac/WKView.h: Removed.
1721         * UIProcess/API/mac/WKViewPrivate.h: Removed.
1722         * UIProcess/API/mac/WebKit2.h: Removed.
1723         * WebKit2.xcodeproj/project.pbxproj:
1724
1725 2013-11-29  Hunseop Jeong  <hs85.jeong@samsung.com>
1726
1727         [EFL] viewport must be same with the size of webview
1728         https://bugs.webkit.org/show_bug.cgi?id=124965
1729
1730         Reviewed by Gyuyoung Kim.
1731
1732         Currently, size of the viewport is larger than size of webview.
1733         Changed the size of viewport with size of webview, because viewport is translated by wrong calculation.
1734
1735         * UIProcess/API/efl/EwkView.cpp:
1736         (EwkView::displayTimerFired): Changed to use the (0,0). 
1737         (EwkView::createGLSurface): Modified to use the viewSize instead of the boundsEnd.
1738         (EwkView::handleEvasObjectCalculate): Removed the WKViewSetUserViewportTranslation.
1739
1740 2013-11-28  Eunmi Lee  <eunmi15.lee@samsung.com>
1741
1742         [CoordinatedGraphics][WK2] Correct wrong usage of m_contentPosition variable in the WebView.
1743         https://bugs.webkit.org/show_bug.cgi?id=118548
1744
1745         Reviewed by Noam Rosenthal.
1746
1747         CoordinatedGraphics uses its own scaling logic - contents scaling - and
1748         WebView of CoordinatedGraphics maintains contents position by scaling
1749         with contents scaling factor.
1750         However transformToScene() and updateViewportSize() of WebView regard
1751         the contents position as a non-scaled value, so it should be fixed.
1752
1753         * UIProcess/CoordinatedGraphics/WebView.cpp:
1754         (WebKit::WebView::transformToScene):
1755         (WebKit::WebView::updateViewportSize):
1756
1757 2013-11-28  Ryuan Choi  <ryuan.choi@samsung.com>
1758
1759         [EFL] PageViewportController does not need to be unique_ptr instance
1760         https://bugs.webkit.org/show_bug.cgi?id=124993
1761
1762         Reviewed by Gyuyoung Kim.
1763
1764         PageViewportController and PageViewportControllerEfl have same life cycle
1765         with EwkView. So, we don't need to make them as unique_ptr instance.
1766
1767         * UIProcess/API/efl/EwkView.cpp:
1768         (EwkView::EwkView):
1769         (EwkView::handleEvasObjectCalculate):
1770         (EwkView::scrollBy):
1771         * UIProcess/API/efl/EwkView.h:
1772         (EwkView::pageViewportController):
1773         * UIProcess/efl/PageLoadClientEfl.cpp:
1774         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
1775         * UIProcess/efl/ViewClientEfl.cpp:
1776         (WebKit::ViewClientEfl::didChangeContentsSize):
1777         (WebKit::ViewClientEfl::didChangeContentsPosition):
1778         (WebKit::ViewClientEfl::didRenderFrame):
1779         (WebKit::ViewClientEfl::didCompletePageTransition):
1780         (WebKit::ViewClientEfl::didChangeViewportAttributes):
1781
1782 2013-11-28  Nick Diego Yamane  <nick.yamane@openbossa.org>
1783
1784         [GTK] Build fix after r159859
1785         https://bugs.webkit.org/show_bug.cgi?id=124992
1786
1787         Reviewed by Gyuyoung Kim.
1788
1789         * UIProcess/API/gtk/PageClientImpl.cpp:
1790         (WebKit::PageClientImpl::didCommitLoadForMainFrame): Added.
1791         * UIProcess/API/gtk/PageClientImpl.h:
1792
1793 2013-11-28  Jinwoo Song  <jinwoo7.song@samsung.com>
1794
1795         [EFL] Build fix after r159859
1796         https://bugs.webkit.org/show_bug.cgi?id=124991
1797
1798         Reviewed by Gyuyoung Kim.
1799
1800         Redefined newly added pure virtual function in PageClient class after r159859.
1801
1802         * UIProcess/CoordinatedGraphics/WebView.cpp:
1803         (WebKit::WebView::didCommitLoadForMainFrame):
1804         * UIProcess/CoordinatedGraphics/WebView.h:
1805
1806 2013-11-27  Sam Weinig  <sam@webkit.org>
1807
1808         Perform some spring cleaning to WKContentView and WKView
1809         https://bugs.webkit.org/show_bug.cgi?id=124961
1810
1811         Reviewed by Dan Bernstein.
1812
1813         - Store the PageClientImpl in a std::unique_ptr.
1814         - Remove the WKBrowsingContextController internal load delegate. Replace its use with
1815           a new PageClient function, didCommitLoadForMainFrame.
1816         - Fix typo in the WKContentViewDelegate. contentViewdidCommitLoadForMainFrame -> contentViewDidCommitLoadForMainFrame.
1817         - Add initializers for WKContentView and WKView that take WKContextRefs and WKPageGroupRefs to match the Mac WKView.
1818           These are needed for WebKitTestRunner.
1819         - Require a WKProcessGroup (or WKContextRef) and a WKBrowsingContextGroup (or WKPageGroupRef).
1820         - Stop caching the WKProcessGroup and WKBrowsingContextGroup on the WKContentView.
1821         - Remove incorrect implementations of initWithCoder.
1822         - Make WKContentView lazily create its WKBrowsingContextController wrapper.
1823
1824         * UIProcess/API/ios/PageClientImplIOS.h:
1825         * UIProcess/API/ios/PageClientImplIOS.mm:
1826         (WebKit::PageClientImpl::PageClientImpl):
1827         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
1828         (WebKit::PageClientImpl::mainDocumentDidReceiveMobileDocType):
1829         * UIProcess/API/ios/WKContentView.h:
1830         * UIProcess/API/ios/WKContentView.mm:
1831         (-[WKContentView initWithCoder:]):
1832         (-[WKContentView initWithFrame:processGroup:browsingContextGroup:]):
1833         (-[WKContentView browsingContextController]):
1834         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
1835         (-[WKContentView _didCommitLoadForMainFrame]):
1836         (-[WKContentView _didReceiveMobileDocTypeForMainFrame]):
1837         (-[WKContentView _didChangeViewportArguments:WebCore::]):
1838         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
1839         (-[WKContentView _pageRef]):
1840         (-[WKContentView initWithFrame:contextRef:pageGroupRef:]):
1841         (-[WKContentView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1842         * UIProcess/API/ios/WKContentViewInternal.h:
1843         * UIProcess/API/ios/WKContentViewPrivate.h: Added.
1844         * UIProcess/API/ios/WKView.mm:
1845         (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
1846         (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
1847         (-[WKView contentViewDidCommitLoadForMainFrame:]):
1848         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
1849         (-[WKView pageRef]):
1850         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
1851         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1852         * UIProcess/API/mac/PageClientImpl.h:
1853         * UIProcess/API/mac/PageClientImpl.mm:
1854         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
1855         * UIProcess/API/mac/WKBrowsingContextController.mm:
1856         (didCommitLoadForFrame):
1857         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
1858         * UIProcess/API/mac/WKViewPrivate.h:
1859         * UIProcess/PageClient.h:
1860         * UIProcess/WebPageProxy.cpp:
1861         (WebKit::WebPageProxy::didCommitLoadForFrame):
1862
1863 2013-11-28  Éva Balázsfalvi  <balazsfalvi.eva@stud.u-szeged.hu>
1864
1865         Buildfix after r159824 for GCC 4.6
1866         https://bugs.webkit.org/show_bug.cgi?id=124968
1867
1868         Reviewed by Csaba Osztrogonác.
1869
1870         Added explicit "friend class", because GCC 4.6 doesn't support extended friend declaration (c++11)
1871
1872         * Shared/APIObject.h:
1873
1874 2013-11-28  Antti Koivisto  <antti@apple.com>
1875
1876         Remove feature: CSS variables
1877         https://bugs.webkit.org/show_bug.cgi?id=114119
1878
1879         Reviewed by Andreas Kling.
1880
1881         * Configurations/FeatureDefines.xcconfig:
1882
1883 2013-11-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1884
1885         [GTK] Support custom types for drag and drop data
1886         https://bugs.webkit.org/show_bug.cgi?id=124659
1887
1888         Reviewed by Martin Robinson.
1889
1890         * Shared/gtk/ArgumentCodersGtk.cpp:
1891         (CoreIPC::encodeDataObject): encode the unknown types data.
1892         (CoreIPC::decodeDataObject): decode the unknown types data.
1893
1894 2013-11-27  Sam Weinig  <sam@webkit.org>
1895
1896         Give the PageClient a chance to handle geolocation permission requests if the UIClient doesn't handle it
1897         https://bugs.webkit.org/show_bug.cgi?id=124955
1898
1899         Reviewed by Dan Bernstein.
1900
1901         Use the new PageClient function to remove the need for WKContentView to take over the WKPageUIClient.
1902
1903         * UIProcess/API/ios/PageClientImplIOS.h:
1904         * UIProcess/API/ios/PageClientImplIOS.mm:
1905         (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
1906         * UIProcess/API/ios/WKContentView.mm:
1907         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
1908         (-[WKContentView _commonInitWithProcessGroup:browsingContextGroup:]):
1909         * UIProcess/API/ios/WKContentViewInternal.h:
1910         * UIProcess/PageClient.h:
1911         (WebKit::PageClient::decidePolicyForGeolocationPermissionRequest):
1912         * UIProcess/WebPageProxy.cpp:
1913         (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
1914
1915 2013-11-27  Sam Weinig  <sam@webkit.org>
1916
1917         Fix the iOS build.
1918
1919         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
1920         * UIProcess/API/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
1921
1922 2013-11-27  Sam Weinig  <sam@webkit.org>
1923
1924         Add accessors for the WKProcessGroup and WKBrowsingContextGroup on the WKBrowsingContextController
1925         https://bugs.webkit.org/show_bug.cgi?id=124953
1926
1927         Reviewed by Dan Bernstein.
1928
1929         * UIProcess/API/mac/WKBrowsingContextController.h:
1930         * UIProcess/API/mac/WKBrowsingContextController.mm:
1931         (-[WKBrowsingContextController processGroup]):
1932         (-[WKBrowsingContextController browsingContextGroup]):
1933         Add accessors.
1934
1935 2013-11-27  Sam Weinig  <sam@webkit.org>
1936
1937         Make WKProcessGroup work with WKObject wrapping
1938         https://bugs.webkit.org/show_bug.cgi?id=124952
1939
1940         Reviewed by Dan Bernstein.
1941
1942         * Shared/Cocoa/APIObject.mm:
1943         (API::Object::newObject):
1944         Add support for WKProcessGroup.
1945
1946         * UIProcess/API/mac/WKProcessGroup.mm:
1947         (-[WKProcessGroup initWithInjectedBundleURL:]):
1948         (-[WKProcessGroup dealloc]):
1949         (-[WKProcessGroup API::]):
1950         (-[WKProcessGroup _contextRef]):
1951         (-[WKProcessGroup _geolocationProvider]):
1952         Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline
1953
1954         * UIProcess/API/mac/WKProcessGroupInternal.h: Added.
1955         (WebKit::wrapper):
1956         Add wrapper() helper and declare conformance to the WKObject protocol.
1957
1958         * UIProcess/WebContext.cpp:
1959         (WebKit::WebContext::create):
1960         (WebKit::WebContext::WebContext):
1961         * UIProcess/WebContext.h:
1962         Make the WebContext constructor public (for use with Object::constructInWrapper) and remove unused ProcessModel parameter.
1963
1964         * WebKit2.xcodeproj/project.pbxproj:
1965         Add new file.
1966
1967 2013-11-27  Sam Weinig  <sam@webkit.org>
1968
1969         Make WKBrowsingContextGroup work with WKObject wrapping
1970         https://bugs.webkit.org/show_bug.cgi?id=124948
1971
1972         Reviewed by Dan Bernstein.
1973
1974         - Adds mechanism to use the inline data wrapping mechanism when the Objective-C wrapper is created
1975           by the caller (rather than by Object::newObject).
1976         - Adopts the mechanism for WKBrowsingContextGroup.
1977
1978         * Shared/APIObject.h:
1979         (API::Object::constructInWrapper):
1980         Add a helper which does a forwarding placement-new into the API::Object of the passed in wrapper, after which it sets up m_wrapper.
1981
1982         (API::TypedObject::operator new):
1983         Add a operator new to for placement-new. Also make TypedObject friends with Object so that constructInWrapper can call this.
1984
1985         * Shared/Cocoa/APIObject.mm:
1986         (API::Object::newObject):
1987         Add support for WKBrowsingContextGroup.
1988
1989         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
1990         (-[WKBrowsingContextGroup API::]):
1991         (-[WKBrowsingContextGroup dealloc]):
1992         (-[WKBrowsingContextGroup initWithIdentifier:]):
1993         (-[WKBrowsingContextGroup allowsJavaScript]):
1994         (-[WKBrowsingContextGroup setAllowsJavaScript:]):
1995         (-[WKBrowsingContextGroup allowsJavaScriptMarkup]):
1996         (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]):
1997         (-[WKBrowsingContextGroup allowsPlugIns]):
1998         (-[WKBrowsingContextGroup setAllowsPlugIns:]):
1999         (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]):
2000         (-[WKBrowsingContextGroup removeAllUserStyleSheets]):
2001         (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
2002         (-[WKBrowsingContextGroup removeAllUserScripts]):
2003         (-[WKBrowsingContextGroup _pageGroupRef]):
2004         Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline (modeled on WKBackForwardList).
2005
2006         * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added.
2007         (WebKit::wrapper):
2008         Add wrapper() helper and declare conformance to the WKObject protocol.
2009
2010         * UIProcess/WebPageGroup.cpp:
2011         (WebKit::WebPageGroup::create):
2012         (WebKit::WebPageGroup::WebPageGroup):
2013         * UIProcess/WebPageGroup.h:
2014         Make the WebPageGroup constructor public (for use with Object::constructInWrapper) and move being set in the webPageGroupMap()
2015         to the constructor.
2016
2017         * WebKit2.xcodeproj/project.pbxproj:
2018         Add new file.
2019
2020 2013-11-27  Nick Diego Yamane  <nick.yamane@openbossa.org>
2021
2022         Remove Qt-specific .qrc files
2023         https://bugs.webkit.org/show_bug.cgi?id=124944
2024
2025         Reviewed by Andreas Kling.
2026
2027         * WebKit2.qrc: Removed.
2028
2029 2013-11-27  Zan Dobersek  <zdobersek@igalia.com>
2030
2031         [GTK] Programs/WebKit2APITests/TestWebKitSettings unit test is failing
2032         https://bugs.webkit.org/show_bug.cgi?id=124924
2033
2034         Reviewed by Carlos Garcia Campos.
2035
2036         'Chrome'/'Chromium' substrings were removed from the user agent string in r159572, meaning the unit
2037         test shouldn't check for those two substrings anymore. Instead, 'Safari' (as until now) and 'AppleWebKit'
2038         substrings should be checked for.
2039
2040         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2041         (testWebKitSettingsUserAgent):
2042
2043 2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
2044
2045         [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
2046         https://bugs.webkit.org/show_bug.cgi?id=121943
2047
2048         Reviewed by Eric Carlson.
2049
2050         Add mediastream module and platform to cmake include directories.
2051
2052         * CMakeLists.txt:
2053
2054 2013-11-26  Dan Bernstein  <mitz@apple.com>
2055
2056         Some WebKit2 headers are not self-contained
2057         https://bugs.webkit.org/show_bug.cgi?id=124884
2058
2059         Reviewed by Anders Carlsson.
2060
2061         * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added import.
2062         * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Ditto.
2063         * Shared/API/c/WKContextMenuItemTypes.h: Added include.
2064         * Shared/API/c/WKFindOptions.h: Ditto.
2065         * Shared/API/c/WKMutableArray.h: Ditto.
2066         * Shared/API/c/WKPageLoadTypes.h: Ditto.
2067         * Shared/API/c/WKPageVisibilityTypes.h: Ditto.
2068
2069         * Shared/API/c/WKPluginInformation.cpp:
2070         (WKPluginInformationBundleIdentifierKey): Made this API function always be defined. When
2071         the Netscape plug-in API is not enabled, it returns 0.
2072         (WKPluginInformationBundleVersionKey): Ditto.
2073         (WKPluginInformationBundleShortVersionKey): Ditto.
2074         (WKPluginInformationPathKey): Ditto.
2075         (WKPluginInformationDisplayNameKey): Ditto.
2076         (WKPluginInformationDefaultLoadPolicyKey): Ditto.
2077         (WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey): Ditto.
2078         (WKPluginInformationHasSandboxProfileKey): Ditto.
2079         (WKPluginInformationFrameURLKey): Ditto.
2080         (WKPluginInformationMIMETypeKey): Ditto.
2081         (WKPluginInformationPageURLKey): Ditto.
2082         (WKPluginInformationPluginspageAttributeURLKey): Ditto.
2083         (WKPluginInformationPluginURLKey): Ditto.
2084         (WKPlugInInformationReplacementObscuredKey): Ditto.
2085
2086         * Shared/API/c/WKString.h: Added include.
2087         * UIProcess/API/C/WKCredentialTypes.h: Ditto.
2088         * UIProcess/API/C/WKPageContextMenuClient.h: Ditto.
2089         * UIProcess/API/C/WKPageLoaderClient.h: Added includes.
2090         * UIProcess/API/C/WKPagePolicyClient.h: Ditto.
2091         * UIProcess/API/C/WKPageUIClient.h: Ditto.
2092
2093         * UIProcess/API/C/WKPluginSiteDataManager.cpp:
2094         (WKPluginSiteDataManagerGetTypeID): Fixed the !ENABLE(NETSCAPE_PLUGIN_API) build.
2095
2096         * UIProcess/API/C/mac/WKContextPrivateMac.h: Removed use of ENABLE() from this private
2097         header.
2098         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2099         (WKContextCopyPlugInInfoForBundleIdentifier): Made this API function always be defined.
2100         When the Netscape plug-in API is not enabled, it returns 0.
2101         (WKContextGetInfoForInstalledPlugIns): Made this API function always be defined.
2102
2103         * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Added imports.
2104         * UIProcess/API/C/mac/WKPagePrivateMac.h: Added include.
2105         * UIProcess/API/Cocoa/WKBackForwardListItem.h: Added import.
2106         * UIProcess/API/Cocoa/WKNavigationData.h: Ditto.
2107         * UIProcess/API/cpp/WKRetainPtr.h: Replaced use of WARN_UNUSED_RETURN in this private header
2108         with an equivalent macro defined in the header.
2109
2110         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Added include.
2111         * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
2112         (WKBundleInspectorGetTypeID): Made this API function always be defined. When the Inspector
2113         is not enabled, it returns the Null type.
2114         (WKBundleInspectorShow): Made this API function always be defined.
2115         (WKBundleInspectorClose): Ditto.
2116         (WKBundleInspectorEvaluateScriptForTest): Ditto.
2117         (WKBundleInspectorSetPageProfilingEnabled): Ditto.
2118         * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Removed use of ENABLE() from this
2119         private header.
2120
2121         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added includes.
2122         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added include.
2123
2124         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
2125         (-[WKNPAPIPlugInContainer openPlugInPreferencePane]): Fixed the !ENABLE(NETSCAPE_PLUGIN_API)
2126         build.
2127
2128         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2129         (WebKit::WebFrameLoaderClient::createJavaAppletWidget): Ditto.
2130
2131         * WebProcess/WebPage/mac/WebInspectorMac.mm: Fixed the !ENABLE(INSPECTOR) build.
2132
2133 2013-11-25  Dan Bernstein  <mitz@apple.com>
2134
2135         [Cocoa] Use class extensions for IPI
2136         https://bugs.webkit.org/show_bug.cgi?id=124870
2137
2138         Reviewed by Sam Weinig.
2139
2140         * UIProcess/API/mac/WKBrowsingContextController.mm: Reordered methods so that the Private
2141         cateogry isn’t stuck between the API methods and the internal methods.
2142         (-[WKBrowsingContextController setPaginationMode:]):
2143         (-[WKBrowsingContextController paginationMode]):
2144         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]):
2145         (-[WKBrowsingContextController paginationBehavesLikeColumns]):
2146         (-[WKBrowsingContextController setPageLength:]):
2147         (-[WKBrowsingContextController pageLength]):
2148         (-[WKBrowsingContextController setGapBetweenPages:]):
2149         (-[WKBrowsingContextController gapBetweenPages]):
2150         (-[WKBrowsingContextController pageCount]):
2151         (-[WKBrowsingContextController handle]):
2152         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Changed Internal category into
2153         a class extension.
2154
2155         * UIProcess/API/mac/WKConnection.mm:
2156         * UIProcess/API/mac/WKConnectionInternal.h: Changed Internal category into a class
2157         extension.
2158
2159         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2160         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Ditto.
2161
2162 2013-11-25  Dan Bernstein  <mitz@apple.com>
2163
2164         Fixed the iOS build.
2165
2166         * UIProcess/API/mac/WKBrowsingContextController.mm:
2167         (-[WKBrowsingContextController loadDelegateInternal]):
2168         (-[WKBrowsingContextController setLoadDelegateInternal:]):
2169
2170 2013-11-25  Dan Bernstein  <mitz@apple.com>
2171
2172         [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
2173         https://bugs.webkit.org/show_bug.cgi?id=123065
2174
2175         Reviewed by Sam Weinig.
2176
2177         * UIProcess/API/mac/WKBrowsingContextController.h: Removed _data ivar and
2178         WKBrowsingContextControllerData class declaration.
2179         * UIProcess/API/mac/WKBrowsingContextController.mm:
2180         (-[WKBrowsingContextController dealloc]): Removed
2181         WKBrowsingContextControllerData class and moved ivars directly into
2182         WKBrowsingContextController, declaring them in the @implementation. Removed ivar and
2183         accessors for the delegate properties, letting the compiler synthesize them.
2184         (-[WKBrowsingContextController _pageRef]): Removed indirection via _data.
2185         (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
2186         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
2187         (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
2188         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): Ditto.
2189         (-[WKBrowsingContextController stopLoading]): Ditto.
2190         (-[WKBrowsingContextController reload]): Ditto.
2191         (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
2192         (-[WKBrowsingContextController goForward]): Ditto.
2193         (-[WKBrowsingContextController canGoForward]): Ditto.
2194         (-[WKBrowsingContextController goBack]): Ditto.
2195         (-[WKBrowsingContextController canGoBack]): Ditto.
2196         (-[WKBrowsingContextController goToBackForwardListItem:]): Ditto.
2197         (-[WKBrowsingContextController backForwardList]): Ditto.
2198         (-[WKBrowsingContextController activeURL]): Ditto.
2199         (-[WKBrowsingContextController provisionalURL]): Ditto.
2200         (-[WKBrowsingContextController committedURL]): Ditto.
2201         (-[WKBrowsingContextController unreachableURL]): Removed idirection via _data.
2202         (-[WKBrowsingContextController estimatedProgress]): Removed indirection via -_pageRef.
2203         (-[WKBrowsingContextController title]): Ditto.
2204         (-[WKBrowsingContextController textZoom]): Ditto.
2205         (-[WKBrowsingContextController setTextZoom:]): Ditto.
2206         (-[WKBrowsingContextController pageZoom]): Ditto.
2207         (-[WKBrowsingContextController setPageZoom:]): Ditto.
2208         (-[WKBrowsingContextController setPaginationMode:]): Ditto.
2209         (-[WKBrowsingContextController paginationMode]): Ditto.
2210         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
2211         (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
2212         (-[WKBrowsingContextController setPageLength:]): Ditto.
2213         (-[WKBrowsingContextController pageLength]): Ditto.
2214         (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
2215         (-[WKBrowsingContextController gapBetweenPages]): Ditto.
2216         (-[WKBrowsingContextController pageCount]): Ditto.
2217         (-[WKBrowsingContextController handle]): Ditto.
2218         (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
2219
2220         * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed _data ivar and
2221         WKBrowsingContextGroupData class declaration.
2222         * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed WKBrowsingContextGroupData class and
2223         moved _pageGroupRef ivar directly into WKBrowsingContextGroup, declaring it in the
2224         @implementation.
2225         (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
2226         (-[WKBrowsingContextGroup allowsJavaScript]): Removed indirection via -_pageGroupRef.
2227         (-[WKBrowsingContextGroup setAllowsJavaScript:]): Ditto.
2228         (-[WKBrowsingContextGroup allowsJavaScriptMarkup]): Ditto.
2229         (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]): Ditto.
2230         (-[WKBrowsingContextGroup allowsPlugIns]): Ditto.
2231         (-[WKBrowsingContextGroup setAllowsPlugIns:]): Ditto.
2232         (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): Ditto.
2233         (-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto.
2234         (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): Ditto.
2235         (-[WKBrowsingContextGroup removeAllUserScripts]): Ditto.
2236         (-[WKBrowsingContextGroup _pageGroupRef]): Removed indirection via _data.
2237
2238         * UIProcess/API/mac/WKConnection.h: Removed _data ivar and WKConnectionData class declaration.
2239         * UIProcess/API/mac/WKConnection.mm: Removed WKConnectionData class and moved _connectionRef
2240         ivar directly into WKConnection, declaring it in the @implementation. Removed ivar and
2241         accessors for the delegate property, letting the compiler synthesize them.
2242         (-[WKConnection dealloc]): Removed indirection via _data.
2243         (-[WKConnection sendMessageWithName:body:]): Ditto.
2244         (-[WKConnection remoteObjectRegistry]): Ditto.
2245         (didReceiveMessage): Ditto.
2246         (-[WKConnection _initWithConnectionRef:]): Ditto.
2247
2248         * UIProcess/API/mac/WKProcessGroup.h: Replaced forward declaration of WKConnection with an
2249         import. Removed _data ivar and WKProcessGroupData class declaration.
2250         * UIProcess/API/mac/WKProcessGroup.mm: Removed WKProcessGroupData class and moved
2251         _contextRef ivar directly into WKProcessGroup, declaring it in the @implementation. Removed
2252         ivar and accessors for the delegate property, letting the compiler synthesize them.
2253         (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
2254         (-[WKProcessGroup dealloc]): Ditto.
2255         (-[WKProcessGroup _contextRef]): Ditto.
2256         (-[WKProcessGroup _geolocationProvider]): Ditto.
2257
2258 2013-11-25  Commit Queue  <commit-queue@webkit.org>
2259
2260         Unreviewed, rolling out r159740.
2261         http://trac.webkit.org/changeset/159740
2262         https://bugs.webkit.org/show_bug.cgi?id=124859
2263
2264         Crashing xmlhttprequest/access-control-repeated-failed-
2265         preflight-crash.html on Mavericks and Mountain Lion -
2266         ASSERT(m_pageGroup) WebPage.cpp:352 (Requested by dino_ on
2267         #webkit).
2268
2269         * Scripts/webkit2/messages.py:
2270         (struct_or_class):
2271         * Shared/UserMessageCoders.h:
2272         (WebKit::UserMessageEncoder::baseEncode):
2273         * Shared/WebPageCreationParameters.cpp:
2274         (WebKit::WebPageCreationParameters::encode):
2275         (WebKit::WebPageCreationParameters::decode):
2276         * Shared/WebPageCreationParameters.h:
2277         * Shared/mac/ObjCObjectGraphCoders.h:
2278         * Shared/mac/ObjCObjectGraphCoders.mm:
2279         (WebKit::ObjCObjectGraphEncoder::baseEncode):
2280         (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
2281         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
2282         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
2283         (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
2284         (WebKit::WebContextObjCObjectGraphEncoder::encode):
2285         * UIProcess/WebConnectionToWebProcess.cpp:
2286         (WebKit::WebConnectionToWebProcess::encodeMessageBody):
2287         * UIProcess/WebContext.cpp:
2288         (WebKit::WebContext::createNewWebProcess):
2289         (WebKit::WebContext::createWebPage):
2290         (WebKit::WebContext::postMessageToInjectedBundle):
2291         (WebKit::WebContext::didReceiveSyncMessage):
2292         * UIProcess/WebContextUserMessageCoders.h:
2293         (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
2294         (WebKit::WebContextUserMessageEncoder::encode):
2295         (WebKit::WebContextUserMessageDecoder::decode):
2296         * UIProcess/WebPageGroup.cpp:
2297         * UIProcess/WebPageGroup.h:
2298         (WebKit::WebPageGroup::sendToAllProcessesInGroup):
2299         * UIProcess/WebPageProxy.cpp:
2300         (WebKit::WebPageProxy::create):
2301         (WebKit::WebPageProxy::WebPageProxy):
2302         (WebKit::WebPageProxy::initializeWebPage):
2303         (WebKit::WebPageProxy::loadURL):
2304         (WebKit::WebPageProxy::loadURLRequest):
2305         (WebKit::WebPageProxy::loadFile):
2306         (WebKit::WebPageProxy::loadData):
2307         (WebKit::WebPageProxy::loadHTMLString):
2308         (WebKit::WebPageProxy::loadAlternateHTMLString):
2309         (WebKit::WebPageProxy::loadPlainTextString):
2310         (WebKit::WebPageProxy::loadWebArchiveData):
2311         (WebKit::WebPageProxy::postMessageToInjectedBundle):
2312         (WebKit::WebPageProxy::initializeCreationParameters):
2313         * UIProcess/WebPageProxy.h:
2314         * UIProcess/WebProcessProxy.cpp:
2315         (WebKit::WebProcessProxy::disconnect):
2316         (WebKit::WebProcessProxy::createWebPage):
2317         * UIProcess/WebProcessProxy.h:
2318         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
2319         (WebKit::InjectedBundleUserMessageEncoder::encode):
2320         (WebKit::InjectedBundleUserMessageDecoder::decode):
2321         * WebProcess/WebPage/WebPage.cpp:
2322         (WebKit::WebPage::WebPage):
2323         * WebProcess/WebProcess.cpp:
2324         (WebKit::WebProcess::webPageGroup):
2325         * WebProcess/WebProcess.h:
2326         * WebProcess/WebProcess.messages.in:
2327
2328 2013-11-25  Dan Bernstein  <mitz@apple.com>
2329
2330         [Cocoa] Put most of the Cocoa API behind WK_API_ENABLED guards
2331         https://bugs.webkit.org/show_bug.cgi?id=124850
2332
2333         Reviewed by Brady Eidson.
2334
2335         Guarded all Cocoa API headers and implementations with WK_API_ENABLED. Left the WKView class
2336         unguarded, but limited its API.
2337
2338         * Shared/API/Cocoa/WKFoundation.h: Replaced OBJ_VISIBLE with an explicit attribute.
2339         * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Moved #if WK_API_ENABLED before the rest of the
2340         imports.
2341         * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Ditto.
2342         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Ditto.
2343         * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Ditto.
2344         * UIProcess/API/mac/WKBrowsingContextController.h: Guarded all declarations with
2345         WK_API_ENABLED, changed to use WK_API_CLASS instead of WK_EXPORT.
2346         * UIProcess/API/mac/WKBrowsingContextController.mm: Guarded everything with WK_API_ENABLED.
2347         (-[WKBrowsingContextController dealloc]):
2348         (-[WKBrowsingContextController setPolicyDelegate:]):
2349         (-[WKBrowsingContextController backForwardList]):
2350         (didChangeBackForwardList):
2351         (setUpPageLoaderClient):
2352         (setUpPagePolicyClient):
2353         (-[WKBrowsingContextController _initWithPageRef:]):
2354         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Ditto.
2355         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.
2356         * UIProcess/API/mac/WKBrowsingContextGroup.h: Guarded all declarations with WK_API_ENABLED,
2357         chanegd to use WK_API_CLASS instead of WK_EXPORT.
2358         * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed redundant import, guarded everything
2359         with WK_API_ENABLED.
2360         * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Guarded with WK_API_ENABLED.
2361         * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Added necessary import.
2362         * UIProcess/API/mac/WKConnection.h: Guarded all declarations with WK_API_ENABLED, chanegd to
2363         use WK_API_CLASS instead of WK_EXPORT.
2364         * UIProcess/API/mac/WKConnection.mm: Guarded everything with WK_API_ENABLED.
2365         (-[WKConnection remoteObjectRegistry]):
2366         (didReceiveMessage):
2367         * UIProcess/API/mac/WKConnectionInternal.h: Guarded the delcarations with WK_API_ENABLED.
2368         * UIProcess/API/mac/WKProcessGroup.h: Ditto. Also changed to use WK_API_CLASS instead of
2369         WK_EXPORT.
2370         * UIProcess/API/mac/WKProcessGroup.mm: Guarded everything with WK_API_ENABLED.
2371         (-[WKProcessGroup initWithInjectedBundleURL:]):
2372         * UIProcess/API/mac/WKProcessGroupPrivate.h: Guarded the declarations with WK_API_ENABLED.
2373         * UIProcess/API/mac/WKTypeRefWrapper.h: Moved #if WK_API_ENABLED before the rest of the
2374         imports, changed to use WK_API_CLASS instead of WK_EXPORT.
2375         * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed empty line after #import "config.h".
2376         * UIProcess/API/mac/WKView.h: Added #if WK_API_ENABLED around API that uses other Cocoa API
2377         types.
2378         * UIProcess/API/mac/WKView.mm: Added #if WK_API_ENABLED around implementations of methods
2379         that are only declared when the API is enabled.
2380         * UIProcess/API/mac/WKViewInternal.h: Reordered imports.
2381         * UIProcess/mac/WKFullScreenWindowController.mm: Added comment to #endif.
2382         * UIProcess/mac/WebContextMac.mm:
2383         (WebKit::WebContext::platformInitializeWebProcess): Guarded use of
2384         WKBrowsingContextController with WK_API_ENABLED.
2385         (WebKit::WebContext::platformInitializeNetworkProcess): Ditto.
2386         * UIProcess/mac/WebContextMenuProxyMac.mm: Removed newline between imports.
2387         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Moved #if WK_API_ENABLED before the
2388         rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
2389         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Removed newline after #import
2390         "config.h".
2391         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Moved #if WK_API_ENABLED before the
2392         rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
2393         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Removed newline after #import
2394         "config.h".
2395         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Ditto.
2396         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Moved #if WK_API_ENABLED before the
2397         rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
2398         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Removed redundant import.
2399         * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:  Moved #if WK_API_ENABLED before the
2400         rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
2401         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: Removed newline and redundant import.
2402         * WebProcess/InjectedBundle/API/mac/WKDOMText.h: Moved #if WK_API_ENABLED before the
2403         rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
2404         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: Ditto.
2405         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: Removed newline after
2406         #import "config.h".
2407         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Moved #if WK_API_ENABLED before
2408         the rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
2409         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Removed newline and redundant
2410         imports.
2411         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:  Moved #if
2412         WK_API_ENABLED before the rest of the imports, and changed to use WK_API_CLASS instead of
2413         WK_EXPORT.
2414         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: Removed
2415         newline after #import "config.h".
2416
2417 2013-11-22  Sam Weinig  <sam@webkit.org>
2418
2419         WebPageGroup's should keep track of what processes they are being used by
2420         https://bugs.webkit.org/show_bug.cgi?id=124556
2421
2422         Reviewed by Dan Bernstein.
2423
2424         * Scripts/webkit2/messages.py:
2425         (struct_or_class):
2426         Mark WebPageGroupData as a struct.
2427
2428         * Shared/UserMessageCoders.h:
2429         * Shared/mac/ObjCObjectGraphCoders.h:
2430         * Shared/mac/ObjCObjectGraphCoders.mm:
2431         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
2432         * UIProcess/WebConnectionToWebProcess.cpp:
2433         * UIProcess/WebContext.cpp:
2434         * UIProcess/WebContextUserMessageCoders.h:
2435         * UIProcess/WebPageProxy.cpp:
2436         * UIProcess/WebPageProxy.h:
2437         Pass the WebProcess/WebProcessProxy to both encode and decode.
2438
2439         * Shared/WebPageCreationParameters.h:
2440         Pass the page group by ID when creating a page, as it will have had its own
2441         creation message sent already.
2442
2443         * UIProcess/WebPageGroup.cpp:
2444         * UIProcess/WebPageGroup.h:
2445         Keep track of processes.
2446
2447         * UIProcess/WebProcessProxy.cpp:
2448         * UIProcess/WebProcessProxy.h:
2449         Keep track of the page groups used by the process.
2450
2451         * WebProcess/WebPage/WebPage.cpp:
2452         Get the already create page group on creation.
2453
2454         * WebProcess/WebProcess.cpp:
2455         * WebProcess/WebProcess.h:
2456         * WebProcess/WebProcess.messages.in:
2457         Explicitly create page groups in the WebProcess.
2458
2459 2013-11-24  Brady Eidson  <beidson@apple.com>
2460
2461         DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
2462         https://bugs.webkit.org/show_bug.cgi?id=124819
2463
2464         Reviewed by Dan Bernstein.
2465
2466         UniqueIDBDatabase instances are per-DatabaseProcess, so it manages the set of them.
2467         * DatabaseProcess/DatabaseProcess.cpp:
2468         (WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase):
2469         (WebKit::DatabaseProcess::removeUniqueIDBDatabase):
2470         * DatabaseProcess/DatabaseProcess.h:
2471
2472         * DatabaseProcess/DatabaseToWebProcessConnection.h:
2473
2474         Start forwarding things along to the appropriate UniqueIDBDatabase.
2475         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2476         (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
2477         (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
2478         (WebKit::DatabaseProcessIDBConnection::establishConnection):
2479         (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
2480         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2481
2482         A class that represents a single concrete IDB database that multiple WebProcesses can connect to.
2483         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2484         (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
2485         (WebKit::UniqueIDBDatabase::~UniqueIDBDatabase):
2486         (WebKit::UniqueIDBDatabase::registerConnection):
2487         (WebKit::UniqueIDBDatabase::unregisterConnection):
2488         (WebKit::UniqueIDBDatabase::getIDBDatabaseMetadata):
2489         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2490         (WebKit::UniqueIDBDatabase::create):
2491         (WebKit::UniqueIDBDatabase::identifier):
2492
2493         A class to help uniquely identify an IDBDatabase that can be expanded as needed.
2494         Importantly, it knows how to be used as a key in a HashMap.
2495         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp: Added.
2496         (WebKit::UniqueIDBDatabaseIdentifier::UniqueIDBDatabaseIdentifier):
2497         (WebKit::UniqueIDBDatabaseIdentifier::isHashTableDeletedValue):
2498         (WebKit::UniqueIDBDatabaseIdentifier::hash):
2499         (WebKit::UniqueIDBDatabaseIdentifier::isNull):
2500         (WebKit::operator==):
2501         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h: Added.
2502         (WebKit::UniqueIDBDatabaseIdentifier::databaseName):
2503         (WebKit::UniqueIDBDatabaseIdentifier::openingOrigin):
2504         (WebKit::UniqueIDBDatabaseIdentifier::mainFrameOrigin):
2505         (WebKit::UniqueIDBDatabaseIdentifierHash::hash):
2506         (WebKit::UniqueIDBDatabaseIdentifierHash::equal):
2507         (WebKit::UniqueIDBDatabaseIdentifierHashTraits::isEmptyValue):
2508
2509         * Shared/SecurityOriginData.cpp:
2510         (WebKit::operator==):
2511         * Shared/SecurityOriginData.h:
2512
2513         * UIProcess/WebContext.cpp:
2514
2515         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
2516         (WebKit::WebIDBFactoryBackend::open):
2517         (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend):
2518
2519         * WebKit2.xcodeproj/project.pbxproj:
2520
2521 2013-11-24  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>, Arunprasad Rajkumar  <arurajku@cisco.com>
2522
2523         [WK2][GTK] Adding SpatialNavigation setting to webkit2
2524         https://bugs.webkit.org/show_bug.cgi?id=114298
2525
2526         Reviewed by Anders Carlsson.
2527
2528         Adding SpatialNavigation support to WebPreferencesStore allows us
2529         to toggle that feature on WebKitSettings.
2530
2531         * Shared/WebPreferencesStore.h:
2532         * UIProcess/API/C/WKPreferences.cpp:
2533         (WKPreferencesSetSpatialNavigationEnabled):
2534         (WKPreferencesGetSpatialNavigationEnabled):
2535         * UIProcess/API/C/WKPreferences.h:
2536         * UIProcess/API/gtk/WebKitSettings.cpp:
2537         (webKitSettingsSetProperty):
2538         (webKitSettingsGetProperty):
2539         (webkit_settings_class_init):
2540         (webkit_settings_set_enable_spatial_navigation):
2541         (webkit_settings_get_enable_spatial_navigation):
2542         * UIProcess/API/gtk/WebKitSettings.h:
2543         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2544         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2545         (testWebKitSettings):
2546         * WebProcess/WebPage/WebPage.cpp:
2547         (WebKit::WebPage::updatePreferences):
2548
2549 2013-11-22  Brady Eidson  <beidson@apple.com>
2550
2551         Add DatabaseProcessCreationParameters, starting with the database path.
2552         https://bugs.webkit.org/show_bug.cgi?id=124804
2553
2554         Reviewed by Dean Jackson and Benjamin Poulain.
2555
2556         * DatabaseProcess/DatabaseProcess.cpp:
2557         (WebKit::DatabaseProcess::initializeDatabaseProcess):
2558         * DatabaseProcess/DatabaseProcess.h:
2559         (WebKit::DatabaseProcess::indexedDatabaseDirectory):
2560         * DatabaseProcess/DatabaseProcess.messages.in:
2561
2562         * Shared/Databases/DatabaseProcessCreationParameters.cpp: Added.
2563         (WebKit::DatabaseProcessCreationParameters::DatabaseProcessCreationParameters):
2564         (WebKit::DatabaseProcessCreationParameters::encode):
2565         (WebKit::DatabaseProcessCreationParameters::decode):
2566         * Shared/Databases/DatabaseProcessCreationParameters.h: Added.
2567
2568         * UIProcess/WebContext.cpp:
2569         (WebKit::WebContext::ensureDatabaseProcess):
2570
2571         * WebKit2.xcodeproj/project.pbxproj:
2572         * Scripts/webkit2/messages.py:
2573         (struct_or_class):
2574
2575 2013-11-22  Ryuan Choi  <ryuan.choi@samsung.com>
2576
2577         [EFL] Build break after r159724
2578         https://bugs.webkit.org/show_bug.cgi?id=124806
2579
2580         Reviewed by Tim Horton.
2581
2582         * Platform/CoreIPC/Connection.h: Include atomic header.
2583         * UIProcess/CoordinatedGraphics/WebView.cpp: Rename didChangeContentsSize to didChangeContentSize.
2584         (WebKit::WebView::didChangeContentSize):
2585         * UIProcess/CoordinatedGraphics/WebView.h: Ditto.
2586         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Adjust TARGET_OS_IPHONE macro.
2587
2588 2013-11-22  Tim Horton  <timothy_horton@apple.com>
2589
2590         Attempt build fixes for 32-bit after 159724.
2591
2592         There's probably a better fix, but this will work for now.
2593
2594         * UIProcess/API/mac/WKView.h:
2595
2596 2013-11-22  Enrica Casucci  <enrica@apple.com>
2597
2598         Upstream iOS WebKit2 to OpenSource (part 3).
2599         https://bugs.webkit.org/show_bug.cgi?id=124803
2600
2601         Reviewed by Anders Carlsson and Tim Horton.
2602
2603
2604 2013-11-22  Jer Noble  <jer.noble@apple.com>
2605
2606         [Mac] Can't drag full-screen video to another monitor
2607         https://bugs.webkit.org/show_bug.cgi?id=124798
2608
2609         Reviewed by Geoffrey Garen.
2610
2611         Make full screen windows resizable by default. This allows the window to be resized when
2612         moved between monitors with different resolutions.
2613
2614         * UIProcess/API/mac/WKView.mm:
2615         (-[WKView createFullScreenWindow]):
2616
2617 2013-11-22  Benjamin Poulain  <bpoulain@apple.com>
2618
2619         [WK2] Another build fix for NetworkProcess on iOS
2620         https://bugs.webkit.org/show_bug.cgi?id=124797
2621
2622         Reviewed by Alexey Proskuryakov.
2623
2624         * NetworkProcess/NetworkResourceLoader.h:
2625
2626 2013-11-22  Benjamin Poulain  <bpoulain@apple.com>
2627
2628         [WK2] Fix the build of the NetworkProcess on iOS
2629         https://bugs.webkit.org/show_bug.cgi?id=124794
2630
2631         Reviewed by Alexey Proskuryakov.
2632
2633         * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
2634         (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
2635         * NetworkProcess/NetworkResourceLoader.h:
2636         * NetworkProcess/SynchronousNetworkLoaderClient.cpp:
2637         (WebKit::SynchronousNetworkLoaderClient::willSendRequest):
2638
2639 2013-11-22  Anders Carlsson  <andersca@apple.com>
2640
2641         Move the remaining page loader clients out into separate files
2642         https://bugs.webkit.org/show_bug.cgi?id=124792
2643
2644         Reviewed by Dan Bernstein.
2645
2646         * UIProcess/API/C/WKPage.h:
2647         * UIProcess/API/C/WKPageContextMenuClient.h: Added.
2648         * UIProcess/API/C/WKPageFindClient.h: Added.
2649         * UIProcess/API/C/WKPageFindMatchesClient.h: Added.
2650         * UIProcess/API/C/WKPageFormClient.h: Added.
2651         * UIProcess/API/C/WKPageLoaderClient.h:
2652         * UIProcess/API/C/WKPagePolicyClient.h: Added.
2653         * UIProcess/API/C/WKPageUIClient.h: Added.
2654         * WebKit2.xcodeproj/project.pbxproj:
2655
2656 2013-11-22  Anders Carlsson  <andersca@apple.com>
2657
2658         Move WKPageLoaderClient out into a separate header
2659         https://bugs.webkit.org/show_bug.cgi?id=124790
2660
2661         Reviewed by Dan Bernstein.
2662
2663         * UIProcess/API/C/WKPage.h:
2664         * UIProcess/API/C/WKPageLoaderClient.h: Added.
2665         * WebKit2.xcodeproj/project.pbxproj:
2666
2667 2013-11-22  Anders Carlsson  <andersca@apple.com>
2668
2669         Fix 32-bit build.
2670
2671         * UIProcess/API/mac/WKBrowsingContextController.mm:
2672         (-[WKBrowsingContextController dealloc]):
2673         (-[WKBrowsingContextController _initWithPageRef:]):
2674
2675 2013-11-22  Dan Bernstein  <mitz@apple.com>
2676
2677         Debug builds unconditionally dump remote layer tree transactions to stderr.
2678
2679         Reviewed by Sam Weinig.
2680
2681         * Platform/Logging.h: Declared RemoteLayerTree logging channel.
2682         * Shared/mac/RemoteLayerTreeTransaction.h: Declared description().
2683         * Shared/mac/RemoteLayerTreeTransaction.mm:
2684         (WebKit::RemoteLayerTreeTransaction::dump): Changed to use description().
2685         (WebKit::RemoteLayerTreeTransaction::description): Returns a CString with the description.
2686         * UIProcess/mac/RemoteLayerTreeHost.mm:
2687         (WebKit::RemoteLayerTreeHost::commit): Changed to use logging instead of calling dump().
2688
2689 2013-11-21  Anders Carlsson  <andersca@apple.com>
2690
2691         Send out the right KVO callbacks when the page title changes
2692         https://bugs.webkit.org/show_bug.cgi?id=124753
2693
2694         Reviewed by Simon Fraser.
2695
2696         * UIProcess/API/mac/WKBrowsingContextController.mm:
2697         (PageLoadStateObserver::PageLoadStateObserver):
2698         New class that sends the right KVO notifications when the load state changes.
2699
2700         (-[WKBrowsingContextController dealloc]):
2701         Remove the observer.
2702
2703         (-[WKBrowsingContextController _initWithPageRef:]):
2704         Allocate the observer and add it.
2705
2706         * UIProcess/PageLoadState.cpp:
2707         (WebKit::PageLoadState::~PageLoadState):
2708         Assert that we don't have any observers left.
2709
2710         (WebKit::PageLoadState::addObserver):
2711         Add the observer to the list.
2712
2713         (WebKit::PageLoadState::removeObserver):
2714         Remove the observer from the list.
2715
2716         (WebKit::PageLoadState::reset):
2717         Call title change callbacks.
2718
2719         (WebKit::PageLoadState::setTitle):
2720         Ditto.
2721
2722         (WebKit::PageLoadState::callObserverCallback):
2723         Helper function to dispatch callbacks to observers.
2724
2725         * UIProcess/PageLoadState.h:
2726         Add new members.
2727
2728 2013-11-21  Sergio Correia  <sergio.correia@openbossa.org>
2729
2730         [EFL][WK2] Fix build after r159656
2731         https://bugs.webkit.org/show_bug.cgi?id=124755
2732
2733         Reviewed by Gyuyoung Kim.
2734
2735         Page title was moved to page load state.
2736
2737         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
2738         (WebKit::WebInspectorServer::buildPageList):
2739
2740 2013-11-21  Mark Rowe  <mrowe@apple.com>
2741
2742         <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
2743
2744         All modern versions of Xcode set it appropriately for our needs.
2745
2746         Reviewed by Alexey Proskuryakov.
2747
2748         * Configurations/Base.xcconfig:
2749
2750 2013-11-21  Gwang Yoon Hwang  <ryumiel@company100.net>
2751
2752         [GTK] Unreviewed buildfix after r159614 and r159656.
2753
2754         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2755         (WebKit::WebInspectorServer::buildPageList): Use the page load state to get page title.
2756
2757 2013-11-21  Mark Rowe  <mrowe@apple.com>
2758
2759         <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
2760
2761         Reviewed by Alexey Proskuryakov.
2762
2763         * Configurations/Base.xcconfig:
2764
2765 2013-11-21  Mark Rowe  <mrowe@apple.com>
2766
2767         <https://webkit.org/b/124700> Fix some deprecation warnings.
2768
2769         Reviewed by Anders Carlsson.
2770
2771         * UIProcess/API/mac/WKView.mm:
2772         (-[WKView namesOfPromisedFilesDroppedAtDestination:]): Move off a deprecated NSFileWrapper method.
2773
2774 2013-11-21  Anders Carlsson  <andersca@apple.com>
2775
2776         Didn't mean to commit this.
2777
2778         * UIProcess/PageLoadState.h:
2779
2780 2013-11-21  Anders Carlsson  <andersca@apple.com>
2781
2782         Move page title handling to the page load state
2783         https://bugs.webkit.org/show_bug.cgi?id=124748
2784
2785         Reviewed by Dan Bernstein.
2786
2787         * UIProcess/API/C/WKPage.cpp:
2788         (WKPageCopyTitle):
2789         * UIProcess/PageLoadState.cpp:
2790         (WebKit::PageLoadState::reset):
2791         (WebKit::PageLoadState::didCommitLoad):
2792         (WebKit::PageLoadState::title):
2793         (WebKit::PageLoadState::setTitle):
2794         * UIProcess/PageLoadState.h:
2795         * UIProcess/WebPageProxy.cpp:
2796         (WebKit::WebPageProxy::didReceiveTitleForFrame):
2797         * UIProcess/WebPageProxy.h:
2798
2799 2013-11-21  Daniel Bates  <dabates@apple.com>
2800
2801         Remove unused functions from WebCore and WebKit2
2802         https://bugs.webkit.org/show_bug.cgi?id=124739
2803
2804         Reviewed by Alexey Proskuryakov.
2805
2806         Remove unused functions autoreleased({WKURLRequestRef, WKURLResponseRef}).
2807
2808         * UIProcess/API/mac/WKBrowsingContextController.mm:
2809
2810 2013-11-21  Csaba Osztrogonác  <ossy@webkit.org>
2811
2812         Rename PlatformCertificateInfo to CertificateInfo
2813         https://bugs.webkit.org/show_bug.cgi?id=124150
2814
2815         Reviewed by Darin Adler.
2816
2817         * GNUmakefile.list.am:
2818         * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
2819         (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
2820         * NetworkProcess/NetworkProcess.h:
2821         * NetworkProcess/NetworkProcess.messages.in:
2822         * NetworkProcess/NetworkResourceLoader.cpp:
2823         * NetworkProcess/mac/NetworkProcessMac.mm:
2824         (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
2825         * NetworkProcess/soup/NetworkProcessSoup.cpp:
2826         (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
2827         * PlatformEfl.cmake:
2828         * PlatformGTK.cmake:
2829         * Shared/API/c/mac/WKCertificateInfoMac.mm:
2830         (WKCertificateInfoCreateWithCertficateChain):
2831         (WKCertificateInfoGetCertificateChain):
2832         * Shared/Authentication/AuthenticationManager.cpp:
2833         (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
2834         (WebKit::AuthenticationManager::useCredentialForChallenge):
2835         * Shared/Authentication/AuthenticationManager.h:
2836         * Shared/Authentication/AuthenticationManager.messages.in:
2837         * Shared/Authentication/mac/AuthenticationManager.mac.mm:
2838         (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
2839         * Shared/UserMessageCoders.h:
2840         (WebKit::UserMessageEncoder::baseEncode):
2841         (WebKit::UserMessageDecoder::baseDecode):
2842         * Shared/WebCertificateInfo.h:
2843         (WebKit::WebCertificateInfo::create):
2844         (WebKit::WebCertificateInfo::certificateInfo):
2845         (WebKit::WebCertificateInfo::WebCertificateInfo):
2846         * Shared/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.h.
2847         (WebKit::CertificateInfo::certificateChain):
2848         * Shared/mac/CertificateInfo.mm: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
2849         (WebKit::CertificateInfo::CertificateInfo):
2850         (WebKit::CertificateInfo::encode):
2851         (WebKit::CertificateInfo::decode):
2852         (WebKit::CertificateInfo::dump):
2853         * Shared/mac/WebCoreArgumentCodersMac.mm:
2854         (CoreIPC::::encodePlatformData):
2855         (CoreIPC::::decodePlatformData):
2856         * Shared/soup/CertificateInfo.cpp: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp.
2857         (WebKit::CertificateInfo::CertificateInfo):
2858         (WebKit::CertificateInfo::~CertificateInfo):
2859         (WebKit::CertificateInfo::encode):
2860         (WebKit::CertificateInfo::decode):
2861         * Shared/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.h.
2862         (WebKit::CertificateInfo::certificate):
2863         (WebKit::CertificateInfo::tlsErrors):
2864         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
2865         (CoreIPC::::encodePlatformData):
2866         (CoreIPC::::decodePlatformData):
2867         * UIProcess/API/gtk/WebKitCertificateInfo.cpp:
2868         (webkitCertificateInfoGetCertificateInfo):
2869         * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
2870         * UIProcess/API/gtk/WebKitWebView.cpp:
2871         (webkit_web_view_get_tls_info):
2872         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
2873         (WebKit::AuthenticationChallengeProxy::useCredential):
2874         * UIProcess/WebContext.cpp:
2875         (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
2876         * UIProcess/WebFrameProxy.cpp:
2877         (WebKit::WebFrameProxy::didCommitLoad):
2878         * UIProcess/WebFrameProxy.h:
2879         * UIProcess/WebPageProxy.cpp:
2880         (WebKit::WebPageProxy::didCommitLoadForFrame):
2881         * UIProcess/WebPageProxy.h:
2882         * UIProcess/WebPageProxy.messages.in:
2883         * WebKit2.xcodeproj/project.pbxproj:
2884         * WebProcess/Network/WebResourceLoader.cpp:
2885         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
2886         * WebProcess/Network/WebResourceLoader.h:
2887         * WebProcess/Network/WebResourceLoader.messages.in:
2888         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2889         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
2890         * WebProcess/WebProcess.h:
2891         * WebProcess/WebProcess.messages.in:
2892         * WebProcess/soup/WebProcessSoup.cpp:
2893         (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):
2894
2895 2013-11-21  Sergio Correia  <sergio.correia@openbossa.org>
2896
2897         [EFL][GTK][WK2] Build fix after r159641
2898         https://bugs.webkit.org/show_bug.cgi?id=124742
2899
2900         Reviewed by Csaba Osztrogonác.
2901
2902         Should fetch activeURL from page load state.
2903
2904         * UIProcess/API/gtk/WebKitWebView.cpp:
2905         (webkitWebViewUpdateURI):
2906         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
2907         (WebKit::WebInspectorServer::buildPageList):
2908         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2909         (WebKit::WebInspectorServer::buildPageList):
2910
2911 2013-11-21  Anders Carlsson  <andersca@apple.com>
2912
2913         Fetch all page loading related URLs from the page load state
2914         https://bugs.webkit.org/show_bug.cgi?id=124732
2915
2916         Reviewed by Dan Bernstein.
2917
2918         * UIProcess/API/C/WKPage.cpp:
2919         (WKPageCopyActiveURL):
2920         (WKPageCopyProvisionalURL):
2921         (WKPageCopyCommittedURL):
2922         * UIProcess/API/mac/WKBrowsingContextController.mm:
2923         (-[WKBrowsingContextController unreachableURL]):
2924         * UIProcess/PageLoadState.h:
2925         (WebKit::PageLoadState::provisionalURL):
2926         (WebKit::PageLoadState::url):
2927         (WebKit::PageLoadState::unreachableURL):
2928         * UIProcess/WebPageProxy.cpp:
2929         * UIProcess/WebPageProxy.h:
2930
2931 2013-11-20  Brady Eidson  <beidson@apple.com>
2932
2933         Hook up WebProcess-side of getOrEstablishIDBDatabaseMetadata
2934         https://bugs.webkit.org/show_bug.cgi?id=124698
2935
2936         Reviewed by Anders Carlsson.
2937
2938         With this change the IDB API in WebKit2 using the DatabaseProcess finally does something observable:
2939         window.indexedDB.open() sends an error to Javascript.
2940
2941         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2942         (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Continue calling back to the
2943           WebProcess with dummy data, but include the request ID for reference.
2944         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2945         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2946
2947         Add a new class that wraps a completion callback function and gives it a unique integer identifier.
2948         It also allows for wrapping an abort callback function (in case a connection is lost, for example).
2949         It is templated to flexibly handle any callback function signature.
2950         * Shared/AsyncRequest.cpp: Added.
2951         (WebKit::generateRequestID):
2952         (WebKit::AsyncRequest::AsyncRequest):
2953         (WebKit::AsyncRequest::~AsyncRequest):
2954         (WebKit::AsyncRequest::setAbortHandler):
2955         (WebKit::AsyncRequest::requestAborted):
2956         (WebKit::AsyncRequest::clearAbortHandler):
2957         * Shared/AsyncRequest.h: Added.
2958         (WebKit::AsyncRequest::requestID):
2959         (WebKit::AsyncRequest::requestCompleted):
2960
2961         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2962         (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): Wrap the completion handler in an
2963           AsyncRequest and save off the request for later use.
2964         (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Send the results to the AsyncRequest.
2965         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2966         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2967
2968         * WebKit2.xcodeproj/project.pbxproj:
2969
2970 2013-11-20  Anders Carlsson  <andersca@apple.com>
2971
2972         Move activeURL getter to PageLoadState
2973         https://bugs.webkit.org/show_bug.cgi?id=124690
2974
2975         Reviewed by Tim Horton.
2976
2977         * UIProcess/PageLoadState.cpp:
2978         (WebKit::PageLoadState::activeURL):
2979         * UIProcess/PageLoadState.h:
2980         * UIProcess/WebPageProxy.cpp:
2981         (WebKit::WebPageProxy::activeURL):
2982
2983 2013-11-20  Simon Fraser  <simon.fraser@apple.com>
2984
2985         Clean up WebKit2 initialization
2986         https://bugs.webkit.org/show_bug.cgi?id=124696
2987
2988         Reviewed by Sam Weinig.
2989         
2990         Call InitializeWebKit2() everywhere we need to do one-time
2991         initialization in WebKit2, rather than having a hotch-potch
2992         of init code.
2993
2994         * Shared/APIObject.cpp:
2995         (API::Object::Object):
2996         * UIProcess/API/mac/WKView.mm:
2997         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2998         * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Removed an unused #include.
2999         * UIProcess/WebContext.cpp:
3000         (WebKit::WebContext::create):
3001
3002 2013-11-21  Dan Bernstein  <mitz@apple.com>
3003
3004         Reverted r159603, as it appears to have caused Safari’s Web processes to crash on launch.
3005
3006         Requested by Sam Weinig.
3007
3008         * Scripts/webkit2/messages.py:
3009         (struct_or_class):
3010         * Shared/UserMessageCoders.h:
3011         (WebKit::UserMessageEncoder::baseEncode):
3012         * Shared/WebPageCreationParameters.cpp:
3013         (WebKit::WebPageCreationParameters::encode):
3014         (WebKit::WebPageCreationParameters::decode):
3015         * Shared/WebPageCreationParameters.h:
3016         * Shared/mac/ObjCObjectGraphCoders.h:
3017         * Shared/mac/ObjCObjectGraphCoders.mm:
3018         (WebKit::ObjCObjectGraphEncoder::baseEncode):
3019         (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
3020         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
3021         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
3022         (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
3023         (WebKit::WebContextObjCObjectGraphEncoder::encode):
3024         * UIProcess/WebConnectionToWebProcess.cpp:
3025         (WebKit::WebConnectionToWebProcess::encodeMessageBody):
3026         * UIProcess/WebContext.cpp:
3027         (WebKit::WebContext::createNewWebProcess):
3028         (WebKit::WebContext::createWebPage):
3029         (WebKit::WebContext::postMessageToInjectedBundle):
3030         (WebKit::WebContext::didReceiveSyncMessage):
3031         * UIProcess/WebContextUserMessageCoders.h:
3032         (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
3033         (WebKit::WebContextUserMessageEncoder::encode):
3034         (WebKit::WebContextUserMessageDecoder::decode):
3035         * UIProcess/WebPageGroup.cpp:
3036         * UIProcess/WebPageGroup.h:
3037         (WebKit::WebPageGroup::sendToAllProcessesInGroup):
3038         * UIProcess/WebPageProxy.cpp:
3039         (WebKit::WebPageProxy::create):
3040         (WebKit::WebPageProxy::WebPageProxy):
3041         (WebKit::WebPageProxy::initializeWebPage):
3042         (WebKit::WebPageProxy::loadURL):
3043         (WebKit::WebPageProxy::loadURLRequest):
3044         (WebKit::WebPageProxy::loadFile):
3045         (WebKit::WebPageProxy::loadData):
3046         (WebKit::WebPageProxy::loadHTMLString):
3047         (WebKit::WebPageProxy::loadAlternateHTMLString):
3048         (WebKit::WebPageProxy::loadPlainTextString):
3049         (WebKit::WebPageProxy::loadWebArchiveData):
3050         (WebKit::WebPageProxy::postMessageToInjectedBundle):
3051         (WebKit::WebPageProxy::initializeCreationParameters):
3052         * UIProcess/WebPageProxy.h:
3053         * UIProcess/WebProcessProxy.cpp:
3054         (WebKit::WebProcessProxy::disconnect):
3055         (WebKit::WebProcessProxy::createWebPage):
3056         * UIProcess/WebProcessProxy.h:
3057         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
3058         (WebKit::InjectedBundleUserMessageEncoder::encode):
3059         (WebKit::InjectedBundleUserMessageDecoder::decode):
3060         * WebProcess/WebPage/WebPage.cpp:
3061         (WebKit::WebPage::WebPage):
3062         * WebProcess/WebProcess.cpp:
3063         (WebKit::WebProcess::webPageGroup):
3064         * WebProcess/WebProcess.h:
3065         * WebProcess/WebProcess.messages.in:
3066
3067 2013-11-20  Brady Eidson  <beidson@apple.com>
3068
3069         Add more infrastructure for ServerConnection communication between Web and Database processes
3070         https://bugs.webkit.org/show_bug.cgi?id=124693
3071
3072         Reviewed by Anders Carlsson.
3073
3074         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
3075         (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
3076         (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Added for WebProcess to be able
3077           to invalidate the DatabaseProcess side of a server connection.
3078         * DatabaseProcess/DatabaseToWebProcessConnection.h:
3079         * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
3080
3081         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
3082         (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
3083         (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Added for future cleanup.
3084         (WebKit::DatabaseProcessIDBConnection::establishConnection):
3085         (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Callback to the WebProcess, even if
3086           it is just dummy data for now.
3087         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
3088         (WebKit::DatabaseProcessIDBConnection::create):
3089
3090         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
3091         (WebKit::WebIDBServerConnection::create): Register the new object with the WebToDatabaseProcessConnection.
3092         (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Remove from the WebToDatabaseProcessConnection.
3093         (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
3094         (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Callback from the DatabaseProcess,
3095           a no-op for now.
3096         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
3097         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Copied from Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in.
3098
3099         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
3100         (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
3101         (WebKit::WebToDatabaseProcessConnection::didClose):
3102         (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Hold a collection of all
3103           server connections for messaging.
3104         (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Remove a connection from the collection,
3105           and also message the DatabaseProcess that it’s gone away.
3106         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
3107
3108         Project files, etc etc:
3109         * DerivedSources.make:
3110         * Scripts/webkit2/messages.py:
3111         (struct_or_class):
3112         * WebKit2.xcodeproj/project.pbxproj:
3113
3114 2013-11-18  Sam Weinig  <sam@webkit.org>
3115
3116         WebPageGroup's should keep track of what processes they are being used by
3117         https://bugs.webkit.org/show_bug.cgi?id=124556
3118
3119         Reviewed by Dan Bernstein.
3120
3121         * Scripts/webkit2/messages.py:
3122         (struct_or_class):
3123         Mark WebPageGroupData as a struct.
3124
3125         * Shared/UserMessageCoders.h:
3126         * Shared/mac/ObjCObjectGraphCoders.h:
3127         * Shared/mac/ObjCObjectGraphCoders.mm:
3128         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
3129         * UIProcess/WebConnectionToWebProcess.cpp:
3130         * UIProcess/WebContext.cpp:
3131         * UIProcess/WebContextUserMessageCoders.h:
3132         * UIProcess/WebPageProxy.cpp:
3133         * UIProcess/WebPageProxy.h:
3134         Pass the WebProcess/WebProcessProxy to both encode and decode.
3135
3136         * Shared/WebPageCreationParameters.h:
3137         Pass the page group by ID when creating a page, as it will have had its own
3138         creation message sent already.
3139
3140         * UIProcess/WebPageGroup.cpp:
3141         * UIProcess/WebPageGroup.h:
3142         Keep track of processes.
3143
3144         * UIProcess/WebProcessProxy.cpp:
3145         * UIProcess/WebProcessProxy.h:
3146         Keep track of the page groups used by the process.
3147
3148         * WebProcess/WebPage/WebPage.cpp:
3149         Get the already created page group on creation.
3150
3151         * WebProcess/WebProcess.cpp:
3152         * WebProcess/WebProcess.h:
3153         * WebProcess/WebProcess.messages.in:
3154         Explicitly create page groups in the WebProcess.
3155
3156 2013-11-20  Brady Eidson  <beidson@apple.com>
3157
3158         IDB related cleanup in WebKit2
3159         https://bugs.webkit.org/show_bug.cgi?id=124691
3160
3161         Reviewed by Enrica Casucci.
3162
3163         - WebIDBServerConnection.cpp should use the WebCore namespace and get rid of "WebCore::" throughout
3164         - "backendIndentifier" should be renamed to "serverConnectionIdentifier" throughout
3165
3166         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
3167         (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
3168         * DatabaseProcess/DatabaseToWebProcessConnection.h:
3169         * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
3170
3171         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
3172         (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
3173         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
3174         (WebKit::DatabaseProcessIDBConnection::create):
3175
3176         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
3177         (WebKit::generateServerConnectionIdentifier):
3178         (WebKit::WebIDBServerConnection::WebIDBServerConnection):
3179         (WebKit::WebIDBServerConnection::openTransaction):
3180         (WebKit::WebIDBServerConnection::setIndexKeys):
3181         (WebKit::WebIDBServerConnection::createObjectStore):
3182         (WebKit::WebIDBServerConnection::createIndex):
3183         (WebKit::WebIDBServerConnection::deleteIndex):
3184         (WebKit::WebIDBServerConnection::get):
3185         (WebKit::WebIDBServerConnection::put):
3186         (WebKit::WebIDBServerConnection::openCursor):
3187         (WebKit::WebIDBServerConnection::count):
3188         (WebKit::WebIDBServerConnection::deleteRange):
3189         (WebKit::WebIDBServerConnection::clearObjectStore):
3190         (WebKit::WebIDBServerConnection::deleteObjectStore):
3191         (WebKit::WebIDBServerConnection::changeDatabaseVersion):
3192         (WebKit::WebIDBServerConnection::cursorAdvance):
3193         (WebKit::WebIDBServerConnection::cursorIterate):
3194         (WebKit::WebIDBServerConnection::cursorPrefetchIteration):
3195         (WebKit::WebIDBServerConnection::cursorPrefetchReset):
3196         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
3197
3198 2013-11-20  Brady Eidson  <beidson@apple.com>
3199
3200         Add argument coders for IDBDatabaseMetadata classes
3201         https://bugs.webkit.org/show_bug.cgi?id=124689
3202
3203         Reviewed by Anders Carlsson.
3204
3205         Add coders for:
3206           - IDBDatabaseMetadata
3207           - IDBIndexMetadata
3208           - IDBKeyPath
3209           - IDBObjectStoreMetadata
3210
3211         * Shared/WebCoreArgumentCoders.cpp:
3212         (CoreIPC::::encode):
3213         (CoreIPC::::decode):
3214         * Shared/WebCoreArgumentCoders.h:
3215
3216 2013-11-20  Anders Carlsson  <andersca@apple.com>
3217
3218         Enable PageLoadTest assertions again
3219         https://bugs.webkit.org/show_bug.cgi?id=124681
3220
3221         Reviewed by Tim Horton.
3222
3223         Remove an overzealous assertion and re-enable assertions in PageLoadState again.
3224
3225         * UIProcess/PageLoadState.cpp:
3226         (WebKit::PageLoadState::didCommitLoad):
3227         Remove assertion - it's fine for a page to have a null URL.
3228
3229         (WebKit::PageLoadState::didFinishLoad):
3230         Ditto.
3231
3232         (WebKit::PageLoadState::didFailLoad):
3233         Update the state.
3234
3235 2013-11-20  Anders Carlsson  <andersca@apple.com>
3236
3237         PageLoadState should keep track of unreachable URLs
3238         https://bugs.webkit.org/show_bug.cgi?id=124677
3239
3240         Reviewed by Dan Bernstein.
3241
3242         * UIProcess/PageLoadState.cpp:
3243         (WebKit::PageLoadState::reset):
3244         (WebKit::PageLoadState::didStartProvisionalLoad):
3245         (WebKit::PageLoadState::didFailProvisionalLoad):
3246         (WebKit::PageLoadState::setUnreachableURL):
3247         * UIProcess/PageLoadState.h:
3248         * UIProcess/WebPageProxy.cpp:
3249         (WebKit::WebPageProxy::loadAlternateHTMLString):
3250
3251 2013-11-20  Tim Horton  <timothy_horton@apple.com>
3252
3253         Remote Layer Tree: 100% repro crasher on the IPC thread when creating lots of layers
3254         https://bugs.webkit.org/show_bug.cgi?id=124643
3255
3256         Reviewed by Anders Carlsson.
3257
3258         * Platform/CoreIPC/mac/ConnectionMac.cpp:
3259         (CoreIPC::Connection::sendOutgoingMessage):
3260         Dynamically allocate storage for the message if needed.
3261
3262 2013-11-20  Tim Horton  <timothy_horton@apple.com>
3263
3264         machMessageSize uses sizeof(mach_msg_ool_ports_descriptor_t) for out-of-line *memory*
3265         https://bugs.webkit.org/show_bug.cgi?id=124644
3266
3267         Reviewed by Anders Carlsson.
3268
3269         * Platform/CoreIPC/mac/ConnectionMac.cpp:
3270         (CoreIPC::machMessageSize):
3271         mach_msg_ool_descriptor_t is the correct type, given that
3272         out-of-line memory descriptors use the mach_msg_ool_descriptor_t
3273         member of the mach_msg_descriptor_t union.
3274
3275 2013-11-20  Brady Eidson  <beidson@apple.com>
3276
3277         Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
3278         https://bugs.webkit.org/show_bug.cgi?id=124635
3279
3280         Reviewed by Tim Horton.
3281
3282         Stub out the message for getOrEstablishIDBDatabaseMetadata in the DatabaseProcess.
3283
3284         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
3285         (WebKit::DatabaseProcessIDBConnection::establishConnection):
3286         (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
3287         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
3288         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
3289
3290         * Shared/SecurityOriginData.cpp:
3291         (WebKit::SecurityOriginData::fromSecurityOrigin):
3292         * Shared/SecurityOriginData.h:
3293
3294         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
3295         (WebKit::WebIDBServerConnection::WebIDBServerConnection):
3296         (WebKit::WebIDBServerConnection::deleteDatabase):
3297         (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
3298         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
3299
3300 2013-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3301
3302         [GTK] Do not use deprecated callbacks in WebKitPolicyClient
3303         https://bugs.webkit.org/show_bug.cgi?id=124648
3304
3305         Reviewed by Philippe Normand.
3306
3307         Fixes compile warnings for uninitialized callbacks.
3308
3309         * UIProcess/API/gtk/WebKitPolicyClient.cpp:
3310         (decidePolicyForNavigationAction): Add originatingFrame parameter.
3311         (decidePolicyForNewWindowAction): Renamed for consistency.
3312         (decidePolicyForResponse): Add canShowMIMEType parameter.
3313         (attachPolicyClientToView): Add new callbacks.
3314
3315 2013-11-19  Ryosuke Niwa  <rniwa@webkit.org>
3316
3317         Enable HTMLTemplateElement on Mac port
3318         https://bugs.webkit.org/show_bug.cgi?id=124637
3319
3320         Reviewed by Tim Horton.
3321
3322         * Configurations/FeatureDefines.xcconfig:
3323
3324 2013-11-19  Brady Eidson  <beidson@apple.com>
3325
3326         Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs
3327         https://bugs.webkit.org/show_bug.cgi?id=124562
3328
3329         Reviewed by Alexey Proskuryakov.
3330
3331         Also remove Web/DatabaseProcessDatabaseBackend stubs, as that is no longer the abstraction layer.
3332
3333         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
3334         (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
3335         (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
3336         * DatabaseProcess/DatabaseToWebProcessConnection.h:
3337         * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
3338
3339         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp.
3340         (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
3341         (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
3342         (WebKit::DatabaseProcessIDBConnection::establishConnection):
3343         (WebKit::DatabaseProcessIDBConnection::messageSenderConnection):
3344         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h.
3345         (WebKit::DatabaseProcessIDBConnection::create):
3346         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in.
3347
3348         * Shared/Databases/IndexedDB/IDBUtilities.cpp:
3349         (WebKit::uniqueDatabaseIdentifier): Modified to take two security origin arguments.
3350         * Shared/Databases/IndexedDB/IDBUtilities.h:
3351
3352         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
3353         (WebKit::WebIDBFactoryBackend::open):
3354
3355         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Added. Stubbed out all the pure virtual methods.
3356         (WebKit::generateBackendIdentifier):
3357         (WebKit::WebIDBServerConnection::WebIDBServerConnection):
3358         (WebKit::WebIDBServerConnection::~WebIDBServerConnection):
3359         (WebKit::WebIDBServerConnection::isClosed):
3360         (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
3361         (WebKit::WebIDBServerConnection::deleteDatabase):
3362         (WebKit::WebIDBServerConnection::close):
3363         (WebKit::WebIDBServerConnection::openTransaction):
3364         (WebKit::WebIDBServerConnection::beginTransaction):
3365         (WebKit::WebIDBServerConnection::commitTransaction):
3366         (WebKit::WebIDBServerConnection::resetTransaction):
3367         (WebKit::WebIDBServerConnection::rollbackTransaction):
3368         (WebKit::WebIDBServerConnection::setIndexKeys):
3369         (WebKit::WebIDBServerConnection::createObjectStore):
3370         (WebKit::WebIDBServerConnection::createIndex):
3371         (WebKit::WebIDBServerConnection::deleteIndex):
3372         (WebKit::WebIDBServerConnection::get):
3373         (WebKit::WebIDBServerConnection::put):
3374         (WebKit::WebIDBServerConnection::openCursor):
3375         (WebKit::WebIDBServerConnection::count):
3376         (WebKit::WebIDBServerConnection::deleteRange):
3377         (WebKit::WebIDBServerConnection::clearObjectStore):
3378         (WebKit::WebIDBServerConnection::deleteObjectStore):
3379         (WebKit::WebIDBServerConnection::changeDatabaseVersion):
3380         (WebKit::WebIDBServerConnection::cursorAdvance):
3381         (WebKit::WebIDBServerConnection::cursorIterate):
3382         (WebKit::WebIDBServerConnection::cursorPrefetchIteration):
3383         (WebKit::WebIDBServerConnection::cursorPrefetchReset):
3384         (WebKit::WebIDBServerConnection::messageSenderConnection):
3385         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Added.
3386
3387         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Removed.
3388         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Removed.
3389
3390         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
3391
3392         * DerivedSources.make:
3393         * WebKit2.xcodeproj/project.pbxproj:
3394
3395 2013-11-19  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3396
3397         Unreviewed EFL and GTK build fix attempt after r159507
3398
3399         * CMakeLists.txt: Changed Platform/CoreIPC/DataReference.cpp to Platform/IPC/DataReference.cpp
3400         * GNUmakefile.list.am: Ditto
3401
3402 2013-11-19  Anders Carlsson  <andersca@apple.com>
3403
3404         Move DataReference to Platform/IPC.
3405
3406         * Platform/IPC/DataReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.cpp.
3407         * Platform/IPC/DataReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.h.
3408         * WebKit2.xcodeproj/project.pbxproj:
3409
3410 2013-11-19  Anders Carlsson  <andersca@apple.com>
3411
3412         Add and call PageLoadState::reset
3413         https://bugs.webkit.org/show_bug.cgi?id=124591
3414
3415         Reviewed by Dan Bernstein.
3416
3417         * UIProcess/PageLoadState.cpp:
3418         (WebKit::PageLoadState::reset):
3419         * UIProcess/PageLoadState.h:
3420         * UIProcess/WebPageProxy.cpp:
3421         (WebKit::WebPageProxy::processDidCrash):
3422
3423 2013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>
3424
3425         [EFL] Initialize efreet before getting directories
3426         https://bugs.webkit.org/show_bug.cgi?id=124560
3427
3428         Reviewed by Gyuyoung Kim.
3429
3430         efreet is used to get several directories including home dierectory since
3431         r123731, but it does not call efreet_init/efreet_shutdown explicitly.
3432
3433         * UIProcess/API/efl/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.
3434         (ewk_init):
3435         (ewk_shutdown):
3436
3437 2013-11-18  Mark Rowe  <mrowe@apple.com>
3438
3439         Use hw.activecpu for determining how many processes to spawn.
3440
3441         It's documented as the preferred way to determine the number of threads
3442         or processes to create in a SMP aware application.
3443
3444         Rubber-stamped by Tim Horton.
3445
3446         * WebKit2.xcodeproj/project.pbxproj:
3447
3448 2013-11-18  Anders Carlsson  <andersca@apple.com>
3449
3450         Let's try this again.
3451
3452         * UIProcess/PageLoadState.cpp:
3453
3454 2013-11-18  Anders Carlsson  <andersca@apple.com>
3455
3456         Disable assertions in PageLoadState.cpp for now.
3457
3458         * UIProcess/PageLoadState.cpp:
3459
3460 2013-11-18  Anders Carlsson  <andersca@apple.com>
3461
3462         TestWebKitAPI crashes when running under GuardMalloc
3463         https://bugs.webkit.org/show_bug.cgi?id=124546
3464
3465         Reviewed by Tim Horton.
3466
3467         * UIProcess/Downloads/DownloadProxyMap.cpp:
3468         (WebKit::DownloadProxyMap::downloadFinished):
3469         Grab the download ID before removing the DownloadProxy from the map.
3470
3471 2013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>
3472
3473         Unreviewed build fix attempt on GTK and EFL port after r159461
3474
3475         * CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp
3476         * GNUmakefile.list.am: Ditto.
3477
3478 2013-11-18  Anders Carlsson  <andersca@apple.com>
3479
3480         Rename WebNavigationData to API::NavigationData
3481         https://bugs.webkit.org/show_bug.cgi?id=124542
3482
3483         Reviewed by Dan Bernstein.
3484
3485         * UIProcess/API/C/WKAPICast.h:
3486         * UIProcess/API/C/WKNavigationDataRef.cpp:
3487         (WKNavigationDataGetTypeID):
3488         * UIProcess/API/Cocoa/WKNavigationData.mm:
3489         (-[WKNavigationData dealloc]):
3490         (-[WKNavigationData title]):
3491         (-[WKNavigationData originalRequest]):
3492         (-[WKNavigationData destinationURL]):
3493         (-[WKNavigationData response]):
3494         * UIProcess/API/Cocoa/WKNavigationDataInternal.h:
3495         (WebKit::wrapper):
3496         * UIProcess/API/mac/WKProcessGroup.mm:
3497         * UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp.
3498         (API::NavigationData::NavigationData):
3499         (API::NavigationData::~NavigationData):
3500         * UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h.
3501         (API::NavigationData::create):
3502         (API::NavigationData::title):
3503         (API::NavigationData::url):
3504         (API::NavigationData::originalRequest):
3505         (API::NavigationData::response):
3506         * UIProcess/WebHistoryClient.cpp:
3507         (WebKit::WebHistoryClient::didNavigateWithNavigationData):
3508         * WebKit2.xcodeproj/project.pbxproj:
3509
3510 2013-11-18  David Hyatt  <hyatt@apple.com>
3511
3512         Add a quirk to not respect center text-align when positioning
3513
3514         <rdar://problem/15427571>
3515         https://bugs.webkit.org/show_bug.cgi?id=124522
3516
3517         Reviewed by Simon Fraser.
3518
3519         Added fast/block/legacy-text-align-position-quirk.html
3520
3521         * Shared/WebPreferencesStore.h:
3522         * UIProcess/API/C/WKPreferences.cpp:
3523         (WKPreferencesUseLegacyTextAlignPositionedElementBehavior):
3524         (WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior):
3525         * UIProcess/API/C/WKPreferencesPrivate.h:
3526         * WebProcess/WebPage/WebPage.cpp:
3527         (WebKit::WebPage::updatePreferences):
3528
3529 2013-11-18  Anders Carlsson  <andersca@apple.com>
3530
3531         Add State to PageLoadState
3532         https://bugs.webkit.org/show_bug.cgi?id=124538
3533
3534         Reviewed by Tim Horton.
3535
3536         * UIProcess/PageLoadState.cpp:
3537         (WebKit::PageLoadState::PageLoadState):
3538         (WebKit::PageLoadState::didStartProvisionalLoad):
3539         (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
3540         (WebKit::PageLoadState::didFailProvisionalLoad):
3541         (WebKit::PageLoadState::didCommitLoad):
3542         (WebKit::PageLoadState::didFinishLoad):
3543         (WebKit::PageLoadState::didSameDocumentNavigation):
3544         * UIProcess/PageLoadState.h:
3545
3546 2013-11-18  Anders Carlsson  <andersca@apple.com>
3547
3548         The PageLoadState object should keep track of the current URL
3549         https://bugs.webkit.org/show_bug.cgi?id=124536
3550
3551         Reviewed by Dan Bernstein.
3552
3553         * UIProcess/PageLoadState.cpp:
3554         (WebKit::PageLoadState::didCommitLoad):
3555         (WebKit::PageLoadState::didFinishLoad):
3556         (WebKit::PageLoadState::didFailLoad):
3557         (WebKit::PageLoadState::didSameDocumentNavigation):
3558         * UIProcess/PageLoadState.h:
3559         * UIProcess/WebPageProxy.cpp:
3560         (WebKit::WebPageProxy::didFinishLoadForFrame):
3561         (WebKit::WebPageProxy::didFailLoadForFrame):
3562         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
3563
3564 2013-11-18  Csaba Osztrogonác  <ossy@webkit.org>
3565
3566         URTBF after r159444.
3567
3568         * GNUmakefile.list.am:
3569
3570 2013-11-18  Anders Carlsson  <andersca@apple.com>
3571
3572         PageLoadState should keep track of the provisional URL
3573         https://bugs.webkit.org/show_bug.cgi?id=124535
3574
3575         Reviewed by Dan Bernstein.
3576
3577         * UIProcess/PageLoadState.cpp:
3578         (WebKit::PageLoadState::didStartProvisionalLoad):
3579         (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
3580         (WebKit::PageLoadState::didCommitLoad):
3581         * UIProcess/PageLoadState.h:
3582         * UIProcess/WebPageProxy.cpp:
3583         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
3584         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
3585         (WebKit::WebPageProxy::didCommitLoadForFrame):
3586
3587 2013-11-18  Anders Carlsson  <andersca@apple.com>
3588
3589         Move m_pendingAPIRequestURL to PageLoadState
3590         https://bugs.webkit.org/show_bug.cgi?id=124531
3591
3592         Reviewed by Tim Horton.
3593
3594         * UIProcess/API/C/WKPage.cpp:
3595         (WKPageCopyPendingAPIRequestURL):
3596         * UIProcess/PageLoadState.cpp:
3597         (WebKit::PageLoadState::pendingAPIRequestURL):
3598         (WebKit::PageLoadState::setPendingAPIRequestURL):
3599         (WebKit::PageLoadState::clearPendingAPIRequestURL):
3600         * UIProcess/PageLoadState.h:
3601         * UIProcess/WebPageProxy.cpp:
3602         (WebKit::WebPageProxy::loadURL):
3603         (WebKit::WebPageProxy::loadURLRequest):
3604         (WebKit::WebPageProxy::reload):
3605         (WebKit::WebPageProxy::goForward):
3606         (WebKit::WebPageProxy::goBack):
3607         (WebKit::WebPageProxy::goToBackForwardItem):
3608         (WebKit::WebPageProxy::activeURL):
3609         (WebKit::WebPageProxy::receivedPolicyDecision):
3610         (WebKit::WebPageProxy::estimatedProgress):
3611         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
3612         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
3613         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
3614         * UIProcess/WebPageProxy.h:
3615         (WebKit::WebPageProxy::pageLoadState):
3616         * UIProcess/cf/WebPageProxyCF.cpp:
3617         (WebKit::WebPageProxy::sessionStateData):
3618         (WebKit::WebPageProxy::restoreFromSessionStateData):
3619
3620 2013-11-18  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3621
3622         Unreviewed EFL build fix after r159444
3623
3624         * CMakeLists.txt: Added PageLoadState.cpp.
3625
3626 2013-11-18  Anders Carlsson  <andersca@apple.com>
3627
3628         Add PageLoadState class
3629         https://bugs.webkit.org/show_bug.cgi?id=124528
3630
3631         Reviewed by Dan Bernstein.
3632
3633         Trying to use the main frame load state as the page load state was a bad idea,
3634         add a new PageLoadState and use it instead. Ultimately the long term plan is to
3635         transition away from FrameLoadState entirely.
3636
3637         * UIProcess/PageLoadState.cpp: Added.
3638         (WebKit::PageLoadState::PageLoadState):
3639         (WebKit::PageLoadState::~PageLoadState):
3640         (WebKit::PageLoadState::didStartProvisionalLoad):
3641         * UIProcess/PageLoadState.h: Added.
3642         * UIProcess/WebPageProxy.cpp:
3643         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
3644         * UIProcess/WebPageProxy.h:
3645         * WebKit2.xcodeproj/project.pbxproj:
3646
3647 2013-11-14  David Farler  <dfarler@apple.com>
3648
3649         [ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
3650         https://bugs.webkit.org/show_bug.cgi?id=124367
3651
3652         Reviewed by Alexey Proskuryakov.
3653
3654         * Shared/Downloads/DownloadAuthenticationClient.cpp:
3655         (WebKit::DownloadAuthenticationClient::receivedCredential):
3656         (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
3657         (WebKit::DownloadAuthenticationClient::receivedCancellation):
3658         Remove calls to nowhere:
3659         WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&)
3660         WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&)
3661         WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&)
3662
3663 2013-11-18  Anders Carlsson  <andersca@apple.com>
3664
3665         Use a strong enum for frame load states
3666         https://bugs.webkit.org/show_bug.cgi?id=124524
3667
3668         Reviewed by Dan Bernstein.
3669
3670         * UIProcess/API/C/WKFrame.cpp:
3671         (WKFrameGetFrameLoadState):
3672         * UIProcess/FrameLoadState.cpp:
3673         (WebKit::FrameLoadState::FrameLoadState):
3674         (WebKit::FrameLoadState::didStartProvisionalLoad):
3675         (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
3676         (WebKit::FrameLoadState::didFailProvisionalLoad):
3677         (WebKit::FrameLoadState::didCommitLoad):
3678         (WebKit::FrameLoadState::didFinishLoad):
3679         (WebKit::FrameLoadState::didFailLoad):
3680         * UIProcess/FrameLoadState.h:
3681         * UIProcess/WebFrameProxy.h:
3682         * UIProcess/WebPageProxy.cpp:
3683         (WebKit::WebPageProxy::WebPageProxy):
3684         (WebKit::WebPageProxy::activeURL):
3685         (WebKit::WebPageProxy::resetStateAfterProcessExited):
3686         * UIProcess/WebPageProxy.h:
3687         (WebKit::WebPageProxy::loadStateAtProcessExit):
3688
3689 2013-11-18  Anders Carlsson  <andersca@apple.com>
3690
3691         Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
3692         https://bugs.webkit.org/show_bug.cgi?id=124523
3693
3694         Reviewed by Dan Bernstein.
3695
3696         * PluginProcess/mac/PluginProcessMac.mm:
3697         (WebKit::beginModal):
3698         * PluginProcess/mac/PluginProcessShim.mm:
3699         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
3700         (WebKit::NetscapePluginModule::tryLoad):
3701         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
3702         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3703         (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
3704         (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
3705         (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
3706         (WebKit::PluginProcessProxy::exitFullscreen):
3707
3708 2013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>
3709
3710         [EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
3711         https://bugs.webkit.org/show_bug.cgi?id=124478
3712
3713         Reviewed by Gyuyoung Kim.
3714
3715         EWebKit is built using CMake but applications use *.pc to use it.
3716         This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake
3717         for applications which use EWebkit and is compiled by CMake.
3718
3719         * PlatformEfl.cmake:
3720         Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake
3721         * efl/EWebKit2Config.cmake.in: Added.
3722         * efl/EWebKit2ConfigVersion.cmake.in: Added.
3723
3724 2013-11-18  Eunmi Lee  <eunmi15.lee@samsung.com>
3725
3726         [EFL][WK2] Process single tap using mouse move, down and up event.
3727         https://bugs.webkit.org/show_bug.cgi?id=106864
3728
3729         Reviewed by Christophe Dumez.
3730
3731         Send mouse events to the web process to perform the clicking when
3732         single tap gesture is recognized.
3733         Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent()
3734         and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL
3735         API implementation.
3736
3737         * UIProcess/API/C/efl/WKViewEfl.cpp:
3738         (WKViewSendMouseDownEvent):
3739         (WKViewSendMouseUpEvent):
3740         (WKViewSendMouseMoveEvent):
3741         * UIProcess/API/C/efl/WKViewEfl.h:
3742         * UIProcess/API/efl/GestureRecognizer.cpp:
3743         (WebKit::GestureHandler::handleSingleTap):
3744         * UIProcess/efl/WebViewEfl.cpp:
3745         (WebKit::WebViewEfl::sendMouseEvent):
3746         * UIProcess/efl/WebViewEfl.h:
3747
3748 2013-11-17  Dan Bernstein  <mitz@apple.com>
3749
3750         Try to fix the EFL build.
3751
3752         * UIProcess/efl/PagePolicyClientEfl.cpp:
3753         (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call
3754         WKFrameCanShowMIMEType now that this information is passed in as a parameter.
3755
3756 2013-11-16  Dan Bernstein  <mitz@apple.com>
3757
3758         No way for policy client to determine if a the response’s MIME type can be shown
3759         https://bugs.webkit.org/show_bug.cgi?id=124445
3760
3761         Reviewed by Sam Weinig.
3762
3763         * Platform/CoreIPC/HandleMessage.h:
3764         (CoreIPC::callMemberFunction): Added a fifth message parameter to this template.
3765
3766         * UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to
3767         WKPageDecidePolicyForResponseCallback and deprecated the old version.
3768
3769         * UIProcess/API/mac/WKBrowsingContextController.mm:
3770         (setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key
3771         in the action information dictionary.
3772         * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
3773         WKActionCanShowMIMETypeKey.
3774
3775         * UIProcess/WebInspectorProxy.cpp:
3776         (WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client.
3777
3778         * UIProcess/WebPageProxy.cpp:
3779         (WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is
3780         passed to the policy client.
3781         (WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which
3782         is passed to the above function.
3783         * UIProcess/WebPageProxy.h:
3784         * UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to
3785         DecidePolicyForResponseSync.
3786
3787         * UIProcess/WebPolicyClient.cpp:
3788         (WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which
3789         is passed to the client callback.
3790         * UIProcess/WebPolicyClient.h:
3791
3792         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3793         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response
3794         MIME type can be shown and pass this information along in the message to the UI process.
3795
3796 2013-11-15  Ryuan Choi  <ryuan.choi@samsung.com>
3797
3798         Unreviewed EFL build fix after r159358.
3799
3800         * UIProcess/efl/PagePolicyClientEfl.cpp:
3801         (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
3802         * UIProcess/efl/PagePolicyClientEfl.h:
3803
3804 2013-11-15  Brady Eidson  <beidson@apple.com>
3805
3806         Let IDBDatabaseBackend create IDBTransactionBackend's directly
3807         https://bugs.webkit.org/show_bug.cgi?id=124438
3808
3809         Reviewed by Beth Dakin.
3810
3811         Remove maybeCreateTransactionBackend():
3812         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
3813         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
3814
3815 2013-11-15  Brady Eidson  <beidson@apple.com>
3816
3817         Remove last vestiges of IDBBackingStore* from IDBTransactionBackend.
3818         https://bugs.webkit.org/show_bug.cgi?id=124436
3819
3820         Reviewed by Tim Horton.
3821
3822         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed createCursorBackend.
3823         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
3824
3825 2013-11-15  Dan Bernstein  <mitz@apple.com>
3826
3827         Give the policy client the originating frame of a navigation action
3828         https://bugs.webkit.org/show_bug.cgi?id=124431
3829
3830         Reviewed by Anders Carlsson.
3831
3832         * Platform/CoreIPC/HandleMessage.h:
3833         (CoreIPC::callMemberFunction): Added a seventh message parameter to this template.
3834
3835         * Shared/APIClientTraits.cpp: Defined API traits for WKPagePolicyClient, which now has two
3836         versions.
3837         * Shared/APIClientTraits.h: Declared APIClientTraits<WKPagePolicyClient>.
3838
3839         * UIProcess/API/C/WKPage.h: Added an originatingFrame parameter to
3840         WKPageDecidePolicyForNavigationActionCallback and deprecated the old version. Bumped the
3841         policy client version to 1.
3842
3843         * UIProcess/API/mac/WKBrowsingContextController.mm:
3844         (setUpPagePolicyClient): Include the originating frame’s URL under a new key in the
3845         action information dictionary.
3846         * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
3847         WKActionOriginatingFrameURLKey.
3848
3849         * UIProcess/WebInspectorProxy.cpp:
3850         (WebKit::decidePolicyForNavigationAction): Added originatingFrame parameter.
3851         (WebKit::WebInspectorProxy::createInspectorPage): Updated to the new version of the policy
3852         client interface.
3853
3854         * UIProcess/WebPageProxy.cpp:
3855         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originatingFrameID parameter
3856         and passing the originating frame to the policy client.
3857         * UIProcess/WebPageProxy.h:
3858         * UIProcess/WebPageProxy.messages.in: Added originatingFrameID paremeter to
3859         DecidePolicyForNavigationAction.
3860
3861         * UIProcess/WebPolicyClient.cpp:
3862         (WebKit::WebPolicyClient::decidePolicyForNavigationAction): Added originatingFrame
3863         parameter, which is passed to the client callback.
3864         * UIProcess/WebPolicyClient.h:
3865
3866         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3867         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Determine the
3868         originating frame for link activation and form submission actions and send its ID in the
3869         DecidePolicyForNavigationAction message.
3870
3871 2013-11-15  Brady Eidson  <beidson@apple.com>
3872
3873         Move execution of IDBTransactionBackendOperations to the IDBServerConnection
3874         https://bugs.webkit.org/show_bug.cgi?id=124385
3875
3876         Reviewed by Tim Horton.
3877
3878         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
3879
3880 2013-11-15  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3881
3882         Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp
3883         https://bugs.webkit.org/show_bug.cgi?id=124398
3884
3885         Reviewed by Brady Eidson.
3886
3887         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3888
3889 2013-11-15  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
3890
3891         Cleanup the build from unused parameters in WebKit2
3892         https://bugs.webkit.org/show_bug.cgi?id=124201
3893
3894         Reviewed by Darin Adler.
3895
3896         * Shared/Plugins/Netscape/PluginInformation.cpp:
3897         (WebKit::getPluginModuleInformation):
3898         * UIProcess/API/C/WKBatteryManager.cpp:
3899         (WKBatteryManagerSetProvider):
3900         (WKBatteryManagerProviderDidChangeBatteryStatus):
3901         (WKBatteryManagerProviderUpdateBatteryStatus):
3902         * UIProcess/API/C/WKBatteryStatus.cpp:
3903         (WKBatteryStatusCreate):
3904         * UIProcess/API/C/WKColorPickerResultListener.cpp:
3905         (WKColorPickerResultListenerSetColor):
3906         * UIProcess/API/C/WKContext.cpp:
3907         (WKContextGetBatteryManager):
3908         (WKContextGetDatabaseManager):
3909         (WKContextGetNetworkInfoManager):
3910         * UIProcess/API/C/WKDatabaseManager.cpp:
3911         (WKDatabaseManagerSetClient):
3912         (WKDatabaseManagerGetDatabasesByOrigin):
3913         (WKDatabaseManagerGetDatabaseOrigins):
3914         (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
3915         (WKDatabaseManagerDeleteDatabasesForOrigin):
3916         (WKDatabaseManagerDeleteAllDatabases):
3917         (WKDatabaseManagerSetQuotaForOrigin):
3918         * UIProcess/API/C/WKNetworkInfo.cpp:
3919         (WKNetworkInfoCreate):
3920         * UIProcess/API/C/WKNetworkInfoManager.cpp:
3921         (WKNetworkInfoManagerSetProvider):
3922         (WKNetworkInfoManagerProviderDidChangeNetworkInformation):
3923         * UIProcess/API/C/WKOpenPanelParameters.cpp:
3924         (WKOpenPanelParametersCopyCapture):
3925         * UIProcess/API/C/WKVibration.cpp:
3926         (WKVibrationSetProvider):
3927         * UIProcess/API/efl/EwkView.cpp:
3928         (EwkView::createNewPage):
3929         * UIProcess/WebPageProxy.cpp:
3930         (WebKit::WebPageProxy::setVisibilityState):
3931         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
3932         * UIProcess/efl/ViewClientEfl.cpp:
3933         (WebKit::ViewClientEfl::didChangeContentsPosition):
3934         (WebKit::ViewClientEfl::didRenderFrame):
3935         (WebKit::ViewClientEfl::didChangeViewportAttributes):
3936         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3937         (WebKit::InjectedBundle::setDatabaseQuota):
3938         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3939         (WebKit::WebChromeClient::createWindow):
3940
3941 2013-11-14  Dan Bernstein  <mitz@apple.com>
3942
3943         [Cocoa] WKBrowsingContextController's policy client implementation over-releases WKURLRequests and WKURLResponses
3944         https://bugs.webkit.org/show_bug.cgi?id=124386
3945
3946         Reviewed by Sam Weinig.
3947
3948         * UIProcess/API/mac/WKBrowsingContextController.mm:
3949         (setUpPagePolicyClient): Changed to release the Cocoa objects we copy out of the WK objects
3950         passed into the client callbacks, but not the WK objects themselves, which are not owned by
3951         the callbacks.
3952
3953 2013-11-14  Andy Estes  <aestes@apple.com>
3954
3955         Replace calls to deprecated CFPropertyList functions in WebKit2
3956         https://bugs.webkit.org/show_bug.cgi?id=124384
3957
3958         Reviewed by Anders Carlsson.
3959
3960         * UIProcess/cf/WebPageProxyCF.cpp:
3961         (WebKit::WebPageProxy::sessionStateData): Replaced CFPropertyListWriteToStream() with CFPropertyListWrite().
3962         (WebKit::WebPageProxy::restoreFromSessionStateData): Replaced CFPropertyListCreateFromXMLData() with CFPropertyListCreateWithData().
3963
3964 2013-11-14  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
3965
3966         generate-message-receiver.py can't handle nested #ifs
3967         https://bugs.webkit.org/show_bug.cgi?id=121877
3968
3969         Reviewed by Darin Adler.
3970
3971         parser.py was modifieded to collect and combine conditions of nested #ifs.
3972         messages_unittest.py extended to check these modifications.
3973
3974         * Scripts/webkit2/messages_unittest.py:
3975         (LoadSomething):
3976         (std):
3977         (AddEvent):
3978         (LoadSomethingElse):
3979         * Scripts/webkit2/parser.py:
3980         (combine_condition):
3981         (bracket_if_needed):
3982         (parse):
3983
3984 2013-11-14  Dan Bernstein  <mitz@apple.com>
3985
3986         [Cocoa] WKAction keys are not exported
3987         https://bugs.webkit.org/show_bug.cgi?id=124378
3988
3989         Reviewed by Anders Carlsson.
3990
3991         * UIProcess/API/mac/WKBrowsingContextController.mm: Made the keys constant pointers.
3992         * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Exported the keys.
3993
3994 2013-11-14  Ryuan Choi  <ryuan.choi@samsung.com>
3995
3996         [WK2] Move Coordinated Graphics related code out of DrawingAreaProxy
3997         https://bugs.webkit.org/show_bug.cgi?id=124328
3998
3999         Reviewed by Andreas Kling.
4000
4001         Refactored for DrawingAreaProxy not to include Coordinated Graphics specific code.
4002
4003         * PlatformEfl.cmake:
4004         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Moved from DrawingAreaProxy.cpp.
4005         (WebKit::CoordinatedDrawingAreaProxy::updateViewport):
4006         (WebKit::CoordinatedDrawingAreaProxy::contentsRect):
4007         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Ditto.
4008         (WebKit::CoordinatedDrawingAreaProxy::coordinatedLayerTreeHostProxy): Refactored to return reference instead of pointer.
4009         (WebKit::CoordinatedDrawingAreaProxy::viewportVisibleRect):
4010         (WebKit::CoordinatedDrawingAreaProxy::page):
4011         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
4012         (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
4013         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
4014         * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
4015         Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
4016         (WebKit::fuzzyCompare):
4017         (WebKit::PageViewportController::PageViewportController):
4018         (WebKit::PageViewportController::innerBoundedViewportScale):
4019         (WebKit::PageViewportController::outerBoundedViewportScale):
4020         (WebKit::PageViewportController::deviceScaleFactor):
4021         (WebKit::isIntegral):
4022         (WebKit::PageViewportController::pixelAlignedFloatPoint):
4023         (WebKit::PageViewportController::boundContentsPositionAtScale):
4024         (WebKit::PageViewportController::boundContentsPosition):
4025         (WebKit::PageViewportController::didCommitLoad):
4026         (WebKit::PageViewportController::didChangeContentsSize):
4027         (WebKit::PageViewportController::didRenderFrame):
4028         (WebKit::PageViewportController::pageTransitionViewportReady):
4029         (WebKit::PageViewportController::pageDidRequestScroll):
4030         (WebKit::PageViewportController::didChangeViewportSize):
4031         (WebKit::PageViewportController::didChangeContentsVisibility):
4032         (WebKit::PageViewportController::syncVisibleContents): Added cast to access CoordinatedDrawingAreaProxy method.
4033         (WebKit::PageViewportController::didChangeViewportAttributes):
4034         (WebKit::PageViewportController::visibleContentsSize):
4035         (WebKit::PageViewportController::applyScaleAfterRenderingContents):
4036         (WebKit::PageViewportController::applyPositionAfterRenderingContents):
4037         (WebKit::PageViewportController::updateMinimumScaleToFit):
4038         * UIProcess/CoordinatedGraphics/PageViewportController.h:
4039         Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
4040         (WebKit::PageViewportController::~PageViewportController):
4041         (WebKit::PageViewportController::hadUserInteraction):
4042         (WebKit::PageViewportController::allowsUserScaling):
4043         (WebKit::PageViewportController::contentsLayoutSize):
4044         (WebKit::PageViewportController::minimumScale):
4045         (WebKit::PageViewportController::maximumScale):
4046         (WebKit::PageViewportController::currentScale):
4047         (WebKit::PageViewportController::setHadUserInteraction):
4048         * UIProcess/CoordinatedGraphics/WebView.cpp: Added some casts to access CoordinatedDrawingAreaProxy methods.
4049         (WebKit::WebView::coordinatedGraphicsScene): Simplified code using reference.
4050         (WebKit::WebView::updateViewportSize):
4051         * UIProcess/DrawingAreaProxy.cpp: Removed Coordinated Graphics macro and related codes.
4052         * UIProcess/DrawingAreaProxy.h: Ditto.
4053
4054 2013-11-13  Nick Diego Yamane  <nick.yamane@openbossa.org>
4055
4056         Rename some ImmutableArray leftovers
4057         https://bugs.webkit.org/show_bug.cgi?id=124320
4058
4059         Reviewed by Anders Carlsson.
4060
4061         ImmutableArray has been renamed to API::Array in r159234.
4062
4063         * Shared/API/c/WKContextMenuItem.cpp:
4064         * Shared/WebContextMenuItem.cpp:
4065         * Shared/WebContextMenuItem.h:
4066         * UIProcess/API/C/WKBackForwardListRef.cpp: