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