[Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-04-23  Zalan Bujtas  <zbujtas@gmail.com>
2
3         [Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
4         https://bugs.webkit.org/show_bug.cgi?id=84528
5
6         Reviewed by Simon Hausmann.
7
8         Fix namespace usage in non-api classes for Qt.
9
10         * UIProcess/API/qt/qquickwebpage.cpp:
11         * UIProcess/API/qt/qquickwebpage_p.h:
12         (WebKit):
13         * UIProcess/API/qt/qquickwebpage_p_p.h:
14         (WebKit):
15         (QQuickWebPagePrivate):
16         * UIProcess/API/qt/qquickwebview.cpp:
17         * UIProcess/API/qt/qquickwebview_p.h:
18         (WebKit):
19         * UIProcess/API/qt/qquickwebview_p_p.h:
20         (WebKit):
21         (QQuickWebViewPrivate::viewportInteractionEngine):
22         (QQuickWebViewPrivate):
23         (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
24         (QQuickWebViewFlickablePrivate):
25         * UIProcess/API/qt/qwebdownloaditem_p.h:
26         (WebKit):
27         * UIProcess/API/qt/qwebviewportinfo.cpp:
28         * UIProcess/qt/LayerBackingStore.cpp:
29         * UIProcess/qt/LayerBackingStore.h:
30         (WebKit):
31         * UIProcess/qt/QtDialogRunner.cpp:
32         (WebKit):
33         * UIProcess/qt/QtDialogRunner.h:
34         (WebKit):
35         * UIProcess/qt/QtDownloadManager.cpp:
36         * UIProcess/qt/QtDownloadManager.h:
37         (WebKit):
38         * UIProcess/qt/QtGestureRecognizer.cpp:
39         * UIProcess/qt/QtGestureRecognizer.h:
40         (WebKit):
41         * UIProcess/qt/QtPageClient.cpp:
42         (WebKit):
43         * UIProcess/qt/QtPageClient.h:
44         (WebKit):
45         (QtPageClient):
46         * UIProcess/qt/QtPanGestureRecognizer.cpp:
47         * UIProcess/qt/QtPanGestureRecognizer.h:
48         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
49         * UIProcess/qt/QtPinchGestureRecognizer.h:
50         * UIProcess/qt/QtTapGestureRecognizer.h:
51         (WebKit):
52         * UIProcess/qt/QtViewportInteractionEngine.cpp:
53         * UIProcess/qt/QtViewportInteractionEngine.h:
54         * UIProcess/qt/QtWebContext.cpp:
55         * UIProcess/qt/QtWebContext.h:
56         * UIProcess/qt/QtWebError.cpp:
57         (WebKit):
58         * UIProcess/qt/QtWebError.h:
59         (WebKit):
60         * UIProcess/qt/QtWebIconDatabaseClient.cpp:
61         (WebKit):
62         * UIProcess/qt/QtWebIconDatabaseClient.h:
63         (WTF):
64         (WebKit):
65         (QtWebIconDatabaseClient):
66         * UIProcess/qt/QtWebPageEventHandler.cpp:
67         (WebKit):
68         * UIProcess/qt/QtWebPageEventHandler.h:
69         (WebCore):
70         (WebKit):
71         * UIProcess/qt/QtWebPageLoadClient.cpp:
72         (WebKit):
73         * UIProcess/qt/QtWebPageLoadClient.h:
74         (WebKit):
75         * UIProcess/qt/QtWebPagePolicyClient.cpp:
76         (WebKit):
77         * UIProcess/qt/QtWebPagePolicyClient.h:
78         (WebKit):
79         * UIProcess/qt/QtWebPageSGNode.cpp:
80         * UIProcess/qt/QtWebPageSGNode.h:
81         (WebKit):
82         * UIProcess/qt/QtWebPageUIClient.cpp:
83         * UIProcess/qt/QtWebPageUIClient.h:
84         (WebKit):
85         * UIProcess/qt/QtWebUndoController.cpp:
86         (WebKit):
87         * UIProcess/qt/QtWebUndoController.h:
88         (WebKit):
89         * UIProcess/qt/WebContextMenuProxyQt.cpp:
90         * UIProcess/qt/WebContextQt.cpp:
91         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
92         * UIProcess/qt/WebGeolocationProviderQt.cpp:
93         (WebKit):
94         * UIProcess/qt/WebGeolocationProviderQt.h:
95         (WebKit):
96         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
97         (WebKit):
98         * UIProcess/qt/WebPopupMenuProxyQt.h:
99
100 2012-04-23  Kent Tamura  <tkent@chromium.org>
101
102         Add test function to get placeholder string
103         https://bugs.webkit.org/show_bug.cgi?id=84536
104
105         Reviewed by Ryosuke Niwa.
106
107         * win/WebKit2.def: Expose HTMLNames::inputTag,
108         HTMLTextFormControlElement::placeholderShouldBeVisible(), and
109         Node::textContent.
110         * win/WebKit2CFLite.def: ditto.
111
112 2012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
113
114         [Gtk] Added MOZ_X11 build flag for TARGET_X11
115         [Qt]  Added MOZ_X11 build flag for !embedded
116         https://bugs.webkit.org/show_bug.cgi?id=40785
117
118         Reviewed by Anders Carlsson.
119
120         * GNUmakefile.am:
121         * Target.pri:
122
123 2012-04-22  Jon Lee  <jonlee@apple.com>
124
125         Remove notifications support on Mac Lion.
126         https://bugs.webkit.org/show_bug.cgi?id=84554
127         <rdar://problem/11297128>
128
129         Reviewed by Sam Weinig.
130
131         * Configurations/FeatureDefines.xcconfig:
132
133 2012-04-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
134
135         [Qt] Multi-level tap-to-zoom.
136         https://bugs.webkit.org/show_bug.cgi?id=84456
137
138         Reviewed by Kenneth Rohde Christiansen.
139         
140         Replace tap-to-zoomed flag with a stack of progressively higher zoom levels, 
141         and zoom out to last zoom-level when attempting to zoom to current level.
142         
143         Additionally detect a series of tap-to-zoom gestures on the same level and 
144         continue to zoom out.
145
146         * UIProcess/qt/QtViewportInteractionEngine.cpp:
147         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
148         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
149         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
150         * UIProcess/qt/QtViewportInteractionEngine.h:
151         (QtViewportInteractionEngine):
152
153 2012-04-20  Jon Lee  <jonlee@apple.com>
154
155         Add Notification constructor
156         https://bugs.webkit.org/show_bug.cgi?id=80477
157         <rdar://problem/10912431>
158
159         Reviewed by Jian Li.
160
161         * WebProcess/Notifications/WebNotificationManager.cpp:
162         (WebKit::WebNotificationManager::show): If the notification doesn't get shown,
163         we should return false, since it will not go through a setPendingActivity cycle.
164         (WebKit::WebNotificationManager::clearNotifications): When clearing notifications,
165         finalize them so that they can be cleaned up by the GC.
166
167 2012-04-20  Timothy Hatcher  <timothy@apple.com>
168
169         Make the Web Inspector be the first responder when opening docked.
170
171         <rdar://problem/11294217>
172
173         Reviewed by Brian Weinstein.
174
175         * UIProcess/mac/WebInspectorProxyMac.mm:
176         (WebKit::WebInspectorProxy::platformAttach): Call makeFirstResponder: on
177         the window and pass the Inspector's WKView.
178
179 2012-04-06  Jer Noble  <jer.noble@apple.com>
180
181         apple.com top navigation bar appears inside video during full screen exit animation
182         https://bugs.webkit.org/show_bug.cgi?id=83095
183
184         Reviewed by Eric Carlson.
185
186         Add new WebCore symbols needed by DumpRenderTree to exported symbol list.
187
188         * win/WebKit2.def:
189         * win/WebKit2CFLite.def:
190
191 2012-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>
192
193         [GTK] Ignore resources while replacing content in WebKit2 GTK+ API
194         https://bugs.webkit.org/show_bug.cgi?id=79777
195
196         Reviewed by Philippe Normand.
197
198         * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
199         (didSendRequestForResource): Return early if resources is Null.
200         (didReceiveResponseForResource): Ditto.
201         (didReceiveContentLengthForResource): Ditto.
202         (didFinishLoadForResource): Ditto.
203         (didFailLoadForResource): Ditto.
204         * UIProcess/API/gtk/WebKitWebView.cpp:
205         (webkitWebViewLoadChanged): Clear resources before checking
206         whether we are replacing content.
207         (webkitWebViewIsReplacingContentOrDidReplaceContent): Helper
208         function to check whether view is replacing content or current
209         content is replaced.
210         (webkitWebViewResourceLoadStarted): Do not create resources when
211         replacing content.
212         (webkitWebViewGetLoadingWebResource): Ignore when replacing
213         content. Also add an assert when getting a loading resources to
214         make sure we only return Null when replacing content.
215         (webkitWebViewRemoveLoadingWebResource): Ditto.
216         (webkitWebViewResourceLoadFinished): Ditto.
217         * UIProcess/API/gtk/tests/TestResources.cpp:
218         (replacedContentResourceLoadStartedCallback):
219         (testWebViewResourcesReplacedContent):
220         (beforeAll):
221
222 2012-04-19  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
223
224         [Qt] ASSERT(m_thread == currentThread()) on Mac when threaded rendering is enabled for the Qt scenegraph
225         https://bugs.webkit.org/show_bug.cgi?id=84278
226
227         Reviewed by Noam Rosenthal.
228
229         Delete the whole layer tree on UI side when paint node is deleted and force resync of the layers when
230         page becomes visible again.
231
232         * UIProcess/LayerTreeHostProxy.cpp:
233         (WebKit::LayerTreeHostProxy::purgeBackingStores):
234         * UIProcess/WebLayerTreeRenderer.cpp:
235         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
236         (WebKit::WebLayerTreeRenderer::purgeGLResources):
237         (WebKit::WebLayerTreeRenderer::appendUpdate):
238         (WebKit::WebLayerTreeRenderer::setActive):
239         (WebKit):
240         * UIProcess/WebLayerTreeRenderer.h:
241         (WebLayerTreeRenderer):
242         * UIProcess/qt/QtWebPageSGNode.cpp:
243         (WebKit::ContentsSGNode::ContentsSGNode):
244         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
245         (WebCore::WebGraphicsLayer::purgeBackingStores):
246
247 2012-04-19  Vivek Galatage  <vivekgalatage@gmail.com>
248
249         DevTools: assertion failure upon devtools window reopen.
250         https://bugs.webkit.org/show_bug.cgi?id=53493
251
252         Reviewed by Pavel Feldman.
253
254         The pointers pointed to by WebInspector must be reset explicitly
255         in WebInspector::didClose() method
256
257         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
258         (WebKit::WebInspectorClient::closeInspectorFrontend):
259         * WebProcess/WebPage/WebInspector.cpp:
260         (WebKit::WebInspector::didClose):
261
262 2012-04-19  Zalan Bujtas  <zbujtas@gmail.com>
263
264         [Qt][WK2] Zoom out on the second double click does not always scale right.
265         https://bugs.webkit.org/show_bug.cgi?id=84332
266
267         Reviewed by Simon Hausmann.
268
269         Zoom out to the minimum scale value instead of the fixed 1.
270
271         * UIProcess/qt/QtViewportInteractionEngine.cpp:
272         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
273
274 2012-04-18  Jer Noble  <jer.noble@apple.com>
275
276         Full Screen mode does not preserve CALayer ordering after exiting.
277         https://bugs.webkit.org/show_bug.cgi?id=83931
278
279         Reviewed by Eric Carlson.
280
281         When swapping the placeholder and web views, use -[NSView addSubview:positioned:relativeTo:]
282         instead of -[NSView replaceSubview:with:], as the latter does not preserve the relative order
283         of the view's backing CALayers.
284
285         * UIProcess/mac/WKFullScreenWindowController.mm:
286         (-[WKFullScreenWindowController _swapView:with:]):
287
288 2012-04-18  Alexey Proskuryakov  <ap@apple.com>
289
290         [WK2] Sandbox violations prevent attaching files to gmail messages
291         https://bugs.webkit.org/show_bug.cgi?id=84263
292         <rdar://problem/11248260>
293
294         Reviewed by Oliver Hunt.
295
296         * WebProcess/WebCoreSupport/WebDragClient.cpp: (WebKit::WebDragClient::willPerformDragDestinationAction):
297         Prepare to the possibility that file data will be read. This needs to happen on every drop
298         with files, not just after event dispatch.
299
300         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::mayPerformUploadDragDestinationAction):
301         * WebProcess/WebPage/WebPage.h:
302         Renamed performUploadDragDestinationAction to mayPerformUploadDragDestinationAction. We don't
303         know if an upload will actually happen, it's up to JavaScript code to decide.
304
305 2012-04-18  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
306
307         Clean-up WheelEvent Conversion.
308         https://bugs.webkit.org/show_bug.cgi?id=84243
309
310         Reviewed by Simon Hausmann.
311
312         * Shared/qt/WebEventFactoryQt.cpp:
313         (WebKit::WebEventFactory::createWebWheelEvent):
314         * UIProcess/qt/QtViewportInteractionEngine.cpp:
315         (WebKit::QtViewportInteractionEngine::wheelEvent):
316
317 2012-04-18  Zalan Bujtas  <zbujtas@gmail.com>
318
319         [Qt][WK2] Minibrowser asserts on startup at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
320         https://bugs.webkit.org/show_bug.cgi?id=84172
321
322         Reviewed by Simon Hausmann.
323
324         After the viewport computing refactor, ensureContentWithinViewportBoundary() can be called
325         with resumed page. QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
326         functionality does not necessarily require the page to be suspended. It's the caller's context
327         that determines whether the page needs to be suspended, so it's the caller's responsibility
328         to enforce the ASSERT().
329         Remove the invalid ASSERT on m_suspendCount at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
330
331         * UIProcess/qt/QtViewportInteractionEngine.cpp:
332         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
333
334 2012-04-17  Alexey Proskuryakov  <ap@apple.com>
335
336         [Mac] USPS Shipping label prints without barcode
337         https://bugs.webkit.org/show_bug.cgi?id=84099
338         <rdar://problem/11133877>
339
340         Reviewed by Sam Weinig.
341
342         Use PDFDocuemnt instead of CGPDFDocument when printing PDFs, because PDFKit knows
343         how to draw PDF buttons, and CG does not.
344
345         * Shared/mac/PDFKitImports.h: Added.
346         * Shared/mac/PDFKitImports.mm: Added.
347         * UIProcess/API/mac/WKPrintingView.mm:
348         Moved code for dealing with dynamically loaded PDFKit from WKPrintingView, as we
349         now also need it elsewhere.
350
351         * WebKit2.xcodeproj/project.pbxproj: Added
352         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Rebamed to .mm.
353
354         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Changed m_pdfDocument to PDFDocument.
355
356         * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Copied from Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.cpp.
357         (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
358         (WebKit::BuiltInPDFView::calculateSizes):
359         (WebKit::BuiltInPDFView::paintContent):
360         Changed m_pdfDocument to PDFDocument, and updated for the changes. We still use
361         CGPDF when drawing to screen though, because that doesn't affect USPS.
362
363         * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::pdfDocumentForPrinting): Updated
364         the type, and changed ifsed from CG to MAC, as we're now fully dependent on Cocoa.
365
366         * WebProcess/Plugins/PluginView.h: (WebKit::PluginView::pdfDocumentForPrinting):
367         Ditto.
368
369         * WebProcess/WebPage/WebPage.cpp:
370         (WebKit::WebPage::pdfDocumentForPrintingFrame):
371         (WebKit::WebPage::beginPrinting):
372         (WebKit::WebPage::computePagesForPrinting):
373         (WebKit::WebPage::drawRectToPDF):
374         (WebKit::WebPage::drawPagesToPDF):
375         * WebProcess/WebPage/WebPage.h:
376         Moved PDF document printing code to WebPageMac.mm, as it's now Objective C.
377
378         * WebProcess/WebPage/mac/WebPageMac.mm:
379         (WebKit::WebPage::computePagesForPrintingPDFDocument):
380         (WebKit::roundCGFloat):
381         (WebKit::drawPDFPage): While moving, also fixed a logic error in calculating the box
382         (it used to intersect with an empty box).
383         (WebKit::WebPage::drawRectToPDFFromPDFDocument):
384         (WebKit::WebPage::drawPagesToPDFFromPDFDocument):
385
386 2012-04-17  Anders Carlsson  <andersca@apple.com>
387
388         Need a client callback for when the user tires to interact with an already unresponsive page
389         https://bugs.webkit.org/show_bug.cgi?id=84201
390         <rdar://problem/11140862>
391
392         Reviewed by Andreas Kling.
393
394         Add a interactionOccurredWhileProcessUnresponsive callback that's called when the unresponsiveness timer
395         fires while it's already unresponsive.
396
397         * UIProcess/API/C/WKPage.h:
398         * UIProcess/ResponsivenessTimer.cpp:
399         (WebKit):
400         (WebKit::ResponsivenessTimer::timerFired):
401         (WebKit::ResponsivenessTimer::start):
402         * UIProcess/ResponsivenessTimer.h:
403         (Client):
404         * UIProcess/WebLoaderClient.cpp:
405         (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
406         (WebKit):
407         (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
408         * UIProcess/WebLoaderClient.h:
409         (WebLoaderClient):
410         * UIProcess/WebPageProxy.cpp:
411         (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
412         (WebKit):
413         * UIProcess/WebPageProxy.h:
414         (WebPageProxy):
415         * UIProcess/WebProcessProxy.cpp:
416         (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
417         (WebKit):
418         * UIProcess/WebProcessProxy.h:
419         (WebProcessProxy):
420
421 2012-04-17  Anders Carlsson  <andersca@apple.com>
422
423         Make sure that the layer hosting mode is kept up to date if it changes before the plug-in is initialized
424         https://bugs.webkit.org/show_bug.cgi?id=84180
425         <rdar://problem/11265113>
426
427         Reviewed by Andreas Kling.
428
429         * WebProcess/Plugins/PluginView.cpp:
430         (WebKit::PluginView::setLayerHostingMode):
431
432 2012-04-17  Jer Noble  <jer.noble@apple.com>
433
434         Exiting full screen video brings the wrong Safari window to the foreground
435         https://bugs.webkit.org/show_bug.cgi?id=83936
436
437         Reviewed by Adele Peterson.
438
439         Tell the original webView's window to makeKeyAndOrderFront once the exit
440         animation completes.
441
442         * UIProcess/mac/WKFullScreenWindowController.mm:
443         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
444
445 2012-04-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
446
447         [EFL][WK2] Fix build break when FULLSCREEN_API is enabled.
448         https://bugs.webkit.org/show_bug.cgi?id=84142
449
450         Reviewed by Martin Robinson.
451
452         Create a cpp file needed to build EFL port with FULLSCREEN_API.
453
454         * PlatformEfl.cmake: Added WebFullScreenManagerProxyEfl.cpp to build list.
455         * UIProcess/WebFullScreenManagerProxy.h:
456         (WebKit):
457         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Added.
458         (WebKit):
459         (WebKit::WebFullScreenManagerProxy::invalidate):
460         (WebKit::WebFullScreenManagerProxy::close):
461         (WebKit::WebFullScreenManagerProxy::isFullScreen):
462         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
463         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
464         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
465         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
466
467 2012-04-17  Andras Becsi  <andras.becsi@nokia.com>
468
469         [Qt][WK2] Refactor the gesture recognizers
470         https://bugs.webkit.org/show_bug.cgi?id=83044
471
472         Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
473
474         This patch implements a simple decision tree in the web page event handler
475         on the basis of how many active touch points the current touch event has.
476
477         Active touch points are pressed, moved or stationary and the number of these
478         fully determine which gesture recognizer should be updated, cancelled or
479         finished.
480
481         This new structure makes the internal states of the pinch and pan gesture
482         recognizers independent from the event type, thus makes it possible to handle
483         the transitions between these gestures in one centralized place which reduces
484         code duplication and complexity and fixes some issues regarding incorrectly
485         handled transitions.
486
487         * UIProcess/qt/QtPanGestureRecognizer.cpp:
488         (WebKit::QtPanGestureRecognizer::update):
489         (WebKit::QtPanGestureRecognizer::finish):
490         (WebKit):
491         (WebKit::QtPanGestureRecognizer::cancel):
492         * UIProcess/qt/QtPanGestureRecognizer.h:
493         (QtPanGestureRecognizer):
494         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
495         (WebKit):
496         (WebKit::QtPinchGestureRecognizer::update):
497         (WebKit::QtPinchGestureRecognizer::finish):
498         * UIProcess/qt/QtPinchGestureRecognizer.h:
499         (QtPinchGestureRecognizer):
500         * UIProcess/qt/QtTapGestureRecognizer.cpp:
501         (WebKit::QtTapGestureRecognizer::withinDistance):
502         (WebKit::QtTapGestureRecognizer::update):
503         (WebKit::QtTapGestureRecognizer::cancel):
504         (WebKit):
505         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
506         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
507         (WebKit::QtTapGestureRecognizer::reset):
508         * UIProcess/qt/QtTapGestureRecognizer.h:
509         (QtTapGestureRecognizer):
510         * UIProcess/qt/QtViewportInteractionEngine.cpp:
511         (WebKit):
512         * UIProcess/qt/QtViewportInteractionEngine.h:
513         (QtViewportInteractionEngine):
514         * UIProcess/qt/QtWebPageEventHandler.cpp:
515         (QtWebPageEventHandler::resetGestureRecognizers):
516         (QtWebPageEventHandler::doneWithTouchEvent):
517
518 2012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
519
520         REGRESSION(r113172) Wheel events are scrolling inversed.
521         https://bugs.webkit.org/show_bug.cgi?id=84156
522
523         Reviewed by Simon Hausmann.
524
525         * UIProcess/qt/QtViewportInteractionEngine.cpp:
526         (WebKit::QtViewportInteractionEngine::wheelEvent):
527
528 2012-04-17  Balazs Kelemen  <kbalazs@webkit.org>
529
530         [Qt] Unreviewed ARM build fix
531
532         * PluginProcess/qt/PluginProcessMainQt.cpp:
533         (WebKit::PluginProcessMain): Export this function.
534
535 2012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
536
537         [Qt] Zoom out on second double-tap.
538         https://bugs.webkit.org/show_bug.cgi?id=84145
539
540         Reviewed by Simon Hausmann.
541
542         * UIProcess/qt/QtViewportInteractionEngine.cpp:
543         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
544         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
545         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
546         * UIProcess/qt/QtViewportInteractionEngine.h:
547         (QtViewportInteractionEngine):
548
549 2012-04-17  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
550
551         [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
552         https://bugs.webkit.org/show_bug.cgi?id=83285
553
554         Reviewed by Ryosuke Niwa.
555
556         Surround code related to context menu with ENABLE(CONTEXT_MENUS) macro.
557         Add dummy functions for public API implementation related to context menu.
558
559         * Shared/API/c/WKContextMenuItem.cpp:
560         (WKContextMenuItemGetTypeID):
561         (WKContextMenuItemCreateAsAction):
562         (WKContextMenuItemCreateAsCheckableAction):
563         (WKContextMenuItemCreateAsSubmenu):
564         (WKContextMenuItemSeparatorItem):
565         (WKContextMenuItemGetTag):
566         (WKContextMenuItemGetType):
567         (WKContextMenuItemCopyTitle):
568         (WKContextMenuItemGetEnabled):
569         (WKContextMenuItemGetChecked):
570         (WKContextMenuCopySubmenuItems):
571         (WKContextMenuItemGetUserData):
572         (WKContextMenuItemSetUserData):
573         * Shared/WebContextMenuItem.cpp:
574         * Shared/WebContextMenuItem.h:
575         * Shared/WebContextMenuItemData.cpp:
576         * Shared/WebContextMenuItemData.h:
577         * UIProcess/API/C/WKPage.cpp:
578         (WKPageSetPageContextMenuClient):
579         * UIProcess/WebPageContextMenuClient.cpp:
580         * UIProcess/WebPageContextMenuClient.h:
581         * UIProcess/WebPageProxy.cpp:
582         (WebKit):
583         * UIProcess/WebPageProxy.h:
584         (WebPageProxy):
585         * UIProcess/WebPageProxy.messages.in:
586         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
587         (WKBundlePageSetContextMenuClient):
588         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
589         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
590         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
591         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
592         * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
593         * WebProcess/WebPage/WebContextMenu.cpp:
594         * WebProcess/WebPage/WebContextMenu.h:
595         * WebProcess/WebPage/WebPage.cpp:
596         (WebKit::WebPage::WebPage):
597         (WebKit):
598         (WebKit::handleMouseEvent):
599         (WebKit::WebPage::mouseEvent):
600         * WebProcess/WebPage/WebPage.h:
601         (WebPage):
602         * WebProcess/WebPage/WebPage.messages.in:
603
604 2012-04-16  Ryuan Choi  <ryuan.choi@samsung.com>
605
606         [EFL][WK2] Add missing files to build webkit2/Efl.
607         https://bugs.webkit.org/show_bug.cgi?id=76139
608
609         Reviewed by Ryosuke Niwa.
610
611         Add missing files needed to build webkit2/Efl.
612
613         * Shared/efl/PlatformCertificateInfo.h: Added.
614         (WebKit):
615         (PlatformCertificateInfo):
616         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
617         (WebKit::PlatformCertificateInfo::encode):
618         (WebKit::PlatformCertificateInfo::decode):
619         * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Added.
620         (WebKit):
621         (WebKit::ThreadLauncher::createWebThread):
622
623 2012-04-16  Brady Eidson  <beidson@apple.com>
624
625         Followup to http://trac.webkit.org/changeset/114323
626
627         For more correctness, actually include an autorelease pool instead of cleverly trying to avoid its use.
628
629         Reviewed by Mark Rowe.
630
631         * PluginProcess/mac/PluginProcessMainMac.mm:
632         (WebKit::PluginProcessMain): 
633
634 2012-04-16  Brady Eidson  <beidson@apple.com>
635
636         <rdar://problem/11238965> Leak in Plugin Process when launched 32-bit
637
638         Reviewed by Jessie Berlin.
639
640         * PluginProcess/mac/PluginProcessMainMac.mm:
641         (WebKit::PluginProcessMain): alloc/init an NSDictionary then release it, instead of leaking an autoreleased one.
642
643 2012-04-16  Anders Carlsson  <andersca@apple.com>
644
645         Nightly Back/Forward no longer calls plug-in's NPP_NewStream
646         https://bugs.webkit.org/show_bug.cgi?id=83805
647         <rdar://problem/11238748>
648
649         Reviewed by Simon Fraser.
650
651         When a page with a full-frame plug-in is restored from the page cache, it needs to re-fetch the plug-in stream.
652
653         Fix this by breaking the assumption that a plug-in will always get its data from WebCore if it's a full-frame plug-in;
654         instead it only get its data from WebCore if it's a full-frame plug-in that's not being restored from the page cache.
655         
656         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
657         (WebKit::NetscapePlugin::NetscapePlugin):
658         Rename m_loadManually to m_shouldUseManualLoader.
659
660         (WebKit::NetscapePlugin::initialize):
661         Get the mode from parameters.isFullFramePlugin instead.
662
663         (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
664         (WebKit::NetscapePlugin::manualStreamDidReceiveData):
665         (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
666         (WebKit::NetscapePlugin::manualStreamDidFail):
667         Rename m_loadManually to m_shouldUseManualLoader.
668
669         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
670         Rename m_loadManually to m_shouldUseManualLoader.
671
672         * WebProcess/Plugins/Plugin.cpp:
673         (WebKit::Plugin::Parameters::encode):
674         (WebKit::Plugin::Parameters::decode):
675         * WebProcess/Plugins/Plugin.h:
676         (Parameters):
677         Add an extra isFullFramePlugin parameter, and rename loadManually to shouldUseManualLoader.
678
679         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
680         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
681         Initialize m_frameCameFromPageCache.
682
683         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
684         Set m_frameCameFromPageCache to true.
685
686         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
687         Set m_frameCameFromPageCache to false.
688
689         (WebKit::WebFrameLoaderClient::createPlugin):
690         Initialize isFullFramePlugin and shouldUseManualLoader.
691
692 2012-04-16  Alexey Proskuryakov  <ap@apple.com>
693
694         EndPrinting message should be sent synchronously when printing was initiated from DOM.
695         https://bugs.webkit.org/show_bug.cgi?id=84049
696         <rdar://problem/11096575>
697
698         Reviewed by Oliver Hunt.
699
700         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printFrame): When printing is
701         initiated by WebProcess, all messages from UI process are sent synchronously to
702         avoid being queued, and so should EndPrinting.
703
704 2012-04-16  Brady Eidson  <beidson@apple.com>
705
706         <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
707         WebKit2 back/forward items in the page cache are never removed when the page is closed
708
709         Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
710
711         Individual WebBackForwardListProxy's had no idea which items are associated with them.
712         This adds that association and makes sure the proxy removes all associated items from the PageCache when it closes.
713
714         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
715         (WebKit::WebBackForwardListProxy::removeItem): Remove the item from the PageCache in case it was in it.
716         (WebKit::WebBackForwardListProxy::addItem): Add the item ID to this back/forward list's set of associated IDs.
717         (WebKit::WebBackForwardListProxy::close): Remove each associated item from the PageCache.
718         * WebProcess/WebPage/WebBackForwardListProxy.h:
719
720 2012-04-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
721
722          [EFL][WK2] Fix build break in PageClientImpl.cpp.
723          https://bugs.webkit.org/show_bug.cgi?=id=84034
724
725          Reviewed by Kenneth Rohde Christiansen.
726
727          Fixes typo in didChangeViewportProperites definition.
728
729          * UIProcess/API/efl/PageClientImpl.cpp:
730          (WebKit::PageClientImpl::didChangeViewportProperties):
731
732 2012-04-16  Yael Aharon  <yael.aharon@nokia.com>
733
734         [Qt][WK2] Fixed elements position is wrong after zooming.
735         https://bugs.webkit.org/show_bug.cgi?id=83981
736
737         Reviewed by Kenneth Rohde Christiansen.
738
739         Turn on the flag setFixedElementsLayoutRelativeToFrame. This causes fixed elements position to be calculated based on
740         visibleWidth and visibleHeight. When zoom level grows, the visibleWidth and visibleHeight become smaller.
741
742         * WebProcess/WebPage/WebPage.cpp:
743         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
744
745 2012-04-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
746
747         [Qt] Clean up how the interaction engine is making use of ViewportAttributes
748         https://bugs.webkit.org/show_bug.cgi?id=83895
749
750         Reviewed by Simon Hausmann.
751
752         Refactor how the interaction engine is using the ViewportAttributes
753         and get rid of the Contraints subclass.
754
755         Push the ViewportAttributes through to the QQuickWebViewPrivate class
756         and add some default values in the case the Legacy view is used.
757
758         * UIProcess/API/qt/qquickwebview.cpp:
759         (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
760         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
761         * UIProcess/API/qt/qquickwebview_p_p.h:
762         (QQuickWebViewPrivate):
763         * UIProcess/API/qt/qwebviewportinfo.cpp:
764         (QWebViewportInfo::QWebViewportInfo):
765         (QWebViewportInfo::~QWebViewportInfo):
766         (QWebViewportInfo::currentScale):
767         (QWebViewportInfo::devicePixelRatio):
768         (QWebViewportInfo::initialScale):
769         (QWebViewportInfo::minimumScale):
770         (QWebViewportInfo::maximumScale):
771         (QWebViewportInfo::isScalable):
772         (QWebViewportInfo::layoutSize):
773         * UIProcess/qt/QtViewportInteractionEngine.cpp:
774         (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
775         (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
776         (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
777         (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
778         (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
779         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
780         (WebKit::QtViewportInteractionEngine::setCSSScaleBounds):
781         (WebKit::QtViewportInteractionEngine::setCSSScale):
782         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
783         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
784         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
785         * UIProcess/qt/QtViewportInteractionEngine.h:
786         (QtViewportInteractionEngine):
787         (WebKit::QtViewportInteractionEngine::hadUserInteraction):
788         (WebKit::QtViewportInteractionEngine::setAllowsUserScaling):
789         (WebKit::QtViewportInteractionEngine::setContentToDevicePixelRatio):
790
791 2012-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
792
793         [GTK] Use GRefPtr to delete the default web context in WebKit2 GTK+
794         https://bugs.webkit.org/show_bug.cgi?id=83752
795
796         Reviewed by Martin Robinson.
797
798         * UIProcess/API/gtk/WebKitWebContext.cpp:
799         (createDefaultWebContext):
800
801 2012-04-13  Jer Noble  <jer.noble@apple.com>
802
803         Video at apple.com gets standard controls in addition to custom controls after returning from full screen
804         https://bugs.webkit.org/show_bug.cgi?id=83939
805
806         Reviewed by Eric Carlson.
807
808         So that the media controls don't show up momentarily during full screen animations, call setAnimatingFullScreen(true)
809         before calling will{Enter,Exit}FullScreen(), so that the CSS rule for full screen animation will be in effect
810         immediately.
811
812         Similarly, call setAnimatingFullScreen(false) after calling did{Enter,Exit}FullScreen, so that the full screen media
813         controls don't momentarily appear at the end of an animation.
814
815         * UIProcess/mac/WKFullScreenWindowController.mm:
816         (-[WKFullScreenWindowController enterFullScreen:]):
817         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
818         (-[WKFullScreenWindowController exitFullScreen]):
819         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
820
821 2012-04-13  Anders Carlsson  <andersca@apple.com>
822
823         Make sure that we're using the right compiler for generating derived sources.
824
825         Rubber-stamped by Dan Bernstein.
826
827         * WebKit2.xcodeproj/project.pbxproj:
828
829 2012-04-13  Anders Carlsson  <andersca@apple.com>
830
831         Include the error if we fail to initialize the web process sandbox
832         https://bugs.webkit.org/show_bug.cgi?id=83927
833
834         Reviewed by Alexey Proskuryakov.
835
836         * WebProcess/mac/WebProcessMac.mm:
837         (WebKit::initializeSandbox):
838
839 2012-04-13  Brady Eidson  <beidson@apple.com>
840
841         <rdar://problem/11176921> and https://bugs.webkit.org/show_bug.cgi?id=83600
842         Need WebKit2 API to notify whether history loads are in the page cache
843
844         - Add a new WKBundlePageLoaderClient callback allowing the bundle to be notified
845           of back/forward navigations (and deny them if it chooses)
846         - Add a new API to WKBundleBackForwardListItem to probe if the item is in the page cache.
847
848         Reviewed by Darin Adler.
849
850         Add the new WKBundleBackForwardListItem API:
851         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
852         (WKBundleBackForwardListItemIsInPageCache):
853         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
854         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
855         (WebKit::InjectedBundleBackForwardListItem::isInPageCache):
856
857         Update the UI page loader client to allow for a user data object to be passed from the bundle:
858         * UIProcess/API/C/WKPage.h:
859         * UIProcess/WebLoaderClient.cpp:
860         (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Update a comment typo.
861         (WebKit::WebLoaderClient::willGoToBackForwardListItem): Update for the user data field.
862         * UIProcess/WebLoaderClient.h:
863         * UIProcess/WebPageProxy.cpp:
864         (WebKit::WebPageProxy::willGoToBackForwardListItem):
865         * UIProcess/WebPageProxy.h:
866         * UIProcess/WebPageProxy.messages.in:
867
868         Add the new callback to the bundle loader client:
869         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 
870         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
871         (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
872         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
873         (InjectedBundlePageLoaderClient):
874
875         Call the bundle client before doing anything else, possibly canceling the navigation:
876         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
877         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
878
879         * WebProcess/qt/QtBuiltinBundlePage.cpp:
880         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage) Adopt new bundle client interface.
881
882 2012-04-13  Dinu Jacob  <dinu.jacob@nokia.com>
883
884         [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
885         https://bugs.webkit.org/show_bug.cgi?id=82483
886
887         Reviewed by Noam Rosenthal.
888
889         This fixes API tests broken by r113715.
890
891         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
892         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
893         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
894
895 2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
896
897         Unreviewed, rolling out r113714.
898         http://trac.webkit.org/changeset/113714
899         https://bugs.webkit.org/show_bug.cgi?id=83887
900
901         It is behaving strange on the bots and needs more
902         investigation. (Requested by jeez_ on #webkit).
903
904         * UIProcess/qt/QtPageClient.cpp:
905         (QtPageClient::isViewWindowActive):
906
907 2012-04-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
908
909         [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
910         https://bugs.webkit.org/show_bug.cgi?id=83770
911
912         Reviewed by Kenneth Rohde Christiansen.
913
914         - Do the alignment on the highest level as possible: the QQuickFlickable content item
915           position. It already supports this with setPixelAligned which rounds the content item's position.
916         - Also move the setClip(true) to the common constructor as this constructor is currently only used by WTR.
917         - Remove setFlags(QQuickItem::ItemClipsChildrenToShape) as it is redundant with setClip(true).
918
919         * UIProcess/API/qt/qquickwebview.cpp:
920         (QQuickWebViewPrivate::QQuickWebViewPrivate):
921         (QQuickWebView::QQuickWebView):
922
923 2012-04-12  Alexey Proskuryakov  <ap@apple.com>
924
925         Preprocessing text files with modern clang treats double slashes in comments
926         https://bugs.webkit.org/show_bug.cgi?id=83827
927
928         Reviewed by Mark Rowe.
929
930         * DerivedSources.make: Pass appropriate flags to both llvm and gcc.
931
932 2012-04-12  Brent Fulgham  <bfulgham@webkit.org>
933
934         [WinCairo] Build fix after Windows export definition file change.
935
936         * win/WebKit2CFLite.def: This file needs to be kept in sync with
937         WebKit2.def (aside from the WebKitInterface exports.)
938
939 2012-04-12  Bear Travis  <betravis@adobe.com>
940
941         [CSS Exclusions] Add flag to enable / disable exclusions at runtime
942         https://bugs.webkit.org/show_bug.cgi?id=83313
943
944         Reviewed by Ryosuke Niwa.
945
946         Adding windows symbols
947
948         * win/WebKit2.def:
949         * win/WebKit2CFLite.def:
950
951 2012-04-12  Yael Aharon  <yael.aharon@nokia.com>
952
953         [Qt][WK2] Nested fixed elements scroll too fast
954         https://bugs.webkit.org/show_bug.cgi?id=83720
955
956         Reviewed by Noam Rosenthal.
957
958         Set the fixedToViewport flag on the fixed position layers and adjust to
959         the new function name for setting scrollPositionDelta.
960
961         * UIProcess/WebLayerTreeRenderer.cpp:
962         (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
963         (WebKit::WebLayerTreeRenderer::setLayerState):
964
965 2012-04-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
966
967         Move viewport meta handling to the web process side
968         https://bugs.webkit.org/show_bug.cgi?id=83771
969
970         Reviewed by Simon Hausmann.
971
972         Instead of computing the viewport attributes on both sides,
973         we now do everything on the web process side, and just send
974         over the computed result.
975
976         * Scripts/webkit2/messages.py:
977         (struct_or_class):
978         (headers_for_type):
979         * Shared/WebCoreArgumentCoders.cpp:
980         (CoreIPC::::encode):
981         (CoreIPC::::decode):
982         * Shared/WebCoreArgumentCoders.h:
983         (WebCore):
984         * UIProcess/API/efl/PageClientImpl.cpp:
985         (WebKit::PageClientImpl::didChangeViewportProperties):
986         * UIProcess/API/efl/PageClientImpl.h:
987         (PageClientImpl):
988         * UIProcess/API/gtk/PageClientImpl.cpp:
989         (WebKit::PageClientImpl::didChangeViewportProperties):
990         * UIProcess/API/gtk/PageClientImpl.h:
991         (PageClientImpl):
992         * UIProcess/API/mac/PageClientImpl.h:
993         (PageClientImpl):
994         * UIProcess/API/mac/PageClientImpl.mm:
995         (WebKit::PageClientImpl::didChangeViewportProperties):
996         * UIProcess/API/qt/qquickwebview.cpp:
997         (QQuickWebViewPrivate::didRelaunchProcess):
998         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
999         (QQuickWebViewFlickablePrivate::updateViewportSize):
1000         * UIProcess/API/qt/qquickwebview_p_p.h:
1001         (QQuickWebViewPrivate::didChangeViewportProperties):
1002         (QQuickWebViewPrivate):
1003         (QQuickWebViewFlickablePrivate):
1004         * UIProcess/PageClient.h:
1005         (WebCore):
1006         (PageClient):
1007         * UIProcess/WebPageProxy.cpp:
1008         (WebKit::WebPageProxy::didChangeViewportProperties):
1009         * UIProcess/WebPageProxy.h:
1010         (WebCore):
1011         (WebPageProxy):
1012         * UIProcess/WebPageProxy.messages.in:
1013         * UIProcess/qt/QtPageClient.cpp:
1014         (QtPageClient::didChangeViewportProperties):
1015         * UIProcess/qt/QtPageClient.h:
1016         (QtPageClient):
1017         * UIProcess/win/WebView.cpp:
1018         (WebKit::WebView::didChangeViewportProperties):
1019         * UIProcess/win/WebView.h:
1020         (WebView):
1021         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1022         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
1023         (WebKit):
1024         * WebProcess/WebPage/WebPage.cpp:
1025         (WebKit::WebPage::sendViewportAttributesChanged):
1026         (WebKit):
1027         (WebKit::WebPage::setViewportSize):
1028         * WebProcess/WebPage/WebPage.h:
1029         (WebPage):
1030
1031 2012-04-12  Zalan Bujtas  <zbujtas@gmail.com>
1032
1033         [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
1034         https://bugs.webkit.org/show_bug.cgi?id=83428
1035
1036         Reviewed by Kenneth Rohde Christiansen.
1037
1038         When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
1039         coordinates. It is already done at ScrollView base class and this patch copies the logic to the
1040         FrameView subclass.
1041         Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
1042
1043         * WebProcess/WebPage/WebPage.cpp:
1044         (WebKit::WebPage::highlightPotentialActivation):
1045         (WebKit::WebPage::findZoomableAreaForPoint):
1046
1047 2012-04-11  Andy Estes  <aestes@apple.com>
1048
1049         Remove an autorelease pool made redundant by r113923.
1050         https://bugs.webkit.org/show_bug.cgi?id=83730
1051
1052         Reviewed by Dan Bernstein.
1053         
1054         Remove flushLayer()'s autorelease pool, since one now exists in the
1055         call frame above it (in LayerFlushScheduler::runLoopObserverCallback()).
1056
1057         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
1058         (WebKit::LayerTreeHostCAMac::flushLayers):
1059
1060 2012-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1061
1062         [GTK] Initial cookies API for WebKit2 GTK+ API
1063         https://bugs.webkit.org/show_bug.cgi?id=82441
1064
1065         Reviewed by Gustavo Noronha Silva.
1066
1067         * GNUmakefile.am: Add new files to compilation.
1068         * UIProcess/API/gtk/WebKitCookieManager.cpp: Added.
1069         (webkit_cookie_manager_init):
1070         (webkitCookieManagerFinalize):
1071         (webkit_cookie_manager_class_init):
1072         (webkitCookieManagerCreate): Create a new WebKitCookieManager for
1073         the given WKCookieManagerRef.
1074         (webkit_cookie_manager_set_accept_policy): Set the cookie
1075         acceptance policy.
1076         (webkitCookieManagerGetAcceptPolicyCallback): Callback called by
1077         the C API when the cookie acceptance policy has been received.
1078         (webkit_cookie_manager_get_accept_policy): Asynchronously get the
1079         cookie acceptance policy.
1080         (webkit_cookie_manager_get_accept_policy_finish): Finish async
1081         operation started by webkit_cookie_manager_get_accept_policy()
1082         returning the cookie acceptance policy.
1083         (webkitCookieManagerGetDomainsWithCookiesCallback): Callback
1084         called by the C API when the list of hostnames with cookies has
1085         been received.
1086         (webkit_cookie_manager_get_domains_with_cookies): Asynchronously
1087         get the list of domains with cookies.
1088         (webkit_cookie_manager_get_domains_with_cookies_finish): Finish
1089         async operation started by
1090         webkit_cookie_manager_get_domains_with_cookies() returning the
1091         list of domains.
1092         (webkit_cookie_manager_delete_cookies_for_domain): Delete all
1093         cookies for the given domain.
1094         (webkit_cookie_manager_delete_all_cookies): Delete all cookies.
1095         * UIProcess/API/gtk/WebKitCookieManager.h: Added.
1096         * UIProcess/API/gtk/WebKitCookieManagerPrivate.h: Added.
1097         * UIProcess/API/gtk/WebKitWebContext.cpp:
1098         (webkit_web_context_get_cookie_manager): Get the
1099         WebKitCookieManager associated with the web context.
1100         * UIProcess/API/gtk/WebKitWebContext.h:
1101         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for
1102         WebKitCookieManager.
1103         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1104         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
1105         webkit_cookie_manager_get_type.
1106         * UIProcess/API/gtk/tests/GNUmakefile.am:
1107         * UIProcess/API/gtk/tests/TestCookieManager.cpp: Added.
1108         (testCookieManagerAcceptPolicy):
1109         (testCookieManagerDeleteCookies):
1110         (serverCallback):
1111         (beforeAll):
1112         (afterAll):
1113         * UIProcess/API/gtk/webkit2.h: Include WebKitCookieManager.h.
1114
1115 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1116
1117         [Qt] InspectorServer: Add an API level auto test
1118         https://bugs.webkit.org/show_bug.cgi?id=83594
1119
1120         Reviewed by Kenneth Rohde Christiansen.
1121
1122         This tests InspectorServer and WebSocketServer.
1123
1124         * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Added.
1125         * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Added.
1126         (tst_InspectorServer):
1127         (tst_InspectorServer::tst_InspectorServer):
1128         (tst_InspectorServer::prepareWebViewComponent):
1129         (tst_InspectorServer::newWebView):
1130         (tst_InspectorServer::init):
1131         (tst_InspectorServer::cleanup):
1132         (tst_InspectorServer::webView):
1133         (tst_InspectorServer::fetchPageList):
1134         (tst_InspectorServer::testPageList): This tests that pages with developerExtrasEnabled appear available for inspection.
1135         (tst_InspectorServer::testRemoteDebuggingMessage): This tests a web socket connection using a raw inspector command.
1136         (tst_InspectorServer::openRemoteDebuggingSession): This tests the whole pipeline by starting a remote inspection session.
1137         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1138         (tst_QQuickWebView):
1139         (tst_QQuickWebView::prepareWebViewComponent):
1140         * UIProcess/API/qt/tests/tests.pri:
1141         * UIProcess/API/qt/tests/util.cpp:
1142         (LoadStartedCatcher::LoadStartedCatcher):
1143         (LoadStartedCatcher::onLoadingChanged):
1144         * UIProcess/API/qt/tests/util.h:
1145         (LoadStartedCatcher):
1146
1147 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1148
1149         [Qt] InspectorServer: Improve the JSON page list's parameter names
1150         https://bugs.webkit.org/show_bug.cgi?id=83592
1151
1152         Reviewed by Simon Hausmann.
1153
1154         - Add "id" that would be needed to build the URL when using local front-end resources
1155           (and will be used by tests)
1156         - Rename description to "title", the description contains both the title and URL on the final list
1157         - Rename inspectorLocation to "inspectorUrl" to match with the url parameter.
1158
1159         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
1160         (WebKit::WebInspectorServer::buildPageList):
1161         * qt/Resources/inspectorPageIndex.html:
1162
1163 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1164
1165         [Qt] Fix issues when using the WebView as ShaderEffectSource
1166         https://bugs.webkit.org/show_bug.cgi?id=83587
1167
1168         Reviewed by Noam Rosenthal.
1169
1170         Qt is going to mirror the projection matrix when the shader effect source
1171         is grabbed. Detect that the matrix is mirrored and pass on this information
1172         to TextureMapper so that it can do the same.
1173
1174         * UIProcess/WebLayerTreeRenderer.cpp:
1175         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
1176         * UIProcess/WebLayerTreeRenderer.h:
1177         (WebLayerTreeRenderer):
1178         * UIProcess/qt/QtWebPageSGNode.cpp:
1179         (WebKit::ContentsSGNode::render):
1180
1181 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1182
1183         [Qt] Remove unnecessary rendering code
1184         https://bugs.webkit.org/show_bug.cgi?id=83591
1185
1186         Reviewed by Noam Rosenthal.
1187
1188         - Remove code that isn't needed since the introduction of WebLayerTreeRenderer
1189         - Remove TextureMapper::bindSurface(0) calls following beginPainting, which calls it itself.
1190
1191         * UIProcess/API/qt/qquickwebpage.cpp:
1192         (QQuickWebPagePrivate::paint):
1193         * UIProcess/API/qt/qquickwebpage_p_p.h:
1194         (QQuickWebPagePrivate):
1195         * UIProcess/DrawingAreaProxy.h:
1196         * UIProcess/DrawingAreaProxyImpl.cpp:
1197         * UIProcess/DrawingAreaProxyImpl.h:
1198         (DrawingAreaProxyImpl):
1199         * UIProcess/LayerTreeHostProxy.cpp:
1200         * UIProcess/LayerTreeHostProxy.h:
1201         (LayerTreeHostProxy):
1202         * UIProcess/WebLayerTreeRenderer.cpp:
1203         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
1204         (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
1205
1206 2012-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1207
1208         Unreviewed. Fix make distcheck issues.
1209
1210         * GNUmakefile.am: Add missing header file.
1211
1212 2012-04-10  Mark Rowe  <mrowe@apple.com>
1213
1214         <rdar://problem/10583749> WebKit2 should log to both ASL and stderr
1215
1216         Replace direct calls to fprintf stderr with calls to WTFLogAlways.
1217
1218         Reviewed by Sam Weinig.
1219
1220         * PluginProcess/mac/PluginProcessMainMac.mm:
1221         (WebKit::PluginProcessMain):
1222         * UIProcess/WebProcessProxy.cpp:
1223         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
1224         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
1225         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
1226         (WebKit::InjectedBundle::load):
1227         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
1228         (readSandboxProfile):
1229         (WKN_EnterSandbox):
1230         * WebProcess/mac/WebProcessMac.mm:
1231         (WebKit::initializeSandbox):
1232         * WebProcess/mac/WebProcessMainMac.mm:
1233         (WebKit::WebProcessMain):
1234
1235 2012-04-10  Yael Aharon  <yael.aharon@nokia.com>
1236
1237         Unreviewed build fix after r113791.
1238
1239         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1240         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
1241
1242 2012-04-10  Yael Aharon  <yael.aharon@nokia.com>
1243
1244         Initial support for fixed position elements in Qt WebKit2
1245         https://bugs.webkit.org/show_bug.cgi?id=81786
1246
1247         Reviewed by Noam Rosenthal.
1248
1249         Turn on the flag acceleratedCompositingForFixedPositionEnabled when using fixed layout.
1250         As we scroll, we keep track of the delta in scroll position between the UI and web processes,
1251         and adjust the position of all the fixed layers by that delta.
1252         When WebLayerTreeRenderer receives a new scroll position from the web process, it keeps it as pending,
1253         and commit the new scroll position in flushLayerChanges.
1254         This patch does not address scrolling overshoot and it does not fix the wrong positioning
1255         that occurs when we zoom. These issues will be addressed in future patches.
1256
1257         * Shared/WebLayerTreeInfo.h:
1258         * UIProcess/API/qt/qquickwebpage.cpp:
1259         (QQuickWebPagePrivate::updateSize):
1260         * UIProcess/LayerTreeHostProxy.cpp:
1261         (WebKit::LayerTreeHostProxy::setContentsSize):
1262         (WebKit):
1263         (WebKit::LayerTreeHostProxy::renderNextFrame):
1264         (WebKit::LayerTreeHostProxy::didChangeScrollPosition):
1265         * UIProcess/LayerTreeHostProxy.h:
1266         (LayerTreeHostProxy):
1267         * UIProcess/LayerTreeHostProxy.messages.in:
1268         * UIProcess/WebLayerTreeRenderer.cpp:
1269         (WebKit::boundedScrollPosition):
1270         (WebKit):
1271         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
1272         (WebKit::WebLayerTreeRenderer::setContentsSize):
1273         (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
1274         (WebKit::WebLayerTreeRenderer::didChangeScrollPosition):
1275         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
1276         (WebKit::WebLayerTreeRenderer::deleteLayer):
1277         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
1278         * UIProcess/WebLayerTreeRenderer.h:
1279         (WebLayerTreeRenderer):
1280         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1281         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
1282         (WebCore::WebGraphicsLayer::syncCompositingState):
1283         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1284         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1285         (WebGraphicsLayerClient):
1286         (WebCore::WebGraphicsLayer::fixedToViewport):
1287         (WebCore::WebGraphicsLayer::setFixedToViewport):
1288         (WebGraphicsLayer):
1289         * WebProcess/WebPage/WebPage.cpp:
1290         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
1291         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1292         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
1293         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
1294         (WebKit::updateOffsetFromViewportForSelf):
1295         (WebKit):
1296         (WebKit::updateOffsetFromViewportForLayer):
1297         (WebKit::LayerTreeHostQt::syncFixedLayers):
1298         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
1299         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1300         (LayerTreeHostQt):
1301
1302 2012-04-10  Anders Carlsson  <andersca@apple.com>
1303
1304         Fix fast/images/exif-orientation.html WebKitTestRunner failure
1305         https://bugs.webkit.org/show_bug.cgi?id=83627
1306
1307         Reviewed by Sam Weinig.
1308
1309         Handle overriding the WebKitShouldRespectImageOrientation preference.
1310
1311         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1312         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
1313
1314 2012-04-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
1315
1316         [Qt][WK2] Manage graphics buffers in the web process
1317         https://bugs.webkit.org/show_bug.cgi?id=78675
1318
1319         Added ShareableSurface, a class allowing the use of GPU-enabled
1320         surfaces for bitmap transfer between the web and UI processes.
1321         Since GraphicsSurfaces may not always be available, ShareableSurface
1322         uses a standard ShareableBitmap as a fallback backend.
1323
1324         The necessary plumbing was added in WebKit2 for passing updates via
1325         ShareableSurfaces instead of ShareableBitmaps. SurfaceUpdateInfo was
1326         added, as to not make UpdateInfo more complicated.
1327
1328         Reviewed by Kenneth Rohde Christiansen.
1329
1330         * Shared/ShareableSurface.cpp: Added.
1331         * Shared/ShareableSurface.h: Added.
1332         * Shared/SurfaceUpdateInfo.cpp: Added.
1333         * Shared/SurfaceUpdateInfo.h: Added.
1334         * Target.pri:
1335         * UIProcess/LayerTreeHostProxy.cpp:
1336         (WebKit::LayerTreeHostProxy::createTileForLayer):
1337         (WebKit::LayerTreeHostProxy::updateTileForLayer):
1338         * UIProcess/LayerTreeHostProxy.h:
1339         (LayerTreeHostProxy):
1340         * UIProcess/LayerTreeHostProxy.messages.in:
1341         * UIProcess/WebLayerTreeRenderer.cpp:
1342         (WebKit::WebLayerTreeRenderer::updateTile):
1343         * UIProcess/WebLayerTreeRenderer.h:
1344         (TileUpdate):
1345         (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
1346         * UIProcess/qt/LayerBackingStore.cpp:
1347         (WebKit::LayerBackingStoreTile::swapBuffers):
1348         (WebKit::LayerBackingStoreTile::setBackBuffer):
1349         (WebKit::LayerBackingStore::updateTile):
1350         * UIProcess/qt/LayerBackingStore.h:
1351         (LayerBackingStoreTile):
1352         (LayerBackingStore):
1353         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1354         (WebCore::WebGraphicsLayer::beginContentUpdate):
1355         (WebCore::WebGraphicsLayer::createTile):
1356         (WebCore::WebGraphicsLayer::updateTile):
1357         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1358         (WebGraphicsLayerClient):
1359         (WebGraphicsLayer):
1360         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1361         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1362         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
1363         (WebKit):
1364         (TiledBackingStoreRemoteTileClient):
1365         * WebProcess/WebPage/UpdateAtlas.cpp:
1366         (WebKit::UpdateAtlas::UpdateAtlas):
1367         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
1368         * WebProcess/WebPage/UpdateAtlas.h:
1369         (WebKit::UpdateAtlas::surface):
1370         (WebKit::UpdateAtlas::size):
1371         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1372         (WebKit::LayerTreeHostQt::createTile):
1373         (WebKit::LayerTreeHostQt::updateTile):
1374         (WebKit::LayerTreeHostQt::beginContentUpdate):
1375         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1376         (LayerTreeHostQt):
1377
1378 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
1379
1380         [CMake] Enable USE_FOLDERS property
1381         https://bugs.webkit.org/show_bug.cgi?id=83571
1382
1383         Reviewed by Daniel Bates.
1384
1385         Setting the FOLDER property on targets gives more structure 
1386         to the generated Visual Studio solutions.
1387         This does not affect other CMake generators.
1388
1389         * CMakeLists.txt:
1390
1391 2012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
1392
1393         [Qt][WK2] Assertion failure on loading new page after panning/zooming
1394         https://bugs.webkit.org/show_bug.cgi?id=83049
1395
1396         Reviewed by Kenneth Rohde Christiansen.
1397
1398         When handling contents size change, set the visible content rectangle immediately,
1399         instead of animating to it.
1400
1401         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1402         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
1403
1404 2012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
1405
1406         [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
1407         https://bugs.webkit.org/show_bug.cgi?id=82483
1408
1409         Reviewed by Kenneth Rohde Christiansen.
1410
1411         titleChanged signal is not emitted on comitting a new load.
1412
1413         * UIProcess/API/qt/tests/html/basic_page.html:
1414         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1415         (tst_QQuickWebView):
1416         (tst_QQuickWebView::titleUpdate):
1417         * UIProcess/qt/QtWebPageLoadClient.cpp:
1418         (QtWebPageLoadClient::didCommitLoadForFrame):
1419
1420 2012-04-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1421
1422         [Qt][WK2] Implement PageClient::isViewWindowActive()
1423         https://bugs.webkit.org/show_bug.cgi?id=81143
1424
1425         Reviewed by Kenneth Rohde Christiansen.
1426
1427         This patch implements PageClient::isViewWindowActive()
1428         now that QQuickCanvas::isActive() is available (from QWindow).
1429
1430         * UIProcess/qt/QtPageClient.cpp:
1431         (QtPageClient::isViewWindowActive):
1432
1433 2012-04-10  Philippe Normand <pnormand@igalia.com> and Carlos Garcia Campos  <cgarcia@igalia.com>
1434
1435         [WK2][GTK] FullScreen signals
1436         https://bugs.webkit.org/show_bug.cgi?id=76166
1437
1438         Reviewed by Gustavo Noronha Silva.
1439
1440         * GNUmakefile.am: Add new files to compilation.
1441         * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:
1442         (WKViewSetFullScreenClientGtk): Initialize WebKitWebViewBase
1443         fullscreen client.
1444         * UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
1445         * UIProcess/API/gtk/WebKitFullscreenClient.cpp: Added.
1446         (willEnterFullScreen): Call webkitWebViewEnterFullScreen().
1447         (willExitFullScreen): Call webkitWebViewLeaveFullScreen().
1448         (attachFullScreenClientToView): Initialize FullScreenClient adding
1449         implementations for willEnterFullScreen and willExitFullScreen callbacks.
1450         * UIProcess/API/gtk/WebKitFullscreenClient.h: Added.
1451         * UIProcess/API/gtk/WebKitPrivate.h:
1452         * UIProcess/API/gtk/WebKitWebView.cpp:
1453         (webkitWebViewConstructed): Attach fullscreen client to view.
1454         (webkit_web_view_class_init): Add WebKitWebView::enter-fullscreen
1455         and WebKitWebView::leave-fullscreen signals.
1456         (webkitWebViewEnterFullScreen): Emit
1457         WebKitWebView::enter-fullscreen signal.
1458         (webkitWebViewLeaveFullScreen): Emit
1459         WebKitWebView::leave-fullscreen signal.
1460         * UIProcess/API/gtk/WebKitWebView.h:
1461         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1462         (webkitWebViewBaseKeyPressEvent): Only return early when leaving
1463         fullscreen, otherwise let the view process the key pressed.
1464         (webkitWebViewBaseEnterFullScreen): Return early if
1465         willEnterFullScreen callback is handled and returns false.
1466         (webkitWebViewBaseExitFullScreen): Return early if
1467         willExitFullScreen callback is handled and returns false.
1468         (webkitWebViewBaseInitializeFullScreenClient): Initialize the
1469         fullscreen client.
1470         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1471         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1472         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1473         (testWebViewFullScreen):
1474         (beforeAll):
1475         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1476         (WebViewTest::keyStroke): Helper function to synthesize key
1477         press/release events.
1478         * UIProcess/API/gtk/tests/WebViewTest.h:
1479         * UIProcess/API/gtk/webkit2marshal.list:
1480         * UIProcess/gtk/WebFullScreenClientGtk.cpp:
1481         (WebKit::WebFullScreenClientGtk::willEnterFullScreen): Call
1482         willEnterFullScreen callback if defined.
1483         (WebKit::WebFullScreenClientGtk::willExitFullScreen): Call
1484         willExitFullScreen callback if defined.
1485         * UIProcess/gtk/WebFullScreenClientGtk.h:
1486
1487 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
1488
1489         [CMake] Add missing source files to build system
1490
1491         * CMakeLists.txt:
1492
1493 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
1494
1495         [WK2] Enable using a single ShareableBitmap for multiple updates
1496         https://bugs.webkit.org/show_bug.cgi?id=83424
1497
1498         Reviewed by Kenneth Rohde Christiansen.
1499
1500         Enabled creating a GraphicsContext that references a rect inside ShareableBitmap.
1501         Added bitmapOffset to UpdateInfo, to allow updates to reference an offset inside the bitmap.
1502         Added UpdateAtlas, a class that manages available rects in a larger ShareableBitmap.
1503
1504         In this iteration, UpdateAtlas has a simple behavior where a rect inside the bitmap is
1505         either available or used. When the buffers are swapped, all used buffers become available
1506         again. A future enhancement might allow triple-buffering, where available rects can be
1507         updated while other rects from the same atlas are in use.
1508
1509         Added the necessary plumbing to allow Qt's UI-side compositing to take advantage of
1510         UpdateAtlas. LayerTreeHostQt creates an atlas per type of bitmap (i.e. one opaque and one
1511         alpha-enabled atlas). When a tile wants to update and there's no available scratch-buffer,
1512         the update would be postponed to the next frame, creating a tiling-artifact in low memory
1513         situations.
1514
1515         * Shared/UpdateInfo.cpp:
1516         (WebKit::UpdateInfo::encode):
1517         (WebKit::UpdateInfo::decode):
1518         * Shared/UpdateInfo.h:
1519         (UpdateInfo):
1520         * Target.pri:
1521         * UIProcess/LayerTreeHostProxy.cpp:
1522         (WebKit::LayerTreeHostProxy::updateTileForLayer):
1523         * UIProcess/WebLayerTreeRenderer.cpp:
1524         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
1525         (WebKit::WebLayerTreeRenderer::updateTile):
1526         (WebKit::WebLayerTreeRenderer::createImage):
1527         * UIProcess/WebLayerTreeRenderer.h:
1528         (TileUpdate):
1529         (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
1530         (WebLayerTreeRenderer):
1531         * UIProcess/qt/LayerBackingStore.cpp:
1532         (WebKit::LayerBackingStoreTile::swapBuffers):
1533         (WebKit::LayerBackingStoreTile::setBackBuffer):
1534         (WebKit::LayerBackingStore::createTile):
1535         * UIProcess/qt/LayerBackingStore.h:
1536         (LayerBackingStoreTile):
1537         (LayerBackingStore):
1538         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1539         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
1540         (WebCore::WebGraphicsLayer::beginContentUpdate):
1541         (WebCore):
1542         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1543         (WebGraphicsLayerClient):
1544         (WebGraphicsLayer):
1545         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1546         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1547         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
1548         (TiledBackingStoreRemoteTileClient):
1549         * WebProcess/WebPage/UpdateAtlas.cpp: Added.
1550         (WebKit):
1551         (WebKit::UpdateAtlas::UpdateAtlas):
1552         (WebKit::nextPowerOfTwo):
1553         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
1554         (WebKit::UpdateAtlas::findAvailableIndex):
1555         (WebKit::UpdateAtlas::didSwapBuffers):
1556         (WebKit::UpdateAtlas::acquireScratchBuffer):
1557         (WebKit::UpdateAtlas::offsetForIndex):
1558         * WebProcess/WebPage/UpdateAtlas.h: Added.
1559         (WebCore):
1560         (WebKit):
1561         (UpdateAtlas):
1562         (WebKit::UpdateAtlas::bitmap):
1563         (WebKit::UpdateAtlas::size):
1564         (WebKit::UpdateAtlas::flags):
1565         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1566         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
1567         (WebKit::LayerTreeHostQt::renderNextFrame):
1568         (WebKit::LayerTreeHostQt::purgeBackingStores):
1569         (WebKit):
1570         (WebKit::LayerTreeHostQt::getAtlas):
1571         (WebKit::LayerTreeHostQt::beginContentUpdate):
1572         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1573         (LayerTreeHostQt):
1574
1575 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
1576
1577         [Qt][WK2] Sync the layer's state and the layer's children separately
1578         https://bugs.webkit.org/show_bug.cgi?id=82534
1579
1580         Reviewed by Kenneth Rohde Christiansen.
1581
1582         Switched the WebLayerInfo struct, which includes a single layer's state,
1583         to use only POD types that can be serialized via SimpleArgumentCoder.
1584         To allow POD-serialization, we serialize the children IDs in a seperate
1585         message (SetLayerChildren), and only when the tree layout has actually
1586         been modified.
1587
1588         * Shared/WebLayerTreeInfo.cpp:
1589         (WebKit::WebLayerInfo::encode):
1590         (WebKit::WebLayerInfo::decode):
1591         * Shared/WebLayerTreeInfo.h:
1592         (WebKit::WebLayerInfo::WebLayerInfo):
1593         * UIProcess/LayerTreeHostProxy.cpp:
1594         (WebKit::LayerTreeHostProxy::setCompositingLayerState):
1595         (WebKit):
1596         (WebKit::LayerTreeHostProxy::setCompositingLayerChildren):
1597         * UIProcess/LayerTreeHostProxy.h:
1598         (LayerTreeHostProxy):
1599         * UIProcess/LayerTreeHostProxy.messages.in:
1600         * UIProcess/WebLayerTreeRenderer.cpp:
1601         (WebKit::WebLayerTreeRenderer::setLayerChildren):
1602         (WebKit):
1603         (WebKit::WebLayerTreeRenderer::setLayerState):
1604         * UIProcess/WebLayerTreeRenderer.h:
1605         (WebLayerTreeRenderer):
1606         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1607         (WebCore::WebGraphicsLayer::didChangeLayerState):
1608         (WebCore):
1609         (WebCore::WebGraphicsLayer::didChangeChildren):
1610         (WebCore::WebGraphicsLayer::didChangeGeometry):
1611         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
1612         (WebCore::WebGraphicsLayer::setChildren):
1613         (WebCore::WebGraphicsLayer::addChild):
1614         (WebCore::WebGraphicsLayer::addChildAtIndex):
1615         (WebCore::WebGraphicsLayer::addChildAbove):
1616         (WebCore::WebGraphicsLayer::addChildBelow):
1617         (WebCore::WebGraphicsLayer::replaceChild):
1618         (WebCore::WebGraphicsLayer::removeFromParent):
1619         (WebCore::WebGraphicsLayer::setDrawsContent):
1620         (WebCore::WebGraphicsLayer::setContentsOpaque):
1621         (WebCore::WebGraphicsLayer::setBackfaceVisibility):
1622         (WebCore::WebGraphicsLayer::setOpacity):
1623         (WebCore::WebGraphicsLayer::setContentsRect):
1624         (WebCore::WebGraphicsLayer::setContentsToImage):
1625         (WebCore::WebGraphicsLayer::setMaskLayer):
1626         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
1627         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
1628         (WebCore::WebGraphicsLayer::id):
1629         (WebCore::WebGraphicsLayer::syncChildren):
1630         (WebCore::WebGraphicsLayer::syncLayerState):
1631         (WebCore::WebGraphicsLayer::syncImageBackingStore):
1632         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1633         (WebCore::WebGraphicsLayer::setRootLayer):
1634         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1635         (WebGraphicsLayerClient):
1636         (WebGraphicsLayer):
1637         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1638         (WebKit::LayerTreeHostQt::syncLayerState):
1639         (WebKit):
1640         (WebKit::LayerTreeHostQt::syncLayerChildren):
1641         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1642         (LayerTreeHostQt):
1643
1644 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
1645
1646         [Qt][WK2] Accelerated and non-accelerated animations need to be synchronized
1647         https://bugs.webkit.org/show_bug.cgi?id=75780
1648
1649         Reviewed by Kenneth Rohde Christiansen.
1650
1651         Remove the ui-side animation code, and return false from addAnimation so that web-side
1652         animations kick in.
1653
1654         * Shared/WebLayerTreeInfo.cpp:
1655         (WebKit):
1656         * Shared/WebLayerTreeInfo.h:
1657         (WebLayerInfo):
1658         * UIProcess/WebLayerTreeRenderer.cpp:
1659         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
1660         (WebKit::WebLayerTreeRenderer::setLayerState):
1661         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1662         (WebCore::WebGraphicsLayer::didChangeGeometry):
1663         (WebCore::WebGraphicsLayer::syncLayerState):
1664         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
1665         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1666         (WebGraphicsLayer):
1667
1668 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
1669
1670         [Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer information wasn't changed
1671         https://bugs.webkit.org/show_bug.cgi?id=82522
1672
1673         Reviewed by Kenneth Rohde Christiansen.
1674
1675         Currently we set the m_modified flags for all of the descendants of a layer
1676         that has changed its geometry. This causes unnecessary layer sync messages.
1677         Instead, we only sync when the actual layer has changed, and add a flag
1678         called m_shouldUpdateVisibleRect that applies to descendants of a layer
1679         that has a modified geometry.
1680
1681         * Shared/WebLayerTreeInfo.h:
1682         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1683         (WebCore::WebGraphicsLayer::didChangeChildren):
1684         (WebCore):
1685         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
1686         (WebCore::WebGraphicsLayer::didChangeGeometry):
1687         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
1688         (WebCore::WebGraphicsLayer::setPosition):
1689         (WebCore::WebGraphicsLayer::setAnchorPoint):
1690         (WebCore::WebGraphicsLayer::setSize):
1691         (WebCore::WebGraphicsLayer::setTransform):
1692         (WebCore::WebGraphicsLayer::setChildrenTransform):
1693         (WebCore::WebGraphicsLayer::setPreserves3D):
1694         (WebCore::WebGraphicsLayer::setContentsToImage):
1695         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
1696         (WebCore::WebGraphicsLayer::syncImageBackingStore):
1697         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1698         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
1699         (WebCore::WebGraphicsLayer::setRootLayer):
1700         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
1701         (WebCore::WebGraphicsLayer::setContentsScale):
1702         (WebCore::WebGraphicsLayer::effectiveContentsScale):
1703         (WebCore::WebGraphicsLayer::adjustContentsScale):
1704         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1705         (WebGraphicsLayer):
1706
1707 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
1708
1709         [Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE_COMPOSITING
1710         https://bugs.webkit.org/show_bug.cgi?id=82533
1711
1712         Reviewed by Kenneth Rohde Christiansen.
1713
1714         No change in behavior, removing some #defines.
1715
1716         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1717         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
1718         (WebCore::WebGraphicsLayer::adjustContentsScale):
1719         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1720         (WebGraphicsLayer):
1721         * WebProcess/WebPage/LayerTreeHost.h:
1722         (LayerTreeHost):
1723         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1724         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
1725         (WebKit::LayerTreeHostQt::detachLayer):
1726
1727 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
1728
1729         [Qt][WK2] Disable the content-scaling and visible contents rect when the layer's transform is not affine
1730         https://bugs.webkit.org/show_bug.cgi?id=82523
1731
1732         Reviewed by Kenneth Rohde Christiansen.
1733
1734         Always use contentsScale of 1 and a full visibleContentsRect when
1735         the layer's transform is not affine. That's because layer's with
1736         complex transform would not gain from the benefit of contents scaling,
1737         and might also create unexpected layer content sizes.
1738
1739         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1740         (WebCore::WebGraphicsLayer::createBackingStore):
1741         (WebCore):
1742         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
1743         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
1744         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
1745         (WebCore::WebGraphicsLayer::updateTile):
1746         (WebCore::WebGraphicsLayer::removeTile):
1747         (WebCore::WebGraphicsLayer::updateContentBuffers):
1748         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1749         (WebGraphicsLayer):
1750
1751 2012-04-09  Zalan Bujtas  <zbujtas@gmail.com>
1752
1753         [Qt][WK2] Fail to activate links after double tap gesture.
1754         https://bugs.webkit.org/show_bug.cgi?id=83468
1755
1756         Reviewed by Kenneth Rohde Christiansen.
1757
1758         After a recognized double tap gesture, QtTapGestureRecognizer
1759         gets stuck in the double-tap state. Only tapping outside of
1760         the double tap radius cancels it.
1761         Call reset() to set the default state back.
1762
1763         * UIProcess/qt/QtTapGestureRecognizer.cpp:
1764         (WebKit::QtTapGestureRecognizer::recognize):
1765
1766         ManualTests/link-activation-fails-after-double-tap-gesture.html: Added.
1767
1768 2012-04-07  Patrick Gansterer  <paroga@webkit.org>
1769
1770         [CMake] Cleanup WTF include directories
1771         https://bugs.webkit.org/show_bug.cgi?id=82716
1772
1773         Reviewed by Eric Seidel.
1774
1775         * CMakeLists.txt:
1776
1777 2012-04-06  Jon Lee  <jonlee@apple.com>
1778
1779         Build fix for Windows bots.
1780
1781         * win/WebKit2.def: Add missing export symbol.
1782
1783 2012-04-06  Hironori Bono  <hbono@chromium.org>
1784
1785         REGRESSION: Cannot write a word with Korean double consonant
1786         https://bugs.webkit.org/show_bug.cgi?id=81186
1787
1788         Reviewed by Dan Bernstein.
1789
1790         WebKit change r103859 posts fake mouse-move events when the keyboard status is
1791         changed. Unfortunately, these mouse events go to input methods and confuse a
1792         Korean input method. This change directly calls handleMouseEvent() instead of
1793         -mouseMoved: to prevent sending these fake events to input methods.
1794
1795         * UIProcess/API/mac/WKView.mm:
1796         (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
1797
1798 2012-04-06  Alexey Proskuryakov  <ap@apple.com>
1799
1800         [Mac] Adopt a different method of telling AppKit when inline input isn't supported
1801         https://bugs.webkit.org/show_bug.cgi?id=83408
1802         <rdar://problem/9205734>
1803
1804         Reviewed by Adele Peterson.
1805
1806         * UIProcess/API/mac/WKTextInputWindowController.mm:
1807         (-[WKTextInputView validAttributesForMarkedText]):
1808         (-[WKTextInputPanel init]):
1809         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): Added a comment
1810         about old approach.
1811
1812 2012-04-06  Jer Noble  <jer.noble@apple.com>
1813
1814         WebFullScreenManagerProxy::isFullScreen() will create an empty full screen window; steal focus.
1815         https://bugs.webkit.org/show_bug.cgi?id=83388
1816
1817         Reviewed by Geoffrey Garen.
1818
1819         Calling WebFullScreenManagerProxy::isFullScreen() will create a WKFullScreenWindowController if 
1820         one does not already exist, since the -[WKView fullScreenWindowController] method will create-on-access.
1821         Add a new call, -[WKView hasFullScreenWindowController], which does not auto-create the controller
1822         and add that check to WebFullScreenManagerProxy::isFullScreen().
1823
1824         * UIProcess/API/mac/WKView.mm:
1825         (-[WKView hasFullScreenWindowController]):
1826         * UIProcess/API/mac/WKViewInternal.h:
1827         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
1828         (WebKit::WebFullScreenManagerProxy::isFullScreen):
1829
1830 2012-04-06  Tim Horton  <timothy_horton@apple.com>
1831
1832         Add autodetection of image orientation from EXIF information
1833         https://bugs.webkit.org/show_bug.cgi?id=19688
1834         <rdar://problem/4126979> and <rdar://problem/11091578>
1835
1836         Original patch by David Carson and Eric Seidel.
1837
1838         Reviewed by Simon Fraser.
1839
1840         Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images.
1841
1842         * Shared/WebPreferencesStore.h:
1843         (WebKit):
1844         * UIProcess/API/C/WKPreferences.cpp:
1845         (WKPreferencesSetShouldRespectImageOrientation):
1846         (WKPreferencesGetShouldRespectImageOrientation):
1847         * UIProcess/API/C/WKPreferences.h:
1848         * WebProcess/WebPage/WebPage.cpp:
1849         (WebKit::WebPage::updatePreferences):
1850
1851 2012-04-06  Dan Bernstein  <mitz@apple.com>
1852
1853         <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
1854
1855         Reviewed by Sam Weinig.
1856
1857         * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
1858
1859 2012-04-05  Anders Carlsson  <andersca@apple.com>
1860
1861         Crash when switching to a tab with plug-ins
1862         https://bugs.webkit.org/show_bug.cgi?id=83339
1863         <rdar://problem/11183338>
1864
1865         Reviewed by Oliver Hunt.
1866
1867         Add an additional check so we don't try to call into plug-ins that haven't yet been initialized.
1868
1869         * WebProcess/Plugins/PluginView.cpp:
1870         (WebKit::PluginView::setLayerHostingMode):
1871
1872 2012-04-05  Dean Jackson  <dino@apple.com>
1873
1874         [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
1875         https://bugs.webkit.org/show_bug.cgi?id=76105
1876
1877         Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only.
1878         This means a Page might start requestAnimationFrame-based animations
1879         even when it isn't visible. This should only happen when a Page is
1880         opened in the background though. The regular hide and show should still
1881         pause animations.
1882
1883         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1884         (WebKit::DrawingAreaImpl::resumePainting):
1885
1886 2012-04-05  Dean Jackson  <dino@apple.com>
1887
1888         [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
1889         https://bugs.webkit.org/show_bug.cgi?id=76105
1890
1891         Reviewed by Simon Fraser.
1892
1893         When we are resuming painting only start the scripted animations
1894         if we're a visible window. This can happen when tabs are opened
1895         in the background.
1896
1897         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1898         (WebKit::DrawingAreaImpl::resumePainting):
1899
1900 2012-04-05  Patrick Gansterer  <paroga@webkit.org>
1901
1902         [Qt] Correct <wtf/*.h> include paths.
1903         https://bugs.webkit.org/show_bug.cgi?id=83270
1904
1905         Reviewed by Eric Seidel.
1906
1907         Modify the #include declerations so that the
1908         wtf types are included using the full path.
1909
1910         * Shared/qt/QtNetworkReplyData.cpp:
1911         * UIProcess/WebLayerTreeRenderer.cpp:
1912         * UIProcess/qt/LayerBackingStore.h:
1913         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1914         * UIProcess/qt/QtViewportInteractionEngine.h:
1915         * UIProcess/qt/QtWebPageSGNode.h:
1916         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1917
1918 2012-04-05  Jia Pu  <jpu@apple.com>
1919
1920         Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
1921         https://bugs.webkit.org/show_bug.cgi?id=82970
1922
1923         Reviewed by Enrica Casucci.
1924
1925         Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
1926         See WebCore/ChangeLog for details.
1927
1928         * UIProcess/API/gtk/PageClientImpl.cpp:
1929         * UIProcess/API/mac/PageClientImpl.h:
1930         (PageClientImpl):
1931         * UIProcess/API/mac/PageClientImpl.mm:
1932         (WebKit::PageClientImpl::recordAutocorrectionResponse):
1933         * UIProcess/API/qt/qquickwebview.cpp:
1934         * UIProcess/PageClient.h:
1935         (PageClient):
1936         * UIProcess/WebPageProxy.cpp:
1937         (WebKit::WebPageProxy::recordAutocorrectionResponse):
1938         * UIProcess/mac/CorrectionPanel.h:
1939         * UIProcess/mac/CorrectionPanel.mm:
1940         * WebKit2.xcodeproj/project.pbxproj:
1941         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Added.
1942         (WebKit):
1943         (WebKit::WebAlternativeTextClient::WebAlternativeTextClient):
1944         (WebKit::WebAlternativeTextClient::~WebAlternativeTextClient):
1945         (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
1946         (WebKit::WebAlternativeTextClient::dismissAlternative):
1947         (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
1948         (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
1949         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Added.
1950         (WebKit):
1951         (WebAlternativeTextClient):
1952         * WebProcess/WebCoreSupport/WebEditorClient.h:
1953         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1954         (WebKit):
1955         * WebProcess/WebPage/WebPage.cpp:
1956         (WebKit::WebPage::WebPage):
1957
1958 2012-04-05  Csaba Osztrogonác  <ossy@webkit.org>
1959
1960         [Qt] Fix includes after QtDeclarative -> QtQML renaming
1961         https://bugs.webkit.org/show_bug.cgi?id=82195
1962
1963         Relanding r112651, because Qt5 is updated everywhere.
1964
1965         * UIProcess/API/qt/qquicknetworkreply_p.h:
1966         * UIProcess/API/qt/qquicknetworkrequest_p.h:
1967         * UIProcess/API/qt/qquickwebview.cpp:
1968         * UIProcess/API/qt/qquickwebview_p.h:
1969         * UIProcess/API/qt/qwebiconimageprovider_p.h:
1970         * UIProcess/API/qt/qwebnavigationhistory.cpp:
1971         * UIProcess/API/qt/qwebnavigationhistory_p.h:
1972         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1973         * UIProcess/qt/QtDialogRunner.cpp:
1974         (QtDialogRunner::initForAlert):
1975         (QtDialogRunner::initForConfirm):
1976         (QtDialogRunner::initForPrompt):
1977         (QtDialogRunner::initForAuthentication):
1978         (QtDialogRunner::initForProxyAuthentication):
1979         (QtDialogRunner::initForCertificateVerification):
1980         (QtDialogRunner::initForFilePicker):
1981         (QtDialogRunner::initForDatabaseQuotaDialog):
1982         (QtDialogRunner::createDialog):
1983         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
1984         (WebKit::WebPopupMenuProxyQt::createItem):
1985         (WebKit::WebPopupMenuProxyQt::createContext):
1986
1987 2012-04-04  Hayato Ito  <hayato@chromium.org>
1988
1989         Remove ReifiedTreeTraversal.
1990         https://bugs.webkit.org/show_bug.cgi?id=83110
1991
1992         Reviewed by Dimitri Glazkov.
1993
1994         * win/WebKit2.def:
1995         * win/WebKit2CFLite.def:
1996
1997 2012-04-04  Shinya Kawanaka  <shinyak@chromium.org>
1998
1999         Shadow DOM is exposed in JS.
2000         https://bugs.webkit.org/show_bug.cgi?id=82607
2001
2002         Reviewed by Hajime Morita.
2003
2004         * win/WebKit2.def:
2005         * win/WebKit2CFLite.def:
2006
2007 2012-04-04  Anders Carlsson  <andersca@apple.com>
2008
2009         Text input doesn't work for some Flash forms
2010         https://bugs.webkit.org/show_bug.cgi?id=83232
2011         <rdar://problem/11186162>
2012
2013         Reviewed by Alexey Proskuryakov.
2014
2015         If a plug-in is instantiated when the WKView is not focused, text input wouldn't work. The reason for this
2016         is that WebPage::windowIsFocused() would only return true if the window and the WKView are both focused. Rename
2017         this member function to windowAndWebPageAreFocused, add a new windowIsFocused member function that does the right thing
2018         and change WebPage::focusedWebPage to use windowAndWebPageAreFocused.
2019
2020         * WebProcess/WebPage/WebPage.cpp:
2021         (WebKit::WebPage::windowIsFocused):
2022         (WebKit):
2023         (WebKit::WebPage::windowAndWebPageAreFocused):
2024         * WebProcess/WebPage/WebPage.h:
2025         (WebPage):
2026         * WebProcess/WebProcess.cpp:
2027         (WebKit::WebProcess::focusedWebPage):
2028
2029 2012-03-15  Jer Noble  <jer.noble@apple.com>
2030
2031         Full Screen mode should cancel before navigation.
2032         https://bugs.webkit.org/show_bug.cgi?id=81295
2033
2034         Reviewed by Anders Carlsson.
2035
2036         When a provisional load is started, if the page is currently in full screen mode, instruct
2037         the full screen controller to close the full screen window immediately.
2038
2039         Close the full screen window controller, if present and in full screen mode:
2040         * UIProcess/WebPageProxy.cpp:
2041         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 
2042
2043         Add boilerplate to support passing through isFullScreen() and close() methods from the WebPageProxy
2044         to the WKFullScreenWindowController:
2045         * UIProcess/WebFullScreenManagerProxy.h:
2046         * UIProcess/mac/WKFullScreenWindowController.h:
2047         * UIProcess/mac/WKFullScreenWindowController.mm:
2048         (-[WKFullScreenWindowController isFullScreen]): Added simple accessor.
2049         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
2050         (WebKit::WebFullScreenManagerProxy::close): Pass through to the WKFullScreenWindowController.
2051         (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
2052
2053 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2054
2055         WKTR needs to implement layoutTestController.setPageVisibility()
2056         https://bugs.webkit.org/show_bug.cgi?id=69554
2057
2058         Reviewed by Simon Fraser.
2059
2060         This patch implements the setPageVisibilityState through InjectedBundle
2061         so WKTR supports the Page Visibility API and can set the visibility state
2062         directly to Page.
2063
2064         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2065         (WKBundleSetPageVisibilityState):
2066         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2067         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2068         (WebKit):
2069         (WebKit::InjectedBundle::setPageVisibilityState):
2070         * WebProcess/InjectedBundle/InjectedBundle.h:
2071         (InjectedBundle):
2072
2073 2012-04-04  Alexis Menard  <alexis.menard@openbossa.org>
2074
2075         Animation related classes should use CSSPropertyId rather than integers when manipulating CSS property ids.
2076         https://bugs.webkit.org/show_bug.cgi?id=83050
2077
2078         Reviewed by Simon Fraser.
2079
2080         The property of the Animation is a CSSPropertyID. It's ok to cast it here as an int for IPC transmission.
2081
2082         * Shared/WebCoreArgumentCoders.cpp:
2083         (CoreIPC::::encode):
2084         (CoreIPC::::decode):
2085
2086 2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2087
2088         [Qt] Entire page highlighted on panning.
2089         https://bugs.webkit.org/show_bug.cgi?id=83158
2090
2091         Reviewed by Kenneth Rohde Christiansen.
2092
2093         * WebProcess/WebPage/WebPage.cpp:
2094         (WebKit::WebPage::highlightPotentialActivation):
2095
2096 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2097
2098         [Qt][WK2] QtWebKit2 should support Page Visibility API
2099         https://bugs.webkit.org/show_bug.cgi?id=81164
2100
2101         Reviewed by Kenneth Rohde Christiansen.
2102
2103         Implementing the last bits needed for getting the expected
2104         behavior for Page Visibility API, according to its spec.
2105         The only missing part in Qt was a way to check whether
2106         the view was exposed or not.
2107
2108         * UIProcess/qt/QtPageClient.cpp:
2109         (QtPageClient::isViewVisible):
2110
2111 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2112
2113         [WK2] Add Page Visibility API support
2114         https://bugs.webkit.org/show_bug.cgi?id=81154
2115
2116         Reviewed by Kenneth Rohde Christiansen.
2117
2118         Use WebPageProxy::viewStateDidChange to correctly define the page's
2119         visibilityState and then set it to the WebProcess. The WebKit2's based
2120         ports just need to implement the related PageClient functions in order
2121         to get this API enabled and working properly.
2122
2123         * UIProcess/WebPageProxy.cpp:
2124         (WebKit::WebPageProxy::WebPageProxy):
2125         (WebKit::WebPageProxy::initializeWebPage):
2126         (WebKit::WebPageProxy::viewStateDidChange):
2127         * WebProcess/WebPage/WebPage.cpp:
2128         (WebKit):
2129         (WebKit::WebPage::setVisibilityState):
2130         * WebProcess/WebPage/WebPage.h:
2131         (WebPage):
2132         * WebProcess/WebPage/WebPage.messages.in:
2133
2134 2012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2135
2136         [Qt] Further improvements of the tap gesture recognizer
2137         https://bugs.webkit.org/show_bug.cgi?id=83149
2138
2139         Reviewed by Zoltan Herczeg.
2140
2141         Ignore single tap while finger is still pressed.
2142         Some renaming to make the states more clear.
2143         A pan further than the maxPanDistance can now invalidate
2144         double-taps as well.
2145
2146         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2147         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
2148         (WebKit::QtTapGestureRecognizer::recognize):
2149         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
2150         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
2151         (WebKit::QtTapGestureRecognizer::reset):
2152         * UIProcess/qt/QtTapGestureRecognizer.h:
2153
2154 2012-04-04  Andras Becsi  <andras.becsi@nokia.com>
2155
2156         [Qt][WK2] Make the WebView a subclass of Flickable
2157         https://bugs.webkit.org/show_bug.cgi?id=83033
2158
2159         Reviewed by Kenneth Rohde Christiansen.
2160
2161         Hitherto, the experiment of a QML WebView with an internal Flickable
2162         instance showed that the approach of hiding the Flickable raises more
2163         problems than it solves.
2164
2165         One set of problems arose because the internal Flickable was a separate
2166         item which received and reacted on automatically synthesized mouse events
2167         send by the canvas, this interfered with the gesture recognizers of the
2168         WebView.
2169
2170         Other issues were related to orientation and the integration of the
2171         WebView item with other QML items and components (like scroll indicators)
2172         which require a larger set of the Flickable API or the Flickable object
2173         itself (e.g. ScrollDecorator).
2174
2175         These disadvantages of an internal Flickable instance outweigh the
2176         benefits of controlling the exposed API, therefore the experiment had
2177         the conclusion that there is no way around the public inheritance from
2178         QQuickFlickable.
2179
2180         This patch removes the QtFlickProvider class, inherits QQuickWebView
2181         from QQuickFlickable and adjusts the viewport interaction engine and
2182         the gesture recognizers to use the Flickable API of the WebView to
2183         keep the same behaviour as before.
2184
2185         * Target.pri:
2186         * UIProcess/API/qt/qquickwebpage.cpp:
2187         (QQuickWebPage::QQuickWebPage):
2188         * UIProcess/API/qt/qquickwebview.cpp:
2189         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2190         (QQuickWebViewFlickablePrivate::initialize):
2191         (QQuickWebViewFlickablePrivate::pageItemPos):
2192         (QQuickWebViewFlickablePrivate::updateContentsSize):
2193         (QQuickWebViewFlickablePrivate::onComponentComplete):
2194         (QQuickWebViewFlickablePrivate::updateViewportSize):
2195         (QQuickWebViewExperimental::useDefaultContentItemSize):
2196         (QQuickWebViewExperimental::setUseDefaultContentItemSize):
2197         (QQuickWebView::QQuickWebView):
2198         (QQuickWebView::inputMethodQuery):
2199         (QQuickWebView::geometryChanged):
2200         (QQuickWebView::componentComplete):
2201         (QQuickWebView::event):
2202         (QQuickWebView::contentPos):
2203         (QQuickWebView::setContentPos):
2204         (QQuickWebView::handlePress):
2205         (QQuickWebView::handleMove):
2206         (QQuickWebView::handleRelease):
2207         * UIProcess/API/qt/qquickwebview_p.h:
2208         (WebKit):
2209         * UIProcess/API/qt/qquickwebview_p_p.h:
2210         (QQuickWebViewPrivate):
2211         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2212         (tst_QQuickWebView::scrollRequest):
2213         * UIProcess/API/qt/tests/tests.pri:
2214         * UIProcess/qt/QtFlickProvider.cpp: Removed.
2215         * UIProcess/qt/QtFlickProvider.h: Removed.
2216         * UIProcess/qt/QtPanGestureRecognizer.cpp:
2217         (WebKit::QtPanGestureRecognizer::recognize):
2218         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2219         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2220         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
2221         (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
2222         (WebKit::QtViewportInteractionEngine::flickableMoveEnded):
2223         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2224         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
2225         (WebKit::QtViewportInteractionEngine::wheelEvent):
2226         (WebKit::QtViewportInteractionEngine::reset):
2227         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
2228         (WebKit::QtViewportInteractionEngine::panGestureActive):
2229         (WebKit::QtViewportInteractionEngine::panGestureStarted):
2230         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
2231         (WebKit::QtViewportInteractionEngine::panGestureEnded):
2232         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
2233         (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
2234         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2235         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
2236         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
2237         (WebKit::QtViewportInteractionEngine::scaleContent):
2238         * UIProcess/qt/QtViewportInteractionEngine.h:
2239         (QtViewportInteractionEngine):
2240         * UIProcess/qt/QtWebPageEventHandler.cpp:
2241         (QtWebPageEventHandler::doneWithTouchEvent):
2242
2243 2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2244
2245         [Qt] Unable to zoom to some areas.
2246         https://bugs.webkit.org/show_bug.cgi?id=83144
2247
2248         Reviewed by Kenneth Rohde Christiansen.
2249
2250         Remember to convert touch-area to touch-point radius.
2251
2252         * WebProcess/WebPage/WebPage.cpp:
2253         (WebKit::WebPage::findZoomableAreaForPoint):
2254
2255 2012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2256
2257         [Qt] Improve the tap gesture recognizer
2258         https://bugs.webkit.org/show_bug.cgi?id=83135
2259
2260         Reviewed by Simon Hausmann.
2261
2262         Clean up the code and make sure that the first single tap
2263         event, as part of a double tap gesture, is ignored.
2264
2265         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2266         (WebKit::QtTapGestureRecognizer::withinDistance):
2267         (WebKit):
2268         (WebKit::QtTapGestureRecognizer::recognize):
2269         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
2270         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
2271         (WebKit::QtTapGestureRecognizer::reset):
2272         * UIProcess/qt/QtTapGestureRecognizer.h:
2273         (QtTapGestureRecognizer):
2274
2275 2012-04-03  Geoffrey Garen  <ggaren@apple.com>
2276
2277         Fixed some WebKit2 crashes seen on the buildbot after my last patch.
2278
2279         Reviewed by Beth Dakin.
2280
2281         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2282         (WebKit::NPRuntimeObjectMap::finalize): Don't try to get our value
2283         out of the map, since Weak<T> returns NULL during finalization. Instead,
2284         use the handle we've been passed for finalization.
2285
2286 2012-03-29  Geoffrey Garen  <ggaren@apple.com>
2287
2288         First step toward incremental Weak<T> finalization
2289         https://bugs.webkit.org/show_bug.cgi?id=82670
2290
2291         Reviewed by Filip Pizlo.
2292
2293         Updated for API change.
2294
2295         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2296         (WebKit::NPRuntimeObjectMap::finalize):
2297
2298 2012-04-03  Keishi Hattori  <keishi@webkit.org>
2299
2300         Disable ENABLE_DATALIST for now
2301         https://bugs.webkit.org/show_bug.cgi?id=82871
2302
2303         Reviewed by Kent Tamura.
2304
2305         * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.
2306
2307 2012-04-03  Yael Aharon  <yael.aharon@nokia.com>
2308
2309         [Qt][WK2] Assert on startup after r113090
2310         https://bugs.webkit.org/show_bug.cgi?id=83111
2311
2312         Reviewed by Noam Rosenthal.
2313
2314         Add willBeDestroyed to to WebGraphicsLayer.
2315
2316         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2317         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2318         (WebCore):
2319         (WebCore::WebGraphicsLayer::willBeDestroyed):
2320         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2321         (WebGraphicsLayer):
2322
2323 2012-04-03  Sam Weinig  <sam@webkit.org>
2324
2325         Allow the old WebKit2 drawing model to host layers in the window server
2326         <rdar://problem/11170525>
2327         https://bugs.webkit.org/show_bug.cgi?id=83101
2328
2329         Reviewed by Anders Carlsson.
2330
2331         * UIProcess/DrawingAreaProxyImpl.cpp:
2332         (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
2333         * UIProcess/DrawingAreaProxyImpl.h:
2334         (DrawingAreaProxyImpl):
2335         * WebProcess/WebPage/DrawingArea.h:
2336         (DrawingArea):
2337         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2338         (WebKit::DrawingAreaImpl::setLayerHostingMode):
2339         * WebProcess/WebPage/DrawingAreaImpl.h:
2340         (DrawingAreaImpl):
2341         * WebProcess/WebPage/LayerTreeHost.h:
2342         (LayerTreeHost):
2343         (WebKit::LayerTreeHost::setLayerHostingMode):
2344         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2345         (LayerTreeHostCAMac):
2346         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2347         (WebKit::LayerTreeHostCAMac::platformInitialize):
2348         (WebKit::LayerTreeHostCAMac::setLayerHostingMode):
2349         Pipe layer hosting mode to the old drawing area.
2350
2351 2012-04-03  Jia Pu  <jpu@apple.com>
2352
2353         Rename SpellingCorrectionController to AlternativeTextController.
2354         https://bugs.webkit.org/show_bug.cgi?id=82942
2355
2356         Reviewed by Enrica Casucci.
2357
2358         These changes are simply for adopting new class names.
2359
2360         * UIProcess/API/mac/PageClientImpl.h:
2361         (PageClientImpl):
2362         * UIProcess/API/mac/PageClientImpl.mm:
2363         (WebKit::PageClientImpl::showCorrectionPanel):
2364         (WebKit::PageClientImpl::dismissCorrectionPanel):
2365         (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
2366         * UIProcess/API/mac/WKView.mm:
2367         (-[WKView handleCorrectionPanelResult:]):
2368         * UIProcess/PageClient.h:
2369         (PageClient):
2370         * UIProcess/WebPageProxy.cpp:
2371         (WebKit::WebPageProxy::didCommitLoadForFrame):
2372         (WebKit::WebPageProxy::pageDidScroll):
2373         (WebKit::WebPageProxy::processDidCrash):
2374         (WebKit::WebPageProxy::showCorrectionPanel):
2375         (WebKit::WebPageProxy::dismissCorrectionPanel):
2376         (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
2377         (WebKit::WebPageProxy::handleAlternativeTextUIResult):
2378         * UIProcess/WebPageProxy.h:
2379         (WebPageProxy):
2380         * UIProcess/mac/CorrectionPanel.h:
2381         (CorrectionPanel):
2382         * UIProcess/mac/CorrectionPanel.mm:
2383         (correctionIndicatorType):
2384         (WebKit::CorrectionPanel::CorrectionPanel):
2385         (WebKit::CorrectionPanel::~CorrectionPanel):
2386         (WebKit::CorrectionPanel::show):
2387         (WebKit::CorrectionPanel::dismiss):
2388         (WebKit::CorrectionPanel::dismissInternal):
2389         (WebKit::CorrectionPanel::handleAcceptedReplacement):
2390         * WebProcess/WebCoreSupport/WebEditorClient.h:
2391         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2392         (WebKit::WebEditorClient::showCorrectionPanel):
2393         (WebKit::WebEditorClient::dismissCorrectionPanel):
2394         (WebKit::WebEditorClient::dismissCorrectionPanelSoon):
2395         * WebProcess/WebPage/WebPage.cpp:
2396         (WebKit::WebPage::handleAlternativeTextUIResult):
2397         * WebProcess/WebPage/WebPage.h:
2398         (WebPage):
2399         * WebProcess/WebPage/WebPage.messages.in:
2400
2401 2012-04-03  Zalan Bujtas  <zbujtas@gmail.com>
2402
2403         [Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionToCommittedForNewPage()
2404         https://bugs.webkit.org/show_bug.cgi?id=83070
2405
2406         Reviewed by Andreas Kling.
2407
2408         It is preventing m_frameHasCustomRepresentation to be set properly and not in sync with
2409         WebFrameLoaderClient::transitionToCommittedFromCachedFrame()
2410
2411         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2412         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2413
2414 2012-04-03  Jer Noble  <jer.noble@apple.com>
2415
2416         ESC key in full screen does not result in webkitFullScreenChange event.
2417         https://bugs.webkit.org/show_bug.cgi?id=82755
2418         <rdar://problem/11093513>
2419
2420         Reviewed by Eric Carlson.
2421
2422         Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures
2423         that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent
2424         out correctly.
2425
2426         Because the WebProcess may be stalled or hung, add a watchdog timer which will force an exit of full
2427         screen if the WebProcess does not respond in a timely manner (defaults to 1s).
2428
2429         Add a new method, requestExitFullScreen, which calls through to the WebProcess and Document:
2430         * UIProcess/WebFullScreenManagerProxy.cpp:
2431         (WebKit::WebFullScreenManagerProxy::requestExitFullScreen):
2432         * UIProcess/WebFullScreenManagerProxy.h:
2433         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2434         (WebKit::WebFullScreenManager::requestExitFullScreen):
2435         * WebProcess/FullScreen/WebFullScreenManager.h:
2436         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
2437
2438         Request that the document exits full screen when the ESC key is pressed:
2439         * UIProcess/mac/WKFullScreenWindowController.h:
2440         * UIProcess/mac/WKFullScreenWindowController.mm:
2441         (-[WKFullScreenWindowController cancelOperation:]):
2442         (-[WKFullScreenWindowController exitFullScreen]):
2443
2444 2012-04-03  Balazs Kelemen  <kbalazs@webkit.org>
2445
2446         [Qt][WK2] ASSERT(!(outputBytes.size() % sizeof(UChar))) in PluginProcessProxyQt.cpp
2447         https://bugs.webkit.org/show_bug.cgi?id=83034
2448
2449         Reviewed by Zoltan Herczeg.
2450
2451         Don't allow the plugin to pollute the standard output.
2452         Reinvent StdOutDevNullRedirector which was removed in
2453         r112889 for this purpose.
2454
2455         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2456         (StdoutDevNullRedirector):
2457         (WebKit):
2458         (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
2459         (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
2460         (WebKit::NetscapePluginModule::scanPlugin):
2461
2462 2012-04-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2463
2464         Enable and connect the WebInspectorServer with WebKit2 pages.
2465         https://bugs.webkit.org/show_bug.cgi?id=73094
2466
2467         Reviewed by Simon Hausmann.
2468
2469         Pages are registered/unregistered as they are created/destroyed, if they have
2470         developer extras enabled. The server is run on the UI process and communicates
2471         with the web process through IPC for each message between the inspector
2472         controller and the remote frontend.
2473
2474         Includes the server spawning logic for the Qt port, the server is
2475         started through an environment variable specifying the interface and
2476         port to bind the server to, by default on 127.0.0.1.
2477
2478         * UIProcess/WebInspectorProxy.cpp:
2479         (WebKit::WebInspectorProxy::WebInspectorProxy):
2480         (WebKit::WebInspectorProxy::invalidate):
2481         (WebKit):
2482         (WebKit::WebInspectorProxy::enableRemoteInspection):
2483         (WebKit::WebInspectorProxy::remoteFrontendConnected):
2484         (WebKit::WebInspectorProxy::remoteFrontendDisconnected):
2485         (WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
2486         (WebKit::WebInspectorProxy::sendMessageToRemoteFrontend):
2487         * UIProcess/WebInspectorProxy.h:
2488         (WebInspectorProxy):
2489         * UIProcess/WebInspectorProxy.messages.in:
2490         * UIProcess/WebPageProxy.cpp:
2491         (WebKit::WebPageProxy::initializeWebPage):
2492         (WebKit::WebPageProxy::preferencesDidChange):
2493         * UIProcess/qt/QtWebContext.cpp:
2494         (WebKit::initInspectorServer):
2495         (WebKit):
2496         (WebKit::globalInitialization):
2497         (WebKit::QtWebContext::create):
2498         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2499         (WebKit::WebInspectorClient::sendMessageToFrontend):
2500         * WebProcess/WebPage/WebInspector.cpp:
2501         (WebKit::WebInspector::WebInspector):
2502         (WebKit):
2503         (WebKit::WebInspector::sendMessageToRemoteFrontend):
2504         (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
2505         (WebKit::WebInspector::remoteFrontendConnected):
2506         (WebKit::WebInspector::remoteFrontendDisconnected):
2507         * WebProcess/WebPage/WebInspector.h:
2508         (WebInspector):
2509         (WebKit::WebInspector::hasRemoteFrontendConnected):
2510         * WebProcess/WebPage/WebInspector.messages.in:
2511
2512 2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2513
2514         WebInspectorServer for WebKit2.
2515         https://bugs.webkit.org/show_bug.cgi?id=73855
2516
2517         Reviewed by Simon Hausmann.
2518
2519         The server uses WebSocket for communication with the remote client and
2520         normal HTTP requests are handled to optionally send the frontend on the
2521         wire. Those decision are handled per platform and Qt currently maps:
2522
2523           - "/" to a static listing page.
2524           - "/pagelist.json" to the page list for the listing page or tools.
2525           - anything else, for example "/inspector.js" to the file with the
2526             same name in the dynamic libraries built resources.
2527             Invalid files should return a 404.
2528
2529         * Target.pri:
2530         * UIProcess/InspectorServer/WebInspectorServer.cpp: Added.
2531         (WebKit):
2532         (WebKit::pageIdFromRequestPath):
2533         (WebKit::WebInspectorServer::server):
2534         (WebKit::WebInspectorServer::WebInspectorServer):
2535         (WebKit::WebInspectorServer::~WebInspectorServer):
2536         (WebKit::WebInspectorServer::registerPage):
2537         (WebKit::WebInspectorServer::unregisterPage):
2538         (WebKit::WebInspectorServer::sendMessageOverConnection):
2539         (WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest):
2540         (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
2541         (WebKit::WebInspectorServer::didEstablishWebSocketConnection):
2542         (WebKit::WebInspectorServer::didReceiveWebSocketMessage):
2543         (WebKit::WebInspectorServer::didCloseWebSocketConnection):
2544         (WebKit::WebInspectorServer::closeConnection):
2545         * UIProcess/InspectorServer/WebInspectorServer.h: Added.
2546         (WebKit):
2547         (WebInspectorServer):
2548         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Added.
2549         (WebKit):
2550         (WebKit::WebInspectorServer::platformResourceForPath):
2551         (WebKit::WebInspectorServer::buildPageList):
2552         * WebKit2.qrc: Added.
2553         * qt/Resources/inspectorPageIndex.html: Added.
2554
2555 2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2556
2557         Add a Generic WebSocket Server.
2558         https://bugs.webkit.org/show_bug.cgi?id=73093
2559
2560         Reviewed by Simon Hausmann.
2561
2562         The Inspector Server will be a WebSocket Server that also responds to
2563         non-WebSocket-Upgrade HTTP Requests. This is a generic WebSocket server
2564         that passes on what it doesn't know on to its client for extended
2565         functionality. This code is wrapped in a new ENABLE(INSPECTOR_SERVER) flag.
2566
2567         There are no tests yet for a built-in WebSocket server.
2568         This will be covered by API level tests in a later patch.
2569
2570         * Target.pri:
2571
2572           WebSocketServer is a simple server. Calling listen, or close,
2573           multiple times is safe. Subclassing is expected.
2574
2575         * UIProcess/InspectorServer/WebSocketServer.cpp: Added.
2576         (WebKit):
2577         (WebKit::WebSocketServer::WebSocketServer):
2578         (WebKit::WebSocketServer::~WebSocketServer):
2579         (WebKit::WebSocketServer::listen):
2580         (WebKit::WebSocketServer::close):
2581         (WebKit::WebSocketServer::didAcceptConnection):
2582         (WebKit::WebSocketServer::didCloseWebSocketServerConnection):
2583         * UIProcess/InspectorServer/WebSocketServer.h: Added.
2584         (WebKit):
2585         (WebCore):
2586         (WebSocketServer):
2587         * UIProcess/InspectorServer/WebSocketServerClient.h: Added.
2588         (WebCore):
2589         (WebKit):
2590         (WebSocketServerClient):
2591         (WebKit::WebSocketServerClient::~WebSocketServerClient):
2592         (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
2593         (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
2594         (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
2595         (WebKit::WebSocketServerClient::didReceiveWebSocketMessage):
2596         (WebKit::WebSocketServerClient::didCloseWebSocketConnection):
2597
2598           Each WebSocketConnection:
2599
2600            - Passes unknown HTTP Requests to the server's client.
2601            - Handles WebSocket Upgrade Requests.
2602              - First ask the client if it is okay.
2603              - Later notify the client about a success.
2604            - Once upgraded the connection parses and passes WebSocket
2605              frames to the client.
2606
2607         * UIProcess/InspectorServer/WebSocketServerConnection.cpp: Added.
2608         (WebKit):
2609         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
2610         (WebKit::WebSocketServerConnection::~WebSocketServerConnection):
2611         (WebKit::WebSocketServerConnection::shutdownNow):
2612         (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow): meant to shutdown after an HTTP response. Ensure all platforms work as expected.
2613         (WebKit::WebSocketServerConnection::sendWebSocketMessage): send a text message (WebSocket message) over the connection.
2614         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
2615         (WebKit::WebSocketServerConnection::sendRawData): send raw data (HTTP message) over the connection.
2616         (WebKit::WebSocketServerConnection::didCloseSocketStream): handle socket closing scenarios.
2617         (WebKit::WebSocketServerConnection::didReceiveSocketStreamData): parse the incoming data in HTTP / WebSocket modes.
2618         (WebKit::WebSocketServerConnection::didFailSocketStream): log errors.
2619         (WebKit::WebSocketServerConnection::readHTTPMessage): when starting, a web socket connection reads an HTTP message.
2620         (WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection):
2621         (WebKit::WebSocketServerConnection::readWebSocketFrames): parse our buffer for as many frames as possible.
2622         (WebKit::WebSocketServerConnection::readWebSocketFrame): parse an individual frame.
2623         * UIProcess/InspectorServer/WebSocketServerConnection.h: Added.
2624         (WebCore):
2625         (WebKit):
2626         (WebSocketServerConnection):
2627         (WebKit::WebSocketServerConnection::identifier):
2628         (WebKit::WebSocketServerConnection::setIdentifier):
2629
2630           Qt specific implementation.
2631
2632         * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Added.
2633         (WebKit):
2634         (WebKit::WebSocketServer::platformInitialize):
2635         (WebKit::WebSocketServer::platformListen):
2636         (WebKit::WebSocketServer::platformClose):
2637         (WebKit::QtTcpServerHandler::QtTcpServerHandler):
2638         (WebKit::QtTcpServerHandler::handleNewConnection):
2639         (WebKit::QtTcpServerHandler::listen):
2640         (WebKit::QtTcpServerHandler::close):
2641         * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Added.
2642         (WebKit):
2643         (QtTcpServerHandler):
2644
2645         * WebKit2.pri:
2646         * config.h: Add ENABLE(INSPECTOR_SERVER) for WebKit2.
2647
2648 2012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2649
2650         [Qt] Add developerExtrasEnabled to QWebPreferences.
2651         https://bugs.webkit.org/show_bug.cgi?id=83018
2652
2653         Reviewed by Kenneth Rohde Christiansen.
2654
2655         This is required to allow inspecting pages.
2656
2657         * UIProcess/API/qt/qwebpreferences.cpp:
2658         (QWebPreferencesPrivate::testAttribute):
2659         (QWebPreferencesPrivate::setAttribute):
2660         (QWebPreferences::developerExtrasEnabled):
2661         (QWebPreferences::setDeveloperExtrasEnabled):
2662         * UIProcess/API/qt/qwebpreferences_p.h:
2663         * UIProcess/API/qt/qwebpreferences_p_p.h:
2664
2665 2012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2666
2667         [Qt] Tap highlight attempted hidden several times
2668         https://bugs.webkit.org/show_bug.cgi?id=82903
2669
2670         Reviewed by Kenneth Rohde Christiansen.
2671
2672         Do not reset GestureRecognizer if already reset, and do not
2673         disable tap-highlight on touch-end if already reset.
2674
2675         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2676         (WebKit::QtTapGestureRecognizer::recognize):
2677         (WebKit::QtTapGestureRecognizer::reset):
2678
2679 2012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2680
2681         [Qt] Tap highlight still showing when tap gesture has timed out
2682         https://bugs.webkit.org/show_bug.cgi?id=82902
2683
2684         Reviewed by Kenneth Rohde Christiansen.
2685
2686         Disable highlight of potential tap, when tap-and-hold state
2687         replaces potential tap state.
2688
2689         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2690         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
2691
2692 2012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
2693
2694         [Qt][WK2] Set viewport size back, when WebProcess is relaunched.
2695         https://bugs.webkit.org/show_bug.cgi?id=82936
2696
2697         Reviewed by Andreas Kling.
2698
2699         Fixed layout requires viewport size set properly on the WebProcess side.
2700         Make sure it is set, when WebProcess is relaunched.
2701
2702         * UIProcess/API/qt/qquickwebview.cpp:
2703         (QQuickWebViewPrivate::didRelaunchProcess):
2704
2705 2012-04-02  Anders Carlsson  <andersca@apple.com>
2706
2707         Call NPP_SetValue with WKNVCALayerRenderServerPort when a WKView is moved from a buffered to an unbuffered window, or vice versa
2708         https://bugs.webkit.org/show_bug.cgi?id=82951
2709         <rdar://problem/10589308>
2710
2711         Reviewed by Sam Weinig.
2712
2713         * PluginProcess/mac/PluginControllerProxyMac.mm:
2714         (WebKit::PluginControllerProxy::setLayerHostingMode):
2715         Call Plugin::setLayerHostingMode).
2716
2717         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2718         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
2719         Move WKNVCALayerRenderServerPort to the header file.
2720
2721         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2722         (WebKit::NetscapePlugin::NetscapePlugin):
2723         Initialize m_layerHostingMode.
2724
2725         (WebKit::NetscapePlugin::initialize):
2726         Set m_layerHostingMode from the parameters struct.
2727
2728         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2729         (WebKit::NetscapePlugin::compositingRenderServerPort):
2730         Return MACH_PORT_NULL when hosted in the window server.
2731
2732         (WebKit::NetscapePlugin::platformPostInitialize):
2733         Move the code that gets the layer out into a separate function, updatePluginLayer.
2734
2735         (WebKit::NetscapePlugin::setLayerHostingMode):
2736         Let the plug-in know that the layer hosting mode changed and update the plug-in layer if
2737         setting the new compositing port was successful.
2738
2739 2012-04-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2740
2741         [Qt][WK2] ResourceError::isCancellation() is always returning false
2742         https://bugs.webkit.org/show_bug.cgi?id=82917
2743
2744         Reviewed by Noam Rosenthal.
2745
2746         We were missing the encoding of a boolean in ArgumentCoder<ResourceError>
2747         and, therefore, we were getting always "false" for ResourceError::isCancellation()
2748         for errors being sent through the IPC.
2749
2750         * Shared/qt/WebCoreArgumentCodersQt.cpp:
2751         (CoreIPC::::encode):
2752         (CoreIPC::::decode):
2753
2754 2012-03-29  Sam Weinig  <sam@webkit.org>
2755
2756         Add setting to disable Java for local files even if it is otherwise enabled
2757         https://bugs.webkit.org/show_bug.cgi?id=82685
2758
2759         Reviewed by Anders Carlsson.
2760
2761         * Shared/WebPreferencesStore.h:
2762         * UIProcess/API/C/WKPreferences.cpp:
2763         (WKPreferencesSetJavaEnabledForLocalFiles):
2764         (WKPreferencesGetJavaEnabledForLocalFiles):
2765         * UIProcess/API/C/WKPreferencesPrivate.h:
2766         * WebProcess/WebPage/WebPage.cpp:
2767         (WebKit::WebPage::updatePreferences):
2768         Add pref as SPI and forward to WebCore.
2769
2770 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
2771
2772         [Qt][WK2] Set up plugin process on Unix
2773         https://bugs.webkit.org/show_bug.cgi?id=72121
2774
2775         Reviewed by Simon Hausmann.
2776
2777         Setup plugin process for Qt and move the task of querying the plugins
2778         to this process in order to avoid crashes due to plugin bugs or library
2779         incompatibility.
2780
2781         * GNUmakefile.am:
2782         * PluginProcess.pro: Added.
2783
2784         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
2785         (WebKit::PluginProcessMainGtk):
2786         * PluginProcess/qt/PluginProcessMainQt.cpp:
2787         (WebKit::messageHandler):
2788         (WebKit::initializeGtk):
2789         (WebKit):
2790         (WebKit::PluginProcessMain):
2791         Implement entry point of the plugin process.
2792         Handle -scanPlugin command line switch: produce meta data
2793         of plugin on standard output and terminate. Move Gtk initialization
2794         hack to there.
2795
2796         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
2797         (WebKit::NetscapePluginModule::tryLoad):
2798         Get rid of the Gtk initialization hack. We do not nead it here anymore.
2799
2800         * Shared/Plugins/Netscape/NetscapePluginModule.h:
2801         (WebKit):
2802         (NetscapePluginModule):
2803         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2804         (WebKit::parseMIMEDescription):
2805         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
2806         (WebKit):
2807         (WebKit::NetscapePluginModule::getPluginInfo):
2808         Get plugin meta data via PluginProcessproxy. If a failure
2809         happened we ignore to use the plugin. Remove the concept
2810         of stdout redirection since we can control it when launching
2811         the process.
2812
2813         (WebKit::NetscapePluginModule::determineQuirks):
2814         (WebKit::truncateToSingleLine):
2815         (WebKit::NetscapePluginModule::scanPlugin):
2816         Produce plugin meta data on standard output.
2817
2818         * Shared/ProcessExecutablePath.h: Added.
2819         (WebKit):
2820         * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
2821         (findWebKitProcess):
2822         (executablePathOfWebProcess):
2823         (executablePathOfPluginProcess):
2824         * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
2825         (WebKit):
2826         (WebKit::executablePath):
2827         (WebKit::executablePathOfWebProcess):
2828         (WebKit::executablePathOfPluginProcess):
2829         Factored the executable path determination into free functions
2830         to avoid code duplication.
2831
2832         * Shared/qt/ShareableBitmapQt.cpp:
2833         (WebKit::ShareableBitmap::paint):
2834         Added implementation for the override with the scale factor because
2835         it is called from PluginProxy. It does not actually handle the case
2836         when the scale factor is not 1. However it's ok because it can only
2837         happen on Mac in the moment.
2838
2839         * Target.pri:
2840         * UIProcess/Launcher/ProcessLauncher.h:
2841         (ProcessLauncher):
2842         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2843         (WebKit::ProcessLauncher::launchProcess):
2844         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2845         (WebKit::ProcessLauncher::launchProcess):
2846         Use the new functions to determine the executable path.
2847
2848         * UIProcess/Plugins/PluginProcessProxy.h:
2849         (WebKit):
2850         (RawPluginMetaData):
2851         (PluginProcessProxy):
2852         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
2853         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2854         (WebKit):
2855         (WebKit::PluginProcessProxy::scanPlugin):
2856         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
2857         (WebKit):
2858         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2859         (WebKit::PluginProcessProxy::scanPlugin):
2860         Launch plugin process and parse it's output to get the meta data
2861         for the plugin.
2862
2863         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2864         (WebKit::NPN_GetValue):
2865         Changed according to the removing of the flash hack. Do not try
2866         to decide whether the plugin needs Gtk by it's name but instead
2867         always get back the expected Gtk version (2). Only Gtk plugins
2868         should ask for this anyway.
2869
2870         * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
2871         (WebKit):
2872         (main):
2873
2874 2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2875
2876         Unreviewed, rolling out r112868, r112879, and r112881.
2877         http://trac.webkit.org/changeset/112868
2878         http://trac.webkit.org/changeset/112879
2879         http://trac.webkit.org/changeset/112881
2880         https://bugs.webkit.org/show_bug.cgi?id=82901
2881
2882         "Build fail on bots." (Requested by kbalazs on #webkit).
2883
2884         * GNUmakefile.am:
2885         * PluginProcess.pro: Removed.
2886         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
2887         (WebKit::PluginProcessMainGtk):
2888         * PluginProcess/qt/PluginProcessMainQt.cpp:
2889         (WebKit::PluginProcessMain):
2890         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
2891         (WebKit::NetscapePluginModule::tryLoad):
2892         * Shared/Plugins/Netscape/NetscapePluginModule.h:
2893         (NetscapePluginModule):
2894         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2895         (StdoutDevNullRedirector):
2896         (WebKit):
2897         (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
2898         (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
2899         (WebKit::initializeGTK):
2900         (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad):
2901         (WebKit::NetscapePluginModule::setMIMEDescription):
2902         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
2903         (WebKit::NetscapePluginModule::getPluginInfo):
2904         (WebKit::NetscapePluginModule::determineQuirks):
2905         * Shared/ProcessExecutablePath.h: Removed.
2906         * Shared/gtk/ProcessExecutablePathGtk.cpp: Removed.
2907         * Shared/qt/ProcessExecutablePathQt.cpp: Removed.
2908         * Shared/qt/ShareableBitmapQt.cpp:
2909         (WebKit::ShareableBitmap::paint):
2910         * Target.pri:
2911         * UIProcess/Launcher/ProcessLauncher.h:
2912         (ProcessLauncher):
2913         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2914         (WebKit):
2915         (WebKit::findWebKitProcess):
2916         (WebKit::ProcessLauncher::launchProcess):
2917         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2918         (WebKit::ProcessLauncher::launchProcess):
2919         * UIProcess/Plugins/PluginProcessProxy.h:
2920         (WebKit):
2921         (PluginProcessProxy):
2922         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
2923         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2924         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
2925         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2926         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2927         (WebKit::NPN_GetValue):
2928         * qt/PluginMainQt.cpp: Removed.
2929
2930 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
2931
2932         One more try to fix Qt build after r112868.
2933
2934         It's a misery why I don't have these build failures
2935         locally.
2936
2937         * PluginProcess.pro:
2938
2939 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
2940
2941         Fix Qt build after r112868.
2942
2943         * PluginProcess.pro: Add WTF into includepath.
2944
2945 2012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
2946
2947         [Qt][WK2] Call resize on frameview in WebPage::resizeToContentsIfNeeded only when the size changes.
2948         https://bugs.webkit.org/show_bug.cgi?id=82892
2949
2950         Reviewed by Kenneth Rohde Christiansen.
2951
2952         Check against the expanded size before calling resize on frameview.
2953
2954         * WebProcess/WebPage/WebPage.cpp:
2955         (WebKit::WebPage::setFixedVisibleContentRect):
2956         (WebKit::WebPage::resizeToContentsIfNeeded):
2957
2958 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
2959
2960         [Qt][WK2] Set up plugin process on Unix
2961         https://bugs.webkit.org/show_bug.cgi?id=72121
2962
2963         Reviewed by Simon Hausmann.
2964
2965         Setup plugin process for Qt and move the task of querying the plugins
2966         to this process in order to avoid crashes due to plugin bugs or library
2967         incompatibility.
2968
2969         * GNUmakefile.am:
2970         * PluginProcess.pro: Added.
2971
2972         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
2973         (WebKit::PluginProcessMainGtk):
2974         * PluginProcess/qt/PluginProcessMainQt.cpp:
2975         (WebKit::messageHandler):
2976         (WebKit::initializeGtk):
2977         (WebKit):
2978         (WebKit::PluginProcessMain):
2979         Implement entry point of the plugin process.
2980         Handle -scanPlugin command line switch: produce meta data
2981         of plugin on standard output and terminate. Move Gtk initialization
2982         hack to there.
2983
2984         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
2985         (WebKit::NetscapePluginModule::tryLoad):
2986         Get rid of the Gtk initialization hack. We do not nead it here anymore.
2987
2988         * Shared/Plugins/Netscape/NetscapePluginModule.h:
2989         (WebKit):
2990         (NetscapePluginModule):
2991         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2992         (WebKit::parseMIMEDescription):
2993         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
2994         (WebKit):
2995         (WebKit::NetscapePluginModule::getPluginInfo):
2996         Get plugin meta data via PluginProcessproxy. If a failure
2997         happened we ignore to use the plugin. Remove the concept
2998         of stdout redirection since we can control it when launching
2999         the process.
3000
3001         (WebKit::NetscapePluginModule::determineQuirks):
3002         (WebKit::truncateToSingleLine):
3003         (WebKit::NetscapePluginModule::scanPlugin):
3004         Produce plugin meta data on standard output.
3005
3006         * Shared/ProcessExecutablePath.h: Added.
3007         (WebKit):
3008         * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
3009         (findWebKitProcess):
3010         (executablePathOfWebProcess):
3011         (executablePathOfPluginProcess):
3012         * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
3013         (WebKit):
3014         (WebKit::executablePath):
3015         (WebKit::executablePathOfWebProcess):
3016         (WebKit::executablePathOfPluginProcess):
3017         Factored the executable path determination into free functions
3018         to avoid code duplication.
3019
3020         * Shared/qt/ShareableBitmapQt.cpp:
3021         (WebKit::ShareableBitmap::paint):
3022         Added implementation for the override with the scale factor because
3023         it is called from PluginProxy. It does not actually handle the case
3024         when the scale factor is not 1. However it's ok because it can only
3025         happen on Mac in the moment.
3026
3027         * Target.pri:
3028         * UIProcess/Launcher/ProcessLauncher.h:
3029         (ProcessLauncher):
3030         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3031         (WebKit::ProcessLauncher::launchProcess):
3032         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
3033         (WebKit::ProcessLauncher::launchProcess):
3034         Use the new functions to determine the executable path.
3035
3036         * UIProcess/Plugins/PluginProcessProxy.h:
3037         (WebKit):
3038         (RawPluginMetaData):
3039         (PluginProcessProxy):
3040         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
3041         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
3042         (WebKit):
3043         (WebKit::PluginProcessProxy::scanPlugin):
3044         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
3045         (WebKit):
3046         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
3047         (WebKit::PluginProcessProxy::scanPlugin):
3048         Launch plugin process and parse it's output to get the meta data
3049         for the plugin.
3050
3051         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3052         (WebKit::NPN_GetValue):
3053         Changed according to the removing of the flash hack. Do not try
3054         to decide whether the plugin needs Gtk by it's name but instead
3055         always get back the expected Gtk version (2). Only Gtk plugins
3056         should ask for this anyway.
3057
3058         * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
3059         (WebKit):
3060         (main):
3061
3062 2012-03-16  Philippe Normand  <pnormand@igalia.com>
3063
3064         [GTK][WK2] Initial FullScreen support
3065         https://bugs.webkit.org/show_bug.cgi?id=75553
3066
3067         Reviewed by Martin Robinson.
3068
3069         Full screen display support in WebKitWebViewBase. Two functions
3070         have been added to handle this. They're called by the
3071         WebFullScreenManagerProxy when full screen display needs to be
3072         managed for an HTML element.
3073
3074         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3075         (_WebKitWebViewBasePrivate):
3076         (webkitWebViewBaseCreateWebPage):
3077         (onFullscreenGtkKeyPressEvent):
3078         (webkitWebViewBaseEnterFullScreen):
3079         (webkitWebViewBaseExitFullScreen):
3080         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
3081         * UIProcess/WebFullScreenManagerProxy.h:
3082         (WebKit):
3083         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
3084         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
3085         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
3086
3087 2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3088
3089         Unreviewed, rolling out r112651.
3090         http://trac.webkit.org/changeset/112651
3091         https://bugs.webkit.org/show_bug.cgi?id=82887
3092
3093         It doesn't work with older Qt5 (Requested by Ossy on #webkit).
3094
3095         * UIProcess/API/qt/qquicknetworkreply_p.h:
3096         * UIProcess/API/qt/qquicknetworkrequest_p.h:
3097         * UIProcess/API/qt/qquickwebview.cpp:
3098         * UIProcess/API/qt/qquickwebview_p.h:
3099         * UIProcess/API/qt/qwebiconimageprovider_p.h:
3100         * UIProcess/API/qt/qwebnavigationhistory.cpp:
3101         * UIProcess/API/qt/qwebnavigationhistory_p.h:
3102         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3103         * UIProcess/qt/QtDialogRunner.cpp:
3104         (QtDialogRunner::initForAlert):
3105         (QtDialogRunner::initForConfirm):
3106         (QtDialogRunner::initForPrompt):
3107         (QtDialogRunner::initForAuthentication):
3108         (QtDialogRunner::initForProxyAuthentication):
3109         (QtDialogRunner::initForCertificateVerification):
3110         (QtDialogRunner::initForFilePicker):
3111         (QtDialogRunner::initForDatabaseQuotaDialog):
3112         (QtDialogRunner::createDialog):
3113         * UIProcess/qt/QtFlickProvider.cpp:
3114         * UIProcess/qt/QtFlickProvider.h:
3115         (QtFlickProvider):
3116         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
3117         (WebKit::WebPopupMenuProxyQt::createItem):
3118         (WebKit::WebPopupMenuProxyQt::createContext):
3119
3120 2012-04-02  Hayato Ito  <hayato@chromium.org>
3121
3122         [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs
3123         https://bugs.webkit.org/show_bug.cgi?id=82009
3124
3125         Reviewed by Dimitri Glazkov.
3126
3127         * win/WebKit2.def:
3128         * win/WebKit2CFLite.def:
3129
3130 2012-04-01  Jon Lee  <jonlee@apple.com>
3131
3132         Rename notification properties and functions
3133         https://bugs.webkit.org/show_bug.cgi?id=80482
3134         <rdar://problem/10912432>
3135
3136         Reviewed by Kentaro Hara.
3137
3138         Rename APIs to use tag.
3139         * UIProcess/API/C/WKNotification.cpp:
3140         (WKNotificationCopyTag):
3141         * UIProcess/API/C/WKNotification.h:
3142         * UIProcess/Notifications/WebNotification.cpp:
3143         (WebKit::WebNotification::WebNotification):
3144         * UIProcess/Notifications/WebNotification.h:
3145         (WebKit::WebNotification::create):
3146         (WebKit::WebNotification::tag):
3147         (WebNotification):
3148         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
3149         (WebKit::WebNotificationManagerProxy::show):
3150         * UIProcess/Notifications/WebNotificationManagerProxy.h:
3151         (WebNotificationManagerProxy):
3152         * UIProcess/WebPageProxy.cpp:
3153         (WebKit::WebPageProxy::showNotification):
3154         * UIProcess/WebPageProxy.h:
3155         (WebPageProxy):
3156         * UIProcess/WebPageProxy.messages.in:
3157         * WebProcess/Notifications/WebNotificationManager.cpp:
3158         (WebKit::WebNotificationManager::show):
3159
3160 2012-03-31  Timothy Hatcher  <timothy@apple.com>
3161
3162         Prevent opening external URLs in the Web Inspector's WebView.
3163
3164         All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView.
3165
3166         https://webkit.org/b/82812
3167         rdar://problem/9488558
3168
3169         Reviewed by Joseph Pecoraro.
3170
3171         * UIProcess/WebInspectorProxy.cpp:
3172         (WebKit::decidePolicyForNavigationAction): Added. Only allow non-main frame and the inspector page. All other URLs
3173         will be opened in the inspected page.
3174         (WebKit::WebInspectorProxy::createInspectorPage): Set the policy client and use decidePolicyForNavigationAction.
3175         * UIProcess/WebInspectorProxy.h: Made inspectorPageURL and inspectorBaseURL public for decidePolicyForNavigationAction.
3176
3177 2012-03-31  Anders Carlsson  <andersca@apple.com>
3178
3179         32-bit plug-ins need to opt into magnified mode
3180         https://bugs.webkit.org/show_bug.cgi?id=82837
3181         <rdar://problem/9104840>
3182
3183         Reviewed by Simon Fraser.
3184
3185         * PluginProcess/mac/PluginProcessMainMac.mm:
3186         (WebKit::PluginProcessMain):
3187
3188 2012-03-30  Timothy Hatcher  <timothy@apple.com>
3189
3190         Stop creating the Web Inspector's NSWindow when detaching on close.
3191
3192         This fixes a UI process crash that would happen when detaching because of a Web Process crash.
3193
3194         https://webkit.org/b/82820
3195         rdar://problem/11085467
3196
3197         Reviewed by Dan Bernstein.
3198
3199         * UIProcess/mac/WebInspectorProxyMac.mm:
3200         (WebKit::WebInspectorProxy::platformDetach): Moved the creation and showing code to the end
3201         and added an early return if we are not visible in the middle.
3202
3203 2012-03-30  Emil A Eklund  <eae@chromium.org>
3204
3205         Change WebKit/WebKit2 platform code to use pixel snapped values
3206         https://bugs.webkit.org/show_bug.cgi?id=82549
3207
3208         Change WebKit and WebKit2 platform code to use rounded locations and
3209         pixel snapped rects and sizes. This largely avoids having to expose the
3210         fractional layout types to the platform code.
3211
3212         Reviewed by Eric Seidel.
3213
3214         * Shared/WebRenderObject.cpp:
3215         (WebKit::WebRenderObject::WebRenderObject):
3216         * UIProcess/win/WebPopupMenuProxyWin.cpp:
3217         (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
3218         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3219         (WebKit::InjectedBundleNodeHandle::renderRect):
3220         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3221         (WebKit::BuiltInPDFView::invalidateScrollbarRect):
3222         * WebProcess/WebPage/mac/WebPageMac.mm:
3223         (WebKit::WebPage::characterIndexForPoint):
3224
3225 2012-03-30  Anders Carlsson  <andersca@apple.com>
3226
3227         Fix Lion build.
3228
3229         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3230         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3231
3232 2012-03-30  Mark Pilgrim  <pilgrim@chromium.org>
3233
3234         GEOLOCATION should be implemented as Page Supplement
3235         https://bugs.webkit.org/show_bug.cgi?id=82228
3236
3237         Reviewed by Adam Barth.
3238
3239         Geolocation is now a Supplement in Page so the interface
3240         has changed for setting up the page's geolocation client
3241         initially and accessing the controller later.
3242
3243         * WebProcess/Geolocation/WebGeolocationManager.cpp:
3244         (WebKit::WebGeolocationManager::didChangePosition):
3245         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
3246         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3247         (WebKit::InjectedBundle::setGeoLocationPermission):
3248         * WebProcess/WebPage/WebPage.cpp:
3249         (WebKit::WebPage::WebPage):
3250
3251 2012-03-30  Anders Carlsson  <andersca@apple.com>
3252
3253         Show a scrolling indicator light when compositing borders are turned on
3254         https://bugs.webkit.org/show_bug.cgi?id=82758
3255         <rdar://problem/11143892>
3256
3257         Reviewed by Andreas Kling.
3258
3259         * WebProcess/WebPage/DrawingArea.h:
3260         (WebKit::DrawingArea::updatePreferences):
3261         Add a hook for letting drawing area subclasses know when preferences change.
3262
3263         * WebProcess/WebPage/WebPage.cpp:
3264         Call DrawingArea::updatePreferences.
3265
3266         (WebKit::WebPage::updatePreferences):
3267         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3268         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3269         Call updatePreferences.
3270
3271         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3272         If compositing borders are enabled, create a debug root layer and tell the scrolling tree about it.
3273     
3274         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
3275         If we have a debug root layer, make sure it's in front.
3276
3277 2012-03-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3278
3279         [Qt] Find zoomable area using area-based hit-testing
3280         https://bugs.webkit.org/show_bug.cgi?id=82609
3281
3282         Reviewed by Kenneth Rohde Christiansen.
3283
3284         Add area to findZoomableAreaForPoint and use new TOUCH_ADJUSTMENT
3285         code-path to find the best zoomable area.
3286
3287         * UIProcess/WebPageProxy.cpp:
3288         (WebKit::WebPageProxy::findZoomableAreaForPoint):
3289         * UIProcess/WebPageProxy.h:
3290         (WebPageProxy):
3291         * UIProcess/qt/QtWebPageEventHandler.cpp:
3292         (QtWebPageEventHandler::handleDoubleTapEvent):
3293         * WebProcess/WebPage/WebPage.cpp:
3294         (WebKit):
3295         (WebKit::WebPage::findZoomableAreaForPoint):
3296         * WebProcess/WebPage/WebPage.h:
3297         (WebPage):
3298         * WebProcess/WebPage/WebPage.messages.in:
3299
3300 2012-03-30  Keishi Hattori  <keishi@webkit.org>
3301
3302         Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
3303         https://bugs.webkit.org/show_bug.cgi?id=80972
3304
3305         Reviewed by Kent Tamura.
3306
3307         * Configurations/FeatureDefines.xcconfig:
3308
3309 2012-03-29  Ádám Kallai  <kadam@inf.u-szeged.hu>
3310
3311         [Qt] Build fix by renameing QtDeclarative to QtQml in header calls.
3312         https://bugs.webkit.org/show_bug.cgi?id=82195
3313
3314         Reviewed by Simon Hausmann.
3315
3316         * UIProcess/API/qt/qquicknetworkreply_p.h:
3317         * UIProcess/API/qt/qquicknetworkrequest_p.h:
3318         * UIProcess/API/qt/qquickwebview.cpp:
3319         * UIProcess/API/qt/qquickwebview_p.h:
3320         * UIProcess/API/qt/qwebiconimageprovider_p.h:
3321         * UIProcess/API/qt/qwebnavigationhistory.cpp:
3322         * UIProcess/API/qt/qwebnavigationhistory_p.h:
3323         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3324         * UIProcess/qt/QtDialogRunner.cpp:
3325         (QtDialogRunner::initForAlert):
3326         (QtDialogRunner::initForConfirm):
3327         (QtDialogRunner::initForPrompt):
3328         (QtDialogRunner::initForAuthentication):
3329         (QtDialogRunner::initForProxyAuthentication):
3330         (QtDialogRunner::initForCertificateVerification):
3331         (QtDialogRunner::initForFilePicker):
3332         (QtDialogRunner::initForDatabaseQuotaDialog):
3333         (QtDialogRunner::createDialog):
3334         * UIProcess/qt/QtFlickProvider.cpp:
3335         * UIProcess/qt/QtFlickProvider.h:
3336         (QtFlickProvider):
3337         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
3338         (WebKit::WebPopupMenuProxyQt::createItem):
3339         (WebKit::WebPopupMenuProxyQt::createContext):
3340
3341 2012-03-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
3342
3343         [Qt][WK2] Direct composited image assignment doesn't work
3344         https://bugs.webkit.org/show_bug.cgi?id=82525
3345
3346         Reviewed by Kenneth Rohde Christiansen.
3347
3348         We don't need to check whether the image or contentsRect are updated,
3349         since assignImageToLayer is a cheap operation after the LayerBackingStore
3350         refactor.
3351
3352         * UIProcess/WebLayerTreeRenderer.cpp:
3353         (WebKit::WebLayerTreeRenderer::setLayerChildren):
3354         (WebKit::WebLayerTreeRenderer::setLayerState):
3355         (WebKit::WebLayerTreeRenderer::renderNextFrame):
3356
3357 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3358
3359         Unreviewed, rolling out r112553.
3360         http://trac.webkit.org/changeset/112553
3361         https://bugs.webkit.org/show_bug.cgi?id=82638
3362
3363         It made all tests crash on Qt WK2 (Requested by Ossy_away on
3364         #webkit).
3365
3366         * WebProcess/Geolocation/WebGeolocationManager.cpp:
3367         (WebKit::WebGeolocationManager::didChangePosition):
3368         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
3369         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3370         (WebKit::InjectedBundle::setGeoLocationPermission):
3371         * WebProcess/WebPage/WebPage.cpp:
3372         (WebKit::WebPage::WebPage):
3373
3374 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3375
3376         HashMap<>::add should return a more descriptive object
3377         https://bugs.webkit.org/show_bug.cgi?id=71063
3378
3379         Reviewed by Ryosuke Niwa.
3380
3381         Update code to use AddResult instead of a pair.
3382
3383         * Platform/CoreIPC/ArgumentCoders.h:
3384         * Platform/CoreIPC/Connection.cpp:
3385         (CoreIPC::Connection::SyncMessageState::getOrCreate):
3386         * Shared/MutableDictionary.cpp:
3387         (WebKit::MutableDictionary::add):
3388         (WebKit::MutableDictionary::set):
3389         * Shared/UserMessageCoders.h:
3390         (WebKit::UserMessageDecoder::baseDecode):
3391         * Shared/mac/CommandLineMac.cpp:
3392         (WebKit::CommandLine::parse):
3393         * UIProcess/API/mac/WKPrintingView.mm:
3394         (pageDidDrawToPDF):
3395         * UIProcess/API/mac/WKView.mm:
3396         (-[WKView validateUserInterfaceItem:]):
3397         * UIProcess/WebProcessProxy.cpp:
3398         (WebKit::WebProcessProxy::addBackForwardItem):
3399         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3400         (WebKit::InjectedBundleNodeHandle::getOrCreate):
3401         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
3402         (WebKit::InjectedBundleRangeHandle::getOrCreate):
3403         * WebProcess/Notifications/WebNotificationManager.cpp:
3404         (WebKit::WebNotificationManager::show):
3405         * WebProcess/WebProcess.cpp:
3406         (WebKit::WebProcess::createWebPage):
3407         (WebKit::WebProcess::webPageGroup):
3408
3409 2012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
3410
3411         GEOLOCATION should be implemented as Page Supplement
3412         https://bugs.webkit.org/show_bug.cgi?id=82228
3413
3414         Reviewed by Adam Barth.
3415
3416         Geolocation is now a Supplement in Page so the interface
3417         has changed for setting up the page's geolocation client
3418         initially and accessing the controller later.
3419
3420         * WebProcess/Geolocation/WebGeolocationManager.cpp:
3421         (WebKit::WebGeolocationManager::didChangePosition):
3422         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
3423         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3424         (WebKit::InjectedBundle::setGeoLocationPermission):
3425         * WebProcess/WebPage/WebPage.cpp:
3426         (WebKit::WebPage::WebPage):
3427
3428 2012-03-28  Anders Carlsson  <andersca@apple.com>
3429
3430         Fix a crash and an assertion when recovering from a web process crash
3431         https://bugs.webkit.org/show_bug.cgi?id=82559
3432         <rdar://problem/10902574>
3433
3434         Reviewed by Mark Rowe.
3435
3436         * UIProcess/API/mac/WKView.mm:
3437         (-[WKView _processDidCrash]):
3438         If we're currently in accelerated compositing mode, exit.
3439
3440         (-[WKView updateLayer]):
3441         Guard against a null drawing area.
3442
3443 2012-03-28  Nate Chapin  <japhet@chromium.org>
3444
3445         Remove dispatchDidLoadMainResource callback, since no
3446         port implements it.
3447         https://bugs.webkit.org/show_bug.cgi?id=82539
3448
3449         Reviewed by Alexey Proskuryakov.
3450
3451         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3452         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3453
3454 2012-03-28  Anders Carlsson  <andersca@apple.com>
3455
3456         Massive lag opening a link in a new background tab
3457         https://bugs.webkit.org/show_bug.cgi?id=82542
3458         <rdar://problem/11004502>
3459
3460         Reviewed by Sam Weinig.
3461
3462         Defer waiting for the web process to update the page size until we're actually going to display the layer.
3463         This matches what we do in the non-tiled code path.
3464
3465         * UIProcess/API/mac/WKView.mm:
3466         (-[WKView setFrameSize:]):
3467         (-[WKView updateLayer]):
3468         * UIProcess/DrawingAreaProxy.h:
3469         (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
3470         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
3471         (TiledCoreAnimationDrawingAreaProxy):
3472         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
3473         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
3474         (WebKit):
3475         (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
3476
3477 2012-03-28  Anders Carlsson  <andersca@apple.com>
3478
3479         REGRESSION (r109826): Can't type into Flash text fields
3480         https://bugs.webkit.org/show_bug.cgi?id=82488
3481         <rdar://problem/11022004>
3482
3483         Reviewed by Sam Weinig.
3484
3485         This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process
3486         that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting 
3487         the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly).
3488
3489         * UIProcess/API/mac/WKView.mm:
3490         (-[WKView _setPluginComplexTextInputState:]):
3491         (-[WKView _handlePluginComplexTextInputKeyDown:]):
3492         * WebProcess/Plugins/PluginView.cpp:
3493         (WebKit::PluginView::~PluginView):
3494
3495 2012-03-28  Balazs Kelemen  <kbalazs@webkit.org>
3496
3497         [Qt] Fix QWARN in test_loadIgnoreEmptyUrl API test.
3498
3499         Rubber-stamped by Csaba Osztrogonác.
3500
3501         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
3502         There is no load() API of the view, we have to use the url property.
3503
3504 2012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
3505
3506         [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
3507         https://bugs.webkit.org/show_bug.cgi?id=62777
3508