Disable window occlusion notifications for App Store on Mac.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-02-20  Kiran Muppala  <cmuppala@apple.com>
2
3         Disable window occlusion notifications for App Store on Mac.
4         https://bugs.webkit.org/show_bug.cgi?id=110417
5
6         Reviewed by Simon Fraser.
7
8         Temporary fix to workaround issues with window occlusion notifications
9         in App Store.
10
11         * UIProcess/API/mac/WKView.mm:
12         (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
13         if the main bundle identifier matches that of App Store.
14
15 2013-02-20  Mark Rowe  <mrowe@apple.com>
16
17         <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
18
19         This is the modern mechanism for applying entitlements to production builds,
20         and it simplifies the maintenance of entitlements going forward. It also allows
21         us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
22
23         Reviewed by Alexey Proskuryakov.
24
25         * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
26         * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
27         * Configurations/PluginService.32.xcconfig: Ditto.
28         * Configurations/PluginService.64.xcconfig: Ditto.
29         * Configurations/PluginService.Development.xcconfig: Ditto.
30         * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
31         Move the entitlements in to the Configurations directory to make them easier to find.
32         * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
33         in the script is not an issue with current versions of Xcode. If we see it again we can come
34         up with a workaround that doesn't involve performing the signing via a script phase.
35         * WebKit2.xcodeproj/project.pbxproj:
36
37 2013-02-20  Mark Rowe  <mrowe@apple.com>
38
39         <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
40
41         Reviewed by Dan Bernstein.
42
43         The only difference between the plists was the CFBundleIdentifier. Since the values are the
44         same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
45
46         * Configurations/PluginService.32.xcconfig:
47         * Configurations/PluginService.64.xcconfig:
48         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
49         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
50
51 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
52
53         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
54         https://bugs.webkit.org/show_bug.cgi?id=110379
55
56         Reviewed by Tim Horton.
57
58         Make the visible rect and exposed rects passed through
59         the drawing area to the tile cache FloatRects instead of IntRects.
60
61         * UIProcess/API/mac/WKView.mm:
62         (-[WKView setFrameSize:]):
63         (-[WKView _updateWindowAndViewFrames]):
64         (-[WKView enableFrameSizeUpdates]):
65         (-[WKView setMinimumWidthForAutoLayout:]):
66         * UIProcess/WebPageProxy.h:
67         * UIProcess/mac/WebPageProxyMac.mm:
68         (WebKit::WebPageProxy::viewExposedRectChanged):
69         * WebProcess/WebPage/DrawingArea.h:
70         (WebKit::DrawingArea::setExposedRect):
71         * WebProcess/WebPage/WebPage.cpp:
72         (WebKit::WebPage::viewExposedRectChanged):
73         * WebProcess/WebPage/WebPage.h:
74         * WebProcess/WebPage/WebPage.messages.in:
75         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
76         (TiledCoreAnimationDrawingArea):
77         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
78         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
79
80 2013-02-20  Dirk Schulze  <krit@webkit.org>
81
82         Enable CANVAS_PATH flag
83         https://bugs.webkit.org/show_bug.cgi?id=108508
84
85         Reviewed by Simon Fraser.
86
87         Enable CANVAS_PATH flag on trunk.
88
89         * Configurations/FeatureDefines.xcconfig:
90
91 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
92
93         Remove unnecessary includes for Platform.h from headers
94         https://bugs.webkit.org/show_bug.cgi?id=110300
95
96         Reviewed by Alexey Proskuryakov.
97
98         wtf/Platform.h only need to be included in a few places directly    
99         as it is included in config.h. Remove the unnecessay duplicate as    
100         it can be confusing.
101
102         * Shared/PrintInfo.h:
103
104 2013-02-20  Huang Dongsung  <luxtella@company100.net>
105
106         [WK2] Remove m_viewportSize in WebPage.
107         https://bugs.webkit.org/show_bug.cgi?id=110311
108
109         Reviewed by Anders Carlsson.
110
111         EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
112         size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
113         size.
114
115         EFL and Qt use m_viewSize as a contents size because the size of non compositing
116         layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
117         using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
118         necessary to know m_viewSize when marking whole non compositing layer as dirty.
119         So we can make EFL and Qt use m_viewSize as a viewport size also.
120
121         This patch removes m_viewportSize and related methods to increase readability.
122
123         * UIProcess/API/qt/raw/qrawwebview.cpp:
124         (QRawWebView::setSize):
125         * UIProcess/PageViewportController.cpp:
126         (WebKit::PageViewportController::didChangeViewportSize):
127         * UIProcess/WebPageProxy.cpp:
128         (WebKit):
129         * UIProcess/WebPageProxy.h:
130         (WebPageProxy):
131         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
132         (WebKit::WebChromeClient::pageRect):
133         (WebKit::WebChromeClient::contentsSizeChanged):
134         * WebProcess/WebPage/DrawingAreaImpl.cpp:
135         (WebKit::DrawingAreaImpl::updateBackingStoreState):
136         * WebProcess/WebPage/WebPage.cpp:
137         (WebKit::WebPage::setSize):
138         (WebKit::WebPage::sendViewportAttributesChanged):
139         * WebProcess/WebPage/WebPage.h:
140         (WebPage):
141         * WebProcess/WebPage/WebPage.messages.in:
142
143 2013-02-20  Huang Dongsung  <luxtella@company100.net>
144
145         [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
146         https://bugs.webkit.org/show_bug.cgi?id=110299
147
148         Reviewed by Anders Carlsson.
149
150         Currently, we call setNeedsDisplay with the size of WebPage to mark whole
151         backing store as dirty. However, the size of non compositing layer can be
152         inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
153         size of non compositing layer is contents size.
154
155         So, WebPage should not assume the size of non compositing layer, and should just
156         call setNeedsDisplay when marking whole layer as dirty.
157
158         In addition, this patch renames from setNeedsDisplay() with a rect argument to
159         setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
160
161         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
162         (WebKit::WebChromeClient::invalidateContentsAndRootView):
163         (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
164         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
165         (WebKit::WebFrameLoaderClient::restoreViewState):
166         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
167         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
168         (WebKit):
169         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
170         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
171         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
172         (CoordinatedLayerTreeHost):
173         * WebProcess/WebPage/DrawingArea.h:
174         (DrawingArea):
175         * WebProcess/WebPage/DrawingAreaImpl.cpp:
176         (WebKit::DrawingAreaImpl::setNeedsDisplay):
177         (WebKit):
178         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
179         (WebKit::DrawingAreaImpl::scroll):
180         (WebKit::DrawingAreaImpl::forceRepaint):
181         (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
182         (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
183         (WebKit::DrawingAreaImpl::resumePainting):
184         * WebProcess/WebPage/DrawingAreaImpl.h:
185         (DrawingAreaImpl):
186         * WebProcess/WebPage/LayerTreeHost.h:
187         (LayerTreeHost):
188         * WebProcess/WebPage/WebPage.cpp:
189         (WebKit::WebPage::setSize):
190         (WebKit::WebPage::setDrawsBackground):
191         (WebKit::WebPage::setDrawsTransparentBackground):
192         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
193         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
194         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
195         (WebKit):
196         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
197         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
198         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
199         (LayerTreeHostGtk):
200         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
201         (LayerTreeHostMac):
202         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
203         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
204         (WebKit):
205         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
206         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
207         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
208         (RemoteLayerTreeDrawingArea):
209         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
210         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
211         (WebKit):
212         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
213         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
214         (TiledCoreAnimationDrawingArea):
215         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
216         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
217         (WebKit):
218         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
219
220 2013-02-20  Christophe Dumez  <ch.dumez@sisa.samsung.com>
221
222         [EFL][WK2] Port EwkPopupMenuItem to the C API
223         https://bugs.webkit.org/show_bug.cgi?id=108798
224
225         Reviewed by Kenneth Rohde Christiansen.
226
227         Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
228         dependency on internal WebPopupItem type. Eina shared string members
229         are now lazily initialized to make the object cheaper to construct.
230
231         * UIProcess/API/efl/ewk_popup_menu.cpp:
232         (EwkPopupMenu::EwkPopupMenu):
233         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
234         (EwkPopupMenuItem::EwkPopupMenuItem):
235         (EwkPopupMenuItem::type):
236         (EwkPopupMenuItem::textDirection):
237         (EwkPopupMenuItem::text):
238         (EwkPopupMenuItem::tooltipText):
239         (EwkPopupMenuItem::accessibilityText):
240         (EwkPopupMenuItem::hasTextDirectionOverride):
241         (EwkPopupMenuItem::isEnabled):
242         (EwkPopupMenuItem::isLabel):
243         (EwkPopupMenuItem::isSelected):
244         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
245         (EwkPopupMenuItem::create):
246         (EwkPopupMenuItem):
247
248 2013-02-19  Tim Horton  <timothy_horton@apple.com>
249
250         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
251         https://bugs.webkit.org/show_bug.cgi?id=110261
252         <rdar://problem/13196122>
253
254         Reviewed by Simon Fraser.
255
256         * WebProcess/WebPage/WebPage.cpp:
257         (WebKit::WebPage::setIsInWindow):
258         Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
259
260 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
261
262         Allow UI clients to handle vertical wheel events.
263         https://bugs.webkit.org/show_bug.cgi?id=110006
264
265         Reviewed by Tim Horton.
266
267         Add API to allow clients to selectively control rubber-banding at vertical page extrema.
268
269         * UIProcess/API/C/WKPage.cpp:
270         (WKPageRubberBandsAtBottom):
271         Proxy for the corresponding function in WebCore::Page.
272         (WKPageSetRubberBandsAtBottom):
273         Ditto.
274         (WKPageRubberBandsAtTop):
275         Ditto.
276         (WKPageSetRubberBandsAtTop):
277         Ditto.
278
279         * UIProcess/API/C/WKPage.h:
280         Declare new API.
281
282         * UIProcess/WebPageProxy.cpp:
283         (WebKit::WebPageProxy::WebPageProxy):
284         Initialize new member variables.
285         (WebKit::WebPageProxy::setRubberBandsAtBottom):
286         New function; dispatches a matching message to the WebKit::WebPage.
287         (WebKit::WebPageProxy::setRubberBandsAtTop):
288         Ditto.
289
290         * UIProcess/WebPageProxy.h:
291         (WebPageProxy):
292         Declare new API.
293         (WebKit::WebPageProxy::rubberBandsAtBottom):
294         New accessor function.
295         (WebKit::WebPageProxy::rubberBandsAtTop):
296         Ditto.
297
298         * WebProcess/WebPage/WebPage.cpp:
299         (WebKit::WebPage::setRubberBandsAtBottom):
300         New function; call the matching function on the associated WebCore::Page.
301         (WebKit::WebPage::setRubberBandsAtTop):
302         Ditto.
303
304         * WebProcess/WebPage/WebPage.h:
305         (WebPage):
306         Declare new rubber-banding API.
307
308         * WebProcess/WebPage/WebPage.messages.in:
309         Declare new rubber-banding API.
310
311 2013-02-19  Anders Carlsson  <andersca@apple.com>
312
313         StorageAreaProxy should know its quota
314         https://bugs.webkit.org/show_bug.cgi?id=110268
315
316         Reviewed by Sam Weinig.
317
318         Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
319
320         * WebProcess/Storage/StorageAreaProxy.cpp:
321         (WebKit::StorageAreaProxy::StorageAreaProxy):
322         (WebKit::StorageAreaProxy::setItem):
323         * WebProcess/Storage/StorageAreaProxy.h:
324         (StorageAreaProxy):
325         * WebProcess/Storage/StorageNamespaceProxy.cpp:
326         (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
327         (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
328         * WebProcess/Storage/StorageNamespaceProxy.h:
329         (WebKit::StorageNamespaceProxy::quota):
330         (StorageNamespaceProxy):
331
332 2013-02-19  Alexey Proskuryakov  <ap@apple.com>
333
334         <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
335
336         Reviewed by Mark Rowe.
337
338         Don't keep a window server connection in processes that don't need it, and don't
339         run an NSApplication run loop.
340
341         * Shared/ChildProcess.h:
342         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
343         Added a function to shut down connections, and to make sure we don't get one in the future.
344
345         * NetworkProcess/mac/NetworkProcessMac.mm:
346         (WebKit::NetworkProcess::initializeProcessName):
347         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
348         (WebKit::OfflineStorageProcess::initializeProcessName):
349         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
350         (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
351         some unused includes and forward declarations.
352
353 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
354
355         [WK2] Cannot load documents with blob urls
356         https://bugs.webkit.org/show_bug.cgi?id=110160
357
358         Reviewed by Sam Weinig.
359
360         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
361         Added knowledge about blobs.
362
363 2013-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
364
365         [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
366         https://bugs.webkit.org/show_bug.cgi?id=110190
367
368         Reviewed by Anders Carlsson.
369
370         Add webkit_web_view_get_tls_info() and remove
371         webkit_uri_response_get_https_status(). This way I can be sure
372         that when called after load has been committed the certificate
373         will be available. It also makes the API easier to use.
374
375         * UIProcess/API/gtk/WebKitURIResponse.cpp:
376         * UIProcess/API/gtk/WebKitURIResponse.h:
377         * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
378         * UIProcess/API/gtk/WebKitWebView.cpp:
379         (webkitWebViewLoadChanged):
380         (mainResourceResponseChangedCallback):
381         (webkit_web_view_get_tls_info):
382         * UIProcess/API/gtk/WebKitWebView.h:
383         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
384         * UIProcess/API/gtk/tests/TestSSL.cpp:
385
386 2013-02-19  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
387
388         [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
389         https://bugs.webkit.org/show_bug.cgi?id=109794
390
391         Reviewed by Anders Carlsson.
392
393         * UIProcess/API/C/efl/WKView.cpp:
394         (WKViewSetShowsAsSource):
395         (WKViewGetShowsAsSource):
396
397             Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
398             and WebPageProxy::mainFrameInViewSourceMode() calls.
399
400         (WKViewExitFullScreen):
401
402             Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
403             calls.
404
405         * UIProcess/API/C/efl/WKView.h:
406         * UIProcess/API/efl/EwkView.cpp:
407         (EwkView::feedTouchEvent):
408
409             Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
410             is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
411             not access WebPage instance directly.
412
413         (EwkView::feedTouchEvents):
414         * UIProcess/API/efl/EwkView.h:
415         (EwkView):
416         * UIProcess/API/efl/ewk_view.cpp:
417         (ewk_view_feed_touch_event):
418         (ewk_view_pagination_mode_set):
419         (ewk_view_pagination_mode_get):
420         (ewk_view_fullscreen_exit):
421         (ewkViewPageContentsCallback):
422         (ewk_view_page_contents_get):
423         (ewk_view_source_mode_set):
424         (ewk_view_source_mode_get):
425
426             Those are now using exported C API.
427
428         * UIProcess/efl/WebView.cpp:
429         (WebKit::WebView::setShowsAsSource):
430         (WebKit):
431         (WebKit::WebView::showsAsSource):
432         (WebKit::WebView::exitFullScreen):
433         * UIProcess/efl/WebView.h:
434         (WebView):
435
436             Added WebView methods to support added WKView API.
437
438 2013-02-19  Andras Becsi  <andras.becsi@digia.com>
439
440         [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
441         https://bugs.webkit.org/show_bug.cgi?id=110220
442
443         Reviewed by Allan Sandfeld Jensen.
444
445         If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
446         no node was found for a given point, we hit ASSERT(node).
447         We should only assert for a valid node if a zoomable area was found.
448
449         * WebProcess/WebPage/WebPage.cpp:
450         (WebKit::WebPage::findZoomableAreaForPoint):
451
452 2013-02-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
453
454         Regression(r143273): Caused a lot of tests to time out
455         https://bugs.webkit.org/show_bug.cgi?id=110212
456
457         Reviewed by Anders Carlsson.
458
459         StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
460         should call their respective "*Internal" equivalent instead of calling themselves. This lead to
461         a lot of time outs on our build bots.
462
463         * UIProcess/Storage/StorageManager.cpp:
464         (WebKit::StorageManager::destroySessionStorageNamespace):
465         (WebKit::StorageManager::cloneSessionStorageNamespace):
466
467 2013-02-18  Carlos Garcia Campos  <cgarcia@igalia.com>
468
469         [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
470         https://bugs.webkit.org/show_bug.cgi?id=110125
471
472         Reviewed by Anders Carlsson.
473
474         This API is currently implemented caching all resources in the
475         WebView which causes some problems in documents loading resources
476         indefinitely. This API was used in WebKit1 mainly to implement
477         webkit_web_view_save(), but we already have such API in
478         WebKit2.
479
480         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
481         (didReceiveWebViewMessageFromInjectedBundle):
482         * UIProcess/API/gtk/WebKitWebView.cpp:
483         (_WebKitWebViewPrivate):
484         (webkitWebViewLoadChanged):
485         * UIProcess/API/gtk/WebKitWebView.h:
486         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
487         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
488         * UIProcess/API/gtk/tests/TestResources.cpp:
489         (testWebViewResources):
490         (testWebResourceGetData):
491
492 2013-02-18  Christophe Dumez  <dchris@gmail.com>
493
494         [WK2][EFL] Stop using internal C++ API in ewk_error
495         https://bugs.webkit.org/show_bug.cgi?id=108796
496
497         Reviewed by Benjamin Poulain.
498
499         Stop using internal C++ API in ewk_error and use C API instead of avoid
500         violating API layering.
501
502         * UIProcess/API/efl/ewk_error.cpp:
503         (EwkError::domain):
504         (EwkError::isCancellation):
505         (ewk_error_type_get):
506         * UIProcess/API/efl/ewk_error_private.h:
507         (EwkError):
508
509 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
510
511         Clean up the boolean argument to visibleContentRect
512         https://bugs.webkit.org/show_bug.cgi?id=110167
513
514         Reviewed by Simon Fraser.
515         
516         Replace the boolean argument to visibleContentRect() with
517         an enum.
518
519         * WebProcess/WebPage/WebFrame.cpp:
520         (WebKit::WebFrame::visibleContentBounds):
521         (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
522
523 2013-02-18  Anders Carlsson  <andersca@apple.com>
524
525         Add a DefaultHash for RefPtr<SecurityOrigin>
526         https://bugs.webkit.org/show_bug.cgi?id=110170
527
528         Reviewed by Andreas Kling.
529
530         Remove all explicit uses of SecurityOriginHash.
531
532         * UIProcess/Storage/StorageManager.cpp:
533         (StorageManager::SessionStorageNamespace):
534         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
535         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
536         * WebProcess/InjectedBundle/InjectedBundle.cpp:
537         (WebKit::InjectedBundle::originsWithApplicationCache):
538         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
539         Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
540         for looking up security origins.
541
542         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
543         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
544         This can just take a const reference.
545
546         * WebProcess/ResourceCache/WebResourceCacheManager.h:
547
548 2013-02-18  Anders Carlsson  <andersca@apple.com>
549
550         Begin stubbing out session storage classes
551         https://bugs.webkit.org/show_bug.cgi?id=110168
552
553         Reviewed by Andreas Kling.
554
555         * UIProcess/Storage/StorageManager.cpp:
556         (StorageManager::StorageArea):
557         (WebKit):
558         (WebKit::StorageManager::StorageArea::create):
559         (WebKit::StorageManager::StorageArea::StorageArea):
560         (WebKit::StorageManager::StorageArea::~StorageArea):
561         (StorageManager::SessionStorageNamespace):
562         (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
563         (WebKit::StorageManager::SessionStorageNamespace::create):
564         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
565         (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
566         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
567         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
568         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
569         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
570         * UIProcess/Storage/StorageManager.h:
571         (StorageManager):
572
573 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
574
575         [EFL][WK2] Add C API for popup menu and popup item
576         https://bugs.webkit.org/show_bug.cgi?id=109083
577
578         Reviewed by Anders Carlsson.
579
580         WK2 EFL delegates display of the popup menu to the browser which causes
581         us to have a strong interdependency between internal C++ classes
582         (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
583         (EwkView, EwkPopupMenu, EwkPopupMenuItem).
584
585         Since we want to remove this interdependency, this patch introduces a
586         for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
587         (WKPopupItem). It also introduces a WKPage client with callbacks for
588         showPopupMenu and hidePopupMenu.
589
590         Note that the popup menu functionality is covered by ewk_popup_menu API
591         tests and no functionality is lost.
592
593         * PlatformEfl.cmake: Add new files to EFL CMake config.
594         * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
595         WKPopupMenuListenerRef.
596         * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
597         platform.
598         * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
599         and WKPopupMenuListenerRef API types.
600         (WebKit):
601         (WebKit::toAPI):
602         * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
603         (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
604         client on the page.
605         * UIProcess/API/C/efl/WKPageEfl.h: Added.
606         * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
607         (WKPopupItemGetType):
608         (WKPopupItemGetTextDirection):
609         (WKPopupItemHasTextDirectionOverride):
610         (WKPopupItemCopyText):
611         (WKPopupItemCopyToolTipText):
612         (WKPopupItemCopyAccessibilityText):
613         (WKPopupItemIsEnabled):
614         (WKPopupItemIsLabel):
615         (WKPopupItemIsSelected):
616         * UIProcess/API/C/efl/WKPopupItem.h: Added.
617         * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
618         WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
619         client can report which popup menu item was selected.
620         (WKPopupMenuListenerSetSelection):
621         * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
622         * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
623         (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
624         (EwkView::requestPopupMenu):
625         * UIProcess/API/efl/EwkView.h:
626         (WebKit):
627         (EwkView):
628         * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
629         (EwkPopupMenu::EwkPopupMenu):
630         (EwkPopupMenu::setSelectedIndex):
631         * UIProcess/API/efl/ewk_popup_menu_private.h:
632         (EwkPopupMenu::create):
633         (EwkPopupMenu):
634         * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
635         the popup menu on EFL port instead of asking the WebPopupMenuProxy.
636         (WebKit::WebPageProxy::close):
637         (WebKit::WebPageProxy::showPopupMenu):
638         (WebKit::WebPageProxy::hidePopupMenu):
639         * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
640         corresponding initialization method.
641         (WebPageProxy):
642         * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
643         virtual methods on EFL port since we go via WKPageUIPopupMenuClient
644         for this now.
645         (WebPopupMenuProxy):
646         * UIProcess/efl/PageUIClientEfl.cpp:
647         (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
648         callbacks and call corresponding EwkView methods. Previously, the EwkView
649         methods were called by the internal WebPageProxyEfl class which is no
650         longer needed.
651         (WebKit::PageUIClientEfl::showPopupMenu):
652         (WebKit):
653         (WebKit::PageUIClientEfl::hidePopupMenu):
654         * UIProcess/efl/PageUIClientEfl.h:
655         (PageUIClientEfl):
656         * UIProcess/efl/WebPageProxyEfl.cpp:
657         (WebKit::WebPageProxy::initializeUIPopupMenuClient):
658         (WebKit):
659         * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
660         WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
661         (WebKit):
662         (WebKit::WebPopupItemEfl::WebPopupItemEfl):
663         (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
664         * UIProcess/efl/WebPopupItemEfl.h: Added.
665         (WebKit):
666         (WebPopupItemEfl):
667         (WebKit::WebPopupItemEfl::create):
668         (WebKit::WebPopupItemEfl::data):
669         (WebKit::WebPopupItemEfl::itemType):
670         (WebKit::WebPopupItemEfl::text):
671         (WebKit::WebPopupItemEfl::textDirection):
672         (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
673         (WebKit::WebPopupItemEfl::toolTipText):
674         (WebKit::WebPopupItemEfl::accessibilityText):
675         (WebKit::WebPopupItemEfl::isEnabled):
676         (WebKit::WebPopupItemEfl::isLabel):
677         (WebKit::WebPopupItemEfl::isSelected):
678         (WebKit::WebPopupItemEfl::type):
679         * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
680         Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
681         it more accurately represents its functionality now.
682         (WebKit):
683         (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
684         (WebKit::WebPopupMenuListenerEfl::valueChanged):
685         * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
686         (WebKit):
687         (WebPopupMenuListenerEfl):
688         (WebKit::WebPopupMenuListenerEfl::create):
689         * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
690         (WebUIPopupMenuClient::showPopupMenu):
691         (WebUIPopupMenuClient::hidePopupMenu):
692         * UIProcess/efl/WebUIPopupMenuClient.h: Added.
693         (WebKit):
694         (WebUIPopupMenuClient):
695         * UIProcess/efl/WebView.cpp:
696         (WebKit::WebView::createPopupMenuProxy):
697
698 2013-02-18  Anders Carlsson  <andersca@apple.com>
699
700         Add StorageManager member functions for keeping track of session storage namespaces
701         https://bugs.webkit.org/show_bug.cgi?id=110163
702
703         Reviewed by Andreas Kling.
704
705         * UIProcess/Storage/StorageManager.cpp:
706         (WebKit::StorageManager::createSessionStorageNamespace):
707         (WebKit):
708         (WebKit::StorageManager::destroySessionStorageNamespace):
709         (WebKit::StorageManager::cloneSessionStorageNamespace):
710         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
711         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
712         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
713         * UIProcess/Storage/StorageManager.h:
714         (StorageManager):
715         * UIProcess/WebContext.h:
716         (WebKit::WebContext::storageManager):
717         (WebContext):
718         * UIProcess/WebPageProxy.cpp:
719         (WebKit::WebPageProxy::WebPageProxy):
720         (WebKit::WebPageProxy::close):
721         (WebKit::WebPageProxy::createNewPage):
722
723 2013-02-18  Anders Carlsson  <andersca@apple.com>
724
725         StorageManager message handlers should take the connection
726         https://bugs.webkit.org/show_bug.cgi?id=110151
727
728         Reviewed by Andreas Kling.
729
730         * Platform/CoreIPC/HandleMessage.h:
731         (CoreIPC):
732         (CoreIPC::callMemberFunction):
733         (CoreIPC::handleMessage):
734         * Scripts/webkit2/messages.py:
735         (sync_message_statement):
736         (generate_message_handler):
737         * UIProcess/Storage/StorageManager.cpp:
738         (WebKit::StorageManager::createStorageArea):
739         (WebKit::StorageManager::destroyStorageArea):
740         (WebKit::StorageManager::getValues):
741         * UIProcess/Storage/StorageManager.h:
742         (StorageManager):
743         * UIProcess/Storage/StorageManager.messages.in:
744
745 2013-02-18  Christophe Dumez  <christophe.dumez@intel.com>
746
747         [EFL][WK2] Use C API inside ewk_security_origin
748         https://bugs.webkit.org/show_bug.cgi?id=107923
749
750         Reviewed by Alexey Proskuryakov.
751
752         Use C API inside ewk_security_origin instead of accessing
753         directly internal C++ classes, to avoid breaking API
754         layering.
755
756         * UIProcess/API/efl/EwkView.cpp:
757         (EwkView::enterFullScreen):
758         * UIProcess/API/efl/ewk_security_origin.cpp:
759         (EwkSecurityOrigin::EwkSecurityOrigin):
760         * UIProcess/API/efl/ewk_security_origin_private.h:
761         (EwkSecurityOrigin::create):
762         (EwkSecurityOrigin):
763
764 2013-01-04  Jer Noble  <jer.noble@apple.com>
765
766         pinch-zooming webpage messes up full-screening of embedded video
767         https://bugs.webkit.org/show_bug.cgi?id=106115
768
769         Reviewed by Maciej Stachowiak.
770
771         Reset the page scale when entering full screen, and reset to the original scale when exiting.
772
773         * UIProcess/mac/WKFullScreenWindowController.h:
774         * UIProcess/mac/WKFullScreenWindowController.mm:
775         (-[WKFullScreenWindowController enterFullScreen:]):
776         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
777
778 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
779
780         [EFL][WK2] Disable failing API tests
781         https://bugs.webkit.org/show_bug.cgi?id=110081
782
783         Reviewed by Kenneth Rohde Christiansen.
784
785         Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
786
787         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
788         (TEST_F):
789
790 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
791
792         [Qt][WK2] Support WK2 API tests
793         https://bugs.webkit.org/show_bug.cgi?id=109843
794
795         Reviewed by Jocelyn Turcotte.
796
797         * UIProcess/API/qt/qquickwebview_p.h:
798         (TestWebKitAPI):
799
800 2013-02-18  Andras Becsi  <andras.becsi@digia.com>
801
802         [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
803         https://bugs.webkit.org/show_bug.cgi?id=108337
804
805         Reviewed by Jocelyn Turcotte.
806
807         We should not ignore content position changes unless pinch zoom or bounce-back
808         animation is ongoing.
809         This way we notify the web process about visible rect changes if the contentX
810         and contentY properties are used to programmatically scroll the content from QML.
811         One important usecase for this is when implementing scrollbars.
812
813         * UIProcess/qt/PageViewportControllerClientQt.cpp:
814         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
815         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
816         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
817         (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
818         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
819         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
820
821 2013-02-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
822
823         [WK2][EFL] Unified text checker implementation
824         https://bugs.webkit.org/show_bug.cgi?id=107682
825
826         Reviewed by Anders Carlsson.
827
828         * UIProcess/efl/TextCheckerEfl.cpp:
829         (WebKit):
830         (WebKit::nextWordOffset):
831         Helper function to determine the word offset to do not call
832         client's checkSpellingOfString for the word separators.
833
834         (WebKit::TextChecker::checkTextOfParagraph):
835         Allow to check spelling for multiple words,
836         their misspelling location and length are saved to the vector.
837
838         * WebProcess/WebCoreSupport/WebEditorClient.h:
839         Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
840
841         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
842         (WebKit):
843         (WebKit::WebEditorClient::checkTextOfParagraph):
844         As spelling implementation is exposed to UIProcess,
845         send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
846
847 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
848
849         [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
850         https://bugs.webkit.org/show_bug.cgi?id=108598
851
852         Reviewed by Kenneth Rohde Christiansen.
853
854         Refactor the Ewk_Favicon code so that it no longer relies on internal
855         C++ API and so that it is based solely on the C API. The API is changed
856         a little as well so that the Favicon URL is no longer exposed to the
857         client. Also the client is now only notified of icon changes once the
858         favicon data is actually available.
859
860         The API is covered by existing API tests and by MiniBrowser which are
861         both updated accordingly in this patch.
862
863         * UIProcess/API/efl/EwkView.cpp:
864         (EwkView::informURLChange):
865         (EwkView::createFavicon):
866         (EwkView::onFaviconChanged):
867         * UIProcess/API/efl/EwkView.h:
868         (EwkView):
869         * UIProcess/API/efl/EwkViewCallbacks.h:
870         * UIProcess/API/efl/ewk_favicon_database.cpp:
871         Client are now notified of favicon changes only when the favicon data
872         becomes available and make API to retrieve a favicon synchronous. NULL
873         is returned if the favicon data is not available.
874
875         (EwkFaviconDatabase::EwkFaviconDatabase):
876         (EwkFaviconDatabase::getIconSurfaceSynchronously):
877         (EwkFaviconDatabase::iconDataReadyForPageURL):
878         (ewk_favicon_database_icon_get):
879         * UIProcess/API/efl/ewk_favicon_database.h:
880         * UIProcess/API/efl/ewk_favicon_database_private.h:
881         (EwkFaviconDatabase):
882         * UIProcess/API/efl/ewk_view.cpp:
883         (ewk_view_favicon_get):
884         * UIProcess/API/efl/ewk_view.h:
885         Rename 'icon,changed' signal to 'favicon,changed' for clarity and
886         consistency with the rest of the favicon API. Remove API to retrieve
887         the favicon URL and replace it by one to retrieve the favicon image as
888         an Evas_Object instead.
889
890         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
891         Update API tests to use the new favicon API.
892
893 2013-02-17  Jae Hyun Park  <jae.park@company100.net>
894
895         Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
896         https://bugs.webkit.org/show_bug.cgi?id=109893
897
898         Reviewed by Anders Carlsson.
899
900         DrawingAreaImpl::createGraphicsContext() is unnecessary since
901         createGraphicsContext can be called directly using ShareableBitmap.
902
903         * WebProcess/WebPage/DrawingAreaImpl.cpp:
904         (WebKit::DrawingAreaImpl::display):
905         * WebProcess/WebPage/DrawingAreaImpl.h:
906         (DrawingAreaImpl):
907
908 2013-02-17  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
909
910         [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
911         https://bugs.webkit.org/show_bug.cgi?id=109451
912
913         Reviewed by Anders Carlsson.
914
915         Remove fullscreen manager proxy as a message receiver on invalidate(), like
916         other ports do after r142160.
917
918         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
919         (WebKit::WebFullScreenManagerProxy::invalidate):
920
921 2013-02-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
922
923         Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
924         https://bugs.webkit.org/show_bug.cgi?id=110053
925
926         Reviewed by Alexey Proskuryakov.
927
928         Clear m_plugins in loadPluginsIfNecessary() before populating the
929         vector again. We get duplicates otherwise.
930
931         * UIProcess/Plugins/PluginInfoStore.cpp:
932         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
933
934 2013-02-16  Andreas Kling  <akling@apple.com>
935
936         Remove multi-threading gunk from PluginInfoStore.
937         <http://webkit.org/b/110046>
938
939         Reviewed by Alexey Proskuryakov.
940
941         PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
942         and stop making isolated copies of everything.
943
944         * Shared/Plugins/PluginModuleInfo.h:
945         (PluginModuleInfo):
946         * UIProcess/Plugins/PluginInfoStore.cpp:
947         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
948         (WebKit::PluginInfoStore::plugins):
949         (WebKit::PluginInfoStore::findPluginForMIMEType):
950         (WebKit::PluginInfoStore::findPluginForExtension):
951         (WebKit::PluginInfoStore::findPlugin):
952         (WebKit::PluginInfoStore::infoForPluginWithPath):
953         * UIProcess/Plugins/PluginInfoStore.h:
954         (PluginInfoStore):
955
956 2013-02-16  Sam Weinig  <sam@webkit.org>
957
958         Fix non-production builds.
959
960         * WebKit2.xcodeproj/project.pbxproj:
961
962 2013-02-16  Sam Weinig  <sam@webkit.org>
963
964         The Plugin.32 target does not build
965         https://bugs.webkit.org/show_bug.cgi?id=110032
966
967         Reviewed by Anders Carlsson.
968
969         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
970         This was meant to be removed already.
971
972         * WebKit2.xcodeproj/project.pbxproj:
973         Add Plugin.32 as dependency in All as it should be.
974
975 2013-02-16  Darin Adler  <darin@apple.com>
976
977         Fix WKDOMRangePrivate.h mistakes
978         https://bugs.webkit.org/show_bug.cgi?id=110028
979
980         Reviewed by Ryosuke Niwa.
981
982         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
983         Added include of WKDOMRangePrivate.h.
984
985         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
986         Fixed class name and include to be WKDOMRange.
987         Fixed method name, _copyBundleRangeHandleRef, to match the
988         name in the source file.
989
990 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
991
992         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
993         https://bugs.webkit.org/show_bug.cgi?id=109996
994
995         Reviewed by Simon Fraser.
996
997         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
998         (InitWebCoreSystemInterface):
999
1000 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1001
1002         Unreviewed, rolling out r143088.
1003         http://trac.webkit.org/changeset/143088
1004         https://bugs.webkit.org/show_bug.cgi?id=110000
1005
1006         Breaks the build (Requested by dgorbik on #webkit).
1007
1008         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1009         (InitWebCoreSystemInterface):
1010
1011 2013-02-15  Kiran Muppala  <cmuppala@apple.com>
1012
1013         Disable sudden termination on Mac
1014         https://bugs.webkit.org/show_bug.cgi?id=109990
1015
1016         Reviewed by Mark Rowe.
1017
1018         Sudden Termination is causing WebContent XPC services to be killed in
1019         response to memory pressure.  Hence, disable it until we can identify
1020         if it is being enabled in error or not.
1021
1022         * Shared/mac/ChildProcessMac.mm:
1023         (WebKit::ChildProcess::platformInitialize): Add call to
1024         [NSProcessInfo disableSuddenTermination].
1025
1026 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
1027
1028         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
1029         https://bugs.webkit.org/show_bug.cgi?id=109996
1030
1031         Reviewed by Simon Fraser.
1032
1033         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1034         (InitWebCoreSystemInterface):
1035
1036 2013-02-15  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1037
1038         [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
1039         https://bugs.webkit.org/show_bug.cgi?id=109216
1040
1041         Reviewed by Benjamin Poulain.
1042
1043         Only make calls into DrawingAreaProxy pointer after checking its state.
1044
1045         When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
1046         its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
1047         try to access the object to update the geometry and forward this information
1048         into the WebProcess. This would create a crash scenario that is fixed by this patch.
1049
1050         * UIProcess/API/qt/qquickwebview.cpp:
1051         (QQuickWebViewPrivate::didRelaunchProcess):
1052         (QQuickWebViewLegacyPrivate::updateViewportSize):
1053
1054 2013-02-15  Anders Carlsson  <andersca@apple.com>
1055
1056         Add HashMap::isValidKey and HashSet::isValidValue
1057         https://bugs.webkit.org/show_bug.cgi?id=109977
1058
1059         Reviewed by Sam Weinig and Darin Adler.
1060
1061         Just call HashMap::isValidKey directly.
1062
1063         * UIProcess/WebProcessProxy.cpp:
1064         (WebKit::generatePageID):
1065         Initialize the id to 0 and use prefix increment.
1066
1067         (WebKit::WebProcessProxy::webFrame):
1068         (WebKit::WebProcessProxy::canCreateFrame):
1069         (WebKit::WebProcessProxy::didDestroyFrame):
1070
1071 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
1072
1073         Typo fix after r143064.
1074
1075         * Platform/CoreIPC/win/ConnectionWin.cpp:
1076         (CoreIPC::Connection::sendOutgoingMessage):
1077
1078 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
1079
1080         One more buildfix after r143052.
1081
1082         * Platform/CoreIPC/win/ConnectionWin.cpp:
1083         (CoreIPC::Connection::sendOutgoingMessage):
1084
1085 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
1086
1087         Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
1088
1089         * Platform/unix/SharedMemoryUnix.cpp:
1090         (WebKit::SharedMemory::Handle::encode):
1091         * Platform/win/SharedMemoryWin.cpp:
1092         (WebKit::SharedMemory::Handle::encode):
1093         * Shared/Network/NetworkResourceLoadParameters.cpp:
1094         (WebKit::NetworkResourceLoadParameters::encode):
1095         * Shared/WebBatteryStatus.cpp:
1096         (WebKit::WebBatteryStatus::Data::encode):
1097         * Shared/WebNetworkInfo.cpp:
1098         (WebKit::WebNetworkInfo::Data::encode):
1099         * Shared/efl/LayerTreeContextEfl.cpp:
1100         (WebKit::LayerTreeContext::encode):
1101         * Shared/gtk/LayerTreeContextGtk.cpp:
1102         (WebKit::LayerTreeContext::encode):
1103         * Shared/qt/LayerTreeContextQt.cpp:
1104         (WebKit::LayerTreeContext::encode):
1105         * Shared/qt/QtNetworkReplyData.cpp:
1106         (WebKit::QtNetworkReplyData::encode):
1107         * Shared/qt/QtNetworkRequestData.cpp:
1108         (WebKit::QtNetworkRequestData::encode):
1109         * Shared/soup/PlatformCertificateInfo.cpp:
1110         (WebKit::PlatformCertificateInfo::encode):
1111
1112 2013-02-15  Anders Carlsson  <andersca@apple.com>
1113
1114         Make most ArgumentEncoder::encode member functions private
1115         https://bugs.webkit.org/show_bug.cgi?id=109973
1116
1117         Reviewed by Sam Weinig.
1118
1119         Make the encode overloads private; the stream operator should be used instead.
1120
1121         * Platform/CoreIPC/ArgumentEncoder.h:
1122         (ArgumentEncoder):
1123         * Platform/CoreIPC/Arguments.h:
1124         (CoreIPC::Arguments1::encode):
1125         (CoreIPC::Arguments2::encode):
1126         (CoreIPC::Arguments3::encode):
1127         (CoreIPC::Arguments4::encode):
1128         (CoreIPC::Arguments5::encode):
1129         (CoreIPC::Arguments6::encode):
1130         (CoreIPC::Arguments7::encode):
1131         (CoreIPC::Arguments8::encode):
1132         (CoreIPC::Arguments10::encode):
1133         * Platform/CoreIPC/Connection.cpp:
1134         (CoreIPC::Connection::createSyncMessageEncoder):
1135         * Platform/CoreIPC/MessageEncoder.cpp:
1136         (CoreIPC::MessageEncoder::MessageEncoder):
1137         * Scripts/webkit2/messages.py:
1138         (generate_message_handler):
1139         * Scripts/webkit2/messages_unittest.py:
1140         * Shared/Network/NetworkResourceLoadParameters.cpp:
1141         (WebKit::NetworkResourceLoadParameters::encode):
1142         * WebProcess/WebPage/EncoderAdapter.cpp:
1143         (WebKit::EncoderAdapter::EncoderAdapter):
1144         (WebKit::EncoderAdapter::encodeBytes):
1145         (WebKit::EncoderAdapter::encodeBool):
1146         (WebKit::EncoderAdapter::encodeUInt16):
1147         (WebKit::EncoderAdapter::encodeUInt32):
1148         (WebKit::EncoderAdapter::encodeUInt64):
1149         (WebKit::EncoderAdapter::encodeInt32):
1150         (WebKit::EncoderAdapter::encodeInt64):
1151         (WebKit::EncoderAdapter::encodeFloat):
1152         (WebKit::EncoderAdapter::encodeDouble):
1153         (WebKit::EncoderAdapter::encodeString):
1154
1155 2013-02-15  Anders Carlsson  <andersca@apple.com>
1156
1157         Add a synchronous GetValues message to StorageManager
1158         https://bugs.webkit.org/show_bug.cgi?id=109968
1159
1160         Reviewed by Sam Weinig.
1161
1162         * Platform/CoreIPC/Connection.cpp:
1163         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
1164         Handle synchronous messages.
1165
1166         (CoreIPC::Connection::processIncomingMessage):
1167         Check for work queue message receivers before doing any other processing.
1168
1169         * UIProcess/Storage/StorageManager.cpp:
1170         (WebKit::StorageManager::getValues):
1171         Add empty stub.
1172
1173         * UIProcess/Storage/StorageManager.h:
1174         * UIProcess/Storage/StorageManager.messages.in:
1175         Add GetValues message.
1176
1177         * WebProcess/Storage/StorageAreaProxy.cpp:
1178         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
1179         Send the GetValues message.
1180
1181 2013-02-15  Anders Carlsson  <andersca@apple.com>
1182
1183         A storage area should know its storage type
1184         https://bugs.webkit.org/show_bug.cgi?id=109964
1185
1186         Reviewed by Andreas Kling.
1187
1188         * WebProcess/Storage/StorageAreaProxy.cpp:
1189         (WebKit::StorageAreaProxy::StorageAreaProxy):
1190         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
1191         * WebProcess/Storage/StorageAreaProxy.h:
1192         (StorageAreaProxy):
1193         * WebProcess/Storage/StorageNamespaceProxy.cpp:
1194         (WebKit::StorageNamespaceProxy::storageType):
1195         (WebKit):
1196         * WebProcess/Storage/StorageNamespaceProxy.h:
1197         (StorageNamespaceProxy):
1198
1199 2013-02-15  Anders Carlsson  <andersca@apple.com>
1200
1201         Implement StorageAreaProxy::length
1202         https://bugs.webkit.org/show_bug.cgi?id=109962
1203
1204         Reviewed by Andreas Kling.
1205
1206         * WebProcess/Storage/StorageAreaProxy.cpp:
1207         (WebKit::StorageAreaProxy::length):
1208         Load the values if needed and then return the length.
1209
1210         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
1211         Add helper function.
1212
1213         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
1214         Just allocate the hash map for now.
1215
1216         * WebProcess/Storage/StorageAreaProxy.h:
1217         (StorageAreaProxy):
1218
1219 2013-02-15  Anders Carlsson  <andersca@apple.com>
1220
1221         Remove const from a bunch of StorageArea member functions
1222         https://bugs.webkit.org/show_bug.cgi?id=109957
1223
1224         Reviewed by Beth Dakin.
1225
1226         Update for WebCore changes.
1227
1228         * WebProcess/Storage/StorageAreaProxy.cpp:
1229         (WebKit::StorageAreaProxy::length):
1230         (WebKit::StorageAreaProxy::key):
1231         (WebKit::StorageAreaProxy::getItem):
1232         (WebKit::StorageAreaProxy::contains):
1233         (WebKit::StorageAreaProxy::canAccessStorage):
1234         (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
1235         * WebProcess/Storage/StorageAreaProxy.h:
1236         (StorageAreaProxy):
1237
1238 2013-02-15  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1239
1240         [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
1241         https://bugs.webkit.org/show_bug.cgi?id=107821
1242
1243         Reviewed by Anders Carlsson.
1244
1245         BatteryProvider and NetworkInfoProvider should use C API
1246         instead of accessing the internal C++ classes directly.
1247
1248         * UIProcess/API/efl/ewk_context.cpp:
1249         (EwkContext::EwkContext):
1250         * UIProcess/efl/BatteryProvider.cpp:
1251         (BatteryProvider::~BatteryProvider):
1252         (BatteryProvider::create):
1253         (BatteryProvider::BatteryProvider):
1254         (BatteryProvider::didChangeBatteryStatus):
1255         * UIProcess/efl/BatteryProvider.h:
1256         (BatteryProvider):
1257         * UIProcess/efl/NetworkInfoProvider.cpp:
1258         (NetworkInfoProvider::create):
1259         (NetworkInfoProvider::NetworkInfoProvider):
1260         (NetworkInfoProvider::~NetworkInfoProvider):
1261         * UIProcess/efl/NetworkInfoProvider.h:
1262         (NetworkInfoProvider):
1263
1264 2013-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1265
1266         [WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
1267         https://bugs.webkit.org/show_bug.cgi?id=109038
1268
1269         Reviewed by Anders Carlsson.
1270
1271         EFL API is defensive by its nature and expects graceful handling of wrong function arguments
1272         whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
1273         which provides handling of wrong arguments, to be used within EFL API layer code.
1274
1275         * UIProcess/API/efl/EwkView.cpp:
1276         (toEwkView):
1277
1278             EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
1279             as it's used within EwkView class only.        
1280
1281         (EwkView::handleTouchMove):
1282         * UIProcess/API/efl/EwkView.h:
1283         * UIProcess/API/efl/ewk_view.cpp:
1284         (toEwkViewChecked):
1285
1286 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1287
1288         [EFL][WK2] Have WebView subclass PageClient
1289         https://bugs.webkit.org/show_bug.cgi?id=109684
1290
1291         Reviewed by Anders Carlsson.
1292
1293         Stop constructing the PageClient in EwkView. PageClient is an internal
1294         class and we should not use it directly in our Ewk implementation.
1295         Instead, have WebView subclass PageClient. The PageClient implementation
1296         just calls WebView methods otherwise.
1297
1298         * PlatformEfl.cmake:
1299         * UIProcess/API/efl/EwkView.cpp:
1300         (EwkView::EwkView):
1301         (EwkView::setSize):
1302         * UIProcess/API/efl/EwkView.h:
1303         (WebKit):
1304         (EwkView):
1305         (EwkView::webView):
1306         * UIProcess/API/efl/ewk_view.cpp:
1307         * UIProcess/efl/PageClientBase.cpp: Removed.
1308         * UIProcess/efl/PageClientBase.h: Removed.
1309         * UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
1310         * UIProcess/efl/PageClientDefaultImpl.h: Removed.
1311         * UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
1312         * UIProcess/efl/PageClientLegacyImpl.h: Removed.
1313         * UIProcess/efl/PageLoadClientEfl.cpp:
1314         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
1315         * UIProcess/efl/PageViewportControllerClientEfl.h:
1316         * UIProcess/efl/WebPageProxyEfl.cpp:
1317         (WebKit::WebPageProxy::viewWidget):
1318         * UIProcess/efl/WebView.cpp:
1319         (WebKit::WebView::WebView):
1320         (WebKit::WebView::~WebView):
1321         (WebKit::WebView::initialize):
1322         (WebKit):
1323         (WebKit::WebView::evasObject):
1324         (WebKit::WebView::setThemePath):
1325         (WebKit::WebView::setDrawsBackground):
1326         (WebKit::WebView::drawsBackground):
1327         (WebKit::WebView::setDrawsTransparentBackground):
1328         (WebKit::WebView::drawsTransparentBackground):
1329         (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
1330         (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
1331         (WebKit::WebView::didCommitLoad):
1332         (WebKit::WebView::updateViewportSize):
1333         (WebKit::WebView::didChangeContentsSize):
1334         (WebKit::WebView::createDrawingAreaProxy):
1335         (WebKit::WebView::setViewNeedsDisplay):
1336         (WebKit::WebView::displayView):
1337         (WebKit::WebView::scrollView):
1338         (WebKit::WebView::viewSize):
1339         (WebKit::WebView::isViewWindowActive):
1340         (WebKit::WebView::isViewFocused):
1341         (WebKit::WebView::isViewVisible):
1342         (WebKit::WebView::isViewInWindow):
1343         (WebKit::WebView::processDidCrash):
1344         (WebKit::WebView::didRelaunchProcess):
1345         (WebKit::WebView::pageClosed):
1346         (WebKit::WebView::toolTipChanged):
1347         (WebKit::WebView::setCursor):
1348         (WebKit::WebView::setCursorHiddenUntilMouseMoves):
1349         (WebKit::WebView::registerEditCommand):
1350         (WebKit::WebView::clearAllEditCommands):
1351         (WebKit::WebView::canUndoRedo):
1352         (WebKit::WebView::executeUndoRedo):
1353         (WebKit::WebView::screenToWindow):
1354         (WebKit::WebView::windowToScreen):
1355         (WebKit::WebView::doneWithKeyEvent):
1356         (WebKit::WebView::doneWithTouchEvent):
1357         (WebKit::WebView::createPopupMenuProxy):
1358         (WebKit::WebView::createContextMenuProxy):
1359         (WebKit::WebView::createColorChooserProxy):
1360         (WebKit::WebView::setFindIndicator):
1361         (WebKit::WebView::enterAcceleratedCompositingMode):
1362         (WebKit::WebView::exitAcceleratedCompositingMode):
1363         (WebKit::WebView::updateAcceleratedCompositingMode):
1364         (WebKit::WebView::didCommitLoadForMainFrame):
1365         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
1366         (WebKit::WebView::customRepresentationZoomFactor):
1367         (WebKit::WebView::setCustomRepresentationZoomFactor):
1368         (WebKit::WebView::flashBackingStoreUpdates):
1369         (WebKit::WebView::findStringInCustomRepresentation):
1370         (WebKit::WebView::countStringMatchesInCustomRepresentation):
1371         (WebKit::WebView::updateTextInputState):
1372         (WebKit::WebView::handleDownloadRequest):
1373         (WebKit::WebView::convertToDeviceSpace):
1374         (WebKit::WebView::convertToUserSpace):
1375         (WebKit::WebView::didChangeViewportProperties):
1376         (WebKit::WebView::pageDidRequestScroll):
1377         (WebKit::WebView::didRenderFrame):
1378         (WebKit::WebView::pageTransitionViewportReady):
1379         * UIProcess/efl/WebView.h:
1380         (WebKit):
1381         (WebView):
1382         (WebKit::WebView::pageRef):
1383         (WebKit::WebView::page):
1384         (WebKit::WebView::canScrollView):
1385
1386 2013-02-15  Milian Wolff  <milian.wolff@kdab.com>
1387
1388         [Qt] Restore URL Scheme Delegates after QtWebProcess crash
1389         https://bugs.webkit.org/show_bug.cgi?id=108808
1390
1391         When the QtWebProcess crashes, the registered URL Scheme
1392         Delegates are not properly restored over IPC in the newly
1393         launched process instance.
1394
1395         Reviewed by Simon Hausmann.
1396
1397         * UIProcess/API/qt/qquickwebview.cpp:
1398         (QQuickWebViewPrivate::didRelaunchProcess):
1399         (QQuickWebViewPrivate::updateSchemeDelegates):
1400         * UIProcess/API/qt/qquickwebview_p_p.h:
1401         (QQuickWebViewPrivate):
1402
1403 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1404
1405         Simplify hitTestResultAtPoint and nodesFromRect APIs
1406         https://bugs.webkit.org/show_bug.cgi?id=95720
1407
1408         Reviewed by Julien Chaffraix and Maciej Stachowiak.
1409
1410         Update calls to new API and update exported symbols.
1411
1412         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
1413         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
1414         * WebProcess/WebPage/WebFrame.cpp:
1415         (WebKit::WebFrame::hitTest):
1416         * WebProcess/WebPage/WebPage.cpp:
1417         (WebKit::handleContextMenuEvent):
1418         (WebKit::WebPage::highlightPotentialActivation):
1419         (WebKit::WebPage::findZoomableAreaForPoint):
1420         * WebProcess/WebPage/mac/WebPageMac.mm:
1421         (WebKit::WebPage::characterIndexForPoint):
1422         (WebKit::WebPage::performDictionaryLookupAtLocation):
1423         (WebKit::WebPage::shouldDelayWindowOrderingEvent):
1424         (WebKit::WebPage::acceptsFirstMouse):
1425
1426 2013-02-14  Huang Dongsung  <luxtella@company100.net>
1427
1428         [WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
1429         https://bugs.webkit.org/show_bug.cgi?id=109885
1430
1431         Reviewed by Simon Fraser.
1432
1433         Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
1434         scrollOffset. So this patch corrects this misnaming.
1435
1436         In addition, all subclasses of LayerTreeHost don't use the misnamed
1437         scrollOffset in scrollNonCompositedContents(), so this patch removes the
1438         scrollOffset argument.
1439
1440         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1441         (WebKit::WebChromeClient::scroll):
1442         * WebProcess/WebCoreSupport/WebChromeClient.h:
1443         (WebChromeClient):
1444         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1445         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
1446         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1447         (CoordinatedLayerTreeHost):
1448         * WebProcess/WebPage/DrawingArea.h:
1449         (DrawingArea):
1450         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1451         (WebKit::DrawingAreaImpl::scroll):
1452         * WebProcess/WebPage/DrawingAreaImpl.h:
1453         (DrawingAreaImpl):
1454         * WebProcess/WebPage/LayerTreeHost.h:
1455         (LayerTreeHost):
1456         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1457         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
1458         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1459         (LayerTreeHostGtk):
1460         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1461         (LayerTreeHostMac):
1462         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1463         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
1464         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1465         (RemoteLayerTreeDrawingArea):
1466         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1467         (WebKit::RemoteLayerTreeDrawingArea::scroll):
1468         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1469         (TiledCoreAnimationDrawingArea):
1470         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1471         (WebKit::TiledCoreAnimationDrawingArea::scroll):
1472
1473 2013-02-14  Alexey Proskuryakov  <ap@apple.com>
1474
1475         <rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
1476         when running from recovery partition
1477
1478         Reviewed by Sam Weinig.
1479
1480         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1481         * WebProcess/com.apple.WebProcess.sb.in:
1482         Re-added /private/var/db/mds/system rules lost in r141445.
1483
1484 2013-02-14  Anders Carlsson  <andersca@apple.com>
1485
1486         Add WKContextIsPlugInUpdateAvailable
1487         https://bugs.webkit.org/show_bug.cgi?id=109862
1488         <rdar://problem/13173140>
1489
1490         Reviewed by Sam Weinig.
1491
1492         * UIProcess/API/C/mac/WKContextPrivateMac.h:
1493         * UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.
1494         (WKContextGetProcessSuppressionEnabled):
1495         (WKContextSetProcessSuppressionEnabled):
1496         (WKContextIsPlugInUpdateAvailable):
1497         * WebKit2.xcodeproj/project.pbxproj:
1498
1499 2013-02-14  Zan Dobersek  <zdobersek@igalia.com>
1500
1501         [GTK] Errors when building WebKit2 with Clang
1502         https://bugs.webkit.org/show_bug.cgi?id=109603
1503
1504         Reviewed by Alexey Proskuryakov.
1505
1506         * UIProcess/API/gtk/WebKitUIClient.cpp:
1507         (setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.
1508         * UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
1509         * UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline
1510         RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.
1511         * WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.
1512         The OVERRIDE keywords are thus unnecessary.
1513
1514 2013-02-14  David Kilzer  <ddkilzer@apple.com>
1515
1516         [Mac] Clean up WARNING_CFLAGS
1517         <http://webkit.org/b/109747>
1518         <rdar://problem/13208373>
1519
1520         Reviewed by Mark Rowe.
1521
1522         * Configurations/Base.xcconfig: Use
1523         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
1524         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
1525
1526 2013-02-14  Sam Weinig  <sam@webkit.org>
1527
1528         Add conversions between ObjC and C DOM wrappers
1529         <rdar://problem/13205468>
1530         https://bugs.webkit.org/show_bug.cgi?id=109851
1531
1532         Reviewed by Anders Carlsson.
1533
1534         * WebKit2.xcodeproj/project.pbxproj:
1535         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
1536         (WKBundleRangeHandleCreate):
1537         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
1538         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
1539         (-[WKDOMNode _copyBundleNodeHandleRef]):
1540         * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
1541         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
1542         (-[WKDOMRange _copyBundleRangeHandleRef]):
1543         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
1544         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
1545         (WebKit::InjectedBundleRangeHandle::getOrCreate):
1546         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
1547         (InjectedBundleRangeHandle):
1548
1549 2013-02-13  Anders Carlsson  <andersca@apple.com>
1550
1551         Remove StringPairVector
1552         https://bugs.webkit.org/show_bug.cgi?id=109778
1553
1554         Reviewed by Ryosuke Niwa.
1555
1556         Our message generation scripts can handle nested template parameter types now,
1557         so we no longer need to use StringPairVector.
1558
1559         * Shared/StringPairVector.h: Removed.
1560         * UIProcess/WebPageProxy.cpp:
1561         (WebKit::WebPageProxy::willSubmitForm):
1562         * UIProcess/WebPageProxy.h:
1563         (WebPageProxy):
1564         * UIProcess/WebPageProxy.messages.in:
1565         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1566         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1567
1568 2013-02-13  Dean Jackson  <dino@apple.com>
1569
1570         PlugIn Autostart should expire in 30 days, not half a day
1571         https://bugs.webkit.org/show_bug.cgi?id=109767
1572
1573         Reviewed by Brian Weinstein.
1574
1575         We forgot to multiply by 60 seconds in a minute.
1576
1577         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
1578
1579 2013-02-13  Anders Carlsson  <andersca@apple.com>
1580
1581         Message generation should handle nested templates
1582         https://bugs.webkit.org/show_bug.cgi?id=109771
1583
1584         Reviewed by Ryosuke Niwa.
1585
1586         Make it possible to have nested class template types as message parameters and
1587         correctly gather all the needed headers and argument coder headers.
1588
1589         * Scripts/webkit2/messages.py:
1590         (class_template_headers):
1591         Recursively figure out the types and template headers needed for a given type.
1592
1593         (argument_coder_headers_for_type):
1594         (headers_for_type):
1595         Call class_template_headers.
1596
1597         * Scripts/webkit2/messages_unittest.py:
1598         (CoreIPC):
1599         * Scripts/webkit2/parser.py:
1600         (split_parameters_string):
1601         (parse_parameters_string):
1602
1603 2013-02-13  David Farler  <dfarler@apple.com>
1604
1605         Make WebKit2 Derived Sources work with SDK identifiers too
1606         https://bugs.webkit.org/show_bug.cgi?id=109763
1607
1608         Reviewed by David Kilzer.
1609
1610         * WebKit2.xcodeproj/project.pbxproj: Pass SDKROOT=${SDKROOT} to DerivedSources.make
1611
1612 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
1613
1614         One more buildfix for !ENABLE(PLUGIN_PROCESS) platforms.
1615
1616         * WebProcess/WebProcess.cpp:
1617         (WebKit::WebProcess::WebProcess):
1618
1619 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
1620
1621         Unreviewed Qt-Mac and Qt-Win buildfix after r142768.
1622
1623         * WebProcess/WebProcess.h:
1624         (WebKit):
1625
1626 2013-02-13  Adam Barth  <abarth@webkit.org>
1627
1628         Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad
1629         https://bugs.webkit.org/show_bug.cgi?id=109733
1630
1631         Reviewed by Sam Weinig.
1632
1633         After http://trac.webkit.org/changeset/142555, this ASSERT is
1634         triggering on these tests:
1635
1636         fast/dom/window-load-crash.html
1637         fast/frames/seamless/seamless-hyperlink-named.html
1638         fast/frames/seamless/seamless-hyperlink.html
1639
1640         The ASSERT appears to be bogus. This patch removes it.
1641
1642         * UIProcess/WebFrameProxy.cpp:
1643         (WebKit::WebFrameProxy::didStartProvisionalLoad):
1644
1645 2013-02-13  Sam Weinig  <sam@webkit.org>
1646
1647         Consolidate main functions in WebKit2 now that they are all identical
1648         https://bugs.webkit.org/show_bug.cgi?id=109748
1649
1650         Reviewed by Anders Carlsson.
1651
1652         - Consolidates all the LegacyProcess main functions into ChildProcessMain.mm
1653         - Consolidates all the XPCService main functions into XPCServiceMain.mm and XPCServiceMain.Development.mm
1654         - Rename existing ChildProcessMain.h/mm to ChildProcessEntryPoint.h/mm to match the XPCService ones.
1655         - Switch LegacyProcess to use the "entry point in the plist" idiom, instead of hard coding each one, again
1656           matching the XPCService.
1657
1658         * Configurations/BaseLegacyProcess.xcconfig: Add base configuration to hold common legacy process options.
1659         * Configurations/BaseXPCService.xcconfig:
1660         * Configurations/NetworkProcess.xcconfig:
1661         * Configurations/OfflineStorageProcess.xcconfig:
1662         * Configurations/PluginProcess.xcconfig:
1663         * Configurations/SharedWorkerProcess.xcconfig:
1664         * Configurations/WebContentProcess.xcconfig: Renamed form  WebProcess.xcconfig.
1665         * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1666         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
1667         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Removed.
1668         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Removed.
1669         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Removed.
1670         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1671         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm:
1672         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Removed.
1673         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Removed.
1674         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Removed.
1675         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1676         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
1677         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Removed.
1678         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Removed.
1679         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Removed.
1680         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 
1681         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 
1682         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Removed.
1683         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Replaced.
1684         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Removed.
1685         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Removed.
1686         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Removed.
1687         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1688         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
1689         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1690         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
1691         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Removed.
1692         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1693         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
1694         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Removed.
1695         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Removed.
1696         * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Removed.
1697         * WebKit2.xcodeproj/project.pbxproj:
1698
1699 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1700
1701         [EFL][WK2] Stop using WebString in ewk_cookie_manager, ewk_form_submission_request and ewk_text_checker
1702         https://bugs.webkit.org/show_bug.cgi?id=108794
1703
1704         Reviewed by Alexey Proskuryakov.
1705
1706         Stop using WebString in ewk_cookie_manager, ewk_form_submission_request
1707         and ewk_text_checker as it is internal C++ API. WKString and
1708         WKEinaSharedString are used instead.
1709
1710         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
1711         (WKEinaSharedString::leakString): Add leakString() method to
1712         WKEinaSharedString so that we can conveniently convert a WKString to a
1713         Eina shared string and take ownership of it.
1714         * UIProcess/API/cpp/efl/WKEinaSharedString.h:
1715         * UIProcess/API/efl/ewk_cookie_manager.cpp:
1716         (getHostnamesWithCookiesCallback):
1717         * UIProcess/API/efl/ewk_form_submission_request.cpp:
1718         (EwkFormSubmissionRequest::copyFieldValue):
1719         (ewk_form_submission_request_field_names_get):
1720         (ewk_form_submission_request_field_value_get):
1721         * UIProcess/API/efl/ewk_form_submission_request_private.h:
1722         (EwkFormSubmissionRequest):
1723         * UIProcess/API/efl/ewk_text_checker.cpp:
1724         (checkSpellingOfString):
1725         (guessesForWord):
1726         (learnWord):
1727         (ignoreWord):
1728         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
1729         (TEST_F): Add API test for new WKEinaSharedString::leakString() method.
1730
1731 2013-02-13  Anders Carlsson  <andersca@apple.com>
1732
1733         Remove Connection::QueueClient
1734         https://bugs.webkit.org/show_bug.cgi?id=109744
1735
1736         Reviewed by Sam Weinig.
1737
1738         * Platform/CoreIPC/Connection.cpp:
1739         (CoreIPC::Connection::processIncomingMessage):
1740         (CoreIPC::Connection::connectionDidClose):
1741         * Platform/CoreIPC/Connection.h:
1742         (Connection):
1743
1744 2013-02-13  Anders Carlsson  <andersca@apple.com>
1745
1746         Try to fix the Lion build.
1747
1748         * WebProcess/WebPage/EventDispatcher.h:
1749         (EventDispatcher):
1750
1751 2013-02-13  Anders Carlsson  <andersca@apple.com>
1752
1753         Remove support for the DispatchOnConnectionQueue message attribute
1754         https://bugs.webkit.org/show_bug.cgi?id=109743
1755
1756         Reviewed by Sam Weinig.
1757
1758         * Platform/CoreIPC/HandleMessage.h:
1759         (CoreIPC):
1760         * Scripts/webkit2/messages.py:
1761         (handler_function):
1762         (generate_message_handler):
1763         * Scripts/webkit2/messages_unittest.py:
1764
1765 2013-02-13  Anders Carlsson  <andersca@apple.com>
1766
1767         StorageManager should be a WorkQueueMessageReceiver
1768         https://bugs.webkit.org/show_bug.cgi?id=109741
1769
1770         Reviewed by Sam Weinig.
1771
1772         * UIProcess/Storage/StorageManager.cpp:
1773         (WebKit::StorageManager::processWillOpenConnection):
1774         (WebKit::StorageManager::processWillCloseConnection):
1775         (WebKit::StorageManager::createStorageArea):
1776         (WebKit::StorageManager::destroyStorageArea):
1777         * UIProcess/Storage/StorageManager.h:
1778         (StorageManager):
1779         * UIProcess/Storage/StorageManager.messages.in:
1780
1781 2013-02-13  Anders Carlsson  <andersca@apple.com>
1782
1783         EventDispatcher should be a WorkQueueMessageReceiver
1784         https://bugs.webkit.org/show_bug.cgi?id=109736
1785
1786         Reviewed by Andreas Kling.
1787
1788         * WebProcess/WebPage/EventDispatcher.cpp:
1789         (WebKit::EventDispatcher::create):
1790         (WebKit):
1791         (WebKit::EventDispatcher::EventDispatcher):
1792         (WebKit::EventDispatcher::initializeConnection):
1793         (WebKit::EventDispatcher::wheelEvent):
1794         (WebKit::EventDispatcher::gestureEvent):
1795         * WebProcess/WebPage/EventDispatcher.h:
1796         (EventDispatcher):
1797         * WebProcess/WebPage/EventDispatcher.messages.in:
1798         * WebProcess/WebProcess.cpp:
1799         (WebKit::WebProcess::WebProcess):
1800         (WebKit::WebProcess::initializeConnection):
1801         * WebProcess/WebProcess.h:
1802         (WebKit):
1803         (WebKit::WebProcess::eventDispatcher):
1804         (WebProcess):
1805
1806 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1807
1808         Unreviewed build fix after r142768.
1809
1810         r142768 broke the EFL WK2 build due to wrong member initialization
1811         order in the WebProcess constructor initialization list.
1812
1813         * WebProcess/WebProcess.cpp:
1814         (WebKit::WebProcess::WebProcess):
1815
1816 2013-02-13  Anders Carlsson  <andersca@apple.com>
1817
1818         Make PluginProcessConnectionManager a WorkQueueMessageReceiver
1819         https://bugs.webkit.org/show_bug.cgi?id=109727
1820
1821         Reviewed by Andreas Kling.
1822
1823         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1824         (WebKit::PluginProcessConnectionManager::create):
1825         (WebKit):
1826         (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
1827         (WebKit::PluginProcessConnectionManager::initializeConnection):
1828         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
1829         * WebProcess/Plugins/PluginProcessConnectionManager.h:
1830         (PluginProcessConnectionManager):
1831         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
1832         * WebProcess/WebProcess.cpp:
1833         (WebKit::WebProcess::WebProcess):
1834         (WebKit::WebProcess::initializeConnection):
1835         (WebKit::WebProcess::pluginProcessConnectionManager):
1836         * WebProcess/WebProcess.h:
1837         (WebKit):
1838         (WebProcess):
1839
1840 2013-02-13  Anders Carlsson  <andersca@apple.com>
1841
1842         Make SecItemShimProxy be a WorkQueueMessageReceiver
1843         https://bugs.webkit.org/show_bug.cgi?id=109719
1844
1845         Reviewed by Sam Weinig.
1846
1847         This adds a WantsConnection message attribute to be used for messages whose handlers
1848         should take the connection the message was delivered to.
1849         
1850         * Platform/CoreIPC/HandleMessage.h:
1851         (CoreIPC::handleMessage):
1852         Add new handleMessage overload.
1853         
1854         * Scripts/webkit2/messages.py:
1855         (async_message_statement):
1856         (generate_message_handler):
1857         Handle the WantsMessage attribute.
1858
1859         * UIProcess/mac/SecItemShimProxy.cpp:
1860         (WebKit::SecItemShimProxy::shared):
1861         Use dispatch_once and adoptRef.
1862
1863         (WebKit::SecItemShimProxy::SecItemShimProxy):
1864         Initialize the queue.
1865
1866         (WebKit::SecItemShimProxy::initializeConnection):
1867         Add the proxy as a work queue message receiver.
1868
1869         (WebKit::SecItemShimProxy::secItemRequest):
1870         This no longer needs to call out to a dispatch queue, it's already on a queue.
1871
1872         * UIProcess/mac/SecItemShimProxy.messages.in:
1873         This doesn't need to be a legacy receiver. Also, add the WantsConnection message.
1874
1875 2013-02-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1876
1877         Unreviewed, rolling out r142736.
1878         http://trac.webkit.org/changeset/142736
1879         https://bugs.webkit.org/show_bug.cgi?id=109716
1880
1881         Broke ABI, nightly builds crash on launch (Requested by ap on
1882         #webkit).
1883
1884         * Shared/APIClientTraits.cpp:
1885         (WebKit):
1886         * Shared/APIClientTraits.h:
1887         * UIProcess/API/C/WKPage.h:
1888         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1889         (attachLoaderClientToView):
1890         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1891         * WebProcess/qt/QtBuiltinBundlePage.cpp:
1892         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1893
1894 2013-02-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1895
1896         [WK2][EFL] Cleanup of graphics related code in EwkView
1897         https://bugs.webkit.org/show_bug.cgi?id=109377
1898
1899         Reviewed by Anders Carlsson.
1900
1901         * UIProcess/API/efl/EwkView.cpp:
1902         (EwkView::EwkView):
1903
1904             Initialize the evasGL dependencies here and
1905             set m_isAccelerated to false if this fails.
1906
1907             Set the coordinated graphics scene as active
1908             when using fixed layout.
1909
1910         (EwkView::setSize):
1911
1912             Add a method to set the size and user-viewport
1913             transform from the outside. The idea is moving
1914             this to our pure WK C API in the future.
1915
1916         (EwkView::transformFromScene):
1917         (EwkView::transformToScene):
1918
1919             Update the transform methods to use the user-
1920             viewport transform.
1921
1922         (EwkView::paintToCurrentGLContext):
1923         (EwkView::paintToCairoSurface):
1924
1925             Add methods to paint to either the current GL context
1926             or to a given cairo_surface_t (for software fallback
1927             cases).
1928
1929         (EwkView::displayTimerFired):
1930
1931             Clean up and use the two above methods.
1932
1933         (EwkView::scheduleUpdateDisplay):
1934
1935             Use the new size() methods instead of using the 
1936             smart-object data directly.
1937
1938         (EwkView::createGLSurface):
1939
1940             Make this method use size() to query the surface size
1941             and avoid creating the context (done in ctor now).
1942             Also avoid using the smart-object data directly.
1943
1944         (EwkView::enterAcceleratedCompositingMode):
1945         (EwkView::exitAcceleratedCompositingMode):
1946
1947             Turn on/off the use of the coord. graphics scene.
1948
1949         (EwkView::handleEvasObjectCalculate):
1950
1951             Use the new setSize and setUserViewportTransform.
1952
1953         (EwkView::takeSnapshot):
1954         * UIProcess/API/efl/EwkView.h:
1955         (WebCore):
1956         (EwkView):
1957         (EwkView::size):
1958         (EwkView::setUserViewportTransform):
1959         (EwkView::userViewportTransform):
1960
1961             Add the new method definitions and rename isHardwareAccelerated
1962             to isAccelerated which fits better with the naming in WebCore.
1963
1964 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1965
1966         [EFL][WK2] Introduce WKViewClient C API
1967         https://bugs.webkit.org/show_bug.cgi?id=109559
1968
1969         Reviewed by Anders Carlsson.
1970
1971         This patch introduces the WKViewClient C API for EFL's WKView. The purpose of
1972         this new C API is to eventually remove the interdependency between EFL's
1973         PageClient and EwkView. When completed, PageClient should only interact with
1974         WebView and not be aware of EwkView so that we have a clean separation between
1975         internal WebKit2 classes and our EFL Ewk API implementation.
1976
1977         This patch is only a first step towards this goal as there is a lot of work
1978         to do to achieve complete separation between EwkView and PageClient. The purpose
1979         of this patch is to introduce the needed architecture which will later be
1980         extended by introducing new WKViewClient callbacks.
1981
1982         * PlatformEfl.cmake: Add new ViewClientEfl.cpp and WebViewClient.cpp to EFL's CMake
1983         configuration.
1984         * UIProcess/API/C/efl/WKView.cpp:
1985         (WKViewSetViewClient):
1986         * UIProcess/API/C/efl/WKView.h: Introduce new WKViewClient C API.
1987         * UIProcess/API/efl/EwkView.cpp:
1988         (EwkView::EwkView): Initialize ViewClientEfl.
1989         * UIProcess/API/efl/EwkView.h: Add new ViewClientEfl member.
1990         (WebKit):
1991         (EwkView):
1992         * UIProcess/API/efl/EwkViewCallbacks.h: Update ContentsSizeChanged smart callback to
1993         accept a WKSize in parameter instead of an IntRect.
1994         * UIProcess/efl/PageClientBase.cpp: Start calling WKViewClient callbacks instead of
1995         interacting directly with EwkView to avoid violating API layering.
1996         (WebKit::PageClientBase::view):
1997         (WebKit::PageClientBase::setViewNeedsDisplay):
1998         * UIProcess/efl/PageClientBase.h:
1999         (WebKit):
2000         (PageClientBase):
2001         * UIProcess/efl/PageClientDefaultImpl.cpp: Start calling WKViewClient callbacks instead of
2002         interacting directly with EwkView to avoid violating API layering.
2003         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
2004         * UIProcess/efl/PageClientLegacyImpl.cpp: Start calling WKViewClient callbacks instead of
2005         interacting directly with EwkView to avoid violating API layering.
2006         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
2007         * UIProcess/efl/ViewClientEfl.cpp:
2008         (WebKit):
2009         (WebKit::ViewClientEfl::toEwkView):
2010         (WebKit::ViewClientEfl::viewNeedsDisplay):
2011         (WebKit::ViewClientEfl::didChangeContentsSize):
2012         (WebKit::ViewClientEfl::ViewClientEfl):
2013         (WebKit::ViewClientEfl::~ViewClientEfl):
2014         * UIProcess/efl/ViewClientEfl.h: Introduce new ViewClientEfl which handles WKViewClient callbacks
2015         and interacts with EwkView.
2016         (WebKit):
2017         (ViewClientEfl):
2018         (WebKit::ViewClientEfl::create):
2019         * UIProcess/efl/WebView.cpp:
2020         (WebKit::WebView::initializeClient):
2021         (WebKit):
2022         (WebKit::WebView::setViewNeedsDisplay):
2023         (WebKit::WebView::didChangeContentsSize):
2024         * UIProcess/efl/WebView.h: Add new WebViewClient member and corresponding methods to interact
2025         with it.
2026         (WebView):
2027         * UIProcess/efl/WebViewClient.cpp:
2028         (WebKit):
2029         (WebKit::WebViewClient::viewNeedsDisplay):
2030         (WebKit::WebViewClient::didChangeContentsSize):
2031         * UIProcess/efl/WebViewClient.h: Add new WebViewClient APIClient for WKViewClient.
2032         (WebCore):
2033         (WebKit):
2034
2035 2013-02-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2036
2037         [WK2][EFL][WTR] Regression(r141836): WTR crashes on exit
2038         https://bugs.webkit.org/show_bug.cgi?id=109456
2039
2040         Reviewed by Anders Carlsson.
2041
2042         WebView destructor now considers the situation if its WebPageProxy
2043         instance had been closed from outside the class (explicitly
2044         by client code).
2045
2046         * UIProcess/efl/WebView.cpp:
2047         (WebKit::WebView::~WebView):
2048
2049 2013-02-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2050
2051         [WK2] Remove web intents callbacks
2052         https://bugs.webkit.org/show_bug.cgi?id=109654
2053
2054         Reviewed by Benjamin Poulain.
2055
2056         Web intents was removed by r142549.
2057
2058         * Shared/APIClientTraits.cpp:
2059         (WebKit):
2060         * Shared/APIClientTraits.h:
2061         * UIProcess/API/C/WKPage.h:
2062         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2063         (attachLoaderClientToView):
2064         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2065         * WebProcess/qt/QtBuiltinBundlePage.cpp:
2066         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2067
2068 2013-02-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2069
2070         [WK2] Page reloading will crash UIProcess after WebProcess was killed
2071         https://bugs.webkit.org/show_bug.cgi?id=109305
2072
2073         Reviewed by Benjamin Poulain.
2074
2075         Re-initialize the pointer to a WebInspectorProxy object before calling
2076         initializeWebPage().
2077
2078         When the WebProcess crashes, WebPageProxy::processDidCrash() will
2079         set WebInspectorProxy pointer to null, which later is accessed by
2080         initializeWebPage(). This patch avoids a crash scenario where
2081         calls into a null pointer would be made.
2082
2083         * UIProcess/WebPageProxy.cpp:
2084         (WebKit::WebPageProxy::reattachToWebProcess):
2085
2086 2013-02-12  Joseph Pecoraro  <pecoraro@apple.com>
2087
2088         [iOS] Enable PAGE_VISIBILITY_API
2089         https://bugs.webkit.org/show_bug.cgi?id=109399
2090
2091         Reviewed by David Kilzer.
2092
2093         * Configurations/FeatureDefines.xcconfig:
2094
2095 2013-02-12  Brady Eidson  <beidson@apple.com>
2096
2097         Update a comment in NetworkProcess to be more accurate.
2098
2099         Rubberstamped by Sam Weinig.
2100
2101         * NetworkProcess/NetworkProcess.cpp:
2102         (WebKit::NetworkProcess::didClose):
2103
2104 2013-02-12  Anders Carlsson  <andersca@apple.com>
2105
2106         SecItemShim should be a WorkQueueMessageReceiver
2107         https://bugs.webkit.org/show_bug.cgi?id=109636
2108
2109         Reviewed by Sam Weinig.
2110
2111         * Platform/CoreIPC/Connection.cpp:
2112         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
2113         Add a helper function for dispatching a work queue message receiver message.
2114
2115         (CoreIPC::Connection::processIncomingMessage):
2116         Check if there are any work queue message receivers registered for this message.
2117
2118         * Shared/mac/SecItemShim.cpp:
2119         (WebKit::SecItemShim::shared):
2120         Use dispatch_once instead of the AtomicallyInitializedStatic macro.
2121
2122         (WebKit::SecItemShim::SecItemShim):
2123         Initialize the queue.
2124
2125         (WebKit::SecItemShim::secItemResponse):
2126         Remove the connection parameter.
2127
2128         (WebKit::SecItemShim::initializeConnection):
2129         Register the shim object as a work queue message receiver.
2130
2131         * Shared/mac/SecItemShim.h:
2132         Inherit from WorkQueueMessageReceiver.
2133
2134         * Shared/mac/SecItemShim.messages.in:
2135         Remove LegacyReceiver and DispatchOnConnectionQueue.
2136
2137 2013-02-12  Sam Weinig  <sam@webkit.org>
2138
2139         Make Plug-in XPC services "join existing sessions"
2140         <rdar://problem/13196448>
2141
2142         Reviewed by Mark Rowe.
2143
2144         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
2145         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
2146         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
2147
2148 2013-02-12  Sam Weinig  <sam@webkit.org>
2149
2150         Add skeleton of the OfflineStorageProcess
2151         https://bugs.webkit.org/show_bug.cgi?id=109615
2152
2153         Reviewed by Anders Carlsson.
2154
2155         This adds the skeleton of a new process to contain Database and Local Storage
2156         backends in (hence, offline storage). We're adding a new process, rather than
2157         using the Network or UIProcesses, to allow us to tightly sandbox these activities
2158         away from networking and full filesystem access.
2159
2160         * Configurations/OfflineStorageProcess.xcconfig: Added.
2161         * Configurations/OfflineStorageService.Development.xcconfig: Added.
2162         * Configurations/OfflineStorageService.xcconfig: Added.
2163         * DerivedSources.make:
2164         * OfflineStorageProcess: Added.
2165         * OfflineStorageProcess/EntryPoint: Added.
2166         * OfflineStorageProcess/EntryPoint/mac: Added.
2167         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
2168         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
2169         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
2170         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
2171         * OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
2172         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
2173         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
2174         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
2175         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
2176         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
2177         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
2178         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
2179         * OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
2180         * OfflineStorageProcess/OfflineStorageProcess.h: Added.
2181         * OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
2182         * OfflineStorageProcess/mac: Added.
2183         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
2184         (WebKit::OfflineStorageProcess::initializeProcessName):
2185         (WebKit::OfflineStorageProcess::initializeSandbox):
2186         * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
2187         * Shared/OfflineStorage: Added.
2188         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
2189         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.
2190
2191         * Scripts/webkit2/messages.py:
2192         (struct_or_class):
2193         Added OfflineStorageProcessCreationParameters.
2194
2195         * WebKit2.xcodeproj/project.pbxproj:
2196
2197 2013-02-12  Jinwoo Song  <jinwoo7.song@samsung.com>
2198
2199         [EFL][WK2] Fix build warning after r142579
2200         https://bugs.webkit.org/show_bug.cgi?id=109547
2201
2202         Reviewed by Alexey Proskuryakov.
2203
2204         Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
2205
2206         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2207         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
2208
2209 2013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2210
2211         [EFL][WK2] Reenable ewk_auth_request API tests
2212         https://bugs.webkit.org/show_bug.cgi?id=108451
2213
2214         Reviewed by Benjamin Poulain.
2215
2216         ewk_auth_request API tests were temporarily disabled after
2217         the C API for resource loading was removed from WebKit2.
2218         This patches updates the tests so that they no longer rely
2219         on the resource loading events and renables them.
2220
2221         This patch also corrects the naming of the static variables
2222         in the test to follow more closely the WebKit coding style.
2223
2224         * PlatformEfl.cmake:
2225         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
2226         (serverCallback):
2227         (TEST_F):
2228         (onLoadFinished):
2229
2230 2013-02-12  Anders Carlsson  <andersca@apple.com>
2231
2232         Introduce a WorkQueueMessageReceiver class as a replacement for QueueClient
2233         https://bugs.webkit.org/show_bug.cgi?id=109612
2234
2235         Reviewed by Andreas Kling.
2236
2237         * Platform/CoreIPC/Connection.cpp:
2238         (CoreIPC::Connection::addWorkQueueMessageReceiver):
2239         (CoreIPC):
2240         (CoreIPC::Connection::removeWorkQueueMessageReceiver):
2241         (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
2242         (CoreIPC::Connection::removeWorkQueueMessageReceiverOnConnectionWorkQueue):
2243         * Platform/CoreIPC/Connection.h:
2244         (Connection):
2245
2246 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
2247
2248         Typo fix after r142663.
2249
2250         * GNUmakefile.list.am:
2251
2252 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
2253
2254         [WK2] Unreviewed trivial buildfix after r142630 and r142651.
2255
2256         * CMakeLists.txt:
2257         * GNUmakefile.list.am:
2258         * Target.pri:
2259         * UIProcess/Plugins/PluginProcessProxy.cpp:
2260         (WebKit::PluginProcessProxy::didFinishLaunching):
2261         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
2262         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
2263         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2264         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
2265
2266 2013-02-12  Anders Carlsson  <andersca@apple.com>
2267
2268         Change the queue client base class to be private everywhere
2269         https://bugs.webkit.org/show_bug.cgi?id=109604
2270
2271         Reviewed by Andreas Kling.
2272
2273         Move connection queue client registration inside of the respective queue client classes.
2274
2275         Also, it's too late to add queue clients in ChildProcessProxy::didFinishLaunching, so do this in
2276         ChildProcessProxy::connectionWillOpen instead.
2277         
2278         Finally, assert that queue clients are only being added and removed from the client thread.
2279
2280         * NetworkProcess/NetworkProcess.cpp:
2281         (WebKit::NetworkProcess::initializeConnection):
2282         * Platform/CoreIPC/Connection.cpp:
2283         (CoreIPC::Connection::addQueueClient):
2284         (CoreIPC::Connection::removeQueueClient):
2285         * Shared/mac/SecItemShim.cpp:
2286         (WebKit::SecItemShim::initializeConnection):
2287         (WebKit):
2288         * Shared/mac/SecItemShim.h:
2289         (SecItemShim):
2290         * UIProcess/Network/NetworkProcessProxy.cpp:
2291         (WebKit::NetworkProcessProxy::connectionWillOpen):
2292         (WebKit):
2293         (WebKit::NetworkProcessProxy::connectionWillClose):
2294         (WebKit::NetworkProcessProxy::didFinishLaunching):
2295         * UIProcess/Network/NetworkProcessProxy.h:
2296         (NetworkProcessProxy):
2297         * UIProcess/WebProcessProxy.cpp:
2298         (WebKit::WebProcessProxy::connectionWillOpen):
2299         (WebKit::WebProcessProxy::didFinishLaunching):
2300         * UIProcess/mac/SecItemShimProxy.cpp:
2301         (WebKit::SecItemShimProxy::initializeConnection):
2302         (WebKit):
2303         * UIProcess/mac/SecItemShimProxy.h:
2304         (SecItemShimProxy):
2305         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2306         (WebKit::PluginProcessConnectionManager::initializeConnection):
2307         (WebKit):
2308         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2309         (PluginProcessConnectionManager):
2310         * WebProcess/WebPage/EventDispatcher.cpp:
2311         (WebKit::EventDispatcher::initializeConnection):
2312         (WebKit):
2313         * WebProcess/WebPage/EventDispatcher.h:
2314         (EventDispatcher):
2315         * WebProcess/WebProcess.cpp:
2316         (WebKit::WebProcess::initializeConnection):
2317
2318 2013-02-12  Brady Eidson  <beidson@apple.com>
2319
2320         Add WKContext API to retrieve basic network process statistics
2321         https://bugs.webkit.org/show_bug.cgi?id=109329
2322
2323         Reviewed by Sam Weinig.
2324
2325         This patch adds a WKContextGetStatisticsWithOptions which allows the client to ask for
2326         certain types of statistics.
2327
2328         It also expands the "get statistics" callback mechanism to allow for a statistics request 
2329         to be answered by multiple child processes.
2330
2331         That mechanism still has some rough edges but will eventually allow for getting statistics
2332         from multiple web processes, as well.
2333
2334         * NetworkProcess/HostRecord.cpp:
2335         (WebKit::HostRecord::pendingRequestCount):
2336         (WebKit::HostRecord::activeLoadCount):
2337         * NetworkProcess/HostRecord.h:
2338
2339         * NetworkProcess/NetworkProcess.cpp:
2340         (WebKit::NetworkProcess::getNetworkProcessStatistics):
2341         * NetworkProcess/NetworkProcess.h:
2342         * NetworkProcess/NetworkProcess.messages.in:
2343
2344         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2345         (WebKit::NetworkResourceLoadScheduler::hostsPendingCount):
2346         (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
2347         (WebKit::NetworkResourceLoadScheduler::hostsActiveCount):
2348         (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
2349         * NetworkProcess/NetworkResourceLoadScheduler.h:
2350
2351         * Shared/Authentication/AuthenticationManager.h:
2352         (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
2353         * Shared/Downloads/DownloadManager.h:
2354
2355         * UIProcess/API/C/WKContext.cpp:
2356         (WKContextGetStatistics):
2357         (WKContextGetStatisticsWithOptions):
2358         * UIProcess/API/C/WKContext.h:
2359
2360         * UIProcess/StatisticsRequest.cpp: Added.
2361         (WebKit::StatisticsRequest::StatisticsRequest):
2362         (WebKit::StatisticsRequest::~StatisticsRequest):
2363         (WebKit::StatisticsRequest::addOutstandingRequest):
2364         (WebKit::addToDictionaryFromHashMap):
2365         (WebKit::createDictionaryFromHashMap):
2366         (WebKit::StatisticsRequest::completedRequest):
2367         * UIProcess/StatisticsRequest.h: Added.
2368         (WebKit::StatisticsRequest::create):
2369
2370         * UIProcess/WebContext.cpp:
2371         (WebKit::WebContext::networkingProcessConnection):
2372         (WebKit::WebContext::getStatistics):
2373         (WebKit::WebContext::requestWebContentStatistics):
2374         (WebKit::WebContext::requestNetworkingStatistics):
2375         (WebKit::WebContext::didGetStatistics):
2376         * UIProcess/WebContext.h:
2377         * UIProcess/WebContext.messages.in:
2378
2379         * WebProcess/WebProcess.cpp:
2380         (WebKit::WebProcess::getWebCoreStatistics):
2381
2382         * WebKit2.xcodeproj/project.pbxproj:
2383
2384 2013-02-12  Anders Carlsson  <andersca@apple.com>
2385
2386         Build fix.
2387
2388         Add back the files to the Xcode project that were removed in r142580.
2389
2390         * WebKit2.xcodeproj/project.pbxproj:
2391         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2392
2393 2013-02-12  Jessie Berlin  <jberlin@apple.com>
2394
2395         Build fix after r142540 and r142518
2396
2397         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2398         (WebKit::PluginProcessConnectionManager::didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue):
2399         This function was added to the header in r142518 but not implemented in that revision.
2400         It wasn't a problem until r142540 started using it.
2401         Add a stub implementation for it.
2402
2403 2013-02-11  Brady Eidson  <beidson@apple.com>
2404
2405         Make PluginProcessProxy a ChildProcessProxy.
2406         https://bugs.webkit.org/show_bug.cgi?id=109513
2407
2408         Reviewed by Anders Carlsson.
2409
2410         * Shared/ChildProcessProxy.h: Inherit from ThreadSafeRefCounted.
2411         * UIProcess/Network/NetworkProcessProxy.h: Don't inherit from RefCounted.
2412         * UIProcess/WebProcessProxy.h: Don't inherit from ThreadSafeRefCounted
2413         * UIProcess/Plugins/PluginProcessProxy.h: Don't inherit from RefCounted, do inherit from ChildProcessProxy
2414
2415         Rely on ChildProcessProxy for process launcher management and launch options:
2416         * UIProcess/Plugins/PluginProcessProxy.cpp:
2417         (WebKit::PluginProcessProxy::PluginProcessProxy):
2418         (WebKit::PluginProcessProxy::getLaunchOptions):
2419         (WebKit::PluginProcessProxy::getPluginProcessConnection):
2420         (WebKit::PluginProcessProxy::getSitesWithData):
2421         (WebKit::PluginProcessProxy::clearSiteData):
2422         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2423         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
2424         (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
2425
2426 2013-02-11  Alexey Proskuryakov  <ap@apple.com>
2427
2428         <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerManagement.control
2429
2430         Reviewed by Sam Weinig.
2431
2432         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2433
2434 2013-02-11  Huang Dongsung  <luxtella@company100.net>
2435
2436         Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
2437         https://bugs.webkit.org/show_bug.cgi?id=108922
2438
2439         Reviewed by Noam Rosenthal.
2440         Signed off for WebKit2 by Benjamin Poulain.
2441
2442         Currently, CoordinatedGraphicsScene has two methods to know contents
2443         size: setContentsSize() and setVisibleContentsRect(). Contents size is
2444         used when adjusting a scroll position, but adjustment is not needed
2445         because EFL and Qt platform code (currently PageViewportController)
2446         already adjusts a scroll position, and it is natural for each platform
2447         to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
2448         not know contents size.
2449
2450         In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
2451         to get CoordinatedGraphicsScene.
2452
2453         * UIProcess/API/qt/qquickwebpage.cpp:
2454         (QQuickWebPagePrivate::updateSize):
2455         * UIProcess/API/qt/raw/qrawwebview.cpp:
2456         (QRawWebView::setSize):
2457         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
2458         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
2459         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
2460         (CoordinatedLayerTreeHostProxy):
2461         * UIProcess/efl/PageClientLegacyImpl.cpp:
2462         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
2463         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2464         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
2465
2466 2013-02-11  Huang Dongsung  <luxtella@company100.net>
2467
2468         Coordinated Graphics: remove the DidChangeScrollPosition message.
2469         https://bugs.webkit.org/show_bug.cgi?id=108051
2470
2471         Reviewed by Noam Rosenthal.
2472         Signed off for WebKit2 by Benjamin Poulain.
2473
2474         Currently, we use the DidChangeScrollPosition message to send the scroll
2475         position that WebCore used in this frame to UI Process. We had to have
2476         some member variables for the DidChangeScrollPosition message.
2477         However, we can send a scroll position via the DidRenderFrame message,
2478         because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
2479         updated at the moment of flushing. So we can remove the
2480         DidChangeScrollPosition message and some redundant member variables.
2481
2482         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
2483         (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
2484         (WebKit):
2485         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
2486         (CoordinatedLayerTreeHostProxy):
2487         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
2488           Remove the DidChangeScrollPosition message.
2489         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2490         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2491         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
2492           Send a scroll position via the DidChangeScrollPosition message.
2493         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
2494           Don't send a scroll position because flushPendingLayerChanges() does
2495           that. In addition, it is weird to check if we must send a scroll
2496           position at the moment of sending the SyncLayerState message of every
2497           layers.
2498         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
2499         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2500
2501 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2502
2503         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
2504         https://bugs.webkit.org/show_bug.cgi?id=109534
2505
2506         Reviewed by Anders Carlsson.
2507
2508         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2509         (WebKit):
2510         * WebProcess/WebCoreSupport/WebEditorClient.h:
2511
2512 2013-02-11  Jae Hyun Park  <jae.park@company100.net>
2513
2514         [EFL] Build fix
2515         https://bugs.webkit.org/show_bug.cgi?id=109518
2516
2517         Reviewed by Laszlo Gombos.
2518
2519         Fix EFL build by including PluginProcessConnectionManager.messages.in in
2520         CMakeLists.txt
2521
2522         * CMakeLists.txt:
2523
2524 2013-02-11  Anders Carlsson  <andersca@apple.com>
2525
2526         Fix build.
2527
2528         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2529         (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
2530         * WebProcess/WebProcess.cpp:
2531
2532 2013-02-11  Seulgi Kim  <seulgikim@company100.net>
2533
2534         [GTK] Build fix.
2535         https://bugs.webkit.org/show_bug.cgi?id=109516
2536
2537         Reviewed by Csaba Osztrogonác.
2538
2539         PluginProcessConnectionManagerMessages are omitted from messages list.
2540
2541         * GNUmakefile.list.am:
2542
2543 2013-02-11  Tim Horton  <timothy_horton@apple.com>
2544
2545         [WK2] setMinimumLayoutWidth should bail if there's no WebProcess
2546         https://bugs.webkit.org/show_bug.cgi?id=109512
2547         <rdar://problem/13093627>
2548
2549         Reviewed by Anders Carlsson.
2550
2551         * UIProcess/WebPageProxy.cpp:
2552         (WebKit::WebPageProxy::setMinimumLayoutWidth):
2553
2554 2013-02-11  Anders Carlsson  <andersca@apple.com>
2555
2556         PluginProcessConnectionManager should be a QueueClient
2557         https://bugs.webkit.org/show_bug.cgi?id=109496
2558
2559         Reviewed by Andreas Kling.
2560
2561         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2562         (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
2563         (WebKit):
2564         (WebKit::PluginProcessConnectionManager::didCloseOnConnectionWorkQueue):
2565         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2566         (PluginProcessConnectionManager):
2567         * WebProcess/WebProcess.cpp:
2568         (WebKit::WebProcess::initializeConnection):
2569         * WebProcess/WebProcess.h:
2570         (WebProcess):
2571
2572 2013-02-11  Csaba Osztrogonác  <ossy@webkit.org>
2573
2574         Unreviewed WK2 buildfix after r142518.
2575
2576         * DerivedSources.pri:
2577
2578 2013-02-11  Gavin Barraclough  <barraclough@apple.com>
2579
2580         PluginProcess should quit immediately if idle in response to low-memory notifications
2581         https://bugs.webkit.org/show_bug.cgi?id=109103
2582         <rdar://problem/12679827>
2583
2584         Reviewed by Brady Eidson.
2585
2586         PluginProcess now installs a MemoryPressureHandler for the process, providing
2587         a custom callback which will call terminate if appropriate (if the plugin is not
2588         currently in use).
2589
2590         * PluginProcess/PluginProcess.cpp:
2591         (WebKit::PluginProcess::lowMemoryHandler):
2592             - Custom callback to terminate if appropriate.
2593         (WebKit::PluginProcess::initializeProcess):
2594             - Install the MemoryPressureHandler.
2595         (WebKit::PluginProcess::shouldTerminate):
2596             - This method now also needs to be callable in situations where it might return false.
2597         * PluginProcess/PluginProcess.h:
2598         (PluginProcess):
2599             - Added declaration for lowMemoryHandler.
2600
2601 2013-02-11  Anders Carlsson  <andersca@apple.com>
2602
2603         Move the PluginProcessCrashed message to PluginProcessConnectionManager
2604         https://bugs.webkit.org/show_bug.cgi?id=109493
2605
2606         Reviewed by Andreas Kling.
2607
2608         This is in preparation for making PluginProcessConnectionManager a connection queue client.
2609
2610         * DerivedSources.make:
2611         * UIProcess/Plugins/PluginProcessProxy.cpp:
2612         (WebKit::PluginProcessProxy::didClose):
2613         * WebKit2.xcodeproj/project.pbxproj:
2614         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2615         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2616         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2617         (PluginProcessConnectionManager):
2618         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in: Added.
2619         * WebProcess/WebProcess.cpp:
2620         (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
2621         (WebKit::WebProcess::webResourceLoadScheduler):
2622         * WebProcess/WebProcess.h:
2623         (WebProcess):
2624         * WebProcess/WebProcess.messages.in:
2625
2626 2013-02-11  Benjamin Poulain  <benjamin@webkit.org>
2627
2628         Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
2629         https://bugs.webkit.org/show_bug.cgi?id=109349
2630
2631         Reviewed by Sam Weinig.
2632
2633         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2634         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2635         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2636         * WebProcess/InjectedBundle/InjectedBundle.h:
2637         (InjectedBundle):
2638
2639 2013-02-11  Dean Jackson  <dino@apple.com>
2640
2641         Snapshotted plug-in should use shadow root
2642         https://bugs.webkit.org/show_bug.cgi?id=108284
2643
2644         Reviewed by Simon Fraser.
2645
2646         Take three of this commit - after rollout in r142400 and r142405.
2647         We no longer have any need for plugInStartLabelImage.
2648
2649         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2650         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
2651         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
2652         * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
2653
2654 2013-02-11  Anders Carlsson  <andersca@apple.com>
2655
2656         The plug-in process connection manager doesn't need to be heap allocated
2657         https://bugs.webkit.org/show_bug.cgi?id=109479
2658
2659         Reviewed by Andreas Kling.
2660
2661         * WebProcess/WebProcess.cpp:
2662         (WebKit::WebProcess::WebProcess):
2663         (WebKit::WebProcess::pluginProcessConnectionManager):
2664         (WebKit::WebProcess::pluginProcessCrashed):
2665         * WebProcess/WebProcess.h:
2666         (WebKit):
2667         (WebProcess):
2668
2669 2013-02-11  Tony Chang  <tony@chromium.org>
2670
2671         Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings
2672         https://bugs.webkit.org/show_bug.cgi?id=87149
2673
2674         Reviewed by Simon Fraser.
2675
2676         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2677         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add setFrameFlatteningEnabled to the list of overridable values.
2678
2679 2013-02-11  Claudio Saavedra  <csaavedra@igalia.com>
2680
2681         [WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
2682         https://bugs.webkit.org/show_bug.cgi?id=108459
2683
2684         Reviewed by Alexey Proskuryakov.
2685
2686         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
2687         (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
2688         Providers might return 0 and we will end up with a null-pointer dereference.
2689         Early check against this.
2690
2691 2013-02-10  Sam Weinig  <sam@webkit.org>
2692
2693         Make the Plug-in XPCService build work even when building in Xcode
2694         <rdar://problem/13011186>
2695         https://bugs.webkit.org/show_bug.cgi?id=109392
2696
2697         Reviewed by Anders Carlsson.
2698
2699         * Configurations/DebugRelease.xcconfig:
2700         Add a DEBUG_OR_RELEASE variable to test against.
2701         * Configurations/PluginService.32.xcconfig:
2702         * Configurations/PluginService.64.xcconfig:
2703         In non-production builds, don't link against WebKit2, so that we don't get warnings about WebKit2.framework
2704         not containing the right architectures. This is ok, as these services are not used in non-production builds.
2705
2706         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
2707         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
2708         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
2709         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
2710         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
2711         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
2712         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
2713         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
2714         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
2715         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
2716         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
2717         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
2718         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
2719         * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
2720         Switch off the the old idiom of defining a macro for the initializer function, and instead set
2721         it in the Info.plist, so the XPCServiceBootstrapper can grab it.
2722
2723         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
2724         (WebKit::XPCServiceEventHandler):
2725         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
2726         (WebKit::XPCServiceEventHandler):
2727         Get the entry point from the bundle, rather than the macro. This is not only a bit less gross,
2728         but also allows us to build without having linked against WebKit2.framework.
2729
2730         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2731         (WebKit::shouldUseXPC):
2732         Re-enable using XPC for plug-ins.
2733
2734         * WebKit2.xcodeproj/project.pbxproj:
2735         Update project.
2736
2737 2013-02-10  Anders Carlsson  <andersca@apple.com>
2738
2739         Add back code that was accidentally removed when moving plug-in enumeration back to the main thread
2740         https://bugs.webkit.org/show_bug.cgi?id=109379
2741
2742         Reviewed by Andreas Kling.
2743
2744         * UIProcess/WebProcessProxy.cpp:
2745         (WebKit::WebProcessProxy::getPlugins):
2746
2747 2013-02-10  Kent Tamura  <tkent@chromium.org>
2748
2749         Unreviewed, rolling out r142347.
2750         http://trac.webkit.org/changeset/142347
2751         https://bugs.webkit.org/show_bug.cgi?id=108273
2752
2753         Because a depending change r142343 was rolled out.
2754
2755         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2756         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2757         (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
2758         (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
2759
2760 2013-02-10  Kent Tamura  <tkent@chromium.org>
2761
2762         Unreviewed, rolling out r142343.
2763         http://trac.webkit.org/changeset/142343
2764         https://bugs.webkit.org/show_bug.cgi?id=108284
2765
2766         It might make inspector/profiler/selector-profiler-url.html
2767         crashy.
2768
2769         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2770         (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage):
2771         (WebKit):
2772         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2773         (InjectedBundlePageUIClient):
2774         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2775         (WebKit::WebChromeClient::plugInStartLabelImage):
2776         (WebKit):
2777         * WebProcess/WebCoreSupport/WebChromeClient.h:
2778         (WebChromeClient):
2779
2780 2013-02-10  Zan Dobersek  <zdobersek@igalia.com>
2781
2782         [WebKit2][Gtk] Remove the fullscreen manager proxy message receiver upon invalidating
2783         https://bugs.webkit.org/show_bug.cgi?id=109352
2784
2785         Reviewed by Sam Weinig.
2786
2787         As added for the Mac port in r142160 due to the changes in the same revision, remove
2788         the fullscreen manager proxy as a message receiver. Also fixes a failing unit test.
2789
2790         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
2791         (WebKit::WebFullScreenManagerProxy::invalidate):
2792
2793 2013-02-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2794
2795         [WK2] Fix build on PLUGIN_ARCHITECTURE(UNSUPPORTED) after r142314
2796         https://bugs.webkit.org/show_bug.cgi?id=109364
2797
2798         Reviewed by Simon Hausmann.
2799
2800         void NetscapePlugin::platformPreInitialize() is need to be added to NetscapePluginNone.cpp.
2801
2802         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
2803         (WebKit::NetscapePlugin::platformPreInitialize):
2804         (WebKit):
2805
2806 2013-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2807
2808         Unreviewed, rolling out r137328.
2809         http://trac.webkit.org/changeset/137328
2810         https://bugs.webkit.org/show_bug.cgi?id=109367
2811
2812         causes memory usage to balloon if connection queue is filling
2813         faster than sending (Requested by kling on #webkit).
2814
2815         * Platform/CoreIPC/ArgumentEncoder.cpp:
2816         (CoreIPC::ArgumentEncoder::ArgumentEncoder):
2817         (CoreIPC::ArgumentEncoder::grow):
2818         * Platform/CoreIPC/ArgumentEncoder.h:
2819         (CoreIPC::ArgumentEncoder::buffer):
2820         (ArgumentEncoder):
2821
2822 2013-02-08  Sam Weinig  <sam@webkit.org>
2823
2824         Fix ASSERT when the Web Content Process crashes
2825         https://bugs.webkit.org/show_bug.cgi?id=109346
2826
2827         Reviewed by Simon Fraser.
2828
2829         * UIProcess/WebPageProxy.cpp:
2830         (WebKit::WebPageProxy::processDidCrash):
2831         We need to remove ourselves as a message receiver before calling out to the client, as
2832         the client might want to re-add us (as Safari does).
2833
2834 2013-02-08  Benjamin Poulain  <bpoulain@apple.com>
2835
2836         Move workerThreadCount from TestRunner to WebCore Internals
2837         https://bugs.webkit.org/show_bug.cgi?id=109239
2838
2839         Reviewed by Darin Adler.
2840
2841         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2842         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2843         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2844         * WebProcess/InjectedBundle/InjectedBundle.h:
2845         (InjectedBundle):
2846         * WebProcess/WebPage/WebFrame.cpp: Remove a useless #include.
2847
2848 2013-02-08  Dean Jackson  <dino@apple.com>
2849
2850         Remove use of plugInStartLabelImage
2851         https://bugs.webkit.org/show_bug.cgi?id=108273
2852
2853         Reviewed by Simon Fraser.
2854
2855         Remove any use of plugInStartLabelImage. While there, implement plugInStartLabelTitle
2856         and plugInStartLabelSubtitle to return the values from the client.
2857         implement them.
2858
2859         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Remove callback and entry from client structure.
2860         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2861         (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle): Ask the client bundle for value.
2862         (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle): Ditto.
2863
2864 2013-02-08  Dean Jackson  <dino@apple.com>
2865
2866         Snapshotted plug-in should use shadow root
2867         https://bugs.webkit.org/show_bug.cgi?id=108284
2868
2869         Reviewed by Simon Fraser.
2870
2871         Take two of this commit! We no longer have any need for plugInStartLabelImage.
2872
2873         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2874         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
2875         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
2876         * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
2877
2878 2013-02-08  Dean Jackson  <dino@apple.com>
2879
2880         Rolling out r142333 and r142337 which broke Mac Release builds.
2881
2882 2013-02-08  Anders Carlsson  <andersca@apple.com>
2883
2884         Move plug-in enumeration back to the main thread
2885         https://bugs.webkit.org/show_bug.cgi?id=109337
2886         <rdar://problem/12015046>
2887
2888         Reviewed by Andreas Kling.
2889
2890         Plug-in enumeration was moved to a separate work queue to improve responsiveness, but
2891         doing so lead to crashes when WebKit1 would enumerate plug-ins on the main thread at the same time.
2892         Bug <rdar://problem/13185819> tracks fixing the responsiveness issue by spawning a plug-in process
2893         and have it do the enumeration.
2894
2895         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2896         (WebKit::getPluginInfoFromCarbonResources):
2897         * UIProcess/WebProcessProxy.cpp:
2898         (WebKit::WebProcessProxy::connectionWillOpen):
2899         (WebKit::WebProcessProxy::connectionWillClose):
2900         (WebKit::WebProcessProxy::getPlugins):
2901         * UIProcess/WebProcessProxy.h:
2902         (WebCore):
2903         (WebProcessProxy):
2904         * UIProcess/WebProcessProxy.messages.in:
2905         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2906         (WebKit):
2907         (WebKit::WebPlatformStrategies::populatePluginCache):
2908         * WebProcess/WebProcess.cpp:
2909         * WebProcess/WebProcess.h:
2910         (WebProcess):
2911         * WebProcess/WebProcess.messages.in:
2912
2913 2013-02-08  Dean Jackson  <dino@apple.com>
2914
2915         Snapshotted plug-in should use shadow root
2916         https://bugs.webkit.org/show_bug.cgi?id=108284
2917
2918         Reviewed by Simon Fraser.
2919
2920         We no longer have any need for plugInStartLabelImage.
2921
2922         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2923         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
2924         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
2925         * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
2926
2927 2013-02-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2928
2929         [WK2] Fix the build on !Mac after r142314.
2930         https://bugs.webkit.org/show_bug.cgi?id=109327
2931
2932         Reviewed by Benjamin Poulain.
2933
2934         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2935         (WebKit::NetscapePlugin::platformPreInitialize): Add a stub for
2936         the newly-added function.
2937
2938         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2939         (WebKit::NetscapePlugin::platformPreInitialize):
2940         (WebKit):
2941
2942 2013-02-07  Anders Carlsson  <andersca@apple.com>
2943
2944         Work around a bug in Flash where NSException objects can be released too early
2945         https://bugs.webkit.org/show_bug.cgi?id=109242
2946         <rdar://problem/13003470>
2947
2948         Reviewed by Darin Adler.
2949
2950         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2951         (WebKit::NetscapePluginModule::determineQuirks):
2952         Set the new plug-in quirk.
2953
2954         * Shared/Plugins/PluginQuirks.h:
2955         Add a new plug-in quirk.
2956
2957         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2958         (WebKit::NetscapePlugin::initialize):
2959         Call platformPreInitialize.
2960
2961         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2962         (NetscapePlugin):
2963         Add platformPreInitialize.
2964
2965         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2966         (WebKit::NSException_release):
2967         Add new empty function.
2968
2969         (WebKit::NetscapePlugin::platformPreInitialize):
2970         Patch -[NSException release] to be a no-op.
2971
2972 2013-02-08  Dean Jackson  <dino@apple.com>
2973
2974         Do not register autostart for plugins from file:// (or nowhere)
2975         https://bugs.webkit.org/show_bug.cgi?id=108271
2976
2977         Reviewed by Tim Horton.
2978
2979         If the pageOrigin is the empty string don't add
2980         it to the auto-start origin list for snapshotting.
2981
2982         * WebProcess/WebProcess.cpp:
2983         (WebKit::WebProcess::addPlugInAutoStartOrigin):
2984
2985 2013-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2986
2987         Unreviewed, rolling out r142212.
2988         http://trac.webkit.org/changeset/142212
2989         https://bugs.webkit.org/show_bug.cgi?id=109255
2990
2991         Causes ASSERT(!m_installed) on launch (Requested by smfr on
2992         #webkit).
2993
2994         * PluginProcess/PluginProcess.cpp:
2995         (WebKit::PluginProcess::initializeProcess):
2996         (WebKit::PluginProcess::shouldTerminate):
2997         * PluginProcess/PluginProcess.h:
2998         (PluginProcess):
2999         * WebProcess/WebProcess.cpp:
3000         (WebKit::WebProcess::initializeWebProcess):
3001
3002 2013-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3003
3004         [EFL][WK2] Remove dead code after r142169
3005         https://bugs.webkit.org/show_bug.cgi?id=109251
3006
3007         Reviewed by Benjamin Poulain.
3008
3009         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3010         (WebKit::WebChromeClient::contentsSizeChanged):
3011
3012 2013-02-06  Gavin Barraclough  <barraclough@apple.com>
3013
3014         PluginProcess should quit immediately if idle in response to low-memory notifications
3015         https://bugs.webkit.org/show_bug.cgi?id=109103
3016         <rdar://problem/12679827>
3017
3018         Reviewed by Darin Adler.
3019
3020         PluginProcess now initializes a MemoryPressureHandler for the process, providing
3021         a custom callback which will call terminate if appropriate (if the plugin is not
3022         currently in use).
3023
3024         * PluginProcess/PluginProcess.cpp:
3025         (WebKit::PluginProcess::lowMemoryHandler):
3026             - Custom callback to terminate if appropriate.
3027         (WebKit::PluginProcess::initializeProcess):
3028             - Initialize the MemoryPressureHandler.
3029         (WebKit::PluginProcess::shouldTerminate):
3030             - This method now also needs to be callable in situations where it might return false.
3031         * PluginProcess/PluginProcess.h:
3032         (PluginProcess):
3033             - Added declaration for lowMemoryHandler.
3034         * WebProcess/WebProcess.cpp:
3035         (WebKit::WebProcess::initializeWebProcess):
3036             - MemoryPressureHandler::install is now called via MemoryPressureHandler::initialize.
3037
3038 2013-02-07  KwangYong Choi  <ky0.choi@samsung.com>
3039
3040         Fix build warning after r142017
3041         https://bugs.webkit.org/show_bug.cgi?id=109119
3042
3043         Reviewed by Alexey Proskuryakov.
3044
3045         Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
3046
3047         * UIProcess/WebPageProxy.cpp:
3048         (WebKit::WebPageProxy::getPluginPath):
3049
3050 2013-02-07  Martin Robinson  <mrobinson@igalia.com>
3051
3052         [GTK] Cleanup command-line defines
3053         https://bugs.webkit.org/show_bug.cgi?id=109213
3054
3055         Reviewed by Xan Lopez.
3056
3057         * GNUmakefile.am:  Remove references to flags that are now
3058         provided by autotoolsconfig.h.
3059
3060 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
3061
3062         Move pauseAnimation/pauseTransition from TestRunner to Internals
3063         https://bugs.webkit.org/show_bug.cgi?id=109107
3064
3065         Reviewed by Anders Carlsson.
3066
3067         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3068         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
3069         * WebProcess/WebPage/WebFrame.cpp:
3070         * WebProcess/WebPage/WebFrame.h:
3071         (WebFrame):
3072
3073 2013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3074
3075         [WK2][EFL] Removal of non coordinated graphics code path from WK2 EFL
3076         https://bugs.webkit.org/show_bug.cgi?id=109165
3077
3078         Reviewed by Anders Carlsson.
3079
3080         Removed non coordinated graphics code path from WK2 EFL as it was not used by
3081         anyone and caused a lot of preprocessor macros in the code making it less readable.
3082
3083         * UIProcess/API/efl/EvasGLContext.cpp:
3084         * UIProcess/API/efl/EvasGLContext.h:
3085         (WebKit::EvasGLContext::context):
3086         * UIProcess/API/efl/EvasGLSurface.cpp:
3087         * UIProcess/API/efl/EvasGLSurface.h:
3088         (WebKit::EvasGLSurface::surface):
3089
3090             Removed also 'inline' and 'const' keywords from functions declaration,
3091             as both EvasGLContext::context() and EvasGLSurface::surface()
3092             are defined inside their classes and return mutable pointer.
3093
3094         * UIProcess/API/efl/EwkView.cpp:
3095         (EwkView::EwkView):
3096         (EwkView::transformFromScene):
3097         (EwkView::transformToScreen):
3098         (EwkView::coordinatedGraphicsScene):
3099         (EwkView::displayTimerFired):
3100         (EwkView::scheduleUpdateDisplay): Renamed from EwkView::update().
3101         (EwkView::exitAcceleratedCompositingMode):
3102         (EwkView::handleEvasObjectCalculate):
3103         (EwkView::takeSnapshot):
3104         * UIProcess/API/efl/EwkView.h:
3105         (WebCore):
3106         (EwkView):
3107         * UIProcess/API/efl/SnapshotImageGL.cpp:
3108         (getImageSurfaceFromFrameBuffer):
3109         * UIProcess/API/efl/SnapshotImageGL.h:
3110         * UIProcess/API/efl/ewk_view.cpp:
3111         * UIProcess/efl/PageClientBase.cpp:
3112         (WebKit::PageClientBase::setViewNeedsDisplay):
3113         (WebKit::PageClientBase::updateAcceleratedCompositingMode):
3114         * UIProcess/efl/PageClientBase.h:
3115         (PageClientBase):
3116         * UIProcess/efl/PageClientDefaultImpl.cpp:
3117         (WebKit::PageClientDefaultImpl::didCommitLoad):
3118         (WebKit::PageClientDefaultImpl::updateViewportSize):
3119         (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
3120         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
3121         (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
3122         * UIProcess/efl/PageClientDefaultImpl.h:
3123         (PageClientDefaultImpl):
3124         * UIProcess/efl/PageClientLegacyImpl.cpp:
3125         (WebKit::PageClientLegacyImpl::didCommitLoad):
3126         (WebKit::PageClientLegacyImpl::updateViewportSize):
3127         (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
3128         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
3129         (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
3130         (WebKit::PageClientLegacyImpl::didRenderFrame):
3131         (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
3132         * UIProcess/efl/PageClientLegacyImpl.h:
3133         (PageClientLegacyImpl):
3134         * UIProcess/efl/PageLoadClientEfl.cpp:
3135         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
3136         (WebKit::PageLoadClientEfl::PageLoadClientEfl):
3137         * UIProcess/efl/PageLoadClientEfl.h:
3138         (PageLoadClientEfl):
3139         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3140         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
3141         (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
3142         * UIProcess/efl/PageViewportControllerClientEfl.h:
3143         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3144         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3145         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3146         (WebKit::WebChromeClient::contentsSizeChanged):
3147
3148 2013-02-06  Sam Weinig  <sam@webkit.org>
3149
3150         Make WebPageProxy and sub-objects MessageReceivers
3151         https://bugs.webkit.org/show_bug.cgi?id=108785
3152
3153         Reviewed by Anders Carlsson.
3154
3155         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
3156         (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
3157         (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
3158         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
3159         (CoordinatedLayerTreeHostProxy):
3160         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
3161         * UIProcess/DrawingAreaProxy.cpp:
3162         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
3163         (WebKit::DrawingAreaProxy::~DrawingAreaProxy):
3164         (WebKit::DrawingAreaProxy::contentsRect):
3165         * UIProcess/DrawingAreaProxy.h:
3166         (WebKit::DrawingAreaProxy::setVisibleContentsRect):
3167         * UIProcess/DrawingAreaProxy.messages.in:
3168         * UIProcess/DrawingAreaProxyImpl.cpp:
3169         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
3170         * UIProcess/DrawingAreaProxyImpl.h:
3171         * UIProcess/WebFullScreenManagerProxy.cpp:
3172         (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
3173         * UIProcess/WebFullScreenManagerProxy.h:
3174         (WebFullScreenManagerProxy):
3175         * UIProcess/WebFullScreenManagerProxy.messages.in:
3176         * UIProcess/WebInspectorProxy.cpp:
3177         (WebKit::WebInspectorProxy::WebInspectorProxy):
3178         (WebKit::WebInspectorProxy::invalidate):
3179         * UIProcess/WebInspectorProxy.h:
3180         * UIProcess/WebInspectorProxy.messages.in:
3181         * UIProcess/WebPageProxy.cpp:
3182         (WebKit::WebPageProxy::WebPageProxy):
3183         (WebKit::WebPageProxy::reattachToWebProcess):
3184         (WebKit::WebPageProxy::close):
3185         (WebKit::WebPageProxy::inspector):
3186         (WebKit::WebPageProxy::fullScreenManager):
3187         (WebKit::WebPageProxy::processDidCrash):
3188         * UIProcess/WebPageProxy.h:
3189         * UIProcess/WebPageProxy.messages.in:
3190         * UIProcess/WebProcessProxy.cpp:
3191         (WebKit::WebProcessProxy::didReceiveMessage):
3192         (WebKit::WebProcessProxy::didReceiveSyncMessage):
3193         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
3194         (WebKit::WebFullScreenManagerProxy::invalidate):
3195
3196 2013-02-07  Zan Dobersek  <zdobersek@igalia.com>
3197
3198         [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
3199         https://bugs.webkit.org/show_bug.cgi?id=109198
3200
3201         Reviewed by Martin Robinson.
3202
3203         * GNUmakefile.am: Remove the FARSTREAM_(CFLAGS|LIBS) variables, they're
3204         not set to anything.
3205
3206 2013-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3207
3208         [WK2][EFL] Add WKView methods related to background drawing
3209         https://bugs.webkit.org/show_bug.cgi?id=109159
3210
3211         Reviewed by Anders Carlsson.
3212
3213         * UIProcess/API/C/efl/WKView.cpp:
3214         (WKViewSetDrawsBackground):
3215         (WKViewGetDrawsBackground):
3216         (WKViewSetDrawsTransparentBackground):
3217         (WKViewGetDrawsTransparentBackground):
3218          * UIProcess/efl/WebView.cpp:
3219         (WebKit::WebView::setDrawsBackground):
3220         (WebKit):
3221         (WebKit::WebView::drawsBackground):
3222         (WebKit::WebView::setDrawsTransparentBackground):
3223         (WebKit::WebView::drawsTransparentBackground):
3224         * UIProcess/efl/WebView.h:
3225         (WebView):
3226        * UIProcess/API/C/efl/WKView.h:
3227
3228             New methods added
3229
3230         * UIProcess/API/efl/EwkView.cpp:
3231         (EwkView::EwkView):
3232         (EwkView::displayTimerFired):
3233         (EwkView::handleEvasObjectColorSet):
3234         * UIProcess/API/efl/EwkView.h:
3235         (EwkView):
3236         * UIProcess/API/efl/ewk_view.cpp:
3237         (ewk_view_draws_page_background_set):
3238
3239             Remove the unneeded m_setDrawsBackground and replace
3240             it with the WKView setting.
3241
3242 2013-02-07  Christophe Dumez  <dchris@gmail.com>
3243
3244         [EFL][WK2] EWK2UnitTestBase.ewk_view_page_contents_get API test is sometimes failing
3245         https://bugs.webkit.org/show_bug.cgi?id=108634
3246
3247         Reviewed by Alexey Proskuryakov.
3248
3249         Use more robust data validation in EWK2UnitTestBase.ewk_view_page_contents_get
3250         so that the test passes consistently. The issue was that the header before the
3251         data includes the current date. Depending on the date, the data may start at a
3252         different index in the returned string. Instead of hardcoding the data start
3253         index in the test, we now use String::contains().
3254
3255         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3256         (PageContentsCallback):
3257         (TEST_F):
3258
3259 2013-02-07  Gavin Peters  <gavinp@chromium.org>
3260
3261         Unreviewed, rolling out r142141.
3262         http://trac.webkit.org/changeset/142141
3263         https://bugs.webkit.org/show_bug.cgi?id=108990
3264
3265         Reland r142112, will update Chromium expectations and create a
3266         Chromium bug instead for the crash.
3267
3268         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3269         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3270         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3271         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
3272
3273 2013-02-07  Gavin Peters  <gavinp@chromium.org>
3274
3275         Unreviewed, rolling out r142112.
3276         http://trac.webkit.org/changeset/142112
3277         https://bugs.webkit.org/show_bug.cgi?id=108990
3278
3279         The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
3280
3281         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
3282
3283         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3284         (WebKit::updateOffsetFromViewportForSelf):
3285         (WebKit):
3286         (WebKit::updateOffsetFromViewportForLayer):
3287         (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
3288         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3289         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3290         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
3291
3292 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3293
3294         [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
3295         https://bugs.webkit.org/show_bug.cgi?id=108990
3296
3297         Reviewed by Noam Rosenthal.
3298         Signed off for WebKit2 by Simon Fraser.
3299
3300         WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
3301         don't need to traverse the tree every frame to get this information.
3302
3303         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: remove
3304         syncFixedLayers() and its helper functions. Those were used to identify the fixed layers
3305         and are not needed anymore.
3306         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3307         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3308         (WebKit::DrawingAreaImpl::DrawingAreaImpl): enable the scrolling coordinator usage for
3309         Coordinated Graphics.
3310
3311 2013-02-07  Michael Brüning  <michael.bruning@digia.com>
3312
3313         [Qt][WK2] Fold QtWebPageLoadClient into QQuickWebViewPrivate and move to C API.
3314         https://bugs.webkit.org/show_bug.cgi?id=108473
3315
3316         Reviewed by Simon Hausmann.
3317         Signed off for WebKit2 by Benjamin Poulain.
3318
3319         This patch removes the QtWebPageLoadClient and moves the functionality into the
3320         QQuickWebViewPrivate as most callback methods are calling the private webview
3321         indirectly anyway.
3322
3323         The patch also moves as much of the functionality to the C API as is possible with
3324         the current C API.
3325
3326         * Target.pri:
3327         * UIProcess/API/qt/qquickwebview.cpp:
3328         (QQuickWebViewPrivate::initialize):
3329         (QQuickWebViewPrivate::didStartProvisionalLoadForFrame):
3330         (QQuickWebViewPrivate::didReceiveServerRedirectForProvisionalLoadForFrame):
3331         (QQuickWebViewPrivate::didFailLoad):
3332         (QQuickWebViewPrivate::didCommitLoadForFrame):
3333         (QQuickWebViewPrivate::didFinishLoadForFrame):
3334         (QQuickWebViewPrivate::didSameDocumentNavigationForFrame):
3335         (QQuickWebViewPrivate::didReceiveTitleForFrame):
3336         (QQuickWebViewPrivate::didStartProgress):
3337         (QQuickWebViewPrivate::didChangeProgress):
3338         (QQuickWebViewPrivate::didFinishProgress):
3339         (QQuickWebViewPrivate::didChangeBackForwardList):
3340         (QQuickWebViewPrivate::setTransparentBackground):
3341         (QQuickWebViewPrivate::transparentBackground):
3342         (QQuickWebViewPrivate::loadProgressDidChange):
3343         * UIProcess/API/qt/qquickwebview_p.h:
3344         (WebKit):
3345         * UIProcess/API/qt/qquickwebview_p_p.h:
3346         (WebKit):
3347         (QQuickWebViewPrivate):
3348         * UIProcess/qt/QtWebError.cpp:
3349         (WebKit::QtWebError::url):
3350         * UIProcess/qt/QtWebPageLoadClient.cpp: Removed.
3351         * UIProcess/qt/QtWebPageLoadClient.h: Removed.
3352
3353 2013-02-05  Eunmi Lee  <eunmi15.lee@samsung.com> and Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3354
3355         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
3356         https://bugs.webkit.org/show_bug.cgi?id=97173
3357
3358         Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
3359
3360         Initialize and shutdown the EFL libraries in the ewk_main.cpp for
3361         UIProcess and WebProcessMainEfl.cpp for WebProcess.
3362
3363         This allows us to shut down the libraries in a proper way, since
3364         RunLoop persist until the process exits.
3365
3366         * UIProcess/API/efl/ewk_main.cpp:
3367         (ewk_init):
3368         (ewk_shutdown):
3369         * WebProcess/efl/WebProcessMainEfl.cpp:
3370         (WebKit::WebProcessMainEfl):
3371
3372 2013-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3373
3374         Unreviewed build fix.
3375
3376         * UIProcess/Downloads/DownloadProxyMap.cpp:
3377         (WebKit::DownloadProxyMap::processDidClose):
3378         m_process can't be initialized nullptr yet. Use 0 instead of nullptr.
3379
3380 2013-02-07  Simon Hausmann  <simon.hausmann@digia.com>
3381
3382         [Qt][WK2] Fold QtWebPageFindClient into QQuickWebViewPrivate
3383         https://bugs.webkit.org/show_bug.cgi?id=108920
3384
3385         Reviewed by Jocelyn Turcotte, signed off for WK2 by Benjamin.
3386
3387         Employ the pattern suggested by Jocelyn to simply implement the C
3388         callbacks directly using static functions.
3389
3390         * Target.pri:
3391         * UIProcess/API/qt/qquickwebview.cpp:
3392         (toQQuickWebViewPrivate):
3393         (QQuickWebViewPrivate::initialize):
3394         (QQuickWebViewPrivate::didFindString):
3395         (QQuickWebViewPrivate::didFailToFindString):
3396         * UIProcess/API/qt/qquickwebview_p_p.h:
3397         (QQuickWebViewPrivate):
3398         * UIProcess/qt/QtWebPageFindClient.cpp: Removed.
3399         * UIProcess/qt/QtWebPageFindClient.h: Removed.
3400
3401 2013-02-03  Sam Weinig  <sam@webkit.org>
3402
3403         Make CustomProtocolManagerProxy a MessageReceiver
3404         https://bugs.webkit.org/show_bug.cgi?id=108787
3405
3406         Reviewed by Anders Carlsson.
3407
3408         * Shared/ChildProcessProxy.cpp:
3409         (WebKit::ChildProcessProxy::addMessageReceiver):
3410         (WebKit::ChildProcessProxy::removeMessageReceiver):
3411         (WebKit::ChildProcessProxy::dispatchMessage):
3412         (WebKit::ChildProcessProxy::dispatchSyncMessage):
3413         * Shared/ChildProcessProxy.h:
3414         Sink the MessageReceiverMap down into the ChildProcessProxy.
3415
3416         * UIProcess/Downloads/DownloadProxyMap.cpp:
3417         (WebKit::DownloadProxyMap::DownloadProxyMap):
3418         (WebKit::DownloadProxyMap::createDownloadProxy):
3419         (WebKit::DownloadProxyMap::downloadFinished):
3420         (WebKit::DownloadProxyMap::processDidClose):
3421         * UIProcess/Downloads/DownloadProxyMap.h:
3422         Pass the ChildProcessProxy rather than the MessageReceiverMap to the constructor.
3423
3424         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
3425         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
3426         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
3427         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
3428         Convert to a MessageReceiver.
3429
3430         * UIProcess/Network/NetworkProcessProxy.cpp:
3431         (WebKit::NetworkProcessProxy::createDownloadProxy):
3432         (WebKit::NetworkProcessProxy::didReceiveMessage):
3433         (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
3434         * UIProcess/Network/NetworkProcessProxy.h:
3435         * UIProcess/WebProcessProxy.cpp:
3436         (WebKit::WebProcessProxy::didReceiveMessage):
3437         (WebKit::WebProcessProxy::didReceiveSyncMessage):
3438         (WebKit::WebProcessProxy::createDownloadProxy):
3439         * UIProcess/WebProcessProxy.h:
3440         (WebProcessProxy):
3441         Remove direct chaining to CustomProtocolManagerProxy.
3442
3443 2013-02-06  Enrica Casucci  <enrica@apple.com>
3444
3445         ASSERT(!m_findPageOverlay) in FindController.cpp after r140769.
3446         https://bugs.webkit.org/show_bug.cgi?id=109105.
3447
3448         Reviewed by Tim Horton.
3449
3450         In r140769 we changed the way the overlay is destroyed,
3451         therefore the assert is no longer valid and should be removed.
3452
3453         * WebProcess/WebPage/FindController.cpp:
3454         (WebKit::FindController::updateFindUIAfterPageScroll):
3455
3456 2013-02-06  Anders Carlsson  <andersca@apple.com>
3457
3458         Dispatch storage manager messages to the storage work queue
3459         https://bugs.webkit.org/show_bug.cgi?id=109099
3460
3461         Reviewed by Andreas Kling.
3462
3463         * UIProcess/Storage/StorageManager.cpp:
3464         (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
3465         (WebKit::StorageManager::dispatchMessageOnStorageManagerQueue):
3466         (WebKit):
3467         * UIProcess/Storage/StorageManager.h:
3468         (StorageManager):
3469
3470 2013-02-06  Anders Carlsson  <andersca@apple.com>
3471
3472         Pass the document source URL to the pluginLoadPolicy callback
3473         https://bugs.webkit.org/show_bug.cgi?id=109084
3474         <rdar://problem/13154516>
3475
3476         Reviewed by Andreas Kling.
3477
3478         * UIProcess/API/C/WKPage.h:
3479         * UIProcess/WebPageProxy.cpp:
3480         (WebKit::WebPageProxy::getPluginPath):
3481         * UIProcess/WebPageProxy.h:
3482         (WebPageProxy):
3483         * UIProcess/WebPageProxy.messages.in:
3484         * UIProcess/WebUIClient.cpp:
3485         (WebKit::WebUIClient::pluginLoadPolicy):
3486         * UIProcess/WebUIClient.h:
3487         (WebUIClient):
3488         * WebProcess/WebPage/WebPage.cpp:
3489         (WebKit::WebPage::createPlugin):
3490         (WebKit::WebPage::canPluginHandleResponse):
3491
3492 2013-02-06  Alexey Proskuryakov  <ap@apple.com>
3493
3494         Get rid of unneeded writeable preferences.
3495
3496         Reviewed by Anders Carlsson.
3497
3498         com.apple.HIToolbox.plist and com.apple.WebProcess.plist were made writeable very
3499         early in WebKit2 development, before we moved a lot of functionality to UI process.
3500         They don't appear to be needed any more.
3501
3502         Note that we do not even need to allow reading for com.apple.WebProcess.plist -
3503         it's read at process initialization before we enter the sandbox, and services
3504         have a different plist anyway.
3505
3506         * WebProcess/com.apple.WebProcess.sb.in:
3507
3508 2013-02-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3509
3510         [EFL][WK2] Assertion failure on MiniBrowser exit
3511         https://bugs.webkit.org/show_bug.cgi?id=108932
3512
3513         Reviewed by Anders Carlsson.
3514
3515         WorkQueue is now refcounted after r141497, so increase ref
3516         count when a new job is scheduled and unref it when it finishes.
3517
3518         * Platform/efl/WorkQueueEfl.cpp:
3519         (WorkQueue::performWork):
3520         (WorkQueue::performTimerWork):
3521         (WorkQueue::dispatch):
3522         (WorkQueue::dispatchAfterDelay):
3523
3524 2013-02-06  Simon Hausmann  <simon.hausmann@digia.com>, Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3525
3526         [WK2][Win] Fix build after MessageID.h related changes and after r141619.
3527         https://bugs.webkit.org/show_bug.cgi?id=108612
3528
3529         Reviewed by Anders Carlsson.
3530
3531         * Platform/CoreIPC/win/ConnectionWin.cpp: