WebProcessProxy::updateProcessState() is causing duplicate symbol linker errors
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-02-26  Myles C. Maxfield  <mmaxfield@apple.com>
2
3         WebProcessProxy::updateProcessState() is causing duplicate symbol linker errors
4         https://bugs.webkit.org/show_bug.cgi?id=129390
5
6         Reviewed by Tim Horton.
7
8         Caused by r164737. WebProcessProxy::updateProcessState() is defined in a header, outside of
9         a class, but isn't inlined.
10
11         * UIProcess/WebProcessProxy.h:
12         (WebKit::WebProcessProxy::updateProcessState):
13
14 2014-02-26  Brian Burg  <bburg@apple.com>
15
16         Web Replay: route through UserInputBridge when delivering user inputs to WebCore
17         https://bugs.webkit.org/show_bug.cgi?id=128150
18
19         Reviewed by Timothy Hatcher.
20
21         When delivering user inputs to WebCore, route calls through the page's UserInputBridge.
22         This allows us to capture and replay user inputs from WebKit2 solely within WebCore.
23
24         * WebProcess/WebPage/WebPage.cpp:
25         (WebKit::WebPage::tryClose):
26         (WebKit::WebPage::loadRequest):
27         (WebKit::WebPage::stopLoadingFrame):
28         (WebKit::WebPage::stopLoading):
29         (WebKit::WebPage::reload):
30         (WebKit::WebPage::contextMenuAtPointInWindow):
31         (WebKit::handleContextMenuEvent):
32         (WebKit::handleMouseEvent):
33         (WebKit::handleWheelEvent):
34         (WebKit::handleKeyEvent):
35         (WebKit::WebPage::scroll):
36         (WebKit::WebPage::logicalScroll):
37
38 2014-02-26  Pratik Solanki  <psolanki@apple.com>
39
40         [iOS][WebKit2] Adopt SPI for managing tabs
41         https://bugs.webkit.org/show_bug.cgi?id=129188
42         <rdar://problem/15939827>
43
44         Reviewed by Gavin Barraclough.
45
46         Call into assertions SPI to mark tabs as foreground and background.
47
48         * Configurations/WebKit2.xcconfig:
49         * Platform/IPC/Connection.h:
50         (IPC::Connection::xpcConnection): Expose the xpc_connection_t.
51         * UIProcess/WebPageProxy.cpp:
52         (WebKit::WebPageProxy::viewStateDidChange):
53         * UIProcess/WebProcessProxy.cpp:
54         (WebKit::WebProcessProxy::didFinishLaunching):
55         * UIProcess/WebProcessProxy.h:
56         (WebKit::WebProcessProxy::updateProcessState):
57         * UIProcess/ios/WebProcessProxyIOS.mm:
58         (WebKit::WebProcessProxy::updateProcessState): Added. This goes through the list of
59         WebPageProxies and sets the process state to foreground if one of them is in a window.
60         Otherwise, it sets it to background.
61
62 2014-02-26  Commit Queue  <commit-queue@webkit.org>
63
64         Unreviewed, rolling out r164725 and r164731.
65         http://trac.webkit.org/changeset/164725
66         http://trac.webkit.org/changeset/164731
67         https://bugs.webkit.org/show_bug.cgi?id=129382
68
69         WebKitTestRunner build is broken on IOS (Requested by smfr on
70         #webkit).
71
72         * UIProcess/API/Cocoa/WKView.h:
73         * UIProcess/API/ios/WKViewIOS.mm: Added.
74         (-[WKView initWithCoder:]):
75         (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
76         (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
77         (-[WKView dealloc]):
78         (-[WKView setFrame:]):
79         (-[WKView setBounds:]):
80         (-[WKView scrollView]):
81         (-[WKView browsingContextController]):
82         (-[WKView setAllowsBackForwardNavigationGestures:]):
83         (-[WKView allowsBackForwardNavigationGestures]):
84         (-[WKView viewForZoomingInScrollView:]):
85         (-[WKView scrollViewWillBeginZooming:withView:]):
86         (-[WKView scrollViewWillBeginDragging:]):
87         (-[WKView _didFinishScrolling]):
88         (-[WKView scrollViewDidEndDragging:willDecelerate:]):
89         (-[WKView scrollViewDidEndDecelerating:]):
90         (-[WKView scrollViewDidScrollToTop:]):
91         (-[WKView scrollViewDidScroll:]):
92         (-[WKView scrollViewDidZoom:]):
93         (-[WKView scrollViewDidEndZooming:withView:atScale:]):
94         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
95         (-[WKView _frameOrBoundsChanged]):
96         (-[WKView _updateVisibleContentRects]):
97         (-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
98         (-[WKView _keyboardWillChangeFrame:]):
99         (-[WKView _keyboardDidChangeFrame:]):
100         (-[WKView _keyboardWillShow:]):
101         (-[WKView _keyboardWillHide:]):
102         (-[WKView pageRef]):
103         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
104         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
105         (-[WKView minimumLayoutSizeOverride]):
106         (-[WKView setMinimumLayoutSizeOverride:]):
107         (-[WKView _obscuredInsets]):
108         (-[WKView _setObscuredInsets:]):
109         (-[WKView _beginInteractiveObscuredInsetsChange]):
110         (-[WKView _endInteractiveObscuredInsetsChange]):
111         (-[WKView _pageExtendedBackgroundColor]):
112         (-[WKView _setBackgroundExtendsBeyondPage:]):
113         (-[WKView _backgroundExtendsBeyondPage]):
114         * WebKit2.xcodeproj/project.pbxproj:
115
116 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
117
118         Build fix: ContextMenuContextData.* should not be in the Copy Files
119         phase.
120
121         * WebKit2.xcodeproj/project.pbxproj:
122
123 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
124
125         Fix MiniBrowser/WebKitTestRunner link errors; WKView still
126         needs to be exported while these tools are using it.
127
128         * UIProcess/API/Cocoa/WKView.h:
129
130 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
131
132         Fix the iOS build by wrapping some context menu stuff in #if ENABLE(CONTEXT_MENUS)
133
134         * UIProcess/WebPageProxy.h:
135
136 2014-02-26  Martin Hock  <mhock@apple.com>
137
138         Create SessionID value-style class for session IDs.
139         https://bugs.webkit.org/show_bug.cgi?id=129141
140
141         The below changes deal solely with mechanical changes to use the SessionID value class instead of uint64_t except where noted.
142
143         Reviewed by Sam Weinig.
144
145         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
146         (WebKit::storageSession):
147         (WebKit::NetworkConnectionToWebProcess::startDownload):
148         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
149         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
150         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
151         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
152         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
153         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
154         * NetworkProcess/NetworkConnectionToWebProcess.h:
155         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
156         * NetworkProcess/NetworkProcess.cpp:
157         (WebKit::NetworkProcess::initializeNetworkProcess):
158         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
159         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
160         * NetworkProcess/NetworkProcess.h:
161         * NetworkProcess/NetworkProcess.messages.in:
162         * NetworkProcess/NetworkResourceLoader.h:
163         * NetworkProcess/RemoteNetworkingContext.h:
164         * NetworkProcess/mac/RemoteNetworkingContext.mm:
165         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
166         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
167         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
168         * Shared/Network/NetworkResourceLoadParameters.cpp:
169         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
170         * Shared/Network/NetworkResourceLoadParameters.h:
171         * Shared/SessionTracker.cpp:
172         (WebKit::staticSessionMap):
173         (WebKit::storageSessionToID):
174         (WebKit::SessionTracker::sessionMap):
175         (WebKit::SessionTracker::session):
176         (WebKit::SessionTracker::sessionID):
177         (WebKit::SessionTracker::setSession):
178         (WebKit::SessionTracker::destroySession):
179         * Shared/SessionTracker.h: Move code to SessionID class.
180         * Shared/WebCoreArgumentCoders.cpp: Add encode and decode for SessionID.
181         (IPC::ArgumentCoder<SessionID>::encode):
182         (IPC::ArgumentCoder<SessionID>::decode):
183         * Shared/WebCoreArgumentCoders.h:
184         * Shared/mac/CookieStorageShim.mm:
185         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
186         * UIProcess/APISession.cpp:
187         (API::generateID):
188         (API::Session::defaultSession):
189         (API::Session::legacyPrivateSession):
190         (API::Session::Session):
191         (API::Session::isEphemeral):
192         (API::Session::getID):
193         * UIProcess/APISession.h:
194         * UIProcess/WebContext.cpp:
195         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
196         (WebKit::WebContext::createNewWebProcess):
197         * UIProcess/WebContext.h:
198         * UIProcess/WebPageProxy.h:
199         (WebKit::WebPageProxy::sessionID):
200         * WebProcess/InjectedBundle/InjectedBundle.cpp:
201         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
202         * WebProcess/Network/WebResourceLoadScheduler.cpp:
203         (WebKit::WebResourceLoadScheduler::scheduleLoad):
204         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
205         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
206         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
207         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
208         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
209         (WebKit::WebFrameNetworkingContext::storageSession):
210         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
211         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
212         (WebKit::WebFrameNetworkingContext::storageSession):
213         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
214         * WebProcess/WebPage/WebPage.cpp: Move sessionID to Page to allow WebCore to access it.
215         (WebKit::WebPage::WebPage):
216         (WebKit::WebPage::sessionID):
217         (WebKit::WebPage::isUsingEphemeralSession):
218         (WebKit::WebPage::setSessionID):
219         (WebKit::WebPage::updatePreferences):
220         * WebProcess/WebPage/WebPage.h:
221         * WebProcess/WebPage/WebPage.messages.in:
222         * WebProcess/WebProcess.cpp:
223         (WebKit::WebProcess::ensurePrivateBrowsingSession):
224         (WebKit::WebProcess::destroyPrivateBrowsingSession):
225         * WebProcess/WebProcess.h:
226         * WebProcess/WebProcess.messages.in:
227
228 2014-02-26  Anders Carlsson  <andersca@apple.com>
229
230         Get rid of WKViewIOS.mm
231         https://bugs.webkit.org/show_bug.cgi?id=129378
232
233         Reviewed by Simon Fraser.
234
235         * UIProcess/API/Cocoa/WKView.h:
236         * UIProcess/API/ios/WKViewIOS.mm: Removed.
237         * WebKit2.xcodeproj/project.pbxproj:
238
239 2014-02-26  Alexey Proskuryakov  <ap@apple.com>
240
241         [iOS] Remove some erroneously captured blocks
242         https://bugs.webkit.org/show_bug.cgi?id=129362
243
244         Reviewed by Sam Weinig.
245
246         Remove unused captured Objective-C block variables (capturing these doesn't work anyway).
247
248         * UIProcess/ios/WKContentViewInteraction.mm:
249         (-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]):
250         (-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
251
252 2014-02-26  Brady Eidson  <beidson@apple.com>
253
254         Pipe experimental image controls menu up to WebKit2
255         https://bugs.webkit.org/show_bug.cgi?id=129339
256
257         Reviewed by Simon Fraser.
258
259         Add a WebKit object to represent the data from a ContextMenuContext object that can be shared via IPC:
260         * Shared/ContextMenuContextData.cpp: Added.
261         (WebKit::ContextMenuContextData::ContextMenuContextData):
262         (WebKit::ContextMenuContextData::encode):
263         (WebKit::ContextMenuContextData::decode):
264         * Shared/ContextMenuContextData.h: Added.
265         (WebKit::ContextMenuContextData::webHitTestResultData):
266         (WebKit::ContextMenuContextData::isImageControl):
267
268         Update the rest of WK2 to use this object instead of WebHitTestResult::Data directly:
269         * UIProcess/WebPageProxy.cpp:
270         (WebKit::WebPageProxy::showContextMenu):
271         (WebKit::WebPageProxy::internalShowContextMenu): Also make an ENABLE(IMAGE_CONTROLS) change here.
272         * UIProcess/WebPageProxy.h:
273         * UIProcess/WebPageProxy.messages.in:
274
275         * WebProcess/WebPage/WebContextMenu.cpp:
276         (WebKit::WebContextMenu::show):
277
278         * CMakeLists.txt:
279         * GNUmakefile.list.am:
280         * WebKit2.xcodeproj/project.pbxproj:
281
282 2014-02-26  Enrique Ocaña González  <eocanha@igalia.com>
283
284         WebKitFindOptions shouldn't expose WEBKIT_FIND_OPTIONS_SHOW_{OVERLAY,FIND_INDICATOR,HIGHLIGHT}
285         https://bugs.webkit.org/show_bug.cgi?id=129263
286
287         Reviewed by Sergio Villar Senin.
288
289         Avoided the need of WEBKIT_FIND_OPTIONS_SHOW_* fields by changing the semantics
290         of the findOptions field in WebKitFindOptions.
291
292         * UIProcess/API/gtk/WebKitFindController.cpp: Now
293         _WebKitFindControllerPrivate.findOptions is interpreted as WebKit::FindOptions
294         instead of WebKitFindOptions like before. Now the conversion has to be done in
295         both ways.
296         (toWebKitFindOptions): Added conversion function from WebKit::FindOptions to
297         WebKitFindOptions.
298         (webkit_find_controller_get_options):
299         (webKitFindControllerPerform):
300         (webkit_find_controller_search):
301         (webkit_find_controller_search_next):
302         (webkit_find_controller_search_previous):
303         (webkit_find_controller_count_matches):
304         * UIProcess/API/gtk/WebKitFindController.h: Removed values that shouldn't be
305         exposed.
306
307 2014-02-26  Gergo Balogh  <gbalogh.u-szeged@partner.samsung.com>
308
309         Inspector server should be enabled only when the web sockets is enabled too.
310         https://bugs.webkit.org/show_bug.cgi?id=129304
311
312         Reviewed by Csaba Osztrogonác.
313
314         * config.h:
315
316 2014-02-26  Carlos Garcia Campos  <cgarcia@igalia.com>
317
318         Unreviewed. Fix GTK+ build after r164702.
319
320         * UIProcess/DrawingAreaProxy.cpp:
321
322 2014-02-26  Martin Robinson  <mrobinson@igalia.com>
323
324         [GTK] generate-gtkdoc can fail with WebKit1 or WebKit2 only builds
325         https://bugs.webkit.org/show_bug.cgi?id=129319
326
327         Reviewed by Carlos Garcia Campos.
328
329         * GNUmakefile.am: Do not generate the documentation configuration file if the port
330         is disabled.
331
332 2014-02-25  Benjamin Poulain  <bpoulain@apple.com>
333
334         [iOS][WK2] Split the rects/scale updates in 3 internally consistent groups
335         https://bugs.webkit.org/show_bug.cgi?id=129354
336
337         Reviewed by Sam Weinig.
338
339         During scaling, the scale and rect of UIScrollView, WebPageProxy, DrawingAreaProxy,
340         DrawingArea and WebPage were in completely inconsistent states.
341
342         Some of those disconnect were temporary (like when setting the rect and scale in two different
343         messages), some were lasting the time of a tile update (like the UIProcess view of the scale).
344         This was causing various visual glitches.
345
346         To fix this, all the updates from the UIProcess are funneled through a single path and the values
347         are split into 3 different groups/types.
348         When updating the scale/rects, the UIProcess sends the new information to the WebProcess on a queue
349         through ViewUpdateDispatcher. There, the updates are accumulated until the MainThread is available.
350         Once the main thread is "unblocked" from the previous frame, all the data are updated at once from
351         the last known state in ViewUpdateDispatcher. The new tiles are created for the new converage information
352         and they are sent to the UIProcess.
353
354         At any point, there are 3 types of scale and rects used for different purpose:
355         -In the UIProcess, there is the UIScrollView scale and rects which represent the "true" state or what
356          is currently on screen.
357          That information is mirrored into WebPageProxy for the other classes needing it like DrawingAreaProxy.
358         -In the WebProcess, there is the last known state. That state is always lagging a little behind the "true"
359          state.
360         -Back in the UIProcess, we have the tile states that is attached to RemoteLayerTreeTransaction. It is used
361          to setup the rendering.
362
363         With this change, there are two paths for updating the page scale factor:
364         -The UI drives the change, the updates goes WKWebView->WKContentView->WebPageProxy->ViewUpdateDispatcher
365          ->WebPage->RemoteLayerTreeDrawingArea->RemoteLayerTreeDrawingAreaProxy->WKContentView->WKWebView.
366         -If changes in the content force scaling parameters, the updates goes: WebPage->RemoteLayerTreeDrawingArea
367          ->RemoteLayerTreeDrawingAreaProxy->WKContentView->WKWebView.
368         The two kind of updates frequently conflicts during loading. We differentiate those through the flag
369         scaleWasSetByUIProcess passed with the updates. In cases of conflicts, the user always wins.
370
371         * DerivedSources.make:
372         * Scripts/webkit2/messages.py:
373         (struct_or_class):
374         * Shared/VisibleContentRectUpdateInfo.cpp: Added.
375         (WebKit::VisibleContentRectUpdateInfo::encode):
376         (WebKit::VisibleContentRectUpdateInfo::decode):
377         * Shared/VisibleContentRectUpdateInfo.h: Added.
378         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
379         (WebKit::VisibleContentRectUpdateInfo::exposedRect):
380         (WebKit::VisibleContentRectUpdateInfo::unobscuredRect):
381         (WebKit::VisibleContentRectUpdateInfo::scale):
382         (WebKit::operator==):
383         * Shared/mac/RemoteLayerTreeTransaction.h:
384         (WebKit::RemoteLayerTreeTransaction::scaleWasSetByUIProcess):
385         (WebKit::RemoteLayerTreeTransaction::setScaleWasSetByUIProcess):
386         * Shared/mac/RemoteLayerTreeTransaction.mm:
387         (WebKit::RemoteLayerTreeTransaction::encode):
388         (WebKit::RemoteLayerTreeTransaction::decode):
389         * UIProcess/API/Cocoa/WKWebView.mm:
390         (-[WKWebView contentView:didCommitLayerTree:WebKit::]):
391         (-[WKWebView _didFinishScrolling]):
392         (-[WKWebView scrollViewDidScroll:]):
393         (-[WKWebView scrollViewDidZoom:]):
394         (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
395         (-[WKWebView _frameOrBoundsChanged]):
396         (-[WKWebView _updateVisibleContentRectsWithStableState:]):
397         (-[WKWebView _setObscuredInsets:]):
398         (-[WKWebView _endInteractiveObscuredInsetsChange]):
399         * UIProcess/API/ios/WKViewIOS.mm:
400         (-[WKView _updateVisibleContentRects]):
401         * UIProcess/DrawingAreaProxy.cpp:
402         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
403         (WebKit::DrawingAreaProxy::setCustomFixedPositionRect):
404         * UIProcess/DrawingAreaProxy.h:
405         (WebKit::DrawingAreaProxy::updateDebugIndicator):
406         * UIProcess/WebPageProxy.h:
407         (WebKit::WebPageProxy::displayedContentScale):
408         (WebKit::WebPageProxy::exposedContentRect):
409         (WebKit::WebPageProxy::unobscuredContentRect):
410         * UIProcess/ios/WKContentView.h:
411         * UIProcess/ios/WKContentView.mm:
412         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
413         (-[WKContentView didFinishScrolling]):
414         (-[WKContentView didZoomToScale:]):
415         * UIProcess/ios/WebPageProxyIOS.mm:
416         (WebKit::WebPageProxy::updateVisibleContentRects):
417         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
418         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
419         (WebKit::RemoteLayerTreeDrawingAreaProxy::scaledExposedRect):
420         (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
421         (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
422         (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
423         * WebKit2.xcodeproj/project.pbxproj:
424         * WebProcess/WebPage/ViewUpdateDispatcher.cpp: Added.
425         (WebKit::ViewUpdateDispatcher::create):
426         (WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher):
427         (WebKit::ViewUpdateDispatcher::~ViewUpdateDispatcher):
428         (WebKit::ViewUpdateDispatcher::initializeConnection):
429         (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
430         (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
431         * WebProcess/WebPage/ViewUpdateDispatcher.h: Added.
432         * WebProcess/WebPage/ViewUpdateDispatcher.messages.in: Added.
433         * WebProcess/WebPage/WebPage.cpp:
434         (WebKit::WebPage::WebPage):
435         (WebKit::WebPage::scalePage):
436         * WebProcess/WebPage/WebPage.h:
437         (WebKit::WebPage::scaleWasSetByUIProcess):
438         * WebProcess/WebPage/WebPage.messages.in:
439         * WebProcess/WebPage/ios/WebPageIOS.mm:
440         (WebKit::WebPage::tapHighlightAtPosition):
441         (WebKit::WebPage::updateVisibleContentRects):
442         (WebKit::WebPage::willStartUserTriggeredZooming):
443         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
444         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
445         * WebProcess/WebProcess.cpp:
446         (WebKit::WebProcess::WebProcess):
447         (WebKit::WebProcess::initializeConnection):
448         * WebProcess/WebProcess.h:
449
450 2014-02-25  Anders Carlsson  <andersca@apple.com>
451
452         Rename WebCore::VisitedLinkProvider to WebCore::VisitedLinkStore
453         https://bugs.webkit.org/show_bug.cgi?id=129357
454
455         Reviewed by Sam Weinig.
456
457         * WebProcess/WebPage/WebPage.cpp:
458         (WebKit::WebPage::WebPage):
459         * WebProcess/WebPage/WebVisitedLinkProvider.h:
460
461 2014-02-25  Enrica Casucci  <enrica@apple.com>
462
463         [WebKit2] Form controls handling.
464         https://bugs.webkit.org/show_bug.cgi?id=129344
465         <rdar://problem/16053643>
466
467         Reviewed by Simon Fraser and Joseph Pecoraro.
468
469         This is the step toward adding support for
470         form controls iOS style. It adds the logic to
471         select the appropriate keyboard type based on the
472         element type and introduces the AssistedNodeInformation
473         structure used currently for the keyboard type selection
474         and that will be used to populate pickers and popovers.
475         It also provides information to enable/disable next/previous
476         buttons in the accessory view.
477
478         * Scripts/webkit2/messages.py:
479         (struct_or_class):
480         * Shared/AssistedNodeInformation.cpp: Added.
481         (WebKit::AssistedNodeInformation::encode):
482         (WebKit::AssistedNodeInformation::decode):
483         * Shared/AssistedNodeInformation.h: Added.
484         (WebKit::AssistedNodeInformation::AssistedNodeInformation):
485         * UIProcess/PageClient.h:
486         * UIProcess/WebPageProxy.h:
487         * UIProcess/WebPageProxy.messages.in:
488         * UIProcess/ios/PageClientImplIOS.h:
489         * UIProcess/ios/PageClientImplIOS.mm:
490         (WebKit::PageClientImpl::startAssistingNode):
491         * UIProcess/ios/WKContentViewInteraction.h:
492         * UIProcess/ios/WKContentViewInteraction.mm:
493         (-[WKContentView _requiresKeyboardWhenFirstResponder]):
494         (-[WKContentView _updateAccessory]):
495         (toUITextAutocapitalize):
496         (-[WKContentView textInputTraits]):
497         (-[WKContentView assistedNodeInformation]):
498         (-[WKContentView _startAssistingNode:]):
499         (-[WKContentView _stopAssistingNode]):
500         * UIProcess/ios/WebPageProxyIOS.mm:
501         (WebKit::WebPageProxy::startAssistingNode):
502         * WebKit2.xcodeproj/project.pbxproj:
503         * WebProcess/WebPage/WebPage.h:
504         * WebProcess/WebPage/ios/WebPageIOS.mm:
505         (WebKit::isAssistableNode):
506         (WebKit::hasFocusableNode):
507         (WebKit::WebPage::getAssistedNodeInformation):
508         (WebKit::WebPage::elementDidFocus):
509
510 2014-02-25  Anders Carlsson  <andersca@apple.com>
511
512         VisitedLinkProvider should be refcounted
513         https://bugs.webkit.org/show_bug.cgi?id=129351
514
515         Reviewed by Sam Weinig.
516
517         * UIProcess/VisitedLinkProvider.cpp:
518         (WebKit::VisitedLinkProvider::create):
519         (WebKit::VisitedLinkProvider::~VisitedLinkProvider):
520         * UIProcess/VisitedLinkProvider.h:
521         * UIProcess/WebContext.cpp:
522         (WebKit::WebContext::WebContext):
523         (WebKit::WebContext::processDidFinishLaunching):
524         (WebKit::WebContext::disconnectProcess):
525         (WebKit::WebContext::addVisitedLinkHash):
526         * UIProcess/WebContext.h:
527
528 2014-02-25  Anders Carlsson  <andersca@apple.com>
529
530         Make WebContext handle populating visited links
531         https://bugs.webkit.org/show_bug.cgi?id=129348
532
533         Reviewed by Tim Horton.
534
535         This makes it possible to decouple VisitedLinkProvider from WebContext.
536
537         * UIProcess/VisitedLinkProvider.cpp:
538         (WebKit::VisitedLinkProvider::VisitedLinkProvider):
539         (WebKit::VisitedLinkProvider::processDidFinishLaunching):
540         * UIProcess/VisitedLinkProvider.h:
541         * UIProcess/WebContext.cpp:
542         (WebKit::WebContext::WebContext):
543         (WebKit::WebContext::processDidFinishLaunching):
544         * UIProcess/WebContext.h:
545
546 2014-02-25  Anders Carlsson  <andersca@apple.com>
547
548         DrawingAreaProxy is using WebCore's Timer
549         https://bugs.webkit.org/show_bug.cgi?id=129347
550         <rdar://problem/16078133>
551
552         Reviewed by Tim Horton.
553
554         Use a RunLoop::Timer instead.
555
556         * UIProcess/DrawingAreaProxy.cpp:
557         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
558         (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
559         * UIProcess/DrawingAreaProxy.h:
560
561 2014-02-25  Anders Carlsson  <andersca@apple.com>
562
563         Add WKVisitedLinkProvider
564         https://bugs.webkit.org/show_bug.cgi?id=129343
565
566         Reviewed by Sam Weinig.
567
568         * UIProcess/API/Cocoa/WKVisitedLinkProvider.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
569         * UIProcess/API/Cocoa/WKVisitedLinkProvider.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
570         * UIProcess/API/Cocoa/WKVisitedLinkProviderInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
571         * UIProcess/API/Cocoa/WKVisitedLinkProviderPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
572         * UIProcess/API/Cocoa/WKWebView.mm:
573         (-[WKWebView initWithFrame:configuration:]):
574         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
575         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
576         (-[WKWebViewConfiguration visitedLinkProvider]):
577         (-[WKWebViewConfiguration setVisitedLinkProvider:]):
578         * WebKit2.xcodeproj/project.pbxproj:
579
580 2014-02-25  Anders Carlsson  <andersca@apple.com>
581
582         Simplify visited link style invalidation
583         https://bugs.webkit.org/show_bug.cgi?id=129340
584
585         Reviewed by Dan Bernstein.
586
587         * UIProcess/VisitedLinkProvider.cpp:
588         (WebKit::VisitedLinkProvider::addVisitedLink):
589         * WebProcess/WebProcess.cpp:
590         (WebKit::WebProcess::visitedLinkStateChanged):
591         (WebKit::WebProcess::allVisitedLinkStateChanged):
592
593 2014-02-25  Anders Carlsson  <andersca@apple.com>
594
595         Fix build.
596
597         Remove VisitedLinkStrategy.
598
599         * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
600         * NetworkProcess/NetworkProcessPlatformStrategies.h:
601         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
602         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
603
604 2014-02-25  Alexey Proskuryakov  <ap@apple.com>
605
606         Rolling out http://trac.webkit.org/changeset/164611, because it broke
607         WebKit2.PrivateBrowsingPushStateNoHistoryCallback API test
608
609         The change was for:
610
611         https://bugs.webkit.org/show_bug.cgi?id=129141
612         Create SessionID class
613
614 2014-02-25  Dan Bernstein  <mitz@apple.com>
615
616         [Cocoa] Add delegate method for customizing actions on activated elements
617         https://bugs.webkit.org/show_bug.cgi?id=129290
618
619         Reviewed by Anders Carlsson.
620
621         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added. Declared new delegate method.
622
623         * UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
624         (_WKActivatedElementType): Defined enum of element types.
625         * UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
626         (-[_WKActivatedElementInfo _initWithType:URL:location:title:rect:]): Added type parameter
627         to the initializer, used to set the new type property.
628         * UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h:
629
630         * UIProcess/Cocoa/UIClient.h:
631         * UIProcess/Cocoa/UIClient.mm:
632         (WebKit::UIClient::setDelegate): Initialize webViewActionsForElementDefaultActions member
633         of m_delegateMethods.
634         (WebKit::UIClient::actionsForElement): Added. Calls out to the new delegate method if
635         implemented. Otherwise returns the default actions.
636
637         * UIProcess/ios/WKActionSheetAssistant.mm:
638         (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]): Use new _elementInfo ivar
639         instead of creating element info here.
640         (-[WKActionSheetAssistant showImageSheet]): Create element info here and assign it to
641         _elementInfo ivar if presenting a sheet. Call the UI client to get custom actions.
642         (-[WKActionSheetAssistant showLinkSheet]): Ditto.
643         (-[WKActionSheetAssistant cleanupSheet]): Clear _elementInfo ivar.
644         * WebKit2.xcodeproj/project.pbxproj: Added reference to WKUIDelegatePrivate.h.
645
646 2014-02-25  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
647
648         Unreviewed EFL build fix attempt after r164562
649
650         * CMakeLists.txt: Added WebVisitedLinkProvider.cpp.
651
652 2014-02-25  Sergio Villar Senin  <svillar@igalia.com>
653
654         [CSS Grid Layout] Add ENABLE flag
655         https://bugs.webkit.org/show_bug.cgi?id=129153
656
657         Reviewed by Simon Fraser.
658
659         Added ENABLE_CSS_GRID_LAYOUT feature flag.
660
661         * Configurations/FeatureDefines.xcconfig:
662         * WebProcess/WebPage/WebPage.cpp:
663         (WebKit::WebPage::updatePreferences):
664
665 2014-02-25  Zan Dobersek  <zdobersek@igalia.com>
666
667         Unreviewed GTK build fix after r164652.
668
669         * GNUmakefile.list.am: Add WebVisitedLinkProvider build targets.
670
671 2014-02-24  Anders Carlsson  <andersca@apple.com>
672
673         Make it possible to set the visited link provider on a per page basis
674         https://bugs.webkit.org/show_bug.cgi?id=129288
675
676         Reviewed by Andreas Kling.
677
678         Add WebVisitedLinkProvider which just calls the web process.
679
680         * WebKit2.xcodeproj/project.pbxproj:
681         * WebProcess/WebPage/WebPage.cpp:
682         (WebKit::WebPage::WebPage):
683         * WebProcess/WebPage/WebVisitedLinkProvider.cpp: Added.
684         (WebKit::WebVisitedLinkProvider::create):
685         (WebKit::WebVisitedLinkProvider::WebVisitedLinkProvider):
686         (WebKit::WebVisitedLinkProvider::~WebVisitedLinkProvider):
687         (WebKit::WebVisitedLinkProvider::isLinkVisited):
688         (WebKit::WebVisitedLinkProvider::addVisitedLink):
689         * WebProcess/WebPage/WebVisitedLinkProvider.h: Added.
690
691 2014-02-25  Dan Bernstein  <mitz@apple.com>
692
693         Build fix for case-sensitive filesystems.
694
695         * WebProcess/ios/WebVideoFullscreenManager.cpp:
696
697 2014-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
698
699         [GTK] Mark view source mode methods as deprecated
700         https://bugs.webkit.org/show_bug.cgi?id=128920
701
702         Reviewed by Martin Robinson.
703
704         Mark WEBKIT_VIEW_MODE_SOURCE as deprecated in documentation and
705         only show warnings when set_view_mode is used with WEBKIT_VIEW_MODE_SOURCE.
706
707         * UIProcess/API/gtk/WebKitWebView.cpp:
708         (webkit_web_view_set_view_mode):
709         (webkit_web_view_get_view_mode):
710         * UIProcess/API/gtk/WebKitWebView.h:
711
712 2014-02-24  Alexey Proskuryakov  <ap@apple.com>
713
714         [Mac] Stop looking for plug-in profiles in /S/L/Sandbox/Profiles
715         https://bugs.webkit.org/show_bug.cgi?id=129262
716         <rdar://problem/16149420>
717
718         Reviewed by Sam Weinig.
719
720         Remove unused code.
721
722         * Shared/Plugins/mac/PluginSandboxProfile.mm:
723         (WebKit::pluginSandboxProfileDirectory):
724         (WebKit::pluginSandboxCommonProfile):
725         (WebKit::pluginSandboxProfile):
726         (WebKit::pluginHasSandboxProfile):
727
728 2014-02-24  Martin Robinson  <mrobinson@igalia.com>
729
730         [GTK] generate-gtkdoc should not generate documentation for source files for unbuilt source files
731         https://bugs.webkit.org/show_bug.cgi?id=128417
732
733         Reviewed by Carlos Garcia Campos.
734
735         * GNUmakefile.am: Generate a config file for generate-gtkdoc.
736         * PlatformGTK.cmake: Ditto.
737
738 2014-02-24  Dan Bernstein  <mitz@apple.com>
739
740         32-bit build fix.
741
742         * UIProcess/API/Cocoa/_WKElementAction.mm:
743         (+[_WKElementAction elementActionWithType:customTitle:]):
744
745 2014-02-24  Dan Bernstein  <mitz@apple.com>
746
747         [Cocoa] Start adding API for customizing actions on activated elements
748         https://bugs.webkit.org/show_bug.cgi?id=129284
749
750         Reviewed by Anders Carlsson.
751
752         * UIProcess/API/Cocoa/_WKActivatedElementInfo.h: Added. Includes the public interface of what
753         was WKElementActionInfo.
754         * UIProcess/API/Cocoa/_WKActivatedElementInfo.m: Added.
755         (-[_WKActivatedElementInfo _initWithURL:location:title:rect:]): Moved and renamed internal
756         initializer from WKElementActionInfo.
757         (-[_WKActivatedElementInfo dealloc]): Moved from WKElementActionInfo.
758         (-[_WKActivatedElementInfo _boundingRect]): Added private accessor.
759         (-[_WKActivatedElementInfo _interactionLocation]): Ditto.
760         * UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h: Added.
761
762         * UIProcess/API/Cocoa/_WKElementAction.h: Added.
763         (_WKElementActionType): Moved from WKActionSheet.h and turned into a proper NS_ENUM.
764         * UIProcess/API/Cocoa/_WKElementAction.mm: Added.
765         (-[_WKElementAction _initWithTitle:actionHandler:type:]): Moved and renamed internal
766         initializer from WKActionSheet.mm.
767         (-[_WKElementAction dealloc]): Moved from WKActionSheet.mm.
768         (+[_WKElementAction elementActionWithTitle:actionHandler:]): Moved and renamed.
769         (copyElement): Moved from WKActionSheet.mm.
770         (saveImage): Ditto.
771         (addToReadingList): Ditto.
772         (+[_WKElementAction elementActionWithType:customTitle:]): Moved and renamed.
773         (+[_WKElementAction elementActionWithType:]): Ditto.
774         (-[_WKElementAction _runActionWithElementInfo:view:]): Moved from WKActionSheet.mm.
775         * UIProcess/API/Cocoa/WKElementActionInternal.h: Added.
776
777         * UIProcess/ios/WKActionSheet.h: Removed declarations that were moved elsewhere.
778         * UIProcess/ios/WKActionSheet.mm: Removed code that was moved elsewhere.
779         * UIProcess/ios/WKActionSheetAssistant.mm:
780         (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]):
781         (-[WKActionSheetAssistant showImageSheet]):
782         (-[WKActionSheetAssistant showLinkSheet]):
783         (-[WKActionSheetAssistant showDataDetectorsSheet]):
784
785         * WebKit2.xcodeproj/project.pbxproj: Added references to new files. Changed the Objective-C
786         class name check to allow _WK as a class name prefix.
787
788 2014-02-24  Simon Fraser  <simon.fraser@apple.com>
789
790         Use RetainPtrs for two WKContentView data members
791         https://bugs.webkit.org/show_bug.cgi?id=129276
792
793         Reviewed by Benjamin Poulain.
794         
795         The UITextInputTraits were leaked. Fix with RetainPtr goodness.
796         
797         Rename the obscure _accessory to _formAccessoryView and
798         make it a RetainPtr.
799         
800         Rearrange the data members of the WKContentView class extension
801         for better packing and readability.
802
803         * UIProcess/ios/WKContentView.h:
804         * UIProcess/ios/WKContentViewInteraction.h:
805         * UIProcess/ios/WKContentViewInteraction.mm:
806         (-[WKContentView cleanupInteraction]):
807         (-[WKContentView inputAccessoryView]):
808         (-[WKContentView _updateAccessory]):
809         (-[WKContentView textInputTraits]):
810
811 2014-02-24  Simon Fraser  <simon.fraser@apple.com>
812
813         Remove WKInteractionView, move code into WKContentView
814         https://bugs.webkit.org/show_bug.cgi?id=129275
815
816         Reviewed by Benjamin Poulain.
817         
818         WKInteractionView as an interim solution as WebKit2 on iOS was being
819         brought up, and should be removed.
820         
821         Move its code into a category on WKContentView, mostly unchanged. The
822         WKContentView (WKInteraction) categroy now implements the various protocols
823         that WKInteractionView implemented.
824         
825         WKContentView is not an API class, so no longer has WK_API_CLASS, and can
826         have implementation-related data members. WKContentViewInternal.h is removed.
827         
828         WKContentView now exposes a WebPageProxy* rather than a WKPageRef.
829         
830         Other changes: WKActionSheetAssistant no longer stores a WebPageProxy,
831         getting it from the WKContentView instead.
832         
833         WKAutoCorrectionData and InteractionInformationAtPosition are stored via unique_ptr
834         to reduce class size, and avoid having to expose their details in the header.
835
836         * Configurations/WebKit2.xcconfig:
837         * UIProcess/API/Cocoa/WKWebViewInternal.h:
838         * UIProcess/API/ios/WKViewIOS.mm:
839         (-[WKView setAllowsBackForwardNavigationGestures:]):
840         (-[WKView pageRef]):
841         (-[WKView _pageExtendedBackgroundColor]):
842         (-[WKView _setBackgroundExtendsBeyondPage:]):
843         (-[WKView _backgroundExtendsBeyondPage]):
844         * UIProcess/ios/PageClientImplIOS.mm:
845         * UIProcess/ios/WKActionSheet.h:
846         * UIProcess/ios/WKActionSheet.mm:
847         (-[WKActionSheet initWithView:]):
848         (+[WKElementAction customElementActionWithTitle:actionHandler:]):
849         (copyElement):
850         (saveImage):
851         (+[WKElementAction standardElementActionWithType:customTitle:]):
852         (-[WKElementAction runActionWithElementInfo:view:]):
853         * UIProcess/ios/WKActionSheetAssistant.h:
854         * UIProcess/ios/WKActionSheetAssistant.mm:
855         (-[WKActionSheetAssistant initWithView:]):
856         (-[WKActionSheetAssistant dealloc]):
857         (-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]):
858         (-[WKActionSheetAssistant presentationRectInHostViewForSheet]):
859         (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]):
860         (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
861         (-[WKActionSheetAssistant showImageSheet]):
862         (-[WKActionSheetAssistant showLinkSheet]):
863         (-[WKActionSheetAssistant showDataDetectorsSheet]):
864         (-[WKActionSheetAssistant cleanupSheet]):
865         * UIProcess/ios/WKContentView.h:
866         * UIProcess/ios/WKContentView.mm:
867         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):
868         (-[WKContentView dealloc]):
869         (-[WKContentView page]):
870         (-[WKContentView isAssistingNode]):
871         (-[WKContentView didFinishScrolling]):
872         (-[WKContentView willStartZoomOrScroll]):
873         (-[WKContentView willStartUserTriggeredScroll]):
874         (-[WKContentView willStartUserTriggeredZoom]):
875         (-[WKContentView didZoomToScale:]):
876         (-[WKContentView _didCommitLoadForMainFrame]):
877         (-[WKContentView _didCommitLayerTree:WebKit::]):
878         * UIProcess/ios/WKContentViewInteraction.h: Renamed from Source/WebKit2/UIProcess/ios/WKInteractionView.h.
879         * UIProcess/ios/WKContentViewInteraction.mm: Renamed from Source/WebKit2/UIProcess/ios/WKInteractionView.mm.
880         (-[WKContentView setupInteraction]):
881         (-[WKContentView cleanupInteraction]):
882         (-[WKContentView positionInformation]):
883         (-[WKContentView setInputDelegate:]):
884         (-[WKContentView inputDelegate]):
885         (-[WKContentView isEditable]):
886         (-[WKContentView canBecomeFirstResponder]):
887         (-[WKContentView resignFirstResponder]):
888         (-[WKContentView _webTouchEventsRecognized:]):
889         (inflateQuad):
890         (-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):
891         (-[WKContentView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
892         (-[WKContentView _cancelLongPressGestureRecognizer]):
893         (-[WKContentView _didScroll]):
894         (-[WKContentView _requiresKeyboardResetOnReload]):
895         (-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):
896         (-[WKContentView gestureRecognizer:canBePreventedByGestureRecognizer:]):
897         (isSamePair):
898         (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
899         (-[WKContentView _showImageSheet]):
900         (-[WKContentView _showLinkSheet]):
901         (-[WKContentView _showDataDetectorsSheet]):
902         (-[WKContentView _actionForLongPress]):
903         (-[WKContentView ensurePositionInformationIsUpToDate:]):
904         (-[WKContentView _updatePositionInformation]):
905         (-[WKContentView gestureRecognizerShouldBegin:]):
906         (-[WKContentView _cancelInteraction]):
907         (-[WKContentView hasSelectablePositionAtPoint:]):
908         (-[WKContentView pointIsInAssistedNode:]):
909         (-[WKContentView webSelectionRects]):
910         (-[WKContentView _highlightLongPressRecognized:]):
911         (-[WKContentView _longPressRecognized:]):
912         (-[WKContentView _singleTapRecognized:]):
913         (-[WKContentView _doubleTapRecognized:]):
914         (-[WKContentView _twoFingerDoubleTapRecognized:]):
915         (-[WKContentView _twoFingerPanRecognized:]):
916         (-[WKContentView _attemptClickAtLocation:]):
917         (-[WKContentView useSelectionAssistantWithMode:]):
918         (-[WKContentView clearSelection]):
919         (-[WKContentView _positionInformationDidChange:]):
920         (-[WKContentView _willStartScrollingOrZooming]):
921         (-[WKContentView _willStartUserTriggeredScrollingOrZooming]):
922         (-[WKContentView _didEndScrollingOrZooming]):
923         (-[WKContentView inputAccessoryView]):
924         (-[WKContentView supportedPasteboardTypesForCurrentSelection]):
925         (-[WKContentView _addShortcut:]):
926         (-[WKContentView _promptForReplace:]):
927         (-[WKContentView replace:]):
928         (-[WKContentView canPerformAction:withSender:]):
929         (-[WKContentView _resetShowingTextStyle:]):
930         (-[WKContentView _performAction:]):
931         (-[WKContentView copy:]):
932         (-[WKContentView cut:]):
933         (-[WKContentView paste:]):
934         (-[WKContentView select:]):
935         (-[WKContentView selectAll:]):
936         (-[WKContentView toggleBoldface:]):
937         (-[WKContentView toggleItalics:]):
938         (-[WKContentView toggleUnderline:]):
939         (-[WKContentView _showTextStyleOptions:]):
940         (-[WKContentView _showDictionary:]):
941         (-[WKContentView _define:]):
942         (toWKGestureType):
943         (toUIWKGestureType):
944         (toWKSelectionTouch):
945         (toUIWKSelectionTouch):
946         (toWKGestureRecognizerState):
947         (toUIGestureRecognizerState):
948         (toUIWKSelectionFlags):
949         (toWKHandlePosition):
950         (selectionChangedWithGesture):
951         (selectionChangedWithTouch):
952         (-[WKContentView _didUpdateBlockSelectionWithTouch:WebKit::withFlags:WebKit::growThreshold:shrinkThreshold:]):
953         (-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
954         (-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
955         (-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
956         (-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):
957         (-[WKContentView autocorrectionData]):
958         (-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]):
959         (-[WKContentView textFirstRect]):
960         (-[WKContentView textLastRect]):
961         (-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):
962         (-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
963         (-[WKContentView accessoryDone]):
964         (-[WKContentView accessoryTab:]):
965         (-[WKContentView accessoryAutoFill]):
966         (-[WKContentView accessoryClear]):
967         (-[WKContentView _updateAccessory]):
968         (-[WKContentView textInRange:]):
969         (-[WKContentView replaceRange:withText:]):
970         (-[WKContentView selectedTextRange]):
971         (-[WKContentView caretRectForPosition:]):
972         (-[WKContentView selectionRectsForRange:]):
973         (-[WKContentView setSelectedTextRange:]):
974         (-[WKContentView hasMarkedText]):
975         (-[WKContentView markedText]):
976         (-[WKContentView markedTextRange]):
977         (-[WKContentView markedTextStyle]):
978         (-[WKContentView setMarkedTextStyle:]):
979         (-[WKContentView setMarkedText:selectedRange:]):
980         (-[WKContentView unmarkText]):
981         (-[WKContentView beginningOfDocument]):
982         (-[WKContentView endOfDocument]):
983         (-[WKContentView textRangeFromPosition:toPosition:]):
984         (-[WKContentView positionFromPosition:offset:]):
985         (-[WKContentView positionFromPosition:inDirection:offset:]):
986         (-[WKContentView comparePosition:toPosition:]):
987         (-[WKContentView offsetFromPosition:toPosition:]):
988         (-[WKContentView tokenizer]):
989         (-[WKContentView positionWithinRange:farthestInDirection:]):
990         (-[WKContentView characterRangeByExtendingPosition:inDirection:]):
991         (-[WKContentView baseWritingDirectionForPosition:inDirection:]):
992         (-[WKContentView setBaseWritingDirection:forRange:]):
993         (-[WKContentView firstRectForRange:]):
994         (-[WKContentView closestPositionToPoint:]):
995         (-[WKContentView closestPositionToPoint:withinRange:]):
996         (-[WKContentView characterRangeAtPoint:]):
997         (-[WKContentView deleteBackward]):
998         (-[WKContentView insertText:]):
999         (-[WKContentView hasText]):
1000         (-[WKContentView textInputTraits]):
1001         (-[WKContentView interactionAssistant]):
1002         (-[WKContentView webSelectionAssistant]):
1003         (-[WKContentView selectionRange]):
1004         (-[WKContentView rectForNSRange:]):
1005         (-[WKContentView _markedTextNSRange]):
1006         (-[WKContentView selectedDOMRange]):
1007         (-[WKContentView setSelectedDOMRange:affinityDownstream:]):
1008         (-[WKContentView replaceRangeWithTextWithoutClosingTyping:replacementText:]):
1009         (-[WKContentView rectContainingCaretSelection]):
1010         (-[WKContentView requiresKeyEvents]):
1011         (-[WKContentView handleKeyWebEvent:]):
1012         (-[WKContentView _interpretKeyEvent:isCharEvent:]):
1013         (-[WKContentView setBottomBufferHeight:]):
1014         (-[WKContentView automaticallySelectedOverlay]):
1015         (-[WKContentView selectionGranularity]):
1016         (-[WKContentView insertDictationResult:withCorrectionIdentifier:]):
1017         (-[WKContentView metadataDictionariesForDictationResults]):
1018         (-[WKContentView previousUnperturbedDictationResultBoundaryFromPosition:]):
1019         (-[WKContentView nextUnperturbedDictationResultBoundaryFromPosition:]):
1020         (-[WKContentView moveBackward:]):
1021         (-[WKContentView moveForward:]):
1022         (-[WKContentView characterBeforeCaretSelection]):
1023         (-[WKContentView wordContainingCaretSelection]):
1024         (-[WKContentView wordRangeContainingCaretSelection]):
1025         (-[WKContentView setMarkedText:]):
1026         (-[WKContentView hasContent]):
1027         (-[WKContentView selectAll]):
1028         (-[WKContentView textColorForCaretSelection]):
1029         (-[WKContentView fontForCaretSelection]):
1030         (-[WKContentView hasSelection]):
1031         (-[WKContentView isPosition:atBoundary:inDirection:]):
1032         (-[WKContentView positionFromPosition:toBoundary:inDirection:]):
1033         (-[WKContentView isPosition:withinTextUnit:inDirection:]):
1034         (-[WKContentView rangeEnclosingPosition:withGranularity:inDirection:]):
1035         (-[WKContentView takeTraitsFrom:]):
1036         (-[WKContentView _startAssistingKeyboard]):
1037         (-[WKContentView _stopAssistingKeyboard]):
1038         (-[WKContentView _startAssistingNode]):
1039         (-[WKContentView _stopAssistingNode]):
1040         (-[WKContentView _selectionChanged]):
1041         (-[WKContentView shouldIgnoreWebTouch]):
1042         (-[WKContentView isAnyTouchOverActiveArea:]):
1043         (-[WKTextRange _isCaret]):
1044         (-[WKTextRange _isRanged]):
1045         (+[WKTextRange textRangeWithState:isRange:isEditable:startRect:endRect:selectionRects:selectedTextLength:]):
1046         (-[WKTextRange dealloc]):
1047         (-[WKTextRange description]):
1048         (-[WKTextRange start]):
1049         (-[WKTextRange end]):
1050         (-[WKTextRange isEmpty]):
1051         (-[WKTextRange isEqual:]):
1052         (+[WKTextPosition textPositionWithRect:]):
1053         (-[WKTextPosition isEqual:]):
1054         (-[WKTextPosition description]):
1055         (-[WKTextSelectionRect initWithWebRect:]):
1056         (-[WKTextSelectionRect dealloc]):
1057         (+[WKTextSelectionRect textSelectionRectsWithWebRects:]):
1058         (-[WKTextSelectionRect rect]):
1059         (-[WKTextSelectionRect writingDirection]):
1060         (-[WKTextSelectionRect range]):
1061         (-[WKTextSelectionRect containsStart]):
1062         (-[WKTextSelectionRect containsEnd]):
1063         (-[WKTextSelectionRect isVertical]):
1064         (+[WKAutocorrectionRects autocorrectionRectsWithRects:lastRect:]):
1065         (+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
1066         (-[WKAutocorrectionContext dealloc]):
1067         * UIProcess/ios/WKContentViewInternal.h: Removed.
1068         * WebKit2.xcodeproj/project.pbxproj:
1069
1070 2014-02-24  Anders Carlsson  <andersca@apple.com>
1071
1072         WKProcessPool should use secondary processes + network process
1073         https://bugs.webkit.org/show_bug.cgi?id=129282
1074
1075         Reviewed by Simon Fraser.
1076
1077         * UIProcess/API/Cocoa/WKProcessPool.mm:
1078         (-[WKProcessPool initWithConfiguration:]):
1079
1080 2014-02-24  Jeremy Jones  <jeremyj@apple.com>
1081
1082         WK2 AVKit fullscreen doesn't display video.
1083         https://bugs.webkit.org/show_bug.cgi?id=128564
1084
1085         Reviewed by Simon Fraser.
1086
1087         * Shared/mac/RemoteLayerTreeTransaction.h:
1088         Add a property to track video layer pending fullscreen.
1089
1090         (WebKit::RemoteLayerTreeTransaction::isVideoLayerIDPendingFullscreen):
1091         (WebKit::RemoteLayerTreeTransaction::addVideoLayerIDPendingFullscreen):
1092         Add a property to track video layer pending fullscreen.
1093
1094         * Shared/mac/RemoteLayerTreeTransaction.mm:
1095         (WebKit::RemoteLayerTreeTransaction::encode):
1096         (WebKit::RemoteLayerTreeTransaction::decode):
1097         Encode and decode m_videoLayerIDsPendingFullscreen.
1098
1099         * UIProcess/ios/WebPageProxyIOS.mm:
1100         (WebKit::WebPageProxy::didCommitLayerTree):
1101         Let WebVideoFullscreenManagerProxy see the RemoteLayerTreeTransaction.
1102
1103         * UIProcess/ios/WebVideoFullscreenManagerProxy.cpp:
1104         (WebKit::WebVideoFullscreenManagerProxy::didCommitLayerTree):
1105         Look for video layer pending fullscreen on the transaction to initiate
1106         fullscreen.
1107
1108         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
1109         Start looking for the video layer pending fullscreen in the transaction.
1110
1111         (WebKit::WebVideoFullscreenManagerProxy::enterFullscreen):
1112         Override to prevent fullscreen from happening before the layer
1113         is pending fullscreen.
1114
1115         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
1116         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
1117         Pass a more specific videoLayerID in SetVideoLayerID,
1118         i.e. WebCore::GraphicsLayer::PlatformLayerID.
1119
1120         * WebProcess/WebPage/WebPage.cpp:
1121         (WebKit::WebPage::willCommitLayerTree):
1122         Move webPage specific transaction building here, including,
1123         giving WebVideoFullscreenManager a chance to modify the transaction.
1124
1125         * WebProcess/WebPage/WebPage.h:
1126         Add willCommitLayerTree();
1127
1128         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1129         (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
1130         (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
1131         Make and break the connection from CALayer to PlatformCALayerRemoteCustom,
1132         the same way it is done for PlatformCALayerMac.
1133
1134         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1135         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
1136         Move WebPage specific transaction building into WebPage::willCommitLayerTree.
1137
1138         * WebProcess/ios/WebVideoFullscreenManager.cpp:
1139         (WebKit::WebVideoFullscreenManager::willCommitLayerTree):
1140         addVideoLayerIDPendingFullscreen on RemoteLayerTreeTransaction when needed.
1141
1142         (WebKit::WebVideoFullscreenManager::setVideoLayer):
1143         Pass along the video layerID.
1144
1145         * WebProcess/ios/WebVideoFullscreenManager.h:
1146         Add willCommitLayerTree() and remove setVideoLayerID().
1147         Add a member to retain the unparented PlatformCALayer.
1148
1149 2014-02-24  Martin Hock  <mhock@apple.com>
1150
1151         Create SessionID value-style class for session IDs.
1152         https://bugs.webkit.org/show_bug.cgi?id=129141
1153
1154         The below changes deal solely with mechanical changes to use the SessionID value class instead of uint64_t except where noted.
1155
1156         Reviewed by Brady Eidson.
1157
1158         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1159         (WebKit::storageSession):
1160         (WebKit::NetworkConnectionToWebProcess::startDownload):
1161         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1162         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1163         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1164         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
1165         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1166         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1167         * NetworkProcess/NetworkConnectionToWebProcess.h:
1168         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1169         * NetworkProcess/NetworkProcess.cpp:
1170         (WebKit::NetworkProcess::initializeNetworkProcess):
1171         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
1172         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
1173         * NetworkProcess/NetworkProcess.h:
1174         * NetworkProcess/NetworkProcess.messages.in:
1175         * NetworkProcess/NetworkResourceLoader.h:
1176         * NetworkProcess/RemoteNetworkingContext.h:
1177         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1178         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1179         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1180         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1181         * Shared/Network/NetworkResourceLoadParameters.cpp:
1182         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
1183         * Shared/Network/NetworkResourceLoadParameters.h:
1184         * Shared/SessionTracker.cpp:
1185         (WebKit::staticSessionMap):
1186         (WebKit::storageSessionToID):
1187         (WebKit::SessionTracker::sessionMap):
1188         (WebKit::SessionTracker::session):
1189         (WebKit::SessionTracker::sessionID):
1190         (WebKit::SessionTracker::setSession):
1191         (WebKit::SessionTracker::destroySession):
1192         * Shared/SessionTracker.h: Move code to SessionID class.
1193         * Shared/WebCoreArgumentCoders.cpp: Add encode and decode for SessionID.
1194         (IPC::ArgumentCoder<SessionID>::encode):
1195         (IPC::ArgumentCoder<SessionID>::decode):
1196         * Shared/WebCoreArgumentCoders.h:
1197         * Shared/mac/CookieStorageShim.mm:
1198         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
1199         * UIProcess/APISession.cpp:
1200         (API::generateID):
1201         (API::Session::defaultSession):
1202         (API::Session::legacyPrivateSession):
1203         (API::Session::Session):
1204         (API::Session::isEphemeral):
1205         (API::Session::getID):
1206         * UIProcess/APISession.h:
1207         * UIProcess/WebContext.cpp:
1208         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
1209         (WebKit::WebContext::createNewWebProcess):
1210         * UIProcess/WebContext.h:
1211         * UIProcess/WebPageProxy.h:
1212         (WebKit::WebPageProxy::sessionID):
1213         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1214         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1215         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1216         (WebKit::WebResourceLoadScheduler::scheduleLoad):
1217         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1218         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
1219         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1220         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1221         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1222         (WebKit::WebFrameNetworkingContext::storageSession):
1223         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1224         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1225         (WebKit::WebFrameNetworkingContext::storageSession):
1226         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1227         * WebProcess/WebPage/WebPage.cpp: Move sessionID to Page to allow WebCore to access it.
1228         (WebKit::WebPage::WebPage):
1229         (WebKit::WebPage::sessionID):
1230         (WebKit::WebPage::isUsingEphemeralSession):
1231         (WebKit::WebPage::setSessionID):
1232         (WebKit::WebPage::updatePreferences):
1233         * WebProcess/WebPage/WebPage.h:
1234         * WebProcess/WebPage/WebPage.messages.in:
1235         * WebProcess/WebProcess.cpp:
1236         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1237         (WebKit::WebProcess::destroyPrivateBrowsingSession):
1238         * WebProcess/WebProcess.h:
1239         * WebProcess/WebProcess.messages.in:
1240
1241 2014-02-24  Simon Fraser  <simon.fraser@apple.com>
1242
1243         Remove PDFViewController.*, which is unused
1244         https://bugs.webkit.org/show_bug.cgi?id=129270
1245
1246         Reviewed by Tim Horton.
1247
1248         * UIProcess/mac/PDFViewController.h: Removed.
1249         * UIProcess/mac/PDFViewController.mm: Removed.
1250
1251 2014-02-24  Anders Carlsson  <andersca@apple.com>
1252
1253         Rename WKProcessClass to WKProcessPool
1254         https://bugs.webkit.org/show_bug.cgi?id=129268
1255
1256         Reviewed by Dan Bernstein.
1257
1258         Stage this rename by adding back WKProcessClass and WKProcessClassConfiguration as subclasses of the renamed classes.
1259
1260         * Shared/Cocoa/APIObject.mm:
1261         (API::Object::newObject):
1262         * UIProcess/API/Cocoa/WKProcessClass.h:
1263         * UIProcess/API/Cocoa/WKProcessClass.mm:
1264         * UIProcess/API/Cocoa/WKProcessClassConfiguration.h:
1265         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
1266         * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h:
1267         * UIProcess/API/Cocoa/WKProcessClassPrivate.h:
1268         * UIProcess/API/Cocoa/WKProcessPool.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.h.
1269         * UIProcess/API/Cocoa/WKProcessPool.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm.
1270         (-[WKProcessPool init]):
1271         (-[WKProcessPool initWithConfiguration:]):
1272         (-[WKProcessPool dealloc]):
1273         (-[WKProcessPool description]):
1274         (-[WKProcessPool configuration]):
1275         (-[WKProcessPool API::]):
1276         (-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]):
1277         * UIProcess/API/Cocoa/WKProcessPoolConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.h.
1278         * UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm.
1279         (-[WKProcessPoolConfiguration _injectedBundleURL]):
1280         (-[WKProcessPoolConfiguration _setInjectedBundleURL:]):
1281         (-[WKProcessPoolConfiguration description]):
1282         (-[WKProcessPoolConfiguration copyWithZone:]):
1283         * UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h.
1284         * UIProcess/API/Cocoa/WKProcessPoolInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
1285         (WebKit::wrapper):
1286         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.
1287         * UIProcess/API/Cocoa/WKWebView.mm:
1288         (-[WKWebView initWithFrame:configuration:]):
1289         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1290         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1291         (-[WKWebViewConfiguration description]):
1292         (-[WKWebViewConfiguration copyWithZone:]):
1293         (-[WKWebViewConfiguration processPool]):
1294         (-[WKWebViewConfiguration setProcessPool:]):
1295         * UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.
1296         (-[WKWebViewConfiguration setProcessClass:]):
1297         (-[WKWebViewConfiguration processClass]):
1298         * UIProcess/API/mac/WKView.mm:
1299         * UIProcess/ios/WKContentView.mm:
1300         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
1301         * WebKit2.xcodeproj/project.pbxproj:
1302
1303 2014-02-24  Simon Fraser  <simon.fraser@apple.com>
1304
1305         Move non-API files out of WebKit2/UIProcess/API/mac
1306         https://bugs.webkit.org/show_bug.cgi?id=129267
1307
1308         Reviewed by Anders Carlsson.
1309
1310         * UIProcess/mac/FindIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.h.
1311         * UIProcess/mac/FindIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.mm.
1312         * UIProcess/mac/PDFViewController.h: Renamed from Source/WebKit2/UIProcess/API/mac/PDFViewController.h.
1313         * UIProcess/mac/PDFViewController.mm: Renamed from Source/WebKit2/UIProcess/API/mac/PDFViewController.mm.
1314         * UIProcess/mac/WKPrintingView.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKPrintingView.h.
1315         * UIProcess/mac/WKPrintingView.mm: Renamed from Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm.
1316         * UIProcess/mac/WKTextInputWindowController.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKTextInputWindowController.h.
1317         * UIProcess/mac/WKTextInputWindowController.mm: Renamed from Source/WebKit2/UIProcess/API/mac/WKTextInputWindowController.mm.
1318         * WebKit2.xcodeproj/project.pbxproj:
1319
1320 2014-02-24  Simon Fraser  <simon.fraser@apple.com>
1321
1322         Move non-API files in the API/ios directory out to UIProcess/ios
1323         https://bugs.webkit.org/show_bug.cgi?id=129264
1324
1325         Reviewed by Anders Carlsson.
1326
1327         * UIProcess/ios/PageClientImplIOS.h: Renamed from Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h.
1328         * UIProcess/ios/PageClientImplIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm.
1329         * UIProcess/ios/WKActionSheet.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKActionSheet.h.
1330         * UIProcess/ios/WKActionSheet.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKActionSheet.mm.
1331         * UIProcess/ios/WKContentViewInternal.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKContentViewInternal.h.
1332         * UIProcess/ios/WKGeolocationProviderIOS.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKGeolocationProviderIOS.h.
1333         * UIProcess/ios/WKGeolocationProviderIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKGeolocationProviderIOS.mm.
1334         * UIProcess/ios/WKInteractionView.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKInteractionView.h.
1335         * UIProcess/ios/WKInteractionView.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKInteractionView.mm.
1336         * UIProcess/ios/WKScrollView.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKScrollView.h.
1337         * UIProcess/ios/WKScrollView.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKScrollView.mm.
1338         * WebKit2.xcodeproj/project.pbxproj:
1339
1340 2014-02-24  Simon Fraser  <simon.fraser@apple.com>
1341
1342         Rename PageClientImplIOS::m_view to m_contentView
1343         https://bugs.webkit.org/show_bug.cgi?id=129124
1344
1345         Reviewed by Benjamin Poulain.
1346         
1347         Simple rename of m_view to m_contentView in preparation for
1348         also holding onto the WKView.
1349
1350         * UIProcess/API/ios/PageClientImplIOS.h:
1351         * UIProcess/API/ios/PageClientImplIOS.mm:
1352         (WebKit::PageClientImpl::PageClientImpl):
1353         (WebKit::PageClientImpl::createDrawingAreaProxy):
1354         (WebKit::PageClientImpl::viewSize):
1355         (WebKit::PageClientImpl::isViewInWindow):
1356         (WebKit::PageClientImpl::processDidExit):
1357         (WebKit::PageClientImpl::didRelaunchProcess):
1358         (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
1359         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
1360         (WebKit::PageClientImpl::interpretKeyEvent):
1361         (WebKit::PageClientImpl::positionInformationDidChange):
1362         (WebKit::PageClientImpl::selectionDidChange):
1363         (WebKit::PageClientImpl::screenToRootView):
1364         (WebKit::PageClientImpl::rootViewToScreen):
1365         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
1366         (WebKit::PageClientImpl::takeViewSnapshot):
1367         (WebKit::PageClientImpl::didGetTapHighlightGeometries):
1368         (WebKit::PageClientImpl::didCommitLayerTree):
1369         (WebKit::PageClientImpl::startAssistingNode):
1370         (WebKit::PageClientImpl::stopAssistingNode):
1371
1372 2014-02-24  Enrique Ocaña González  <eocanha@igalia.com>
1373
1374         REGRESSION(r164438): [GTK] Tests /webkit2/WebKitWebView/tls-errors-policy and /webkit2/WebKitWebContext/uri-scheme fail
1375         https://bugs.webkit.org/show_bug.cgi?id=129252
1376
1377         Reviewed by Carlos Garcia Campos.
1378
1379         * UIProcess/API/gtk/WebKitPrivate.cpp: Manage error values generated by the user application and not present in WebCore
1380         (toWebKitError):
1381         (toWebCoreError):
1382
1383 2014-02-24  Alexey Proskuryakov  <ap@apple.com>
1384
1385         <rdar://problem/16059894> Update AppleConnect sandbox profile for XPC process names.
1386
1387         Patch by Ivan Krstić, reviewed and landed by me.
1388
1389         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
1390
1391 2014-02-24  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1392
1393         Code cleanup: remove leftover ENABLE(WORKERS) macros and support.
1394         https://bugs.webkit.org/show_bug.cgi?id=129255
1395
1396         Reviewed by Csaba Osztrogonác.
1397
1398         ENABLE_WORKERS macro was removed in r159679.
1399         Support is now also removed from xcconfig files.
1400
1401         * Configurations/FeatureDefines.xcconfig:
1402
1403 2014-02-24  Iago Toral Quiroga  <itoral@igalia.com>
1404
1405         [GTK] Wrong active context when destroying GL objects.
1406         https://bugs.webkit.org/show_bug.cgi?id=129244
1407
1408         Reviewed by Martin Robinson.
1409
1410         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1411         (WebKit::LayerTreeHostGtk::invalidate): make context current before destroying GL objects.
1412
1413 2014-02-24  Koop Mast <kwm@FreeBSD.org>
1414
1415         Remove unused error.h header.
1416         https://bugs.webkit.org/show_bug.cgi?id=126774
1417
1418         Reviewed by Anders Carlsson.
1419
1420         This header doesn't exists on FreeBSD. According to
1421         https://www.gnu.org/software/gnulib/manual/html_node/error_002eh.html
1422         the function that this header implements are not present in the file.
1423         So there isn't any need for this header.
1424
1425         * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
1426
1427 2014-02-24  David Kilzer  <ddkilzer@apple.com>
1428
1429         Remove redundant setting in FeatureDefines.xcconfig
1430
1431         * Configurations/FeatureDefines.xcconfig:
1432
1433 2014-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1434
1435         [GTK] Remove unneeded method webkitWebViewBaseRequestExitFullScreen
1436         https://bugs.webkit.org/show_bug.cgi?id=129245
1437
1438         Reviewed by Sergio Villar Senin.
1439
1440         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1441         (webkitWebViewBaseKeyPressEvent): Call FullscreenManager::requestExitFullScreen() directly.
1442         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1443
1444 2014-02-23  Dan Bernstein  <mitz@apple.com>
1445
1446         <rdar://problem/16144508> [iOS] Some definitions of INSTALL_PATH don’t account for INSTALL_PATH_PREFIX
1447         https://bugs.webkit.org/show_bug.cgi?id=129241
1448
1449         Reviewed by Mark Rowe.
1450
1451         * Configurations/Base.xcconfig: Define INSTALL_PATH here in terms of INSTALL_PATH_ACTUAL.
1452         * Configurations/BaseLegacyProcess.xcconfig: Define only INSTALL_PATH_ACTUAL.
1453         * Configurations/BaseTarget.xcconfig: Simplify the definition of
1454         NORMAL_WEBKIT2_FRAMEWORKS_DIR, now that it shouldn’t include SDKROOT for the Simulator.
1455         * Configurations/BaseXPCService.xcconfig: Define only INSTALL_PATH_ACTUAL.
1456         * Configurations/WebKit2.xcconfig: Ditto.
1457
1458 2014-02-23  Sam Weinig  <sam@webkit.org>
1459
1460         Update FeatureDefines.xcconfig
1461
1462         Rubber-stamped by Anders Carlsson.
1463
1464         * Configurations/FeatureDefines.xcconfig:
1465
1466 2014-02-23  Sam Weinig  <sam@webkit.org>
1467
1468         [WebKit2] Add C-SPI to enable/disable telephone number detection
1469         https://bugs.webkit.org/show_bug.cgi?id=129239
1470
1471         Reviewed by Dean Jackson.
1472
1473         * UIProcess/API/C/WKPreferences.cpp:
1474         (WKPreferencesSetTelephoneNumberParsingEnabled):
1475         (WKPreferencesGetTelephoneNumberParsingEnabled):
1476         * UIProcess/API/C/WKPreferencesPrivate.h:
1477
1478 2014-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1479
1480         Change a url parameter type with URL in NavigatorContentUtils
1481         https://bugs.webkit.org/show_bug.cgi?id=129202
1482
1483         Reviewed by Sam Weinig.
1484
1485         It would be good if we use *URL* for url parameters instead of using String.
1486
1487         Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.
1488
1489         * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
1490         (WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
1491         (WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):
1492
1493 2014-02-23  Sam Weinig  <sam@webkit.org>
1494
1495         Move telephone number detection behind its own ENABLE macro
1496         https://bugs.webkit.org/show_bug.cgi?id=129236
1497
1498         Reviewed by Dean Jackson.
1499
1500         * Configurations/FeatureDefines.xcconfig:
1501         Add ENABLE_TELEPHONE_NUMBER_DETECTION.
1502
1503 2014-02-23  Diego Pino García  <dpino@igalia.com>
1504
1505         [GTK] Fix build after Web Inspector code reorganization (r164543)
1506         https://bugs.webkit.org/show_bug.cgi?id=129231
1507
1508         Reviewed by Dean Jackson.
1509
1510         * PlatformGTK.cmake:
1511         Modify paths to Web Inspector code.
1512
1513 2014-02-22  Joseph Pecoraro  <pecoraro@apple.com>
1514
1515         Remove some unreachable code (-Wunreachable-code)
1516         https://bugs.webkit.org/show_bug.cgi?id=129220
1517
1518         Reviewed by Eric Carlson.
1519
1520         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
1521         (WebKit::toAPI):
1522
1523 2014-02-22  Dan Bernstein  <mitz@apple.com>
1524
1525         [Cocoa] WKUIDelegate.h is a project header
1526         https://bugs.webkit.org/show_bug.cgi?id=129215
1527
1528         Reviewed by Anders Carlsson.
1529
1530         * WebKit2.xcodeproj/project.pbxproj: Make it a public header.
1531
1532 2014-02-22  Dan Bernstein  <mitz@apple.com>
1533
1534         <rdar://problem/12500358> [Cocoa] Development variants of XPC services should not be installed in WebKit2.framework/XPCServices
1535         https://bugs.webkit.org/show_bug.cgi?id=129197
1536
1537         Reviewed by Sam Weinig.
1538
1539         * Configurations/BaseXPCService.xcconfig: Made INSTALL_PATH vary based on
1540         WK_XPC_SERVICE_VARIANT. For the Development variant, use an install path outside the
1541         framework. Note that engineering builds using the build action continue to have the
1542         Development variants copied into the framework by a script build phase.
1543         * Configurations/DatabaseService.Development.xcconfig: Set WK_XPC_SERVICE_VARIANT.
1544         * Configurations/DatabaseService.xcconfig: Ditto.
1545         * Configurations/NetworkService.Development.xcconfig: Ditto.
1546         * Configurations/NetworkService.xcconfig: Ditto.
1547         * Configurations/PluginService.32.xcconfig: Ditto.
1548         * Configurations/PluginService.64.xcconfig: Ditto.
1549         * Configurations/PluginService.Development.xcconfig: Ditto.
1550         * Configurations/WebContentService.Development.xcconfig: Ditto.
1551         * Configurations/WebContentService.xcconfig: Ditto.
1552
1553 2014-02-21  Brent Fulgham  <bfulgham@apple.com>
1554
1555         Extend media support for WebVTT sources
1556         https://bugs.webkit.org/show_bug.cgi?id=129156
1557
1558         Reviewed by Eric Carlson.
1559
1560         * Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
1561
1562 2014-02-21  Enrica Casucci  <enrica@apple.com>
1563
1564         [iOS WebKit2] Keyboard appears every time a link is tapped after searching Google
1565         <rdar://problem/16072563>.
1566
1567         Reviewed by Benjamin Poulain.
1568
1569         We need to stop assisting the node if we have
1570         navigated to a different page.
1571
1572         * UIProcess/API/ios/WKContentView.mm:
1573         (-[WKContentView _didCommitLoadForMainFrame]):
1574
1575 2014-02-21  Dan Bernstein  <mitz@apple.com>
1576
1577         Made WKWebView implement all WKContentViewDelegate methods.
1578
1579         Reviewed by Anders Carlsson.
1580
1581         * UIProcess/API/Cocoa/WKWebView.mm:
1582         (-[WKWebView takeViewSnapshotForContentView:]): Moved from WKViewIOS.mm.
1583         * UIProcess/API/ios/WKContentView.h: Made all protocol methods required.
1584         * UIProcess/API/ios/WKViewIOS.mm:
1585         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): Removed code
1586         to set self as the delegate on the content view.
1587
1588 2014-02-21  Sam Weinig  <sam@webkit.org>
1589
1590         <rdar://problem/16073882> Please add _AbandonCoalition key to plugin XPC service Info.plist
1591
1592         Reviewed by Anders Carlsson.
1593
1594         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
1595         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
1596
1597 2014-02-21  Jeffrey Pfau  <jpfau@apple.com>
1598
1599         [Mac] Cache callbacks for cache partitioning may be passed null
1600         https://bugs.webkit.org/show_bug.cgi?id=129175
1601
1602         Reviewed by Brady Eidson.
1603
1604         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
1605         (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
1606
1607 2014-02-21  Benjamin Poulain  <bpoulain@apple.com>
1608
1609         [iOS][WK2] Update the visible content rects on zoom
1610         https://bugs.webkit.org/show_bug.cgi?id=129174
1611
1612         Reviewed by Simon Fraser.
1613
1614         Generalize _updateVisibleContentRects to also act during the zoom and not only at the end.
1615
1616         * UIProcess/API/Cocoa/WKWebView.mm:
1617         (-[WKWebView scrollViewDidZoom:]):
1618         * UIProcess/API/ios/WKViewIOS.mm:
1619         (-[WKView scrollViewDidZoom:]):
1620
1621 2014-02-21  Benjamin Poulain  <benjamin@webkit.org>
1622
1623         jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
1624         https://bugs.webkit.org/show_bug.cgi?id=128893
1625
1626         Reviewed by Darin Adler.
1627
1628         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1629         (WebKit::InjectedBundle::pageNumberForElementById): Remove the explicit conversion to use the right overload.
1630
1631 2014-02-21  Enrica Casucci  <enrica@apple.com>
1632
1633         Support WebSelections in WK2 on iOS.
1634         https://bugs.webkit.org/show_bug.cgi?id=127015
1635         <rdar://problem/15211964>
1636
1637         Reviewed by Benjamin Poulain.
1638
1639         This is the remaining work on block selections for iOS in WK2.
1640         Once a block selection has been created with a long press gesture
1641         on a selectable area, we can interact with it by touching the four
1642         handles at the top, right, bottom and left side of the selection box.
1643         Expanding or shrinking a block selection requires finding the next/previous
1644         block in the direction of the movement, depending on the handle we
1645         are interacting with.
1646         Every time a new block is selected, we compute the thresholds required
1647         to trigger another block change. The thresholds are sent back to the
1648         UIProcess that will use this information to decide when to activate
1649         the new selection, either bigger or smaller.
1650         This patch also fixes a bug in selectWithTwoTouches where the points
1651         were not mapped to the active frame.
1652
1653         * Shared/ios/WKGestureTypes.h:
1654         * UIProcess/API/ios/PageClientImplIOS.h:
1655         * UIProcess/API/ios/PageClientImplIOS.mm:
1656         (WebKit::PageClientImpl::didUpdateBlockSelectionWithTouches):
1657         * UIProcess/API/ios/WKContentView.mm:
1658         (-[WKContentView _didUpdateBlockSelectionWithTouches:withFlags:growThreshold:shrinkThreshold:]):
1659         * UIProcess/API/ios/WKContentViewInternal.h:
1660         * UIProcess/API/ios/WKInteractionView.h:
1661         * UIProcess/API/ios/WKInteractionView.mm:
1662         (-[WKInteractionView hasSelectablePositionAtPoint:]):
1663         (-[WKInteractionView clearSelection]):
1664         (toWKHandlePosition):
1665         (-[WKInteractionView _didUpdateBlockSelectionWithTouches:WebKit::withFlags:WebKit::growThreshold:shrinkThreshold:]):
1666         (-[WKInteractionView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):
1667         * UIProcess/PageClient.h:
1668         * UIProcess/WebPageProxy.h:
1669         * UIProcess/WebPageProxy.messages.in:
1670         * UIProcess/ios/WebPageProxyIOS.mm:
1671         (WebKit::WebPageProxy::updateBlockSelectionWithTouches):
1672         (WebKit::WebPageProxy::didUpdateBlockSelectionWithTouches):
1673         * WebProcess/WebPage/WebPage.cpp:
1674         * WebProcess/WebPage/WebPage.h:
1675         * WebProcess/WebPage/WebPage.messages.in:
1676         * WebProcess/WebPage/ios/WebPageIOS.mm:
1677         (WebKit::WebPage::rangeForWebSelectionAtPosition):
1678         (WebKit::WebPage::rangeForBlockAtPoint):
1679         (WebKit::WebPage::selectWithGesture):
1680         (WebKit::distanceBetweenRectsForPosition):
1681         (WebKit::rectsEssentiallyTheSame):
1682         (WebKit::containsRange):
1683         (WebKit::unionDOMRanges):
1684         (WebKit::computeEdgeCenter):
1685         (WebKit::WebPage::expandedRangeFromHandle):
1686         (WebKit::WebPage::contractedRangeFromHandle):
1687         (WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
1688         (WebKit::shouldExpand):
1689         (WebKit::WebPage::changeBlockSelection):
1690         (WebKit::WebPage::updateBlockSelectionWithTouches):
1691         (WebKit::WebPage::clearSelection):
1692         (WebKit::WebPage::selectWithTwoTouches):
1693         (WebKit::WebPage::getPositionInformation):
1694
1695 2014-02-21  Anders Carlsson  <andersca@apple.com>
1696
1697         Make sure to invoke the completion handler for JS alerts
1698         https://bugs.webkit.org/show_bug.cgi?id=129158
1699
1700         Reviewed by Alexey Proskuryakov.
1701
1702         * UIProcess/API/C/WKPage.cpp:
1703         (WKPageSetPageUIClient):
1704
1705 2014-02-20  Zalan Bujtas  <zalan@apple.com>
1706
1707         Remove redundant deviceScaleFactor() functions and make callers use Document::deviceScaleFactor() when accessible.
1708         https://bugs.webkit.org/show_bug.cgi?id=129137
1709
1710         Reviewed by Simon Fraser.
1711
1712         No change in behavior.
1713
1714         * WebProcess/WebPage/FindController.cpp:
1715         (WebKit::FindController::getFindIndicatorBitmapAndRect):
1716
1717 2014-02-20  Benjamin Poulain  <bpoulain@apple.com>
1718
1719         Add a missing piece of r164469
1720
1721         * UIProcess/API/Cocoa/WKWebView.mm:
1722         (-[WKWebView scrollViewWillBeginDragging:]):
1723         I forgot to duplicate the change from WKViewIOS in r164469.
1724
1725 2014-02-20  Benjamin Poulain  <bpoulain@apple.com>
1726
1727         WKInteractionView always blocks the main thread when sending touch events
1728         https://bugs.webkit.org/show_bug.cgi?id=129059
1729
1730         Reviewed by Enrica Casucci.
1731
1732         Add the asynchronous dispatching to WebKit2.
1733
1734         * Shared/NativeWebTouchEvent.h:
1735         (WebKit::NativeWebTouchEvent::uniqueId):
1736         * Shared/ios/NativeWebTouchEventIOS.mm:
1737         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
1738         * UIProcess/API/ios/PageClientImplIOS.mm:
1739         (WebKit::PageClientImpl::doneWithTouchEvent):
1740         * UIProcess/API/ios/WKContentView.h:
1741         * UIProcess/API/ios/WKContentView.mm:
1742         (-[WKContentView willStartUserTriggeredScroll]):
1743         (-[WKContentView willStartUserTriggeredZoom]):
1744         (-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):
1745         * UIProcess/API/ios/WKContentViewInternal.h:
1746         * UIProcess/API/ios/WKInteractionView.h:
1747         * UIProcess/API/ios/WKInteractionView.mm:
1748         (-[WKInteractionView _webTouchEventsRecognized:]):
1749         (-[WKInteractionView _webTouchEvent:WebKit::preventsNativeGestures:]):
1750         (-[WKInteractionView _willStartUserTriggeredScrollingOrZooming]):
1751         * UIProcess/API/ios/WKViewIOS.mm:
1752         (-[WKView scrollViewWillBeginDragging:]):
1753         * WebKit2.xcodeproj/project.pbxproj:
1754
1755 2014-02-20  Benjamin Poulain  <bpoulain@apple.com>
1756
1757         Start fixing the view states driven by the WKScrollView
1758         https://bugs.webkit.org/show_bug.cgi?id=129140
1759
1760         Reviewed by Tim Horton and Simon Fraser.
1761
1762         WKScrollView creates a "window" over WKContentView with an area that is exposed,
1763         an area that is unobcured and with a certain scale.
1764
1765         Instead of having 3 loosely related paths for updating WKContentView
1766         when the content "window" change, everything is consolidated behind the
1767         single API -[WKContentView didUpdateVisibleRect:unobscuredRect:scale:].
1768
1769         This patch only fixes the content updates from the UI process side to keep things simple.
1770
1771         * UIProcess/API/Cocoa/WKWebView.mm:
1772         (-[WKWebView _didFinishScrolling]):
1773         (-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
1774         (-[WKWebView scrollViewDidEndDecelerating:]):
1775         (-[WKWebView scrollViewDidScrollToTop:]):
1776         (-[WKWebView scrollViewDidScroll:]):
1777         (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
1778         (-[WKWebView _frameOrBoundsChanged]):
1779         (-[WKWebView _updateContentWindow]):
1780         (-[WKWebView _setObscuredInsets:]):
1781         * UIProcess/API/ios/WKContentView.h:
1782         * UIProcess/API/ios/WKContentView.mm:
1783         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:]):
1784         (-[WKContentView _updateFixedPositionRect]):
1785         (-[WKContentView didFinishScrolling]):
1786         (-[WKContentView didZoomToScale:]):
1787         * UIProcess/API/ios/WKViewIOS.mm:
1788         (-[WKView contentView:didCommitLayerTree:]):
1789         (-[WKView _didFinishScrolling]):
1790         (-[WKView scrollViewDidEndDragging:willDecelerate:]):
1791         (-[WKView scrollViewDidEndDecelerating:]):
1792         (-[WKView scrollViewDidScrollToTop:]):
1793         (-[WKView scrollViewDidScroll:]):
1794         (-[WKView scrollViewDidEndZooming:withView:atScale:]):
1795         Scrolling is modified to take into account the view position and the obcured content.
1796         Instead of driving the scrolling position from the UIScrollView delegate callbacks,
1797         we use changes in unobscured rect to find changes in "content visible scroll position".
1798
1799         WebPageProxy::didFinishScrolling() is removed. All the scrollOffset updates now go through
1800         the ScrollingCoordinator.
1801
1802         (-[WKView _frameOrBoundsChanged]):
1803         (-[WKView _updateContentWindow]):
1804         (-[WKView _setObscuredInsets:]):
1805         * UIProcess/WebPageProxy.h:
1806         * UIProcess/ios/WebPageProxyIOS.mm:
1807         (WebKit::WebPageProxy::unobscuredContentRect):
1808         (WebKit::WebPageProxy::setUnobscuredContentRect):
1809         * WebProcess/WebPage/WebPage.messages.in:
1810         * WebProcess/WebPage/ios/WebPageIOS.mm:
1811
1812 2014-02-20  Tim Horton  <timothy_horton@apple.com>
1813
1814         Fix a build warning by moving some WKWebView methods from the private category to WKWebView itself.
1815
1816         Reviewed by Anders Carlsson.
1817
1818         * UIProcess/API/Cocoa/WKWebView.mm:
1819         (-[WKWebView setAllowsBackForwardNavigationGestures:]):
1820         (-[WKWebView allowsBackForwardNavigationGestures]):
1821
1822 2014-02-20  Enrica Casucci  <enrica@apple.com>
1823
1824         ASSERT on touches callbacks after r164409 on iOS.
1825         https://bugs.webkit.org/show_bug.cgi?id=129135
1826
1827         Reviewed by Alexey Proskuryakov.
1828
1829         The change used incorrecly true and false in TouchesCallbacks and
1830         ImageCallback. It also reintroduced isMainThread() which doesn't work
1831         for iOS.
1832
1833         * UIProcess/GenericCallback.h:
1834         (WebKit::CallbackBase::generateCallbackID):
1835         (WebKit::ImageCallback::performCallbackWithReturnValue):
1836         (WebKit::ImageCallback::invalidate):
1837         * UIProcess/WebPageProxy.h:
1838         (WebKit::TouchesCallback::performCallbackWithReturnValue):
1839         (WebKit::TouchesCallback::invalidate):
1840
1841 2014-02-20  Anders Carlsson  <andersca@apple.com>
1842
1843         We need something like WKPageUIClient in the Obj-C API
1844         https://bugs.webkit.org/show_bug.cgi?id=129123
1845         <rdar://problem/15338439>
1846
1847         Reviewed by Sam Weinig.
1848
1849         * UIProcess/API/APIUIClient.h:
1850         * UIProcess/API/Cocoa/WKUIDelegate.h: Added.
1851         * UIProcess/API/Cocoa/WKWebView.h:
1852         * UIProcess/API/Cocoa/WKWebView.mm:
1853         (-[WKWebView initWithFrame:configuration:]):
1854         (-[WKWebView UIDelegate]):
1855         (-[WKWebView setUIDelegate:]):
1856         * UIProcess/Cocoa/UIClient.h: Added.
1857         * UIProcess/Cocoa/UIClient.mm: Added.
1858         (WebKit::UIClient::UIClient):
1859         (WebKit::UIClient::~UIClient):
1860         (WebKit::UIClient::delegate):
1861         (WebKit::UIClient::setDelegate):
1862         (WebKit::UIClient::runJavaScriptAlert):
1863         (WebKit::UIClient::runJavaScriptConfirm):
1864         (WebKit::UIClient::runJavaScriptPrompt):
1865         * UIProcess/WebPageProxy.h:
1866         (WebKit::WebPageProxy::uiClient):
1867         * WebKit2.xcodeproj/project.pbxproj:
1868
1869 2014-02-20  Brady Eidson  <beidson@apple.com>
1870
1871         Add very basic image control rendering
1872         https://bugs.webkit.org/show_bug.cgi?id=129080
1873
1874         Reviewed by Tim Horton.
1875
1876         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1877         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Expose the 
1878           imageControlsEnabled setting to WKTR.
1879
1880 2014-02-20  Tim Horton  <timothy_horton@apple.com>
1881
1882         Add magnification and swiping properties to WKWebView
1883         https://bugs.webkit.org/show_bug.cgi?id=129117
1884
1885         Reviewed by Dan Bernstein.
1886
1887         * UIProcess/API/Cocoa/WKViewPrivate.h:
1888         Move allowsBackForwardNavigationGestures out of a Mac-only block.
1889
1890         * UIProcess/API/Cocoa/WKWebView.h:
1891         Add allowsBackForwardNavigationGestures to WKWebView for both platforms.
1892         Add magnification properties to WKWebView for Mac.
1893
1894         * UIProcess/API/Cocoa/WKWebView.mm:
1895         (-[WKWebView contentView:didCommitLayerTree:WebKit::]):
1896         (-[WKWebView setAllowsBackForwardNavigationGestures:]):
1897         (-[WKWebView allowsBackForwardNavigationGestures]):
1898         (-[WKWebView setAllowsMagnification:]):
1899         (-[WKWebView allowsMagnification]):
1900         (-[WKWebView setMagnification:]):
1901         (-[WKWebView magnification]):
1902         (-[WKWebView setMagnification:centeredAtPoint:]):
1903         For iOS, copy implementations from WKViewIOS.
1904         For Mac, forward to the inner WKView.
1905
1906         * UIProcess/API/ios/WKViewIOS.mm:
1907         (-[WKView setAllowsBackForwardNavigationGestures:]):
1908         Fix the logic to tear down the ViewGestureController.
1909
1910         * UIProcess/API/mac/WKView.mm:
1911         (-[WKView setMagnification:centeredAtPoint:]):
1912         (-[WKView setMagnification:]):
1913         (-[WKView magnification]):
1914         Use CG types for API.
1915
1916 == Rolled over to ChangeLog-2014-02-20 ==