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