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