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