[GTK] [CMake] Clean up library linking
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-03-10  Martin Robinson  <mrobinson@igalia.com>
2
3         [GTK] [CMake] Clean up library linking
4         https://bugs.webkit.org/show_bug.cgi?id=129782
5
6         Reviewed by Philippe Normand.
7
8         * PlatformGTK.cmake: Use the new macro.
9
10 2014-03-10  Carlos Garcia Campos  <cgarcia@igalia.com>
11
12         [GTK] The web process can finish while a print operation is still ongoing
13         https://bugs.webkit.org/show_bug.cgi?id=129871
14
15         Reviewed by Martin Robinson.
16
17         This can happen when the last page is closed while the print job
18         is sending data to the printer.
19
20         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Disable web
21         process termination when the print job is sending data to the
22         printer and enable it again when job finishes.
23
24 2014-03-09  Jeong Yong-uk  <yong@company100.com>
25
26         Update comment in NetworkResourceLoader
27         https://bugs.webkit.org/show_bug.cgi?id=129997
28
29         Reviewed by Andreas Kling.
30
31         NetworkResourceLoader::resourceHandleStopped() has been renamed to
32         NetworkResourceLoader::cleanup() but the comment is not updated.
33
34         * NetworkProcess/NetworkResourceLoader.cpp:
35         (WebKit::NetworkResourceLoader::start):
36
37 2014-03-09  Alexey Proskuryakov  <ap@apple.com>
38
39         iOS build fix.
40
41         * WebProcess/WebPage/ios/WebPageIOS.mm: Include WebCore/KeyboardEvent.h.
42
43 2014-03-06  Alexey Proskuryakov  <ap@apple.com>
44
45         [Mac] Don't perform a round-trip through WebProcess before interpreting key events
46         https://bugs.webkit.org/show_bug.cgi?id=129812
47
48         Reviewed by Darin Adler.
49
50         * Shared/NativeWebKeyboardEvent.h:
51         * Shared/WebEvent.h:
52         (WebKit::WebKeyboardEvent::handledByInputMethod):
53         (WebKit::WebKeyboardEvent::commands):
54         * Shared/WebEventConversion.cpp:
55         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
56         * Shared/WebKeyboardEvent.cpp:
57         (WebKit::WebKeyboardEvent::WebKeyboardEvent):
58         (WebKit::WebKeyboardEvent::~WebKeyboardEvent):
59         (WebKit::WebKeyboardEvent::encode):
60         (WebKit::WebKeyboardEvent::decode):
61         * Shared/mac/NativeWebKeyboardEventMac.mm:
62         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
63         * Shared/mac/WebEventFactory.h:
64         * Shared/mac/WebEventFactory.mm:
65         (WebKit::WebEventFactory::createWebKeyboardEvent):
66         Keyboard events now carry results of interpretation with them.
67         Ideally, mouse events should also have a handledByInputMethod member, because IMs
68         can handle events, but that can wait until we have actual bugs caused by not diabling
69         default processing for these.
70
71         * UIProcess/API/mac/WKView.mm:
72         (-[WKView becomeFirstResponder]): Updated for new NativeWebKeyboardEvent contructor
73         signature. We don't interpret the event in this code path.
74         (-[WKView doCommandBySelector:]): Added logging.
75         (-[WKView performKeyEquivalent:]): Reimplemented Esc and Cmd+period handling to avoid
76         infinite loops and re-entrancy. These two work in a unique way in AppKit.
77         Interpret key event before sending it down to WebProcess.
78         (-[WKView keyUp:]): Interpret key event before sending it down to WebProcess.
79         We need to tell IMs about the event, but key binding processing is moot, all commands
80         are executed on keydown.
81         (-[WKView keyDown:]): Interpret the event.
82         (-[WKView flagsChanged:]): Ditto.
83         (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]): Added an assertion in
84         consumedByIM code path.
85         (-[WKView _executeSavedCommandBySelector:]): Added logging.
86
87         * UIProcess/PageClient.h:
88         * UIProcess/ios/PageClientImplIOS.h:
89         * UIProcess/ios/PageClientImplIOS.mm:
90         * UIProcess/mac/PageClientImpl.h:
91         * UIProcess/mac/PageClientImpl.mm:
92         * UIProcess/WebPageProxy.h:
93         * UIProcess/WebPageProxy.messages.in:
94         * UIProcess/ios/WebPageProxyIOS.mm:
95         * UIProcess/mac/WebPageProxyMac.mm:
96         Removed interpretQueuedKeyEvent/interpretKeyEvent, WebProcess no longer asks UIProcess to do this.
97
98         * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
99         (WebKit::WebEditorClient::handleKeyboardEvent):
100         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
101         (WebKit::WebEditorClient::handleKeyboardEvent):
102         (WebKit::WebEditorClient::handleInputMethodKeydown):
103         WebPage::handleEditingKeyboardEvent is now one function instead of two with a boolean
104         switch between two behaviors.
105
106         * WebProcess/WebPage/WebPage.cpp:(WebKit::WebPage::WebPage):
107         * WebProcess/WebPage/WebPage.h:
108         Removed m_keyboardEventBeingInterpreted, as we no longer send the event for interpretation.
109         This means that we sometimes have to pass a null event down to WebCore, but I wasn't
110         able to find any behavior differences from us doing so.
111
112         * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::handleEditingKeyboardEvent):
113         Added a FIXME.
114
115         * WebProcess/WebPage/mac/WebPageMac.mm:
116         (WebKit::WebPage::executeKeypressCommandsInternal): When we don't have an event,
117         use current frame as a target, just like input method messages do.
118         (WebKit::WebPage::handleEditingKeyboardEvent): This function no longer saves commands,
119         it only interprets them.
120         Added a check for Esc, as we don't want to handle it in keydown event handler.
121         (WebKit::WebPage::insertText): Pass 0 instead of m_keyboardEventBeingInterpreted.
122         (WebKit::WebPage::insertDictatedText): Ditto.
123         (WebKit::WebPage::executeKeypressCommands): Ditto.
124
125 2014-03-09  Zalan Bujtas  <zalan@apple.com>
126
127         Subpixel rendering: Pass FloatSize boxsize to transform animations to support device pixel sizing.
128         https://bugs.webkit.org/show_bug.cgi?id=129985
129
130         Reviewed by Simon Fraser.
131
132         This is in preparation to stop passing integral positioned boxes to transform animations.
133
134         No change in behavior.
135
136         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
137
138 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
139
140         [iOS Wk2] Can't scroll after going back to page in page cache
141         https://bugs.webkit.org/show_bug.cgi?id=129989
142         <rdar://problem/16217588>
143
144         Reviewed by Dan Bernstein.
145
146         iOS has a special FrameLoader::forceLayoutWithoutRecalculatingStyle()
147         function that is called instead of FrameView::forceLayout(). This was unimplemented
148         for the WK2 FrameLoaderClient, so no layout was forced, with the result
149         that the contentSize was never updated and scrolling was broken.
150         
151         Fix by renaming the client function to forceLayoutOnRestoreFromPageCache()
152         and having it return a bool to say whether the default forceLayout()
153         should be done. WK1 can then continue to have its custom behavior,
154         and Wk2 will simply do a forceLayout().
155         
156         Also remove FrameLaoderClient::forceLayout(), which was never called.
157
158         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
159         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
160         * WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
161         (WebKit::WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):
162
163 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
164
165         [iOS WK2] Get position:fixed working slighlty better
166         https://bugs.webkit.org/show_bug.cgi?id=129988
167
168         Reviewed by Dan Bernstein.
169         
170         iOS uses fixed layout, but does not want fixed elements laid
171         out relative to the frame.
172
173         * WebProcess/WebPage/WebPage.cpp:
174         (WebKit::WebPage::setUseFixedLayout):
175
176 2014-03-08  Jon Lee  <jonlee@apple.com>
177
178         iOS broken after r165342
179         https://bugs.webkit.org/show_bug.cgi?id=129987
180
181         Reviewed by Simon Fraser.
182
183         * NetworkProcess/ios/NetworkProcessIOS.mm:
184         (WebKit::NetworkProcess::platformLowMemoryHandler): Add missing stub implementation for
185         platformLowMemoryHandler().
186
187 2014-03-08  Eric Carlson  <eric.carlson@apple.com>
188
189         [iOS] media preferences not initialized correctly in WebKit2
190         https://bugs.webkit.org/show_bug.cgi?id=129983
191
192         Reviewed by Dan Bernstein.
193
194         * Shared/WebPreferencesStore.h: Initialize mediaPlaybackAllowsInline and 
195         mediaPlaybackRequiresUserGesture correctly for iOS.
196
197 2014-03-08  Jeremy Jones  <jeremyj@apple.com>
198
199         Allow media element to supply the video layer after fullscreen transition has already begun.
200         https://bugs.webkit.org/show_bug.cgi?id=129870
201
202         Reviewed by Eric Carlson.
203
204         WebVideoFullscreenManager and WebVideoFullscreenManagerProxy do their own remote hosting of the video layer instead of needing the video layer to have already been hosted elsewhere. This allows the removal of the coordination with WebPageProxy via a RemoteLayerTreeTransaction.
205
206         * Shared/mac/RemoteLayerTreeTransaction.h:
207         Remove m_videoLayerIDsPendingFullscreen and accessors.
208
209         * Shared/mac/RemoteLayerTreeTransaction.mm:
210         (WebKit::RemoteLayerTreeTransaction::encode):
211         Don't encode m_videoLayerIDsPendingFullscreen
212
213         (WebKit::RemoteLayerTreeTransaction::decode):
214         Don't decode m_videoLayerIDsPendingFullscreen
215
216         * UIProcess/ios/WebPageProxyIOS.mm:
217         (WebKit::WebPageProxy::didCommitLayerTree):
218         Don't forward didCommitLayerTree to m_videoFullscreenManager.
219
220         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
221         Remove code for synchronizing with the RenderTree.
222         Add a hosting layer and methods to keep video layer frame and video gravity synchronized.
223
224         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
225         Change IPC interface to fascilitate rehosting video layer with a instead of coordinating with the RenderTree by PlatformLayerID.
226
227         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
228         (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
229         Remove initialization for removed members.
230
231         (WebKit::WebVideoFullscreenManagerProxy::enterFullscreenWithID):
232         Rehost the video layer by id and pass on the layer.
233         This replaces didCommitLayerTree() and  willLendVideoLayerWithID(). 
234
235         (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
236         Cleanup the hosting layer.
237
238         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
239         Forward on the video layer's frame to keep the hosted layer in sync with the interface.
240
241         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerGravity):
242         Forward the videolayer gravity.
243
244         * WebKit2.xcodeproj/project.pbxproj:
245         Rename WebVideoFullscreenManager.cpp to WebVideoFullscreenManager.mm
246
247         * WebProcess/WebPage/WebPage.cpp:
248         (WebKit::WebPage::willCommitLayerTree):
249         Don't invovle the m_videoFullscreenManager in layer tree transactions.
250
251         * WebProcess/ios/WebVideoFullscreenManager.h:
252         Remove code that synchronizes with the render tree via RemoteLayerTreeTransaction.
253         Instead rehost the video layer directly.
254         Instead of hoping the WebVideoFullscreenModel has a videoLayer, supply one into which
255         it can add whatever it likes as needed.
256
257         * WebProcess/ios/WebVideoFullscreenManager.messages.in:
258         No more explicit borrowing and returning video layers.
259         Add functions to keep video layer bounds and gravity in sync with the UI. 
260
261         * WebProcess/ios/WebVideoFullscreenManager.mm: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.cpp.
262         Removed code for synchronizing via RemoteLAyerTreeTransaction.
263
264         (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
265         Remove initialization for removed memeber m_sendUnparentVideoLayerTransaction.
266
267         (WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
268         Creates a fullscreen layer, gives it to the WebVideoFullscreenModel to fill in,
269         and hosts it in a context to send to the UIProcess.
270
271         (WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
272         remove enterFullscreen() and just directly send the IPC message. 
273
274         (WebKit::WebVideoFullscreenManager::didExitFullscreen):
275         Clean up the hosting context.
276
277         (WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum):
278         Forward on the video gravity. Type convert from unsigned to MediaPlayer::VideoGravity.
279
280 2014-03-08  Andreas Kling  <akling@apple.com>
281
282         [WK2] Improve the network process low memory handler.
283         <https://webkit.org/b/129977>
284
285         Split the network process low memory handler into platform-specific
286         and shared parts. The shared part tells FastMalloc to release freed
287         pages back to the OS.
288
289         For Mac, added a call to purge the in-memory part of CFURLCache.
290         Remove the malloc_zone_pressure_relief() since that is now taken care
291         of by the shared MemoryPressureHandler code.
292
293         Reviewed by Darin Adler.
294
295         * NetworkProcess/NetworkProcess.cpp:
296         (WebKit::NetworkProcess::initializeNetworkProcess):
297         (WebKit::NetworkProcess::lowMemoryHandler):
298         (WebKit::NetworkProcess::platformLowMemoryHandler):
299         * NetworkProcess/NetworkProcess.h:
300         * NetworkProcess/mac/NetworkProcessMac.mm:
301         (WebKit::NetworkProcess::platformLowMemoryHandler):
302         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
303
304 2014-03-08  Jae Hyun Park  <jaepark@webkit.org>
305
306         Remove unnecessary casting in NetworkProcessMainUnix.cpp
307         https://bugs.webkit.org/show_bug.cgi?id=129968
308
309         Reviewed by Andreas Kling.
310
311         * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
312         Since socket is an int, int casting is not necessary.
313
314         (WebKit::NetworkProcessMain):
315
316 2014-03-08  Aaron Golden  <golden@inkling.com>
317
318         Prevent processes spawned by WebProcess from trying to insert the SecItem shim.
319         https://bugs.webkit.org/show_bug.cgi?id=129864
320
321         Reviewed by Anders Carlsson.
322
323         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
324         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
325
326 2014-03-07  Tim Horton  <timothy_horton@apple.com>
327
328         [WebKit2][iOS] PDF
329         https://bugs.webkit.org/show_bug.cgi?id=129600
330         <rdar://problem/15260216>
331
332         Reviewed by Anders Carlsson.
333
334         Add a single custom content provider which installs a very primitive PDF view
335         in place of the WKContentView if a PDF is loaded in the main frame.
336
337         * Configurations/WebKit2.xcconfig:
338         Link against CorePDF, for UIPDFPageView.
339
340         * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:
341         (-[WKWebViewContentProviderRegistry init]):
342         Initialize the registry, using WKPDFView for all PDF MIME types.
343
344         * WebKit2.xcodeproj/project.pbxproj:
345         * UIProcess/ios/WKPDFView.h: Added.
346         * UIProcess/ios/WKPDFView.mm: Added.
347         Add a very simple PDF view based on UIPDFPageView. Additional functionality
348         can come in the future; right now, we just create one view for each page, and
349         depend on CATiledLayer to only paint the pages that are being displayed.
350
351 2014-03-07  Andreas Kling  <akling@apple.com>
352
353         ArgumentEncoder and ArgumentDecoder should be fastmalloced.
354         <https://webkit.org/b/129960>
355
356         Reviewed by Ryosuke Niwa.
357
358         * Platform/IPC/ArgumentDecoder.h:
359         * Platform/IPC/ArgumentEncoder.h:
360
361 2014-03-07  Martin Robinson  <mrobinson@igalia.com>
362
363         Fix the GTK+ build after the recent iOS merge.
364
365         * UIProcess/API/gtk/PageClientImpl.cpp: Make some methods available to non-Cocoa ports and fix some signatures.
366         * UIProcess/WebPageProxy.h: Ditto.
367
368 2014-03-07  Ryuan Choi  <ryuan.choi@samsung.com>
369
370         Unreviewed. Fix build on the EFL port after r165303
371
372         * UIProcess/CoordinatedGraphics/WebView.cpp:
373         (WebKit::WebView::didCommitLoadForMainFrame): Added new parameters.
374         * UIProcess/CoordinatedGraphics/WebView.h: Ditto.
375         * UIProcess/WebPageProxy.h:
376         * UIProcess/efl/WebViewEfl.cpp: Added dummy didFinishLoadingDataForCustomContentProvider()
377         (WebKit::WebViewEfl::exitFullScreen):
378         (WebKit::WebViewEfl::didFinishLoadingDataForCustomContentProvider):
379         * UIProcess/efl/WebViewEfl.h: Ditto.
380
381 2014-03-07  Enrica Casucci  <enrica@apple.com>
382
383         [iOS WebKit2] Keyboard accessory comes up when I click a link.
384         https://bugs.webkit.org/show_bug.cgi?id=129949
385         <rdar://problem/16265305>
386
387         Reviewed by Simon Fraser.
388
389         We need to create the accessory view only when needed.
390
391         * UIProcess/ios/WKContentViewInteraction.mm:
392         (-[WKContentView requiresAccessoryView]):
393         (-[WKContentView inputAccessoryView]):
394
395 2014-03-07  Enrica Casucci  <enrica@apple.com>
396
397         [iOS WebKit2] Long-press on a link shows just "Copy".
398         https://bugs.webkit.org/show_bug.cgi?id=129938
399         <rdar://problem/16266054>
400
401         Reviewed by Benjamin Poulain.
402
403         When adding a FIXME comment, I accidentally removed the ! on
404         the if (!element) condition.
405
406         * WebProcess/WebPage/ios/WebPageIOS.mm:
407         (WebKit::WebPage::getPositionInformation):
408
409 2014-03-07  Tim Horton  <timothy_horton@apple.com>
410
411         [WebKit2][iOS] Main-frame custom content providers
412         https://bugs.webkit.org/show_bug.cgi?id=129809
413
414         Reviewed by Dan Bernstein.
415
416         Re-introduce custom content providers to WebKit2 (removed in r152841), but
417         for iOS this time.
418
419         * UIProcess/API/Cocoa/WKWebView.mm:
420         (-[WKWebView initWithFrame:configuration:]):
421         Send the initial MIME types that have custom content providers to the WebProcess.
422
423         (-[WKWebView dealloc]):
424         Unregister our page from the content provider registry.
425         
426         (-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
427         Install/uninstall the custom content provider. Create a view, if needed,
428         based on the class that the registry has associated with the given MIME type.
429         We unparent the WKContentView while the custom content provider is active,
430         and re-use the existing WKScrollView to contain the custom content provider.
431
432         (-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:dataReference:]):
433         Forward loaded data on to the custom content provider for display.
434
435         (-[WKWebView _didCommitLayerTree:WebKit::]):
436         Assert that we aren't getting layer tree commits while using a custom content provider.
437
438         (-[WKWebView viewForZoomingInScrollView:]):
439         If we're using a custom content provider, its view should be used for zooming
440         instead of the (unparented) web content view.
441
442         (-[WKWebView hasContentView]):
443         (-[WKWebView scrollViewWillBeginZooming:withView:]):
444         (-[WKWebView scrollViewWillBeginDragging:]):
445         (-[WKWebView _didFinishScrolling]):
446         (-[WKWebView _updateVisibleContentRects]):
447         If we do not have a parented WKContentView because we are using a custom
448         content provider, we should not forward scroll view related changes to it.
449
450         (-[WKWebView _frameOrBoundsChanged]):
451         Update the minimum size of the custom content provider if the web view size changes.
452
453         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
454         (-[WKWebViewConfiguration copyWithZone:]):
455         (-[WKWebViewConfiguration _contentProviderRegistry]):
456         (-[WKWebViewConfiguration _setContentProviderRegistry:]):
457         * UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h: Added.
458         Add an internal WKWebViewConfiguration property, the WKWebViewContentProviderRegistry.
459
460         * UIProcess/API/Cocoa/WKWebViewInternal.h:
461
462         * UIProcess/Cocoa/WKWebViewContentProvider.h: Added.
463         A minimal protocol for informing custom content providers of changes to
464         the size of the view, the represented data, and the owning scroll view.
465
466         * UIProcess/Cocoa/WKWebViewContentProviderRegistry.h: Added.
467         * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Added.
468         (-[WKWebViewContentProviderRegistry addPage:]):
469         (-[WKWebViewContentProviderRegistry removePage:]):
470         (-[WKWebViewContentProviderRegistry registerProvider:forMIMEType:]):
471         (-[WKWebViewContentProviderRegistry providerForMIMEType:]):
472         (-[WKWebViewContentProviderRegistry mimeTypesWithContentProviders]):
473         New class, keeps track of a mapping from MIME types to UIViews that
474         conform to the WKWebViewContentProvider protocol.
475
476         * UIProcess/WebPageProxy.cpp:
477         (WebKit::WebPageProxy::WebPageProxy):
478         (WebKit::WebPageProxy::didCommitLoadForFrame):
479         * UIProcess/WebPageProxy.h:
480         * UIProcess/WebPageProxy.messages.in:
481
482         * UIProcess/PageClient.h:
483         * UIProcess/ios/PageClientImplIOS.h:
484         * UIProcess/ios/PageClientImplIOS.mm:
485         (WebKit::PageClientImpl::PageClientImpl):
486         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
487         (WebKit::PageClientImpl::didFinishLoadingDataForCustomContentProvider):
488         * UIProcess/mac/PageClientImpl.h:
489         * UIProcess/mac/PageClientImpl.mm:
490         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
491         (WebKit::PageClientImpl::didFinishLoadingDataForCustomContentProvider):
492         Add parameters to didCommitLoadForMainFrame, indicating if we should use
493         a custom content provider to display the main frame, and what MIME type
494         was loaded in said frame, and add didFinishLoadingDataForCustomContentProvider.
495         On iOS, forward these to the WKWebView.
496         Also, give PageClientImplIOS a reference to the WKWebView.
497         
498         * UIProcess/ios/WKContentView.mm:
499         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
500         
501         * WebKit2.xcodeproj/project.pbxproj:
502         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
503         (-[WKWebProcessPlugInFrame _hasCustomContentProvider]):
504         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
505         Expose whether or not a given frame has a custom content provider to the plug-in.
506
507         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
508         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
509         (WebKit::WebFrameLoaderClient::hasHTMLView):
510         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
511         (WebKit::WebFrameLoaderClient::committedLoad):
512         (WebKit::WebFrameLoaderClient::finishedLoading):
513         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
514         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
515         (WebKit::WebFrameLoaderClient::canCachePage):
516         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
517         (WebKit::WebFrameLoaderClient::frameHasCustomContentProvider):
518         Restore WebFrameLoaderClient custom representation code, which ensures
519         that data is routed correctly (to the UI process, and not to WebCore) and
520         that we don't try to use the page cache for frames with content providers.
521
522         * WebProcess/WebPage/WebPage.cpp:
523         (WebKit::WebPage::mainFrameHasCustomContentProvider):
524         (WebKit::WebPage::addMIMETypeWithCustomContentProvider):
525         (WebKit::WebPage::shouldUseCustomContentProviderForResponse):
526         (WebKit::WebPage::canShowMIMEType):
527         * WebProcess/WebPage/WebPage.h:
528         * WebProcess/WebPage/WebPage.messages.in:
529         Keep a list of MIME types which can be displayed via custom content providers
530         in WebPage, which will be pushed down from the registry as new providers
531         are added. Plug-ins still take precendence over custom content providers.
532
533 2014-03-07  Anders Carlsson  <andersca@apple.com>
534
535         MigrateHeaders.make should remove C SPI includes from WebKit2 headers
536         https://bugs.webkit.org/show_bug.cgi?id=129937
537         <rdar://problem/15920020>
538
539         Reviewed by Tim Horton.
540
541         * WebKit2.xcodeproj/project.pbxproj:
542         Make WKPreferences.h and all headers it includes public. Update the post processing of WKBase.h
543         to account for WKBase.h now being a public header again.
544
545 2014-03-07  Alexey Proskuryakov  <ap@apple.com>
546
547         REGRESSION (r164847): Pressing the command key while hovering an element causes it to un-hover
548         https://bugs.webkit.org/show_bug.cgi?id=129872
549
550         Reviewed by Tim Horton.
551
552         * UIProcess/API/Cocoa/WKViewPrivate.h: Changes in performDictionaryLookupAtCurrentMouseLocation
553         were also not correct, because the current event could be a keyboard one (Cmd+Ctrl+D).
554         But this SPI is unused, and can be simply removed.
555
556         * UIProcess/API/mac/WKView.mm: (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
557         locationInWindow is undefined for keyboard events, so we have to use current location.
558         Thankfully, there is a method that returns the location in appropriate coordinate
559         space, unlike +[NSEvent mouseLocation] that we used before.
560
561 2014-03-07  Andy Estes  <aestes@apple.com>
562
563         [iOS] Install WebKit2 XPC services to the correct place during iOS Simulator builds
564         https://bugs.webkit.org/show_bug.cgi?id=129914
565
566         Reviewed by Dan Bernstein.
567
568         We weren't specifying INSTALL_PATH for iOS Simulator builds in
569         BaseXPCService.xcconfig, and r164576 changed INSTALL_PATH to
570         INSTALL_PATH_ACTUAL. This caused XPC services to start being installed
571         to the root of the iOS Simulator SDK. Fix this by setting
572         INSTALL_PATH_ACTUAL for iphonesimulator.
573
574         * Configurations/BaseXPCService.xcconfig:
575
576 2014-03-07  Andreas Kling  <akling@apple.com>
577
578         [Mac] Notify system malloc of fake memory pressure.
579         <https://webkit.org/b/129908>
580
581         Reviewed by Anders Carlsson.
582
583         * NetworkProcess/mac/NetworkProcessMac.mm:
584         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
585
586             Listen for the fake memory pressure notification and respond by
587             just forwarding to system malloc. We don't do the full WebCore
588             memory pressure handling here, since that will cause stuff that
589             the network process doesn't need to get instantiated.
590
591 2014-03-07  Dean Jackson  <dino@apple.com>
592
593         Attempt to fix the iOS build.
594
595         * Configurations/WebKit2.xcconfig: Add -framework OpenGLES to linking.
596
597 2014-03-07  Simon Fraser  <simon.fraser@apple.com>
598
599         [iOS] Add an updateID to visibleContentRect updates which is passed back in layer transactions, so we know whether transactions are stale
600         https://bugs.webkit.org/show_bug.cgi?id=129897
601
602         Reviewed by Benjamin Poulain.
603
604         In WebKit2 on iOS we need to know when layer updates from the web process
605         are stale with respect to visible rect updates from the UI process. Do so
606         by adding an updateID to VisibleContentRectUpdateInfo, and storing it
607         on each side, returning it in RemoteLayerTreeTransaction.
608         
609         Did some re-ordering of members and encoding order in RemoteLayerTreeTransaction
610         to group like data members together.
611         
612         * Shared/VisibleContentRectUpdateInfo.cpp:
613         (WebKit::VisibleContentRectUpdateInfo::encode):
614         (WebKit::VisibleContentRectUpdateInfo::decode):
615         * Shared/VisibleContentRectUpdateInfo.h:
616         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
617         (WebKit::VisibleContentRectUpdateInfo::updateID):
618         (WebKit::operator==):
619         * Shared/mac/RemoteLayerTreeTransaction.h:
620         (WebKit::RemoteLayerTreeTransaction::setLastVisibleContentRectUpdateID):
621         (WebKit::RemoteLayerTreeTransaction::lastVisibleContentRectUpdateID):
622         * Shared/mac/RemoteLayerTreeTransaction.mm:
623         (WebKit::RemoteLayerTreeTransaction::encode):
624         (WebKit::RemoteLayerTreeTransaction::decode):
625         * UIProcess/WebPageProxy.h:
626         (WebKit::WebPageProxy::nextVisibleContentRectUpdateID):
627         (WebKit::WebPageProxy::lastVisibleContentRectUpdateID):
628         * UIProcess/ios/WKContentView.mm:
629         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
630         * WebProcess/WebPage/WebPage.cpp:
631         (WebKit::WebPage::WebPage):
632         (WebKit::WebPage::willCommitLayerTree):
633         * WebProcess/WebPage/WebPage.h:
634         * WebProcess/WebPage/ios/WebPageIOS.mm:
635         (WebKit::WebPage::updateVisibleContentRects):
636
637 2014-03-07  Roger Fong  <roger_fong@apple.com>
638
639         Replace setSystemWebGLLoadPolicy API with methods to query for WebGL blocking policy.
640         https://bugs.webkit.org/show_bug.cgi?id=129873.
641
642         Reviewed by Dean Jackson.
643
644         Remove setSystemWebGLLoadPolicy API.
645         * UIProcess/API/APILoaderClient.h:
646         (API::LoaderClient::resolveWebGLLoadPolicy):
647         * UIProcess/API/C/WKPage.cpp:
648         (WKPageSetPageLoaderClient):
649         * UIProcess/API/C/WKPageLoaderClient.h:
650         * UIProcess/WebPageProxy.cpp:
651         (WebKit::WebPageProxy::resolveWebGLPolicyForURL):
652         * UIProcess/WebPageProxy.h:
653         * UIProcess/WebPageProxy.messages.in:
654         * WebProcess/WebPage/mac/WebPageMac.mm:
655         (WebKit::WebPage::webGLPolicyForURL):
656
657         Add API to directly query the WebGL blocking policies from WKSI.
658         * UIProcess/API/C/mac/WKContextPrivateMac.h:
659         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
660         (WKContextShouldBlockWebGL):
661         (WKContextShouldSuggestBlockWebGL):
662
663 2014-03-07  Eric Carlson  <eric.carlson@apple.com>
664
665         Initialize new WKSI functions for WebKit2
666         https://bugs.webkit.org/show_bug.cgi?id=129889
667
668         Reviewed by Simon Fraser.
669
670         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
671         (InitWebCoreSystemInterface):
672
673 2014-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
674
675         [GTK] Use final and override in WebPrintOperationGtk
676         https://bugs.webkit.org/show_bug.cgi?id=129868
677
678         Reviewed by Sergio Villar Senin.
679
680         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
681
682 2014-03-06  Alexey Proskuryakov  <ap@apple.com>
683
684         [Mac] Allow com.apple.GSSCred in WebKit sandbox profiles
685         https://bugs.webkit.org/show_bug.cgi?id=129777
686         <rdar://problem/16050832>
687
688         Reviewed by Anders Carlsson.
689
690         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
691         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
692         * WebProcess/com.apple.WebProcess.sb.in:
693
694 2014-03-06  Filip Pizlo  <fpizlo@apple.com>
695
696         If the FTL is build-time enabled then it should be run-time enabled.
697
698         Rubber stamped by Geoffrey Garen.
699
700         * Shared/WebProcessCreationParameters.cpp:
701         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
702         (WebKit::WebProcessCreationParameters::encode):
703         (WebKit::WebProcessCreationParameters::decode):
704         * Shared/WebProcessCreationParameters.h:
705         * UIProcess/mac/WebContextMac.mm:
706         (WebKit::registerUserDefaultsIfNeeded):
707         (WebKit::WebContext::platformInitializeWebProcess):
708         * WebProcess/cocoa/WebProcessCocoa.mm:
709         (WebKit::WebProcess::platformInitializeWebProcess):
710
711 2014-03-06  Hyowon Kim  <hw1008.kim@samsung.com>
712
713         [EFL] Move EvasGL classes from WebKit to WebCore namespace.
714         https://bugs.webkit.org/show_bug.cgi?id=129797
715
716         Reviewed by Gyuyoung Kim.
717
718         * UIProcess/API/efl/EwkView.h: namespace changes for EvasGLContext/Surface.
719
720 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
721
722         Remove one more setCustomFixedPositionRect() that I missed.
723
724         * UIProcess/DrawingAreaProxy.h:
725
726 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
727
728         Send the fixed position rect to the WebProcess along with the other rects
729         https://bugs.webkit.org/show_bug.cgi?id=129856
730
731         Reviewed by Benjamin Poulain.
732         
733         Remove the functions that pass the custom fixed position rect through
734         the DrawingArea, and replace them by adding this rect to the
735         VisibleContentRectUpdateInfo, along with the "is stable" flag. We
736         then set the custom fixed position rect in the web process for
737         stable updates.
738
739         * Shared/VisibleContentRectUpdateInfo.cpp:
740         (WebKit::VisibleContentRectUpdateInfo::encode):
741         (WebKit::VisibleContentRectUpdateInfo::decode):
742         * Shared/VisibleContentRectUpdateInfo.h:
743         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
744         (WebKit::VisibleContentRectUpdateInfo::customFixedPositionRect):
745         (WebKit::VisibleContentRectUpdateInfo::inStableState):
746         (WebKit::operator==):
747         * UIProcess/DrawingAreaProxy.cpp:
748         * UIProcess/ios/WKContentView.mm:
749         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
750         * WebProcess/WebPage/DrawingArea.h:
751         * WebProcess/WebPage/DrawingArea.messages.in:
752         * WebProcess/WebPage/ios/WebPageIOS.mm:
753         (WebKit::WebPage::updateVisibleContentRects):
754         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
755         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
756         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
757
758 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
759
760         Remove empty class extension in WKContentViewInteraction
761         https://bugs.webkit.org/show_bug.cgi?id=129849
762
763         Reviewed by Enrica Casucci.
764         
765         This empty class extension is cruft left over from refactoring.
766         It can be removed.
767
768         * UIProcess/ios/WKContentViewInteraction.mm:
769
770 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
771
772         [iOS] didUpdateVisibleRect: should use fabs, not abs
773         https://bugs.webkit.org/show_bug.cgi?id=129843
774
775         Reviewed by Benjamin Poulain.
776         
777         When zooming we sent messages to the web process with an unchanging
778         zoom scale because of use of abs() rather than fabs().
779
780         * UIProcess/ios/WKContentView.mm:
781         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
782
783 2014-03-06  Anders Carlsson  <andersca@apple.com>
784
785         Remove WebKit1 header includes from WebKit2
786         https://bugs.webkit.org/show_bug.cgi?id=129824
787
788         Reviewed by Dan Bernstein.
789
790         * UIProcess/mac/WKFullScreenWindowController.mm:
791         (makeResponderFirstResponderIfDescendantOfView):
792         Add a new function instead of calling an NSWindow category method that's defined in WebKit1.
793
794         (-[WKFullScreenWindowController enterFullScreen:]):
795         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
796         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
797         Call makeResponderFirstResponderIfDescendantOfView.
798
799         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
800         Remove unused WebKit1 header import.
801
802         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
803         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
804         Change a category to be on NSObject instead of WebResource.
805
806 2014-03-06  Jon Lee  <jonlee@apple.com>
807
808         iOS build fix.
809
810         Reviewed by Simon Fraser.
811
812         * UIProcess/ios/SmartMagnificationController.mm:
813
814 2014-03-06  Joseph Pecoraro  <pecoraro@apple.com>
815
816         Web Inspector: Expose the console object in JSContexts to interact with Web Inspector
817         https://bugs.webkit.org/show_bug.cgi?id=127944
818
819         Reviewed by Geoffrey Garen.
820
821         * WebProcess/WebCoreSupport/WebChromeClient.h:
822         Update namespaces.
823
824 2014-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
825
826         [GTK] Close the page when the view is disposed instead of when finalized
827         https://bugs.webkit.org/show_bug.cgi?id=129783
828
829         Reviewed by Sergio Villar Senin.
830
831         When a GtkWidget is destroyed, the GObject is disposed, but not
832         finalized if it has additional references. When the destroyed
833         widget is leaked by the application, we leak the page proxy and
834         what is more important the web process in multi-process mode.
835
836         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
837         (webkitWebViewBaseDispose): Close the WebPageProxy.
838
839 2014-03-05  Chris Fleizach  <cfleizach@apple.com>
840
841         AX: Support IOS Accessibility in WK2
842         https://bugs.webkit.org/show_bug.cgi?id=129527
843
844         Build fix.
845
846         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
847         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
848
849 2014-03-05  Chris Fleizach  <cfleizach@apple.com>
850
851         AX: Support IOS Accessibility in WK2
852         https://bugs.webkit.org/show_bug.cgi?id=129527
853
854         Address review comments from Simon noted in bug.
855
856         * UIProcess/ios/WKContentView.mm:
857         (-[WKContentView _accessibilityRegisterUIProcessTokens]):
858         * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
859         (-[WKAccessibilityWebPageObject init]):
860         (-[WKAccessibilityWebPageObject dealloc]):
861         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.h:
862         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
863         (-[WKAccessibilityWebPageObject accessibilityAttributeNames]):
864         (-[WKAccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
865         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
866         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
867         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
868
869 2014-03-05  Dean Jackson  <dino@apple.com>
870
871         [WebGL] Use WKSI to see what the system policy for WebGL is
872         https://bugs.webkit.org/show_bug.cgi?id=129722
873         <rdar://problem/15790542>
874
875         Reviewed by Tim Horton.
876
877         Use the WebKitSystemInterface methods WKShouldBlockWebGL
878         and WKShouldSuggestBlockingWebGL to query what the host
879         system thinks about the hardware. Tell the client about
880         the result in a new WebPage method setSystemWebGLPolicy.
881
882         * UIProcess/API/APILoaderClient.h:
883         (API::LoaderClient::setSystemWebGLLoadPolicy): New empty definition.
884         * UIProcess/API/C/WKAPICast.h:
885         (WebKit::toAPI): Convert a WebGLLoadPolicy into a WKWebGLLoadPolicy.
886         * UIProcess/API/C/WKPage.cpp: Call setSystemWebGLLoadPolicy.
887         (WKPageSetPageLoaderClient):
888         * UIProcess/API/C/WKPageLoaderClient.h: New typedef and entry in client structure.
889         * UIProcess/WebPageProxy.cpp:
890         (WebKit::WebPageProxy::setSystemWebGLPolicy):
891         * UIProcess/WebPageProxy.h:
892         * UIProcess/WebPageProxy.messages.in: Add SetSystemWebGLPolicy.
893         * Source/WebKit2/Configurations/WebKit2.xcconfig: We have to link against OpenGL now, because WKSI
894         uses it for hardware detection.
895         * WebProcess/WebPage/WebPage.cpp: Remove the implementation here, but leave
896         empty methods for non-Apple platforms.
897         (WebKit::WebPage::WebPage):
898         (WebKit::WebPage::webGLPolicyForURL):
899         (WebKit::WebPage::resolveWebGLPolicyForURL):
900         * WebProcess/WebPage/WebPage.h: Add m_systemWebGLPolicy.
901         * WebProcess/WebPage/mac/WebPageMac.mm:
902         (WebKit::WebPage::webGLPolicyForURL): Moved in from WebPage, but now they call
903         into WKSI and send the result to the client if necessary.
904         (WebKit::WebPage::resolveWebGLPolicyForURL):
905
906 2014-03-05  Simon Fraser  <simon.fraser@apple.com>
907
908         Fix a stupid error in r165118 that caused userVisibleString()
909         to call itself recursively.
910
911         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
912         (WebKit::WebEditorClient::userVisibleString):
913
914 2014-03-05  Benjamin Poulain  <bpoulain@apple.com>
915
916         [iOS] Rename the various VisibleExtent variations to exposedContentRect
917         https://bugs.webkit.org/show_bug.cgi?id=129728
918
919         Reviewed by Simon Fraser.
920
921         * WebProcess/WebPage/DrawingArea.h:
922         * WebProcess/WebPage/ios/WebPageIOS.mm:
923         (WebKit::WebPage::updateVisibleContentRects):
924         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
925         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
926         (WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):
927
928 2014-03-05  Dean Jackson  <dino@apple.com>
929
930         Unreviewed. Fix the Apple-internal builds.
931
932         * Configurations/WebKit2.xcconfig: Add -framework OpenGL.
933
934 2014-03-05  Simon Fraser  <simon.fraser@apple.com>
935
936         ObjC exception when dropping files into a WKView: drag and drop uses code from WebKit.framework
937         https://bugs.webkit.org/show_bug.cgi?id=129752
938
939         Reviewed by Enrica Casucci.
940         
941         Get WebDragClientMac off of all WebKit headers, and WebEditorClientMac off
942         all but one by using C functions from WebCoreNSURLExtras.h rather than
943         the NSURL category.
944
945         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
946         (WebKit::WebDragClient::declareAndWriteDragImage):
947         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
948         (WebKit::WebEditorClient::userVisibleString):
949         (WebKit::WebEditorClient::canonicalizeURL):
950         (WebKit::WebEditorClient::canonicalizeURLString):
951
952 2014-03-05  Martin Hock  <mhock@apple.com>
953
954         Add support for sessions to MemoryCache.
955         https://bugs.webkit.org/show_bug.cgi?id=127794
956
957         Reviewed by Sam Weinig.
958
959         * NetworkProcess/NetworkResourceLoader.h: Add sessionID() method.
960         (WebKit::NetworkResourceLoader::sessionID):
961         * NetworkProcess/mac/DiskCacheMonitor.h: Add sessionID member.
962         * NetworkProcess/mac/DiskCacheMonitor.mm:
963         (WebKit::DiskCacheMonitor::DiskCacheMonitor): Send sessionID to NetworkProcessConnection::DidCacheResource.
964         * WebProcess/Network/NetworkProcessConnection.cpp: Add sessionID parameter to didCacheResource and pass to MemoryCache.
965         (WebKit::NetworkProcessConnection::didCacheResource):
966         * WebProcess/Network/NetworkProcessConnection.h: Ditto.
967         * WebProcess/Network/NetworkProcessConnection.messages.in: Ditto.
968
969 2014-03-05  Enrica Casucci  <enrica@apple.com>
970
971         [iOS WebKit2] support multi-select and select with groups for iPhone.
972         https://bugs.webkit.org/show_bug.cgi?id=129344
973         <rdar://problem/16206928>
974
975         Reviewed by Simon Fraser.
976
977         This is the remaining work on select element support on iOS.
978         This adds multi-select and select with group support with UI
979         for iPhone that uses UIPickerView.
980
981         * UIProcess/ios/WKContentViewInteraction.mm:
982         (-[WKContentView resignFirstResponder]):
983         (-[WKContentView inputAccessoryView]): Removed incorrect early return.
984         (-[WKContentView _stopAssistingNode]):
985         * UIProcess/ios/forms/WKFormSelectControl.h:
986         * UIProcess/ios/forms/WKFormSelectControl.mm:
987         (adjustedFontSize): Moved here to make it available to both picker and
988         popover based implementations.
989         (-[WKFormSelectControl initWithView:]):
990         * UIProcess/ios/forms/WKFormSelectPicker.mm:
991         (-[WKOptionPickerCell _isSelectable]):
992         (-[WKOptionPickerCell initCommon]):
993         (-[WKOptionPickerCell initWithOptionItem:]):
994         (-[WKOptionGroupPickerCell initWithOptionItem:]):
995         (-[WKOptionGroupPickerCell labelWidthForBounds:]):
996         (-[WKOptionGroupPickerCell layoutSubviews]):
997         (-[WKMultipleSelectPicker initWithView:]):
998         (-[WKMultipleSelectPicker dealloc]):
999         (-[WKMultipleSelectPicker controlView]):
1000         (-[WKMultipleSelectPicker controlBeginEditing]):
1001         (-[WKMultipleSelectPicker controlEndEditing]):
1002         (-[WKMultipleSelectPicker layoutSubviews]):
1003         (-[WKMultipleSelectPicker pickerView:viewForRow:forComponent:reusingView:]):
1004         (-[WKMultipleSelectPicker numberOfComponentsInPickerView:]):
1005         (-[WKMultipleSelectPicker pickerView:numberOfRowsInComponent:]):
1006         (-[WKMultipleSelectPicker findItemIndexAt:]):
1007         (-[WKMultipleSelectPicker pickerView:row:column:checked:]):
1008         (-[WKSelectSinglePicker initWithView:]):
1009         (-[WKSelectSinglePicker controlEndEditing]):
1010         * UIProcess/ios/forms/WKFormSelectPopover.mm:
1011
1012 2014-03-03  Martin Robinson  <mrobinson@igalia.com>
1013
1014         [GTK][CMake] Generate documentation for the DOM bindings
1015         https://bugs.webkit.org/show_bug.cgi?id=126211
1016
1017         Reviewed by Carlos Garcia Campos.
1018
1019         * PlatformGTK.cmake: The list of headers for GIR generation has a better name now.
1020
1021 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
1022
1023         Fix the build after r165095
1024
1025         * UIProcess/API/Cocoa/WKWebView.mm:
1026         (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
1027
1028 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
1029
1030         [iOS][WK2] Account for the keyboard when computing the unobscuredRect
1031         https://bugs.webkit.org/show_bug.cgi?id=129660
1032
1033         Reviewed by Enrica Casucci.
1034
1035         Adjust the unobscuredRect when a docked keyboard is on screen.
1036
1037         * UIProcess/API/Cocoa/WKWebView.mm:
1038         (-[WKWebView _updateVisibleContentRectsWithStableState:]):
1039         (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
1040
1041 2014-03-04  Andy Estes  <aestes@apple.com>
1042
1043         [iOS][WebKit2] Exclude plug-in sandbox profiles from the build
1044         https://bugs.webkit.org/show_bug.cgi?id=129719
1045
1046         Reviewed by Simon Fraser.
1047
1048         * Configurations/WebKit2.xcconfig:
1049
1050 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
1051
1052         [iOS][WK2] WKScrollView should be able to cancel touches in content view
1053         https://bugs.webkit.org/show_bug.cgi?id=129711
1054
1055         Reviewed by Simon Fraser.
1056
1057         * UIProcess/ios/WKScrollView.mm:
1058         We should not override UIWebScrollView behavior regarding touch cancellation otherwise we force
1059         other gesture recognizers to fail if delayed touches have been dispatched.
1060
1061 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
1062
1063         [iOS][WK2] Consider the entire view state on update to find if a change is stable or not
1064         https://bugs.webkit.org/show_bug.cgi?id=129721
1065
1066         Reviewed by Simon Fraser.
1067
1068         Changes in scroll, zoom and obscuredRect can happen simultaneously. To compute if the current state
1069         is stable or not, we should consider the complete picture from all the type of updates.
1070
1071         * UIProcess/API/Cocoa/WKWebView.mm:
1072         (-[WKWebView _didFinishScrolling]):
1073         (-[WKWebView scrollViewDidScroll:]):
1074         (-[WKWebView scrollViewDidZoom:]):
1075         (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
1076         (-[WKWebView _frameOrBoundsChanged]):
1077         (-[WKWebView _updateVisibleContentRects]):
1078         (-[WKWebView _setObscuredInsets:]):
1079         (-[WKWebView _endInteractiveObscuredInsetsChange]):
1080
1081 2014-03-04  Jeremy Jones  <jeremyj@apple.com>
1082
1083         WebVideoFullscreen, should make the hand off of the video layer explicit.
1084         https://bugs.webkit.org/show_bug.cgi?id=128844
1085
1086         Reviewed by Simon Fraser.
1087
1088         This change introduces a more explicit hand-off of the video layer and fullscreen transition.
1089         This describes the interactions between WebVideoFullscreenInterface and WebVideoFullscreenModel
1090         WebVideoFullscreenModel <-> WebVideoFullscreenInterface
1091               enterFullScreen(*) ->
1092                                 <- borrowVideoLayer
1093               willLendVideoLayer ->
1094                didLendVideoLayer ->
1095                                 <- didEnterFullscreen
1096                                 ...
1097                                 <- requestExitFullscreen
1098                   exitFullscreen ->
1099                                 <- returnVideoLayer
1100                                 <- didExitFullscreen
1101         (*) enterFullScreen actually comes from WebVideoFullscreenControllerAVKit.
1102
1103         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
1104         Implement WebVideoFullscreenChangeObserver.
1105         Add support for explicit video layer hand-off.
1106         Add m_videoView to retain the videoLayer's UIView.
1107
1108         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
1109         WillLendVideoLayerWithID replaces SetVideoLayerID
1110
1111         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1112         Adopt new methods for explicit video layer hand-off.
1113
1114         (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
1115         Observe fullscreen changes.
1116
1117         (WebKit::WebVideoFullscreenManagerProxy::didCommitLayerTree):
1118         Pending fullscreen transition now does didLendVideoLayer instead of calling enter fullscreen.
1119         It also removes the videoView from it's super view now that it is safe to do so.
1120
1121         (WebKit::WebVideoFullscreenManagerProxy::willLendVideoLayerWithID):
1122         This replaces setVideoLayerID. It retains the UIView for the layer to keep it alive before it is unparented.
1123
1124         (WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen):
1125         Adopt more explicit fullscreen transition.
1126
1127         (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
1128         Adopt more explicit fullscreen transition.
1129
1130         (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):
1131         Adopt more explicit fullscreen transition.
1132
1133         (WebKit::WebVideoFullscreenManagerProxy::borrowVideoLayer):
1134         Adopt more explicit video layer hand-off.
1135
1136         (WebKit::WebVideoFullscreenManagerProxy::returnVideoLayer):
1137         Adopt more explicit video layer hand-off.
1138
1139         * WebProcess/ios/WebVideoFullscreenManager.cpp:
1140         Manage state of fullscreen transition more competently. Wait till an animation is complete to begin the next one.
1141
1142         (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
1143         Init three new state members.
1144
1145         (WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
1146         Update animation state. Don't procede if animation is in progress.
1147
1148         (WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
1149         Update animation state. Don't procede if animation is in progress.
1150
1151         (WebKit::WebVideoFullscreenManager::willLendVideoLayer):
1152         Adopt more explicit video layer hand-off.
1153         This replaces SetVideoLayer.
1154
1155         (WebKit::WebVideoFullscreenManager::didLendVideoLayer):
1156         This is a no-op as this will be sent through a RemoteLayerTreeTransaction.
1157
1158         (WebKit::WebVideoFullscreenManager::didEnterFullscreen):
1159         Adopt more explicit fullscreen transition.
1160
1161         (WebKit::WebVideoFullscreenManager::didExitFullscreen):
1162         Adopt more explicit fullscreen transition.
1163
1164         * WebProcess/ios/WebVideoFullscreenManager.h:
1165         Adopt more explicit fullscreen transition.
1166
1167         * WebProcess/ios/WebVideoFullscreenManager.messages.in:
1168         Adopt more explicit fullscreen/video layer transition.
1169
1170 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
1171
1172         Get position:fixed working slightly better on iOS WK2
1173         https://bugs.webkit.org/show_bug.cgi?id=129714
1174
1175         Reviewed by Benjamin Poulain.
1176         
1177         Start telling the RemoteScrollingCoordinatorProxy about scroll position changes
1178         again, so it can update fixed and sticky layers.
1179         
1180         Send the scroll position as a FloatPoint, rather than an IntPoint.
1181
1182         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1183         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling):
1184         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):
1185         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1186         * UIProcess/WebPageProxy.h:
1187         * UIProcess/ios/WKContentView.mm:
1188         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
1189         Tell the RemoteScrollingCoordinatorProxy about the scroll update.
1190         Only update the customFixedPositionRect if we've finished scrolling or zooming.
1191         * UIProcess/ios/WebPageProxyIOS.mm:
1192         (WebKit::WebPageProxy::updateVisibleContentRects): Return a bool indicating
1193         whether the visible rects changed.
1194
1195 2014-03-04  Conrad Shultz  <conrad_shultz@apple.com>
1196
1197         WKPage's pageExtendedBackgroundColor API exposed through WKView/WKWebView should support NSColor
1198         https://bugs.webkit.org/show_bug.cgi?id=129704
1199
1200         Reviewed by Beth Dakin.
1201
1202         Add NSColor-returning methods to complement the existing UIColor-returning methods.
1203
1204         * UIProcess/API/Cocoa/WKViewPrivate.h:
1205         Declare _pageExtendedBackgroundColor for non-TARGET_OS_IPHONE.
1206
1207         * UIProcess/API/Cocoa/WKWebView.mm:
1208         (-[WKWebView _pageExtendedBackgroundColor]):
1209         Return an NSColor created from the pageExtendedBackgroundColor.
1210
1211         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1212         Declare _pageExtendedBackgroundColor for non-TARGET_OS_IPHONE.
1213
1214         * UIProcess/API/mac/WKView.mm:
1215         (-[WKView _pageExtendedBackgroundColor]):
1216         Return an NSColor created from the pageExtendedBackgroundColor.
1217
1218 2014-03-04  Joseph Pecoraro  <pecoraro@apple.com>
1219
1220         Web Inspector: Give WebProcess private RWI entitlement
1221         https://bugs.webkit.org/show_bug.cgi?id=129710
1222
1223         Reviewed by Timothy Hatcher.
1224
1225         * Configurations/WebContent-iOS.entitlements:
1226         Add entitlements to "WebProcess" when code signing.
1227
1228         * Configurations/WebContentProcess.xcconfig:
1229         Add the private RWI entitlement.
1230
1231 2014-03-04  Enrica Casucci  <enrica@apple.com>
1232
1233         [iOS WebKit2]: Next/Prev button in the accessory bar do not work.
1234         https://bugs.webkit.org/show_bug.cgi?id=129690
1235         <rdar://problem/16073569>
1236
1237         Reviewed by Simon Fraser.
1238
1239         Adding support for Next and Previous buttons in the accessory bar.
1240         When the request is processed by the WebProcess, we identify the next
1241         focusable node that needs to be assisted and we call focus() on the element
1242         letting the focus changing machinery take care of updating the assisted node.
1243         This change also add support for the Clear button, when appropriate and hooks up
1244         the call to the WebProcess.
1245
1246         * UIProcess/WebPageProxy.h:
1247         * UIProcess/ios/WKContentViewInteraction.mm:
1248         (-[WKContentView accessoryTab:]):
1249         (-[WKContentView accessoryClear]):
1250         (-[WKContentView _updateAccessory]):
1251         * UIProcess/ios/WebPageProxyIOS.mm:
1252         (WebKit::WebPageProxy::focusNextAssistedNode):
1253         * WebProcess/WebPage/WebPage.h:
1254         * WebProcess/WebPage/WebPage.messages.in:
1255         * WebProcess/WebPage/ios/WebPageIOS.mm:
1256         (WebKit::nextFocusableElement):
1257         (WebKit::hasFocusableElement):
1258         (WebKit::WebPage::focusNextAssistedNode):
1259         (WebKit::WebPage::getAssistedNodeInformation):
1260
1261 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
1262
1263         Allow iOS DumpRenderTree crashes to show application-specific information
1264         https://bugs.webkit.org/show_bug.cgi?id=129705
1265
1266         Reviewed by David Kilzer.
1267         
1268         Make the WKSI function SetCrashReportApplicationSpecificInformation available
1269         in iOS simulator builds.
1270
1271         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1272         (InitWebCoreSystemInterface):
1273
1274 2014-03-04  Mark Hahnenberg  <mhahnenberg@apple.com>
1275
1276         Merge API shims and JSLock
1277         https://bugs.webkit.org/show_bug.cgi?id=129650
1278
1279         Reviewed by Mark Lam.
1280
1281         JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason 
1282         to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.
1283
1284         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1285         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
1286         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
1287
1288 2014-03-03  Enrica Casucci  <enrica@apple.com>
1289
1290         [WK2] Selection remains after reload.
1291         https://bugs.webkit.org/show_bug.cgi?id=129648
1292         <rdar://problem/16207547>
1293
1294         Reviewed by Sam Weinig.
1295
1296         We normally clear the selection when resigninig first responder but
1297         that doesn't get called when reloading the page or when navigating with
1298         back/forward buttons. The correct place to do this is when we get
1299         _didCommitLoadForMainFrame where we already stop assisting the node.
1300         The method we call into webselectionassistant is resignedFirstResponder
1301         which takes care of clearing the selection and removing the selection view.
1302
1303         * UIProcess/ios/WKContentViewInteraction.mm:
1304         (-[WKContentView _stopAssistingNode]):
1305
1306 2014-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
1307
1308         Move EvasGLContext and EvasGLSurface files into the efl common directory.
1309         https://bugs.webkit.org/show_bug.cgi?id=129603
1310
1311         Reviewed by Gyuyoung Kim.
1312
1313         * PlatformEfl.cmake: Update for removed files.
1314
1315 2014-03-03  Benjamin Poulain  <bpoulain@apple.com>
1316
1317         [iOS][WK2] WebPage::updateVisibleContentRects can set the position directly instead of using programmatic scrolling
1318         https://bugs.webkit.org/show_bug.cgi?id=129649
1319
1320         Reviewed by Sam Weinig.
1321
1322         * WebProcess/WebPage/ios/WebPageIOS.mm:
1323         (WebKit::WebPage::updateVisibleContentRects):
1324         Update my workaround from r165003. We should not use programmatic scrolling when the scroll position is changed
1325         from the UI.
1326
1327 2014-03-03  Benjamin Poulain  <bpoulain@apple.com>
1328
1329         [iOS][WK2] Update UIScrollView's contentSize when a new layer tree is committed
1330         https://bugs.webkit.org/show_bug.cgi?id=129641
1331
1332         Reviewed by Sam Weinig.
1333
1334         * UIProcess/API/Cocoa/WKWebView.mm:
1335         (-[WKWebView _didCommitLayerTree:WebKit::]):
1336         Previously, we relied on [UIScrollView setZoomScale:] to reset the contentSize for us.
1337         In the cases where we would not go through [UIScrollView setZoomScale:], the UIScrollView's contentSize
1338         did not match the actual WKContentView's area on screen.
1339
1340 2014-03-03  Jeremy Jones  <jeremyj@apple.com>
1341
1342         Forward application suspend resume notifications to the web process.
1343         https://bugs.webkit.org/show_bug.cgi?id=129356
1344
1345         Reviewed by Eric Carlson.
1346
1347         Repost UIApplicationWillEnterForegroundNotification,
1348         UIApplicationDidBecomeActiveNotification and 
1349         UIApplicationWillResignActiveNotification from UIProcess to WebProcess.
1350         As WebUIApplicationWillEnterForegroundNotification,
1351         WebUIApplicationDidBecomeActiveNotification, and
1352         WebUIApplicationWillResignActiveNotification
1353
1354         * UIProcess/WebPageProxy.h:
1355         Add applicationWillEnterForeground()
1356         applicationWillResignActive()
1357         applicationDidBecomeActive()
1358
1359         * UIProcess/ios/WKContentView.mm:
1360         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):
1361         Observe notifications.
1362
1363         (-[WKContentView dealloc]):
1364         Stop observing notifications.
1365
1366         (-[WKContentView _applicationWillResignActive:]):
1367         Notify WebPageProxy of the event.
1368
1369         (-[WKContentView _applicationWillEnterForeground:]):
1370         Notify WebPageProxy of the event.
1371
1372         (-[WKContentView _applicationDidBecomeActive:]):
1373         Notify WebPageProxy of the event.
1374
1375         * UIProcess/ios/WebPageProxyIOS.mm:
1376         (WebKit::WebPageProxy::applicationWillEnterForeground):
1377         Send corresponding Message to WebPage.
1378
1379         (WebKit::WebPageProxy::applicationWillResignActive):
1380         Send corresponding Message to WebPage.
1381
1382         (WebKit::WebPageProxy::applicationDidBecomeActive):
1383         Send corresponding Message to WebPage.
1384
1385         * WebProcess/WebPage/WebPage.h:
1386         Add applicationWillEnterForeground()
1387         applicationWillResignActive()
1388         applicationDidBecomeActive()
1389
1390         * WebProcess/WebPage/WebPage.messages.in:
1391         Add applicationWillEnterForeground()
1392         applicationWillResignActive()
1393         applicationDidBecomeActive()
1394
1395         * WebProcess/WebPage/ios/WebPageIOS.mm:
1396         (WebKit::WebPage::applicationWillResignActive):
1397         Post corresponding NSNotification.
1398
1399         (WebKit::WebPage::applicationWillEnterForeground):
1400         Post corresponding NSNotification.
1401
1402         (WebKit::WebPage::applicationDidBecomeActive):
1403         Post corresponding NSNotification.
1404
1405 2014-03-03  Commit Queue  <commit-queue@webkit.org>
1406
1407         Unreviewed, rolling out r165013.
1408         http://trac.webkit.org/changeset/165013
1409         https://bugs.webkit.org/show_bug.cgi?id=129646
1410
1411         New code is not thread safe, asserting on a worker test
1412         (Requested by ap on #webkit).
1413
1414         * NetworkProcess/NetworkResourceLoader.h:
1415         * NetworkProcess/mac/DiskCacheMonitor.h:
1416         * NetworkProcess/mac/DiskCacheMonitor.mm:
1417         (WebKit::DiskCacheMonitor::DiskCacheMonitor):
1418         * WebProcess/Network/NetworkProcessConnection.cpp:
1419         (WebKit::NetworkProcessConnection::didCacheResource):
1420         * WebProcess/Network/NetworkProcessConnection.h:
1421         * WebProcess/Network/NetworkProcessConnection.messages.in:
1422
1423 2014-03-03  Enrica Casucci  <enrica@apple.com>
1424
1425         [iOS WebKit2]: Text fields don't zoom in when focused
1426         https://bugs.webkit.org/show_bug.cgi?id=129632
1427         <rdar://problem/16185230>
1428
1429         Reviewed by Benjamin Poulain.
1430
1431         When focusing the node we need to zoom and center it and possibly
1432         scroll to make it visible.
1433         On iPad we only scroll, without zooming.
1434
1435         * Shared/AssistedNodeInformation.cpp:
1436         (WebKit::AssistedNodeInformation::encode):
1437         (WebKit::AssistedNodeInformation::decode):
1438         * Shared/AssistedNodeInformation.h:
1439         (WebKit::AssistedNodeInformation::AssistedNodeInformation):
1440         * UIProcess/API/Cocoa/WKWebViewInternal.h:
1441         * UIProcess/ios/WKContentView.h:
1442         * UIProcess/ios/WKContentView.mm:
1443         (-[WKContentView _scrollToRect:withOrigin:minimumScrollDistance:]):
1444         * UIProcess/ios/WKContentViewInteraction.mm:
1445         (-[WKContentView _displayFormNodeInputView]):
1446         (-[WKContentView _startAssistingNode:]):
1447         * WebProcess/WebPage/ios/WebPageIOS.mm:
1448         (WebKit::WebPage::getAssistedNodeInformation):
1449
1450 2014-03-03  Sam Weinig  <sam@webkit.org>
1451
1452         Fix ASSERT and leaks introduced in recent "Support IOS Accessibility in WK2" patch
1453
1454         Reviewed by Simon Fraser.
1455
1456         * UIProcess/ios/WKContentView.mm:
1457         (-[WKContentView _accessibilityRegisterUIProcessTokens]):
1458         * WebProcess/WebPage/ios/WebPageIOS.mm:
1459         (WebKit::WebPage::platformInitializeAccessibility):
1460
1461 2014-03-03  Simon Fraser  <simon.fraser@apple.com>
1462
1463         Composited masks not working on iOS after r164890 
1464         https://bugs.webkit.org/show_bug.cgi?id=129630
1465
1466         Reviewed by Jer Noble.
1467         
1468         Fix typo in UIView-related masks code; set the mask layer
1469         on the view, not the maskView.
1470
1471         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1472         (WebKit::RemoteLayerTreePropertyApplier::applyProperties):
1473
1474 2014-02-28  Chris Fleizach  <cfleizach@apple.com>
1475
1476         AX: Support IOS Accessibility in WK2
1477         https://bugs.webkit.org/show_bug.cgi?id=129527
1478
1479         Reviewed by Sam Weinig.
1480
1481         Implement enough AX hooks so that accessibility can work in WebKit2.
1482
1483         * Platform/IPC/Connection.h:
1484         * Platform/IPC/mac/ConnectionMac.cpp:
1485         (IPC::Connection::identifier):
1486         * UIProcess/ios/PageClientImplIOS.mm:
1487         (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
1488         * UIProcess/ios/WKContentView.h:
1489         * UIProcess/ios/WKContentView.mm:
1490         (-[WKContentView _updateForScreen:]):
1491         (-[WKContentView _setAccessibilityWebProcessToken:]):
1492         (-[WKContentView _accessibilityRegisterUIProcessTokens]):
1493         (-[WKContentView _didRelaunchProcess]):
1494         * UIProcess/ios/WebPageProxyIOS.mm:
1495         (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
1496         (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
1497         * WebKit2.xcodeproj/project.pbxproj:
1498         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1499         * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.h: Added.
1500         * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm: Added.
1501         (-[WKAccessibilityWebPageObject init]):
1502         (-[WKAccessibilityWebPageObject _accessibilityCategoryInstalled:]):
1503         (-[WKAccessibilityWebPageObject pageScale]):
1504         (-[WKAccessibilityWebPageObject dealloc]):
1505         * WebProcess/WebPage/WebPage.h:
1506         * WebProcess/WebPage/ios/WebPageIOS.mm:
1507         (WebKit::WebPage::platformInitialize):
1508         (WebKit::WebPage::platformInitializeAccessibility):
1509         (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
1510         (WebKit::WebPage::registerUIProcessAccessibilityTokens):
1511         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h.
1512         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm.
1513         (-[WKAccessibilityWebPageObjectBase accessibilityFocusedUIElement]):
1514         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.h: Added.
1515         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm: Added.
1516         (-[WKAccessibilityWebPageObject accessibilityIsIgnored]):
1517         (-[WKAccessibilityWebPageObject accessibilityAttributeNames]):
1518         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
1519         (-[WKAccessibilityWebPageObject accessibilityIsAttributeSettable:]):
1520         (-[WKAccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
1521         (-[WKAccessibilityWebPageObject convertScreenPointToRootView:]):
1522         (-[WKAccessibilityWebPageObject accessibilityActionNames]):
1523         (-[WKAccessibilityWebPageObject accessibilityChildren]):
1524         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
1525         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
1526         (-[WKAccessibilityWebPageObject accessibilityShouldUseUniqueId]):
1527         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
1528         * WebProcess/WebPage/mac/WebPageMac.mm:
1529         * WebProcess/cocoa/WebProcessCocoa.mm:
1530         (WebKit::WebProcess::platformInitializeProcess):
1531
1532 2014-03-03  Martin Hock  <mhock@apple.com>
1533
1534         Add support for sessions to MemoryCache.
1535         https://bugs.webkit.org/show_bug.cgi?id=127794
1536
1537         Reviewed by Sam Weinig.
1538
1539         * NetworkProcess/NetworkResourceLoader.h: Add sessionID() method.
1540         (WebKit::NetworkResourceLoader::sessionID):
1541         * NetworkProcess/mac/DiskCacheMonitor.h: Add sessionID member.
1542         * NetworkProcess/mac/DiskCacheMonitor.mm:
1543         (WebKit::DiskCacheMonitor::DiskCacheMonitor): Send sessionID to NetworkProcessConnection::DidCacheResource.
1544         * WebProcess/Network/NetworkProcessConnection.cpp: Add sessionID parameter to didCacheResource and pass to MemoryCache.
1545         (WebKit::NetworkProcessConnection::didCacheResource):
1546         * WebProcess/Network/NetworkProcessConnection.h: Ditto.
1547         * WebProcess/Network/NetworkProcessConnection.messages.in: Ditto.
1548
1549 2014-03-03  Benjamin Poulain  <bpoulain@apple.com>
1550
1551         [iOS][WK2] Regression: ScrollView's scroll offset is never set after r164702
1552         https://bugs.webkit.org/show_bug.cgi?id=129620
1553
1554         Reviewed by Simon Fraser.
1555
1556         * WebProcess/WebPage/ios/WebPageIOS.mm:
1557         (WebKit::WebPage::updateVisibleContentRects):
1558
1559 2014-03-03  Simon Fraser  <simon.fraser@apple.com>
1560
1561         Crash when going into video fullscreen on iOS
1562         https://bugs.webkit.org/show_bug.cgi?id=129613
1563
1564         Reviewed by Dean Jackson.
1565         
1566         We shouldn't reparent a UIView's layer without unparenting
1567         the view first.
1568
1569         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1570         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
1571
1572 2014-03-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1573
1574         [GTK] WebKit2WebExtension GIR can't be used in vala
1575         https://bugs.webkit.org/show_bug.cgi?id=127179
1576
1577         Reviewed by Martin Robinson.
1578
1579         Add a different pkg-config file for the web extensions API.
1580
1581         * GNUmakefile.am:
1582         * PlatformGTK.cmake:
1583         * webkit2gtk-web-extension.pc.in: Added.
1584
1585 2014-03-02  Darin Adler  <darin@apple.com>
1586
1587         Streamline use of TextIterator, cutting down includes and use of soon-to-be-deleted functions
1588         https://bugs.webkit.org/show_bug.cgi?id=129592
1589
1590         Reviewed by Sam Weinig.
1591
1592         * UIProcess/WebPageProxy.cpp: Added now-needed include.
1593         * WebProcess/WebPage/WebPage.cpp: Ditto.
1594
1595 2014-03-02  Enrica Casucci  <enrica@apple.com>
1596
1597         [iOS WebKit2] Keyboard deadlock when accepting/dismissing autocorrection.
1598         https://bugs.webkit.org/show_bug.cgi?id=129594
1599         <rdar://problem/16168978>
1600
1601         Reviewed by Sam Weinig.
1602
1603         As a temporary fix, we are using a synchronous
1604         message to accept autocorrection until we implement
1605         a solution that processes these requests on a thread that
1606         is not the main thread.
1607
1608         * UIProcess/WebPageProxy.h:
1609         * UIProcess/ios/WKContentViewInteraction.mm:
1610         (-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):
1611         (-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
1612         * UIProcess/ios/WebPageProxyIOS.mm:
1613         (WebKit::WebPageProxy::applyAutocorrection):
1614         * WebProcess/WebPage/WebPage.h:
1615         * WebProcess/WebPage/WebPage.messages.in:
1616         * WebProcess/WebPage/ios/WebPageIOS.mm:
1617         (WebKit::WebPage::applyAutocorrection):
1618         (WebKit::WebPage::syncApplyAutocorrection):
1619
1620 2014-03-02  Dan Bernstein  <mitz@apple.com>
1621
1622         Try to fix the 32-bit build.
1623
1624         * UIProcess/ios/forms/WKFormSelectPopover.mm:
1625         (adjustedFontSize):
1626
1627 2014-03-02  Sam Weinig  <sam@webkit.org>
1628
1629         Page Cache is not enabled when using the modern WebKit2 API
1630         https://bugs.webkit.org/show_bug.cgi?id=129585
1631
1632         Reviewed by Dan Bernstein.
1633
1634         * UIProcess/API/Cocoa/WKProcessPool.mm:
1635         (-[WKProcessPool initWithConfiguration:]):
1636         Default to CacheModelPrimaryWebBrowser until there is a way to configure it.
1637
1638 2014-03-02  Enrica Casucci  <enrica@apple.com>
1639
1640         [iOS WebKit2] Form controls handling
1641         https://bugs.webkit.org/show_bug.cgi?id=129344
1642         <rdar://problem/16053643>
1643
1644         Reviewed by Simon Fraser.
1645
1646         Adding support for select elements on iOS.
1647         There is full support on iPad, while on iPhone it is
1648         still limited to single select with no groups.
1649         The change also fixes the issue of the keyboard appearing
1650         on screen for types of elements that are implemented with
1651         a popover or a picker.
1652
1653         * Scripts/webkit2/messages.py:
1654         * Shared/AssistedNodeInformation.cpp:
1655         (WebKit::WKOptionItem::encode):
1656         (WebKit::WKOptionItem::decode):
1657         (WebKit::AssistedNodeInformation::encode):
1658         (WebKit::AssistedNodeInformation::decode):
1659         * Shared/AssistedNodeInformation.h:
1660         (WebKit::WKOptionItem::WKOptionItem):
1661         * UIProcess/WebPageProxy.h:
1662         * UIProcess/ios/WKContentViewInteraction.h:
1663         * UIProcess/ios/WKContentViewInteraction.mm:
1664         (-[WKContentView inputView]):
1665         (-[WKContentView assistedNodeSelectOptions]):
1666         (-[WKContentView _startAssistingNode:]):
1667         * UIProcess/ios/WebPageProxyIOS.mm:
1668         (WebKit::WebPageProxy::setAssistedNodeSelectedIndex):
1669         * UIProcess/ios/forms/WKFormSelectControl.h:
1670         * UIProcess/ios/forms/WKFormSelectControl.mm: Added.
1671         (-[WKFormSelectControl initWithView:]):
1672         (+[WKFormSelectControl createPeripheralWithView:]):
1673         (-[WKFormSelectControl assistantView]):
1674         (-[WKFormSelectControl beginEditing]):
1675         (-[WKFormSelectControl endEditing]):
1676         * UIProcess/ios/forms/WKFormSelectPicker.mm: Added.
1677         (-[WKSelectSinglePicker initWithView:]):
1678         (-[WKSelectSinglePicker dealloc]):
1679         (-[WKSelectSinglePicker controlView]):
1680         (-[WKSelectSinglePicker controlBeginEditing]):
1681         (-[WKSelectSinglePicker controlEndEditing]):
1682         (-[WKSelectSinglePicker numberOfComponentsInPickerView:]):
1683         (stringByTrimmingWhitespaceAndNewlines):
1684         (-[WKSelectSinglePicker pickerView:numberOfRowsInComponent:]):
1685         (-[WKSelectSinglePicker pickerView:attributedTitleForRow:forComponent:]):
1686         (-[WKSelectSinglePicker pickerView:didSelectRow:inComponent:]):
1687         * UIProcess/ios/forms/WKFormSelectPopover.mm: Added.
1688         (stringWithWritingDirection):
1689         (adjustedFontSize):
1690         (-[WKSelectTableViewController initWithView:hasGroups:]):
1691         (-[WKSelectTableViewController viewWillAppear:]):
1692         (-[WKSelectTableViewController numberOfSectionsInTableView:]):
1693         (-[WKSelectTableViewController tableView:numberOfRowsInSection:]):
1694         (-[WKSelectTableViewController tableView:titleForHeaderInSection:]):
1695         (-[WKSelectTableViewController populateCell:withItem:]):
1696         (-[WKSelectTableViewController findItemIndexAt:]):
1697         (-[WKSelectTableViewController findItemAt:]):
1698         (-[WKSelectTableViewController tableView:cellForRowAtIndexPath:]):
1699         (-[WKSelectTableViewController tableView:didSelectRowAtIndexPath:]):
1700         (-[WKSelectTableViewController hasText]):
1701         (-[WKSelectTableViewController insertText:]):
1702         (-[WKSelectTableViewController deleteBackward]):
1703         (-[WKSelectPopover initWithView:hasGroups:]):
1704         (-[WKSelectPopover dealloc]):
1705         (-[WKSelectPopover controlView]):
1706         (-[WKSelectPopover controlBeginEditing]):
1707         (-[WKSelectPopover controlEndEditing]):
1708         (-[WKSelectPopover _userActionDismissedPopover:]):
1709         * WebKit2.xcodeproj/project.pbxproj:
1710         * WebProcess/WebPage/WebPage.h:
1711         * WebProcess/WebPage/WebPage.messages.in:
1712         * WebProcess/WebPage/ios/WebPageIOS.mm:
1713         (WebKit::WebPage::setAssistedNodeSelectedIndex):
1714         (WebKit::innerFrameQuad):
1715         (WebKit::WebPage::getPositionInformation):
1716         (WebKit::hasFocusableNode):
1717         (WebKit::WebPage::getAssistedNodeInformation):
1718         (WebKit::WebPage::elementDidFocus):
1719
1720 2014-03-02  Benjamin Poulain  <bpoulain@apple.com>
1721
1722         [iOS][WK2] Pages using tiled compositing layers allocate too many tiles on zoom
1723         https://bugs.webkit.org/show_bug.cgi?id=129471
1724
1725         Reviewed by Simon Fraser.
1726
1727         * WebProcess/WebPage/DrawingArea.h:
1728         * WebProcess/WebPage/ios/WebPageIOS.mm:
1729         (WebKit::WebPage::updateVisibleContentRects):
1730         A few interesting changes here:
1731         -Now that we do not use setExposedRect, we can pass the exposed area directly
1732          to the drawing area since everything is now in content coordinates :)
1733         -The scale is now converted to float before being compared to the Page's scaleFactor.
1734          The page's scalefactor being a float, the comparison was failing most of the time.
1735
1736         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1737         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1738         (WebKit::RemoteLayerTreeDrawingArea::setVisibleExtentContentRect):
1739
1740 2014-03-02  Darin Adler  <darin@apple.com>
1741
1742         Change public text iterator API implementations to not depend on 16-bit character pointers
1743         https://bugs.webkit.org/show_bug.cgi?id=129566
1744
1745         Reviewed by Anders Carlsson.
1746
1747         * WebView/WebTextIterator.mm:
1748         (-[WKDOMTextIterator initWithRange:]): Use make_unique instead of adoptPtr.
1749         (-[WKDOMTextIterator advance]): Clear out the upconverted text since we are moving on to the
1750         next text.
1751         (-[WKDOMTextIterator currentTextPointer]): Upconvert if we have 8-bit text.
1752         (-[WKDOMTextIterator currentTextLength]): Call TextIterator::text().length() since we will
1753         probably be removing TextIterator::length eventually.
1754
1755         * WebProcess/WebCoreSupport/WebEditorClient.cpp: Removed unneded include of TextIterator.h.
1756         * WebProcess/WebPage/WebPage.cpp: Ditto.
1757
1758 2014-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1759
1760         [GTK] Make impossible to build with <webkit2/webkit2.h> and <webkit2/webkit-web-extension.h> included together
1761         https://bugs.webkit.org/show_bug.cgi?id=129549
1762
1763         Reviewed by Martin Robinson.
1764
1765         Add a compile error to prevent mixing the UI and web process APIs.
1766
1767         * UIProcess/API/gtk/webkit2.h:
1768         * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
1769
1770 2014-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1771
1772         [GTK] Remove the include dir of the C API from the WebKit2 pkg-config file
1773         https://bugs.webkit.org/show_bug.cgi?id=129543
1774
1775         Reviewed by Martin Robinson.
1776
1777         We are not installing the C API headers anymore.
1778
1779         * webkit2gtk.pc.in:
1780
1781 2014-03-01  Tim Horton  <timothy_horton@apple.com>
1782
1783         Fix the Mac build.
1784
1785         * UIProcess/mac/ViewGestureController.messages.in:
1786
1787 2014-03-01  Tim Horton  <timothy_horton@apple.com>
1788
1789         WebKit2 View Gestures (Smart Magnification): Support for iOS
1790         https://bugs.webkit.org/show_bug.cgi?id=129146
1791         <rdar://problem/16032668>
1792
1793         Reviewed by Benjamin Poulain.
1794
1795         Add support for double-tap smart magnification on iOS.
1796
1797         * DerivedSources.make:
1798         * UIProcess/API/Cocoa/WKWebView.mm:
1799         (-[WKWebView initWithFrame:configuration:]):
1800         WKContentView is no longer API, so it can know about WKWebView
1801         and will always have one.
1802
1803         (-[WKWebView contentView:didCommitLayerTree:WebKit::]):
1804         Don't replace the zoom scale if we're currently animating.
1805
1806         (-[WKWebView _takeViewSnapshot]):
1807         Rename.
1808
1809         (-[WKWebView _zoomToPoint:WebCore::atScale:]):
1810         (-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):
1811         (constrainContentOffset):
1812         (-[WKWebView _scrollToRect:WebCore::origin:WebCore::minimumScrollDistance:]):
1813         (-[WKWebView _zoomOutWithOrigin:]):
1814         (-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
1815         Add _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:
1816         and _zoomOutWithOrigin: as internal API, for use by SmartMagnificationController via WKContentView.
1817         These will use some heuristics to generally center the target rect in the view
1818         in a way that should match WebKit1 fairly closely.
1819
1820         * UIProcess/API/Cocoa/WKWebViewInternal.h:
1821         Don't use the WKContentViewDelegate protocol for things that don't belong there.
1822
1823         * UIProcess/ios/SmartMagnificationController.h: Added.
1824         * UIProcess/ios/SmartMagnificationController.messages.in: Added.
1825         * UIProcess/ios/SmartMagnificationController.mm: Added.
1826         (WebKit::SmartMagnificationController::SmartMagnificationController):
1827         (WebKit::SmartMagnificationController::~SmartMagnificationController):
1828         (WebKit::SmartMagnificationController::handleSmartMagnificationGesture):
1829         (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
1830         SmartMagnificationController sits off of WKContentView, and sends/receives
1831         messages to the WebProcess to do the smart magnification hit-testing.
1832
1833         * UIProcess/ios/WKContentView.h:
1834         * UIProcess/ios/WKContentView.mm:
1835         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
1836         As before, teach WKContentView about its owning WKWebView.
1837
1838         (-[WKContentView _takeViewSnapshot]):
1839         Rename.
1840
1841         (-[WKContentView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
1842         (-[WKContentView _zoomOutWithOrigin:]):
1843         Forward _zoomToRect:::::: and _zoomOutWithOrigin: to WKWebView.
1844
1845         * UIProcess/ios/WKContentViewInteraction.h:
1846         * UIProcess/ios/WKContentViewInteraction.mm:
1847         (-[WKContentView setupInteraction]):
1848         (-[WKContentView _doubleTapRecognized:]):
1849         (-[WKContentView _twoFingerDoubleTapRecognized:]):
1850         Forward double tap to the SmartMagnificationController.
1851
1852         * UIProcess/mac/ViewGestureController.h:
1853         * UIProcess/mac/ViewGestureController.messages.in:
1854         * UIProcess/mac/ViewGestureControllerMac.mm:
1855         (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
1856         Retrieve the minimum/maximum viewport scale from the WebProcess.
1857
1858         * WebKit2.xcodeproj/project.pbxproj:
1859         Add new files.
1860
1861         * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
1862         (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
1863         (WebKit::ViewGestureGeometryCollector::dispatchDidCollectGeometryForSmartMagnificationGesture):
1864         (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
1865         (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
1866         Factor out code to send the geometry back to the UI process.
1867
1868         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
1869         * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
1870         * WebProcess/WebPage/WebPage.cpp:
1871         (WebKit::WebPage::WebPage):
1872         * WebProcess/WebPage/WebPage.h:
1873         We should have a ViewGestureGeometryCollector on iOS too.
1874
1875 2014-03-01  Zan Dobersek  <zdobersek@igalia.com>
1876
1877         Unreviewed follow-up to r164905 and r164912.
1878
1879         * Platform/IPC/Connection.h: Only declare setShouldCloseConnectionOnMachExceptions() for the Mac port.
1880         * UIProcess/Plugins/PluginProcessProxy.cpp:
1881         (WebKit::PluginProcessProxy::didFinishLaunching): Only call setShouldCloseConnectionOnMachExceptions() on the Mac port.
1882
1883 2014-03-01  Gavin Barraclough  <barraclough@apple.com>
1884
1885         Split UserActivity/CountedUserActivity
1886         https://bugs.webkit.org/show_bug.cgi?id=129520
1887
1888         Reviewed by Sam Weinig.
1889
1890         UserActivity currently provides an interface allowing counted, nested calls to enable/disable.
1891         In some cases it would be easier to use if it were a simpler boolean enabled/disabled interface.
1892
1893         * PluginProcess/PluginProcess.h:
1894         (WebKit::PluginProcess::connectionActivity):
1895             - UserActivity->CountedUserActivity
1896         * PluginProcess/mac/PluginProcessMac.mm:
1897         (WebKit::PluginProcess::platformInitializeProcess):
1898             - beginActivity->start
1899         * Shared/ActivityAssertion.cpp:
1900         (WebKit::ActivityAssertion::ActivityAssertion):
1901         (WebKit::ActivityAssertion::~ActivityAssertion):
1902             - beginActivity->increment, endActivity->decrement.
1903         * Shared/ActivityAssertion.h:
1904             - UserActivity->CountedUserActivity
1905         * Shared/ChildProcess.cpp:
1906         (WebKit::ChildProcess::setProcessSuppressionEnabled):
1907             - beginActivity->start, endActivity->stop.
1908         * Shared/ChildProcess.h:
1909             - removed processSuppressionEnabled()
1910         * WebProcess/WebPage/WebPage.cpp:
1911         (WebKit::WebPage::updatePreferences):
1912             - beginActivity->start, endActivity->stop.
1913
1914 2014-03-01  Csaba Osztrogonác  <ossy@webkit.org>
1915
1916         Unreviewed trivial Linux buildfix after r164905.
1917
1918         setShouldCloseConnectionOnMachExceptions() is defined in the Mac only
1919         Source/WebKit2/Platform/IPC/mac/ConnectionMac.cpp inside !PLATFORM(IOS)
1920         which means PLATFORM(MAC), because nobody else uses this source file.
1921
1922         But ChildProcessProxy.cpp is used by Linux ports too, so we have to
1923         use the most specific #if guard here, which is PLATFORM(MAC).
1924
1925         * Shared/ChildProcessProxy.cpp:
1926         (WebKit::ChildProcessProxy::didFinishLaunching):
1927
1928 2014-02-28  Simon Fraser  <simon.fraser@apple.com>
1929
1930         [iOS] Assertions and bad behavior when zooming into an iframe containing apple.com
1931         https://bugs.webkit.org/show_bug.cgi?id=129537
1932
1933         Reviewed by Benjamin Poulain.
1934         
1935         When building RemoteLayerTreeTransactions, the ordering of setting created
1936         layers and doing the recursive tree walk was wrong, such that we failed
1937         to noticed layers created during the recursiveBuildTransaction().
1938         
1939         Also harden the UI-side code against Obj-C exceptions thrown when layers
1940         are missing.
1941
1942         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1943         (WebKit::RemoteLayerTreePropertyApplier::applyProperties): Assert when 
1944         children are not found, and protect against Obj-C exceptions.
1945         * Shared/mac/RemoteLayerTreeTransaction.mm:
1946         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
1947         Initialize the members.
1948         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1949         (WebKit::RemoteLayerTreeContext::buildTransaction): Do the recursive walk
1950         before setting created and destroyed layers, since the walk can create
1951         layers (especially when swapping into tiled layers).
1952
1953 2014-02-28  Jinwoo Song  <jinwoo7.song@samsung.com>
1954
1955         Fix WebKit2 build after r164890
1956         https://bugs.webkit.org/show_bug.cgi?id=129533
1957
1958         Reviewed by Simon Fraser.
1959
1960         LayerRepresentation.h is included to WebPageProxy.h in r164890
1961         but it is not used in non Mac or iOS port.
1962
1963         * UIProcess/WebPageProxy.h:
1964
1965 2014-02-28  Alexey Proskuryakov  <ap@apple.com>
1966
1967         [Mac] Extract _data->_thumbnailView checks into a helper function
1968         https://bugs.webkit.org/show_bug.cgi?id=129517
1969
1970         Reviewed by Sam Weinig.
1971
1972         * UIProcess/API/mac/WKView.mm:
1973         (-[WKView shouldIgnoreMouseEvents]):
1974         (-[WKView scrollWheel:]):
1975         (-[WKView mouseMoved:]):
1976         (-[WKView mouseDown:]):
1977         (-[WKView mouseUp:]):
1978         (-[WKView mouseDragged:]):
1979
1980 2014-02-28  Pratik Solanki  <psolanki@apple.com>
1981
1982         [iOS][WebKit2] Don't use any of the mach exception handling code on iOS
1983         https://bugs.webkit.org/show_bug.cgi?id=129516
1984
1985         Reviewed by Sam Weinig.
1986
1987         This code is not used on iOS after my fix in r164883. We can just move it all under
1988         !PLATFORM(IOS).
1989
1990         * Platform/IPC/Connection.h:
1991         * Platform/IPC/mac/ConnectionMac.cpp:
1992         (IPC::Connection::platformInvalidate):
1993         (IPC::Connection::platformInitialize):
1994         (IPC::Connection::open):
1995         * Shared/ChildProcessProxy.cpp:
1996         (WebKit::ChildProcessProxy::didFinishLaunching):
1997
1998 2014-02-28  Benjamin Poulain  <bpoulain@apple.com>
1999
2000         [iOS][WK2] highlight rects should never big bigger than the view
2001         https://bugs.webkit.org/show_bug.cgi?id=129472
2002         <rdar://problem/15673655>
2003
2004         Reviewed by Enrica Casucci.
2005
2006         The unobscuredRect on WebPageProxy is the "true" view rect as seen by the user.
2007         Use that to constrain our highlight rects.
2008
2009         * UIProcess/ios/WKContentViewInteraction.mm:
2010         (highlightedQuadsFitInRect):
2011         (-[WKContentView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
2012
2013 2014-02-28  Simon Fraser  <simon.fraser@apple.com>
2014
2015         Make UIViews for compositing layers in the UI process on iOS
2016         https://bugs.webkit.org/show_bug.cgi?id=129508
2017
2018         Reviewed by Sam Weinig.
2019         
2020         In order to parent UIScrollViews for -webkit-overflow-scrolling:touch,
2021         we need to use UIViews in the compositing layer hierarchy on iOS.
2022         
2023         Make much of the code that currently uses CALayers layer-or-view
2024         agnostic by using a typedef LayerOrView.
2025         
2026         Fix RemoteLayerTreePropertyApplier to apply properties to UIViews
2027         or CALayers; on iOS, we need both paths because we have to set properties
2028         on CALayer for remotely hosted content.
2029         
2030         Add iOS-specific implementation files for RemoteLayerTreeHost and RemoteScrollingCoordinatorProxy,
2031         since these need to see the UIView implementation. WebVideoFullscreenManagerProxy.cpp also needs
2032         to be come a .mm file.
2033
2034         * Shared/mac/RemoteLayerTreePropertyApplier.h:
2035         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
2036         (-[UIView setSubviews:]):
2037         (WebKit::applyPropertiesToLayer):
2038         (WebKit::RemoteLayerTreePropertyApplier::applyProperties):
2039         * UIProcess/Cocoa/LayerRepresentation.h: Copied from Source/WebKit2/Shared/mac/RemoteLayerTreePropertyApplier.h.
2040         (asLayer):
2041         * UIProcess/PageClient.h:
2042         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
2043         * UIProcess/WebPageProxy.h:
2044         * UIProcess/ios/LayerRepresentation.mm: Copied from Source/WebKit2/Shared/mac/RemoteLayerTreePropertyApplier.h.
2045         (asLayer):
2046         * UIProcess/ios/PageClientImplIOS.h:
2047         * UIProcess/ios/PageClientImplIOS.mm:
2048         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
2049         (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
2050         * UIProcess/ios/RemoteLayerTreeHostIOS.mm: Added.
2051         (+[WKTransformView layerClass]):
2052         (-[WKRemoteView initWithFrame:contextID:]):
2053         (+[WKRemoteView layerClass]):
2054         (WebKit::RemoteLayerTreeHost::createLayer):
2055         * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: Added.
2056         (WebKit::layerRepresentationFromLayerOrView):
2057         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
2058         * UIProcess/ios/WKContentView.h:
2059         * UIProcess/ios/WKContentView.mm:
2060         (-[WKContentView _setAcceleratedCompositingRootView:]):
2061         * UIProcess/ios/WebPageProxyIOS.mm:
2062         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
2063         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.cpp.
2064         (WebKit::WebVideoFullscreenManagerProxy::create):
2065         (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
2066         (WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
2067         (WebKit::WebVideoFullscreenManagerProxy::didCommitLayerTree):
2068         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
2069         (WebKit::WebVideoFullscreenManagerProxy::enterFullscreen):
2070         (WebKit::WebVideoFullscreenManagerProxy::requestExitFullScreen):
2071         (WebKit::WebVideoFullscreenManagerProxy::play):
2072         (WebKit::WebVideoFullscreenManagerProxy::pause):
2073         (WebKit::WebVideoFullscreenManagerProxy::togglePlayState):
2074         (WebKit::WebVideoFullscreenManagerProxy::seekToTime):
2075         (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
2076         * UIProcess/mac/PageClientImpl.h:
2077         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
2078         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
2079         (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
2080         * UIProcess/mac/RemoteLayerTreeHost.h:
2081         (WebKit::RemoteLayerTreeHost::rootLayer):
2082         * UIProcess/mac/RemoteLayerTreeHost.mm:
2083         (WebKit::RemoteLayerTreeHost::updateLayerTree):
2084         (WebKit::RemoteLayerTreeHost::getLayer):
2085         (WebKit::RemoteLayerTreeHost::createLayer):
2086         * UIProcess/mac/WebPageProxyMac.mm:
2087         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
2088         (WebKit::WebPageProxy::acceleratedCompositingRootLayer):
2089         * WebKit2.xcodeproj/project.pbxproj:
2090         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2091         (PlatformCALayerRemote::recursiveBuildTransaction):
2092
2093 2014-02-28  Anders Carlsson  <andersca@apple.com>
2094
2095         WebKit2.TerminateTwice test is failing.
2096
2097         * UIProcess/WebPageProxy.cpp:
2098         (WebKit::WebPageProxy::resetStateAfterProcessExited):
2099         Turns out this can be called even when we're in the launching state so don't try to
2100         remove the process from the visited link provider when in that state.
2101
2102 2014-02-28  Chris Fleizach  <cfleizach@apple.com>
2103
2104         AX: Crash in WebKit::WebPageProxy::registerWebProcessAccessibilityToken
2105         https://bugs.webkit.org/show_bug.cgi?id=127387
2106
2107         Reviewed by Alexey Proskuryakov.
2108
2109         Speculative fix for crasher. We should check if the connection is still valid before proceeding.
2110
2111         * UIProcess/mac/WebPageProxyMac.mm:
2112         (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
2113
2114 2014-02-28  Timothy Hatcher  <timothy@apple.com>
2115
2116         Properly handle when Test.html is not present in Production builds.
2117
2118         https://bugs.webkit.org/show_bug.cgi?id=129506
2119
2120         Reviewed by Joseph Pecoraro.
2121
2122         * UIProcess/WebInspectorProxy.cpp:
2123         (WebKit::isMainOrTestInspectorPage):
2124         * UIProcess/mac/WebInspectorProxyMac.mm:
2125         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2126
2127 2014-02-28  Pratik Solanki  <psolanki@apple.com>
2128
2129         [iOS][WebKit2] Don't grab mach exception port on iOS
2130         https://bugs.webkit.org/show_bug.cgi?id=129505
2131         <rdar://problem/15972749>
2132
2133         Reviewed by Anders Carlsson.
2134
2135         Don't grab the mach exception port on iOS so we get crash logs for web process and network
2136         process.
2137
2138         * Shared/ChildProcessProxy.cpp:
2139         (WebKit::ChildProcessProxy::didFinishLaunching):
2140
2141 2014-02-28  Brent Fulgham  <bfulgham@apple.com>
2142
2143         Unreviewed build fix after r164832.
2144
2145         * UIProcess/ios/WebProcessProxyIOS.mm:
2146         (WebKit::WebProcessProxy::updateProcessState): Switch from removed
2147         'isValid' to 'state() != State::Running'
2148
2149 2014-02-28  Anders Carlsson  <andersca@apple.com>
2150
2151         VisitedLinkProvider should keep track of processes, not pages
2152         https://bugs.webkit.org/show_bug.cgi?id=129497
2153
2154         Reviewed by Dan Bernstein.
2155
2156         Use a counted set of WebProcessProxy pointers instead of a set of pages.
2157
2158         * UIProcess/VisitedLinkProvider.cpp:
2159         (WebKit::VisitedLinkProvider::~VisitedLinkProvider):
2160         Assert that m_processes is null.
2161
2162         (WebKit::VisitedLinkProvider::addProcess):
2163         Add the process to the set.
2164
2165         (WebKit::VisitedLinkProvider::removeProcess):
2166         Remove the process from the set.
2167
2168         * UIProcess/VisitedLinkProvider.h:
2169         
2170         * UIProcess/WebPageProxy.cpp:
2171         (WebKit::WebPageProxy::WebPageProxy):
2172         If our process is currently running, add it to the visited link provider.
2173         Otherwise it will be added in connectionWillOpen.
2174
2175         (WebKit::WebPageProxy::close):
2176         If our process is running, remove it from the visited link provider. 
2177         Otherwise it's either crashed or not yet launched and will not have been added.
2178
2179         (WebKit::WebPageProxy::connectionWillOpen):
2180         Add the process to the visited link provider.
2181
2182         (WebKit::WebPageProxy::resetStateAfterProcessExited):
2183         Remove the process from the visited link provider.
2184
2185 2014-02-27  Alexey Proskuryakov  <ap@apple.com>
2186
2187         [Mac] Stop using some deprecated functions in WKView.mm
2188         https://bugs.webkit.org/show_bug.cgi?id=129455
2189
2190         Reviewed by Anders Carlsson.
2191
2192         * UIProcess/API/mac/WKView.mm:
2193         (-[WKView firstRectForCharacterRange:actualRange:]): Use convertRectToScreen,
2194         which is a replacement for convertBaseToScreen. Don't check for window being null,
2195         because isn't that crazy talk?
2196         (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Use event's location
2197         in window instead of current mouse location. Using location that is not synced to
2198         event stream rarely makes sense, and it doesn't look like this is one of those cases.
2199         (-[WKView performDictionaryLookupAtCurrentMouseLocation]): Ditto.
2200
2201 2014-02-27  Jaehun Lim  <ljaehun.lim@samsung.com>
2202
2203         Unreviewed. Fix build after r164832
2204
2205         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
2206         (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
2207
2208 2014-02-27  Martin Robinson  <mrobinson@igalia.com>
2209
2210         Fix build after r164832
2211
2212         * UIProcess/DrawingAreaProxyImpl.cpp:
2213         (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState): WebProcessProxy::isLaunching() has been replaced
2214         by WebProcessProxy::state().
2215
2216 2014-02-27  Tim Horton  <timothy_horton@apple.com>
2217
2218         Crash in RemoteLayerTreePropertyApplier::applyPropertiesToLayer
2219         https://bugs.webkit.org/show_bug.cgi?id=129456
2220         <rdar://problem/16182676>
2221
2222         Reviewed by Simon Fraser.
2223
2224         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
2225         (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
2226         We were dereferencing the RemoteLayerBackingStore without checking if it exists,
2227         in the accelerated drawing codepath. This case will occur if a layer
2228         previously drew contents, but now does not.
2229
2230 2014-02-27  Anders Carlsson  <andersca@apple.com>
2231
2232         Simplify WebProcessProxy state accessors
2233         https://bugs.webkit.org/show_bug.cgi?id=129453
2234
2235         Reviewed by Andreas Kling.
2236
2237         Replace WebProcessProxy::isLaunching() and WebProcessProxy::isValid() with a single
2238         WebProcessProxy::state() that return one of three values: Launching, Running or Terminated.
2239
2240         * Shared/ChildProcessProxy.cpp:
2241         (WebKit::ChildProcessProxy::state):
2242         (WebKit::ChildProcessProxy::sendMessage):
2243         (WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded):
2244         * Shared/ChildProcessProxy.h:
2245         (WebKit::ChildProcessProxy::canSendMessage):
2246         * UIProcess/Databases/DatabaseProcessProxy.cpp:
2247         (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
2248         * UIProcess/Network/NetworkProcessProxy.cpp:
2249         (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
2250         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
2251         (WebKit::NetworkProcessProxy::setProcessSuppressionEnabled):
2252         * UIProcess/Plugins/PluginProcessProxy.cpp:
2253         (WebKit::PluginProcessProxy::getPluginProcessConnection):
2254         (WebKit::PluginProcessProxy::getSitesWithData):
2255         (WebKit::PluginProcessProxy::clearSiteData):
2256         * UIProcess/WebPageProxy.cpp:
2257         (WebKit::WebPageProxy::WebPageProxy):
2258         (WebKit::WebPageProxy::reattachToWebProcess):
2259         (WebKit::WebPageProxy::waitForDidUpdateViewState):
2260         * UIProcess/WebProcessProxy.cpp:
2261         (WebKit::WebProcessProxy::requestTermination):
2262         (WebKit::WebProcessProxy::enableSuddenTermination):
2263         (WebKit::WebProcessProxy::disableSuddenTermination):
2264         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2265         (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
2266         * UIProcess/mac/WebPageProxyMac.mm:
2267         (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
2268         * UIProcess/mac/WebProcessProxyMac.mm:
2269         (WebKit::WebProcessProxy::updateProcessSuppressionState):
2270
2271 2014-02-27  Simon Fraser  <simon.fraser@apple.com>
2272
2273         Crash tapping on play button on video on iOS
2274         https://bugs.webkit.org/show_bug.cgi?id=129452
2275
2276         Reviewed by Benjamin Poulain.
2277         
2278         node->computedStyle() can return null. Just use
2279         renderer->style() to get the tap highlight color.
2280
2281         * WebProcess/WebPage/ios/WebPageIOS.mm:
2282         (WebKit::WebPage::tapHighlightAtPosition):
2283
2284 2014-02-27  Brian Burg  <bburg@apple.com>
2285
2286         Web Inspector: model tests should use a special Test.html inspector page
2287         https://bugs.webkit.org/show_bug.cgi?id=129190
2288
2289         Reviewed by Timothy Hatcher.
2290
2291         Support creating a separate test inspector page, based on the value of
2292         InspectorController::isUnderTest(). Add this as a separate API call for
2293         WebInspectorProxy. Modify the navigation policy to check the URL against
2294         both normal and test inspector pages.
2295
2296         * UIProcess/WebInspectorProxy.cpp:
2297         (WebKit::isMainOrTestInspectorPage):
2298         (WebKit::decidePolicyForNavigationAction):
2299         (WebKit::WebInspectorProxy::createInspectorPageForTest):
2300         * UIProcess/WebInspectorProxy.h:
2301         * UIProcess/WebInspectorProxy.messages.in:
2302         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2303         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2304         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2305         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2306         * UIProcess/ios/WebInspectorProxyIOS.mm:
2307         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2308         * UIProcess/mac/WebInspectorProxyMac.mm:
2309         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2310         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2311         (WebKit::WebInspectorClient::openInspectorFrontend):
2312         * WebProcess/WebPage/WebInspector.cpp: Some drive-by nullptr refactorings.
2313         (WebKit::WebInspector::WebInspector):
2314         (WebKit::WebInspector::createInspectorPage):
2315         (WebKit::WebInspector::createInspectorPageForTest):
2316         (WebKit::WebInspector::destroyInspectorPage):
2317         * WebProcess/WebPage/WebInspector.h:
2318
2319 2014-02-27  Anders Carlsson  <andersca@apple.com>
2320
2321         Make WebProcessProxy::pages() return an IteratorRange
2322         https://bugs.webkit.org/show_bug.cgi?id=129440
2323
2324         Reviewed by Dan Bernstein.
2325
2326         * UIProcess/API/C/WKPage.cpp:
2327         (WKPageCopyRelatedPages):
2328         Move the implementation of WebPageProxy::relatedPages here.
2329
2330         * UIProcess/WebContext.cpp:
2331         (WebKit::WebContext::createNewWebProcessRespectingProcessCountLimit):
2332         Use std::min_element here instead of a manual loop.
2333
2334         * UIProcess/WebPageProxy.cpp:
2335         Remove WebPageProxy::relatedPages().
2336
2337         * UIProcess/WebProcessProxy.cpp:
2338         Remove WebProcessProxy::pages().
2339
2340         * UIProcess/WebProcessProxy.h:
2341         (WebKit::WebProcessProxy::pages):
2342         Make this return an IteratorRange.
2343
2344         (WebKit::WebProcessProxy::pageCount):
2345         New function that returns the page count.
2346
2347 2014-02-27  Alexey Proskuryakov  <ap@apple.com>
2348
2349         [Mac][WK2] Remove hardcoded Cmd+B and Cmd+I from WKView.mm
2350         https://bugs.webkit.org/show_bug.cgi?id=129436
2351
2352         Reviewed by Darin Adler.
2353
2354         * UIProcess/API/mac/WKView.mm: Removed a historic WebKit1 behavior that we don't
2355         need to preserve in WebKit2.
2356
2357 2014-02-27  Alexey Proskuryakov  <ap@apple.com>
2358
2359         [Mac] Remove unused SPI declarations from WKView.mm
2360         https://bugs.webkit.org/show_bug.cgi?id=129434
2361
2362         Reviewed by Sam Weinig.
2363
2364         * UIProcess/API/mac/WKView.mm:
2365
2366 2014-02-26  Michael Saboff  <msaboff@apple.com>
2367
2368         Auto generate bytecode information for bytecode parser and LLInt
2369         https://bugs.webkit.org/show_bug.cgi?id=129181
2370
2371         Reviewed by Mark Lam.
2372
2373         Added ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR} to WebKit2_INCLUDE_DIRECTORIES due to new
2374         generated Bytecodes.h include file.
2375
2376         * CMakeLists.txt:
2377
2378 2014-02-27  Anders Carlsson  <andersca@apple.com>
2379
2380         Look up already existing VisitedLinkTableController objects by identifier
2381         https://bugs.webkit.org/show_bug.cgi?id=129431
2382
2383         Reviewed by Dan Bernstein.
2384
2385         * WebProcess/WebPage/VisitedLinkTableController.cpp:
2386         (WebKit::visitedLinkTableControllers):
2387         (WebKit::VisitedLinkTableController::getOrCreate):
2388         (WebKit::VisitedLinkTableController::VisitedLinkTableController):
2389         (WebKit::VisitedLinkTableController::~VisitedLinkTableController):
2390         * WebProcess/WebPage/VisitedLinkTableController.h:
2391         * WebProcess/WebPage/WebPage.cpp:
2392         (WebKit::WebPage::WebPage):
2393
2394 2014-02-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2395
2396         [GTK][WK2] Blocks when fetching plugins information
2397         https://bugs.webkit.org/show_bug.cgi?id=115650
2398
2399         Reviewed by Gustavo Noronha Silva.
2400
2401         Use a persistent cache to store the plugins metadata to avoid
2402         having to load all the plugins everytime a plugin is used for the
2403         first time.
2404
2405         * GNUmakefile.am:
2406         * GNUmakefile.list.am:
2407         * PlatformGTK.cmake:
2408         * Shared/Plugins/Netscape/NetscapePluginModule.h:
2409         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2410         (WebKit::NetscapePluginModule::parseMIMEDescription): Make this
2411         method public.
2412         (WebKit::NetscapePluginModule::buildMIMEDescription): Added this
2413         helper to build the MIME description string.
2414         * UIProcess/Plugins/gtk/PluginInfoCache.cpp: Added.
2415         (WebKit::PluginInfoCache::shared):
2416         (WebKit::PluginInfoCache::PluginInfoCache):
2417         (WebKit::PluginInfoCache::~PluginInfoCache):
2418         (WebKit::PluginInfoCache::saveToFileIdleCallback):
2419         (WebKit::PluginInfoCache::saveToFile):
2420         (WebKit::PluginInfoCache::getPluginInfo):
2421         (WebKit::PluginInfoCache::updatePluginInfo):
2422         * UIProcess/Plugins/gtk/PluginInfoCache.h: Added.
2423         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
2424         (WebKit::PluginInfoStore::getPluginInfo): Check first if we have
2425         metadata of the plugin in the cache and update the cache if we
2426         loaded the plugin to get its metadata.
2427
2428 2014-02-27  Ryan Lortie  <desrt@desrt.ca>
2429
2430         need to #include <libgen.h> for basename
2431         https://bugs.webkit.org/show_bug.cgi?id=128597
2432
2433         Reviewed by Carlos Garcia Campos.
2434
2435         * PluginProcess/unix/PluginProcessMainUnix.cpp: include <libgen.h> as required by POSIX for basename
2436
2437 2014-02-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2438
2439         [GTK] Web Inspector doesn't work with network process enabled
2440         https://bugs.webkit.org/show_bug.cgi?id=127651
2441
2442         Reviewed by Sergio Villar Senin.
2443
2444         The problem is that the web inspector loads so many resources,
2445         that when using the network process, a lot of IPC traffic is
2446         generated causing the send buffer of the socket to be full. When
2447         that happens sendmsg() fails with EAGAIN, because we are using non
2448         blocking sockets, and we are not handling neither EAGAIN nor
2449         EWOULDBLOCK errors (we do when reading from the socket, though).
2450
2451         * Platform/IPC/unix/ConnectionUnix.cpp:
2452         (IPC::Connection::readyReadHandler): Add a log message to know
2453         when reading from the socket fails for any unhandled error.
2454         (IPC::Connection::sendOutgoingMessage): Handle EAGAIN and
2455         EWOULDBLOCK errors to try again in those cases. Also add a log
2456         message for unhandled errors.
2457
2458 2014-02-26  Philippe Normand  <pnormand@igalia.com>
2459
2460         Unreviewed GTK build fix after r164751.
2461
2462         * GNUmakefile.list.am:
2463
2464 2014-02-26  Dan Bernstein  <mitz@apple.com>
2465
2466         iOS build fix.
2467
2468         * UIProcess/ios/forms/WKFormPopover.h:
2469         * UIProcess/ios/forms/WKFormPopover.mm:
2470
2471 2014-02-26  Dan Bernstein  <mitz@apple.com>
2472
2473         Replaced use of the EXCLUDED_SOURCE_FILE_NAMES build setting with #if PLATFORM(…) guards in
2474         the files themselves.
2475
2476         Rubber-stamped by Sam Weinig.
2477
2478         * Configurations/WebKit2.xcconfig: Cleared out EXCLUDED_SOURCE_FILE_NAMES_macosx, and left
2479         EXCLUDED_SOURCE_FILE_NAMES_iphoneos containing just the names of resources the should be
2480         excluded from Copy Files build phases.
2481         * NetworkProcess/ios/NetworkProcessIOS.mm:
2482         * NetworkProcess/mac/NetworkProcessMac.mm:
2483         * Shared/Downloads/ios/DownloadIOS.mm:
2484         * Shared/Downloads/mac/DownloadMac.mm:
2485         * Shared/NativeWebTouchEvent.h:
2486         * Shared/WebPlatformTouchPoint.cpp:
2487         * Shared/WebTouchEvent.cpp:
2488         * Shared/ios/NativeWebKeyboardEventIOS.mm:
2489         * Shared/ios/NativeWebTouchEventIOS.mm:
2490         * Shared/ios/WebIOSEventFactory.h:
2491         * Shared/ios/WebIOSEventFactory.mm:
2492         * Shared/mac/PasteboardTypes.h:
2493         * Shared/mac/PasteboardTypes.mm:
2494         * Shared/mac/PrintInfoMac.mm:
2495         * UIProcess/API/C/WKInspector.cpp:
2496         * UIProcess/API/Cocoa/WKThumbnailView.h:
2497         * UIProcess/API/Cocoa/WKThumbnailView.mm:
2498         * UIProcess/API/Cocoa/WKThumbnailViewInternal.h:
2499         * UIProcess/API/ios/WKViewIOS.mm:
2500         * UIProcess/API/mac/WKView.mm:
2501         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2502         * UIProcess/ios/PageClientImplIOS.h:
2503         * UIProcess/ios/PageClientImplIOS.mm:
2504         * UIProcess/ios/TextCheckerIOS.mm:
2505         * UIProcess/ios/ViewGestureControllerIOS.mm:
2506         * UIProcess/ios/WKActionSheet.h:
2507         * UIProcess/ios/WKActionSheet.mm:
2508         * UIProcess/ios/WKActionSheetAssistant.h:
2509         * UIProcess/ios/WKActionSheetAssistant.mm:
2510         * UIProcess/ios/WKContentView.mm:
2511         * UIProcess/ios/WKContentViewInteraction.h:
2512         * UIProcess/ios/WKContentViewInteraction.mm:
2513         * UIProcess/ios/WKGeolocationProviderIOS.h:
2514         * UIProcess/ios/WKGeolocationProviderIOS.mm:
2515         * UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
2516         * UIProcess/ios/WKScrollView.h:
2517         * UIProcess/ios/WKScrollView.mm:
2518         * UIProcess/ios/WebInspectorProxyIOS.mm:
2519         * UIProcess/ios/WebPageProxyIOS.mm:
2520         * UIProcess/ios/WebProcessProxyIOS.mm:
2521         * UIProcess/ios/forms/WKFormInputControl.h:
2522         * UIProcess/ios/forms/WKFormInputControl.mm:
2523         * UIProcess/ios/forms/WKFormPopover.h:
2524         * UIProcess/ios/forms/WKFormPopover.mm:
2525         * UIProcess/mac/FindIndicatorWindow.h:
2526         * UIProcess/mac/FindIndicatorWindow.mm:
2527         * UIProcess/mac/PageClientImpl.h:
2528         * UIProcess/mac/PageClientImpl.mm:
2529         * UIProcess/mac/TextCheckerMac.mm:
2530         * UIProcess/mac/WKFullKeyboardAccessWatcher.h:
2531         * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
2532         * UIProcess/mac/WKPrintingView.h:
2533         * UIProcess/mac/WKPrintingView.mm:
2534         * UIProcess/mac/WebContextMenuProxyMac.h:
2535         * UIProcess/mac/WebContextMenuProxyMac.mm:
2536         * UIProcess/mac/WebInspectorProxyMac.mm:
2537         * UIProcess/mac/WebPageProxyMac.mm:
2538         * UIProcess/mac/WebProcessProxyMac.mm:
2539         * WebProcess/WebCoreSupport/WebChromeClient.h:
2540         * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
2541         * WebProcess/WebCoreSupport/ios/WebDatabaseManagerIOS.mm:
2542         * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
2543         * WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
2544         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2545         * WebProcess/WebPage/ios/WebBackForwardListProxyIOS.mm:
2546         * WebProcess/WebPage/ios/WebPageIOS.mm:
2547         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h:
2548         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2549         * WebProcess/WebPage/mac/WebPageMac.mm:
2550
2551 2014-02-26  Anders Carlsson  <andersca@apple.com>
2552
2553         VisitedLinkProvider should know which pages it belongs to
2554         https://bugs.webkit.org/show_bug.cgi?id=129410
2555
2556         Reviewed by Dan Bernstein.
2557
2558         * UIProcess/VisitedLinkProvider.cpp:
2559         (WebKit::VisitedLinkProvider::~VisitedLinkProvider):
2560         (WebKit::VisitedLinkProvider::addPage):
2561         (WebKit::VisitedLinkProvider::removePage):
2562         * UIProcess/VisitedLinkProvider.h:
2563         * UIProcess/WebPageProxy.cpp:
2564         (WebKit::WebPageProxy::WebPageProxy):
2565         (WebKit::WebPageProxy::close):
2566
2567 2014-02-26  Enrica Casucci  <enrica@apple.com>
2568
2569         Build fix.
2570
2571         Unexpected line break.
2572
2573         * Configurations/WebKit2.xcconfig:
2574
2575 2014-02-26  Enrica Casucci  <enrica@apple.com>
2576
2577         Build fix.
2578
2579         WKFormInputControl.mm and WKFormPopover.mm should be excluded from OS X builds.
2580
2581         * Configurations/WebKit2.xcconfig:
2582
2583 2014-02-26  Enrica Casucci  <enrica@apple.com>
2584
2585         [iOS WebKit2] Form controls handling: implement date and time controls.
2586         https://bugs.webkit.org/show_bug.cgi?id=129344
2587
2588         Reviewed by Simon Fraser and Joseph Pecoraro.
2589
2590         This is another step in the implementation of form controls on iOS
2591         for WebKit2. This adds support for date and time input elements supporting
2592         the different look and feel for iPhone and iPad.
2593         WKDateTimePicker implements iPhone UI and
2594         WKDateTimePopover implements iPad UI.
2595         WKFormRotatingAccessoryPopover and WKRotatingPopover are
2596         classes that implement the popover object handling the rotation
2597         and they will be used as base class for the select controls as well.
2598
2599         * UIProcess/WebPageProxy.h:
2600         * UIProcess/ios/WKContentViewInteraction.h:
2601         * UIProcess/ios/WKContentViewInteraction.mm:
2602         (-[WKContentView _displayFormNodeInputView]):
2603         (-[WKContentView inputView]):
2604         (-[WKContentView _startAssistingNode:]):
2605         (-[WKContentView _stopAssistingNode]):
2606         * UIProcess/ios/WKFormInputControl.h: Added.
2607         * UIProcess/ios/WKFormInputControl.mm: Added.
2608         (-[WKDateTimePicker datePicker]):
2609         (-[WKDateTimePicker initWithView:datePickerMode:]):
2610         (-[WKDateTimePicker dealloc]):
2611         (-[WKDateTimePicker controlView]):
2612         (-[WKDateTimePicker _timeZoneOffsetFromGMT:]):
2613         (-[WKDateTimePicker _sanitizeInputValueForFormatter:]):
2614         (-[WKDateTimePicker _dateChangedSetAsNumber]):
2615         (-[WKDateTimePicker _dateChangedSetAsString]):
2616         (-[WKDateTimePicker _dateChanged]):
2617         (-[WKDateTimePicker _dateChangeHandler:]):
2618         (-[WKDateTimePicker controlBeginEditing]):
2619         (-[WKDateTimePicker controlEndEditing]):
2620         (-[WKFormInputControl initWithView:]):
2621         (+[WKFormInputControl createPeripheralWithView:]):
2622         (-[WKFormInputControl beginEditing]):
2623         (-[WKFormInputControl endEditing]):
2624         (-[WKFormInputControl assistantView]):
2625         (-[WKDateTimePopoverViewController initWithView:datePickerMode:]):
2626         (-[WKDateTimePopoverViewController innerControl]):
2627         (-[WKDateTimePopoverViewController loadView]):
2628         (-[WKDateTimePopover clear:]):
2629         (-[WKDateTimePopover initWithView:datePickerMode:]):
2630         (-[WKDateTimePopover viewController]):
2631         (-[WKDateTimePopover controlBeginEditing]):
2632         (-[WKDateTimePopover controlEndEditing]):
2633         (-[WKDateTimePopover controlView]):
2634         * UIProcess/ios/WKFormPeripheral.h: Added.
2635         * UIProcess/ios/WKFormPopover.h: Added.
2636         * UIProcess/ios/WKFormPopover.mm: Added.
2637         (-[WKFormRotatingAccessoryPopover initWithView:]):
2638         (-[WKFormRotatingAccessoryPopover accessoryDone]):
2639         (-[WKFormRotatingAccessoryPopover popoverArrowDirections]):
2640         (-[WKFormRotatingAccessoryPopover popoverWasDismissed:]):
2641         (-[WKRotatingPopover initWithView:]):
2642         (-[WKRotatingPopover dealloc]):
2643         (-[WKRotatingPopover popoverController]):
2644         (-[WKRotatingPopover setPopoverController:]):
2645         (-[WKRotatingPopover popoverArrowDirections]):
2646         (-[WKRotatingPopover presentPopoverAnimated:]):
2647         (-[WKRotatingPopover dismissPopoverAnimated:]):
2648         (-[WKRotatingPopover willRotate:]):
2649         (-[WKRotatingPopover didRotate:]):
2650         (-[WKRotatingPopover popoverControllerDidDismissPopover:]):
2651         * UIProcess/ios/WKFormSelectControl.h: Added.
2652         * UIProcess/ios/WebPageProxyIOS.mm:
2653         (WebKit::WebPageProxy::setAssistedNodeValue):
2654         (WebKit::WebPageProxy::setAssistedNodeValueAsNumber):
2655         * WebKit2.xcodeproj/project.pbxproj:
2656         * WebProcess/WebPage/WebPage.h:
2657         * WebProcess/WebPage/WebPage.messages.in:
2658         * WebProcess/WebPage/ios/WebPageIOS.mm:
2659         (WebKit::WebPage::setAssistedNodeValue):
2660         (WebKit::WebPage::setAssistedNodeValueAsNumber):
2661
2662 2014-02-26  Pratik Solanki  <psolanki@apple.com>
2663
2664         [iOS][Webkit2] Enable codesigning entitlement for web process
2665         https://bugs.webkit.org/show_bug.cgi?id=129401
2666         <rdar://problem/16173873>
2667
2668         Reviewed by Geoffrey Garen.
2669
2670         * Configurations/WebContent-iOS.entitlements:
2671
2672 2014-02-26  Anders Carlsson  <andersca@apple.com>
2673
2674         Give VisitedLinkProviders an identifier and send them to the web process
2675         https://bugs.webkit.org/show_bug.cgi?id=129400
2676
2677         Reviewed by Dan Bernstein.
2678
2679         * Shared/WebPageCreationParameters.cpp:
2680         (WebKit::WebPageCreationParameters::encode):
2681         (WebKit::WebPageCreationParameters::decode):
2682         * Shared/WebPageCreationParameters.h:
2683         * UIProcess/API/Cocoa/WKVisitedLinkProviderInternal.h:
2684         * UIProcess/VisitedLinkProvider.cpp:
2685         (WebKit::generateIdentifier):
2686         (WebKit::VisitedLinkProvider::VisitedLinkProvider):
2687         * UIProcess/VisitedLinkProvider.h:
2688         (WebKit::VisitedLinkProvider::identifier):
2689         * UIProcess/WebContext.cpp:
2690         (WebKit::WebContext::createWebPage):
2691         * UIProcess/WebPageProxy.cpp:
2692         (WebKit::WebPageProxy::WebPageProxy):
2693         (WebKit::WebPageProxy::internalShowContextMenu):
2694         * UIProcess/WebPageProxy.h:
2695
2696 2014-02-26  Jinwoo Song  <jinwoo7.song@samsung.com>
2697
2698         Unreviewed CMAKE build fix after r164751.
2699
2700         * CMakeLists.txt: Renamed WebVisitedLinkProvider.cpp to VisitedLinkTableController.cpp.
2701
2702 2014-02-26  Anders Carlsson  <andersca@apple.com>
2703
2704         Rename WebVisitedLinkProvider to VisitedLinkTableController
2705         https://bugs.webkit.org/show_bug.cgi?id=129396
2706
2707         Reviewed by Dan Bernstein.
2708
2709         * WebKit2.xcodeproj/project.pbxproj:
2710         * WebProcess/WebPage/VisitedLinkTableController.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/WebVisitedLinkProvider.cpp.
2711         (WebKit::VisitedLinkTableController::create):
2712         (WebKit::VisitedLinkTableController::VisitedLinkTableController):
2713         (WebKit::VisitedLinkTableController::~VisitedLinkTableController):
2714         (WebKit::VisitedLinkTableController::isLinkVisited):
2715         (WebKit::VisitedLinkTableController::addVisitedLink):
2716         * WebProcess/WebPage/VisitedLinkTableController.h: Renamed from Source/WebKit2/WebProcess/WebPage/WebVisitedLinkProvider.h.
2717         * WebProcess/WebPage/WebPage.cpp:
2718         (WebKit::WebPage::WebPage):
2719
2720 2014-02-26  Enrica Casucci  <enrica@apple.com>
2721
2722         Keyboard keeps showing up when clicking links after being shown once.
2723         https://bugs.webkit.org/show_bug.cgi?id=129392
2724
2725         Reviewed by Benjamin Poulain.
2726
2727         This is a regression introduced by http://trac.webkit.org/changeset/164690.
2728         _requiresKeyboardWhenFirstResponder should always return NO, if there is
2729         no assisted node.
2730
2731         * UIProcess/ios/WKContentViewInteraction.mm:
2732         (-[WKContentView _requiresKeyboardWhenFirstResponder]):
2733
2734 2014-02-26  Myles C. Maxfield  <mmaxfield@apple.com>
2735
2736         WebProcessProxy::updateProcessState() is causing duplicate symbol linker errors
2737         https://bugs.webkit.org/show_bug.cgi?id=129390
2738
2739         Reviewed by Tim Horton.
2740
2741         Caused by r164737. WebProcessProxy::updateProcessState() is defined in a header, outside of
2742         a class, but isn't inlined.
2743
2744         * UIProcess/WebProcessProxy.h:
2745         (WebKit::WebProcessProxy::updateProcessState):
2746
2747 2014-02-26  Brian Burg  <bburg@apple.com>
2748
2749         Web Replay: route through UserInputBridge when delivering user inputs to WebCore
2750         https://bugs.webkit.org/show_bug.cgi?id=128150
2751
2752         Reviewed by Timothy Hatcher.
2753
2754         When delivering user inputs to WebCore, route calls through the page's UserInputBridge.
2755         This allows us to capture and replay user inputs from WebKit2 solely within WebCore.
2756
2757         * WebProcess/WebPage/WebPage.cpp:
2758         (WebKit::WebPage::tryClose):
2759         (WebKit::WebPage::loadRequest):
2760         (WebKit::WebPage::stopLoadingFrame):
2761         (WebKit::WebPage::stopLoading):
2762         (WebKit::WebPage::reload):
2763         (WebKit::WebPage::contextMenuAtPointInWindow):
2764         (WebKit::handleContextMenuEvent):
2765         (WebKit::handleMouseEvent):
2766         (WebKit::handleWheelEvent):
2767         (WebKit::handleKeyEvent):
2768         (WebKit::WebPage::scroll):
2769         (WebKit::WebPage::logicalScroll):
2770
2771 2014-02-26  Pratik Solanki  <psolanki@apple.com>
2772
2773         [iOS][WebKit2] Adopt SPI for managing tabs
2774         https://bugs.webkit.org/show_bug.cgi?id=129188
2775         <rdar://problem/15939827>
2776
2777         Reviewed by Gavin Barraclough.
2778
2779         Call into assertions SPI to mark tabs as foreground and background.
2780
2781         * Configurations/WebKit2.xcconfig:
2782         * Platform/IPC/Connection.h:
2783         (IPC::Connection::xpcConnection): Expose the xpc_connection_t.
2784         * UIProcess/WebPageProxy.cpp:
2785         (WebKit::WebPageProxy::viewStateDidChange):
2786         * UIProcess/WebProcessProxy.cpp:
2787         (WebKit::WebProcessProxy::didFinishLaunching):
2788         * UIProcess/WebProcessProxy.h:
2789         (WebKit::WebProcessProxy::updateProcessState):
2790         * UIProcess/ios/WebProcessProxyIOS.mm:
2791         (WebKit::WebProcessProxy::updateProcessState): Added. This goes through the list of
2792         WebPageProxies and sets the process state to foreground if one of them is in a window.
2793         Otherwise, it sets it to background.
2794
2795 2014-02-26  Commit Queue  <commit-queue@webkit.org>
2796
2797         Unreviewed, rolling out r164725 and r164731.
2798         http://trac.webkit.org/changeset/164725
2799         http://trac.webkit.org/changeset/164731
2800         https://bugs.webkit.org/show_bug.cgi?id=129382
2801
2802         WebKitTestRunner build is broken on IOS (Requested by smfr on
2803         #webkit).
2804
2805         * UIProcess/API/Cocoa/WKView.h:
2806         * UIProcess/API/ios/WKViewIOS.mm: Added.
2807         (-[WKView initWithCoder:]):
2808         (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
2809         (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
2810         (-[WKView dealloc]):
2811         (-[WKView setFrame:]):
2812         (-[WKView setBounds:]):
2813         (-[WKView scrollView]):
2814         (-[WKView browsingContextController]):
2815         (-[WKView setAllowsBackForwardNavigationGestures:]):
2816         (-[WKView allowsBackForwardNavigationGestures]):
2817         (-[WKView viewForZoomingInScrollView:]):
2818         (-[WKView scrollViewWillBeginZooming:withView:]):
2819         (-[WKView scrollViewWillBeginDragging:]):
2820         (-[WKView _didFinishScrolling]):
2821         (-[WKView scrollViewDidEndDragging:willDecelerate:]):
2822         (-[WKView scrollViewDidEndDecelerating:]):
2823         (-[WKView scrollViewDidScrollToTop:]):
2824         (-[WKView scrollViewDidScroll:]):
2825         (-[WKView scrollViewDidZoom:]):
2826         (-[WKView scrollViewDidEndZooming:withView:atScale:]):
2827         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
2828         (-[WKView _frameOrBoundsChanged]):
2829         (-[WKView _updateVisibleContentRects]):
2830         (-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
2831         (-[WKView _keyboardWillChangeFrame:]):
2832         (-[WKView _keyboardDidChangeFrame:]):
2833         (-[WKView _keyboardWillShow:]):
2834         (-[WKView _keyboardWillHide:]):
2835         (-[WKView pageRef]):
2836         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2837         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2838         (-[WKView minimumLayoutSizeOverride]):
2839         (-[WKView setMinimumLayoutSizeOverride:]):
2840         (-[WKView _obscuredInsets]):
2841         (-[WKView _setObscuredInsets:]):
2842         (-[WKView _beginInteractiveObscuredInsetsChange]):
2843         (-[WKView _endInteractiveObscuredInsetsChange]):
2844         (-[WKView _pageExtendedBackgroundColor]):
2845         (-[WKView _setBackgroundExtendsBeyondPage:]):
2846         (-[WKView _backgroundExtendsBeyondPage]):
2847         * WebKit2.xcodeproj/project.pbxproj:
2848
2849 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
2850
2851         Build fix: ContextMenuContextData.* should not be in the Copy Files
2852         phase.
2853
2854         * WebKit2.xcodeproj/project.pbxproj:
2855
2856 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
2857
2858         Fix MiniBrowser/WebKitTestRunner link errors; WKView still
2859         needs to be exported while these tools are using it.
2860
2861         * UIProcess/API/Cocoa/WKView.h:
2862
2863 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
2864
2865         Fix the iOS build by wrapping some context menu stuff in #if ENABLE(CONTEXT_MENUS)
2866
2867         * UIProcess/WebPageProxy.h:
2868
2869 2014-02-26  Martin Hock  <mhock@apple.com>
2870
2871         Create SessionID value-style class for session IDs.
2872         https://bugs.webkit.org/show_bug.cgi?id=129141
2873
2874         The below changes deal solely with mechanical changes to use the SessionID value class instead of uint64_t except where noted.
2875
2876         Reviewed by Sam Weinig.
2877
2878         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2879         (WebKit::storageSession):
2880         (WebKit::NetworkConnectionToWebProcess::startDownload):
2881         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
2882         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
2883         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
2884         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
2885         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
2886         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
2887         * NetworkProcess/NetworkConnectionToWebProcess.h:
2888         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2889         * NetworkProcess/NetworkProcess.cpp:
2890         (WebKit::NetworkProcess::initializeNetworkProcess):
2891         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
2892         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
2893         * NetworkProcess/NetworkProcess.h:
2894         * NetworkProcess/NetworkProcess.messages.in:
2895         * NetworkProcess/NetworkResourceLoader.h:
2896         * NetworkProcess/RemoteNetworkingContext.h:
2897         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2898         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2899         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
2900         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2901         * Shared/Network/NetworkResourceLoadParameters.cpp:
2902         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
2903         * Shared/Network/NetworkResourceLoadParameters.h:
2904         * Shared/SessionTracker.cpp:
2905         (WebKit::staticSessionMap):
2906         (WebKit::storageSessionToID):
2907         (WebKit::SessionTracker::sessionMap):
2908         (WebKit::SessionTracker::session):
2909         (WebKit::SessionTracker::sessionID):
2910         (WebKit::SessionTracker::setSession):
2911         (WebKit::SessionTracker::destroySession):
2912         * Shared/SessionTracker.h: Move code to SessionID class.
2913         * Shared/WebCoreArgumentCoders.cpp: Add encode and decode for SessionID.
2914         (IPC::ArgumentCoder<SessionID>::encode):
2915         (IPC::ArgumentCoder<SessionID>::decode):
2916         * Shared/WebCoreArgumentCoders.h:
2917         * Shared/mac/CookieStorageShim.mm:
2918         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
2919         * UIProcess/APISession.cpp:
2920         (API::generateID):
2921         (API::Session::defaultSession):
2922         (API::Session::legacyPrivateSession):
2923         (API::Session::Session):
2924         (API::Session::isEphemeral):
2925         (API::Session::getID):
2926         * UIProcess/APISession.h:
2927         * UIProcess/WebContext.cpp:
2928         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
2929         (WebKit::WebContext::createNewWebProcess):
2930         * UIProcess/WebContext.h:
2931         * UIProcess/WebPageProxy.h:
2932         (WebKit::WebPageProxy::sessionID):
2933         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2934         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2935         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2936         (WebKit::WebResourceLoadScheduler::scheduleLoad):
2937         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2938         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
2939         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2940         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2941         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2942         (WebKit::WebFrameNetworkingContext::storageSession):
2943         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2944         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2945         (WebKit::WebFrameNetworkingContext::storageSession):
2946         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
2947         * WebProcess/WebPage/WebPage.cpp: Move sessionID to Page to allow WebCore to access it.
2948         (WebKit::WebPage::WebPage):
2949         (WebKit::WebPage::sessionID):
2950         (WebKit::WebPage::isUsingEphemeralSession):
2951         (WebKit::WebPage::setSessionID):
2952         (WebKit::WebPage::updatePreferences):
2953         * WebProcess/WebPage/WebPage.h:
2954         * WebProcess/WebPage/WebPage.messages.in:
2955         * WebProcess/WebProcess.cpp:
2956         (WebKit::WebProcess::ensurePrivateBrowsingSession):
2957         (WebKit::WebProcess::destroyPrivateBrowsingSession):
2958         * WebProcess/WebProcess.h:
2959         * WebProcess/WebProcess.messages.in:
2960
2961 2014-02-26  Anders Carlsson  <andersca@apple.com>
2962
2963         Get rid of WKViewIOS.mm
2964         https://bugs.webkit.org/show_bug.cgi?id=129378
2965
2966         Reviewed by Simon Fraser.
2967
2968         * UIProcess/API/Cocoa/WKView.h:
2969         * UIProcess/API/ios/WKViewIOS.mm: Removed.
2970         * WebKit2.xcodeproj/project.pbxproj:
2971
2972 2014-02-26  Alexey Proskuryakov  <ap@apple.com>
2973
2974         [iOS] Remove some erroneously captured blocks
2975         https://bugs.webkit.org/show_bug.cgi?id=129362
2976
2977         Reviewed by Sam Weinig.
2978
2979         Remove unused captured Objective-C block variables (capturing these doesn't work anyway).
2980
2981         * UIProcess/ios/WKContentViewInteraction.mm:
2982         (-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]):
2983         (-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
2984
2985 2014-02-26  Brady Eidson  <beidson@apple.com>
2986
2987         Pipe experimental image controls menu up to WebKit2
2988         https://bugs.webkit.org/show_bug.cgi?id=129339
2989
2990         Reviewed by Simon Fraser.
2991
2992         Add a WebKit object to represent the data from a ContextMenuContext object that can be shared via IPC:
2993         * Shared/ContextMenuContextData.cpp: Added.
2994         (WebKit::ContextMenuContextData::ContextMenuContextData):
2995         (WebKit::ContextMenuContextData::encode):
2996         (WebKit::ContextMenuContextData::decode):
2997         * Shared/ContextMenuContextData.h: Added.
2998         (WebKit::ContextMenuContextData::webHitTestResultData):
2999         (WebKit::ContextMenuContextData::isImageControl):
3000
3001         Update the rest of WK2 to use this object instead of WebHitTestResult::Data directly:
3002         * UIProcess/WebPageProxy.cpp:
3003         (WebKit::WebPageProxy::showContextMenu):
3004         (WebKit::WebPageProxy::internalShowContextMenu): Also make an ENABLE(IMAGE_CONTROLS) change here.
3005         * UIProcess/WebPageProxy.h:
3006         * UIProcess/WebPageProxy.messages.in:
3007
3008         * WebProcess/WebPage/WebContextMenu.cpp:
3009         (WebKit::WebContextMenu::show):
3010
3011         * CMakeLists.txt:
3012         * GNUmakefile.list.am:
3013         * WebKit2.xcodeproj/project.pbxproj:
3014
3015 2014-02-26  Enrique Ocaña González  <eocanha@igalia.com>
3016
3017         WebKitFindOptions shouldn't expose WEBKIT_FIND_OPTIONS_SHOW_{OVERLAY,FIND_INDICATOR,HIGHLIGHT}
3018         https://bugs.webkit.org/show_bug.cgi?id=129263
3019
3020         Reviewed by Sergio Villar Senin.
3021
3022         Avoided the need of WEBKIT_FIND_OPTIONS_SHOW_* fields by changing the semantics
3023         of the findOptions field in WebKitFindOptions.
3024
3025         * UIProcess/API/gtk/WebKitFindController.cpp: Now
3026         _WebKitFindControllerPrivate.findOptions is interpreted as WebKit::FindOptions
3027         instead of WebKitFindOptions like before. Now the conversion has to be done in
3028         both ways.
3029         (toWebKitFindOptions): Added conversion function from WebKit::FindOptions to
3030         WebKitFindOptions.
3031         (webkit_find_controller_get_options):
3032         (webKitFindControllerPerform):
3033         (webkit_find_controller_search):
3034         (webkit_find_controller_search_next):
3035         (webkit_find_controller_search_previous):
3036         (webkit_find_controller_count_matches):
3037         * UIProcess/API/gtk/WebKitFindController.h: Removed values that shouldn't be
3038         exposed.
3039
3040 2014-02-26  Gergo Balogh  <gbalogh.u-szeged@partner.samsung.com>
3041
3042         Inspector server should be enabled only when the web sockets is enabled too.
3043         https://bugs.webkit.org/show_bug.cgi?id=129304
3044
3045         Reviewed by Csaba Osztrogonác.
3046
3047         * config.h:
3048
3049 2014-02-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3050
3051         Unreviewed. Fix GTK+ build after r164702.
3052
3053         * UIProcess/DrawingAreaProxy.cpp:
3054
3055 2014-02-26  Martin Robinson  <mrobinson@igalia.com>
3056
3057         [GTK] generate-gtkdoc can fail with WebKit1 or WebKit2 only builds
3058         https://bugs.webkit.org/show_bug.cgi?id=129319
3059
3060         Reviewed by Carlos Garcia Campos.
3061
3062         * GNUmakefile.am: Do not generate the documentation configuration file if the port
3063         is disabled.
3064
3065 2014-02-25  Benjamin Poulain  <bpoulain@apple.com>
3066
3067         [iOS][WK2] Split the rects/scale updates in 3 internally consistent groups
3068         https://bugs.webkit.org/show_bug.cgi?id=129354
3069
3070         Reviewed by Sam Weinig.
3071
3072         During scaling, the scale and rect of UIScrollView, WebPageProxy, DrawingAreaProxy,
3073         DrawingArea and WebPage were in completely inconsistent states.
3074
3075         Some of those disconnect were temporary (like when setting the rect and scale in two different
3076         messages), some were lasting the time of a tile update (like the UIProcess view of the scale).
3077         This was causing various visual glitches.
3078
3079         To fix this, all the updates from the UIProcess are funneled through a single path and the values
3080         are split into 3 different groups/types.
3081         When updating the scale/rects, the UIProcess sends the new information to the WebProcess on a queue
3082         through ViewUpdateDispatcher. There, the updates are accumulated until the MainThread is available.
3083         Once the main thread is "unblocked" from the previous frame, all the data are updated at once from
3084         the last known state in ViewUpdateDispatcher. The new tiles are created for the new converage information
3085         and they are sent to the UIProcess.
3086
3087         At any point, there are 3 types of scale and rects used for different purpose:
3088         -In the UIProcess, there is the UIScrollView scale and rects which represent the "true" state or what
3089          is currently on screen.
3090          That information is mirrored into WebPageProxy for the other classes needing it like DrawingAreaProxy.
3091         -In the WebProcess, there is the last known state. That state is always lagging a little behind the "true"
3092          state.
3093         -Back in the UIProcess, we have the tile states that is attached to RemoteLayerTreeTransaction. It is used
3094          to setup the rendering.
3095
3096         With this change, there are two paths for updating the page scale factor:
3097         -The UI drives the change, the updates goes WKWebView->WKContentView->WebPageProxy->ViewUpdateDispatcher
3098          ->WebPage->RemoteLayerTreeDrawingArea->RemoteLayerTreeDrawingAreaProxy->WKContentView->WKWebView.
3099         -If changes in the content force scaling parameters, the updates goes: WebPage->RemoteLayerTreeDrawingArea
3100          ->RemoteLayerTreeDrawingAreaProxy->WKContentView->WKWebView.
3101         The two kind of updates frequently conflicts during loading. We differentiate those through the flag
3102         scaleWasSetByUIProcess passed with the updates. In cases of conflicts, the user always wins.
3103
3104         * DerivedSources.make:
3105         * Scripts/webkit2/messages.py:
3106         (struct_or_class):
3107         * Shared/VisibleContentRectUpdateInfo.cpp: Added.
3108         (WebKit::VisibleContentRectUpdateInfo::encode):
3109         (WebKit::VisibleContentRectUpdateInfo::decode):
3110         * Shared/VisibleContentRectUpdateInfo.h: Added.
3111         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
3112         (WebKit::VisibleContentRectUpdateInfo::exposedRect):
3113         (WebKit::VisibleContentRectUpdateInfo::unobscuredRect):
3114         (WebKit::VisibleContentRectUpdateInfo::scale):
3115         (WebKit::operator==):
3116         * Shared/mac/RemoteLayerTreeTransaction.h:
3117         (WebKit::RemoteLayerTreeTransaction::scaleWasSetByUIProcess):
3118         (WebKit::RemoteLayerTreeTransaction::setScaleWasSetByUIProcess):
3119         * Shared/mac/RemoteLayerTreeTransaction.mm:
3120         (WebKit::RemoteLayerTreeTransaction::encode):
3121         (WebKit::RemoteLayerTreeTransaction::decode):
3122         * UIProcess/API/Cocoa/WKWebView.mm:
3123         (-[WKWebView contentView:didCommitLayerTree:WebKit::]):
3124         (-[WKWebView _didFinishScrolling]):
3125         (-[WKWebView scrollViewDidScroll:]):
3126         (-[WKWebView scrollViewDidZoom:]):
3127         (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
3128         (-[WKWebView _frameOrBoundsChanged]):
3129         (-[WKWebView _updateVisibleContentRectsWithStableState:]):
3130         (-[WKWebView _setObscuredInsets:]):
3131         (-[WKWebView _endInteractiveObscuredInsetsChange]):
3132         * UIProcess/API/ios/WKViewIOS.mm:
3133         (-[WKView _updateVisibleContentRects]):
3134         * UIProcess/DrawingAreaProxy.cpp:
3135         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
3136         (WebKit::DrawingAreaProxy::setCustomFixedPositionRect):
3137         * UIProcess/DrawingAreaProxy.h:
3138         (WebKit::DrawingAreaProxy::updateDebugIndicator):
3139         * UIProcess/WebPageProxy.h:
3140         (WebKit::WebPageProxy::displayedContentScale):
3141         (WebKit::WebPageProxy::exposedContentRect):
3142         (WebKit::WebPageProxy::unobscuredContentRect):
3143         * UIProcess/ios/WKContentView.h:
3144         * UIProcess/ios/WKContentView.mm:
3145         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
3146         (-[WKContentView didFinishScrolling]):
3147         (-[WKContentView didZoomToScale:]):
3148         * UIProcess/ios/WebPageProxyIOS.mm:
3149         (WebKit::WebPageProxy::updateVisibleContentRects):
3150         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
3151         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
3152         (WebKit::RemoteLayerTreeDrawingAreaProxy::scaledExposedRect):
3153         (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
3154         (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
3155         (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
3156         * WebKit2.xcodeproj/project.pbxproj:
3157         * WebProcess/WebPage/ViewUpdateDispatcher.cpp: Added.
3158         (WebKit::ViewUpdateDispatcher::create):
3159         (WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher):
3160         (WebKit::ViewUpdateDispatcher::~ViewUpdateDispatcher):
3161         (WebKit::ViewUpdateDispatcher::initializeConnection):
3162         (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
3163         (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
3164         * WebProcess/WebPage/ViewUpdateDispatcher.h: Added.
3165         * WebProcess/WebPage/ViewUpdateDispatcher.messages.in: Added.
3166         * WebProcess/WebPage/WebPage.cpp:
3167         (WebKit::WebPage::WebPage):
3168         (WebKit::WebPage::scalePage):
3169         * WebProcess/WebPage/WebPage.h:
3170         (WebKit::WebPage::scaleWasSetByUIProcess):
3171         * WebProcess/WebPage/WebPage.messages.in:
3172         * WebProcess/WebPage/ios/WebPageIOS.mm:
3173         (WebKit::WebPage::tapHighlightAtPosition):
3174         (WebKit::WebPage::updateVisibleContentRects):
3175         (WebKit::WebPage::willStartUserTriggeredZooming):
3176         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3177         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
3178         * WebProcess/WebProcess.cpp:
3179         (WebKit::WebProcess::WebProcess):
3180         (WebKit::WebProcess::initializeConnection):
3181         * WebProcess/WebProcess.h:
3182
3183 2014-02-25  Anders Carlsson  <andersca@apple.com>
3184
3185         Rename WebCore::VisitedLinkProvider to WebCore::VisitedLinkStore
3186         https://bugs.webkit.org/show_bug.cgi?id=129357
3187
3188         Reviewed by Sam Weinig.
3189
3190         * WebProcess/WebPage/WebPage.cpp:
3191         (WebKit::WebPage::WebPage):
3192         * WebProcess/WebPage/WebVisitedLinkProvider.h:
3193
3194 2014-02-25  Enrica Casucci  <enrica@apple.com>
3195
3196         [WebKit2] Form controls handling.
3197         https://bugs.webkit.org/show_bug.cgi?id=129344
3198         <rdar://problem/16053643>
3199
3200         Reviewed by Simon Fraser and Joseph Pecoraro.
3201
3202         This is the step toward adding support for
3203         form controls iOS style. It adds the logic to
3204         select the appropriate keyboard type based on the
3205         element type and introduces the AssistedNodeInformation
3206         structure used currently for the keyboard type selection
3207         and that will be used to populate pickers and popovers.
3208         It also provides information to enable/disable next/previous
3209         buttons in the accessory view.
3210
3211         * Scripts/webkit2/messages.py:
3212         (struct_or_class):
3213         * Shared/AssistedNodeInformation.cpp: Added.
3214         (WebKit::AssistedNodeInformation::encode):
3215         (WebKit::AssistedNodeInformation::decode):
3216         * Shared/AssistedNodeInformation.h: Added.
3217         (WebKit::AssistedNodeInformation::AssistedNodeInformation):
3218         * UIProcess/PageClient.h:
3219         * UIProcess/WebPageProxy.h:
3220         * UIProcess/WebPageProxy.messages.in:
3221         * UIProcess/ios/PageClientImplIOS.h:
3222         * UIProcess/ios/PageClientImplIOS.mm:
3223         (WebKit::PageClientImpl::startAssistingNode):
3224         * UIProcess/ios/WKContentViewInteraction.h:
3225         * UIProcess/ios/WKContentViewInteraction.mm:
3226         (-[WKContentView _requiresKeyboardWhenFirstResponder]):
3227         (-[WKContentView _updateAccessory]):
3228         (toUITextAutocapitalize):
3229         (-[WKContentView textInputTraits]):
3230         (-[WKContentView assistedNodeInformation]):
3231         (-[WKContentView _startAssistingNode:]):
3232         (-[WKContentView _stopAssistingNode]):
3233         * UIProcess/ios/WebPageProxyIOS.mm:
3234         (WebKit::WebPageProxy::startAssistingNode):
3235         * WebKit2.xcodeproj/project.pbxproj:
3236         * WebProcess/WebPage/WebPage.h:
3237         * WebProcess/WebPage/ios/WebPageIOS.mm:
3238         (WebKit::isAssistableNode):
3239         (WebKit::hasFocusableNode):
3240         (WebKit::WebPage::getAssistedNodeInformation):
3241         (WebKit::WebPage::elementDidFocus):
3242
3243 2014-02-25  Anders Carlsson  <andersca@apple.com>
3244
3245         VisitedLinkProvider should be refcounted
3246         https://bugs.webkit.org/show_bug.cgi?id=129351
3247
3248         Reviewed by Sam Weinig.
3249
3250         * UIProcess/VisitedLinkProvider.cpp:
3251         (WebKit::VisitedLinkProvider::create):
3252         (WebKit::VisitedLinkProvider::~VisitedLinkProvider):
3253         * UIProcess/VisitedLinkProvider.h:
3254         * UIProcess/WebContext.cpp:
3255         (WebKit::WebContext::WebContext):
3256         (WebKit::WebContext::processDidFinishLaunching):
3257         (WebKit::WebContext::disconnectProcess):
3258         (WebKit::WebContext::addVisitedLinkHash):
3259         * UIProcess/WebContext.h:
3260
3261 2014-02-25  Anders Carlsson  <andersca@apple.com>
3262
3263         Make WebContext handle populating visited links
3264         https://bugs.webkit.org/show_bug.cgi?id=129348
3265
3266         Reviewed by Tim Horton.
3267
3268         This makes it possible to decouple VisitedLinkProvider from WebContext.
3269
3270         * UIProcess/VisitedLinkProvider.cpp:
3271         (WebKit::VisitedLinkProvider::VisitedLinkProvider):
3272         (WebKit::VisitedLinkProvider::processDidFinishLaunching):
3273         * UIProcess/VisitedLinkProvider.h:
3274         * UIProcess/WebContext.cpp:
3275         (WebKit::WebContext::WebContext):
3276         (WebKit::WebContext::processDidFinishLaunching):
3277         * UIProcess/WebContext.h:
3278
3279 2014-02-25  Anders Carlsson  <andersca@apple.com>
3280
3281         DrawingAreaProxy is using WebCore's Timer
3282         https://bugs.webkit.org/show_bug.cgi?id=129347
3283         <rdar://problem/16078133>
3284
3285         Reviewed by Tim Horton.
3286
3287         Use a RunLoop::Timer instead.
3288
3289         * UIProcess/DrawingAreaProxy.cpp:
3290         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
3291         (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
3292         * UIProcess/DrawingAreaProxy.h:
3293
3294 2014-02-25  Anders Carlsson  <andersca@apple.com>
3295
3296         Add WKVisitedLinkProvider
3297         https://bugs.webkit.org/show_bug.cgi?id=129343
3298
3299         Reviewed by Sam Weinig.
3300
3301         * UIProcess/API/Cocoa/WKVisitedLinkProvider.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
3302         * UIProcess/API/Cocoa/WKVisitedLinkProvider.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
3303         * UIProcess/API/Cocoa/WKVisitedLinkProviderInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
3304         * UIProcess/API/Cocoa/WKVisitedLinkProviderPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h.
3305         * UIProcess/API/Cocoa/WKWebView.mm:
3306         (-[WKWebView initWithFrame:configuration:]):
3307         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
3308         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
3309         (-[WKWebViewConfiguration visitedLinkProvider]):
3310         (-[WKWebViewConfiguration setVisitedLinkProvider:]):
3311         * WebKit2.xcodeproj/project.pbxproj:
3312
3313 2014-02-25  Anders Carlsson  <andersca@apple.com>
3314
3315         Simplify visited link style invalidation
3316         https://bugs.webkit.org/show_bug.cgi?id=129340
3317
3318         Reviewed by Dan Bernstein.
3319
3320         * UIProcess/VisitedLinkProvider.cpp:
3321         (WebKit::VisitedLinkProvider::addVisitedLink):
3322         * WebProcess/WebProcess.cpp:
3323         (WebKit::WebProcess::visitedLinkStateChanged):
3324         (WebKit::WebProcess::allVisitedLinkStateChanged):
3325
3326 2014-02-25  Anders Carlsson  <andersca@apple.com>
3327
3328         Fix build.
3329
3330         Remove VisitedLinkStrategy.
3331
3332         * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
3333         * NetworkProcess/NetworkProcessPlatformStrategies.h:
3334         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3335         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3336
3337 2014-02-25  Alexey Proskuryakov  <ap@apple.com>
3338
3339         Rolling out http://trac.webkit.org/changeset/164611, because it broke
3340         WebKit2.PrivateBrowsingPushStateNoHistoryCallback API test
3341
3342         The change was for:
3343
3344         https://bugs.webkit.org/show_bug.cgi?id=129141
3345         Create SessionID class
3346
3347 2014-02-25  Dan Bernstein  <mitz@apple.com>
3348
3349         [Cocoa] Add delegate method for customizing actions on activated elements
3350         https://bugs.webkit.org/show_bug.cgi?id=129290
3351
3352         Reviewed by Anders Carlsson.
3353
3354         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added. Declared new delegate method.
3355
3356         * UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
3357         (_WKActivatedElementType): Defined enum of element types.
3358         * UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
3359         (-[_WKActivatedElementInfo _initWithType:URL:location:title:rect:]): Added type parameter
3360         to the initializer, used to set the new type property.
3361         * UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h:
3362
3363         * UIProcess/Cocoa/UIClient.h:
3364         * UIProcess/Cocoa/UIClient.mm:
3365         (WebKit::UIClient::setDelegate): Initialize webViewActionsForElementDefaultActions member
3366         of m_delegateMethods.
3367         (WebKit::UIClient::actionsForElement): Added. Calls out to the new delegate method if
3368         implemented. Otherwise returns the default actions.
3369
3370         * UIProcess/ios/WKActionSheetAssistant.mm:
3371         (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]): Use new _elementInfo ivar
3372         instead of creating element info here.
3373         (-[WKActionSheetAssistant showImageSheet]): Create element info here and assign it to
3374         _elementInfo ivar if presenting a sheet. Call the UI client to get custom actions.
3375         (-[WKActionSheetAssistant showLinkSheet]): Ditto.
3376         (-[WKActionSheetAssistant cleanupSheet]): Clear _elementInfo ivar.
3377         * WebKit2.xcodeproj/project.pbxproj: Added reference to WKUIDelegatePrivate.h.
3378
3379 2014-02-25  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3380
3381         Unreviewed EFL build fix attempt after r164562
3382
3383         * CMakeLists.txt: Added WebVisitedLinkProvider.cpp.
3384
3385 2014-02-25  Sergio Villar Senin  <svillar@igalia.com>
3386
3387         [CSS Grid Layout] Add ENABLE flag
3388         https://bugs.webkit.org/show_bug.cgi?id=129153
3389
3390         Reviewed by Simon Fraser.
3391
3392         Added ENABLE_CSS_GRID_LAYOUT feature flag.
3393
3394         * Configurations/FeatureDefines.xcconfig:
3395         * WebProcess/WebPage/WebPage.cpp:
3396         (WebKit::WebPage::updatePreferences):
3397
3398 2014-02-25  Zan Dobersek  <zdobersek@igalia.com>
3399
3400         Unreviewed GTK build fix after r164652.
3401
3402         * GNUmakefile.list.am: Add WebVisitedLinkProvider build targets.
3403
3404 2014-02-24  Anders Carlsson  <andersca@apple.com>
3405
3406         Make it possible to set the visited link provider on a per page basis
3407         https://bugs.webkit.org/show_bug.cgi?id=129288
3408
3409         Reviewed by Andreas Kling.
3410
3411         Add WebVisitedLinkProvider which just calls the web process.
3412
3413         * WebKit2.xcodeproj/project.pbxproj:
3414         * WebProcess/WebPage/WebPage.cpp:
3415         (WebKit::WebPage::WebPage):
3416         * WebProcess/WebPage/WebVisitedLinkProvider.cpp: Added.
3417         (WebKit::WebVisitedLinkProvider::create):
3418         (WebKit::WebVisitedLinkProvider::WebVisitedLinkProvider):
3419         (WebKit::WebVisitedLinkProvider::~WebVisitedLinkProvider):
3420         (WebKit::WebVisitedLinkProvider::isLinkVisited):
3421         (WebKit::WebVisitedLinkProvider::addVisitedLink):
3422         * WebProcess/WebPage/WebVisitedLinkProvider.h: Added.
3423
3424 2014-02-25  Dan Bernstein  <mitz@apple.com>
3425
3426         Build fix for case-sensitive filesystems.
3427
3428         * WebProcess/ios/WebVideoFullscreenManager.cpp:
3429
3430 2014-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3431
3432         [GTK] Mark view source mode methods as deprecated
3433         https://bugs.webkit.org/show_bug.cgi?id=128920
3434
3435         Reviewed by Martin Robinson.
3436
3437         Mark WEBKIT_VIEW_MODE_SOURCE as deprecated in documentation and
3438         only show warnings when set_view_mode is used with WEBKIT_VIEW_MODE_SOURCE.
3439
3440         * UIProcess/API/gtk/WebKitWebView.cpp:
3441         (webkit_web_view_set_view_mode):
3442         (webkit_web_view_get_view_mode):
3443         * UIProcess/API/gtk/WebKitWebView.h:
3444
3445 2014-02-24  Alexey Proskuryakov  <ap@apple.com>
3446
3447         [Mac] Stop looking for plug-in profiles in /S/L/Sandbox/Profiles
3448         https://bugs.webkit.org/show_bug.cgi?id=129262
3449         <rdar://problem/16149420>
3450
3451         Reviewed by Sam Weinig.
3452
3453         Remove unused code.
3454
3455         * Shared/Plugins/mac/PluginSandboxProfile.mm:
3456         (WebKit::pluginSandboxProfileDirectory):
3457         (WebKit::pluginSandboxCommonProfile):
3458         (WebKit::pluginSandboxProfile):
3459         (WebKit::pluginHasSandboxProfile):
3460
3461 2014-02-24  Martin Robinson  <mrobinson@igalia.com>
3462
3463         [GTK] generate-gtkdoc should not generate documentation for source files for unbuilt source files
3464         https://bugs.webkit.org/show_bug.cgi?id=128417
3465
3466         Reviewed by Carlos Garcia Campos.
3467
3468         * GNUmakefile.am: Generate a config file for generate-gtkdoc.
3469         * PlatformGTK.cmake: Ditto.
3470
3471 2014-02-24  Dan Bernstein  <mitz@apple.com>
3472
3473         32-bit build fix.
3474
3475         * UIProcess/API/Cocoa/_WKElementAction.mm:
3476         (+[_WKElementAction elementActionWithType:customTitle:]):
3477
3478 2014-02-24  Dan Bernstein  <mitz@apple.com>
3479
3480         [Cocoa] Start adding API for customizing actions on activated elements
3481         https://bugs.webkit.org/show_bug.cgi?id=129284
3482
3483         Reviewed by Anders Carlsson.
3484
3485         * UIProcess/API/Cocoa/_WKActivatedElementInfo.h: Added. Includes the public interface of what
3486         was WKElementActionInfo.
3487         * UIProcess/API/Cocoa/_WKActivatedElementInfo.m: Added.