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