3e39b35659af34b1d39c92317bc44037ed048e30
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-05-31  Alexey Proskuryakov  <ap@apple.com>
2
3         REGRESSION (r141445): MPEG-4 videos do not play on certain hardware configurations
4         https://bugs.webkit.org/show_bug.cgi?id=117089
5         <rdar://problem/13839717>
6
7         Reviewed by Mark Rowe.
8
9         * Configurations/WebContentProcess.xcconfig: Statically link to a framework that
10         uses an XPC service to work around a libxpc limitation on Lion.
11
12 2013-05-31  Dean Jackson  <dino@apple.com>
13
14         Don't create an accelerated compositing layer unless we have to for snapshotting plug-ins
15         https://bugs.webkit.org/show_bug.cgi?id=117076
16         <rdar://problem/14030364>
17
18         Reviewed by Beth Dakin and Anders Carlsson.
19
20         If a plug-in can support software snapshotting, then don't create an
21         accelerated compositing layer for it while in snapshot mode. This is a
22         better user experience -- otherwise the page/plug-in looks like it broke.
23
24         * WebProcess/Plugins/PluginView.cpp:
25         (WebKit::PluginView::isAcceleratedCompositingEnabled): If we are in snapshotting mode
26         and we are a Flash plugin (the only one that supports software snapshots at the moment)
27         then do not create an accelerated compositing layer.
28
29 2013-05-30  Tim Horton  <timothy_horton@apple.com>
30
31         It's easy to hit ASSERT_NOT_REACHED in WKDOMNodeClass
32         https://bugs.webkit.org/show_bug.cgi?id=117051
33
34         Reviewed by Anders Carlsson.
35
36         Re-add the ASSERT_NOT_REACHED, and return [WKDOMNode class] in the case
37         where we don't have a specific subclass.
38
39         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
40         (WebKit::WKDOMNodeClass):
41
42 2013-05-30  Tim Horton  <timothy_horton@apple.com>
43
44         Remove ASSERT_NOT_REACHED from WKDOMNodeClass
45         https://bugs.webkit.org/show_bug.cgi?id=117051
46
47         Reviewed by Anders Carlsson.
48
49         It's easy to fail this assertion in seemingly-legitimate cases.
50
51         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
52         (WebKit::WKDOMNodeClass):
53
54 2013-05-29  Jeffrey Pfau  <jpfau@apple.com>
55
56         [Mac] Enable cache partitioning and the public suffix list on 10.8
57         <rdar://problem/13679019>
58
59         Rubber-stamped by David Kilzer.
60
61         * Configurations/FeatureDefines.xcconfig:
62
63 2013-05-30  Andreas Kling  <akling@apple.com>
64
65         Fix double hash lookup in WebPage::determinePrimarySnapshottedPlugIn() loop.
66         <http://webkit.org/b/117032>
67
68         Reviewed by Anders Carlsson.
69
70         * WebProcess/WebPage/WebPage.cpp:
71         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
72
73 2013-05-29  Tim Horton  <timothy_horton@apple.com>
74
75         Expose incrementalRenderingSuppressionTimeout via WK2
76         https://bugs.webkit.org/show_bug.cgi?id=117015
77         <rdar://problem/13992853>
78
79         Reviewed by Darin Adler.
80
81         * Shared/WebPreferencesStore.h:
82         * UIProcess/API/C/WKPreferencesPrivate.h:
83         Add IncrementalRenderingSuppressionTimeout preference.
84
85         * UIProcess/API/C/WKPreferences.cpp:
86         (WKPreferencesSetIncrementalRenderingSuppressionTimeout): Added.
87         (WKPreferencesGetIncrementalRenderingSuppressionTimeout): Added.
88
89         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
90         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
91         (WebKit::WebFrameLoaderClient::forcePageTransitionIfNeeded): Added.
92         Call didCompletePageTransition, which un-freezes the layer tree.
93
94         * WebProcess/WebPage/WebPage.cpp:
95         (WebKit::WebPage::didCompletePageTransition):
96         Fix some indentation.
97
98         (WebKit::WebPage::updatePreferences):
99         Forward the timeout value through to WebCore.
100
101 2013-05-29  Simon Fraser  <simon.fraser@apple.com>
102
103         Fix paint-related milestones to not fire when the layer tree is frozen
104         https://bugs.webkit.org/show_bug.cgi?id=117012
105
106         Reviewed by Tim Horton.
107         
108         Implement ChromeClient::layerTreeStateIsFrozen() to return
109         the frozen state of the drawing area.
110
111         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
112         (WebKit::WebChromeClient::layerTreeStateIsFrozen):
113         * WebProcess/WebCoreSupport/WebChromeClient.h:
114         (WebChromeClient):
115
116 2013-05-29  Anders Carlsson  <andersca@apple.com>
117
118         WebKit should expose HSTS APIs to determine whether a host is in the HSTS cache and to reset HSTS policies
119         https://bugs.webkit.org/show_bug.cgi?id=117010
120         <rdar://problem/13689666>
121
122         Reviewed by Tim Horton.
123
124         * UIProcess/API/C/mac/WKContextPrivateMac.h:
125         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
126         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
127         * UIProcess/API/C/mac/WKPagePrivateMac.h:
128         * UIProcess/WebContext.h:
129         (WebContext):
130         * UIProcess/mac/WebContextMac.mm:
131         (WebKit):
132         (WebKit::privateBrowsingSession):
133         (WebKit::WebContext::isURLKnownHSTSHost):
134         (WebKit::WebContext::resetHSTSHosts):
135
136 2013-05-29  Tim Horton  <timothy_horton@apple.com>
137
138         WKViews using shouldClipToVisibleRect=YES should respect prepareContentInRect: if called
139         https://bugs.webkit.org/show_bug.cgi?id=116989
140         <rdar://problem/14007440>
141
142         Reviewed by Anders Carlsson.
143
144         * UIProcess/API/mac/WKView.mm:
145         (-[WKView prepareContentInRect:]):
146         If prepareContentInRect: is called, save the rect and set a flag so we know we should use it.
147
148         (-[WKView _updateViewExposedRect]):
149         Give the WebPage (and later the DrawingArea) the union of the rect handed to prepareContentInRect:
150         and the WKView's visibleRect, if we're in that mode, so that applications that do their own scrolling
151         can cause tiles to be created in currently offscreen views (for overdraw).
152
153         (-[WKView setFrameSize:]):
154         (-[WKView _updateWindowAndViewFrames]):
155         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
156         (-[WKView enableFrameSizeUpdates]):
157         (-[WKView setShouldClipToVisibleRect:]):
158         (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
159         Use [_updateViewExposedRect].
160
161 2013-05-28  Oliver Hunt  <oliver@apple.com>
162
163         Add more accurate activity state tracking
164         https://bugs.webkit.org/show_bug.cgi?id=116893
165
166         Reviewed by Gavin Barraclough.
167
168         This extends the logic in WebCore from a Page to Process
169         granularity, so we will avoid lowering the child process
170         priority if there is active content.  This also plumbs in
171         the logic to allow plugins to report that they have done
172         something "interesting".  Currently this is somewhat conservative
173         but even this is sufficient to fix some stuttering issues
174         that we've seen.
175
176         * Shared/ChildProcess.cpp:
177         (WebKit::ChildProcess::ChildProcess):
178         * Shared/ChildProcess.h:
179         (ChildProcess):
180         (WebKit::ChildProcess::processSuppressionEnabled):
181         (WebKit::ChildProcess::incrementActiveTaskCount):
182         (WebKit::ChildProcess::decrementActiveTaskCount):
183         * Shared/mac/ChildProcessMac.mm:
184         (WebKit):
185         (WebKit::ChildProcess::setProcessSuppressionEnabledInternal):
186         (WebKit::ChildProcess::setProcessSuppressionEnabled):
187         (WebKit::ChildProcess::incrementActiveTaskCount):
188         (WebKit::ChildProcess::decrementActiveTaskCount):
189         (WebKit::ChildProcess::suspensionHysteresisTimerFired):
190         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
191         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
192         (WebKit::NPRuntimeObjectMap::evaluate):
193         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
194         (WebCore):
195         (NPRuntimeObjectMap):
196         * WebProcess/Plugins/PluginView.cpp:
197         (WebKit::PluginView::PluginView):
198         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
199         (WebKit::WebChromeClient::incrementActivePageCount):
200         (WebKit):
201         (WebKit::WebChromeClient::decrementActivePageCount):
202         * WebProcess/WebCoreSupport/WebChromeClient.h:
203         (WebChromeClient):
204
205 2013-05-29  Anders Carlsson  <andersca@apple.com>
206
207         Return earlier if there's no session storage namespace
208         https://bugs.webkit.org/show_bug.cgi?id=116984
209         <rdar://problem/13976781>
210
211         Reviewed by Tim Horton.
212
213         If we can't find a session storage namespace, return before creating an entry in the m_storageAreasByConnection
214         hash map since then we'll crash trying to remove it later.
215
216         * UIProcess/Storage/StorageManager.cpp:
217         (WebKit::StorageManager::createSessionStorageMap):
218
219 2013-05-29  Martin Robinson  <mrobinson@igalia.com>
220
221         Fix more CMake GTK+ build issues after r150336
222
223         * CMakeLists.txt: We need to allow for setting the WebProcess output name, since
224         WebKitGTK+ expects it to be called WebKitWebProcess.
225         * PlatformGTK.cmake: No longer set WebProcess_EXECUTABLE_NAME as it's been replaced
226         by WebKit2_WebProcess_OUTPUT_NAME.
227
228 2013-05-29  Marcelo Lira  <marcelo.lira@openbossa.org>
229
230         [WK2][CoordinatedGraphics][EFL] WKViewUserViewportToContents() function doesn't do what it says
231         https://bugs.webkit.org/show_bug.cgi?id=116683
232
233         Reviewed by Noam Rosenthal.
234
235         WKViewUserViewportToContents now converts WebView coordinates to
236         page contents coordinates, taking into account factors as content
237         scale and scroll, and also device scale.
238
239         The function WKViewUserViewportToScene was added to convert WebView
240         coordinates to the coordinates of the canvas/scene where the view
241         is drawn, and EwkView was fixed to use it, instead of
242         WKViewUserViewportToContents.
243
244         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
245         (WKViewUserViewportToScene):
246         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
247         * UIProcess/API/efl/EwkView.cpp:
248         (EwkView::createGLSurface):
249         * UIProcess/CoordinatedGraphics/WebView.cpp:
250         (WebKit::WebView::userViewportToContents):
251         (WebKit):
252         (WebKit::WebView::userViewportToScene):
253         (WebKit::WebView::transformToScene):
254         * UIProcess/CoordinatedGraphics/WebView.h:
255         (WebView):
256
257 2013-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>
258
259         Unreviewed. Fix make distcheck.
260
261         * GNUmakefile.am: Add WebCoreLayerGtk2.a to DISTCLEANFILES.
262
263 2013-05-29  Seokju Kwon  <seokju.kwon@gmail.com>
264
265         [GTK] Clean up WebKit2 GNUmakefile.am
266         https://bugs.webkit.org/show_bug.cgi?id=116907
267
268         Reviewed by Martin Robinson.
269
270         Removed WebNotificationManagerProxy.messages.in after r150785.
271
272         * GNUmakefile.am:
273
274 2013-05-28  Alexey Proskuryakov  <ap@apple.com>
275
276         Freeze when loading a particular page on washingtonpost.com with NetworkProcess enabled
277         https://bugs.webkit.org/show_bug.cgi?id=116887
278         <rdar://problem/12965959>
279
280         Reviewed by Darin Adler.
281
282         * Shared/cf/ArgumentCodersCF.cpp:
283         (CoreIPC::encode):
284         (CoreIPC::decode):
285         Fix for the bug: use good shared WebCore code to manipulate CFURLs. Also, added
286         a FIXME about empty URLs.
287
288         * Shared/API/c/cf/WKURLCF.cpp: (WKURLCreateWithCFURL): Fixed to not use
289         CFURLGetString, as that could prevent loading certain resources, like ones with
290         curly braces in resource specifiers. We want KURL normalization, not CFURL one.
291
292 2013-05-28  Tim Horton  <timothy_horton@apple.com>
293
294         Rendering suppression extension tokens shouldn't be 0, should handle overflow
295         https://bugs.webkit.org/show_bug.cgi?id=116886
296         <rdar://problem/14004474>
297
298         Reviewed by Darin Adler.
299
300         Don't use invalid HashSet values as tokens, and ensure that
301         we're not already using a token before returning it.
302
303         * WebProcess/WebPage/WebPage.cpp:
304         (WebKit::WebPage::extendIncrementalRenderingSuppression):
305
306 2013-05-28  Lauro Neto <lauro.neto@openbossa.org>
307
308         [GTK] Connection issues in repeated WebProcess crash/reloads.
309         https://bugs.webkit.org/show_bug.cgi?id=115880
310
311         Reviewed by Anders Carlsson.
312
313         When stressing the WebProcess creation/destruction, WebKitGTK can
314         often run into socket issues like bad file descriptor errors or
315         polling a socket indefinitely.
316
317         Currently WebKitGTK has three places where a socket can be
318         closed.
319
320         - childFinishedFunction (in ProcessLauncherGtk.cpp)
321         - Connection::platformInvalidate (in ConnectionUnix.cpp)
322         - WorkQueue EventSource destruction (in WorkQueueGtk.cpp)
323
324         To avoid these race conditions, socket closing will be handled
325         by the event source callback in WorkQueueGtk.cpp.
326
327         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
328         (CoreIPC::Connection::platformInvalidate): Do not close the socket
329         when the connection is invalidated, the socket event source is
330         unregistered in this method and the socket is closed when the
331         GSocket associated to the event source is destroyed.
332         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
333         (WebKit::ProcessLauncher::launchProcess): Do not monitor child
334         process to close the connection on termination. This was needed in
335         the past when we used DGRAM sockets, we currently use always
336         connection oriented sockets, so that when the other end closes
337         the connection we are notified and the connection is invalidated.
338
339 2013-05-28  Martin Robinson  <mrobinson@igalia.com>
340
341         Fix GTK+ CMake build
342
343         * PlatformGTK.cmake: After r150336, the name of the WebKit2
344         library target is simply "WebKit2."
345
346 2013-05-28  Marcelo Lira  <marcelo.lira@openbossa.org>
347
348         [WK2][CoordinatedGraphics] DrawingArea's visible content area must be updated when contents size changes
349         https://bugs.webkit.org/show_bug.cgi?id=116845
350
351         Reviewed by Noam Rosenthal.
352
353         * UIProcess/CoordinatedGraphics/WebView.cpp:
354         (WebKit::WebView::didChangeContentsSize):
355
356 2013-05-28  Noam Rosenthal  <noam@webkit.org>
357
358         [Qt] REGRESSION(r149292): broke scrolling in Qt WK2 desktop mode
359         https://bugs.webkit.org/show_bug.cgi?id=116597
360
361         ScrollingCoordinatorCoordinatedGraphics is tailored specifically for
362         fixedLayout mode. When fixedLayout is not set, it should be turned off.
363
364         Reviewed by Allan Sandfeld Jensen.
365
366         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
367         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
368
369 2013-05-28  Andreas Kling  <akling@apple.com>
370
371         Document::setFocusedNode() should be setFocusedElement().
372         <http://webkit.org/b/116857>
373
374         Reviewed by Antti Koivisto.
375
376         * WebProcess/Plugins/PluginView.cpp:
377         (WebKit::PluginView::focusPluginElement):
378         * WebProcess/WebPage/WebPage.cpp:
379         (WebKit::WebPage::focusedPluginViewForFrame):
380         (WebKit::WebPage::setInitialFocus):
381
382 2013-05-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
383
384         [EFL][WK2] Clean up duplicated include files.
385         https://bugs.webkit.org/show_bug.cgi?id=116851
386
387         Reviewed by Christophe Dumez.
388
389         Remove some of duplicated include file in ewk files.
390
391         * UIProcess/API/efl/EwkView.h:
392         * UIProcess/API/efl/ewk_color_picker.cpp:
393         * UIProcess/API/efl/ewk_context_menu.cpp:
394         * UIProcess/API/efl/ewk_security_origin_private.h:
395
396 2013-05-28  Ryuan Choi  <ryuan.choi@samsung.com>
397
398         [EFL] pc files should have harfbuzz dependency.
399         https://bugs.webkit.org/show_bug.cgi?id=116852
400
401         Reviewed by Gyuyoung Kim.
402
403         * efl/ewebkit2.pc.in: Added harfbuzz as Required package.
404
405 2013-05-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
406
407         [EFL][WK2] Remove unneeded WebCore namespace use in ewk
408         https://bugs.webkit.org/show_bug.cgi?id=116707
409
410         Reviewed by Christophe Dumez.
411
412         * UIProcess/API/efl/ewk_security_origin.cpp: Remove "using namespace WebCore".
413         * UIProcess/API/efl/ewk_text_checker.cpp: ditto.
414
415 2013-05-26  Jon Lee  <jonlee@apple.com>
416
417         [WK2] Notifications clobber each other with multiple processes
418         https://bugs.webkit.org/show_bug.cgi?id=116428
419         <rdar://problem/13935191>
420
421         Reviewed by Darin Adler.
422
423         With multiple processes, the notification IDs, when passed up to the UI process, can clobber
424         each other. To fix this, we need to maintain a global map of notification IDs. This map is
425         keyed by its own unique notification ID, and maps to a pair containing the web page ID and that
426         web page's ID for the notification.
427
428         Now that we maintain groups of notifications based on the web page, we no longer send IPC messages
429         from WebNotificationManager to WebNotificationManagerProxy; instead we send messages to the
430         WebPageProxy. This removes the need for WebNotificationManagerProxy to be a message receiver.
431
432         When a page closes, all of the web notifications are cleared out. However, by the time the
433         WebPage::close() is called, the connection between WebPage and WebPageProxy is destroyed. Since
434         the WebPage is told to close from the UI process anyway, we clear out the notifications separately,
435         instead of waiting for a message from the WebPage.
436
437         * UIProcess/Notifications/WebNotificationManagerProxy.h: Update to take into account the
438         notification's web page. Remove inheritance of CoreIPC::MessageReceiver. Expose the original message
439         handlers as public functions, since they will be called from WebPageProxy. Add a new map that
440         associates a global ID with a notification ID that came from a web page.
441             There are now two flavors of clearNotifications(). One clears out all notifications associated
442         with a web page. This is called when the page is closed. The other clears out a subset of
443         notifications associated with a web page. This is called when notifications associated with a sub-frame
444         is closed.
445         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Removed. All messages from
446         the web process go to WebPageProxy now.
447
448         * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Update to take into account the
449         notification's web page.
450
451         (WebKit::generateGlobalNotificationID): The manager proxy now maintains its own global notification
452         ID generator.
453         (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): The proxy is no longer a
454         message receiver. Remove code that registers it as such.
455
456         (WebKit::WebNotificationManagerProxy::show): Refactor to differentiate between the notification ID
457         that came from the web process, and the global notification ID the proxy maintains. Add the mapping
458         from the global ID to the (web page ID, notification ID) pair.
459         (WebKit::WebNotificationManagerProxy::cancel): Refactor to take into consideration the web page.
460         (WebKit::WebNotificationManagerProxy::didDestroyNotification): Refactor to take into consideration
461         the web page. Fixes a leak where we did not remove the item from the maps. This function is called
462         from the web process, when the ScriptExecutionContext is destroyed, so we remove it from our maps
463         before we pass the message along to the provider.
464
465         Helper functions that evaluate when a given notification in the map matches the desired parameters.
466         (WebKit::pageIDsMatch): The notification is associated with the provided page.
467         (WebKit::pageAndNotificationIDsMatch): The notification is associated with the provided page and is
468         contained within the list of provided notifications.
469
470         (WebKit::WebNotificationManagerProxy::clearNotifications): Changed to only remove notifications
471         associated with the provided web page, and could include a specific list of notifications. This latter
472         situation occurs if notifications were associated with an iframe, and that iframe was removed.
473         There is an O(n) walk that could be make more efficient using another hash map, but that's overhead
474         for a map that should be small in size anyway.
475
476         (WebKit::WebNotificationManagerProxy::providerDidShowNotification): Refactor to take into
477         consideration the web page.
478         (WebKit::WebNotificationManagerProxy::providerDidClickNotification): Refactor to take into
479         consideration the web page.
480         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Now we need to comb through
481         the list of global IDs and put them in buckets based on the notification's web pages. After that
482         is done we can send the DidCloseNotifications() to those pages' processes. There is a possible
483         extra optimization here where we group based on the page's process instead, to reduce the number
484         of messages sent to processes.
485
486         * UIProcess/WebPageProxy.cpp:
487         (WebKit::WebPageProxy::close): When a web page is closed, we clear the notifications associated
488         with the page.
489         (WebKit::WebPageProxy::cancelNotification): Forward call to WebNotificationManagerProxy.
490         (WebKit::WebPageProxy::clearNotifications): Ditto.
491         (WebKit::WebPageProxy::didDestroyNotification): Ditto.
492         * UIProcess/WebPageProxy.h:
493         * UIProcess/WebPageProxy.messages.in:
494
495         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
496         * WebProcess/Notifications/WebNotificationManager.cpp:
497         (WebKit::WebNotificationManager::cancel):
498         (WebKit::WebNotificationManager::clearNotifications):
499         (WebKit::WebNotificationManager::didDestroyNotification):
500         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Remove extraneous include.
501
502         * CMakeLists.txt: Remove WebNotificationManagerProxy.messages.in and related files.
503         * DerivedSources.pri: Ditto.
504         * DerivedSources.make: Ditto.
505         * GNUmakefile.list.am: Ditto.
506         * WebKit2.xcodeproj/project.pbxproj: Ditto.
507
508 2013-05-27  Tim Horton  <timothy_horton@apple.com>
509
510         Unreviewed build fix take 2.
511
512         * WebProcess/Plugins/PDF/PDFPlugin.mm:
513
514 2013-05-27  Tim Horton  <timothy_horton@apple.com>
515
516         Unreviewed build fix.
517
518         * WebProcess/Plugins/PDF/PDFPlugin.mm:
519
520 2013-05-27  Tim Horton  <timothy_horton@apple.com>
521
522         PDFPlugin: Main-frame PDFPlugin Accessibility
523         https://bugs.webkit.org/show_bug.cgi?id=116563
524         <rdar://problem/13458534>
525
526         Reviewed by Sam Weinig.
527
528         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
529         Forward-declare a variety of accessibility methods.
530
531         * WebProcess/Plugins/PDF/PDFPlugin.h:
532         Add convertFromPDFViewToScreen, boundsOnScreen, accessibilityObject, and
533         storage for our accessibility wrapper.
534         * WebProcess/Plugins/PDF/PDFPlugin.mm:
535         Add WKPDFPluginAccessibilityObject.
536
537         (-[WKPDFPluginAccessibilityObject accessibilityIsIgnored]):
538         We want to be included in the accessibility tree.
539
540         (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
541         (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:forParameter:]):
542         Grab values for accessibility attributes from the relevant sources
543         (mostly from PDFLayerController).
544
545         (-[WKPDFPluginAccessibilityObject readingModel]): Ditto.
546         (-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
547         (-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]):
548         (-[WKPDFPluginAccessibilityObject accessibilityActionNames]):
549         Return the set of accessibility attributes, actions, and parameterized
550         attributes that we support.
551
552         (-[WKPDFPluginAccessibilityObject accessibilityIsAttributeSettable:]):
553         (-[WKPDFPluginAccessibilityObject accessibilitySetValue:forAttribute:]):
554         Forward some other accessibility methods to PDFLayerController.
555
556         (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
557         (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
558         We have no children, so if a hit test makes it to us, it's ours.
559
560         (WebKit::PDFPlugin::PDFPlugin):
561         Make a WKPDFPluginAccessibilityObject and hook it up.
562         [FIXME: this could use some de-crapifying]
563
564         (WebKit::PDFPlugin::convertFromPluginToPDFView):
565         Transform a point from plugin space to PDFLayerController space.
566
567         (WebKit::PDFPlugin::convertFromPDFViewToRootView):
568         (WebKit::PDFPlugin::convertFromPDFViewToScreen): Added.
569         (WebKit::PDFPlugin::boundsOnScreen):
570         Return the PDFPlugin's frame in screen coordinates.
571
572         (WebKit::PDFPlugin::accessibilityObject):
573         Return our accessibility wrapper.
574
575         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
576         * WebProcess/Plugins/Plugin.h:
577         (WebKit::Plugin::accessibilityObject):
578         * WebProcess/Plugins/PluginView.cpp:
579         (WebKit::PluginView::accessibilityObject):
580         * WebProcess/Plugins/PluginView.h:
581         Add accessibilityObject(), to acquire accessibility wrappers from plugins.
582
583         * WebProcess/WebPage/WebPage.h:
584         (WebPage): Add accessibilityObjectForMainFramePlugin();
585         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
586         (-[WKAccessibilityWebPageObject accessibilityRootObjectWrapper]):
587         If the main frame has a PluginDocument that has an accessibilityObject,
588         use that one instead of the WebPage's.
589
590         * WebProcess/WebPage/mac/WebPageMac.mm:
591         (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
592         Return the accessibilityObject from the main-frame PluginDocument, if
593         there is one.
594
595 2013-05-27  Marcelo Lira  <marcelo.lira@openbossa.org>
596
597         [WK2][CoordinatedGraphics] Misuse of DrawingAreaProxy::setVisibleContentsRect() in WebView::updateViewportSize()
598         https://bugs.webkit.org/show_bug.cgi?id=116688
599
600         Reviewed by Noam Rosenthal.
601
602         Visible contents area passed to DrawingAreaProxy::setVisibleContentsRect()
603         must be calculated including the page scale factor and avoid crossing the
604         boundaries of the page contents size. In other words the DrawingArea
605         must know the actual dimensions of what it being drawn. If the
606         DrawingArea thinks the visible rectangle is bigger than it is, the
607         contents will be drawn pixelated and blurry.
608
609         * UIProcess/CoordinatedGraphics/WebView.cpp:
610         (WebKit::WebView::didChangeContentsSize):
611         (WebKit::WebView::updateViewportSize):
612         (WebKit::WebView::visibleContentsSize):
613         (WebKit):
614         * UIProcess/CoordinatedGraphics/WebView.h:
615         (WebKit::WebView::contentsSize):
616         (WebView):
617
618 2013-05-27  Carlos Garcia Campos  <cgarcia@igalia.com>
619
620         [GTK] WebKitWebView child widgets are not rendered with recent GTK+
621         https://bugs.webkit.org/show_bug.cgi?id=116794
622
623         Reviewed by Xan Lopez.
624
625         Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose
626         events are not propagated to child GdkWindows anymore, and child
627         widgets are rendered via gtk_container_propagate_draw(). Since all
628         our children have its own GdkWindow (auth widget, inspector view
629         and windowed plugins) we don't propagate the draw signal making
630         them invisible with current GTK+.
631
632         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
633         (webkitWebViewBaseDraw): Chain up to the parent draw(), so it's
634         propagated to the children. This shouldn't have any effect in
635         previous versions of GTK+ because gtk_container_propagate_draw()
636         returned early when the child widget had its own GdkWindow.
637
638 2013-05-27  Xan Lopez  <xlopez@igalia.com>
639
640         Reset all clients on WebPage close
641         https://bugs.webkit.org/show_bug.cgi?id=112334
642
643         Reviewed by Anders Carlsson.
644
645         We do not reset the clients on WebPage::close(), so there's a
646         small chance that someone will try to access them after that. This
647         won't work and will generally cause runtime warnings, crashes or
648         other issues. Reset them all to null to prevent this situation.
649
650         * WebProcess/WebPage/WebPage.cpp:
651         (WebKit::WebPage::close):
652
653 2013-05-27  Manuel Rego Casasnovas  <rego@igalia.com>
654
655         [GTK] Notify WebProcess in WebKitURISchemeRequest when we fail to read the user InputStream
656         https://bugs.webkit.org/show_bug.cgi?id=114347
657
658         Reviewed by Carlos Garcia Campos.
659
660         While processing a WebKitURISchemeRequest if there is any error reading
661         the InputStream provided by the user (for example the stream is already
662         closed) we have to notify the WebProcess that the request has failed.
663
664         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
665         (webkitURISchemeRequestReadCallback): Get the error from
666         g_input_stream_read_finish() and use it to call
667         webkit_uri_scheme_request_finish_error() in order to finish the failing
668         WebKitURISchemeRequest properly.
669         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
670         (testWebContextURIScheme): Modify test to check the new situation using
671         an already closed InputStream.
672
673 2013-05-27  Carlos Garcia Campos  <cgarcia@igalia.com>
674
675         Unreviewed. Fix make distcheck.
676
677         * GNUmakefile.list.am: Add missing header file.
678
679 2013-05-26  Changhun Kang  <temoochin@company100.net>
680
681         The public WK header file should not include WKAPICast.h
682         https://bugs.webkit.org/show_bug.cgi?id=115230
683
684         Reviewed by Darin Adler.
685
686         Otherwise, WebKit internal headers are exposed.
687         No new tests. No change in behavior.
688         * UIProcess/API/C/soup/WKSoupRequestManager.h:
689         * UIProcess/soup/WebSoupRequestManagerClient.h:
690
691 2013-05-26  Andreas Kling  <akling@apple.com>
692
693         FocusController::setFocusedNode() should be setFocusedElement().
694         <http://webkit.org/b/116780>
695
696         Reviewed by Antti Koivisto.
697
698         * WebProcess/Plugins/PluginView.cpp:
699         (WebKit::PluginView::focusPluginElement):
700
701 2013-05-25  Andreas Kling  <akling@apple.com>
702
703         PluginDocument::pluginNode() should be pluginElement() instead.
704         <http://webkit.org/b/116774>
705
706         Reviewed by Anders Carlsson.
707
708         * WebProcess/WebPage/WebPage.cpp:
709         (WebKit::WebPage::focusedPluginViewForFrame):
710
711 2013-05-25  Simon Fraser  <simon.fraser@apple.com>
712
713         Unprefix Page Visibility API
714         https://bugs.webkit.org/show_bug.cgi?id=102340
715
716         Reviewed by Tim Horton.
717         
718         Renaming of the "preview" state to "unloaded".
719
720         * Shared/API/c/WKPageVisibilityTypes.h:
721         * Shared/API/c/WKSharedAPICast.h:
722         (WebKit::toPageVisibilityState):
723
724 2013-05-25  Andreas Kling  <akling@apple.com>
725
726         Move Node::isMouseFocusable() to Element.
727         <http://webkit.org/b/116762>
728
729         Reviewed by Anders Carlsson.
730
731         * WebProcess/WebPage/WebPage.cpp:
732         (WebKit::WebPage::highlightPotentialActivation):
733
734             Check that the potentially activated Node is an Element before asking if it's mouse-focusable.
735
736 2013-05-25  Andreas Kling  <akling@apple.com>
737
738         REGRESSION: WebProcess is terminated when all Safari windows are closed.
739         <rdar://problem/13990901>
740         <http://webkit.org/b/116766>
741
742         Reviewed by Alexey Proskuryakov.
743
744         When closing the last page, only disconnect the web process if we're using a network process.
745         Otherwise there might be session state in the web process getting lost.
746
747         * UIProcess/WebProcessProxy.cpp:
748         (WebKit::WebProcessProxy::removeWebPage):
749
750 2013-05-25  Santosh Mahto  <santosh.ma@samsung.com>
751
752         WebFrameProxy::didFailLoad clears frame title for no apparent reason
753         https://bugs.webkit.org/show_bug.cgi?id=116655
754
755         Reviewed by Alexey Proskuryakov.
756
757         * UIProcess/WebFrameProxy.cpp:
758         (WebKit::WebFrameProxy::didFailLoad):
759
760 2013-05-24  Seokju Kwon  <seokju.kwon@gmail.com>
761
762         [Qt][GTK] Build fix after r150669
763         https://bugs.webkit.org/show_bug.cgi?id=116751
764
765         Reviewed by Christophe Dumez.
766
767         * GNUmakefile.list.am:
768         * Target.pri:
769         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
770         (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):
771
772 2013-05-24  Seokju Kwon  <seokju.kwon@gmail.com>
773
774         [EFL] Build fix after r150669
775         https://bugs.webkit.org/show_bug.cgi?id=116750
776
777         Reviewed by Anders Carlsson.
778
779         * CMakeLists.txt:
780         * WebProcess/Battery/WebBatteryManager.cpp:
781         (WebKit::WebBatteryManager::registerWebPage):
782         (WebKit::WebBatteryManager::unregisterWebPage):
783         * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
784         (WebKit::WebNetworkInfoManager::registerWebPage):
785         (WebKit::WebNetworkInfoManager::unregisterWebPage):
786         (WebKit::WebNetworkInfoManager::bandwidth):
787         (WebKit::WebNetworkInfoManager::metered):
788         * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
789         (WebKit::WebVibrationClient::vibrate):
790         (WebKit::WebVibrationClient::cancelVibration):
791         * WebProcess/soup/WebSoupRequestManager.cpp:
792         (WebKit::WebSoupRequestManager::didReceiveURIRequestData):
793         (WebKit::WebSoupRequestManager::send):
794
795 2013-05-24  Anders Carlsson  <andersca@apple.com>
796
797         MessageSender shouldn't be a class template
798         https://bugs.webkit.org/show_bug.cgi?id=116743
799
800         Reviewed by Andreas Kling.
801
802         Change MessageSender to be a proper abstract base class. Subclasses of MessageSender must
803         implement messageSenderConnection() as well as messageSenderDestinationID().
804
805         This reduces code size and will allow us to be more flexible with MessageSender in the future.
806
807         * NetworkProcess/NetworkResourceLoader.cpp:
808         (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
809         (WebKit::NetworkResourceLoader::messageSenderConnection):
810         (WebKit):
811         (WebKit::NetworkResourceLoader::messageSenderDestinationID):
812         * NetworkProcess/NetworkResourceLoader.h:
813         (NetworkResourceLoader):
814         * NetworkProcess/mac/DiskCacheMonitor.h:
815         (DiskCacheMonitor):
816         * NetworkProcess/mac/DiskCacheMonitor.mm:
817         (WebKit::DiskCacheMonitor::messageSenderConnection):
818         (WebKit::DiskCacheMonitor::messageSenderDestinationID):
819         (WebKit):
820         * Platform/CoreIPC/MessageSender.h:
821         (CoreIPC):
822         (MessageSender):
823         (CoreIPC::MessageSender::send):
824         (CoreIPC::MessageSender::sendSync):
825         * Shared/ChildProcess.cpp:
826         (WebKit::ChildProcess::messageSenderConnection):
827         (WebKit):
828         (WebKit::ChildProcess::messageSenderDestinationID):
829         * Shared/ChildProcess.h:
830         (ChildProcess):
831         * Shared/Downloads/Download.cpp:
832         (WebKit::Download::messageSenderConnection):
833         (WebKit):
834         (WebKit::Download::messageSenderDestinationID):
835         * Shared/Downloads/Download.h:
836         (Download):
837         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
838         (WebKit::CustomProtocolManager::initialize):
839         * Shared/WebConnection.h:
840         (WebConnection):
841         * Shared/mac/SecItemShim.cpp:
842         (WebKit::sendSecItemRequest):
843         * UIProcess/WebConnectionToWebProcess.cpp:
844         (WebKit::WebConnectionToWebProcess::hasValidConnection):
845         (WebKit::WebConnectionToWebProcess::messageSenderConnection):
846         (WebKit::WebConnectionToWebProcess::messageSenderDestinationID):
847         * UIProcess/WebConnectionToWebProcess.h:
848         (WebConnectionToWebProcess):
849         * WebKit2.xcodeproj/project.pbxproj:
850         * WebProcess/Geolocation/WebGeolocationManager.cpp:
851         (WebKit::WebGeolocationManager::registerWebPage):
852         (WebKit::WebGeolocationManager::unregisterWebPage):
853         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
854         (WebKit::WebIconDatabaseProxy::retainIconForPageURL):
855         (WebKit::WebIconDatabaseProxy::releaseIconForPageURL):
856         (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
857         (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
858         (WebKit::WebIconDatabaseProxy::setIconURLForPageURL):
859         (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
860         * WebProcess/InjectedBundle/InjectedBundle.cpp:
861         (WebKit::InjectedBundle::postMessage):
862         (WebKit::InjectedBundle::postSynchronousMessage):
863         * WebProcess/Network/WebResourceLoader.cpp:
864         (WebKit::WebResourceLoader::messageSenderConnection):
865         (WebKit::WebResourceLoader::messageSenderDestinationID):
866         * WebProcess/Network/WebResourceLoader.h:
867         (WebResourceLoader):
868         * WebProcess/Notifications/WebNotificationManager.cpp:
869         (WebKit::WebNotificationManager::show):
870         (WebKit::WebNotificationManager::cancel):
871         (WebKit::WebNotificationManager::clearNotifications):
872         (WebKit::WebNotificationManager::didDestroyNotification):
873         * WebProcess/Plugins/PDF/PDFPlugin.mm:
874         (WebKit::PDFPlugin::writeItemsToPasteboard):
875         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
876         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
877         * WebProcess/Storage/StorageAreaMap.cpp:
878         (WebKit::StorageAreaMap::StorageAreaMap):
879         (WebKit::StorageAreaMap::~StorageAreaMap):
880         (WebKit::StorageAreaMap::setItem):
881         (WebKit::StorageAreaMap::removeItem):
882         (WebKit::StorageAreaMap::clear):
883         (WebKit::StorageAreaMap::loadValuesIfNeeded):
884         * WebProcess/WebConnectionToUIProcess.cpp:
885         (WebKit::WebConnectionToUIProcess::hasValidConnection):
886         (WebKit::WebConnectionToUIProcess::messageSenderConnection):
887         (WebKit::WebConnectionToUIProcess::messageSenderDestinationID):
888         * WebProcess/WebConnectionToUIProcess.h:
889         (WebConnectionToUIProcess):
890         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
891         (WebKit::WebChromeClient::windowRect):
892         (WebKit::WebChromeClient::focusedFrameChanged):
893         (WebKit::WebChromeClient::createWindow):
894         (WebKit::WebChromeClient::toolbarsVisible):
895         (WebKit::WebChromeClient::statusbarVisible):
896         (WebKit::WebChromeClient::menubarVisible):
897         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
898         (WebKit::WebChromeClient::runJavaScriptAlert):
899         (WebKit::WebChromeClient::runJavaScriptConfirm):
900         (WebKit::WebChromeClient::runJavaScriptPrompt):
901         (WebKit::WebChromeClient::shouldInterruptJavaScript):
902         (WebKit::WebChromeClient::exceededDatabaseQuota):
903         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
904         (WebKit::WebColorChooser::WebColorChooser):
905         (WebKit::WebColorChooser::setSelectedColor):
906         (WebKit::WebColorChooser::endChooser):
907         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
908         (WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon):
909         (WebKit::WebFrameLoaderClient::updateGlobalHistory):
910         (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
911         (WebKit::WebFrameLoaderClient::setTitle):
912         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
913         (WebKit::WebPlatformStrategies::populatePluginCache):
914         (WebKit::WebPlatformStrategies::getTypes):
915         (WebKit::WebPlatformStrategies::bufferForType):
916         (WebKit::WebPlatformStrategies::getPathnamesForType):
917         (WebKit::WebPlatformStrategies::stringForType):
918         (WebKit::WebPlatformStrategies::copy):
919         (WebKit::WebPlatformStrategies::changeCount):
920         (WebKit::WebPlatformStrategies::uniqueName):
921         (WebKit::WebPlatformStrategies::color):
922         (WebKit::WebPlatformStrategies::url):
923         (WebKit::WebPlatformStrategies::addTypes):
924         (WebKit::WebPlatformStrategies::setTypes):
925         (WebKit::WebPlatformStrategies::setBufferForType):
926         (WebKit::WebPlatformStrategies::setPathnamesForType):
927         (WebKit::WebPlatformStrategies::setStringForType):
928         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
929         (WebKit::WebPopupMenu::show):
930         (WebKit::WebPopupMenu::hide):
931         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
932         (WebKit::WebSearchPopupMenu::saveRecentSearches):
933         (WebKit::WebSearchPopupMenu::loadRecentSearches):
934         * WebProcess/WebPage/EventDispatcher.cpp:
935         (WebKit::EventDispatcher::sendDidReceiveEvent):
936         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
937         (WebKit::updateBackForwardItem):
938         (WebKit::WebBackForwardListProxy::itemAtIndex):
939         (WebKit::WebBackForwardListProxy::backListCount):
940         (WebKit::WebBackForwardListProxy::forwardListCount):
941         * WebProcess/WebPage/WebInspector.cpp:
942         (WebKit::WebInspector::createInspectorPage):
943         (WebKit::WebInspector::didClose):
944         (WebKit::WebInspector::bringToFront):
945         (WebKit::WebInspector::inspectedURLChanged):
946         (WebKit::WebInspector::save):
947         (WebKit::WebInspector::append):
948         (WebKit::WebInspector::attachBottom):
949         (WebKit::WebInspector::attachRight):
950         (WebKit::WebInspector::detach):
951         (WebKit::WebInspector::setAttachedWindowHeight):
952         (WebKit::WebInspector::setAttachedWindowWidth):
953         (WebKit::WebInspector::setToolbarHeight):
954         (WebKit::WebInspector::updateDockingAvailability):
955         (WebKit::WebInspector::sendMessageToRemoteFrontend):
956         * WebProcess/WebPage/WebPage.cpp:
957         (WebKit::WebPage::messageSenderConnection):
958         (WebKit):
959         (WebKit::WebPage::messageSenderDestinationID):
960         * WebProcess/WebPage/WebPage.h:
961         (WebPage):
962         * WebProcess/WebPage/mac/WebPageMac.mm:
963         (WebKit::WebPage::executeKeypressCommandsInternal):
964         (WebKit::WebPage::handleEditingKeyboardEvent):
965         * WebProcess/WebProcess.cpp:
966         (WebKit::WebProcess::ensureNetworkProcessConnection):
967         (WebKit::WebProcess::shouldTerminate):
968
969 2013-05-24  Tim Horton  <timothy_horton@apple.com>
970
971         Animated GIFs don't repaint after TiledCoreAnimationDrawingArea un-suspends painting
972         https://bugs.webkit.org/show_bug.cgi?id=116744
973         <rdar://problem/13973514>
974
975         Reviewed by Simon Fraser.
976
977         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
978         (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
979         Force WebCore to repaint animated images when painting is resumed.
980
981 2013-05-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
982
983         Remove custom code for webkitAudioContext global constructor getter
984         https://bugs.webkit.org/show_bug.cgi?id=116530
985
986         Reviewed by Geoffrey Garen.
987
988         Use RuntimeEnabledFeatures instead of WebCore Settings to toggle Web Audio support.
989
990         * WebProcess/InjectedBundle/InjectedBundle.cpp:
991         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
992         * WebProcess/WebPage/WebPage.cpp:
993         (WebKit::WebPage::updatePreferences):
994
995 2013-05-24  Thomas Deniau  <deniau@apple.com>
996
997         Add more lines to the context during Dictionary lookups
998         https://bugs.webkit.org/show_bug.cgi?id=115256
999
1000         Reviewed by Ryosuke Niwa.
1001
1002         * WebProcess/WebPage/mac/WebPageMac.mm:
1003         (WebKit::WebPage::performDictionaryLookupAtLocation):
1004         Instead of using the current paragraph as the context (which stops at
1005         line breaks), get a few lines before and after the point, so that the
1006         context contains at least four lines in each direction.
1007         This way the Dictionary will be able to look up things that extend past
1008         the current line.
1009
1010 2013-05-24  Anders Carlsson  <andersca@apple.com>
1011
1012         Intermittent crash when typing in Address Bar
1013         https://bugs.webkit.org/show_bug.cgi?id=116728
1014         <rdar://problem/13976781>
1015
1016         Reviewed by Sam Weinig.
1017
1018         If a web process connection has been removed from the storage manager because we disconnected it
1019         since there were no more active pages associated with the web process, we'll fail to find it here
1020         so just return early instead of crashing.
1021
1022         * UIProcess/Storage/StorageManager.cpp:
1023         (WebKit::StorageManager::destroyStorageMap):
1024
1025 2013-05-24  Andreas Kling  <akling@apple.com>
1026
1027         Typing in Safari's unified field causes unnecessary web content repaints.
1028         <http://webkit.org/b/116703>
1029
1030         Reviewed by Andy Estes.
1031
1032         * WebProcess/WebPage/FindController.cpp:
1033         (WebKit::FindController::countStringMatches):
1034
1035             Call WebCore::Page::countMatchesForText() instead of markAllMatchesForText(). If the search string
1036             is found inside the page content, the renderer containing that text will no longer be repainted.
1037
1038 2013-05-23  Ryuan Choi  <ryuan.choi@samsung.com>
1039
1040         [WK2][EFL][QT] Build break after r150610
1041         https://bugs.webkit.org/show_bug.cgi?id=116699
1042
1043         Reviewed by Csaba Osztrogonác.
1044
1045         * UIProcess/WebPageProxy.cpp:
1046         (WebKit::WebPageProxy::findPlugin): Initialized pluginProcessSandboxPolicy.
1047
1048 2013-05-23  Anders Carlsson  <andersca@apple.com>
1049
1050         Shim Flash plug-in to allow its updater to run
1051         https://bugs.webkit.org/show_bug.cgi?id=116692
1052         <rdar://problem/13938510>
1053
1054         Reviewed by Sam Weinig.
1055
1056         * PluginProcess/PluginProcess.h:
1057         * PluginProcess/mac/PluginProcessMac.mm:
1058         (WebKit::replacedNSConcreteTask_launch):
1059         (WebKit::initializeCocoaOverrides):
1060         Patch -[NSConcreteTask launch] to call PluginProcess::launchProcess.
1061
1062         (WebKit::PluginProcess::launchProcess):
1063         Send a LaunchProcess message to the UI process.
1064
1065         * UIProcess/Plugins/PluginProcessProxy.cpp:
1066         * UIProcess/Plugins/PluginProcessProxy.h:
1067         Remove PluginProcessProxy::didReceiveMessage.
1068
1069         (PluginProcessProxy):
1070         * UIProcess/Plugins/PluginProcessProxy.messages.in:
1071         Add LaunchProcess message and remove LegacyReceiver attribute.
1072
1073         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1074         (WebKit::isFlashUpdater):
1075         Helper function to determine whether the process is the flash updater.
1076
1077         (WebKit::shouldLaunchProcess):
1078         Return whether we should launch this process.
1079
1080         (WebKit::PluginProcessProxy::launchProcess):
1081         Determine if we should launch this process and then do so.
1082
1083 2013-05-23  Anders Carlsson  <andersca@apple.com>
1084
1085         Don't run all plug-ins unsandboxed
1086         https://bugs.webkit.org/show_bug.cgi?id=116690
1087         <rdar://problem/13975569>
1088
1089         Reviewed by Jessie Berlin.
1090
1091         Remove debugging code.
1092
1093         * UIProcess/WebPageProxy.cpp:
1094         (WebKit::WebPageProxy::findPlugin):
1095
1096 2013-05-23  Anders Carlsson  <andersca@apple.com>
1097
1098         Crash in convertMainResourceLoadToDownload when downloading file by option-return
1099         https://bugs.webkit.org/show_bug.cgi?id=116451
1100
1101         Reviewed by Andreas Kling.
1102
1103         If the main resource loader is null, create a new download instead since there's no existing loader to convert.
1104
1105         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1106         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
1107         * WebProcess/WebPage/WebFrame.cpp:
1108         (WebKit::WebFrame::convertMainResourceLoadToDownload):
1109
1110 2013-05-22  Alexey Proskuryakov  <ap@apple.com>
1111
1112         <rdar://problem/13849260> Sandbox violations reading .CFUserTextEncoding
1113
1114         Reviewed by Dan Bernstein.
1115
1116         * WebProcess/com.apple.WebProcess.sb.in: Allow this.
1117
1118 2013-05-23  Gavin Barraclough  <barraclough@apple.com>
1119
1120         Move posix_spawn onto a zero delay timer
1121         https://bugs.webkit.org/show_bug.cgi?id=116682
1122
1123         Reviewed by Anders Carlson.
1124
1125         <rdar://problem/13973468>
1126
1127         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1128         (ReexecInfo):
1129             - struct to hold info from the XPC message.
1130         (WebKit::reexec):
1131             - moved call to posix_spawn out to this helper.
1132         (WebKit::reexecCallBack):
1133             - calls reexec.
1134         (WebKit::XPCServiceEventHandler):
1135             - removed call to posix_spawn; schedule a call to reexecCallBack.
1136
1137 2013-05-23  Csaba Osztrogonác  <ossy@webkit.org>
1138
1139         [cmake] Fix generating-forwarding-headers rule after r150460
1140         https://bugs.webkit.org/show_bug.cgi?id=116659
1141
1142         Reviewed by Christophe Dumez.
1143
1144         * CMakeLists.txt: Typo fix.
1145
1146 2013-05-23  Anton Obzhirov  <a.obzhirov@samsung.com>
1147
1148         [GTK] Remote Web Inspector sometimes won't serve any content
1149         https://bugs.webkit.org/show_bug.cgi?id=116225
1150
1151         Reviewed by Gustavo Noronha Silva.
1152
1153         Added an option to use environment variable to set up path to
1154         inspector server files. Implementation is similar to InspectorClientGtk
1155         implementation.
1156
1157         * UIProcess/InspectorServer/WebInspectorServer.h:
1158         (WebInspectorServer):
1159         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
1160         (WebKit::WebInspectorServer::platformResourceForPath):
1161         (WebKit::WebInspectorServer::inspectorServerFilesPath):
1162         (WebKit):
1163
1164 2013-05-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1165
1166         [EFL][WK2] Use WK2 C API in ewk_view_pagination_mode_set|get
1167         https://bugs.webkit.org/show_bug.cgi?id=116657
1168
1169         Reviewed by Christophe Dumez.
1170
1171         WKPageGet|SetPaginationMode APIs is present in WK2 C APIs. So, we need to use them for
1172         ewk_view_pagination_mode_set|get.
1173
1174         Besides we don't need to use WebCore namespace anymore.
1175
1176         * UIProcess/API/efl/ewk_view.cpp:
1177         (ewk_view_pagination_mode_set):
1178         (ewk_view_pagination_mode_get):
1179
1180 2013-05-23  Roland Takacs  <rtakacs@inf.u-szeged.hu>
1181
1182         Support frame instrumentation for coordinated graphics
1183         https://bugs.webkit.org/show_bug.cgi?id=115260
1184
1185         Reviewed by Andreas Kling.
1186
1187         Enabled supportsFrameInstrumentation on ports that use coordinated graphics
1188         by calling didBeginFrame().
1189
1190         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1191         (WebKit::WebInspectorClient::supportsFrameInstrumentation):
1192         (WebKit):
1193         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1194         (WebInspectorClient):
1195         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1196         (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
1197
1198 2013-05-22  Dean Jackson  <dino@apple.com>
1199
1200         Don't snapshot plugins that can't be snapshotted
1201         https://bugs.webkit.org/show_bug.cgi?id=116490
1202
1203         Reviewed by Tim Horton.
1204
1205         Some plugins, such as QuickTime, don't support snapshotting. We're
1206         planning on another way to capture snapshots, but in the meantime make
1207         sure that they don't fail to initialise because they were told to
1208         not use accelerated rendering.
1209
1210         Expose a new message on the plugins so that they can tell the PluginView
1211         if they support snapshotting or not.
1212
1213         * PluginProcess/PluginControllerProxy.cpp:
1214         (WebKit::PluginControllerProxy::supportsSnapshotting): New method.
1215         * PluginProcess/PluginControllerProxy.h: Ditto.
1216         * PluginProcess/PluginControllerProxy.messages.in: Message signature.
1217
1218         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add supportsSnapshotting.
1219         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Ditto.
1220         * WebProcess/Plugins/Plugin.h: Ditto - pure virtual here.
1221
1222         * WebProcess/Plugins/PluginProxy.cpp:
1223         (WebKit::PluginProxy::supportsSnapshotting): Send the message to the plugin process and return the results.
1224         * WebProcess/Plugins/PluginProxy.h:
1225
1226         * WebProcess/Plugins/PluginView.cpp:
1227         (WebKit::PluginView::didInitializePlugin): If the snapshotting plugin has a layer, make
1228             sure to add it to the tree.
1229         (WebKit::PluginView::isAcceleratedCompositingEnabled): Snapshotting plugins can use
1230             accelerated compositing, just like normal plugins.
1231         (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin doesn't allow snapshotting,
1232             immediately restart it.
1233
1234 2013-05-22  Anders Carlsson  <andersca@apple.com>
1235
1236         Fix crash when closing a page that's trying to access session storage
1237         https://bugs.webkit.org/show_bug.cgi?id=116634
1238         <rdar://problem/13904054>
1239
1240         Reviewed by Geoffrey Garen.
1241
1242         It is possible for the StorageManager to get messages from a web page that has already been closed by the UI process.
1243         If that happens, just ignore the messages.
1244
1245         * UIProcess/Storage/StorageManager.cpp:
1246         (WebKit::StorageManager::createSessionStorageMap):
1247         (WebKit::StorageManager::getValues):
1248         (WebKit::StorageManager::setItem):
1249         (WebKit::StorageManager::removeItem):
1250         (WebKit::StorageManager::clear):
1251         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
1252
1253 2013-05-22  Alexey Proskuryakov  <ap@apple.com>
1254
1255         Crashes in NetworkProcess due to incorrect private browsing session tracking
1256         https://bugs.webkit.org/show_bug.cgi?id=116628
1257
1258         Reviewed by Brady Eidson.
1259
1260         The current API for private browsing makes it extremely difficult to track sessions.
1261         Private browsing is enabled via WKPreferences, but the session is shared, so it
1262         has to be maintained while there is any chance that any page group anywhere still
1263         needs it.
1264
1265         This patch fixes some of the issues, but ultimately, I think that we'll just need
1266         to deprecate and replace the API.
1267
1268         * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::storageSession):
1269         There are valid scenarios where privateBrowsingEnabled is true, but there is no
1270         private browsing session. Handle that without crashing, although this unfortunately
1271         means that it will be harder to spot logic errors when using a wrong session.
1272         (WebKit::NetworkConnectionToWebProcess::registerBlobURL): Removed an obsolete FIXME.
1273
1274         * NetworkProcess/mac/RemoteNetworkingContext.h: Changed privateBrowsingSession()
1275         to return a pointer, as no caller could know when it was safe to call it.
1276
1277         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1278         (WebKit::RemoteNetworkingContext::storageSession): Handle the case where private
1279         browsing session is unexpectedly missing without crashing.
1280         (WebKit::RemoteNetworkingContext::privateBrowsingSession): Changed to return a pointer.
1281
1282         * UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess):
1283         Actually initialize privateBrowsingEnabled creation parameter. It would be very
1284         difficult to figure out 100% reliably whether NetworkProcess needs a private browsing
1285         session with the current API, but for existing clients, looking at
1286         m_privateBrowsingEnterCount is good enough. Certainly better than not initializing.
1287
1288         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1289         (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Added a FIXME.
1290
1291 2013-05-22  Tim Horton  <timothy_horton@apple.com>
1292
1293         [wk2] Should be able to make tiled WKViews clip to the view's exposed rect without using autolayout
1294         https://bugs.webkit.org/show_bug.cgi?id=116625
1295         <rdar://problem/13962816>
1296
1297         Reviewed by Anders Carlsson.
1298
1299         The two modes are not dependent; it should be possible to enable
1300         clips-to-exposed-rect without using autolayout. This enables apps to
1301         make very large tiled WKViews that don't create tiles for the whole
1302         area of the view (and also disables scrolling, since that is currently
1303         incompatible with clipping to the exposed rect).
1304
1305         * UIProcess/API/mac/WKView.mm:
1306         (-[WKView setFrameSize:]):
1307         (-[WKView _updateWindowAndViewFrames]):
1308         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1309         (-[WKView enableFrameSizeUpdates]):
1310         (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
1311         Rename _expandsToFitContentViaAutoLayout to _clipsToVisibleRect for accuracy.
1312
1313         (-[WKView setMinimumWidthForAutoLayout:]):
1314         Factor clips-to-sisible-rect toggle out into setShouldClipToVisibleRect.
1315
1316         (-[WKView shouldClipToVisibleRect]):
1317         (-[WKView setShouldClipToVisibleRect:]):
1318         Allow setting clips-to-visible-rect without autolayout.
1319
1320         * UIProcess/API/mac/WKViewPrivate.h:
1321         Add shouldClipToVisibleRect property.
1322
1323 2013-05-22  Alexey Proskuryakov  <ap@apple.com>
1324
1325         Remove unused private browsing override support
1326         <rdar://problem/11969491>
1327
1328         Rubber-stamped by Sam Weinig.
1329
1330         Private browsing override is unused, and it complicates tracking of private
1331         browsing sessions in UI process (in fact, it doesn't plug into this tracking at all,
1332         so we would just assert if we used the API).
1333
1334         * Shared/WebPageCreationParameters.cpp:
1335         (WebKit::WebPageCreationParameters::encode):
1336         (WebKit::WebPageCreationParameters::decode):
1337         * Shared/WebPageCreationParameters.h:
1338         * UIProcess/API/C/WKPage.cpp:
1339         * UIProcess/API/C/WKPagePrivate.h:
1340         * UIProcess/WebPageProxy.cpp:
1341         (WebKit::WebPageProxy::WebPageProxy):
1342         (WebKit::WebPageProxy::creationParameters):
1343         * UIProcess/WebPageProxy.h:
1344         * WebProcess/WebPage/WebPage.cpp:
1345         (WebKit::WebPage::WebPage):
1346         (WebKit::WebPage::updatePreferences):
1347         * WebProcess/WebPage/WebPage.h:
1348         * WebProcess/WebPage/WebPage.messages.in:
1349
1350 2013-05-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1351
1352         [EFL][WK2] Change Ewk_Context_Menu_Item's parent menu to raw pointer
1353         https://bugs.webkit.org/show_bug.cgi?id=116549
1354
1355         Reviewed by Christophe Dumez.
1356
1357         A context menu item should have only a pointer to parent menu instead
1358         of owning parent menu.
1359
1360         * UIProcess/API/efl/ewk_context_menu_item.cpp:
1361         (EwkContextMenuItem::EwkContextMenuItem):
1362         * UIProcess/API/efl/ewk_context_menu_item_private.h:
1363         (EwkContextMenuItem::create):
1364         (EwkContextMenuItem::parentMenu):
1365         (EwkContextMenuItem):
1366
1367 2013-05-22  Csaba Osztrogonác  <ossy@webkit.org>
1368
1369         [Qt][WK2] Unreviewed buildfix after r150484.
1370
1371         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
1372         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
1373
1374 2013-05-21  Andreas Kling  <akling@apple.com>
1375
1376         REGRESSION(r150491): WebKit2.CloseThenTerminate asserting below WebContext::disconnectProcess().
1377         <http://webkit.org/b/116588>
1378
1379         Reviewed by Sam Weinig.
1380
1381         Do an early return from WebProcessProxy::requestTermination() if there is no child process
1382         connection to terminate.
1383
1384         * UIProcess/WebProcessProxy.cpp:
1385         (WebKit::WebProcessProxy::requestTermination):
1386
1387 2013-05-21  Mark Rowe  <mrowe@apple.com>
1388
1389         <rdar://problem/13915556> Sluggish scrolling in web content
1390
1391         Reviewed by Gavin Barraclough.
1392
1393         * Shared/mac/ChildProcessMac.mm:
1394         (WebKit::ChildProcess::setProcessSuppressionEnabled): When process suppression is disabled, low latency is important.
1395
1396 2013-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1397
1398         Fix build break after r150484
1399
1400         Unreviewed, fix build break on EFL, GTK.
1401
1402         * UIProcess/Plugins/PluginInfoStore.cpp:
1403         (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
1404         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1405         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
1406
1407 2013-05-21  Andreas Kling  <akling@apple.com>
1408
1409         PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
1410         <http://webkit.org/b/116464>
1411         <rdar://problem/10103795>
1412
1413         Reviewed by Anders Carlsson.
1414
1415         Simplify the web process sacrifice ritual. Instead of murderizing the process when its last tab closes,
1416         just shut down the CoreIPC connection from the UI process. The web process, upon noticing this,
1417         will start a 10 second watchdog timer, and if it hasn't shut down by the time it fires, well, it'll shut down.
1418
1419         (WebKit::WebProcessProxy::removeWebPage):
1420
1421             When the last page is removed from a WebProcessProxy, disconnect the process so that it'll die off
1422             eventually, even if the WebPage::Close message never gets properly handled.
1423
1424         * Shared/ChildProcessProxy.h:
1425         * Shared/ChildProcessProxy.cpp:
1426         (WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded):
1427
1428             Added a helper to abort any in-progress launch of a new web process. Otherwise we'll have a race
1429             where the exiting web process may get re-used for a new tab.
1430
1431         * UIProcess/WebProcessProxy.h:
1432         * UIProcess/WebProcessProxy.cpp:
1433         (WebKit::WebProcessProxy::WebProcessProxy):
1434         (WebKit::WebProcessProxy::enableSuddenTermination):
1435         (WebKit::WebProcessProxy::disableSuddenTermination):
1436
1437             Remove WebProcessProxy's sudden termination counter. The web process will do what it needs in
1438             response to the WebPage::Close message. We still forward these calls to NSProcessInfo on Mac though.
1439
1440 2013-05-21  Anders Carlsson  <andersca@apple.com>
1441
1442         Fix build.
1443
1444         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1445         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
1446         Stop using lambdas :(
1447
1448 2013-05-21  Anders Carlsson  <andersca@apple.com>
1449
1450         Provide an API to run sandboxed plug-ins outside of their sandbox
1451         https://bugs.webkit.org/show_bug.cgi?id=116578
1452
1453         Reviewed by Andreas Kling.
1454
1455         * Platform/CoreIPC/HandleMessage.h:
1456         (CoreIPC::callMemberFunction):
1457         Add new overload.
1458
1459         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
1460         (WebKit::PluginProcessMainDelegate::getExtraInitializationData):
1461         Handle "disable-sandbox".
1462
1463         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
1464         (WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):
1465         Handle "disable-sandbox".
1466         
1467         * PluginProcess/PluginProcess.h:
1468         Move Type to PluginProcessAttributes and remove hash traits for type.
1469         
1470         * PluginProcess/mac/PluginProcessMac.mm:
1471         (WebKit::PluginProcess::platformInitializePluginProcess):
1472         Update for new type name.
1473
1474         (WebKit::PluginProcess::initializeSandbox):
1475         Return early if the sandbox is disabled.
1476
1477         * Shared/Plugins/Netscape/PluginInformation.cpp:
1478         (WebKit::getPluginModuleInformation):
1479         PluginInfoStore::policyForPlugin has been renamed to PluginInfoStore::defaultLoadPolicyForPlugin.
1480
1481         * Shared/Plugins/PluginModuleInfo.h:
1482         Add PluginModuleLoadUnsandboxed.
1483
1484         * Shared/Plugins/PluginProcessAttributes.h: Added.
1485         Add new header with various plug-in process attributes.
1486
1487         * Shared/Plugins/PluginProcessCreationParameters.h:
1488         Change type enum.
1489
1490         * UIProcess/API/C/WKAPICast.h:
1491         (WebKit::toWKPluginLoadPolicy):
1492         (WebKit::toPluginModuleLoadPolicy):
1493         Handle the unsandboxed enum.
1494
1495         * UIProcess/API/C/WKPage.h:
1496         Add kWKPluginLoadPolicyLoadUnsandboxed.
1497
1498         * UIProcess/Plugins/PluginInfoStore.h:
1499         Rename policyForPlugin to defaultLoadPolicyForPlugin.
1500
1501         * UIProcess/Plugins/PluginProcessManager.cpp:
1502         (WebKit::PluginProcessManager::pluginProcessToken):
1503         Add new helper function for getting a token given plug-in attributes.
1504
1505         (WebKit::PluginProcessManager::getPluginProcessConnection):
1506         This now takes a pluginProcessToken.
1507
1508         (WebKit::PluginProcessManager::getSitesWithData):
1509         Make sure to call pluginProcessToken.
1510
1511         (WebKit::PluginProcessManager::clearSiteData):
1512         Ditto.
1513
1514         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
1515         This now takes a token.
1516
1517         * UIProcess/Plugins/PluginProcessProxy.cpp:
1518         (WebKit::PluginProcessProxy::create):
1519         (WebKit::PluginProcessProxy::PluginProcessProxy):
1520         Pass the PluginProcessAttributes as well as the plug-in process token.
1521
1522         (WebKit::PluginProcessProxy::getLaunchOptions):
1523         Pass the plug-in process attributes to platformGetLaunchOptions.
1524
1525         (WebKit::PluginProcessProxy::didClose):
1526         Pass the token to PluginProcessCrashed.
1527
1528         (WebKit::PluginProcessProxy::didFinishLaunching):
1529         Update for type change.
1530
1531         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1532         (WebKit::shouldBlockPlugin):
1533         (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
1534         Rename policyForPlugin to defaultLoadPolicyForPlugin.
1535
1536         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1537         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
1538         Set the "disable-sandbox" data if needed.
1539
1540         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1541         (WebKit::PluginProcessProxy::openPluginPreferencePane):
1542         Get the module info from m_pluginProcessAttributes.
1543
1544         * UIProcess/WebPageProxy.cpp:
1545         (WebKit::WebPageProxy::findPlugin):
1546         This now returns a token.
1547
1548         * UIProcess/WebPageProxy.messages.in:
1549         FindPlugin now returns a token instead of the path.
1550
1551         * UIProcess/WebProcessProxy.cpp:
1552         (WebKit::WebProcessProxy::getPluginProcessConnection):
1553         Pass the token to the plug-in process manager.
1554
1555         * UIProcess/WebProcessProxy.messages.in:
1556         This now takes a token.
1557
1558         * WebKit2.xcodeproj/project.pbxproj:
1559         Add new files.
1560
1561         * WebProcess/Plugins/PluginProcessConnection.cpp:
1562         (WebKit::PluginProcessConnection::PluginProcessConnection):
1563         This now takes a token.
1564
1565         * WebProcess/Plugins/PluginProcessConnection.h:
1566         (WebKit::PluginProcessConnection::create):
1567         (WebKit::PluginProcessConnection::pluginProcessToken):
1568         Create this with a token instead of a path and process type.
1569
1570         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1571         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
1572         This now takes a token.
1573
1574         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
1575         Ditto.
1576
1577         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
1578         PluginProcessCrashed now takes a token.
1579
1580         * WebProcess/Plugins/PluginProxy.cpp:
1581         (WebKit::PluginProxy::create):
1582         (WebKit::PluginProxy::PluginProxy):
1583         These now take tokens.
1584
1585         (WebKit::PluginProxy::initialize):
1586         Pass the token when getting the connection.
1587
1588         * WebProcess/WebPage/WebPage.cpp:
1589         (WebKit::WebPage::createPlugin):
1590         Get the token from the UI process and pass it to the PluginProxy.
1591
1592         (WebKit::WebPage::canPluginHandleResponse):
1593         Update now that FindPlugin returns a token.
1594
1595 2013-05-21  Martin Robinson  <mrobinson@igalia.com>
1596
1597         [GTK] [CMake] Add support for building WebKit2
1598         https://bugs.webkit.org/show_bug.cgi?id=116372
1599
1600         Reviewed by Gustavo Noronha Silva.
1601
1602         * CMakeLists.txt: Add common directories to the common include list and remove UIProcess/PageViewportController.cpp
1603         from the source list since it should only be compiled for WebKitEFL. Instead of taking explicit forwarding-header
1604         dependencies accept a list of "tacked-on" dependencies for WebKit2. This allows GTK+ to specify its extra fake
1605         installed header step.
1606         * PlatformEfl.cmake: Remove common include directories and add UIProcess/PageViewportController.cpp to the source
1607         list. Fix up forwarding header dependencies now.
1608         * PlatformGTK.cmake: Added.
1609         * config.h: First check whether this is a CMake build and then fall back to the autotools header.
1610
1611 2013-05-21  Zan Dobersek  <zdobersek@igalia.com>
1612
1613         [GTK] Compile everything in C++11 mode
1614         https://bugs.webkit.org/show_bug.cgi?id=116452
1615
1616         Reviewed by Anders Carlsson.
1617
1618         * GNUmakefile.am: Remove the -std=c++11 flags from the various CPPFLAGS lists, the mode is now specified
1619         by default for all the C++ source code in SetupCompilerFlags.m4.
1620
1621 2013-05-21  Jessie Berlin  <jberlin@apple.com>
1622
1623         Expose a way to know when forms are added to a page or when form controls are added to a form
1624         in the injected bundle
1625         https://bugs.webkit.org/show_bug.cgi?id=116334
1626
1627         Reviewed by Alexey Proskuryakov.
1628
1629         Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
1630
1631         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1632         Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
1633
1634         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1635         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
1636         Pass the message along to the client if the client has a handler.
1637         (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
1638         Ditto.
1639         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
1640
1641         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1642         (WebKit::WebChromeClient::didAssociateFormControls):
1643         Tell the injected bundle form client for the page.
1644         (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
1645         Ditto.
1646         * WebProcess/WebCoreSupport/WebChromeClient.h:
1647
1648 2013-05-21  Michael Brüning  <michael.bruning@digia.com>
1649
1650         [Qt][WK2] Fix Mountain Lion builds after r150277.
1651         https://bugs.webkit.org/show_bug.cgi?id=116467
1652
1653         Reviewed by Jocelyn Turcotte.
1654
1655         * Shared/API/c/WKBase.h:
1656
1657 2013-05-20  Lucas Forschler  <lforschler@apple.com>
1658
1659     Rollout r150398.
1660
1661 2013-05-20  Zan Dobersek  <zdobersek@igalia.com>
1662
1663         [GTK] Fix concatenations of string literals that are not C++11-compliant
1664         https://bugs.webkit.org/show_bug.cgi?id=116449
1665
1666         Reviewed by Martin Robinson.
1667
1668         Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This
1669         is simply a matter of separating the string and the string literal that are being concatenated with a space.
1670
1671         * UIProcess/API/gtk/tests/TestPrinting.cpp:
1672         (testPrintOperationPrint):
1673         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1674         (methodCallCallback):
1675
1676 2013-05-20  Commit Queue  <commit-queue@webkit.org>
1677
1678         Unreviewed, rolling out r150384.
1679         http://trac.webkit.org/changeset/150384
1680         https://bugs.webkit.org/show_bug.cgi?id=116513
1681
1682         Not ready for primetime. (Requested by kling on #webkit).
1683
1684         * UIProcess/WebProcessProxy.cpp:
1685         (WebKit::WebProcessProxy::WebProcessProxy):
1686         (WebKit::WebProcessProxy::removeWebPage):
1687         * UIProcess/WebProcessProxy.h:
1688         (WebProcessProxy):
1689
1690 2013-05-20  Martin Robinson  <mrobinson@igalia.com>
1691
1692         Remove SharedMemoryGtk.cpp
1693         https://bugs.webkit.org/show_bug.cgi?id=116457
1694
1695         Reviewed by Andreas Kling.
1696
1697         * Platform/gtk/SharedMemoryGtk.cpp: Removed.
1698
1699 2013-05-20  Jessie Berlin  <jberlin@apple.com>
1700
1701         Expose a way to know when forms are added to a page or when form controls are added to a form
1702         in the injected bundle
1703         https://bugs.webkit.org/show_bug.cgi?id=116334
1704
1705         Reviewed by Alexey Proskuryakov.
1706
1707         Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
1708
1709         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1710         Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
1711
1712         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1713         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
1714         Pass the message along to the client if the client has a handler.
1715         (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
1716         Ditto.
1717         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
1718
1719         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1720         (WebKit::WebChromeClient::didAssociateFormControls):
1721         Tell the injected bundle form client for the page.
1722         (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
1723         Ditto.
1724         * WebProcess/WebCoreSupport/WebChromeClient.h:
1725
1726 2013-05-20  Tim Horton  <timothy_horton@apple.com>
1727
1728         Clients should have a way to extend rendering suppression
1729         https://bugs.webkit.org/show_bug.cgi?id=116463
1730         <rdar://problem/13738496>
1731
1732         Reviewed by Andy Estes.
1733
1734         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1735         (WKBundlePageExtendIncrementalRenderingSuppression): Added.
1736         (WKBundlePageStopExtendingIncrementalRenderingSuppression): Added.
1737         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1738         These only have any effect if SuppressesIncrementalRendering is also enabled.
1739
1740         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1741         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1742         Inform the FrameView if there are any outstanding rendering suppression tokens.
1743
1744         * WebProcess/WebPage/WebPage.cpp:
1745         (WebKit::WebPage::WebPage):
1746         (WebKit::WebPage::extendIncrementalRenderingSuppression):
1747         Return the next available rendering suppression token.
1748         Add it to the list of active tokens.
1749         Inform the FrameView that we want to suppress rendering.
1750
1751         (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
1752         Remove the given token from the list of active tokens.
1753         Un-suppress rendering if appropriate.
1754
1755         * WebProcess/WebPage/WebPage.h:
1756         (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
1757         Return if there are any active rendering suppression tokens.
1758
1759 2013-05-20  Andreas Kling  <akling@apple.com>
1760
1761         PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
1762         <http://webkit.org/b/116464>
1763         <rdar://problem/10103795>
1764
1765         Reviewed by Anders Carlsson.
1766
1767         Give the web process a 10 second chance to exit nicely after closing the last tab belonging to it.
1768         This code only runs if there was something on the page (e.g an unload/beforeunload event handler)
1769         preventing the UI process from killing it right away.
1770
1771         * UIProcess/WebProcessProxy.cpp:
1772         (WebKit::WebProcessProxy::WebProcessProxy):
1773         (WebKit::WebProcessProxy::removeWebPage):
1774         (WebKit::WebProcessProxy::forcefulTerminationTimerFired):
1775         * UIProcess/WebProcessProxy.h:
1776         (WebProcessProxy):
1777
1778 2013-05-20  Anders Carlsson  <andersca@apple.com>
1779
1780         Add helper function for converting a KeyedCodingValue to a CFTypeRef
1781         https://bugs.webkit.org/show_bug.cgi?id=116461
1782
1783         Reviewed by Tim Horton.
1784
1785         * Shared/cf/KeyedCodingValueCF.cpp: Added.
1786         * Shared/cf/KeyedCodingValueCF.h: Added.
1787
1788         * WebKit2.xcodeproj/project.pbxproj:
1789
1790 2013-05-20  Anders Carlsson  <andersca@apple.com>
1791
1792         Begin stubbing out a new KeyedEncoder class
1793         https://bugs.webkit.org/show_bug.cgi?id=116456
1794
1795         Reviewed by Sam Weinig.
1796
1797         This class (and it's coming counterpart, KeyedDecoder) will be used for serializing
1798         object graphs to a tree-like structure of dictionaries. It is up to individual ports to
1799         serialize them further (for example, on Mac they could be serialized to CFPropertyList objects).
1800         
1801         This will be used for serializing session storage state but I hope that it can be used for serializing
1802         back forward state in the future as our current implementation of back forward state serialization
1803         is fragile and depends on our IPC layer's binary encoding(!).
1804         
1805         * Shared/KeyedCodingValue.h: Added.
1806         * Shared/KeyedEncoder.cpp: Added.
1807         * Shared/KeyedEncoder.h: Added.
1808
1809         * WebKit2.xcodeproj/project.pbxproj:
1810
1811 2013-05-19  Sam Weinig  <sam@webkit.org>
1812
1813         Bump WKBundlePageLoaderClient version number so as not to break some clients
1814         https://bugs.webkit.org/show_bug.cgi?id=116426
1815
1816         Reviewed by Anders Carlsson.
1817
1818         * Shared/APIClientTraits.cpp:
1819         (WebKit):
1820         * Shared/APIClientTraits.h:
1821         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1822
1823 2013-05-19  Anders Carlsson  <andersca@apple.com>
1824
1825         Remove link prerendering code
1826         https://bugs.webkit.org/show_bug.cgi?id=116415
1827
1828         Reviewed by Darin Adler.
1829
1830         This code was only used by Chromium and is dead now.
1831
1832         * Configurations/FeatureDefines.xcconfig:
1833
1834 2013-05-18  Anders Carlsson  <andersca@apple.com>
1835
1836         Simplify the StorageArea setter functions
1837         https://bugs.webkit.org/show_bug.cgi?id=116402
1838
1839         Reviewed by Sam Weinig.
1840
1841         Remove security checking code that lives in Storage now.
1842
1843         * WebProcess/Storage/StorageAreaImpl.cpp:
1844         (WebKit::StorageAreaImpl::setItem):
1845         (WebKit::StorageAreaImpl::removeItem):
1846         (WebKit::StorageAreaImpl::clear):
1847         * WebProcess/Storage/StorageAreaImpl.h:
1848
1849 2013-05-18  Sam Weinig  <sam@webkit.org>
1850
1851         Fix some builds.
1852
1853         * UIProcess/API/mac/WKTypeRefWrapper.mm:
1854
1855 2013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1856
1857         REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
1858         https://bugs.webkit.org/show_bug.cgi?id=116389
1859
1860         Reviewed by Martin Robinson.
1861
1862         There's no longer WebKeyValueStorageManager in the web process
1863         after r150305.
1864
1865         * WebProcess/WebPage/WebPageGroupProxy.cpp:
1866         (WebKit::WebPageGroupProxy::WebPageGroupProxy):
1867
1868 2013-05-17  Sam Weinig  <sam@webkit.org>
1869
1870         Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
1871         https://bugs.webkit.org/show_bug.cgi?id=116345
1872
1873         Reviewed by Anders Carlsson.
1874
1875         In order to efficiently send a WKImageRef to another process when using the
1876         Objective-C WKConnection (or other user data messages), we need a way to encode
1877         WKTypeRefs in the objective-c object graph. Thus was born WKTypeRefWrapper.
1878
1879         * Shared/mac/ObjCObjectGraphCoders.mm:
1880         (WebKit::typeFromObject):
1881         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
1882         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
1883         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
1884         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
1885         * UIProcess/API/mac/WKTypeRefWrapper.h: Added.
1886         * UIProcess/API/mac/WKTypeRefWrapper.mm: Added.
1887         (-[WKTypeRefWrapper initWithObject:]):
1888         (-[WKTypeRefWrapper object]):
1889         * WebKit2.xcodeproj/project.pbxproj:
1890
1891 2013-05-18  Anders Carlsson  <andersca@apple.com>
1892
1893         Simplify StorageArea getter functions
1894         https://bugs.webkit.org/show_bug.cgi?id=116399
1895
1896         Reviewed by Sam Weinig.
1897
1898         Remove security and private browsing checks.
1899
1900         * WebProcess/Storage/StorageAreaImpl.cpp:
1901         (WebKit::StorageAreaImpl::key):
1902         (WebKit::StorageAreaImpl::item):
1903         (WebKit::StorageAreaImpl::contains):
1904         * WebProcess/Storage/StorageAreaImpl.h:
1905
1906 2013-05-18  Patrick Gansterer  <paroga@webkit.org>
1907
1908         [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
1909         https://bugs.webkit.org/show_bug.cgi?id=114554
1910
1911         Reviewed by Gyuyoung Kim.
1912
1913         Using variables as target names is very uncommon in CMake.
1914         The usual way to specify the name of the resulting binary
1915         is to set the OUTPUT_NAME target property.
1916
1917         * CMakeLists.txt:
1918         * PlatformEfl.cmake:
1919         * efl/ewebkit2.pc.in:
1920
1921 2013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1922
1923         [GTK] Move GTK port off legacy clipboard
1924         https://bugs.webkit.org/show_bug.cgi?id=116221
1925
1926         Reviewed by Martin Robinson.
1927
1928         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
1929         include.
1930         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
1931         (WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
1932         Pasteboard associated to the given Clipboard.
1933
1934 2013-05-18  Jinwoo Song  <jinwoo7.song@samsung.com>
1935
1936         [EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
1937         https://bugs.webkit.org/show_bug.cgi?id=116386
1938
1939         Reviewed by Christophe Dumez.
1940
1941         Refactor the API to handle 'const char*' parameter in right way and
1942         enable the unit test which was disabled in r136230 as there is no assertion now.
1943
1944         * UIProcess/API/efl/EwkView.cpp:
1945         (EwkView::setCustomTextEncodingName):
1946         * UIProcess/API/efl/EwkView.h:
1947         (EwkView::customTextEncodingName):
1948         (EwkView):
1949         * UIProcess/API/efl/ewk_view.cpp:
1950         (ewk_view_custom_encoding_set):
1951         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1952         (TEST_F):
1953
1954 2013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
1955
1956         [CMake] Unreviewed speculative build fix after r150305 and r150306.
1957
1958         * CMakeLists.txt:
1959
1960 2013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
1961
1962         [Qt][WK2] Unreviewed build fix after r150305 and r150306.
1963
1964         * DerivedSources.pri:
1965         * Target.pri:
1966
1967 2013-05-18  Zan Dobersek  <zdobersek@igalia.com>
1968
1969         Unreviewed build fix for the GTK port after r150305 and r150306.
1970
1971         * GNUmakefile.list.am:
1972
1973 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
1974
1975         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
1976         https://bugs.webkit.org/show_bug.cgi?id=116359
1977
1978         The condition was accidentally negated, fixing.
1979
1980         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1981         (WebKit::WebPlatformStrategies::isAvailable):
1982
1983 2013-05-17  Gavin Barraclough  <barraclough@apple.com>
1984
1985         Only allow 1 WebProcess to hold a PageCache
1986         https://bugs.webkit.org/show_bug.cgi?id=116368
1987         <rdar://problem/13392600>
1988
1989         Reviewed by Geoff Garen & Anders Carlson.
1990
1991         * UIProcess/WebContext.cpp:
1992         (WebKit::WebContext::WebContext):
1993         (WebKit::WebContext::processDidSaveToPageCache):
1994         (WebKit):
1995         (WebKit::WebContext::disconnectProcess):
1996         * UIProcess/WebContext.h:
1997             - Added m_processWithPageCache, only allow one process to keep a PageCache.
1998         (WebContext):
1999         * UIProcess/WebPageProxy.cpp:
2000         (WebKit::WebPageProxy::didSaveToPageCache):
2001         (WebKit):
2002         * UIProcess/WebPageProxy.h:
2003         (WebPageProxy):
2004         * UIProcess/WebPageProxy.messages.in:
2005             - Forward didSaveToPageCache to the WebProcessProxy.
2006         * UIProcess/WebProcessProxy.cpp:
2007         (WebKit::WebProcessProxy::addBackForwardItem):
2008         (WebKit::WebProcessProxy::didSaveToPageCache):
2009         (WebKit):
2010         (WebKit::WebProcessProxy::releasePageCache):
2011             - Forward releasePageCache to the WebProcess.
2012             - Forward didSaveToPageCache to the WebContext.
2013         * UIProcess/WebProcessProxy.h:
2014         (WebProcessProxy):
2015         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2016         (WebKit::WebFrameLoaderClient::didSaveToPageCache):
2017             - Forward didSaveToPageCache to the WebPageProxy.
2018         * WebProcess/WebProcess.cpp:
2019         (WebKit::WebProcess::releasePageCache):
2020         (WebKit):
2021         * WebProcess/WebProcess.h:
2022         (WebProcess):
2023         * WebProcess/WebProcess.messages.in:
2024             - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.
2025
2026 2013-05-17  Anders Carlsson  <andersca@apple.com>
2027
2028         Share code between WebKit1 and WebKit2 StorageArea subclasses
2029         https://bugs.webkit.org/show_bug.cgi?id=116367
2030
2031         Reviewed by Andreas Kling.
2032
2033         * WebProcess/Storage/StorageAreaImpl.cpp:
2034         (WebKit::StorageAreaImpl::length):
2035         Remove code that's now in Storage::length.
2036
2037         (WebKit::StorageAreaImpl::storageType):
2038         Make this a virtual member function.
2039
2040         * WebProcess/Storage/StorageAreaImpl.h:
2041
2042 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
2043
2044         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
2045         https://bugs.webkit.org/show_bug.cgi?id=116359
2046
2047         Reviewed by Anders Carlsson.
2048
2049         Implement SharedWorkerStrategy::isAvailable.
2050
2051         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2052         (WebKit::WebPlatformStrategies::isAvailable):
2053         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2054
2055 2013-05-17  Beth Dakin  <bdakin@apple.com>
2056
2057         Headers and footers will sometimes disappear and re-appear during page loads
2058         https://bugs.webkit.org/show_bug.cgi?id=116336
2059         -and corresponding-
2060         <rdar://problem/13886753>
2061
2062         Reviewed by Simon Fraser.
2063
2064         This patch changes the WebCore-level API that WebKit uses to create a banner. 
2065         Specifically this patch removes FrameView::setWantsLayerForHeader(), which created 
2066         and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the 
2067         layer has been created, it will call back into WK2 via ChromeClient. This will 
2068         allow WebCore to re-create the header/footer layers as needed whenever the 
2069         FrameView/RenderLayerCompositor have been destroyed and recreated.
2070
2071         Send the layers over to PageBanner.
2072         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2073         (WebKit::WebChromeClient::didAddHeaderLayer):
2074         (WebKit::WebChromeClient::didAddFooterLayer):
2075         * WebProcess/WebCoreSupport/WebChromeClient.h:
2076         (WebChromeClient):
2077
2078         PageBanner::addToPage() now does much less work since it can’t get the parent 
2079         layer right away. The work that is used to do once it had the parent layer is now 
2080         performed in didAddParentLayer()
2081         * WebProcess/WebPage/PageBanner.cpp:
2082         (WebKit::PageBanner::didAddParentLayer):
2083         * WebProcess/WebPage/PageBanner.h:
2084         * WebProcess/WebPage/mac/PageBannerMac.mm:
2085         (WebKit::PageBanner::addToPage):
2086         (WebKit::PageBanner::didAddParentLayer):
2087
2088 2013-05-17  Anders Carlsson  <andersca@apple.com>
2089
2090         Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager
2091         https://bugs.webkit.org/show_bug.cgi?id=116361
2092
2093         Reviewed by Andreas Kling.
2094
2095         There's nothing proxy about this class anymore!
2096
2097         * UIProcess/API/C/WKAPICast.h:
2098         * UIProcess/API/C/WKContext.cpp:
2099         * UIProcess/API/C/WKKeyValueStorageManager.cpp:
2100         * UIProcess/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp.
2101         * UIProcess/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h.
2102         * WebKit2.xcodeproj/project.pbxproj:
2103
2104 2013-05-17  Anders Carlsson  <andersca@apple.com>
2105
2106         Remove dead local storage code
2107         https://bugs.webkit.org/show_bug.cgi?id=116360
2108
2109         Reviewed by Beth Dakin.
2110
2111         Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process.
2112
2113         * DerivedSources.make:
2114         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
2115         (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
2116         (WebKit):
2117         (WebKit::didGetKeyValueStorageOrigins):
2118         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
2119         * UIProcess/WebKeyValueStorageManagerProxy.h:
2120         (WebKeyValueStorageManagerProxy):
2121         * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Removed.
2122         * WebKit2.xcodeproj/project.pbxproj:
2123         * WebProcess/Storage/WebKeyValueStorageManager.cpp: Removed.
2124         * WebProcess/Storage/WebKeyValueStorageManager.h: Removed.
2125         * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Removed.
2126         * WebProcess/WebPage/WebPage.cpp:
2127         (WebKit::WebPage::updatePreferences):
2128         * WebProcess/WebProcess.cpp:
2129         (WebKit::WebProcess::WebProcess):
2130
2131 2013-05-17  Anders Carlsson  <andersca@apple.com>
2132
2133         Use the UI process storage manager for deleting local storage data
2134         https://bugs.webkit.org/show_bug.cgi?id=116358
2135         <rdar://problem/13852829>
2136
2137         Reviewed by Andreas Kling.
2138
2139         * Shared/WebSecurityOrigin.h:
2140         (WebKit::WebSecurityOrigin::protocol):
2141         (WebKit::WebSecurityOrigin::host):
2142         (WebKit::WebSecurityOrigin::databaseIdentifier):
2143         (WebKit::WebSecurityOrigin::toString):
2144         Remove unneeded consts.
2145
2146         (WebKit::WebSecurityOrigin::securityOrigin):
2147         Add getter.
2148
2149         * UIProcess/Storage/LocalStorageDatabase.cpp:
2150         (WebKit::LocalStorageDatabase::close):
2151         deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin.
2152
2153         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2154         (WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
2155         Rename since this is no longer used only for empty databases.
2156
2157         (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
2158         Loop over the tracker database and delete all database files.
2159
2160         * UIProcess/Storage/StorageManager.cpp:
2161         (WebKit::StorageManager::StorageArea::clear):
2162         Clear the map, close the database and tell all event listeners to reset their caches.
2163
2164         (WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin):
2165         Loop over all storage areas and call clear on those matching the security origin.
2166
2167         (WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas):
2168         Loop over all storage areas and call clear on them.
2169         
2170         (WebKit::StorageManager::deleteEntriesForOrigin):
2171         Dispatch deleteEntriesForOriginInternal on the work queue.
2172
2173         (WebKit::StorageManager::deleteAllEntries):
2174         Dispatch deleteAllEntriesInternal on the work queue.
2175
2176         (WebKit::StorageManager::deleteEntriesForOriginInternal):
2177         Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database.
2178
2179         (WebKit::StorageManager::deleteAllEntriesInternal):
2180         Call clearAllStorageAreas on all local storage namespaces and then delete all databases.
2181
2182         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
2183         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
2184         Call out to the storage manager.
2185
2186         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
2187         Ditto.
2188
2189         * WebProcess/Storage/StorageAreaMap.cpp:
2190         (WebKit::StorageAreaMap::clearCache):
2191         Call resetValues which will null out the storage map.
2192
2193         * WebProcess/Storage/StorageAreaMap.messages.in:
2194         Add ClearCache message.
2195
2196 2013-05-17  Anders Carlsson  <andersca@apple.com>
2197
2198         Only import local storage items from the database once
2199         https://bugs.webkit.org/show_bug.cgi?id=116354
2200
2201         Reviewed by Andreas Kling.
2202
2203         We import items from the database over and over, when we only want to do it once. Use a 
2204         boolean flag to guard against doing it more than once. 
2205         
2206         Also, rename importItemsFromDatabase to openDatabaseAndImportItemsIfNeeded since it now
2207         also opens the database (even if it doesn't need to import anything). This is preparation for an
2208         upcoming patch where the database will be closed when it's cleared.
2209
2210         * UIProcess/Storage/StorageManager.cpp:
2211         (StorageManager::StorageArea):
2212         (WebKit::StorageManager::StorageArea::StorageArea):
2213         (WebKit::StorageManager::StorageArea::setItem):
2214         (WebKit::StorageManager::StorageArea::removeItem):
2215         (WebKit::StorageManager::StorageArea::clear):
2216         (WebKit::StorageManager::StorageArea::items):
2217         (WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):
2218
2219 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
2220
2221         <rdar://problem/13869765> Lion: Crashes in islcCanLoadInputMethodFromBundleID.
2222
2223         Reviewed by Anders Carlsson.
2224
2225         * WebProcess/com.apple.WebProcess.sb.in: Allow text input directories.
2226
2227 2013-05-17  Anders Carlsson  <andersca@apple.com>
2228
2229         WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
2230         https://bugs.webkit.org/show_bug.cgi?id=116346
2231         <rdar://problem/13852829>
2232
2233         Reviewed by Andreas Kling.
2234
2235         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2236         (WebKit::LocalStorageDatabaseTracker::origins):
2237         New helper function to return all the tracked origins.
2238
2239         * UIProcess/Storage/StorageManager.cpp:
2240         (WebKit::StorageManager::StorageManager):
2241         Initialize the UTF-8 encoding.
2242
2243         (WebKit::StorageManager::getOrigins):
2244         Call getOriginsInternal on our queue.
2245
2246         (WebKit::callCallbackFunction):
2247         Helper function for calling the callback function.
2248
2249         (WebKit::StorageManager::getOriginsInternal):
2250         Get the origins and make sure we call the callback with the given function dispatcher.
2251
2252         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
2253         (WebKit::didGetKeyValueStorageOriginsCallback):
2254         Construct the array of WebSecurityOrigin objects and call the callback.
2255
2256         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
2257         Call StorageManager::getOrigins.
2258
2259 2013-05-16  Alexey Proskuryakov  <ap@apple.com>
2260
2261         Text input is largely broken when there are subframes loading
2262         http://bugs.webkit.org/show_bug.cgi?id=59121
2263         <rdar://problem/9320468>
2264
2265         Reviewed by Darin Adler.
2266
2267         * UIProcess/PageClient.h:
2268         * UIProcess/API/mac/PageClientImpl.h:
2269         * UIProcess/API/mac/PageClientImpl.mm:
2270         (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state
2271         updating into a separate function. Removed updateTextInputState, we don't need
2272         to go through PageClient to implement its behavior at all.
2273         (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME.
2274
2275         * UIProcess/API/mac/WKView.mm:
2276         * UIProcess/API/mac/WKViewInternal.h:
2277         Removed _updateTextInputStateIncludingSecureInputState.
2278
2279         * UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps
2280         to figure out that WebCore decided to close a composition. The issue is that WebCore
2281         would first send an EditorState with hasComposition set to false, and with
2282         shouldIgnoreCompositionSelectionChange set to true, at which time we forget the
2283         previous m_editorState, but can't make any decisions based on this transient state.
2284         We should find a way to simplify this (maybe not send these updates with
2285         shouldIgnoreCompositionSelectionChange at all?)
2286
2287         * UIProcess/WebPageProxy.cpp:
2288         (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition.
2289         (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition
2290         when any frame commits a load, which made no sense (along with surrounding code,
2291         which will unfortunately survive longer).
2292         (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here,
2293         we don't need to go to WKView.mm to implement this logic. Figure out when WebCore
2294         discards a composition, and notify input methods about this.
2295         (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition.
2296         Added some FIXMEs.
2297
2298 2013-05-17  Manuel Rego Casasnovas  <rego@igalia.com>
2299
2300         [WK2] Add support for selectTrailingWhitespaceEnabled setting
2301         https://bugs.webkit.org/show_bug.cgi?id=112426
2302
2303         Reviewed by Ryosuke Niwa.
2304
2305         * Shared/WebPreferencesStore.h:
2306         (WebKit): Add macro for selectTrailingWhitespaceEnabled.
2307         * UIProcess/API/C/WKPreferences.cpp:
2308         (WKPreferencesSetSelectTrailingWhitespaceEnabled):
2309         (WKPreferencesGetSelectTrailingWhitespaceEnabled): Implement methods
2310         using the new setting.
2311         * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
2312         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2313         (WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): Implement
2314         method delegating in WebPage.
2315         * WebProcess/WebPage/WebPage.cpp:
2316         (WebKit::WebPage::updatePreferences): Set
2317         selectTrailingWhitespaceEnabled setting.
2318         (WebKit::WebPage::setSmartInsertDeleteEnabled): Set
2319         selectTrailingWhitespaceEnabled as they are mutually exclusive.
2320         (WebKit):
2321         (WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method
2322         using settings.
2323         (WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method
2324         using settings and set smartInsertDeleteEnabled as they are mutually
2325         exclusive.
2326         * WebProcess/WebPage/WebPage.h:
2327         (WebPage): Add new methods headers.
2328
2329 2013-05-17  Brady Eidson  <beidson@apple.com>
2330
2331         Fix crash introduced by http://trac.webkit.org/changeset/150282
2332         Followup to https://bugs.webkit.org/show_bug.cgi?id=116253
2333
2334         Reviewed by Andreas Kling.
2335
2336         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2337         (WebKit::WebChromeClient::focusedFrameChanged): Frame might be null.
2338
2339 2013-05-17  Brady Eidson  <beidson@apple.com>
2340
2341         Replace WebFrameLoaderClient static_casts with a function that might return null.
2342         https://bugs.webkit.org/show_bug.cgi?id=116253
2343
2344         The general approach here is:
2345         1 - Introduce a toWebFrameLoaderClient() function to convert FrameLoaderClients, and that may return null.
2346         2 - Adopt toWebFrameLoaderClient() everywhere we used to do a direct static_cast<WebFrameLoaderClient*>
2347         3 - In functions that already support a "return 0" scenario, a failed cast results in a return 0.
2348         4 - In other functions that assume no failure to get the WebFrameLoaderClient, add an ASSERT.
2349
2350         Reviewed by Alexey Proskuryakov.
2351
2352         Add the utility function to cast:
2353         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2354         (WebKit::toWebFrameLoaderClient):
2355
2356         Adopt it everywhere:
2357         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
2358         (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
2359
2360         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2361         (WebKit::InjectedBundleNodeHandle::documentFrame):
2362         (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
2363         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
2364
2365         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2366         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2367
2368         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
2369         (WebKit::InjectedBundleDOMWindowExtension::frame):
2370
2371         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
2372         (WebKit::InjectedBundleHitTestResult::frame):
2373         (WebKit::InjectedBundleHitTestResult::targetFrame):
2374
2375         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2376         (WebKit::WebResourceLoadScheduler::scheduleLoad):
2377
2378         * WebProcess/Plugins/PluginView.cpp:
2379         (WebKit::webPage):
2380         (WebKit::PluginView::performFrameLoadURLRequest):
2381
2382         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2383         (WebKit::WebChromeClient::focusedNodeChanged):
2384         (WebKit::WebChromeClient::focusedFrameChanged):
2385         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
2386         (WebKit::WebChromeClient::runJavaScriptAlert):
2387         (WebKit::WebChromeClient::runJavaScriptConfirm):
2388         (WebKit::WebChromeClient::runJavaScriptPrompt):
2389         (WebKit::WebChromeClient::print):
2390         (WebKit::WebChromeClient::exceededDatabaseQuota):
2391         (WebKit::WebChromeClient::runOpenPanel):
2392
2393         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2394         (WebKit::WebEditorClient::textFieldDidBeginEditing):
2395         (WebKit::WebEditorClient::textFieldDidEndEditing):
2396         (WebKit::WebEditorClient::textDidChangeInTextField):
2397         (WebKit::WebEditorClient::textDidChangeInTextArea):
2398         (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
2399         (WebKit::WebEditorClient::textWillBeDeletedInTextField):
2400
2401         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2402         (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
2403         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
2404
2405         * WebProcess/WebPage/WebFrame.cpp:
2406         (WebKit::WebFrame::contentsAsString):
2407         (WebKit::WebFrame::parentFrame):
2408         (WebKit::WebFrame::childFrames):
2409         (WebKit::WebFrame::frameForContext):
2410         (WebKit::WebFrameFilter::shouldIncludeSubframe):
2411
2412         * WebProcess/WebPage/WebPage.cpp:
2413         (WebKit::WebPage::mainFrameHasCustomRepresentation):
2414
2415 2013-05-17  Sam Weinig  <sam@webkit.org>
2416
2417         Expose new load-with-userData API to Objective-C
2418         https://bugs.webkit.org/show_bug.cgi?id=116335
2419
2420         Reviewed by Anders Carlsson.
2421
2422         - Adds loadRequest:userData:, loadFileURL:restrictToFilesWithin:userData:, loadHTMLString:baseURL:userData:
2423           loadData:MIMEType:textEncodingName:baseURL:, and loadData:MIMEType:textEncodingName:baseURL:userData.
2424         - Adds a WKObjCTypeWrapperRef (which is a ObjCObjectGraph under the covers) to allow the userData to be unwrapped
2425           in the injected bundles willLoadURLRequest and willLoadDataRequest C-SPI callbacks.
2426
2427         * Shared/API/c/WKBase.h:
2428         * Shared/API/c/WKSharedAPICast.h:
2429         * Shared/API/c/mac/WKBaseMac.h: Added.
2430         * Shared/API/c/mac/WKObjCTypeWrapperRef.h: Added.
2431         * Shared/API/c/mac/WKObjCTypeWrapperRef.mm: Added.
2432         (WKObjCTypeWrapperGetTypeID):
2433         (WKObjCTypeWrapperCreate):
2434         (WKObjCTypeWrapperGetObject):
2435         * UIProcess/API/mac/WKBrowsingContextController.h:
2436         * UIProcess/API/mac/WKBrowsingContextController.mm:
2437         (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
2438         (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
2439         (-[WKBrowsingContextController loadRequest:]):
2440         (-[WKBrowsingContextController loadRequest:userData:]):
2441         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
2442         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
2443         (-[WKBrowsingContextController loadHTMLString:baseURL:]):
2444         (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
2445         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:]):
2446         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
2447         * WebKit2.xcodeproj/project.pbxproj:
2448
2449 2013-05-17  Sam Weinig  <sam@webkit.org>
2450
2451         Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs
2452         https://bugs.webkit.org/show_bug.cgi?id=116325
2453
2454         Reviewed by Simon Fraser.
2455
2456         * UIProcess/API/C/WKPage.cpp:
2457         (WKPageLoadData):
2458         (WKPageLoadDataWithUserData):
2459         Add new SPI.
2460
2461         * UIProcess/API/C/WKPage.h:
2462         * UIProcess/WebPageProxy.cpp:
2463         (WebKit::WebPageProxy::loadData):
2464         * UIProcess/WebPageProxy.h:
2465         Pipe through to the WebProcess.
2466
2467         * WebProcess/WebPage/WebPage.h:
2468         * WebProcess/WebPage/WebPage.messages.in:
2469         * WebProcess/WebPage/WebPage.cpp:
2470         (WebKit::WebPage::loadDataImpl):
2471         (WebKit::WebPage::loadData):
2472         (WebKit::WebPage::loadHTMLString):
2473         (WebKit::WebPage::loadAlternateHTMLString):
2474         (WebKit::WebPage::loadPlainTextString):
2475         (WebKit::WebPage::loadWebArchiveData):
2476         Rename existing loadData function to loadDataImpl (I hate it) to avoid overload conflict
2477         from IPC magic.
2478
2479
2480 2013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2481
2482         [EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
2483         https://bugs.webkit.org/show_bug.cgi?id=116321
2484
2485         Reviewed by Christophe Dumez.
2486
2487         During sub menu creation, after initializing m_parentMenu, parentMenu
2488         pointer became null which may cause segfaults. This patch fixes it by
2489         using m_parentMenu.
2490
2491         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2492         (EwkContextMenuItem::EwkContextMenuItem):
2493
2494 2013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2495
2496         [EFL][WK2] Support sub menu in ewk context menus
2497         https://bugs.webkit.org/show_bug.cgi?id=114729
2498
2499         Reviewed by Christophe Dumez.
2500
2501         Added submenu support in EwkContextMenu and an API function to receive
2502         Ewk_Context_Menu from submenu context menu item. A test case was added
2503         for new API function.
2504         EwkContextMenu is now an EwkObject allowing multiple instances of submenu
2505         to be used in different submenu type context menu items.
2506
2507         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2508         (EwkContextMenuItem::EwkContextMenuItem):
2509         (ewk_context_menu_item_new):
2510         (ewk_context_menu_item_parent_menu_get):
2511         (ewk_context_menu_item_submenu_get):
2512         * UIProcess/API/efl/ewk_context_menu_item.h:
2513         * UIProcess/API/efl/ewk_context_menu_item_private.h:
2514         (EwkContextMenuItem::create):
2515         (EwkContextMenuItem::parentMenu):
2516         (EwkContextMenuItem::subMenu):
2517         (EwkContextMenuItem):
2518         * UIProcess/API/efl/ewk_context_menu_private.h:
2519         (EwkContextMenu::ewkView):
2520         (EwkContextMenu):
2521         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
2522         (showContextMenu):
2523
2524 2013-05-17  Zoltan Arvai  <zarvai@inf.u-szeged.hu>, Ádám Kallai  <kadam@inf.u-szeged.hu>
2525
2526         [Qt] Unreviewed build fix.
2527
2528         Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest.
2529
2530         * WebProcess/qt/QtBuiltinBundlePage.cpp:
2531         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2532
2533 2013-05-16  Beth Dakin  <bdakin@apple.com>
2534
2535         Remove WKBundlePageGetHeaderLayer/Footer SPI
2536         https://bugs.webkit.org/show_bug.cgi?id=116254
2537
2538         Reviewed by Benjamin Poulain.
2539
2540         We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only 
2541         recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer.
2542
2543         * WebKit2.xcodeproj/project.pbxproj:
2544         * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Removed.
2545         * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Removed.
2546         * WebProcess/WebPage/WebPage.h:
2547         (WebPage):
2548         * WebProcess/WebPage/mac/WebPageMac.mm:
2549         (WebKit):
2550         (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
2551
2552 2013-05-14  Sam Weinig  <sam@webkit.org>
2553
2554         Add variants of the loading APIs that take user data and a way for the injected bundle to find out about them
2555         https://bugs.webkit.org/show_bug.cgi?id=116132
2556
2557         Reviewed by Anders Carlsson.
2558
2559         Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions,
2560         willLoadURLRequest and willLoadDataRequest to let the bundle access them.
2561
2562         Adds WebKit2WillLoadTest.* API tests.
2563
2564         * UIProcess/API/C/WKPage.cpp:
2565         (WKPageLoadURLWithUserData):
2566         (WKPageLoadURLRequestWithUserData):
2567         (WKPageLoadFile):
2568         (WKPageLoadFileWithUserData):
2569         (WKPageLoadHTMLStringWithUserData):
2570         (WKPageLoadAlternateHTMLStringWithUserData):
2571         (WKPageLoadPlainTextStringWithUserData):
2572         (WKPageLoadWebArchiveDataWithUserData):
2573         * UIProcess/API/C/WKPage.h:
2574         * UIProcess/WebPageProxy.cpp:
2575         * UIProcess/WebPageProxy.h:
2576         (WebPageProxy):
2577         * WebKit2.xcodeproj/project.pbxproj:
2578         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2579         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2580         (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
2581         (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
2582         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2583         (WebCore):
2584         (InjectedBundlePageLoaderClient):
2585         * WebProcess/WebPage/WebPage.cpp:
2586         * WebProcess/WebPage/WebPage.h:
2587         * WebProcess/WebPage/WebPage.messages.in:
2588
2589 2013-05-16  Manuel Rego Casasnovas  <rego@igalia.com>
2590
2591         [GTK] Fix memory leak in WebKitBackForwardList
2592         https://bugs.webkit.org/show_bug.cgi?id=116222
2593
2594         Reviewed by Carlos Garcia Campos.
2595
2596         Due to the use of leakRef() the ImmutableArray is not being released
2597         automatically. Adding a local variable in the methods to make sure that
2598         the ImmutableArray is freed.
2599
2600         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
2601         (webkit_back_forward_list_get_back_list_with_limit): Add local variable
2602         RefPtr and pass the ImmutableArray to
2603         WebKitBackForwardList::webkitBackForwardListCreateList() using
2604         RefPtr::get().
2605         (webkit_back_forward_list_get_forward_list_with_limit): Ditto.
2606
2607 2013-05-16  Commit Queue  <commit-queue@webkit.org>
2608
2609         Unreviewed, rolling out r150034.
2610         http://trac.webkit.org/changeset/150034
2611         https://bugs.webkit.org/show_bug.cgi?id=116257
2612
2613         This work around doesn't work due to another bug NSUndoManager
2614         has (Requested by rniwa on #webkit).
2615
2616         * UIProcess/API/mac/PageClientImpl.mm:
2617         (WebKit::PageClientImpl::registerEditCommand):
2618
2619 2013-05-16  Tim Horton  <timothy_horton@apple.com>
2620
2621         PDFPlugins don't load when plugins are disabled, but they should
2622         https://bugs.webkit.org/show_bug.cgi?id=75790
2623         <rdar://problem/11650197>
2624
2625         Reviewed by Anders Carlsson.
2626
2627         Support loading "application" plug-ins even if plug-ins are explicitly disabled.
2628
2629         Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
2630         be loaded even if plug-ins are disabled.
2631
2632         * Platform/CoreIPC/HandleMessage.h:
2633         (CoreIPC::callMemberFunction):
2634         Add a 5-argument, 3-reply version of callMemberFunction.
2635
2636         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2637         (WebKit::NetscapePluginModule::getPluginInfo):
2638         NPAPI plug-ins are not application plug-ins.
2639
2640         * Shared/WebCoreArgumentCoders.cpp:
2641         (CoreIPC::::encode):
2642         (CoreIPC::::decode):
2643         Encode/decode the new isApplicationPlugin field on PluginInfo.
2644
2645         * UIProcess/Plugins/PluginInfoStore.cpp:
2646         (WebKit::PluginInfoStore::findPluginForMIMEType):
2647         (WebKit::PluginInfoStore::findPluginForExtension):
2648         (WebKit::PluginInfoStore::findPlugin):
2649         * UIProcess/Plugins/PluginInfoStore.h:
2650         (PluginInfoStore):
2651         Give PluginInfoStore's findPlugin method and its private helper
2652         methods an argument allowing them to only match application plug-ins.
2653
2654         (WebKit::WebPageProxy::findPlugin):
2655         * UIProcess/WebPageProxy.h:
2656         (WebPageProxy):
2657         * UIProcess/WebPageProxy.messages.in:
2658         Add an argument allowing findPlugin to restrict its search to only application plug-ins.
2659
2660         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2661         (WebKit::WebFrameLoaderClient::objectContentType):
2662         Previously, this caller depended on pluginData() returning null if
2663         plug-ins were disabled. Since that is no longer the case, we have to
2664         check if we can use plug-ins, and otherwise ignore non-application-plug-ins.
2665
2666         * WebProcess/WebPage/WebPage.cpp:
2667         (WebKit::WebPage::createPlugin):
2668         When going to search for a plug-in, ask subframeLoader whether or not
2669         it's OK to use ordinary non-application plug-ins, and pass that information
2670         on to the UIProcess when performing the search.
2671
2672         (WebKit::WebPage::canPluginHandleResponse): Ditto.
2673         (WebKit::WebPage::canShowMIMEType):
2674         Ensure that canShowMIMEType returns true if we have an application plug-in
2675         that can display a particular MIME type, even if we're not allowed to load plug-ins.
2676
2677 2013-05-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2678
2679         [EFL][WK2] Make Ewk_Context_Menu Ewk_Object
2680         https://bugs.webkit.org/show_bug.cgi?id=116097
2681
2682         Reviewed by Gyuyoung Kim.
2683
2684         Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
2685         object can be shared between different modules.
2686
2687         * UIProcess/API/efl/EwkView.cpp:
2688         (EwkView::showContextMenu):
2689         * UIProcess/API/efl/EwkView.h:
2690         (EwkView):
2691         * UIProcess/API/efl/ewk_context_menu.cpp:
2692         (EwkContextMenu::appendItem):
2693         (EwkContextMenu::removeItem):
2694         (ewk_context_menu_new):
2695         (ewk_context_menu_new_with_items):
2696         (ewk_context_menu_item_append):
2697         (ewk_context_menu_item_remove):
2698         (ewk_context_menu_hide):
2699         (ewk_context_menu_items_get):
2700         (ewk_context_menu_item_select):
2701         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2702         (EwkContextMenuItem::EwkContextMenuItem):
2703         (ewk_context_menu_item_new_with_submenu):
2704         * UIProcess/API/efl/ewk_context_menu_item_private.h:
2705         (EwkContextMenuItem):
2706         * UIProcess/API/efl/ewk_context_menu_private.h:
2707         (EwkContextMenu):
2708         (EwkContextMenu::create):
2709         * UIProcess/API/efl/ewk_defines.h:
2710
2711 2013-05-16  Andreas Kling  <akling@apple.com>
2712
2713         Page::chrome() should return a reference.
2714         <http://webkit.org/b/116185>
2715
2716         Reviewed by Anders Carlsson.
2717
2718 2013-05-16  Brady Eidson  <beidson@apple.com>
2719
2720         svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
2721         <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917
2722
2723         Reviewed by Sam Weinig.
2724
2725         * NetworkProcess/SchedulableLoader.cpp:
2726         (WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or
2727           that the client cannot be asked for credentials.
2728
2729         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2730         (WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage
2731           if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
2732           available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
2733           a frame and page ID or that the client won’t be asked for credentials.
2734
2735 2013-05-16  Timothy Hatcher  <timothy@apple.com>
2736
2737         Make the Find Banner in Safari work again with the docked Web Inspector.
2738
2739         https://webkit.org/b/116182
2740         rdar://problem/13857423
2741
2742         Reviewed by Benjamin Poulain.
2743
2744         * UIProcess/mac/WebInspectorProxyMac.mm:
2745         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
2746         (WebKit::WebInspectorProxy::platformDetach):
2747         Preserve the top position of the inspected view so banners in Safari still work.
2748
2749 2013-05-16  Tim Horton  <timothy_horton@apple.com>
2750
2751         [wk2] didGetImageForFindMatch can return a null image
2752         https://bugs.webkit.org/show_bug.cgi?id=116251
2753         <rdar://problem/13277246>
2754
2755         Reviewed by Simon Fraser.
2756
2757         Don't send didGetImageForFindMatch if we didn't get an image for
2758         the find match, which can happen if the selection is not visible.
2759
2760         * WebProcess/WebPage/FindController.cpp:
2761         (WebKit::FindController::getImageForFindMatch):
2762
2763 2013-05-16  Tim Horton  <timothy_horton@apple.com>
2764
2765         [wk2] Minimum layout width is lost if the WebProcess crashes
2766         https://bugs.webkit.org/show_bug.cgi?id=116202
2767         <rdar://problem/13202320>
2768
2769         Reviewed by Darin Adler.
2770
2771         Send the minimum layout width to the WebProcess upon initialization,
2772         so that crashed-and-restarted WebProcesses have the correct width.
2773
2774         * Shared/WebPageCreationParameters.cpp:
2775         (WebKit::WebPageCreationParameters::encode):
2776         (WebKit::WebPageCreationParameters::decode):
2777         * Shared/WebPageCreationParameters.h:
2778         (WebPageCreationParameters):
2779         Add minimumLayoutWidth WebPage creation parameter.
2780
2781         * UIProcess/WebPageProxy.cpp:
2782         (WebKit::WebPageProxy::creationParameters):
2783         Send the current minimumLayoutWidth to the WebPage when it's created.
2784
2785         (WebKit::WebPageProxy::setMinimumLayoutWidth):
2786         Store minimumLayoutWidth changes that come in while the WebProcess is
2787         not valid, so that the correct width is sent once it is restarted.
2788
2789         * WebProcess/WebPage/WebPage.cpp:
2790         (WebKit::WebPage::WebPage):
2791         Set minimumLayoutWidth to the value provided by our creation parameters.
2792
2793 2013-05-16  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2794
2795         [Win] Unreviewed buildfix after r150161.
2796
2797         'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
2798         because it is also defined in MS SDK 7.1 winioctl.h.
2799
2800         * UIProcess/InspectorServer/HTTPRequest.cpp:
2801         (WebKit::HTTPRequest::HTTPRequest):
2802
2803 2013-05-16  Andras Becsi  <andras.becsi@digia.com>
2804
2805         [WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard
2806         https://bugs.webkit.org/show_bug.cgi?id=116018
2807
2808         Rubber-stamped by Jocelyn Turcotte.
2809
2810         * Shared/Plugins/Netscape/PluginInformation.cpp:
2811         (WebKit::getPluginModuleInformation):
2812
2813 2013-05-15  Simon Cooper  <scooper@apple.com>
2814
2815         Enable printing in plugins
2816         https://bugs.webkit.org/show_bug.cgi?id=116201
2817         <rdar://problem/12347902>
2818
2819         Reviewed by Alexey Proskuryakov.
2820
2821         Add the printing entitlement so that legacy printing drivers can
2822         customize the print panel. Update the printing rules and enable them
2823         for the plugins.
2824
2825         * Configurations/PluginService.entitlements:
2826         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2827         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2828         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
2829         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
2830
2831 2013-05-15  Anders Carlsson  <andersca@apple.com>
2832
2833         Move HTTPRequest class to WebKit2
2834         https://bugs.webkit.org/show_bug.cgi?id=116192
2835
2836         Reviewed by Darin Adler.
2837
2838         Move HTTPRequest to WebKit2 and put it in the WebKit namespace.
2839
2840         * CMakeLists.txt:
2841         * GNUmakefile.list.am:
2842         * Target.pri:
2843         * UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp.
2844         * UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h.
2845         * UIProcess/InspectorServer/WebInspectorServer.cpp:
2846         * UIProcess/InspectorServer/WebInspectorServer.h:
2847         (WebInspectorServer):
2848         * UIProcess/InspectorServer/WebSocketServerClient.h:
2849         (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
2850         (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
2851         (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
2852         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
2853         * UIProcess/InspectorServer/WebSocketServerConnection.h:
2854         (WebKit):
2855         (WebSocketServerConnection):
2856
2857 2013-05-15  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2858
2859         [GTK] [WebKit2] enable displaying console.log messages to system console
2860         https://bugs.webkit.org/show_bug.cgi?id=115578
2861
2862         Reviewed by Martin Robinson.
2863
2864         Add a setting to enable/disable displaying of page messages to system
2865         console. Property is called enable-write-console-messages-to-stdout.
2866         Getter API function is
2867         webkit_settings_get_enable_write_console_messages_to_stdout
2868         Setter API function is
2869         webkit_settings_set_enable_write_console_messages_to_stdout
2870
2871         * UIProcess/API/gtk/WebKitSettings.cpp:
2872         (webKitSettingsSetProperty):
2873         (webKitSettingsGetProperty):
2874         (webkit_settings_class_init):
2875         (webkit_settings_get_enable_write_console_messages_to_stdout):
2876         (webkit_settings_set_enable_write_console_messages_to_stdout):
2877         * UIProcess/API/gtk/WebKitSettings.h:
2878         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2879         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2880         (testWebKitSettings):
2881
2882 2013-05-08  Gavin Barraclough  <barraclough@apple.com>
2883
2884         Process suppression should throttle scripted animations
2885         https://bugs.webkit.org/show_bug.cgi?id=115812
2886
2887         Reviewed by Simon Fraser.
2888
2889         <rdar://problem/13799726>
2890
2891         * WebProcess/WebPage/WebPage.cpp:
2892         (WebKit::WebPage::setThrottled):
2893         (WebKit):
2894         * WebProcess/WebPage/WebPage.h:
2895         (WebPage):
2896             - Added setThrottled, forwards to WebCore::Page.
2897         * WebProcess/WebProcess.cpp:
2898         (WebKit):
2899         (WebKit::WebProcess::setProcessSuppressionEnabled):
2900         * WebProcess/WebProcess.h:
2901         (WebProcess):
2902             - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
2903
2904 2013-05-15  Anders Carlsson  <andersca@apple.com>
2905
2906         WKPageGetPluginInformationDisplayNameKey doesn't return the right key
2907         https://bugs.webkit.org/show_bug.cgi?id=116188
2908
2909         Reviewed by Andreas Kling.
2910
2911         * UIProcess/API/C/WKPage.cpp:
2912         (WKPageGetPluginInformationDisplayNameKey):
2913
2914 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
2915
2916         More fixing after WebProcessShim renaming in r149074.
2917
2918         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
2919         (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
2920
2921 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
2922
2923         <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
2924         launching Safari
2925
2926         Reviewed by Anders Carlsson.
2927
2928         * WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
2929
2930 2013-05-13  Anders Carlsson  <andersca@apple.com>
2931
2932         Frame::editor() should return a reference
2933         https://bugs.webkit.org/show_bug.cgi?id=116037
2934
2935         Reviewed by Darin Adler.
2936
2937         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2938         (WebKit::WebContextMenuClient::searchWithGoogle):
2939         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2940         (WebKit::WebEditorClient::updateGlobalSelection):
2941         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2942         (WebKit::WebEditorClient::handleInputMethodKeydown):
2943         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2944         (WebKit::WebEditorClient::executePendingEditorCommands):
2945         (WebKit::WebEditorClient::handleKeyboardEvent):
2946         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
2947         (WebKit::WebContextMenuClient::searchWithGoogle):
2948         (WebKit::WebContextMenuClient::searchWithSpotlight):
2949         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2950         (WebKit::changeWordCase):
2951         * WebProcess/WebPage/WebFrame.cpp:
2952         (WebKit::WebFrame::selectionAsString):
2953         (WebKit::WebFrame::setTextDirection):
2954         * WebProcess/WebPage/WebPage.cpp:
2955         (WebKit::WebPage::editorState):
2956         (WebKit::WebPage::executeEditingCommand):
2957         (WebKit::WebPage::isEditingCommandEnabled):
2958         (WebKit::WebPage::validateCommand):
2959         (WebKit::WebPage::handleEditingKeyboardEvent):
2960         (WebKit::WebPage::advanceToNextMisspelling):
2961         (WebKit::WebPage::uppercaseWord):
2962         (WebKit::WebPage::lowercaseWord):
2963         (WebKit::WebPage::capitalizeWord):
2964         (WebKit::WebPage::replaceSelectionWithText):
2965         (WebKit::WebPage::handleAlternativeTextUIResult):
2966         (WebKit::WebPage::setCompositionForTesting):
2967         (WebKit::WebPage::hasCompositionForTesting):
2968         (WebKit::WebPage::confirmCompositionForTesting):
2969         (WebKit::WebPage::setComposition):
2970         (WebKit::WebPage::cancelComposition):
2971         * WebProcess/WebPage/efl/WebPageEfl.cpp:
2972         (WebKit::WebPage::confirmComposition):
2973         (WebKit::WebPage::setComposition):
2974         (WebKit::WebPage::cancelComposition):
2975         * WebProcess/WebPage/mac/WebPageMac.mm:
2976         (WebKit::WebPage::executeKeypressCommandsInternal):
2977         (WebKit::WebPage::handleEditingKeyboardEvent):
2978         (WebKit::WebPage::setComposition):
2979         (WebKit::WebPage::confirmComposition):
2980         (WebKit::WebPage::cancelComposition):
2981         (WebKit::WebPage::insertText):
2982         (WebKit::WebPage::insertDictatedText):
2983         (WebKit::WebPage::getMarkedRange):
2984         (WebKit::WebPage::firstRectForCharacterRange):
2985         (WebKit::WebPage::readSelectionFromPasteboard):
2986         (WebKit::WebPage::getStringSelectionForPasteboard):
2987         (WebKit::WebPage::getDataSelectionForPasteboard):
2988
2989 2013-05-15  Anders Carlsson  <andersca@apple.com>
2990
2991         Need a way for NPAPI plug-ins to open preference panes
2992         https://bugs.webkit.org/show_bug.cgi?id=116173
2993         <rdar://problem/13503848>
2994
2995         Reviewed by Sam Weinig.
2996
2997         * PluginProcess/PluginControllerProxy.h:
2998         Add openPluginPreferencePane().
2999
3000         * PluginProcess/mac/PluginControllerProxyMac.mm:
3001         (WebKit::PluginControllerProxy::openPluginPreferencePane):
3002         Send OpenPluginPreferencePane to the UI process.
3003
3004         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
3005         (WebKit::NetscapePluginModule::getPluginInfo):
3006         Get the preference pane path.
3007         
3008         * Shared/Plugins/PluginModuleInfo.h:
3009         Add preferencePanePath member variable.
3010
3011         * UIProcess/Plugins/PluginProcessProxy.h:
3012         Add openPluginPreferencePane message handler.
3013
3014         * UIProcess/Plugins/PluginProcessProxy.messages.in:
3015         ADd OpenPluginPreferencePane message.
3016
3017         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3018         (WebKit::PluginProcessProxy::openPluginPreferencePane):
3019         Get the path to the preference pane and use LS to open it.
3020
3021         * WebKit2.xcodeproj/project.pbxproj:
3022         Add new files.
3023
3024         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3025         (WebKit::NPN_GetValue):
3026         Handle WKNVPlugInContainer.
3027
3028         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3029         Add WKNVPlugInContainer member variable.
3030
3031         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3032         (WebKit::NetscapePlugin::openPluginPreferencePane):
3033         Call through to the plug-in controller.
3034
3035         (WebKit::NetscapePlugin::plugInContainer):
3036         Create a WKNPAPIPlugInContainer object if necessary.
3037
3038         (WebKit::NetscapePlugin::platformDestroy):
3039         Invalidate the WKNPAPIPlugInContainer object.
3040
3041         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:
3042         New file with the protocol definition.
3043
3044         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
3045         (-[WKNPAPIPlugInContainer dealloc]):
3046         Assert that the plug-in is null (that we've been invalidated).
3047
3048         (-[WKNPAPIPlugInContainer _invalidate]):
3049         Set the plug-in to null.
3050
3051         (-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
3052         Call through to the plug-in.
3053
3054         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:
3055         New file with the interface declaration for the object that implements the protocol.
3056
3057         * WebProcess/Plugins/PluginController.h:
3058         Add openPluginPreferencePane member function.
3059
3060         * WebProcess/Plugins/PluginView.cpp:
3061         (WebKit::PluginView::openPluginPreferencePane):
3062         Add stub; this should never be called since we always go through the UI process.
3063
3064 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
3065
3066         [WK2][Mac] Split resetTextInputState into two functions
3067         https://bugs.webkit.org/show_bug.cgi?id=116174
3068
3069         Reviewed by Anders Carlsson.
3070
3071         Splitting resetTextInputState into resetSecureInputState and
3072         notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
3073         won't be happening simultaneously.
3074
3075         * UIProcess/API/mac/PageClientImpl.h:
3076         * UIProcess/API/mac/PageClientImpl.mm:
3077         (WebKit::PageClientImpl::resetSecureInputState):
3078         (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
3079         * UIProcess/API/mac/WKView.mm:
3080         (-[WKView resignFirstResponder]):
3081         (-[WKView _resetSecureInputState]):
3082         (-[WKView _notifyInputContextAboutDiscardedComposition]):
3083         * UIProcess/API/mac/WKViewInternal.h:
3084         * UIProcess/PageClient.h:
3085         * UIProcess/WebPageProxy.cpp:
3086         (WebKit::WebPageProxy::didCommitLoadForFrame):
3087
3088 2013-05-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3089
3090         [GTK] Add padding to all public class structs for future expansion without breaking ABI
3091         https://bugs.webkit.org/show_bug.cgi?id=112565
3092
3093         Reviewed by Anders Carlsson.
3094
3095         Use 4 pointers for most of the classes that are unlikely to grow
3096         and 8 for WebKitWebView and WebKitWebContext.
3097
3098         * UIProcess/API/gtk/WebKitBackForwardList.h:
3099         (_WebKitBackForwardListClass):
3100         * UIProcess/API/gtk/WebKitBackForwardListItem.h:
3101         (_WebKitBackForwardListItemClass):
3102         * UIProcess/API/gtk/WebKitContextMenu.h:
3103         (_WebKitContextMenuClass):
3104         * UIProcess/API/gtk/WebKitContextMenuItem.h:
3105         (_WebKitContextMenuItemClass):
3106         * UIProcess/API/gtk/WebKitCookieManager.h:
3107         (_WebKitCookieManagerClass):
3108         * UIProcess/API/gtk/WebKitDownload.h:
3109         (_WebKitDownloadClass):
3110         * UIProcess/API/gtk/WebKitFaviconDatabase.h:
3111         (_WebKitFaviconDatabaseClass):
3112         * UIProcess/API/gtk/WebKitFileChooserRequest.h:
3113         (_WebKitFileChooserRequestClass):
3114         * UIProcess/API/gtk/WebKitFindController.h:
3115         (_WebKitFindControllerClass):
3116         * UIProcess/API/gtk/WebKitFormSubmissionRequest.h:
3117         (_WebKitFormSubmissionRequestClass):
3118         * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h:
3119         (_WebKitGeolocationPermissionRequestClass):
3120         * UIProcess/API/gtk/WebKitHitTestResult.h:
3121         (_WebKitHitTestResultClass):
3122         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
3123         (_WebKitNavigationPolicyDecisionClass):
3124         * UIProcess/API/gtk/WebKitPlugin.h:
3125         (_WebKitPluginClass):
3126         * UIProcess/API/gtk/WebKitPolicyDecision.h:
3127         (_WebKitPolicyDecisionClass):
3128         * UIProcess/API/gtk/WebKitPrintOperation.h:
3129         (_WebKitPrintOperationClass):
3130         * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
3131         (_WebKitResponsePolicyDecisionClass):
3132         * UIProcess/API/gtk/WebKitSecurityManager.h:
3133         (_WebKitSecurityManagerClass):
3134         * UIProcess/API/gtk/WebKitSettings.h:
3135         (_WebKitSettingsClass):
3136         * UIProcess/API/gtk/WebKitURIRequest.h:
3137         (_WebKitURIRequestClass):
3138         * UIProcess/API/gtk/WebKitURIResponse.h:
3139         (_WebKitURIResponseClass):
3140         * UIProcess/API/gtk/WebKitURISchemeRequest.h:
3141         (_WebKitURISchemeRequestClass):
3142         * UIProcess/API/gtk/WebKitWebContext.h:
3143         (_WebKitWebContextClass):
3144         * UIProcess/API/gtk/WebKitWebInspector.h:
3145         (_WebKitWebInspectorClass):
3146         * UIProcess/API/gtk/WebKitWebResource.h:
3147         (_WebKitWebResourceClass):
3148         * UIProcess/API/gtk/WebKitWebView.h:
3149         (_WebKitWebViewClass):
3150         * UIProcess/API/gtk/WebKitWebViewBase.h:
3151         (_WebKitWebViewBaseClass):
3152         * UIProcess/API/gtk/WebKitWebViewGroup.h:
3153         (_WebKitWebViewGroupClass):
3154         * UIProcess/API/gtk/WebKitWindowProperties.h:
3155         (_WebKitWindowPropertiesClass):
3156
3157 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3158
3159         Remove WTF_USE_PLATFORM_STRATEGIES
3160         https://bugs.webkit.org/show_bug.cgi?id=114431
3161
3162         Reviewed by Darin Adler.
3163
3164         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3165         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3166         * WebProcess/WebProcess.cpp:
3167         (WebKit::WebProcess::WebProcess):
3168
3169 2013-05-14  Simon Cooper  <scooper@apple.com>
3170
3171         Add a preference that can disable the fake SYSV SHM shim
3172         https://bugs.webkit.org/show_bug.cgi?id=116127
3173         <rdar://problem/13810524>
3174
3175         Reviewed by Alexey Proskuryakov.
3176
3177         * PluginProcess/mac/PluginProcessShim.mm:
3178         (WebKit::shim_disabled):
3179         (WebKit::shim_shmdt):
3180         (WebKit::shim_shmat):
3181         (WebKit::shim_shmget):
3182         (WebKit::shim_shmctl):
3183
3184 2013-05-14  Tim Horton  <timothy_horton@apple.com>
3185
3186         [wk2] Not updating tiled backing coverage when main frame scrollability changes
3187         https://bugs.webkit.org/show_bug.cgi?id=116123
3188         <rdar://problem/13836559>
3189
3190         Reviewed by Simon Fraser.
3191
3192         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3193         (TiledCoreAnimationDrawingArea):
3194         Add updateMainFrameClipsToExposedRect.
3195
3196         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3197         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3198         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3199         Remove m_clipsToExposedRect. We don't actually need it.
3200
3201         (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
3202         Call updateMainFrameClipsToExposedRect so that we can always update
3203         tiled backing coverage and can factor out our calls to setClipsToExposedRect.
3204
3205         (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
3206         Factor out setClipsToExposedRect calls to here, and also call
3207         FrameView::adjustTiledBackingCoverage so that the FrameView's tiled
3208         backing is informed to allow overdraw in the UI-process-scrolling case.
3209
3210         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
3211         Use updateMainFrameClipsToExposedRect.
3212
3213 2013-05-14  Alexey Proskuryakov  <ap@apple.com>
3214
3215         [Mac] Add a testing shim for secure event input functions
3216         https://bugs.webkit.org/show_bug.cgi?id=116122
3217
3218         Reviewed by Mark Rowe.
3219
3220         Moved DyldInterpose.h to WebCore, as we now use it there too.
3221
3222         * PluginProcess/mac/PluginProcessShim.mm:
3223         * Shared/mac/CookieStorageShimLibrary.cpp:
3224         * Shared/mac/DyldInterpose.h: Removed.
3225         * WebKit2.xcodeproj/project.pbxproj:
3226         * WebProcess/mac/SecItemShimLibrary.mm:
3227
3228 2013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3229
3230         [Win] REGRESSION(r149944): mmap is not available on Windows
3231         https://bugs.webkit.org/show_bug.cgi?id=116015
3232
3233         Reviewed by Anders Carlsson.
3234
3235         Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
3236         using mmap is not necessary and maybe not available.
3237
3238         * Platform/CoreIPC/ArgumentEncoder.cpp:
3239         (CoreIPC::allocBuffer):
3240         (CoreIPC::freeBuffer):
3241         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
3242         (CoreIPC::ArgumentEncoder::grow):
3243
3244 2013-05-14  Zan Dobersek  <zdobersek@igalia.com>
3245
3246         [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
3247         https://bugs.webkit.org/show_bug.cgi?id=115921
3248
3249         Reviewed by Gustavo Noronha Silva.
3250
3251         * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.
3252
3253 2013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3254
3255         [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
3256         https://bugs.webkit.org/show_bug.cgi?id=116039
3257
3258         Reviewed by Benjamin Poulain.
3259
3260         According to the documentation, DeleteTimerQueueTimer can be expected to return
3261         false with an ERROR_IO_PENDING error when called from the timer's callback.
3262
3263         * Platform/win/WorkQueueWin.cpp:
3264         (WorkQueue::timerCallback):
3265
3266 2013-05-14  Alexey Proskuryakov  <ap@apple.com>
3267
3268         Remove unused "type" field from DictionaryPopupInfo
3269         https://bugs.webkit.org/show_bug.cgi?id=116011
3270
3271         Reviewed by Darin Adler.
3272
3273         It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.
3274
3275         * Shared/DictionaryPopupInfo.cpp:
3276         (WebKit::DictionaryPopupInfo::encode):
3277         (WebKit::DictionaryPopupInfo::decode):
3278         * Shared/DictionaryPopupInfo.h:
3279         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3280         (WebKit::PDFPlugin::showDefinitionForAttributedString):
3281         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
3282         (WebKit::WebContextMenuClient::lookUpInDictionary):
3283         * WebProcess/WebPage/WebPage.h:
3284         * WebProcess/WebPage/mac/WebPageMac.mm:
3285         (WebKit::WebPage::performDictionaryLookupAtLocation):
3286         (WebKit::WebPage::performDictionaryLookupForSelection):
3287         (WebKit::WebPage::performDictionaryLookupForRange):
3288
3289 2013-05-14  Michael Brüning  <michael.bruning@digia.com>
3290
3291         [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
3292         https://bugs.webkit.org/show_bug.cgi?id=110218
3293
3294         Reviewed by Darin Adler.
3295
3296         Make the WebPageProxy::creationParameters use the accessor
3297         deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor
3298         directly. This will restore the custom device scale factor when
3299         reattaching to the WebProcess after a crash.
3300
3301         Moreover, it will enable the Qt and ELF ports to use the
3302         existing C API for overriding the device scale factor instead
3303         of using the WebPageProxy directly or adding new C API to set
3304         the intrinsic device scale factor.
3305
3306         * UIProcess/API/efl/EwkView.cpp:
3307         (EwkView::setDeviceScaleFactor):
3308         * UIProcess/API/qt/qquickwebpage.cpp:
3309         (QQuickWebPage::updatePaintNode):
3310         * UIProcess/WebPageProxy.cpp:
3311         (WebKit::WebPageProxy::creationParameters):
3312
3313 2013-05-13  Alex Christensen  <achristensen@apple.com>
3314
3315         Added testRunner.setPrinting.
3316         https://bugs.webkit.org/show_bug.cgi?id=42693
3317         rdar://problem/8213845
3318
3319         Reviewed by Darin Adler.
3320
3321         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3322         (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.
3323         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3324         Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.
3325         * WebProcess/WebPage/WebPage.cpp:
3326         (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.
3327         * WebProcess/WebPage/WebPage.h:
3328         Added renderTreeExternalRepresentationForPrinting declaration.
3329
3330 2013-05-13  Timothy Hatcher  <timothy@apple.com>
3331
3332         Add support for updating the Web Inspector toolbar height.
3333
3334         https://bugs.webkit.org/show_bug.cgi?id=115996
3335
3336         Reviewed by Joseph Pecoraro and Benjamin Poulain.
3337
3338         * UIProcess/WebInspectorProxy.h:
3339         (WebKit::WebInspectorProxy::setToolbarHeight):
3340         (WebInspectorProxy):
3341         * UIProcess/WebInspectorProxy.messages.in:
3342         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3343         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
3344         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3345         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
3346         (WebKit):
3347         * UIProcess/mac/WebInspectorProxyMac.mm:
3348         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
3349         * UIProcess/qt/WebInspectorProxyQt.cpp:
3350         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
3351         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
3352         (WebKit::WebInspectorFrontendClient::setToolbarHeight):
3353         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
3354         (WebInspectorFrontendClient):
3355         * WebProcess/WebPage/WebInspector.cpp:
3356         (WebKit::WebInspector::setToolbarHeight):
3357         * WebProcess/WebPage/WebInspector.h:
3358
3359 2013-05-13  Ryosuke Niwa  <rniwa@webkit.org>
3360
3361         Sometimes NSUndoManager can get into an inconsistent state
3362         https://bugs.webkit.org/show_bug.cgi?id=116050
3363
3364         Reviewed by Enrica Casucci.
3365
3366         Always group undo items to work around a bug in NSUndoManager that manifests
3367         when we call removeAllActionsWithTarget.
3368
3369         * UIProcess/API/mac/PageClientImpl.mm:
3370         (WebKit::PageClientImpl::registerEditCommand):
3371
3372 2013-05-13  Anders Carlsson  <andersca@apple.com>
3373
3374         [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
3375         https://bugs.webkit.org/show_bug.cgi?id=116026
3376
3377         Reviewed by Andreas Kling.
3378
3379         Make sure that we ignore any leftover messages from the UI process after we've reset
3380         the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
3381         everytime the map is reset. Associate every storage area change with the seed and ignore any incoming 
3382         notification messages from the UI process if the seeds are different.
3383
3384         * Platform/CoreIPC/HandleMessage.h:
3385         (CoreIPC):
3386         (CoreIPC::callMemberFunction):
3387         * UIProcess/Storage/StorageManager.cpp:
3388         (WebKit::StorageManager::getValues):
3389         (WebKit::StorageManager::setItem):
3390         (WebKit::StorageManager::removeItem):
3391         (WebKit::StorageManager::clear):
3392         * UIProcess/Storage/StorageManager.h:
3393         (StorageManager):
3394         * UIProcess/Storage/StorageManager.messages.in:
3395         * WebProcess/Storage/StorageAreaMap.cpp:
3396         (WebKit::StorageAreaMap::StorageAreaMap):
3397         (WebKit::StorageAreaMap::setItem):
3398         (WebKit::StorageAreaMap::removeItem):
3399         (WebKit::StorageAreaMap::clear):
3400         (WebKit::StorageAreaMap::resetValues):
3401         (WebKit::StorageAreaMap::loadValuesIfNeeded):
3402         (WebKit::StorageAreaMap::didGetValues):
3403         (WebKit::StorageAreaMap::didSetItem):
3404         (WebKit::StorageAreaMap::didRemoveItem):
3405         (WebKit::StorageAreaMap::didClear):
3406         (WebKit::StorageAreaMap::applyChange):
3407         * WebProcess/Storage/StorageAreaMap.h:
3408         (StorageAreaMap):
3409         * WebProcess/Storage/StorageAreaMap.messages.in:
3410
3411 2013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3412
3413         [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
3414         https://bugs.webkit.org/show_bug.cgi?id=116045
3415
3416         Reviewed by Darin Adler.
3417
3418         * UIProcess/CoordinatedGraphics/WebView.cpp:
3419         (WebKit::WebView::setSize):
3420
3421 2013-05-13  Jon Lee  <jonlee@apple.com>
3422
3423         [WK2] Notification manager removal should not be tied to termination of web processes
3424         https://bugs.webkit.org/show_bug.cgi?id=116038
3425         <rdar://problem/10968680>
3426
3427         Reviewed by Ryosuke Niwa.
3428
3429         WebNotificationManagerProxy incorrectly removes the manager when web processes close.
3430         Since it is a supplemental on the web context, the manager should only be removed
3431         when the context is destroyed.
3432
3433         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
3434         * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
3435         processDidClose().
3436
3437 2013-05-13  Martin Robinson  <mrobinson@igalia.com>
3438
3439         [GTK] [WebKit2] Use a template file for generated GObject enum files
3440         https://bugs.webkit.org/show_bug.cgi?id=115867
3441
3442         Reviewed by Carlos Garcia Campos.
3443
3444         * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
3445         * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
3446         * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
3447         * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
3448
3449 2013-05-13  Noam Rosenthal  <noam@webkit.org>
3450
3451         [CoordGfx] requestAnimationFrame performance issues
3452         https://bugs.webkit.org/show_bug.cgi?id=112345
3453
3454         Reviewed by Jocelyn Turcotte.
3455
3456         Changed the logic of requestAnimationFrame in Coordinated Graphics.
3457         We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:
3458         - If there is already a frame pending in the UI process, do nothing, as the animations would
3459           be serviced when the frame is returned to the web process.
3460         - If there is no frame pending, we schedule a flush, making sure that that flush occurs at 
3461           least 1/60 seconds after the last animation service, so that we don't get an infinite loop
3462           of flushes.
3463
3464         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
3465         (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
3466         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
3467         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3468         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
3469         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
3470         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
3471         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3472         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
3473
3474 2013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3475
3476         [WK2][CoordinatedGraphics] WKView needs API for handling opacity
3477         https://bugs.webkit.org/show_bug.cgi?id=116032
3478
3479         Reviewed by Kenneth Rohde Christiansen.
3480
3481         Add WKViewSetOpacity and WKViewOpacity APIs and use them in
3482         WebView.cpp.
3483
3484         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
3485         (WKViewSetOpacity):
3486         (WKViewOpacity):
3487         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
3488         * UIProcess/CoordinatedGraphics/WebView.cpp:
3489         (WebKit::WebView::WebView):
3490         (WebKit::WebView::paintToCurrentGLContext):
3491         * UIProcess/CoordinatedGraphics/WebView.h:
3492         (WebKit::WebView::setOpacity):
3493         (WebKit::WebView::opacity):
3494         (WebView):
3495
3496 2013-05-13  Zan Dobersek  <zdobersek@igalia.com>
3497
3498         [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
3499         https://bugs.webkit.org/show_bug.cgi?id=115918
3500
3501         Reviewed by Gustavo Noronha Silva.
3502
3503         Due to layer violations and circular dependencies the WebKitPluginProcess requires for the
3504         libraries containing the built code of the intertwining Platform and WebCore layers to be
3505         specified multiple times when linking. This can be avoided by packing the two layers' archives
3506         into one big archive, named after the WebCore layer due to no clear boundary between it and the
3507         Platform layer. The big archive can then be specified only once when linking, simplifying the code
3508         and suppressing all the layering violations so they do not cause build problems.
3509
3510         First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on
3511         are specified. These are then used as dependencies for the archive creation rule as well as the list
3512         from which the archive file paths are constructed and then used to dump the member files from these archives.
3513         The member files are then added to the big archive. The latter is added to the list of libraries the
3514         WebKitPluginProcess requires to successfully link.
3515
3516         * GNUmakefile.am:
3517
3518 2013-05-13  Zalan Bujtas  <zalan@apple.com>
3519
3520         WebProcess consuming very high CPU on linkedin.com
3521         https://bugs.webkit.org/show_bug.cgi?id=115601
3522
3523         Reviewed by Andreas Kling.
3524
3525         Disable WEB_TIMING_MINIMAL.
3526         Turn off window.performance and performance.now(). Some JS frameworks expect
3527         additional Web Timing APIs, when performance.now() is available.
3528
3529         * Configurations/FeatureDefines.xcconfig:
3530
3531 2013-05-12  Anders Carlsson  <andersca@apple.com>
3532
3533         Stop including UnusedParam.h
3534         https://bugs.webkit.org/show_bug.cgi?id=116003
3535
3536         Reviewed by Sam Weinig.
3537
3538         UnusedParam.h is empty now so there's no need to include it anymore.
3539
3540         * UIProcess/API/C/WKContext.cpp:
3541         * UIProcess/API/C/WKInspector.cpp:
3542         * UIProcess/API/C/WKPage.cpp:
3543         * UIProcess/API/efl/ewk_text_checker.cpp:
3544         * UIProcess/API/efl/ewk_view.cpp:
3545         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3546         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3547         * UIProcess/mac/WKFullScreenWindowController.mm:
3548         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3549         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
3550
3551 2013-05-12  Andreas Kling  <akling@apple.com>
3552
3553         Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
3554         <http://webkit.org/b/115988>
3555         <rdar://problem/13870943>
3556
3557         Reviewed by Anders Carlsson.
3558
3559         Let WebCore control the UI process's suppression of the sudden termination mechanism.
3560         This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
3561         over to the UI process where the appropriate NSProcessInfo calls are made.
3562
3563         We also use this information when deciding whether to insta-kill a web process when its last
3564         page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
3565         by the UI process.
3566
3567         * UIProcess/WebProcessProxy.cpp:
3568         (WebKit::WebProcessProxy::WebProcessProxy):
3569         (WebKit::WebProcessProxy::removeWebPage):
3570         (WebKit::WebProcessProxy::enableSuddenTermination):
3571         (WebKit::WebProcessProxy::disableSuddenTermination):
3572         * UIProcess/WebProcessProxy.h:
3573         (WebProcessProxy):
3574         * UIProcess/WebProcessProxy.messages.in:
3575         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3576         (WebKit::WebChromeClient::enableSuddenTermination):
3577         (WebKit::WebChromeClient::disableSuddenTermination):
3578         * WebProcess/WebCoreSupport/WebChromeClient.h:
3579         (WebChromeClient):
3580
3581 2013-05-12  Alexey Proskuryakov  <ap@apple.com>
3582
3583         <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.
3584
3585         Reviewed by Dan Bernstein.
3586
3587         * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
3588
3589 2013-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
3590
3591         [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
3592         https://bugs.webkit.org/show_bug.cgi?id=115914
3593
3594         Reviewed by Martin Robinson.
3595
3596         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3597         (webkitWebViewBaseRealize):
3598
3599 2013-05-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3600
3601         Unreviewed build fix after r149944.
3602
3603         * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
3604
3605 2013-05-11  Anders Carlsson  <andersca@apple.com>
3606
3607         Don't pass malloced pointers as out-of-line data when sending Mach messages
3608         https://bugs.webkit.org/show_bug.cgi?id=115970
3609         <rdar://problem/13144680>
3610
3611         Reviewed by Sam Weinig.
3612
3613         Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
3614         since that gives us fresh zero-filled memory that we can safely share.
3615
3616         * Platform/CoreIPC/ArgumentEncoder.cpp:
3617         (CoreIPC::ArgumentEncoder::ArgumentEncoder):
3618         Set up the buffer pointers to point to the inline buffer.
3619
3620         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
3621         Unmap the buffer if necessary.
3622
3623         (CoreIPC::ArgumentEncoder::grow):
3624         Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
3625         current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
3626         or big in which case we'll end up doing less allocations + memory copying.
3627
3628         * Platform/CoreIPC/ArgumentEncoder.h:
3629         (ArgumentEncoder):
3630
3631 2013-05-11  Zan Dobersek  <zdobersek@igalia.com>
3632
3633         Unreviewed GTK build fix after r149904.
3634
3635         * GNUmakefile.list.am: Adding missing build targets.
3636
3637 2013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3638
3639         Unreviewed, Fix WK2 EFL build after r149904.
3640
3641         Add new PluginInformation.cpp file to CMake.
3642
3643         * CMakeLists.txt:
3644
3645 2013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3646
3647         Unreviewed, fix WK2 EFL build after r149904.
3648
3649         Add new WKPluginInformation.cpp file to CMake.
3650
3651         * CMakeLists.txt:
3652
3653 2013-05-11  Andreas Kling  <akling@apple.com>
3654
3655         When possible, terminate web processes immediately when closing their last page.
3656         <http://webkit.org/b/115964>
3657         <rdar://problem/13869266>
3658
3659         Reviewed by Geoffrey Garen.
3660
3661         When we're using a network process, there's no need for the UI process to wait for web processes
3662         to clear resource caches and terminate nicely.
3663
3664         We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.
3665
3666         * UIProcess/WebProcessProxy.cpp:
3667         (WebKit::WebProcessProxy::removeWebPage):
3668
3669             Terminate the child process immediately if possible.
3670
3671         * UIProcess/WebProcessProxy.h:
3672         (WebKit::WebProcessProxy::canTerminateChildProcess):
3673         (WebKit::WebProcessProxy::shouldTerminate):
3674
3675             Broke out the logic from the shouldTerminate() IPC message handler into a separate function
3676             so we can call it from removeWebPage().
3677
3678 2013-05-11  Anders Carlsson  <andersca@apple.com>
3679
3680         Crash when terminating a process that has not been fully launched
3681         https://bugs.webkit.org/show_bug.cgi?id=115962
3682         <rdar://problem/13660916>
3683
3684         Reviewed by Andreas Kling.
3685
3686         Handle terminating a process that has not been fully launched.
3687
3688         * UIProcess/Launcher/ProcessLauncher.cpp:
3689         (WebKit::ProcessLauncher::didFinishLaunchingProcess):
3690         If we have been invalidated, dispose the connection identifier.
3691
3692         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3693         (WebKit::ProcessLauncher::terminateProcess):
3694         If we're still launching the process, invalidate so the client won't get an unexpected
3695         didFinishLaunching callback.
3696
3697         * UIProcess/WebProcessProxy.cpp:
3698         (WebKit::WebProcessProxy::requestTermination):
3699         Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).
3700
3701 2013-05-10  Brian J. Burg  <burg@cs.washington.edu>
3702
3703         Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
3704         https://bugs.webkit.org/show_bug.cgi?id=115564
3705
3706         Reviewed by Benjamin Poulain.
3707
3708         Implement InspectorFrontendHost's save() and append() methods for
3709         Mac WebKit2. Add canSave() for all ports.
3710
3711         * UIProcess/WebInspectorProxy.cpp:
3712         (WebKit::WebInspectorProxy::save):
3713         (WebKit):
3714         (WebKit::WebInspectorProxy::append):
3715         * UIProcess/WebInspectorProxy.h:
3716         (WebInspectorProxy):
3717         * UIProcess/WebInspectorProxy.messages.in:
3718         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3719         (WebKit::WebInspectorProxy::platformSave):
3720         (WebKit):
3721         (WebKit::WebInspectorProxy::platformAppend):
3722         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3723         (WebKit::WebInspectorProxy::platformSave):
3724         (WebKit):
3725         (WebKit::WebInspectorProxy::platformAppend):
3726         * UIProcess/mac/WebInspectorProxyMac.mm:
3727         (WebKit::WebInspectorProxy::platformSave):
3728         (WebKit):
3729         (WebKit::WebInspectorProxy::platformAppend):
3730         * UIProcess/qt/WebInspectorProxyQt.cpp:
3731         (WebKit::WebInspectorProxy::platformSave):
3732         (WebKit):
3733         (WebKit::WebInspectorProxy::platformAppend):
3734         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
3735         (WebKit::WebInspectorFrontendClient::canSave):
3736         (WebKit):
3737         (WebKit::WebInspectorFrontendClient::save):
3738         (WebKit::WebInspectorFrontendClient::append):
3739         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
3740         (WebInspectorFrontendClient):
3741         * WebProcess/WebPage/WebInspector.cpp:
3742         (WebKit::WebInspector::save):
3743         (WebKit):
3744         (WebKit::WebInspector::append):
3745         (WebKit::WebInspector::didSave):
3746         (WebKit::WebInspector::didAppend):
3747         * WebProcess/WebPage/WebInspector.h:
3748         (WebInspector):
3749         * WebProcess/WebPage/WebInspector.messages.in:
3750         * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
3751         (WebKit::WebInspector::canSave):
3752         (WebKit):
3753         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
3754         (WebKit::WebInspector::canSave):
3755         (WebKit):
3756         * WebProcess/WebPage/mac/WebInspectorMac.mm:
3757         (WebKit::WebInspector::canSave):
3758         (WebKit):
3759         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
3760         (WebKit::WebInspector::canSave):
3761         (WebKit):
3762
3763 2013-05-10  Remy Demarest  <rdemarest@apple.com>
3764
3765         Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
3766         https://bugs.webkit.org/show_bug.cgi?id=115940
3767
3768         Reviewed by Darin Adler.
3769
3770         * WebKit2.xcodeproj/project.pbxproj:
3771         Move WKPluginInformation.h file from the framework's Project Headers to
3772         Private Headers.
3773
3774 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3775
3776         [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
3777
3778         * Target.pri:
3779
3780 2013-05-10  Simon Cooper  <scooper@apple.com>
3781
3782         Fix AppleConnect issues for WiFi interfaces
3783         <rdar://problem/13776227&13776240&13776281>
3784         https://bugs.webkit.org/show_bug.cgi?id=115932
3785
3786         Reviewed by Alexey Proskuryakov.
3787
3788         Add support for WiFi interfaces for the AppleConnect plugin.
3789         Remove the FIXME.
3790
3791         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
3792
3793 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3794
3795         [Qt][Mac] Unreviewed speculative build fix after r149904.
3796
3797         * Target.pri:
3798
3799 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3800
3801         [Qt] Unreviewed buildfix after r149904.
3802
3803         * Target.pri:
3804
3805 2013-05-09  Sam Weinig  <sam@webkit.org>
3806
3807         Unify plug-in information dictionaries
3808         <rdar://problem/13852080>
3809         https://bugs.webkit.org/show_bug.cgi?id=115891
3810
3811         Reviewed by Anders Carlsson.
3812
3813         This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
3814         and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
3815
3816         All the old keys will continue to work, but have been deprecated in favor of new keys defined in 
3817         WKPluginInformation.h
3818
3819         * Shared/API/c/WKPluginInformation.cpp: Added.
3820         * Shared/API/c/WKPluginInformation.h: Added.
3821         Export new keys as SPI.
3822
3823         * Shared/Plugins/Netscape/PluginInformation.h: Added.
3824         * Shared/Plugins/Netscape/PluginInformation.cpp: Added.
3825         (WebKit::pluginInformationBundleIdentifierKey):
3826         (WebKit::pluginInformationBundleVersionKey):
3827         (WebKit::pluginInformationPathKey):
3828         (WebKit::pluginInformationDisplayNameKey):
3829         (WebKit::pluginInformationDefaultLoadPolicyKey):
3830         (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
3831         (WebKit::pluginInformationHasSandboxProfileKey):
3832         (WebKit::pluginInformationFrameURLKey):
3833         (WebKit::pluginInformationMIMETypeKey):
3834         (WebKit::pluginInformationPageURLKey):
3835         (WebKit::pluginInformationPluginspageAttributeURLKey):
3836         (WebKit::pluginInformationPluginURLKey):
3837         Add new keys.
3838
3839         (WebKit::pluginModuleInformation):
3840         (WebKit::createPluginInformationDictionary):
3841         Add creation functions to simplify multiple sites.
3842
3843         * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
3844         (WebKit::platformPluginModuleInformation):
3845         Add platform specific data to the dictionary.
3846
3847         * UIProcess/API/C/WKPage.cpp:
3848         (WKPageGetPluginInformationBundleIdentifierKey):
3849         (WKPageGetPluginInformationBundleVersionKey):
3850         (WKPageGetPluginInformationDisplayNameKey):
3851         (WKPageGetPluginInformationFrameURLKey):
3852         (WKPageGetPluginInformationMIMETypeKey):
3853         (WKPageGetPluginInformationPageURLKey):
3854         (WKPageGetPluginInformationPluginspageAttributeURLKey):
3855         (WKPageGetPluginInformationPluginURLKey):
3856         * UIProcess/API/C/WKPage.h:
3857         Deprecate the old keys.
3858
3859         * UIProcess/API/C/mac/WKContextPrivateMac.h:
3860         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
3861         (WKContextCopyPlugInInfoForBundleIdentifier):
3862         (WKContextGetInfoForInstalledPlugIns):
3863         Simplify by using the new createPluginInformationDictionary functions.
3864
3865         (WKPlugInInfoPathKey):
3866         (WKPlugInInfoBundleIdentifierKey):
3867         (WKPlugInInfoVersionKey):
3868         (WKPlugInInfoLoadPolicyKey):
3869         (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
3870         (WKPlugInInfoIsSandboxedKey):
3871         Deprecate the old keys.
3872
3873         * UIProcess/WebLoaderClient.cpp:
3874         (WebKit::WebLoaderClient::didFailToInitializePlugin):
3875         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
3876         (WebKit::WebLoaderClient::pluginLoadPolicy):
3877         * UIProcess/WebLoaderClient.h:
3878         * UIProcess/WebUIClient.cpp:
3879         (WebKit::WebUIClient::unavailablePluginButtonClicked):
3880         * UIProcess/WebUIClient.h:
3881         Optimize for the most recent callback type which takes a dictionary,
3882         and pull out the necessary bits from it for deprecated callbacks as necessary.
3883
3884         * UIProcess/WebPageProxy.h:
3885         * UIProcess/WebPageProxy.cpp:
3886         (WebKit::WebPageProxy::findPlugin):
3887         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
3888         (WebKit::WebPageProxy::didFailToInitializePlugin):
3889         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
3890         Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.
3891
3892         * WebKit2.xcodeproj/project.pbxproj:
3893         Add new files.
3894
3895 2013-05-10  Brian J. Burg  <burg@cs.washington.edu>
3896
3897         Web Inspector: implement runOpenPanel callback for WebKit2 inspector
3898         https://bugs.webkit.org/show_bug.cgi?id=115865
3899
3900         Reviewed by Sam Weinig.
3901
3902         * UIProcess/WebInspectorProxy.h:
3903         (WebKit::WebInspectorProxy::inspectorWindow):
3904         Add an accessor for m_inspectorWindow.
3905
3906         * UIProcess/mac/WebInspectorProxyMac.mm:
3907         (WebKit::runOpenPanel):
3908         Show the open panel dialog when requested.
3909
3910         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3911         Register the callback when the inspector page is created.
3912
3913 2013-05-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3914
3915         [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
3916         https://bugs.webkit.org/show_bug.cgi?id=115928
3917
3918         Reviewed by Kenneth Rohde Christiansen.
3919
3920         WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.
3921
3922         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
3923         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
3924         * UIProcess/API/C/efl/WKViewEfl.cpp:
3925         (WKViewSetThemePath):
3926         * UIProcess/API/C/efl/WKViewEfl.h:
3927         * UIProcess/CoordinatedGraphics/WebView.cpp:
3928         * UIProcess/CoordinatedGraphics/WebView.h:
3929         (WebView):
3930         * UIProcess/efl/ViewClientEfl.cpp:
3931         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3932         * UIProcess/efl/WebViewEfl.cpp:
3933         (WebKit::WebViewEfl::setThemePath):
3934         * UIProcess/efl/WebViewEfl.h:
3935         (WebViewEfl):
3936
3937 2013-05-10  Jer Noble  <jer.noble@apple.com>
3938
3939         REGRESSION (r149439): Video turns blank upon entering full screen for the first time
3940         https://bugs.webkit.org/show_bug.cgi?id=115617
3941
3942         Reviewed by Eric Carlson.
3943
3944         Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these
3945         platforms, create a window with a NSZeroSize initial frame, which fixes the "blank"
3946         first-full screen behavior.
3947
3948         * UIProcess/API/mac/WKView.mm:
3949         (-[WKView createFullScreenWindow]):
3950
3951 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
3952
3953         [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
3954         https://bugs.webkit.org/show_bug.cgi?id=115717
3955
3956         Reviewed by Andreas Kling.
3957
3958         WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
3959         by the WebProcess. This removes the need for the m_soupRequestManager member variable in
3960         the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
3961         of which instances are controlled by the WebProcess class.
3962
3963         * WebProcess/WebProcess.cpp:
3964         (WebKit::WebProcess::WebProcess): Add  the WebSoupRequestManager as a supplement.
3965         * WebProcess/WebProcess.h:
3966         (WebProcess): Remove the m_soupRequestManager member variable and its getter method.
3967         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
3968         (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
3969         (webkitSoupRequestGenericSendFinish): Ditto.
3970         * WebProcess/soup/WebProcessSoup.cpp:
3971         (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
3972         * WebProcess/soup/WebSoupRequestManager.cpp:
3973         (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
3974         * WebProcess/soup/WebSoupRequestManager.h:
3975         (WebSoupRequestManager): Inherit from the WebProcessSupplement interface.
3976
3977 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3978
3979         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
3980         https://bugs.webkit.org/show_bug.cgi?id=115904
3981
3982         Reviewed by Martin Robinson.
3983
3984         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
3985         (startTestServerMonitor):
3986         * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
3987         (startTestServerMonitor):
3988
3989 2013-05-09  Anders Carlsson  <andersca@apple.com>
3990
3991         Fix build.
3992
3993         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
3994
3995 2013-05-09  Anders Carlsson  <andersca@apple.com>
3996
3997         Enable UI process storage
3998         https://bugs.webkit.org/show_bug.cgi?id=115879
3999         <rdar://problem/12239765>
4000
4001         Reviewed by Beth Dakin.
4002
4003         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4004         Flip the switch.
4005
4006 2013-05-09  Anders Carlsson  <andersca@apple.com>
4007
4008         Remove extra spaces between right angle brackets in template declarations
4009         https://bugs.webkit.org/show_bug.cgi?id=115877
4010
4011         Reviewed by Beth Dakin.
4012
4013         C++11 doesn't require spaces between right angle brackets so remove all of them.
4014
4015         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
4016         (WebKit::NetworkBlobRegistry::registerBlobURL):
4017         (WebKit::NetworkBlobRegistry::sandboxExtensions):
4018         * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
4019         (NetworkBlobRegistry):
4020         * NetworkProcess/HostRecord.h:
4021         (HostRecord):
4022         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
4023         (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
4024         (WebKit::NetworkConnectionToWebProcess::didClose):
4025         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
4026         * NetworkProcess/NetworkConnectionToWebProcess.h:
4027         (NetworkConnectionToWebProcess):
4028         * NetworkProcess/NetworkProcess.h:
4029         (NetworkProcess):
4030         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
4031         (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
4032         (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
4033         * NetworkProcess/NetworkResourceLoadScheduler.h:
4034         * NetworkProcess/SchedulableLoader.cpp:
4035         (WebKit::SchedulableLoader::SchedulableLoader):
4036         * NetworkProcess/SchedulableLoader.h:
4037         (SchedulableLoader):
4038         * Platform/CoreIPC/ArgumentCoders.h:
4039         * Platform/CoreIPC/Connection.cpp:
4040         (Connection::SyncMessageState):
4041         (CoreIPC::Connection::waitForMessage):
4042         (CoreIPC::Connection::processIncomingMessage):
4043         * Platform/CoreIPC/Connection.h:
4044         (Connection):
4045         * Platform/WorkQueue.h:
4046         (WorkQueue):
4047         * PluginProcess/PluginProcess.h:
4048         (PluginProcess):
4049         * Scripts/webkit2/messages_unittest.py:
4050         (CoreIPC):
4051         * Shared/BlockingResponseMap.h:
4052         (BlockingResponseMap):
4053         * Shared/ChildProcessProxy.h:
4054         (ChildProcessProxy):
4055         * Shared/ImmutableArray.cpp:
4056         (WebKit::ImmutableArray::ImmutableArray):
4057         * Shared/ImmutableArray.h:
4058         (WebKit::ImmutableArray::adopt):
4059         (ImmutableArray):
4060         * Shared/ImmutableDictionary.cpp:
4061         (WebKit::ImmutableDictionary::keys):
4062         * Shared/ImmutableDictionary.h:
4063         (ImmutableDictionary):
4064         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
4065         (CustomProtocolManager):
4066         * Shared/SecurityOriginData.cpp:
4067         (WebKit::performAPICallbackWithSecurityOriginDataVector):
4068         * Shared/SessionState.cpp:
4069         * Shared/StatisticsData.h:
4070         (StatisticsData):
4071         * Shared/UserMessageCoders.h:
4072         (WebKit::UserMessageDecoder::baseDecode):
4073         * Shared/WebArchive.cpp:
4074         (WebKit::WebArchive::WebArchive):
4075         (WebKit::WebArchive::subresources):
4076         (WebKit::WebArchive::subframeArchives):
4077         * Shared/WebContextMenuItem.cpp:
4078         (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
4079         * Shared/WebOpenPanelParameters.cpp:
4080         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
4081         (WebKit::WebOpenPanelParameters::selectedFileNames):
4082         * Shared/mac/ArgumentCodersMac.mm:
4083         (CoreIPC::encode):
4084         * SharedWorkerProcess/SharedWorkerProcess.h:
4085         (SharedWorkerProcess):
4086         * UIProcess/API/mac/WKPrintingView.h:
4087         (WebFrameProxy):
4088         * UIProcess/API/mac/WKPrintingView.mm:
4089         (-[WKPrintingView _drawPreview:]):
4090         * UIProcess/API/mac/WKView.mm:
4091         (WebKit):
4092         * UIProcess/Downloads/DownloadProxyMap.cpp:
4093         (WebKit::DownloadProxyMap::processDidClose):
4094         * UIProcess/Downloads/DownloadProxyMap.h:
4095         (DownloadProxyMap):
4096         * UIProcess/GeolocationPermissionRequestManagerProxy.h:
4097         (GeolocationPermissionRequestManagerProxy):
4098         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
4099         (DynamicLinkerEnvironmentExtractor):
4100         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
4101         (CustomProtocolManagerProxy):
4102         * UIProcess/Network/NetworkProcessProxy.h:
4103         (NetworkProcessProxy):
4104         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
4105         (NotificationPermissionRequestManagerProxy):
4106         * UIProcess/Notifications/WebNotificationManagerProxy.h:
4107         (WebNotificationManagerProxy):
4108         * UIProcess/Plugins/PluginProcessManager.h:
4109         (PluginProcessManager):
4110         * UIProcess/Plugins/PluginProcessProxy.h:
4111         (PluginProcessProxy):
4112         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
4113         (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
4114         * UIProcess/Plugins/WebPluginSiteDataManager.h:
4115         (WebPluginSiteDataManager):
4116         * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
4117         (SharedWorkerProcessManager):
4118         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
4119         (SharedWorkerProcessProxy):
4120         * UIProcess/StatisticsRequest.cpp:
4121         (WebKit::StatisticsRequest::completedRequest):
4122         * UIProcess/Storage/StorageManager.cpp:
4123         (StorageManager::StorageArea):
4124         (WebKit::StorageManager::StorageArea::dispatchEvents):
4125         (StorageManager::SessionStorageNamespace):
4126         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
4127         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
4128         (WebKit::StorageManager::createLocalStorageMap):
4129         (WebKit::StorageManager::createSessionStorageMap):
4130         (WebKit::StorageManager::destroyStorageMap):
4131         (WebKit::StorageManager::invalidateConnectionInternal):