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