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