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