5c6d0a560e6049869fac051c95d293bfcd33b205
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-12-19  Simon Hausmann  <simon.hausmann@nokia.com>
2
3         [Qt][WK2] Add support for modal event loop processing for WTR
4         https://bugs.webkit.org/show_bug.cgi?id=74852
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Add support for nested event loops, used by WebPage::runModal().
9
10         * Platform/qt/RunLoopQt.cpp:
11         (RunLoop::run):
12         (RunLoop::stop):
13
14 2011-12-18  Sam Weinig  <sam@webkit.org>
15
16         Another attempt to fix the windows build.
17
18         * Platform/win/WorkQueueWin.cpp:
19         (WorkQueue::performWorkOnRegisteredWorkThread):
20         (WorkQueue::dispatch):
21
22 2011-12-18  Sam Weinig  <sam@webkit.org>
23
24         Try to fix the windows build.
25
26         * Platform/win/WorkQueueWin.cpp:
27         (WorkQueue::performWorkOnRegisteredWorkThread):
28
29 2011-12-18  Sam Weinig  <sam@webkit.org>
30
31         Remove now unused WorkItem.h
32         https://bugs.webkit.org/show_bug.cgi?id=74818
33
34         Reviewed by Andreas Kling.
35
36         * GNUmakefile.am:
37         * Platform/CoreIPC/Connection.cpp:
38         * Platform/RunLoop.cpp:
39         * Platform/RunLoop.h:
40         * Platform/WorkItem.h: Removed.
41         * Platform/gtk/RunLoopGtk.cpp:
42         * Platform/mac/RunLoopMac.mm:
43         * Platform/mac/WorkQueueMac.cpp:
44         (WorkQueue::platformInvalidate):
45         * Platform/qt/RunLoopQt.cpp:
46         * Platform/win/RunLoopWin.cpp:
47         * Target.pri:
48         * UIProcess/ResponsivenessTimer.cpp:
49         * WebKit2.xcodeproj/project.pbxproj:
50         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
51         * win/WebKit2.vcproj:
52
53 2011-12-18  Anders Carlsson  <andersca@apple.com>
54
55         Set the main frame view scroll position asynchronously
56         https://bugs.webkit.org/show_bug.cgi?id=74823
57
58         Reviewed by Sam Weinig.
59
60         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
61         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
62         Don't make the background red.
63
64 2011-12-18  Sam Weinig  <sam@webkit.org>
65
66         Move timestamp down from PlatformEvent subclasses to the base class
67         https://bugs.webkit.org/show_bug.cgi?id=74805
68
69         Reviewed by Anders Carlsson.
70
71         * Shared/WebEventConversion.cpp:
72         (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
73         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
74         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
75         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
76         (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
77
78 2011-12-18  Anders Carlsson  <andersca@apple.com>
79
80         Add a scrolling thread to the scrolling coordinator
81         https://bugs.webkit.org/show_bug.cgi?id=74814
82
83         Reviewed by Andreas Kling.
84
85         Check if the scrolling coordinator can handle the wheel event before dispatching it
86         to the main thread.
87
88         * WebProcess/WebPage/EventDispatcher.cpp:
89         (WebKit::EventDispatcher::wheelEvent):
90
91 2011-12-18  Anders Carlsson  <andersca@apple.com>
92
93         EventDispatcher should keep track of all scrolling coordinators
94         https://bugs.webkit.org/show_bug.cgi?id=74810
95
96         Reviewed by Andreas Kling.
97
98         * WebProcess/WebPage/EventDispatcher.cpp:
99         (WebKit::EventDispatcher::addScrollingCoordinatorForPage):
100         Get the scrolling coordinator from the WebCore page and add it to the map.
101
102         (WebKit::EventDispatcher::removeScrollingCoordinatorForPage):
103         Remove the scrolling coordinator from the map.
104
105         (WebKit::EventDispatcher::sendDidHandleEvent):
106         Add a new helper function, currently unused.
107
108         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
109         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
110         Add the scrolling coordinator.
111
112         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
113         Remove the scrolling coordinator.
114
115         * WebProcess/WebProcess.h:
116         (WebKit::WebProcess::eventDispatcher):
117         Add a getter.
118
119 2011-12-16  Anders Carlsson  <andersca@apple.com>
120
121         Move everyone off of WorkItem
122         https://bugs.webkit.org/show_bug.cgi?id=74773
123
124         Reviewed by Darin Adler.
125
126         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
127         (CoreIPC::Connection::open):
128         (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
129         * Platform/CoreIPC/win/ConnectionWin.cpp:
130         (CoreIPC::Connection::open):
131         * Platform/RunLoop.cpp:
132         (RunLoop::performWork):
133         (RunLoop::dispatch):
134         * Platform/RunLoop.h:
135         * Platform/WorkQueue.cpp:
136         * Platform/WorkQueue.h:
137         (WorkQueue::WorkItemWin::function):
138         * Platform/gtk/WorkQueueGtk.cpp:
139         (WorkQueue::EventSource::EventSource):
140         (WorkQueue::EventSource::executeEventSource):
141         (WorkQueue::registerEventSourceHandler):
142         (WorkQueue::dispatchOnSource):
143         (WorkQueue::dispatch):
144         (WorkQueue::dispatchAfterDelay):
145         (WorkQueue::dispatchOnTermination):
146         * Platform/mac/WorkQueueMac.cpp:
147         (WorkQueue::executeFunction):
148         (WorkQueue::dispatch):
149         (WorkQueue::dispatchAfterDelay):
150         * Platform/qt/WorkQueueQt.cpp:
151         (WorkQueue::WorkItemQt::WorkItemQt):
152         (WorkQueue::WorkItemQt::~WorkItemQt):
153         (WorkQueue::WorkItemQt::execute):
154         (WorkQueue::registerSocketEventHandler):
155         (WorkQueue::dispatch):
156         (WorkQueue::dispatchAfterDelay):
157         (WorkQueue::dispatchOnTermination):
158         * Platform/win/RunLoopWin.cpp:
159         (RunLoop::wakeUp):
160         * Platform/win/WorkQueueWin.cpp:
161         (WorkQueue::WorkItemWin::WorkItemWin):
162         (WorkQueue::WorkItemWin::create):
163         (WorkQueue::HandleWorkItem::HandleWorkItem):
164         (WorkQueue::HandleWorkItem::createByAdoptingHandle):
165         (WorkQueue::registerHandle):
166         (WorkQueue::dispatch):
167         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
168         (WebKit::ProcessLauncher::launchProcess):
169         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
170         (WebKit::ProcessLauncher::launchProcess):
171         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
172         (WebKit::ProcessLauncher::launchProcess):
173         * WebProcess/mac/CoreIPCClientRunLoop.mm:
174         (WebKit::callOnCoreIPCClientRunLoopAndWait):
175
176 2011-12-17  Sam Weinig  <sam@webkit.org>
177
178         Make PlatformTouchEvent inherit from PlatformEvent
179         https://bugs.webkit.org/show_bug.cgi?id=74777
180
181         Reviewed by Andreas Kling.
182
183         * Shared/WebEventConversion.cpp:
184         (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
185         Add PlatformEvent prefix to enum types.
186
187 2011-12-16  Anders Carlsson  <andersca@apple.com>
188
189         Convert more WorkItems over to WTF::Functions
190         https://bugs.webkit.org/show_bug.cgi?id=74770
191
192         Reviewed by Andreas Kling.
193
194         * Platform/WorkQueue.cpp:
195         (WorkQueue::dispatchAfterDelay):
196         * Platform/WorkQueue.h:
197         * Shared/ChildProcess.cpp:
198         (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
199         * UIProcess/Launcher/ThreadLauncher.cpp:
200         (WebKit::ThreadLauncher::launchThread):
201         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
202         (WebKit::ProcessLauncher::launchProcess):
203         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
204         (WebKit::NetscapePlugin::pluginThreadAsyncCall):
205         * WebProcess/Plugins/PluginView.cpp:
206         (WebKit::derefPluginView):
207         (WebKit::PluginView::unprotectPluginFromDestruction):
208
209 2011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
210
211         Windows test fix
212
213         Unreviewed test fix. All Windows tests were crashing when objects who were pointing to 
214         static data members across DLL boundaries were getting garbage in their pointers.
215
216         * win/WebKit2.def:
217
218 2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
219
220         Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
221         https://bugs.webkit.org/show_bug.cgi?id=74748
222
223         Reviewed by Eric Seidel.
224
225         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
226         (WebKit::WebEditorClient::registerUndoStep):
227         (WebKit::WebEditorClient::registerRedoStep):
228         * WebProcess/WebCoreSupport/WebEditorClient.h:
229
230 2011-12-16  Anders Carlsson  <andersca@apple.com>
231
232         Add a pretty dumb tile cache to WebTileCacheLayer
233         https://bugs.webkit.org/show_bug.cgi?id=74753
234
235         Reviewed by Simon Fraser.
236
237         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
238         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
239         Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.
240
241 2011-12-16  Anders Carlsson  <andersca@apple.com>
242
243         TiledCoreAnimationDrawingArea should enable the scrolling coordinator
244         https://bugs.webkit.org/show_bug.cgi?id=74724
245
246         Reviewed by Adam Roben.
247
248         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
249         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
250
251 2011-12-16  Sam Weinig  <sam@webkit.org>
252
253         Give PlatformEvents a base class
254         https://bugs.webkit.org/show_bug.cgi?id=74685
255
256         Reviewed by Anders Carlsson.
257
258         Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
259         and PlatformGestureEvent and move Type enumeration and modifiers down to it.
260
261         * Shared/WebEventConversion.cpp:
262         (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
263         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
264         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
265         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
266         * WebKit2.xcodeproj/project.pbxproj:
267         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
268         (WebKit::WebEditorClient::handleKeyboardEvent):
269         * WebProcess/WebPage/WebPage.cpp:
270         (WebKit::handleMouseEvent):
271         (WebKit::WebPage::setInitialFocus):
272         (WebKit::WebPage::handleEditingKeyboardEvent):
273         (WebKit::WebPage::dragEnded):
274         * WebProcess/WebPage/mac/WebPageMac.mm:
275         (WebKit::WebPage::executeKeypressCommandsInternal):
276         (WebKit::WebPage::handleEditingKeyboardEvent):
277
278 2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
279
280         Only EditCommandComposition should implement unapply and reapply
281         https://bugs.webkit.org/show_bug.cgi?id=74490
282
283         Reviewed by Eric Seidel.
284
285         Renamed WebEditCommand to WebUndoStep and made necessary changes.
286         Everything on WebProcess side should have the correct name now.
287
288         Names in the proxy and UIProcess are to be updated in a follow up.
289
290         * CMakeLists.txt:
291         * GNUmakefile.am:
292         * Target.pri:
293         * WebKit2.xcodeproj/project.pbxproj:
294         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
295         (WebKit::WebEditorClient::registerCommandForUndo):
296         (WebKit::WebEditorClient::registerCommandForRedo):
297         * WebProcess/WebCoreSupport/WebEditorClient.h:
298         * WebProcess/WebPage/WebEditCommand.cpp: Removed.
299         * WebProcess/WebPage/WebEditCommand.h: Removed.
300         * WebProcess/WebPage/WebPage.cpp:
301         (WebKit::WebPage::webUndoStep):
302         (WebKit::WebPage::addWebUndoStep):
303         (WebKit::WebPage::removeWebEditCommand):
304         (WebKit::WebPage::unapplyEditCommand):
305         (WebKit::WebPage::reapplyEditCommand):
306         * WebProcess/WebPage/WebPage.h:
307         * WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp.
308         (WebKit::generateUndoStep):
309         (WebKit::WebUndoStep::create):
310         * WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h.
311         (WebKit::WebUndoStep::entry):
312         (WebKit::WebUndoStep::entryID):
313         (WebKit::WebUndoStep::WebUndoStep):
314         * win/WebKit2.vcproj:
315
316 2011-12-16  Simon Hausmann  <simon.hausmann@nokia.com>
317
318         [Qt] Eliminate dependency to QUndoStack
319         https://bugs.webkit.org/show_bug.cgi?id=74691
320
321         Reviewed by Kenneth Rohde Christiansen.
322
323         Replaced the QUndoStack with two vectors. When calling unapply()
324         on the edit command proxy, it will automatically re-register itself
325         in the redo stack.
326
327         * UIProcess/qt/QtWebUndoController.cpp:
328         (QtWebUndoController::registerEditCommand):
329         (QtWebUndoController::clearAllEditCommands):
330         (QtWebUndoController::canUndoRedo):
331         (QtWebUndoController::executeUndoRedo):
332         * UIProcess/qt/QtWebUndoController.h:
333
334 2011-12-16  Rafael Brandao  <rafael.lobo@openbossa.org>
335
336         [Qt][WK2] Move webView.page into experimental
337         https://bugs.webkit.org/show_bug.cgi?id=74406
338
339         Reviewed by Simon Hausmann.
340
341         * UIProcess/API/qt/qquickwebview.cpp:
342         (QQuickWebViewExperimental::page):
343         * UIProcess/API/qt/qquickwebview_p.h:
344         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
345         (tst_QQuickWebView::accessPage):
346
347 2011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
348
349         De-virtualize destructors
350         https://bugs.webkit.org/show_bug.cgi?id=74331
351
352         Reviewed by Geoffrey Garen.
353
354         * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert.
355         * WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy.
356         (WebKit::JSNPObject::destroy):
357         * WebProcess/Plugins/Netscape/JSNPObject.h:
358         * win/WebKit2.def: Add/remove necessary symbols.
359         * win/WebKit2CFLite.def: Ditto.
360
361 2011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
362
363         [GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
364         https://bugs.webkit.org/show_bug.cgi?id=74713
365
366         Reviewed by Gustavo Noronha Silva.
367
368         Most of the members are bools, so it reduces the memory footprint.
369
370         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
371
372 2011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
373
374         [GTK] Window frame should be 0x0 when the toplevel window is not visible
375         https://bugs.webkit.org/show_bug.cgi?id=74709
376
377         Reviewed by Gustavo Noronha Silva.
378
379         * UIProcess/API/gtk/WebKitUIClient.cpp:
380         (getWindowFrame): Check also whether the toplevel is visible
381         before getting its size and position.
382
383 2011-12-16  Michael Bruning  <michael.bruning@nokia.com>
384
385         [qt][wk2] Viewport info panel shows wrong current scale
386         https://bugs.webkit.org/show_bug.cgi?id=74613
387
388         Reviewed by Kenneth Rohde Christiansen.
389
390         * UIProcess/API/qt/qwebviewportinfo.cpp:
391         (QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
392         added emission of currenScaleUpdated signal when the viewport constraints
393         have been updated.
394         (QWebViewportInfo::didUpdateViewportConstraints):
395         * UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of
396         currentScale to QVariant as it depends on the viewport interaction engine
397         now.
398         * UIProcess/qt/QtViewportInteractionEngine.cpp:
399         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed
400         to use currentCSSScale for getting the current css scale.
401         (WebKit::QtViewportInteractionEngine::currentCSSScale): Added.
402         * UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale.
403
404 2011-12-15  Martin Robinson  <mrobinson@igalia.com>
405
406         Fix 'make dist' in preparation for the GTK+ release.
407
408         * GNUmakefile.am: Add missing header.
409
410 2011-12-15  Anders Carlsson  <andersca@apple.com>
411
412         Add support for accelerated compositing to the tiled Core Animation drawing area
413         https://bugs.webkit.org/show_bug.cgi?id=74675
414
415         Reviewed by Andreas Kling.
416
417         Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.
418
419         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
420         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
421         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
422         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
423         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
424         (WebKit::TiledCoreAnimationDrawingArea::scroll):
425         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
426         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
427         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
428         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
429
430 2011-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
431
432         Unreviewed, rolling out r102652 and r102717.
433         http://trac.webkit.org/changeset/102652
434         http://trac.webkit.org/changeset/102717
435         https://bugs.webkit.org/show_bug.cgi?id=74674
436
437         Broke too many webs. (Requested by kling on #webkit).
438
439         * UIProcess/API/mac/WKView.mm:
440         (-[WKView _updateWindowAndViewFrames]):
441         * UIProcess/WebPageProxy.h:
442         * UIProcess/mac/WebPageProxyMac.mm:
443         (WebKit::WebPageProxy::windowAndViewFramesChanged):
444         * WebProcess/Plugins/PluginView.cpp:
445         (WebKit::PluginView::windowAndViewFramesChanged):
446         * WebProcess/Plugins/PluginView.h:
447         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
448         (WebKit::WebChromeClient::windowRect):
449         * WebProcess/WebPage/WebPage.cpp:
450         (WebKit::WebPage::windowAndViewFramesChanged):
451         * WebProcess/WebPage/WebPage.h:
452         (WebKit::WebPage::windowFrameInScreenCoordinates):
453         (WebKit::WebPage::viewFrameInWindowCoordinates):
454         (WebKit::WebPage::accessibilityPosition):
455         * WebProcess/WebPage/WebPage.messages.in:
456         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
457         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
458
459 2011-12-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
460
461         [GTK] New API test for WindowProperties fails
462         https://bugs.webkit.org/show_bug.cgi?id=74630
463
464         Reviewed by Martin Robinson.
465
466         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
467         (WindowProperties::viewReadyToShow): assert each member to make
468         assertion error messages more useful, and avoid asserting x and y,
469         since we are getting bad values from WebCore, for some reason.
470         (testWebViewWindowProperties): use smaller values that fit inside the
471         800x600 screen used by the bots.
472
473 2011-12-15  Anders Carlsson  <andersca@apple.com>
474
475         EventDispatcher should handle wheel events on the connection queue
476         https://bugs.webkit.org/show_bug.cgi?id=74627
477
478         Reviewed by Andreas Kling.
479
480         Send wheel events to the EventDispatcher, which handles them on the connection work queue, and
481         immediately bounces them to the main thread (for now).
482
483         * UIProcess/WebPageProxy.cpp:
484         (WebKit::WebPageProxy::handleWheelEvent):
485         (WebKit::WebPageProxy::didReceiveEvent):
486         * WebProcess/WebPage/EventDispatcher.cpp:
487         (WebKit::EventDispatcher::wheelEvent):
488         (WebKit::EventDispatcher::dispatchWheelEvent):
489         * WebProcess/WebPage/EventDispatcher.h:
490         * WebProcess/WebPage/EventDispatcher.messages.in:
491         * WebProcess/WebPage/WebPage.h:
492
493 2011-12-15  Jon Lee  <jonlee@apple.com>
494
495         [WK2] Extend WebNotification to include its origin
496         https://bugs.webkit.org/show_bug.cgi?id=74615
497         <rdar://problem/10587164>
498
499         Reviewed by Sam Weinig.
500
501         * Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database
502         identifier.
503         * Shared/API/c/WKSecurityOrigin.cpp:
504         (WKSecurityOriginCopyDatabaseIdentifier):
505
506         * UIProcess/Notifications/WebNotification.h: Extend WebNotification to include the origin.
507         (WebKit::WebNotification::create):
508         (WebKit::WebNotification::origin):
509         * UIProcess/Notifications/WebNotification.cpp: Remove unneeded encode() and decode() functions.
510         (WebKit::WebNotification::WebNotification):
511
512         * UIProcess/API/C/WKNotification.h: Expose WebNotification's origin().
513         * UIProcess/API/C/WKNotification.cpp:
514         (WKNotificationGetSecurityOrigin):
515
516         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Update show() to include the
517         origin of the notification.
518         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
519         (WebKit::WebNotificationManagerProxy::show):
520         * UIProcess/Notifications/WebNotificationManagerProxy.h:
521         * WebProcess/Notifications/WebNotificationManager.cpp:
522         (WebKit::WebNotificationManager::show): Pass the notification's exec context's origin as
523         identifier.
524
525 2011-12-15  Rafael Brandao  <rafael.lobo@openbossa.org>
526
527         [Qt][WK2] Add test for download policy on navigation request
528         https://bugs.webkit.org/show_bug.cgi?id=74541
529
530         Reviewed by Tor Arne Vestbø.
531
532         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
533         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Make it wait for a
534         downloadFinished signal to finish the test.
535
536 2011-12-15  Anders Carlsson  <andersca@apple.com>
537
538         Move WorkQueue Mach handlers over to WTF::Function
539         https://bugs.webkit.org/show_bug.cgi?id=74620
540
541         Reviewed by Sam Weinig.
542
543         * Platform/CoreIPC/mac/ConnectionMac.cpp:
544         (CoreIPC::Connection::open):
545         (CoreIPC::Connection::initializeDeadNameSource):
546         * Platform/WorkQueue.h:
547         * Platform/mac/WorkQueueMac.cpp:
548         (WorkQueue::EventSource::EventSource):
549         (WorkQueue::EventSource::eventHandler):
550         (WorkQueue::registerMachPortEventHandler):
551
552 2011-12-14  Anders Carlsson  <andersca@apple.com>
553
554         Add WTF::Function to wtf/Forward.h
555         https://bugs.webkit.org/show_bug.cgi?id=74576
556
557         Reviewed by Adam Roben.
558
559         * Platform/RunLoop.h:
560         * Platform/WorkQueue.h:
561         Remove forward declarations and just include wtf/Forward.h.
562
563 2011-12-15  Rafael Brandao  <rafael.lobo@openbossa.org>
564
565         [Qt][WK2] Move WebPreferences into experimental
566         https://bugs.webkit.org/show_bug.cgi?id=74404
567
568         Reviewed by Tor Arne Vestbø.
569
570         * UIProcess/API/qt/qquickwebview.cpp:
571         (QQuickWebViewExperimental::preferences):
572         * UIProcess/API/qt/qquickwebview_p.h:
573         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
574         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
575
576 2011-12-15  Carlos Garcia Campos  <cgarcia@igalia.com>
577
578         [GTK] Add WebKitWindowProperties to WebKit2 GTK+ API
579         https://bugs.webkit.org/show_bug.cgi?id=74595
580
581         Reviewed by Gustavo Noronha Silva.
582
583         * GNUmakefile.am: Add new files to compilation.
584         * UIProcess/API/gtk/WebKitUIClient.cpp:
585         (createNewPage): Pass the dictionary containing the window
586         features to webkitWebViewCreateNewPage().
587         (toolbarsAreVisible): Return
588         WebKitWindowProperties:toolbar-visible.
589         (setToolbarsAreVisible): Set
590         WebKitWindowProperties:toolbar-visible.
591         (menuBarIsVisible): Return WebKitWindowProperties:menu-visible.
592         (setMenuBarIsVisible): Set WebKitWindowProperties:menu-visible.
593         (statusBarIsVisible): Return
594         WebKitWindowProperties:status-visible.
595         (setStatusBarIsVisible): Set
596         WebKitWindowProperties:status-visible.
597         (isResizable): Return WebKitWindowProperties:resizable.
598         (setIsResizable): Set WebKitWindowProperties:resizable.
599         (getWindowFrame): Return WebKitWindowProperties:geometry.
600         (setWindowFrame): Set WebKitWindowProperties:geometry.
601         (webkitUIClientAttachUIClientToPage): Initialize the UI client for
602         the given page.
603         * UIProcess/API/gtk/WebKitWebView.cpp:
604         (webkit_web_view_init): Create a WebKitWindowProperties object for
605         the view.
606         (webkit_web_view_class_init):
607         (webkitWebViewCreateNewPage): Update the WebKitWindowProperties
608         object using the window features dictionary.
609         (webkit_web_view_get_window_properties): Return the
610         WebKitWindowProperties object of the view.
611         * UIProcess/API/gtk/WebKitWebView.h:
612         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
613         * UIProcess/API/gtk/WebKitWindowProperties.cpp: Added.
614         (webkitWindowPropertiesFinalize):
615         (webkitWindowPropertiesGetProperty):
616         (webkitWindowPropertiesSetProperty):
617         (webkit_window_properties_class_init):
618         (webkit_window_properties_init):
619         (webkitWindowPropertiesCreate): Create a new
620         WebKitWindowProperties object.
621         (webkitWindowPropertiesSetGeometry):
622         (webkitWindowPropertiesSetToolbarVisible):
623         (webkitWindowPropertiesSetMenubarVisible):
624         (webkitWindowPropertiesSetStatusbarVisible):
625         (webkitWindowPropertiesSetLocationbarVisible):
626         (webkitWindowPropertiesSetScrollbarsVisible):
627         (webkitWindowPropertiesSetResizable):
628         (webkitWindowPropertiesSetFullscreen):
629         (webkitWindowPropertiesUpdateFromWKWindowFeatures): Parse the
630         window features dictionary and update the WebKitWindowProperties
631         object accordingly.
632         (webkit_window_properties_get_geometry):
633         (webkit_window_properties_get_toolbar_visible):
634         (webkit_window_properties_get_statusbar_visible):
635         (webkit_window_properties_get_scrollbars_visible):
636         (webkit_window_properties_get_menubar_visible):
637         (webkit_window_properties_get_locationbar_visible):
638         (webkit_window_properties_get_resizable):
639         (webkit_window_properties_get_fullscreen):
640         * UIProcess/API/gtk/WebKitWindowProperties.h: Added.
641         * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h.
642         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
643         WebKitWindowProperties.
644         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
645         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
646         webkit_window_properties_get_type.
647         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
648         (WindowProperties::windowPropertiesNotifyCallback):
649         (WindowProperties::viewReadyToShow):
650         (WindowProperties::viewCreate):
651         (WindowProperties::setExpectedWindowProperties):
652         (testWebViewWindowProperties):
653         (beforeAll):
654         * UIProcess/API/gtk/webkit2.h: Include WebKitWindowProperties.h.
655         * UIProcess/WebUIClient.cpp:
656         (WebKit::WebUIClient::createNewPage): Add also "locationBarVisible"
657         to the window features dictionary.
658
659 2011-12-15  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
660
661         [Qt] [WK2] Remove QtWebPageProxy
662         https://bugs.webkit.org/show_bug.cgi?id=74540
663
664         Reviewed by Kenneth Rohde Christiansen.
665
666         Move WebPageProxy* to QQuickWebViewPrivate. The remaining functions in
667         QtWebPageProxy were simple wrappers to WebKit functionality (text zoom, page zoom
668         and user agent setting). Since those wrappers are unused, they were removed. The
669         signal in the class was also unused.
670
671         This patch also remove the code from WebContextMenuProxyQt, it was remains of a
672         previous QMenu-based implementation. We want to rewrite this code for QML anyway,
673         so I reverted to an empty state.
674
675         Farewell, QtWebPageProxy!
676
677         * Target.pri:
678         * UIProcess/API/qt/qquickwebpage.cpp:
679         * UIProcess/API/qt/qquickwebpage_p.h:
680         * UIProcess/API/qt/qquickwebview.cpp:
681         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
682         (QQuickWebViewPrivate::initialize):
683         (QQuickWebViewPrivate::processDidCrash):
684         (QQuickWebViewPrivate::createDrawingAreaProxy):
685         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
686         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
687         (QQuickWebViewPrivate::_q_onVisibleChanged):
688         (QQuickWebViewPrivate::updateViewportSize):
689         (QQuickWebViewPrivate::computeViewportConstraints):
690         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
691         (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
692         (QQuickWebViewExperimental::postMessage):
693         (QQuickWebView::load):
694         (QQuickWebView::goBack):
695         (QQuickWebView::goForward):
696         (QQuickWebView::stop):
697         (QQuickWebView::reload):
698         (QQuickWebView::url):
699         (QQuickWebView::canGoBack):
700         (QQuickWebView::canGoForward):
701         (QQuickWebView::loading):
702         (QQuickWebView::canReload):
703         (QQuickWebView::title):
704         (QQuickWebView::pageRef):
705         (QQuickWebView::loadHtml):
706         * UIProcess/API/qt/qquickwebview_p.h:
707         * UIProcess/API/qt/qquickwebview_p_p.h:
708         * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
709         * UIProcess/API/qt/qwebpreferences.cpp:
710         (QWebPreferencesPrivate::preferencesRef):
711         * UIProcess/PageClient.h:
712         * UIProcess/qt/QtPageClient.cpp:
713         (QtPageClient::QtPageClient):
714         (QtPageClient::initialize):
715         (QtPageClient::createPopupMenuProxy):
716         (QtPageClient::createContextMenuProxy):
717         * UIProcess/qt/QtPageClient.h:
718         * UIProcess/qt/QtWebPageProxy.cpp: Removed.
719         * UIProcess/qt/QtWebPageProxy.h: Removed.
720         * UIProcess/qt/WebContextMenuProxyQt.cpp:
721         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
722         (WebKit::WebContextMenuProxyQt::create):
723         (WebKit::WebContextMenuProxyQt::showContextMenu):
724         (WebKit::WebContextMenuProxyQt::hideContextMenu):
725         * UIProcess/qt/WebContextMenuProxyQt.h:
726
727 2011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
728
729         [WK2] Eliminate unnecessary GTK/QT ifdefs for shared memory implementation
730         https://bugs.webkit.org/show_bug.cgi?id=74602
731
732         Reviewed by Kenneth Rohde Christiansen.
733
734         For shared memory Qt was using shm_open, Gtk was using files in /tmp. There
735         is no reason to obfuscate the code with #ifdefs or let Gtk use an inferior
736         method of opening shared memory. So this patch makes SharedMemoryUnix.cpp
737         truly Qt and Gtk independent.
738
739         * Platform/unix/SharedMemoryUnix.cpp:
740         (WebKit::SharedMemory::create):
741
742 2011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
743
744         [Qt] Cleanup: Remove unnecessary const_cast
745
746         Reviewed by Kenneth Christiansen.
747
748         * UIProcess/API/qt/qquickwebview.cpp:
749         (QQuickWebView::preferences):
750
751 2011-12-15  Michael Brüning  <michael.bruning@nokia.com>
752
753         [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt.
754         https://bugs.webkit.org/show_bug.cgi?id=72893
755
756         Reviewed by Kenneth Rohde Christiansen.
757
758         This patch extends QQuickWebViewExperimental by a property named
759         viewportInfo, which contains the viewport scalability and
760         layout and contents size information. This property is exposed to
761         QML through the experimental extension for QQuickWebView.
762
763         * Target.pri:
764         * UIProcess/API/qt/qquickwebview.cpp:
765         (QQuickWebViewPrivate::didChangeContentsSize):
766         (QQuickWebViewPrivate::computeViewportConstraints):
767         (QQuickWebViewPrivate::PostTransitionState::apply): Added applying
768         contentsSize to viewportInfo.
769         (QQuickWebViewExperimental::QQuickWebViewExperimental):
770         (QQuickWebViewExperimental::viewportInfo):
771         * UIProcess/API/qt/qquickwebview_p.h:
772         * UIProcess/API/qt/qquickwebview_p_p.h: Moved PostTransitionState::apply
773         to qquickwebview.cpp. Added friend QWebViewportInfo.
774         * UIProcess/API/qt/qwebviewportinfo.cpp: Added.
775         (QWebViewportInfo::QWebViewportInfo):
776         (QWebViewportInfo::~QWebViewportInfo):
777         (QWebViewportInfo::contentsSize):
778         (QWebViewportInfo::currentScale):
779         (QWebViewportInfo::devicePixelRatio):
780         (QWebViewportInfo::initialScale):
781         (QWebViewportInfo::minimumScale):
782         (QWebViewportInfo::maximumScale):
783         (QWebViewportInfo::isScalable):
784         (QWebViewportInfo::layoutSize):
785         (QWebViewportInfo::didUpdateContentsSize):
786         (QWebViewportInfo::didUpdateCurrentScale):
787         (QWebViewportInfo::didUpdateViewportConstraints):
788         * UIProcess/API/qt/qwebviewportinfo_p.h: Added.
789         * UIProcess/qt/QtViewportInteractionEngine.h:
790         (WebKit::QtViewportInteractionEngine::Constraints::Constraints): Added layoutSize.
791         (WebKit::QtViewportInteractionEngine::constraints): Added property to access m_contraints.
792
793 2011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
794
795         [WK2] WebPage::m_useFixedLayout variable unininitialized
796         https://bugs.webkit.org/show_bug.cgi?id=74596
797
798         Reviewed by Kenneth Rohde Christiansen.
799
800         * WebProcess/WebPage/WebPage.cpp:
801         (WebKit::WebPage::WebPage): Avoid uninitialized use through
802         initialization in the constructor.
803
804 2011-12-15  Alexander Færøy  <ahf@0x90.dk>
805
806         [Qt] r102849 broke the Qt build on Mac OS X.
807         https://bugs.webkit.org/show_bug.cgi?id=74594
808
809         Reviewed by Simon Hausmann.
810
811         The __APPLE__ macro is defined on all standard OS X compilers, which
812         leads to various CoreGraphics headers to be included in the Qt build.
813
814         * config.h:
815
816 2011-12-14  Jing Zhao  <jingzhao@chromium.org>
817
818         Opening two popup menus by dispatchEvent() makes problems.
819         https://bugs.webkit.org/show_bug.cgi?id=73304
820
821         Reviewed by Kent Tamura.
822
823         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
824         (WebKit::WebChromeClient::hasOpenedPopup): Not implemented.
825         * WebProcess/WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup().
826
827 2011-12-14  Sam Weinig  <weinig@apple.com>
828
829         Remove whitespace from InheritedPropertySheets attributes in
830         vsprops files to appease the Visual Studio project migrator.
831
832         Reviewed by Adam Roben.
833
834         * win/WebKit2Debug.vsprops:
835         * win/WebKit2DebugAll.vsprops:
836         * win/WebKit2DebugCairoCFLite.vsprops:
837         * win/WebKit2Production.vsprops:
838         * win/WebKit2Release.vsprops:
839         * win/WebKit2ReleaseCairoCFLite.vsprops:
840         * win/WebKit2WebProcessDebug.vsprops:
841         * win/WebKit2WebProcessDebugAll.vsprops:
842         * win/WebKit2WebProcessDebugCairoCFLite.vsprops:
843         * win/WebKit2WebProcessProduction.vsprops:
844         * win/WebKit2WebProcessRelease.vsprops:
845         * win/WebKit2WebProcessReleaseCairoCFLite.vsprops:
846
847 2011-12-14  Anders Carlsson  <andersca@apple.com>
848
849         Add WorkQueue::dispatch and RunLoop::dispatch which both take WTF::Function objects
850         https://bugs.webkit.org/show_bug.cgi?id=74574
851
852         Reviewed by Sam Weinig.
853
854         * Platform/CoreIPC/Connection.cpp:
855         (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
856         (CoreIPC::Connection::addQueueClient):
857         (CoreIPC::Connection::removeQueueClient):
858         (CoreIPC::Connection::invalidate):
859         (CoreIPC::Connection::sendMessage):
860         (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
861         (CoreIPC::Connection::connectionDidClose):
862         (CoreIPC::Connection::enqueueIncomingMessage):
863         Switch over to dispatch.
864
865         * Platform/RunLoop.cpp:
866         (RunLoop::dispatch):
867         Create a FunctionWorkItem and call scheduleWork.
868
869         * Platform/RunLoop.h:
870         Add dispatch.
871
872         * Platform/WorkItem.h:
873         (FunctionWorkItem::FunctionWorkItem):
874         (FunctionWorkItem::execute):
875         (WorkItem::create):
876         Add a helper work item that wraps a WTF::Function.
877
878         * Platform/WorkQueue.cpp:
879         (WorkQueue::dispatch):
880         Create a FunctionWorkItem and call scheduleWork.
881
882         * Platform/WorkQueue.h:
883         Add dispatch.
884
885         * UIProcess/Launcher/ProcessLauncher.cpp:
886         (WebKit::ProcessLauncher::ProcessLauncher):
887         Switch over to dispatch.
888
889 2011-12-14  Hajime Morrita  <morrita@chromium.org>
890
891         JS_INLINE and WTF_INLINE should be visible from WebCore
892         https://bugs.webkit.org/show_bug.cgi?id=73191
893
894         Reviewed by Kevin Ollivier.
895
896         Removed macro definitions which is now provided by Platform.h
897
898         * config.h:
899
900 2011-12-14  Alexey Proskuryakov  <ap@apple.com>
901
902         [Mac] Sandbox violation opening AppleSNBFBUserClient
903         https://bugs.webkit.org/show_bug.cgi?id=74560
904         <rdar://problem/10410896>
905
906         Reviewed by Darin Adler.
907
908         * WebProcess/com.apple.WebProcess.sb: Just allow it.
909
910 2011-12-13  Jon Lee  <jonlee@apple.com>
911
912         Enable notifications on Mac.
913
914         Reviewed by Sam Weinig.
915
916         * Configurations/FeatureDefines.xcconfig:
917
918 2011-12-14  Mark Rowe  <mrowe@apple.com>
919
920         <rdar://problem/10573872> NPN_GetValueForURL returns wrong value for NPNURLVProxy
921
922         Reviewed by Anders Carlsson.
923
924         * PluginProcess/PluginControllerProxy.cpp:
925         (WebKit::PluginControllerProxy::proxiesForURL): Fix a copy-paste error.
926
927 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
928
929         [Qt] [WK2] Move QWebPreferences out of QtWebPageProxy
930         https://bugs.webkit.org/show_bug.cgi?id=74525
931
932         Reviewed by Luiz Agostini.
933
934         This patch also uses internal WebKit API to set the Accelerate Compositing
935         directly instead of going thru QWebPreferencesPrivate. The previous approach was
936         always causing the QWebPreferences to be created making the "lazy initialization"
937         useless.
938
939         * UIProcess/API/qt/qquickwebview.cpp:
940         (QQuickWebViewPrivate::QQuickWebViewPrivate):
941         (QQuickWebViewPrivate::initialize):
942         (QQuickWebViewPrivate::navigatorQtObjectEnabled):
943         (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
944         (QQuickWebViewExperimental::postMessage):
945         (QQuickWebView::preferences):
946         * UIProcess/API/qt/qquickwebview_p_p.h:
947         * UIProcess/API/qt/qwebpreferences.cpp:
948         (QWebPreferencesPrivate::createPreferences):
949         (QWebPreferencesPrivate::testAttribute):
950         (QWebPreferencesPrivate::setAttribute):
951         (QWebPreferences::navigatorQtObjectEnabled):
952         (QWebPreferences::setNavigatorQtObjectEnabled):
953         (QWebPreferencesPrivate::preferencesRef):
954         * UIProcess/API/qt/qwebpreferences_p_p.h:
955         * UIProcess/qt/QtWebPageProxy.cpp:
956         (QtWebPageProxy::QtWebPageProxy):
957         * UIProcess/qt/QtWebPageProxy.h:
958
959 2011-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
960
961         [GTK] Page size should be 0,0 when view widget is not realized
962         https://bugs.webkit.org/show_bug.cgi?id=74523
963
964         Reviewed by Martin Robinson.
965
966         We currently return 1,1 because GTK+ initializes widget allocation
967         as -1,-1,1,1.
968
969         * UIProcess/API/gtk/PageClientImpl.cpp:
970         (WebKit::PageClientImpl::viewSize): Check whether widget is
971         realized and return IntSize() in that case.
972
973 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
974
975         [Qt] [WK2] Move download handling out of QtWebPageProxy
976         https://bugs.webkit.org/show_bug.cgi?id=74506
977
978         Reviewed by Kenneth Rohde Christiansen.
979
980         Also moves the creation of QtWebContext out of QtWebPageProxy.
981
982         * UIProcess/API/qt/qquickwebview.cpp:
983         (QQuickWebViewPrivate::initialize):
984         (QQuickWebViewPrivate::handleDownloadRequest):
985         (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
986         * UIProcess/API/qt/qquickwebview_p.h:
987         * UIProcess/API/qt/qquickwebview_p_p.h:
988         * UIProcess/API/qt/qwebdownloaditem_p.h:
989         * UIProcess/qt/QtPageClient.cpp:
990         (QtPageClient::handleDownloadRequest):
991         * UIProcess/qt/QtPageClient.h:
992         * UIProcess/qt/QtWebPageProxy.cpp:
993         (QtWebPageProxy::QtWebPageProxy):
994         * UIProcess/qt/QtWebPageProxy.h:
995
996 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
997
998         [Qt] [WK2] Move QWebNavigationHistory to QQuickWebView
999         https://bugs.webkit.org/show_bug.cgi?id=74442
1000
1001         Reviewed by Simon Hausmann.
1002
1003         QWebNavigationHistory used QtWebPageProxy to be QObject parent of the inner models,
1004         this patch change that to use OwnPtr instead. When creating the history object we pass
1005         only the WKPageRef and let it get the backForwardList.
1006
1007         * UIProcess/API/qt/qquickwebview.cpp:
1008         (QQuickWebViewPrivate::initialize):
1009         (QQuickWebViewPrivate::didChangeBackForwardList):
1010         (QQuickWebViewExperimental::navigationHistory):
1011         (QQuickWebViewExperimental::goForwardTo):
1012         (QQuickWebViewExperimental::goBackTo):
1013         * UIProcess/API/qt/qquickwebview_p_p.h:
1014         * UIProcess/API/qt/qwebnavigationhistory.cpp:
1015         (QWebNavigationListModelPrivate::createWebNavigationModel):
1016         (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
1017         (QWebNavigationHistoryPrivate::createHistory):
1018         (QWebNavigationHistoryPrivate::goBackTo):
1019         (QWebNavigationHistoryPrivate::goForwardTo):
1020         (QWebNavigationListModel::QWebNavigationListModel):
1021         (QWebNavigationHistory::backItems):
1022         (QWebNavigationHistory::forwardItems):
1023         * UIProcess/API/qt/qwebnavigationhistory_p.h:
1024         * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
1025         * UIProcess/qt/QtWebPageProxy.cpp:
1026         (QtWebPageProxy::QtWebPageProxy):
1027         * UIProcess/qt/QtWebPageProxy.h:
1028
1029 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1030
1031         [Qt][WK2] Remove DrawingArea and QtWebPageEventHandler code from QtWebPageProxy
1032         https://bugs.webkit.org/show_bug.cgi?id=74414
1033
1034         Reviewed by Simon Hausmann.
1035
1036         This also moves QtWebPageEventHandler to inside QQuickWebPagePrivate, to avoid
1037         the WebPage having a backpointer to the QQuickWebView.
1038
1039         * Target.pri:
1040         * UIProcess/API/qt/qquickwebpage.cpp:
1041         (QQuickWebPage::geometryChanged):
1042         (QQuickWebPage::event):
1043         (QQuickWebPagePrivate::QQuickWebPagePrivate):
1044         (QQuickWebPagePrivate::initialize):
1045         (QQuickWebPagePrivate::setDrawingAreaSize):
1046         (QQuickWebPagePrivate::paintToCurrentGLContext):
1047         (QQuickWebPagePrivate::resetPaintNode):
1048         * UIProcess/API/qt/qquickwebpage_p.h:
1049         * UIProcess/API/qt/qquickwebpage_p_p.h:
1050         * UIProcess/API/qt/qquickwebview.cpp:
1051         (QQuickWebViewPrivate::initialize):
1052         (QQuickWebViewPrivate::initializeDesktop):
1053         (QQuickWebViewPrivate::initializeTouch):
1054         (QQuickWebViewPrivate::_q_resume):
1055         (QQuickWebViewPrivate::processDidCrash):
1056         (QQuickWebViewPrivate::didRelaunchProcess):
1057         (QQuickWebViewPrivate::createDrawingAreaProxy):
1058         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
1059         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
1060         (QQuickWebViewPrivate::updateViewportSize):
1061         * UIProcess/API/qt/qquickwebview_p_p.h:
1062         * UIProcess/qt/QtPageClient.cpp:
1063         (QtPageClient::createDrawingAreaProxy):
1064         * UIProcess/qt/QtPageClient.h:
1065         (QtPageClient::findStringInCustomRepresentation):
1066         (QtPageClient::countStringMatchesInCustomRepresentation):
1067         * UIProcess/qt/QtWebPageEventHandler.cpp:
1068         (QtWebPageEventHandler::QtWebPageEventHandler):
1069         (QtWebPageEventHandler::startDrag):
1070         * UIProcess/qt/QtWebPageEventHandler.h:
1071         * UIProcess/qt/QtWebPageProxy.cpp:
1072         (QtWebPageProxy::init):
1073         * UIProcess/qt/QtWebPageProxy.h:
1074
1075 2011-12-13  Gustavo Noronha Silva  <gns@gnome.org>
1076
1077         Unreviewed build fix.
1078
1079         * GNUmakefile.am: make sure we do not derreference the target link
1080         if it already exists, and replace it with the new one instead,
1081         otherwise we end up with a gtk link inside
1082         Source/WebKit2/UIProcess/API/gtk, which causes the documentation
1083         build to produce warnings, and make the build fail.
1084
1085 2011-12-13  Andreas Kling  <kling@webkit.org>
1086
1087         REGRESSION (r102652): New window opens with zero size at produbanco.com
1088         <http://webkit.org/b/74418> and <rdar://problem/10565998>
1089
1090         Reviewed by Anders Carlsson.
1091
1092         Don't use the cached window frame if it's empty (meaning we haven't received
1093         a WindowAndViewFramesChanged message yet.) Instead use the synchronous
1094         GetWindowFrame (WP->UIP) message.
1095
1096         This situation occurs when opening a new window via window.open(), in which
1097         WebCore::createWindow() will query the windowRect() on the new window.
1098
1099         I spent a long time trying to write a layout test for this but couldn't come
1100         up with something reliable. The windowRect() is non-empty before we get a
1101         chance to run JS in/on the new window, and we can't check against the
1102         requested geometry since it varies depending on whether the window manager
1103         has shown the new window yet.
1104
1105         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1106         (WebKit::WebChromeClient::windowRect):
1107
1108 2011-12-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1109
1110         [Qt][WK2] Make QtPageClient dispatch directly to WebView when possible
1111         https://bugs.webkit.org/show_bug.cgi?id=74407
1112
1113         Reviewed by Simon Hausmann.
1114
1115         * UIProcess/API/qt/qquickwebview.cpp:
1116         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1117         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
1118         (QQuickWebViewPrivate::initialize):
1119         (QQuickWebViewPrivate::pageDidRequestScroll):
1120         (QQuickWebViewPrivate::processDidCrash):
1121         (QQuickWebViewPrivate::didRelaunchProcess):
1122         (QQuickWebViewPrivate::viewSize):
1123         (QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
1124         (QQuickWebViewExperimental::QQuickWebViewExperimental):
1125         (QQuickWebView::QQuickWebView):
1126         * UIProcess/API/qt/qquickwebview_p_p.h:
1127         * UIProcess/qt/QtPageClient.cpp:
1128         (QtPageClient::QtPageClient):
1129         (QtPageClient::setViewNeedsDisplay):
1130         (QtPageClient::pageDidRequestScroll):
1131         (QtPageClient::processDidCrash):
1132         (QtPageClient::didRelaunchProcess):
1133         (QtPageClient::didChangeContentsSize):
1134         (QtPageClient::didChangeViewportProperties):
1135         (QtPageClient::createPopupMenuProxy):
1136         (QtPageClient::didReceiveMessageFromNavigatorQtObject):
1137         (QtPageClient::viewSize):
1138         (QtPageClient::isViewFocused):
1139         (QtPageClient::isViewVisible):
1140         * UIProcess/qt/QtPageClient.h:
1141         (QtPageClient::initialize):
1142         * UIProcess/qt/QtWebPageProxy.cpp:
1143         (QtWebPageProxy::QtWebPageProxy):
1144         * UIProcess/qt/QtWebPageProxy.h:
1145
1146 2011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1147
1148         [GTK] Add support for javascript dialogs in WebKit2 GTK+ API
1149         https://bugs.webkit.org/show_bug.cgi?id=71362
1150
1151         Reviewed by Martin Robinson.
1152
1153         * UIProcess/API/gtk/WebKitUIClient.cpp:
1154         (runJavaScriptAlert): Call webkitWebViewRunJavaScriptAlert().
1155         (runJavaScriptConfirm): Call webkitWebViewRunJavaScriptConfirm().
1156         (runJavaScriptPrompt): Call webkitWebViewRunJavaScriptPrompt().
1157         (webkitUIClientAttachUIClientToPage): Add implementation for
1158         runJavaScriptAlert, runJavaScriptConfirm and runJavaScriptPrompt
1159         callbacks.
1160         * UIProcess/API/gtk/WebKitWebView.cpp:
1161         (webkitWebViewCreateJavaScriptDialog):  Helper function to create
1162         javascript dialogs.
1163         (webkitWebViewScriptAlert): Default implementation of signal
1164         WebKitWebView::script-alert that shows a message dialog.
1165         (webkitWebViewScriptConfirm): Default implementation of signal
1166         WebKitWebView::script-confirm that shows a question dialog.
1167         (webkitWebViewScriptPrompt): Default implementation of signal
1168         WebKitWebView::script-prompt that shows a question dialog with a
1169         text entry.
1170         (webkit_web_view_class_init):
1171         (webkitWebViewRunJavaScriptAlert): Emit WebKitWebView::script-alert.
1172         (webkitWebViewRunJavaScriptConfirm): Emit WebKitWebView::script-confirm.
1173         (webkitWebViewRunJavaScriptPrompt): Emit WebKitWebView::script-prompt.
1174         * UIProcess/API/gtk/WebKitWebView.h:
1175         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1176         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1177         (testWebViewJavaScriptDialogs):
1178         (beforeAll):
1179         * UIProcess/API/gtk/webkit2marshal.list:
1180
1181 2011-12-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1182
1183         [Qt] Make sure that touch events result in the page view gaining focus
1184
1185         Reviewed by Simon Hausmann.
1186
1187         * UIProcess/API/qt/qquickwebpage.cpp:
1188         (QQuickWebPage::touchEvent): Force active focus.
1189         * UIProcess/API/qt/qquickwebview.cpp:
1190         * UIProcess/API/qt/qquickwebview_p.h: Remove ::touchEvent override.
1191
1192 2011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1193
1194         [GTK] Initial UI client implementation for WebKit2 GTK +API
1195         https://bugs.webkit.org/show_bug.cgi?id=69753
1196
1197         Reviewed by Martin Robinson.
1198
1199         * GNUmakefile.am: Add new files to compilation.
1200         * UIProcess/API/gtk/WebKitUIClient.cpp: Added.
1201         (createNewPage): Call webkitWebViewCreateNewPage.
1202         (showPage): Call webkitWebViewReadyToShowPage.
1203         (closePage): Call webkitWebViewClosePage.
1204         (webkitUIClientAttachUIClientToPage): Initialize UI client and
1205         attach it to the given page.
1206         (webkit_ui_client_init):
1207         (webkit_ui_client_class_init):
1208         * UIProcess/API/gtk/WebKitUIClient.h: Added.
1209         * UIProcess/API/gtk/WebKitWebView.cpp:
1210         (webkitWebViewCreate): Default implementation of signal
1211         WebKitWebView::create that simply returns NULL.
1212         (webkitWebViewConstructed): Create the default UI client.
1213         (webkitWebViewAccumulatorObjectHandled):
1214         (webkit_web_view_class_init):
1215         (webkitWebViewCreateNewPage): Emit create signal.
1216         (webkitWebViewReadyToShowPage): Emit ready-to-show signal.
1217         (webkitWebViewClosePage): Emit close signal.
1218         * UIProcess/API/gtk/WebKitWebView.h:
1219         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1220         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1221         (testWebViewCreateReadyClose):
1222         (beforeAll):
1223         * UIProcess/API/gtk/webkit2marshal.list:
1224
1225 2011-12-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1226
1227         [Qt][WK2] Move load & navigation related functions out of QtWebPageProxy
1228         https://bugs.webkit.org/show_bug.cgi?id=74395
1229
1230         Reviewed by Simon Hausmann.
1231
1232         * Target.pri:
1233         * UIProcess/API/qt/qquickwebview.cpp:
1234         (QQuickWebViewPrivate::_q_onVisibleChanged):
1235         (QQuickWebViewPrivate::updateViewportSize):
1236         (QQuickWebViewPrivate::computeViewportConstraints):
1237         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
1238         (QQuickWebViewPrivate::webPageProxy):
1239         (QQuickWebView::load):
1240         (QQuickWebView::goBack):
1241         (QQuickWebView::goForward):
1242         (QQuickWebView::stop):
1243         (QQuickWebView::reload):
1244         (QQuickWebView::url):
1245         (QQuickWebView::canGoBack):
1246         (QQuickWebView::canGoForward):
1247         (QQuickWebView::loading):
1248         (QQuickWebView::canReload):
1249         (QQuickWebView::title):
1250         (QQuickWebView::loadHtml):
1251         * UIProcess/API/qt/qquickwebview_p_p.h:
1252         * UIProcess/qt/QtWebPageProxy.cpp:
1253         (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
1254         * UIProcess/qt/QtWebPageProxy.h:
1255
1256 2011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1257
1258         Unreviewed. Fix GTK+ build after r102640.
1259
1260         * GNUmakefile.am: Add DownloadProxy sources again.
1261
1262 2011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1263
1264         [Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController
1265         https://bugs.webkit.org/show_bug.cgi?id=74364
1266
1267         Reviewed by Simon Hausmann.
1268
1269         The four callbacks in PageClient related to Undo depend only on the QUndoStack. So we
1270         move their handling to a QtWebUndoController (owned by QQuickWebViewPrivate). This also
1271         make QtWebUndoCommand an implementation detail.
1272
1273         * Target.pri:
1274         * UIProcess/API/qt/qquickwebview.cpp:
1275         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1276         * UIProcess/API/qt/qquickwebview_p_p.h:
1277         * UIProcess/qt/QtPageClient.cpp:
1278         (QtPageClient::registerEditCommand):
1279         (QtPageClient::clearAllEditCommands):
1280         (QtPageClient::canUndoRedo):
1281         (QtPageClient::executeUndoRedo):
1282         * UIProcess/qt/QtPageClient.h:
1283         (QtPageClient::initialize):
1284         * UIProcess/qt/QtWebPageProxy.cpp:
1285         * UIProcess/qt/QtWebPageProxy.h:
1286         * UIProcess/qt/QtWebUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.cpp.
1287         (QtWebUndoCommand::inUndoRedo):
1288         (QtWebUndoCommand::QtWebUndoCommand):
1289         (QtWebUndoCommand::~QtWebUndoCommand):
1290         (QtWebUndoCommand::redo):
1291         (QtWebUndoCommand::undo):
1292         (QtWebUndoController::QtWebUndoController):
1293         (QtWebUndoController::registerEditCommand):
1294         (QtWebUndoController::clearAllEditCommands):
1295         (QtWebUndoController::canUndoRedo):
1296         (QtWebUndoController::executeUndoRedo):
1297         * UIProcess/qt/QtWebUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.h.
1298
1299 2011-12-12  Andreas Kling  <kling@webkit.org>
1300
1301         Resizing Cappuccino is very laggy on WebKit since Safari 5.1
1302         <http://webkit.org/b/71354> and <rdar://problem/10565998>
1303
1304         Reviewed by Anders Carlsson.
1305
1306         On Mac, we already cache the window rect through the WindowAndViewFramesChanged
1307         message, so simply return that in WebChromeClient::windowRect() instead of
1308         sending a synchronous query to the UIProcess.
1309
1310         Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
1311         IntRect/IntPoint to match the ChromeClient::windowRect() return type.
1312
1313         * UIProcess/API/mac/WKView.mm:
1314         (-[WKView _updateWindowAndViewFrames]):
1315         * UIProcess/WebPageProxy.cpp:
1316         (WebKit::WebPageProxy::setWindowFrame):
1317         * UIProcess/WebPageProxy.h:
1318         * UIProcess/mac/WebPageProxyMac.mm:
1319         (WebKit::WebPageProxy::windowAndViewFramesChanged):
1320         * WebProcess/Plugins/PluginView.cpp:
1321         (WebKit::PluginView::windowAndViewFramesChanged):
1322         * WebProcess/Plugins/PluginView.h:
1323         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1324         (WebKit::WebChromeClient::windowRect):
1325         * WebProcess/WebPage/WebPage.cpp:
1326         (WebKit::WebPage::windowAndViewFramesChanged):
1327         * WebProcess/WebPage/WebPage.h:
1328         (WebKit::WebPage::windowFrameInScreenCoordinates):
1329         (WebKit::WebPage::viewFrameInWindowCoordinates):
1330         (WebKit::WebPage::accessibilityPosition):
1331         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
1332         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
1333
1334 2011-12-12  Anders Carlsson  <andersca@apple.com>
1335
1336         Add EventDispatcher class to WebKit2
1337         https://bugs.webkit.org/show_bug.cgi?id=74344
1338
1339         Reviewed by Sam Weinig.
1340
1341         The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects.
1342
1343         * DerivedSources.make:
1344         * DerivedSources.pri:
1345         * GNUmakefile.am:
1346         * Target.pri:
1347         * WebKit2.xcodeproj/project.pbxproj:
1348         * win/WebKit2.vcproj:
1349         Add new files.
1350
1351         * Platform/CoreIPC/MessageID.h:
1352         Add EventDispatcher.
1353
1354         * WebProcess/WebConnectionToUIProcess.cpp:
1355         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
1356         (WebKit::WebConnectionToUIProcess::invalidate):
1357         * WebProcess/WebConnectionToUIProcess.h:
1358         WebConnectionToUIProcess doesn't need to be a QueueClient. Also, move the call to open into WebProcess since
1359         we don't want to add queue clients after the connection has been opened.
1360
1361         * WebProcess/WebPage/EventDispatcher.cpp: Added.
1362         (WebKit::EventDispatcher::EventDispatcher):
1363         (WebKit::EventDispatcher::~EventDispatcher):
1364         (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
1365         (WebKit::EventDispatcher::wheelEvent):
1366         * WebProcess/WebPage/EventDispatcher.h:
1367         * WebProcess/WebPage/EventDispatcher.messages.in: Added.
1368         Add new stub files.
1369
1370         * WebProcess/WebProcess.cpp:
1371         (WebKit::WebProcess::initialize):
1372         Add the event dispatcher as a queue client.
1373
1374         * WebProcess/WebProcess.h:
1375         Add an EventDispatcher member variable to the web process.
1376
1377 2011-12-12  Sam Weinig  <sam@webkit.org>
1378
1379         Prefix internal methods in Objective-C API files with an underscore
1380         https://bugs.webkit.org/show_bug.cgi?id=74363
1381
1382         Reviewed by Dan Bernstein.
1383
1384         * UIProcess/API/mac/WKBrowsingContextController.mm:
1385         (-[WKBrowsingContextController _pageRef]):
1386         (-[WKBrowsingContextController loadRequest:]):
1387         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
1388         (-[WKBrowsingContextController stopLoading]):
1389         (-[WKBrowsingContextController reload]):
1390         (-[WKBrowsingContextController reloadFromOrigin]):
1391         (-[WKBrowsingContextController goForward]):
1392         (-[WKBrowsingContextController canGoForward]):
1393         (-[WKBrowsingContextController goBack]):
1394         (-[WKBrowsingContextController canGoBack]):
1395         (-[WKBrowsingContextController activeURL]):
1396         (-[WKBrowsingContextController provisionalURL]):
1397         (-[WKBrowsingContextController committedURL]):
1398         (-[WKBrowsingContextController title]):
1399         (-[WKBrowsingContextController textZoom]):
1400         (-[WKBrowsingContextController setTextZoom:]):
1401         (-[WKBrowsingContextController pageZoom]):
1402         (-[WKBrowsingContextController setPageZoom:]):
1403         (-[WKBrowsingContextController setPaginationMode:]):
1404         (-[WKBrowsingContextController paginationMode]):
1405         (-[WKBrowsingContextController setPageLength:]):
1406         (-[WKBrowsingContextController pageLength]):
1407         (-[WKBrowsingContextController setGapBetweenPages:]):
1408         (-[WKBrowsingContextController gapBetweenPages]):
1409         (-[WKBrowsingContextController pageCount]):
1410         (-[WKBrowsingContextController _initWithPageRef:]):
1411         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
1412         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
1413         (-[WKBrowsingContextGroup allowsJavaScript]):
1414         (-[WKBrowsingContextGroup setAllowsJavaScript:]):
1415         (-[WKBrowsingContextGroup allowsPlugIns]):
1416         (-[WKBrowsingContextGroup setAllowsPlugIns:]):
1417         (-[WKBrowsingContextGroup _pageGroupRef]):
1418         * UIProcess/API/mac/WKBrowsingContextGroupInternal.h:
1419         * UIProcess/API/mac/WKConnection.mm:
1420         (-[WKConnection _initWithConnectionRef:]):
1421         * UIProcess/API/mac/WKConnectionInternal.h:
1422         * UIProcess/API/mac/WKProcessGroup.mm:
1423         (didCreateConnection):
1424         (-[WKProcessGroup _contextRef]):
1425         * UIProcess/API/mac/WKProcessGroupInternal.h:
1426         * UIProcess/API/mac/WKView.mm:
1427         (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
1428         (-[WKView browsingContextController]):
1429
1430 2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
1431
1432         WebKit code shouldn't be calling applyCommand directly
1433         https://bugs.webkit.org/show_bug.cgi?id=74337
1434
1435         Reviewed by Darin Adler.
1436
1437         * WebProcess/WebPage/WebPage.cpp:
1438         (WebKit::WebPage::replaceSelectionWithText):
1439
1440 2011-12-12  Sam Weinig  <sam@webkit.org>
1441
1442         Remove unused getter on WKConnection.
1443
1444         Reviewed by Dan Bernstein.
1445
1446         * UIProcess/API/mac/WKConnection.mm:
1447
1448 2011-12-12  Brady Eidson  <beidson@apple.com>
1449
1450         Page cache should support pages with plugins.
1451         <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
1452
1453         Expose a WebKit2 preference for the page cache supporting plugins (on by default).
1454
1455         Reviewed by Anders Carlsson.
1456
1457         * Shared/WebPreferencesStore.h:
1458
1459         * UIProcess/API/C/WKPreferences.cpp:
1460         (WKPreferencesSetPageCacheSupportsPlugins):
1461         (WKPreferencesGetPageCacheSupportsPlugins):
1462         * UIProcess/API/C/WKPreferencesPrivate.h:
1463
1464         * WebProcess/WebPage/WebPage.cpp:
1465         (WebKit::WebPage::updatePreferences):
1466
1467 2011-12-12  Sam Weinig  <sam@webkit.org>
1468
1469         Add WKConnection objective-c wrapper around WKConnectionRef
1470         <rdar://problem/10446092>
1471         https://bugs.webkit.org/show_bug.cgi?id=74324
1472
1473         Reviewed by Anders Carlsson.
1474
1475         * UIProcess/API/mac/WKConnection.h: Added.
1476         * UIProcess/API/mac/WKConnection.mm: Added.
1477         (-[WKConnection dealloc]):
1478         (-[WKConnection connectionRef]):
1479         (-[WKConnection delegate]):
1480         (-[WKConnection setDelegate:]):
1481         (didReceiveMessage):
1482         (didClose):
1483         (setUpClient):
1484         (-[WKConnection initWithConnectionRef:]):
1485         * UIProcess/API/mac/WKConnectionInternal.h: Added.
1486         Added new class.
1487
1488         * UIProcess/API/mac/WKProcessGroup.h:
1489         * UIProcess/API/mac/WKProcessGroup.mm:
1490         (didCreateConnection):
1491         (setUpConnectionClient):
1492         (-[WKProcessGroup initWithInjectedBundleURL:]):
1493         (-[WKProcessGroup delegate]):
1494         (-[WKProcessGroup setDelegate:]):
1495         Add WKProcessGroupDelegate to inform the user of when connections are established.
1496
1497         * WebKit2.xcodeproj/project.pbxproj:
1498         Add new files.
1499
1500 2011-12-12  Anders Carlsson  <andersca@apple.com>
1501
1502         Rename QueueClient::willProcessMessageOnClientRunLoop
1503         https://bugs.webkit.org/show_bug.cgi?id=74325
1504
1505         Reviewed by Sam Weinig.
1506
1507         Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue
1508         and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that
1509         the function is expected to handle the message.
1510
1511         * Platform/CoreIPC/Connection.cpp:
1512         (CoreIPC::Connection::processIncomingMessage):
1513         * Platform/CoreIPC/Connection.h:
1514         * Scripts/webkit2/messages.py:
1515         (async_case_statement):
1516         * Scripts/webkit2/messages_unittest.py:
1517         * WebProcess/WebConnectionToUIProcess.cpp:
1518         (WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue):
1519         * WebProcess/WebConnectionToUIProcess.h:
1520         * WebProcess/WebProcess.cpp:
1521         (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
1522         * WebProcess/WebProcess.h:
1523
1524 2011-12-12  Alexis Menard  <alexis.menard@openbossa.org>
1525
1526         Unreviewed cleanup fix.
1527
1528         Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
1529
1530         Also remove the files that should be removed.
1531
1532         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
1533         * UIProcess/qt/qwkhistory.cpp: Removed.
1534         * UIProcess/qt/qwkhistory.h: Removed.
1535         * UIProcess/qt/qwkhistory_p.h: Removed.
1536
1537 2011-12-12  Michael Bruning  <michael.bruning@nokia.com>
1538
1539         [qt][wk2] Postpone scroll effects when page transition is ongoing.
1540         https://bugs.webkit.org/show_bug.cgi?id=74177
1541
1542         Reviewed by Kenneth Rohde Christiansen.
1543
1544         * UIProcess/API/qt/qquickwebview.cpp:
1545         (QQuickWebViewPrivate::scrollPositionRequested):
1546         * UIProcess/API/qt/qquickwebview_p_p.h:
1547         (QQuickWebViewPrivate::PostTransitionState::apply):
1548
1549 2011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1550
1551         [Qt][WK2] Remove dead code from QtWebPageProxy
1552         https://bugs.webkit.org/show_bug.cgi?id=74296
1553
1554         Reviewed by Andreas Kling.
1555
1556         * UIProcess/qt/QtWebPageProxy.cpp:
1557         * UIProcess/qt/QtWebPageProxy.h:
1558
1559 2011-12-12  Simon Hausmann  <simon.hausmann@nokia.com>
1560
1561         Unreviewed build fix.
1562
1563         Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
1564
1565         * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
1566         (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
1567         (QWebNavigationListModelPrivate::createWebNavigationModel):
1568         (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
1569         (QWebNavigationHistoryPrivate::createHistory):
1570         (QWebNavigationHistoryPrivate::reset):
1571         (QWebNavigationHistoryPrivate::goBackTo):
1572         (QWebNavigationHistoryPrivate::goForwardTo):
1573         (QWebNavigationListModel::QWebNavigationListModel):
1574         (QWebNavigationListModel::~QWebNavigationListModel):
1575         (QWebNavigationListModel::rowCount):
1576         (QWebNavigationListModel::data):
1577         (QWebNavigationHistory::QWebNavigationHistory):
1578         (QWebNavigationHistory::~QWebNavigationHistory):
1579         (QWebNavigationHistory::backItems):
1580         (QWebNavigationHistory::forwardItems):
1581         * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
1582         * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Added.
1583
1584 2011-12-12  Simon Hausmann  <simon.hausmann@nokia.com>
1585
1586         [Qt] Move postMessage/messageReceived APIS to experimental
1587
1588         Reviewed by Tor Arne Vestbø.
1589
1590         * UIProcess/API/qt/qquickwebview.cpp:
1591         (QQuickWebViewPrivate::setPageProxy):
1592         (QQuickWebViewExperimental::QQuickWebViewExperimental):
1593         (QQuickWebViewExperimental::postMessage):
1594         * UIProcess/API/qt/qquickwebview_p.h:
1595         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1596
1597 2011-12-12  Alexis Menard  <alexis.menard@openbossa.org>
1598
1599         [Qt][WK2] History is not accessible in QML.
1600         https://bugs.webkit.org/show_bug.cgi?id=73016
1601
1602         Reviewed by Simon Hausmann.
1603
1604         Remove the old qwkhistory and create QWebNavigationHistory which is QML
1605         friendly with data models you can plug to a view in QML
1606
1607         * Target.pri:
1608         * UIProcess/API/qt/qquickwebview.cpp:
1609         (QQuickWebViewPrivate::didChangeBackForwardList):
1610         (QQuickWebViewExperimental::navigationHistory):
1611         (QQuickWebViewExperimental::goForwardTo):
1612         (QQuickWebViewExperimental::goBackTo):
1613         * UIProcess/API/qt/qquickwebview_p.h:
1614         * UIProcess/API/qt/qquickwebview_p_p.h:
1615         * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
1616         (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
1617         (QWebNavigationListModelPrivate::createWebNavigationModel):
1618         (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
1619         (QWebNavigationHistoryPrivate::createHistory):
1620         (QWebNavigationHistoryPrivate::reset):
1621         (QWebNavigationHistoryPrivate::goBackTo):
1622         (QWebNavigationHistoryPrivate::goForwardTo):
1623         (QWebNavigationListModel::QWebNavigationListModel):
1624         (QWebNavigationListModel::~QWebNavigationListModel):
1625         (QWebNavigationListModel::rowCount):
1626         (QWebNavigationListModel::data):
1627         (QWebNavigationHistory::QWebNavigationHistory):
1628         (QWebNavigationHistory::~QWebNavigationHistory):
1629         (QWebNavigationHistory::backItems):
1630         (QWebNavigationHistory::forwardItems):
1631         * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
1632         * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h.
1633         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
1634         * UIProcess/qt/QtWebPageLoadClient.cpp:
1635         (QtWebPageLoadClient::QtWebPageLoadClient):
1636         (QtWebPageLoadClient::didChangeBackForwardList):
1637         * UIProcess/qt/QtWebPageLoadClient.h:
1638         * UIProcess/qt/QtWebPageProxy.cpp:
1639         (QtWebPageProxy::QtWebPageProxy):
1640         (QtWebPageProxy::~QtWebPageProxy):
1641         (QtWebPageProxy::goBackTo):
1642         (QtWebPageProxy::goForwardTo):
1643         (QtWebPageProxy::navigationHistory):
1644         * UIProcess/qt/QtWebPageProxy.h:
1645         * UIProcess/qt/qwkhistory.cpp: Removed.
1646         * UIProcess/qt/qwkhistory.h: Removed.
1647
1648 2011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1649
1650         [Qt][WK2] Move startDrag implementation to QtWebPageEventHandler
1651         https://bugs.webkit.org/show_bug.cgi?id=73145
1652
1653         Reviewed by Simon Hausmann.
1654
1655         Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag
1656         and call it straight from QtPageClient.
1657
1658         * UIProcess/API/qt/qquickwebview.cpp:
1659         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1660         * UIProcess/qt/QtWebPageEventHandler.cpp:
1661         (dragOperationToDropAction):
1662         (dragOperationToDropActions):
1663         (dropActionToDragOperation):
1664         Now these functions are static inline and not part of QtWebPageEventHandler
1665         anymore.
1666
1667         (QtWebPageEventHandler::QtWebPageEventHandler):
1668         (QtWebPageEventHandler::startDrag):
1669         * UIProcess/qt/QtWebPageEventHandler.h:
1670         * UIProcess/qt/QtWebPageProxy.cpp:
1671         (QtWebPageProxy::startDrag): removed.
1672
1673 2011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1674
1675         [Qt] [WK2] Support customizing popup menus with QML
1676         https://bugs.webkit.org/show_bug.cgi?id=73560
1677
1678         Reviewed by Tor Arne Vestbø.
1679
1680         Add a new property 'itemSelector' to WebView (experimental for now) that contains
1681         the QML component used when it needs to spawn a popup menu. For example, <select>
1682         HTML tag may trigger a popup menu.
1683
1684         When loaded the component will have the 'model' available in its context with two
1685         properties: 'elementRect', describing the position of the element which spawned
1686         the item selector, and 'items', which is a model ready to be used by ListView. The
1687         'model' also have methods to accept/reject the selection.
1688
1689         Option groups are available as a property for each row in the 'items' model. This
1690         can be used together with ListView to create sections, as demonstrated in the
1691         MiniBrowser. QML tests were added as well.
1692
1693         The existing Desktop version is removed since after the Qt5 refactoring isn't
1694         working correctly. Once Qt have its own QML components for popup, we hope to use
1695         it as a default if no other popupMenu is specified.
1696
1697         * Target.pri:
1698         * UIProcess/API/qt/qquickwebview.cpp:
1699         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1700         (QQuickWebViewExperimental::itemSelector):
1701         (QQuickWebViewExperimental::setItemSelector):
1702         * UIProcess/API/qt/qquickwebview_p.h:
1703         * UIProcess/API/qt/qquickwebview_p_p.h:
1704         (QQuickWebViewPrivate::get):
1705         * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Added.
1706         * UIProcess/API/qt/tests/qmltests/common/select.html: Added.
1707         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1708         * UIProcess/qt/QtPageClient.cpp:
1709         * UIProcess/qt/QtWebPageProxy.cpp:
1710         (QtWebPageProxy::createPopupMenuProxy):
1711         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
1712         (WebKit::PopupMenuItemModel::rowCount):
1713         (WebKit::PopupMenuItemModel::Item::Item):
1714         (WebKit::ItemSelectorContextObject::elementRect):
1715         (WebKit::ItemSelectorContextObject::items):
1716         (WebKit::ItemSelectorContextObject::reject):
1717         (WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
1718         (WebKit::ItemSelectorContextObject::accept):
1719         (WebKit::createRoleNamesHash):
1720         (WebKit::PopupMenuItemModel::PopupMenuItemModel):
1721         (WebKit::PopupMenuItemModel::data):
1722         (WebKit::PopupMenuItemModel::select):
1723         (WebKit::PopupMenuItemModel::selectedOriginalIndex):
1724         (WebKit::PopupMenuItemModel::buildItems):
1725         (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
1726         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
1727         (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
1728         (WebKit::WebPopupMenuProxyQt::selectIndex):
1729         (WebKit::WebPopupMenuProxyQt::createItem):
1730         (WebKit::WebPopupMenuProxyQt::createContext):
1731         (WebKit::WebPopupMenuProxyQt::notifyValueChanged):
1732         * UIProcess/qt/WebPopupMenuProxyQt.h:
1733         (WebKit::WebPopupMenuProxyQt::create):
1734         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Removed.
1735         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Removed.
1736
1737 2011-12-11  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1738
1739         [Qt] QQuickWebView missing titleChanged signal tests
1740         https://bugs.webkit.org/show_bug.cgi?id=73923
1741
1742         Reviewed by Simon Hausmann.
1743
1744         Added tests for QQuickWebView tilteChanged signal.
1745
1746         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Added.
1747         * UIProcess/API/qt/tests/qmltests/common/test3.html: Added.
1748         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1749
1750 2011-12-11  Anders Carlsson  <andersca@apple.com>
1751
1752         Crash when trying to garbage collect JavaScript objects
1753         https://bugs.webkit.org/show_bug.cgi?id=74259
1754         <rdar://problem/10556188>
1755
1756         Reviewed by Sam Weinig.
1757
1758         * UIProcess/WebContext.cpp:
1759         (WebKit::WebContext::garbageCollectJavaScriptObjects):
1760         Use sendToAllProcesses which is more correct and also handles m_process being null.
1761
1762 2011-12-11  Andreas Kling  <kling@webkit.org>
1763
1764         WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
1765         <http://webkit.org/b/74209> and <rdar://problem/10438197>
1766
1767         Reviewed by Anders Carlsson.
1768
1769         * Shared/WebEvent.h:
1770         * Shared/WebMouseEvent.cpp:
1771
1772             Remove the WebMouseEvent "copy" constructor that applied a scale factor
1773             to the coordinates of an existing event.
1774
1775         * WebProcess/Plugins/PluginView.cpp:
1776         (WebKit::PluginView::handleEvent):
1777
1778             Pass the WebMouseEvent through to the plugin unmodified.
1779
1780         (WebKit::PluginView::viewGeometryDidChange):
1781
1782             Plumb a complex translate+scale transform through to the plugin, so coordinate
1783             space transformations in will behave correctly with scale factors other than 1.
1784
1785 2011-12-10  Sam Weinig  <sam@webkit.org>
1786
1787         Try to fix the windows build.
1788
1789         * win/WebKit2.vcproj:
1790
1791 2011-12-10  Alexis Menard  <alexis.menard@openbossa.org>
1792
1793         Unreviewed build fix for Qt.
1794
1795         Build error introduced by r102484.
1796
1797         * Target.pri:
1798
1799 2011-12-09  Mark Rowe  <mrowe@apple.com>
1800
1801         Fix the Snow Leopard build some more.
1802
1803         Move the #if to a location where it will do some good.
1804
1805         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
1806
1807 2011-12-09  Mark Rowe  <mrowe@apple.com>
1808
1809         Fix the Snow Leopard build.
1810
1811         Wrap some code that is only applicable to Lion and newer in the appropriate #if's.
1812         
1813         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
1814         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
1815         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1816         (WebKit::ProcessLauncher::launchProcess):
1817
1818 2011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1819
1820         [Qt] request parameter of QQuickWebView::navigationRequested is not a registered type
1821         https://bugs.webkit.org/show_bug.cgi?id=73826
1822
1823         Reviewed by Tor Arne Vestbø.
1824
1825         Adding QWebNavigationRequest by moving NavigationRequest out of QtWebPagePolicyClient.
1826
1827         * Target.pri:
1828         * UIProcess/API/qt/qquickwebview_p.h:
1829         * UIProcess/API/qt/qwebnavigationrequest.cpp: Added.
1830         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
1831         (QWebNavigationRequestPrivate::~QWebNavigationRequestPrivate):
1832         (QWebNavigationRequest::QWebNavigationRequest):
1833         (QWebNavigationRequest::~QWebNavigationRequest):
1834         (QWebNavigationRequest::setAction):
1835         (QWebNavigationRequest::url):
1836         (QWebNavigationRequest::button):
1837         (QWebNavigationRequest::modifiers):
1838         (QWebNavigationRequest::action):
1839         * UIProcess/API/qt/qwebnavigationrequest_p.h: Added.
1840         * UIProcess/qt/QtWebPagePolicyClient.cpp:
1841         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1842         (QtWebPagePolicyClient::decidePolicyForResponse):
1843
1844 2011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1845
1846         [Qt][WK2] Unskip API tests
1847         https://bugs.webkit.org/show_bug.cgi?id=74180
1848
1849         Reviewed by Tor Arne Vestbø.
1850
1851         Unskip API tests for geolocation and javascript dialogs.
1852
1853         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
1854         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1855
1856 2011-12-07  Mark Rowe  <mrowe@apple.com>
1857
1858         <http://webkit.org/b/74061> WebProcess and PluginProcess should inherit environment
1859         variables provided in LC_DYLD_ENVIRONMENT of main executable binary.
1860
1861         Reviewed by Darin Adler.
1862
1863         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: Added.
1864         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: Added.
1865         (WebKit::DynamicLinkerEnvironmentExtractor::DynamicLinkerEnvironmentExtractor):
1866         (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): Parse out the name
1867         and value from the environment string and add an entry to our variable map if the variable
1868         is one that dyld would respect in LC_DYLD_ENVIRONMENT.
1869         (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommand): Look for a LC_DYLD_ENVIRONMENT
1870         load command and extract any environment string that we find within.
1871         (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommands): Iterate over each
1872         load command in the Mach-O file.
1873         (WebKit::DynamicLinkerEnvironmentExtractor::processSingleArchitecture): Determine whether
1874         the Mach-O file is of the correct architecture, and if so then process the load commands
1875         found within.
1876         (WebKit::DynamicLinkerEnvironmentExtractor::processFatFile): Process each architecture of the
1877         Mach-O file in turn.
1878         (WebKit::DynamicLinkerEnvironmentExtractor::getExtractedEnvironmentVariables): Add our
1879         extracted variables to the passed-in EnvironmentVariables object. We skip adding any
1880         variables that already exist so as to allow variables passed in the environment to override
1881         those that we extract from the executable file.
1882         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1883         (WebKit::ProcessLauncher::launchProcess): Extract the environment variables from the
1884         main binary and add them to the launch environment of our subprocess.
1885         * WebKit2.xcodeproj/project.pbxproj:
1886
1887 2011-12-09  Sam Weinig  <sam@webkit.org>
1888
1889         Add WKView implementation for quickLookPreviewItemsAtWindowLocation.
1890         <rdar://problem/10472505>
1891
1892         Reviewed by Dan Bernstein.
1893
1894         * UIProcess/API/mac/WKView.mm:
1895         (-[WKView quickLookPreviewItemsAtWindowLocation:]):
1896
1897 2011-12-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1898
1899         [Qt] Open shared memory files with shm_open.
1900         https://bugs.webkit.org/show_bug.cgi?id=74078
1901
1902         Original patch by Kimmo Kinnunen
1903
1904         Reviewed by Kenneth Rohde Christiansen.
1905
1906         Open shared memory files with shm_open. This uses mount point that is
1907         intended to host shared memory files. Typically this is /dev/shm.
1908
1909         This fixes crashes when filesystem that hosts QDir::temp() is full.
1910
1911         This is also more well-defined with respect to question whether SHM
1912         writes to temp dir would cause unintended wear if hosted on flash drives.
1913
1914         This also fixes performance problems regarding QDir::temp() and
1915         mkostemp(), both of which appear to be long operations.
1916
1917         * Platform/unix/SharedMemoryUnix.cpp:
1918         (WebKit::SharedMemory::create):
1919
1920 2011-12-09  Hugo Parente Lima  <hugo.lima@openbossa.org>
1921
1922         [Qt] Click's count is limited to three continuous clicks.
1923         https://bugs.webkit.org/show_bug.cgi?id=45666
1924
1925         Reviewed by Kenneth Rohde Christiansen.
1926
1927         Make Qt recognize "infinite" continuous mouse clicks.
1928         handleMouseDoubleClickEvent merged into handleMousePressEvent.
1929
1930         * UIProcess/qt/QtWebPageEventHandler.cpp:
1931         (QtWebPageEventHandler::QtWebPageEventHandler):
1932         (QtWebPageEventHandler::handleEvent):
1933         (QtWebPageEventHandler::handleMousePressEvent):
1934         (QtWebPageEventHandler::timerEvent):
1935         * UIProcess/qt/QtWebPageEventHandler.h:
1936
1937 2011-12-09  Sam Weinig  <sam@webkit.org>
1938
1939         Expose a WKConnectionRef which represents the connection to/from the WebProcess/UIProcess
1940         https://bugs.webkit.org/show_bug.cgi?id=74218
1941
1942         Reviewed by Anders Carlsson.
1943
1944         Test: WebKit2.WKConnectionTest in TestWebKitAPI
1945
1946         * Shared/WebConnection.cpp:
1947         (WebKit::WebConnection::forwardDidReceiveMessageToClient):
1948         * Shared/WebConnection.h:
1949         Add helper for connection subclasses to dispatch to the client.
1950
1951         * UIProcess/WebConnectionToWebProcess.cpp:
1952         (WebKit::WebConnectionToWebProcess::didReceiveMessage):
1953         Handle postMessage messages from the WebProcess.
1954
1955         * UIProcess/WebContext.cpp:
1956         (WebKit::WebContext::processDidFinishLaunching):
1957         Dispatch the notification that a connection to the WebProcess has
1958         been established.
1959
1960         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1961         (WKBundleGetApplicationConnection):
1962         * WebProcess/InjectedBundle/API/c/WKBundle.h:
1963         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1964         (WebKit::InjectedBundle::webConnectionToUIProcess):
1965         * WebProcess/InjectedBundle/InjectedBundle.h:
1966         (WebKit::WebProcess::webConnectionToUIProcess):
1967         Add accessor to get the connection to the UIProcess from
1968         the bundle.
1969
1970         * WebProcess/WebConnectionToUIProcess.cpp:
1971         (WebKit::WebConnectionToUIProcess::didReceiveMessage):
1972         Handle postMessage messages from the UIProcess.
1973         * WebProcess/WebProcess.h:
1974
1975 2011-12-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1976
1977         [Qt] Update WebGraphicLayer's child content scale in all child binding method.
1978         https://bugs.webkit.org/show_bug.cgi?id=74101
1979
1980         Reviewed by Noam Rosenthal.
1981
1982         setChildren is currently the only method propagating the parent layer's content
1983         scale to its children. This need to be done for addChild* as well.
1984
1985         This fixes the overlay layer not being rendered with the right scale when created
1986         until the contents scale is modified again.
1987
1988         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1989         (WebCore::WebGraphicsLayer::setChildren):
1990         (WebCore::WebGraphicsLayer::addChild):
1991         (WebCore::WebGraphicsLayer::addChildAtIndex):
1992         (WebCore::WebGraphicsLayer::addChildAbove):
1993         (WebCore::WebGraphicsLayer::addChildBelow):
1994         (WebCore::WebGraphicsLayer::replaceChild):
1995
1996 2011-12-09  Michael Brüning  <michael.bruning@nokia.com>
1997
1998         [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
1999         https://bugs.webkit.org/show_bug.cgi?id=73994
2000
2001         Reviewed by Kenneth Rohde Christiansen.
2002
2003         * UIProcess/API/qt/tests/html/scroll.html: Corrected html and
2004         added some coloring.
2005         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2006         (tst_QQuickWebView::scrollRequest): Corrected calculation
2007         of expected value.
2008
2009 2011-12-09  Simon Hausmann  <simon.hausmann@nokia.com>
2010
2011         [Qt] Fix compilation with newly separated Qt 5 QtQuick module
2012         https://bugs.webkit.org/show_bug.cgi?id=73990
2013
2014         Reviewed by Kenneth Rohde Christiansen, tweaked by Csaba Osztrogonác.
2015
2016         Fix QtQuick includes after move from QtDeclarative to QtQuick.
2017
2018         * UIProcess/API/qt/qquickwebpage.cpp:
2019         * UIProcess/API/qt/qquickwebpage_p.h:
2020         * UIProcess/API/qt/qquickwebview.cpp:
2021         * UIProcess/API/qt/qquickwebview_p.h:
2022         * UIProcess/API/qt/tests/tests.pri: Tests need symbols from QtQuick, so link library.
2023         * UIProcess/API/qt/tests/testwindow.h:
2024         * UIProcess/qt/QtDialogRunner.cpp:
2025         * UIProcess/qt/QtSGTileNode.cpp:
2026         * UIProcess/qt/QtSGTileNode.h:
2027         * UIProcess/qt/QtSGUpdateQueue.cpp:
2028         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2029         * UIProcess/qt/QtWebPageProxy.cpp:
2030         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
2031
2032 2011-12-09  Nayan Kumar K  <nayankk@motorola.com>
2033
2034         [WebKit2][gtk] Re-enable running TestWebKitSettings
2035         https://bugs.webkit.org/show_bug.cgi?id=70135
2036
2037         Reviewed by Martin Robinson.
2038
2039         Re-enable running TestWebKitSettings which was skipped as part
2040         of https://bugs.webkit.org/show_bug.cgi?id=70129 due to the
2041         bug https://bugs.webkit.org/show_bug.cgi?id=70127.
2042
2043         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2044         (testWebKitSettings): Run testWebKitSettings.
2045         (testWebKitSettingsNewWithSettings): Run testWebKitSettingsNewWithSettings.
2046
2047 2011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2048
2049         [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
2050         https://bugs.webkit.org/show_bug.cgi?id=73591
2051
2052         Reviewed by Noam Rosenthal.
2053
2054         Implement deallocation of TextureMapper GL objects when QQuickWebPage paint node deallocated.
2055         Also adds purging GraphicsLayer backing stores on WebProcess side in order to force repainting
2056         when page becomes visible and painting resumes and fixes incorrect initialization of view 
2057         visibility state.
2058
2059         * UIProcess/API/qt/qquickwebpage.cpp:
2060         (QQuickWebPagePrivate::resetPaintNode):
2061         * UIProcess/API/qt/qquickwebview.cpp:
2062         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2063         * UIProcess/API/qt/tests/html/direct-image-compositing.html: Added.
2064         * UIProcess/API/qt/tests/html/resources/simple_image.png: Added.
2065         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2066         (tst_QQuickWebView::showWebView):
2067         (tst_QQuickWebView::removeFromCanvas):
2068         * UIProcess/DrawingAreaProxy.h:
2069         (WebKit::DrawingAreaProxy::layerTreeHostProxy):
2070         * UIProcess/LayerTreeHostProxy.h:
2071         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2072         (WebKit::LayerTreeHostProxy::purgeGLResources):
2073         * UIProcess/qt/QtWebPageProxy.cpp:
2074         (QtWebPageProxy::purgeGLResources):
2075         * UIProcess/qt/QtWebPageProxy.h:
2076         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2077         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2078         (WebCore::WebGraphicsLayer::purgeBackingStores):
2079         (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
2080         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2081         * WebProcess/WebPage/LayerTreeHost.h:
2082         (WebKit::LayerTreeHost::purgeBackingStores):
2083         * WebProcess/WebPage/LayerTreeHost.messages.in:
2084         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2085         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
2086         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
2087         (WebKit::LayerTreeHostQt::purgeBackingStores):
2088         (WebKit::LayerTreeHostQt::recreateBackingStoreIfNeeded):
2089         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2090
2091 2011-12-08  Simon Fraser  <simon.fraser@apple.com>
2092
2093         Forced compositing mode breaks display of full-page PDFs in WK2
2094         https://bugs.webkit.org/show_bug.cgi?id=74122
2095         <rdar://problem/9550059>
2096
2097         Reviewed by Dan Bernstein.
2098         
2099         Full page PDFs are displayed in WK2 in a subview of the WKView. However,
2100         when the WKView is forced to use accelerated compositing, the layer obscures
2101         the PDF subview.
2102         
2103         To fix this we have to drop out of compositing mode when the WKView is showing
2104         a custom representation.
2105
2106         * UIProcess/API/mac/WKView.mm:
2107         (-[WKView _setPageHasCustomRepresentation:]): Tell the drawing area that the view
2108         gained or lost a custom representation.
2109         * UIProcess/DrawingAreaProxy.h:
2110         (WebKit::DrawingAreaProxy::pageCustomRepresentationChanged):
2111         * UIProcess/DrawingAreaProxyImpl.h:
2112         * UIProcess/DrawingAreaProxyImpl.cpp:
2113         (WebKit::DrawingAreaProxyImpl::pageCustomRepresentationChanged): Send a messgae to the web process
2114         to indicate that the custom representation changed.
2115         * WebProcess/WebPage/DrawingArea.h:
2116         (WebKit::DrawingArea::pageCustomRepresentationChanged):
2117         * WebProcess/WebPage/DrawingArea.messages.in:
2118         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2119         (WebKit::DrawingAreaImpl::pageCustomRepresentationChanged): Enter or exit compositing mode
2120         as appropriate when we gain or lost a custom represenetation.
2121         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
2122         * WebProcess/WebPage/DrawingAreaImpl.h:
2123
2124 2011-12-08  Jer Noble  <jer.noble@apple.com>
2125
2126         HiDPI: Switching a video element to full screen in HiDPI mode doesn't fit the screen correctly
2127         https://bugs.webkit.org/show_bug.cgi?id=74119
2128         rdar://problem/10356869
2129
2130         Reviewed by Darin Adler.
2131
2132         Use the Lion-only -[NSWindow convertRectToScreen:] function to convert between window 
2133         coordinates and screen coordinates.
2134
2135         * UIProcess/mac/WKFullScreenWindowController.mm:
2136         (-[WKFullScreenWindowController enterFullScreen:]):
2137
2138 2011-12-08  Csaba Osztrogonác  <ossy@webkit.org>
2139
2140         [Qt][WK2] Unreviewed buildfix after r102352.
2141
2142         * DerivedSources.pri:
2143
2144 2011-12-06  Jon Lee  <jonlee@apple.com>
2145
2146         [WK2] Add permissions support (73960)
2147         https://bugs.webkit.org/show_bug.cgi?id=73960
2148         <rdar://problem/10357008>
2149
2150         Reviewed by Darin Adler.
2151
2152         * DerivedSources.make: Moved notification files to its own directory. Need to add that path.
2153         * WebKit2.xcodeproj/project.pbxproj: New header and impl files.
2154         * Target.pri: Ditto.
2155         * GNUmakefile.am: Ditto.
2156         * win/WebKit2.vcproj: Ditto.
2157         * win/WebKit2Common.vsprops: Add path to Notifications directory.
2158
2159         Implement permission functions, which go through permission request manager.
2160
2161         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
2162         (WebKit::WebNotificationClient::requestPermission):
2163         (WebKit::WebNotificationClient::cancelRequestsForPermission):
2164         (WebKit::WebNotificationClient::checkPermission):
2165
2166         New NotificationPermissionRequestManager to make and cancel permission requests, and to retrieve current
2167         policy.
2168
2169         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Added.
2170         (WebKit::generateRequestID):
2171         (WebKit::NotificationPermissionRequestManager::create):
2172         (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
2173         (WebKit::NotificationPermissionRequestManager::startRequest): Keep track of the provided callback once
2174         policy decision is made.
2175         (WebKit::NotificationPermissionRequestManager::cancelRequest):
2176         (WebKit::NotificationPermissionRequestManager::permissionLevel): Retrieve level through a synchronous
2177         message to the proxy.
2178         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): Invoke the callback.
2179         * WebProcess/Notifications/NotificationPermissionRequestManager.h: Added.
2180         (WebKit::isRequestIDValid): Make sure any provided request IDs are valid.
2181
2182         Added new NotificationPermissionRequest class.
2183
2184         * UIProcess/Notifications/NotificationPermissionRequest.cpp: Added.
2185         (WebKit::NotificationPermissionRequest::create):
2186         (WebKit::NotificationPermissionRequest::NotificationPermissionRequest):
2187         (WebKit::NotificationPermissionRequest::allow): Notify manager of decision.
2188         (WebKit::NotificationPermissionRequest::deny): Ditto.
2189         (WebKit::NotificationPermissionRequest::invalidate): Disassociate with manager.
2190         (WebKit::NotificationPermissionRequest::type):
2191         * UIProcess/Notifications/NotificationPermissionRequest.h: Added.
2192
2193         WKAPI support for NotificationPermissionRequest:
2194
2195         * Shared/API/c/WKBase.h:
2196         * Shared/APIObject.h:
2197         * UIProcess/API/C/WKAPICast.h:
2198         * UIProcess/API/C/WKNotificationPermissionRequest.cpp: Added.
2199         (WKNotificationPermissionRequestGetTypeID):
2200         (WKNotificationPermissionRequestAllow):
2201         (WKNotificationPermissionRequestDeny):
2202         * UIProcess/API/C/WKNotificationPermissionRequest.h: Added.
2203
2204         Other additions to WK API:
2205
2206         * UIProcess/API/C/WKNotificationProvider.h: Added new callback for WKNotificationProviders, to return policy
2207         for a given security origin.
2208         * UIProcess/API/C/WKPage.h: Added new callback to WKPageUIClient to ask user to decide on policy.
2209
2210         New NotificationPermissionRequestManagerProxy to create requests.
2211
2212         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: Added.
2213         (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
2214         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
2215         (WebKit::NotificationPermissionRequestManagerProxy::createRequest):
2216         (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
2217         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: Added.
2218
2219         Added new message to notification manager: NotificationPermissionLevel, to retrieve policy. The current
2220         JS API retrieves the permission synchronously, so the message needs to be sent synchronously also.
2221
2222         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.messages.in.
2223         * UIProcess/Notifications/WebNotificationProvider.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.cpp.
2224         (WebKit::WebNotificationProvider::policyForNotificationPermissionAtOrigin): Added.
2225         * UIProcess/Notifications/WebNotificationProvider.h: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.h.
2226         * UIProcess/WebProcessProxy.cpp:
2227         (WebKit::WebProcessProxy::didReceiveSyncMessage): Boilerplate to forward messages to notification manager.
2228
2229         * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.cpp.
2230         (WebKit::WebNotificationManagerProxy::create):
2231         (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
2232         (WebKit::WebNotificationManagerProxy::invalidate):
2233         (WebKit::WebNotificationManagerProxy::initializeProvider):
2234         (WebKit::WebNotificationManagerProxy::didReceiveMessage):
2235         (WebKit::WebNotificationManagerProxy::didReceiveSyncMessage):
2236         (WebKit::WebNotificationManagerProxy::show):
2237         (WebKit::WebNotificationManagerProxy::cancel):
2238         (WebKit::WebNotificationManagerProxy::didDestroyNotification):
2239         (WebKit::WebNotificationManagerProxy::notificationPermissionLevel): Retrieve the policy from the provider.
2240         (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
2241         (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
2242         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
2243         * UIProcess/Notifications/WebNotificationManagerProxy.h: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.h.
2244         (WebKit::WebNotificationManagerProxy::clearContext):
2245         (WebKit::WebNotificationManagerProxy::type):
2246
2247         Added NotificationPermissionRequestManagerProxy to WebPageProxy, to allow a request for permission to
2248         go through to the UI client. Added new message to WebPageProxy, RequestNotificationPermission.
2249
2250         * UIProcess/WebPageProxy.cpp:
2251         (WebKit::WebPageProxy::WebPageProxy):
2252         (WebKit::WebPageProxy::close): Invalidate pending requests.
2253         (WebKit::WebPageProxy::processDidCrash): Ditto.
2254         (WebKit::WebPageProxy::requestNotificationPermission): Forward request to UI client.
2255         * UIProcess/WebPageProxy.h:
2256         * UIProcess/WebPageProxy.messages.in:
2257
2258         * UIProcess/WebUIClient.cpp:
2259         (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
2260         * UIProcess/WebUIClient.h:
2261
2262         Added new message DidReceiveNotificationPermissionDecision. The WebPage forwards the message to the
2263         permission request manager.
2264
2265         * WebProcess/WebPage/WebPage.messages.in: Added new message DidReceiveNotificationPermissionDecision
2266         * WebProcess/WebPage/WebPage.cpp:
2267         (WebKit::WebPage::notificationPermissionRequestManager): Create manager on request.
2268         (WebKit::WebPage::didReceiveNotificationPermissionDecision):
2269         * WebProcess/WebPage/WebPage.h:
2270
2271         Moving files to Notifications/ subdirectory.
2272
2273         * UIProcess/Notifications/WebNotification.cpp: Moved from Source/WebKit2/UIProcess/WebNotification.cpp.
2274         * UIProcess/Notifications/WebNotification.h: Moved from Source/WebKit2/UIProcess/WebNotification.h.
2275
2276 2011-12-08  Nayan Kumar K  <nayankk@motorola.com>
2277
2278         [WebKit2] Initialize threading in UI process.
2279         https://bugs.webkit.org/show_bug.cgi?id=70127
2280
2281         Reviewed by Anders Carlsson.
2282
2283         * CMakeLists.txt:
2284         * GNUmakefile.am:
2285         * Shared/APIObject.cpp: Added.
2286         (WebKit::APIObject::APIObject):
2287         * Shared/APIObject.h:
2288         * Target.pri:
2289         * WebKit2.xcodeproj/project.pbxproj:
2290         * win/WebKit2.vcproj:
2291
2292 2011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2293
2294         [Qt] [WK2] Directly composited images doesn't render
2295         https://bugs.webkit.org/show_bug.cgi?id=74058
2296
2297         Reviewed by Noam Rosenthal.
2298
2299         Attach image to WebGraphicsLayer even if layerTreeTileClient is not set
2300         and create/assign remote image tiles later during sync.
2301
2302         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2303         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2304         (WebCore::WebGraphicsLayer::setContentsToImage):
2305         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2306
2307 2011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
2308
2309         REGRESSION(r102334): Various Qt WK2 layout tests crash
2310
2311         Reviewed by Tor Arne Vestbø.
2312
2313         * WebProcess/WebPage/WebPage.cpp:
2314         (WebKit::WebPage::editorState): Add missing null pointer check for the editable
2315         element (scope) before calling innerText.
2316
2317 2011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
2318
2319         [Qt] WebKitTestRunner crashes with debug builds
2320         https://bugs.webkit.org/show_bug.cgi?id=74090
2321
2322         Reviewed by Tor Arne Vestbø.
2323
2324         Export private C++ API style platformInitialize function needed
2325         by low-level WTR.
2326
2327         * UIProcess/API/qt/qquickwebview.cpp:
2328         (QQuickWebView::platformInitialize):
2329         * UIProcess/API/qt/qquickwebview_p.h:
2330
2331 2011-12-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2332
2333         [Qt] Fix non-animated pinch-zoom scale commit.
2334         https://bugs.webkit.org/show_bug.cgi?id=74007
2335
2336         Reviewed by Kenneth Rohde Christiansen.
2337
2338         The update deferrer object was only destroyed at the end of the animation
2339         and wouldn't be if the pinch-zoom was ended within legal bounds.
2340         This patch also makes sure that the deferrer isn't destroyed and re-created
2341         once the animation is started if it was already there.
2342
2343         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2344         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
2345         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
2346         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
2347         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
2348         * UIProcess/qt/QtViewportInteractionEngine.h:
2349
2350 2011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
2351
2352         REGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0
2353         https://bugs.webkit.org/show_bug.cgi?id=74077
2354
2355         Reviewed by Kenneth Rohde Christiansen.
2356
2357         Replace Desktop OpenGL idiom of using gl_Vertex with a simple vertex attribute
2358         that's tied to the same register 0 (by being the first in the array).
2359
2360         * UIProcess/API/qt/qquickwebpage.cpp:
2361         (PageProxyMaterialShader::attributeNames): Define "vertex" attribute, which is
2362         bound to register 0, which is the current vertex.
2363         (PageProxyMaterialShader::vertexShader): Use the vertex attribute instead of the
2364         built-in gl_Vertex, which is only present in Desktop GL.
2365
2366 2011-12-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2367
2368         [Qt] Fix the memory leak of AC layer update message contents on the UI process.
2369         https://bugs.webkit.org/show_bug.cgi?id=74012
2370
2371         Reviewed by Noam Rosenthal.
2372
2373         Since the messages didn't have a virtual destructor, the destructor
2374         of child class members wouldn't be called and would cause the all tile
2375         update buffers, contained in a QImage, to be leaked as well.
2376
2377         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2378         (WebKit::LayerTreeMessageToRenderer::~LayerTreeMessageToRenderer):
2379
2380 2011-12-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2381
2382         Upsteam the Qt changes to the EditorState
2383         https://bugs.webkit.org/show_bug.cgi?id=74080
2384
2385         Reviewed by Simon Hausmann.
2386
2387         We are not doing the serialization manually due to it not being a POD
2388         structure anymore in the case of Qt.
2389
2390         * GNUmakefile.am:
2391         * Shared/EditorState.h:
2392         (WebKit::EditorState::EditorState):
2393         * Target.pri:
2394         * WebKit2.xcodeproj/project.pbxproj:
2395         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2396         (WebKit::WebEditorClient::respondToChangedSelection):
2397         * WebProcess/WebPage/WebPage.cpp:
2398         (WebKit::WebPage::editorState):
2399         * win/WebKit2.vcproj:
2400
2401 2011-12-08  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
2402
2403         [Qt] cleanup qmlplugin
2404         https://bugs.webkit.org/show_bug.cgi?id=73834
2405
2406         Reviewed by Tor Arne Vestbø.
2407
2408         Removed empty folder qmlplugin.
2409
2410         * UIProcess/API/qt/qmlplugin: Removed.
2411
2412 2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2413
2414         Unreviewed, rolling out r102323.
2415         http://trac.webkit.org/changeset/102323
2416         https://bugs.webkit.org/show_bug.cgi?id=74069
2417
2418         Caused Chromium and GTK build failure (Requested by bashi on
2419         #webkit).
2420
2421         * win/WebKit2.def:
2422         * win/WebKit2CFLite.def:
2423
2424 2011-12-08  Fady Samuel  <fsamuel@chromium.org>
2425
2426         Move scalePageBy from eventSender to window.internals
2427         https://bugs.webkit.org/show_bug.cgi?id=64512
2428
2429         Reviewed by Simon Fraser.
2430
2431         * win/WebKit2.def:
2432         * win/WebKit2CFLite.def:
2433
2434 2011-12-07  Mark Rowe  <mrowe@apple.com>
2435
2436         Fix the 32-bit build.
2437
2438         Ignore some warnings that only occur in 32-bit.
2439
2440         * PluginProcess/mac/PluginProcessShim.mm:
2441         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
2442         (WebKit::NetscapePluginModule::tryLoad):
2443
2444 2011-12-07  Balazs Kelemen  <kbalazs@webkit.org>
2445
2446         ShareableBitmapGtk.cpp has no reason to exist
2447         https://bugs.webkit.org/show_bug.cgi?id=74011
2448
2449         Reviewed by Martin Robinson.
2450
2451         Remove this file since the real implementation is
2452         exists in ShareableBitmapCairo.cpp.
2453
2454         * Shared/gtk/ShareableBitmapGtk.cpp: Removed.
2455
2456 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
2457
2458         Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
2459         https://bugs.webkit.org/show_bug.cgi?id=73986
2460
2461         Reviewed by Kenneth Rohde Christiansen.
2462
2463         * UIProcess/WebContext.cpp:
2464         (WebKit::WebContext::WebContext):
2465         * WebProcess/WebProcess.cpp:
2466         (WebKit::WebProcess::WebProcess):
2467
2468 2011-12-07  Zalan Bujtas  <zbujtas@gmail.com>
2469
2470         [Qt][WK2] Enable page cache.
2471         https://bugs.webkit.org/show_bug.cgi?id=73938
2472
2473         Enable WebCore's page cache for Qt port by setting its capacity to 20. This is temporary 
2474         and will be replaced by a computed value based on CacheMode. See bug#73918.
2475
2476         Reviewed by Simon Hausmann.
2477
2478         * WebProcess/qt/WebProcessQt.cpp:
2479         (WebKit::WebProcess::platformSetCacheModel):
2480
2481 2011-12-06  Andy Estes  <aestes@apple.com>
2482
2483         REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled
2484         https://bugs.webkit.org/show_bug.cgi?id=73955
2485
2486         Reviewed by Anders Carlsson.
2487
2488         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2489         (WebKit::LayerTreeHostCA::initialize): m_webPage->drawingArea() will be
2490         null here if we are initializing the layer tree host in DrawingArea's
2491         ctor (as is the case when accelerated drawing is enabled), before
2492         WebPage has set its m_drawingArea pointer. Since the layer tree cannot
2493         have been frozen at this point, it's safe to enable layer flush
2494         scheduling if drawingArea() is null.
2495
2496 2011-12-06  Alexander Færøy  <alexander.faeroy@nokia.com>
2497
2498         [Qt] Fix assertion in QtViewportInteractionEngine.cpp:468
2499         https://bugs.webkit.org/show_bug.cgi?id=73914
2500
2501         Reviewed by Kenneth Rohde Christiansen.
2502
2503         m_suspendCount should always be zero when a pinch gesture is started.
2504
2505         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2506         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2507
2508 2011-12-06  Simon Fraser  <simon.fraser@apple.com>
2509
2510         UI process crashes if the Web Process crashes on launch
2511         https://bugs.webkit.org/show_bug.cgi?id=73943
2512
2513         Reviewed by Sam Weinig.
2514         
2515         When the Web Process crashes on launch, the WebConnectionToWebProcess
2516         object was getting deleted inside of didClose. Add a protector to
2517         prevent this.
2518
2519         * UIProcess/WebConnectionToWebProcess.cpp:
2520         (WebKit::WebConnectionToWebProcess::didClose):
2521
2522 2011-12-06  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2523
2524         [Qt] Fix page overlay rendering with AC.
2525         https://bugs.webkit.org/show_bug.cgi?id=73935
2526
2527         Reviewed by Noam Rosenthal.
2528
2529         The inspector node highlight would display old highlights as well
2530         since the overlay is normally rendered right after the page on top
2531         of the same graphics context.
2532
2533         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2534         (WebKit::LayerTreeHostQt::paintContents):
2535
2536 2011-12-06  Michael Brüning  <michael.bruning@nokia.com>
2537
2538         [qt][wk2] Tests of QQuickWebView assert in debug builds when destroying QQuickWebViewPrivate 
2539         https://bugs.webkit.org/show_bug.cgi?id=73907 
2540
2541         Reviewed by Kenneth Rohde Christiansen.
2542
2543         * UIProcess/API/qt/qquickwebview.cpp: Disconnect signals from
2544         QtViewportInteractionEngine in ~QQuickWebViewPrivate.
2545         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
2546         * UIProcess/API/qt/qquickwebview_p_p.h: Remove empty inline implementation of ~QQuickWebViewPrivate.
2547
2548 2011-12-06  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2549
2550         [Qt] Add initial support for focusing when entering edit mode.
2551
2552         Reviewed by Simon Hausmann.
2553
2554         Next step would be to properly upstream our EditorState code.
2555
2556         * UIProcess/PageClient.h:
2557         * UIProcess/WebPageProxy.cpp:
2558         (WebKit::WebPageProxy::focusEditableArea):
2559         * UIProcess/WebPageProxy.h:
2560         * UIProcess/WebPageProxy.messages.in:
2561         * UIProcess/qt/QtPageClient.cpp:
2562         (QtPageClient::focusEditableArea):
2563         * UIProcess/qt/QtPageClient.h:
2564         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2565         (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
2566         (WebKit::QtViewportInteractionEngine::itemRectFromCSS):
2567         (WebKit::QtViewportInteractionEngine::focusEditableArea):
2568         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
2569         * UIProcess/qt/QtViewportInteractionEngine.h:
2570         * UIProcess/qt/QtWebPageEventHandler.cpp:
2571         (QtWebPageEventHandler::focusEditableArea):
2572         * UIProcess/qt/QtWebPageEventHandler.h:
2573         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2574         (WebKit::WebEditorClient::respondToChangedSelection):
2575         (WebKit::WebEditorClient::setInputMethodState):
2576
2577 2011-12-06  Alexander Færøy  <alexander.faeroy@nokia.com>
2578
2579         [Qt] Fix assertion in QtWebPageEventHandler.cpp
2580         https://bugs.webkit.org/show_bug.cgi?id=73908
2581
2582         Reviewed by Kenneth Rohde Christiansen.
2583
2584         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2585         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2586
2587 2011-12-05  Igor Oliveira  <igor.oliveira@openbossa.org>
2588
2589         [Qt][WK2] Frame is not being showed in the screen when frameLoadCompleted is called
2590         https://bugs.webkit.org/show_bug.cgi?id=73850
2591
2592         WebKit2 has a mechanism to prevent  the composited layer tree of the outgoing page 
2593         from being torn down or updated until the incoming page has layout. However, for simple 
2594         pages, when the frame is loaded the page is not rendered in the screen.
2595
2596         This patch fixes this bug calling LayerTreeHostQt::scheduleLayerFlush when m_layerFlushSchedulingEnabled
2597         is true.
2598
2599         Reviewed by Noam Rosenthal.
2600
2601         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2602         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
2603
2604 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
2605
2606         AX: WK2: AX hierarchy is not restored after web process crash
2607         https://bugs.webkit.org/show_bug.cgi?id=73870
2608
2609         The accessibility tokens that need to be sent between UI and Web process
2610         were not being sent by the UI process -> the web process when the web
2611         process crashed.
2612
2613         Reviewed by Darin Adler.
2614
2615         * UIProcess/API/mac/WKView.mm:
2616         (-[WKView viewDidMoveToWindow]):
2617         (-[WKView _accessibilityRegisterUIProcessTokens]):
2618         (-[WKView _didRelaunchProcess]):
2619
2620 2011-12-05  Alexey Proskuryakov  <ap@apple.com>
2621
2622         REGRESSION: Full keyboard access doesn't work if enabled before Safari started
2623         https://bugs.webkit.org/show_bug.cgi?id=73864
2624
2625         Reviewed by Darin Adler.
2626
2627         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Actually use the
2628         parameter passed at process creation.
2629
2630 2011-12-05  Anders Carlsson  <andersca@apple.com>
2631
2632         Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
2633         https://bugs.webkit.org/show_bug.cgi?id=73862
2634
2635         Reviewed by Andy Estes.
2636
2637         Change LayerTreeHostCAMac::flushLayers to always return true and remove the call to LayerFlushScheduler::invalidate.
2638
2639         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2640         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2641         (WebKit::LayerTreeHostCAMac::flushLayers):
2642         (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
2643
2644 2011-12-05  Michael Brüning  <michael.bruning@nokia.com>
2645
2646         [Qt] Rename QQuickWebView::canStop property to just loading 
2647         https://bugs.webkit.org/show_bug.cgi?id=73813
2648
2649         Reviewed by Kenneth Rohde Christiansen.
2650
2651         Renamed canStop property of QQuickWebView and QtWebPageProxy
2652         to loading and updated tests.
2653
2654         * UIProcess/API/qt/qquickwebview.cpp:
2655         (QQuickWebView::loading):
2656         * UIProcess/API/qt/qquickwebview_p.h:
2657         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2658         (tst_QQuickWebView::navigationStatusAtStartup):
2659         (LoadStartedCatcher::onLoadStarted):
2660         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
2661         * UIProcess/qt/QtWebPageProxy.cpp:
2662         (QtWebPageProxy::loading):
2663         * UIProcess/qt/QtWebPageProxy.h:
2664
2665 2011-12-03  Jer Noble  <jer.noble@apple.com>
2666
2667         <video> elements should disable the system and display sleep when playing on OS X.
2668         https://bugs.webkit.org/show_bug.cgi?id=73730
2669         <rdar://problem/9502155>
2670
2671         Reviewed by Alexey Proskuryakov.
2672
2673         Allow the WebProcess to make connections to the PowerManagement control mach server.
2674
2675         * WebProcess/com.apple.WebProcess.sb:
2676
2677 2011-12-04  Sam Weinig  <sam@webkit.org>
2678
2679         Move code for connections to/from the UIProcess/WebProcess into WebConnection subclasses
2680         https://bugs.webkit.org/show_bug.cgi?id=73779
2681
2682         Reviewed by Anders Carlsson.
2683
2684         To allow for API objects representing the connection going to/from the UIProcess/WebProcess,
2685         this patch separates out the connections into WebConnection subclasses.  It does not yet
2686         expose a way to access these connections, and is therefore not yet testable.
2687
2688         * GNUmakefile.am:
2689         * Target.pri:
2690         * WebKit2.xcodeproj/project.pbxproj:
2691         * win/WebKit2.vcproj:
2692         Add new files.
2693
2694         * Platform/CoreIPC/MessageID.h:
2695         * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Added.
2696         Add a new message type for communicating between WebConnections.
2697
2698         * Shared/ChildProcess.h:
2699         Make helper public so that WebConnectionToWebProcess can use it.
2700
2701         * UIProcess/WebConnectionToWebProcess.cpp: Added.
2702         (WebKit::WebConnectionToWebProcess::create):
2703         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
2704         (WebKit::WebConnectionToWebProcess::invalidate):
2705         (WebKit::WebConnectionToWebProcess::postMessage):
2706         (WebKit::WebConnectionToWebProcess::didReceiveMessage):
2707         (WebKit::WebConnectionToWebProcess::didReceiveSyncMessage):
2708         (WebKit::WebConnectionToWebProcess::didClose):
2709         (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
2710         (WebKit::WebConnectionToWebProcess::syncMessageSendTimedOut):
2711         (WebKit::WebConnectionToWebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
2712         * UIProcess/WebConnectionToWebProcess.h: Added.
2713         (WebKit::WebConnectionToWebProcess::connection):
2714         * UIProcess/WebProcessProxy.cpp:
2715         (WebKit::WebProcessProxy::sendMessage):
2716         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
2717         (WebKit::WebProcessProxy::didFinishLaunching):
2718         * UIProcess/WebProcessProxy.h:
2719         (WebKit::WebProcessProxy::connection):
2720         (WebKit::WebProcessProxy::webConnection):
2721         (WebKit::WebProcessProxy::sendSync):
2722         Thread connection code through WebConnectionToWebProcess.
2723
2724         * WebProcess/WebConnectionToUIProcess.cpp: Added.
2725         (WebKit::WebConnectionToUIProcess::create):
2726         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
2727         (WebKit::WebConnectionToUIProcess::invalidate):
2728         (WebKit::WebConnectionToUIProcess::postMessage):
2729         (WebKit::WebConnectionToUIProcess::didReceiveMessage):
2730         (WebKit::WebConnectionToUIProcess::didReceiveSyncMessage):
2731         (WebKit::WebConnectionToUIProcess::didClose):
2732         (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
2733         (WebKit::WebConnectionToUIProcess::syncMessageSendTimedOut):
2734         (WebKit::WebConnectionToUIProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
2735         (WebKit::WebConnectionToUIProcess::willProcessMessageOnClientRunLoop):
2736         * WebProcess/WebConnectionToUIProcess.h: Added.
2737         (WebKit::WebConnectionToUIProcess::connection):
2738         * WebProcess/WebProcess.cpp:
2739         (WebKit::WebProcess::initialize):
2740         (WebKit::WebProcess::addVisitedLink):
2741         (WebKit::WebProcess::shouldTerminate):
2742         (WebKit::WebProcess::terminate):
2743         (WebKit::WebProcess::removeWebFrame):
2744         (WebKit::WebProcess::getSitesWithPluginData):
2745         (WebKit::WebProcess::clearPluginSiteData):
2746         (WebKit::WebProcess::getWebCoreStatistics):
2747         * WebProcess/WebProcess.h:
2748         (WebKit::WebProcess::connection):
2749         Thread connection code through WebConnectionToUIProcess.
2750
2751 2011-12-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2752
2753         [Qt] Remove viewModeChanged() from QQuickWebView
2754         https://bugs.webkit.org/show_bug.cgi?id=73828
2755
2756         Reviewed by Kenneth Rohde Christiansen.
2757
2758         * UIProcess/API/qt/qquickwebview_p.h: viewModeChanged is not used
2759         and we should not expose it.
2760
2761 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
2762
2763         WebKit2 part of: Add WebKit preferences for text track settings
2764         https://bugs.webkit.org/show_bug.cgi?id=73721
2765
2766         Reviewed by John Sullivan.
2767
2768         * Shared/WebPreferencesStore.h: Declared shouldDisplaySubtitles, shouldDisplayCaptions, and
2769         shouldDisplayTextDescriptions properties with macros. All default to false.
2770
2771         * UIProcess/API/C/WKPreferences.cpp:
2772         (WKPreferencesSetShouldDisplaySubtitles): Added.
2773         (WKPreferencesGetShouldDisplaySubtitles): Ditto.
2774         (WKPreferencesSetShouldDisplayCaptions): Ditto.
2775         (WKPreferencesGetShouldDisplayCaptions): Ditto.
2776         (WKPreferencesSetShouldDisplayTextDescriptions): Ditto.
2777         (WKPreferencesGetShouldDisplayTextDescriptions): Ditto.
2778         * UIProcess/API/C/WKPreferences.h:
2779
2780         * WebProcess/WebPage/WebPage.cpp:
2781         (WebKit::WebPage::updatePreferences): Updates WebCore settings from WebKit2 prefs.
2782
2783 2011-12-04  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
2784
2785         [Qt] cleanup qmltests.pro
2786         https://bugs.webkit.org/show_bug.cgi?id=73718
2787
2788         Reviewed by Simon Hausmann.
2789
2790         Removed unused file WebView/tst_loadZeroSizeView.qml and reordered file list.
2791
2792         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2793
2794 2011-12-04  Philippe Normand  <pnormand@igalia.com>
2795
2796         [WK2][GTK] enable-fullscreen WebSettings
2797         https://bugs.webkit.org/show_bug.cgi?id=73774
2798
2799         Reviewed by Martin Robinson.
2800
2801         * UIProcess/API/gtk/WebKitSettings.cpp:
2802         (webKitSettingsSetProperty):
2803         (webKitSettingsGetProperty):
2804         (webkit_settings_class_init):
2805         (webkit_settings_set_enable_fullscreen):
2806         (webkit_settings_get_enable_fullscreen):
2807         * UIProcess/API/gtk/WebKitSettings.h:
2808         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2809         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2810         (testWebKitSettings):
2811
2812 2011-12-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2813
2814         [Qt] [WK2] MiniBrowser --touch asserts in debug build
2815         https://bugs.webkit.org/show_bug.cgi?id=73697
2816
2817         Reviewed by Eric Seidel.
2818
2819         Add missing guard to QtViewportInteractionEngine::itemSizeChanged().
2820
2821         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2822         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
2823
2824 2011-12-02  Fady Samuel  <fsamuel@chromium.org>
2825
2826         When page scaling is in use position:fixed has incorrect results
2827         https://bugs.webkit.org/show_bug.cgi?id=68617
2828
2829         Reviewed by Simon Fraser.
2830
2831         * win/WebKit2.def:
2832         * win/WebKit2CFLite.def:
2833
2834 2011-12-02  Alexey Proskuryakov  <ap@apple.com>
2835
2836         Update sandbox rules
2837         https://bugs.webkit.org/show_bug.cgi?id=73675
2838         <rdar://problem/9276430>
2839
2840         Reviewed by Sam Weinig.
2841
2842         * WebProcess/com.apple.WebProcess.sb:
2843
2844 2011-12-02  Andy Estes  <aestes@apple.com>
2845
2846         WebKit2: Freeze the state of the layer tree until frame load completion if incremental rendering is suppressed
2847         https://bugs.webkit.org/show_bug.cgi?id=73641
2848
2849         Reviewed by Darin Adler.
2850
2851         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2852         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): Do not
2853         un-freeze the layer tree state if incremental rendering is suppressed.
2854         * WebProcess/WebPage/DrawingArea.h:
2855         (WebKit::DrawingArea::layerTreeStateIsFrozen): Add a getter for
2856         m_layerTreeStateIsFrozen.
2857         * WebProcess/WebPage/DrawingAreaImpl.h:
2858         (WebKit::DrawingAreaImpl::layerTreeStateIsFrozen): Ditto.
2859         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2860         (WebKit::LayerTreeHostCA::initialize): WebFrameLoaderClient might have
2861         tried to freeze the state of the layer tree before the layer tree host
2862         was created. When creating the layer tree host, only schedule a layer
2863         flush if the layer tree state isn't frozen.
2864
2865 2011-12-02  Nayan Kumar K  <nayankk@motorola.com>
2866
2867         [WebKit2][gtk] Add 'enable-dns-prefetching' property to WebKitSettings
2868         https://bugs.webkit.org/show_bug.cgi?id=73414
2869
2870         Reviewed by Martin Robinson.
2871
2872         * UIProcess/API/gtk/WebKitSettings.cpp:
2873         (webKitSettingsSetProperty): Add new set function.
2874         (webKitSettingsGetProperty): Add new get function.
2875         (webkit_settings_class_init): Register new property.
2876         (webkit_settings_get_enable_dns_prefetching): API to get 'enable-dns-prefetching' property.
2877         (webkit_settings_set_enable_dns_prefetching): API to set 'enable-dns-prefetching' property.
2878         * UIProcess/API/gtk/WebKitSettings.h: Expose new public API's.
2879         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new APIs to gtk-doc sections file.
2880         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2881         (testWebKitSettings): Add new tests.
2882
2883 2011-12-02  Andras Becsi  <andras.becsi@nokia.com>
2884
2885         [Qt][WK2] Set event timestamps on custom input events
2886
2887         Reviewed by Simon Hausmann.
2888
2889         Since r101791 WebEventFactoryQt uses input event timestamps for WebEvents,
2890         thus set the timestamp on the custom events as well.
2891
2892         * UIProcess/qt/QtWebPageEventHandler.cpp:
2893         (QtWebPageEventHandler::handleHoverLeaveEvent):
2894         (QtWebPageEventHandler::handleHoverMoveEvent):
2895         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
2896         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
2897
2898 2011-12-02  Andras Becsi  <andras.becsi@nokia.com>
2899
2900         [Qt] [WK2] Use input event timestamps in WebEvents if available
2901         https://bugs.webkit.org/show_bug.cgi?id=73647
2902
2903         Reviewed by Simon Hausmann.
2904
2905         Qt5 input events already have a native timestamp, use this timestamp
2906         in WebEventFactory instead of WTF::currentTime if it is available.
2907
2908         * Shared/qt/WebEventFactoryQt.cpp:
2909         (WebKit::currentTimeForEvent):
2910         (WebKit::WebEventFactory::createWebMouseEvent):
2911         (WebKit::WebEventFactory::createWebWheelEvent):
2912         (WebKit::WebEventFactory::createWebKeyboardEvent):
2913         (WebKit::WebEventFactory::createWebTouchEvent):
2914         * Shared/qt/WebEventFactoryQt.h:
2915
2916 2011-12-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2917
2918         [Qt][WK2] Split the QtWebPageProxy into PageClient and QtPageProxy
2919         https://bugs.webkit.org/show_bug.cgi?id=66668
2920
2921         Reviewed by Simon Hausmann.
2922
2923         Split QtPageClient out of QtWebPageProxy.
2924         This client will live in QQuickWebViewPrivate and communicate directly
2925         with QtWebPageProxy and QtWebPageEventHandler. The functions that need
2926         anything else than these entities will need to call the proper implementation
2927         through QtWebPageProxy itself.
2928         With this we have a clear separation between PageClient and PageProxy, having
2929         two well defined and separated entities for hooking our clients with our API layer (QtWebPageProxy)
2930         and for hooking the WebPageProxy with our client implementations (QtPageClient).
2931         As a positive side-effect we have a cleaner QtWebPageProxy.
2932
2933         * Target.pri:
2934         * UIProcess/API/qt/qquickwebview.cpp:
2935         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2936         * UIProcess/API/qt/qquickwebview_p_p.h:
2937         * UIProcess/qt/QtPageClient.cpp: Added.
2938         (QtPageClient::QtPageClient):
2939         (QtPageClient::~QtPageClient):
2940         (QtPageClient::createDrawingAreaProxy):
2941         (QtPageClient::setViewNeedsDisplay):
2942         (QtPageClient::pageDidRequestScroll):
2943         (QtPageClient::processDidCrash):
2944         (QtPageClient::didRelaunchProcess):
2945         (QtPageClient::didChangeContentsSize):
2946         (QtPageClient::didChangeViewportProperties):
2947         (QtPageClient::startDrag):
2948         (QtPageClient::handleDownloadRequest):
2949         (QtPageClient::setCursor):
2950         (QtPageClient::setCursorHiddenUntilMouseMoves):
2951         (QtPageClient::toolTipChanged):
2952         (QtPageClient::registerEditCommand):
2953         (QtPageClient::clearAllEditCommands):
2954         (QtPageClient::canUndoRedo):
2955         (QtPageClient::executeUndoRedo):
2956         (QtPageClient::convertToDeviceSpace):
2957         (QtPageClient::convertToUserSpace):
2958         (QtPageClient::screenToWindow):
2959         (QtPageClient::windowToScreen):
2960         (QtPageClient::createPopupMenuProxy):
2961         (QtPageClient::createContextMenuProxy):
2962         (QtPageClient::flashBackingStoreUpdates):
2963         (QtPageClient::didFindZoomableArea):
2964         (QtPageClient::didReceiveMessageFromNavigatorQtObject):
2965         (QtPageClient::doneWithTouchEvent):
2966         (QtPageClient::displayView):
2967         (QtPageClient::scrollView):
2968         (QtPageClient::viewSize):
2969         (QtPageClient::isViewWindowActive):
2970         (QtPageClient::isViewFocused):
2971         (QtPageClient::isViewVisible):
2972         (QtPageClient::isViewInWindow):
2973         (QtPageClient::enterAcceleratedCompositingMode):
2974         (QtPageClient::exitAcceleratedCompositingMode):
2975         * UIProcess/qt/QtPageClient.h: Added.
2976         (QtPageClient::pageClosed):
2977         (QtPageClient::doneWithKeyEvent):
2978         (QtPageClient::setFindIndicator):
2979         (QtPageClient::didCommitLoadForMainFrame):
2980         (QtPageClient::didFinishLoadingDataForCustomRepresentation):
2981         (QtPageClient::customRepresentationZoomFactor):
2982         (QtPageClient::setCustomRepresentationZoomFactor):
2983         (QtPageClient::didChangeScrollbarsForMainFrame):
2984         (QtPageClient::findStringInCustomRepresentation):
2985         (QtPageClient::countStringMatchesInCustomRepresentation):
2986         (QtPageClient::setEventHandler):
2987         (QtPageClient::setPageProxy):
2988         * UIProcess/qt/QtWebPageProxy.cpp:
2989         (QtWebPageProxy::QtWebPageProxy):
2990         * UIProcess/qt/QtWebPageProxy.h:
2991
2992 2011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2993
2994         [Qt] Do not apply the transition state before we are unsuspended
2995
2996         Reviewed by Simon Hausmann.
2997
2998         Also remove an accessor in the private, which is unneeded as
2999         everything in the private class is supposed to be public or
3000         only used by the private itself.
3001
3002         * UIProcess/API/qt/qquickwebview.cpp:
3003         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3004         (QQuickWebViewPrivate::loadDidCommit):
3005         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
3006         (QQuickWebViewPrivate::_q_suspend):
3007         (QQuickWebViewPrivate::_q_resume):
3008         (QQuickWebViewPrivate::didChangeContentsSize):
3009         (QQuickWebViewPrivate::didChangeViewportProperties):
3010         * UIProcess/API/qt/qquickwebview_p_p.h:
3011
3012 2011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3013
3014         Unreviewed buildfix, add missing include.
3015
3016         * WebProcess/Notifications/WebNotificationManager.cpp:
3017
3018 2011-12-02  Hajime Morrita  <morrita@chromium.org>
3019
3020         Unreviewed, rolling out r101751 and r101775.
3021         http://trac.webkit.org/changeset/101751
3022         http://trac.webkit.org/changeset/101775
3023         https://bugs.webkit.org/show_bug.cgi?id=73191
3024
3025         breaks Windows build
3026
3027         * config.h:
3028
3029 2011-12-02  Carlos Garcia Campos  <cgarcia@igalia.com>
3030
3031         Unreviewed. Fix GTK+ build after r101750.
3032
3033         * GNUmakefile.am: Add missing files.
3034
3035 2011-12-02  Gustavo Noronha Silva  <gns@gnome.org>
3036
3037         Unreviewed. GTK+ build fix.
3038
3039         * GNUmakefile.am:
3040
3041 2011-12-02  Zalan Bujtas  <zbujtas@gmail.com>
3042
3043         [Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test is exercising zero sized views.
3044         https://bugs.webkit.org/show_bug.cgi?id=73441
3045
3046         Do not assert on empty available size, but return default constrain values instead.
3047
3048         Reviewed by Kenneth Rohde Christiansen.
3049
3050         * UIProcess/API/qt/qquickwebview.cpp:
3051         (QQuickWebViewPrivate::computeViewportConstraints):
3052         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3053         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
3054
3055 2011-12-01  Hajime Morrita  <morrita@chromium.org>
3056
3057         JS_INLINE and WTF_INLINE should be visible from WebCore
3058         https://bugs.webkit.org/show_bug.cgi?id=73191
3059
3060         Reviewed by Kevin Ollivier.
3061
3062         Removed macro definitions which is now provided by Platform.h
3063
3064         * config.h:
3065
3066 2011-12-01  Jon Lee  <jonlee@apple.com>
3067
3068         [WK2] Add further support for notifications
3069         https://bugs.webkit.org/show_bug.cgi?id=73572
3070         <rdar://problem/10472195>
3071
3072         Reviewed by Darin Adler.
3073
3074         * WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks
3075         from the notification platform.
3076
3077         * DerivedSources.make: Add WebNotificationManager.
3078         * DerivedSources.pri: Ditto.
3079         * Platform/CoreIPC/MessageID.h: Add message class.
3080         * WebProcess/WebProcess.cpp:
3081         (WebKit::WebProcess::didReceiveMessage): Forward calls to WebNotificationManager when needed.
3082         * WebKit2.xcodeproj/project.pbxproj: Add new message files.
3083         * win/WebKit2.vcproj: Adding new files to project.
3084         * win/WebKit2Common.vsprops: Add Notifications to include paths
3085
3086         * UIProcess/WebNotification.h: Add and expose internal ID of each notification sent to the platform.
3087         (WebKit::WebNotification::create):
3088         (WebKit::WebNotification::notificationID):
3089         (WebKit::isNotificationIDValid): Checks that the ID is not a value that might trip up the HashMaps used
3090         for mapping IDs to notifications.
3091         * UIProcess/WebNotification.cpp:
3092         (WebKit::WebNotification::WebNotification):
3093         (WebKit::WebNotification::encode):
3094         (WebKit::WebNotification::decode):
3095         * UIProcess/API/C/WKNotification.h: Expose notification ID to WKAPI.
3096         * UIProcess/API/C/WKNotification.cpp:
3097         (WKNotificationGetNotificationID):
3098
3099         * UIProcess/WebNotificationManagerProxy.h: Add callbacks for dispatching events back to the notification.
3100         * UIProcess/WebNotificationManagerProxy.cpp:
3101         (WebKit::WebNotificationManagerProxy::invalidate): Remove manager.
3102         (WebKit::WebNotificationManagerProxy::show): Add manager prior to showing.
3103         (WebKit::WebNotificationManagerProxy::cancel): Add manager prior to canceling.
3104         (WebKit::WebNotificationManagerProxy::didDestroyNotification):
3105         (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
3106         (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
3107         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
3108         * UIProcess/API/C/WKNotificationManager.h:
3109         * UIProcess/API/C/WKNotificationManager.cpp:
3110         (WKNotificationManagerProviderDidShowNotification):
3111         (WKNotificationManagerProviderDidClickNotification):
3112         (WKNotificationManagerProviderDidCloseNotifications):
3113
3114         * UIProcess/WebNotificationProvider.h:
3115         * UIProcess/WebNotificationProvider.cpp:
3116         (WebKit::WebNotificationProvider::show):
3117         (WebKit::WebNotificationProvider::cancel):
3118         (WebKit::WebNotificationProvider::didDestroyNotification):
3119         (WebKit::WebNotificationProvider::addNotificationManager):
3120         (WebKit::WebNotificationProvider::removeNotificationManager):
3121         * UIProcess/API/C/WKNotificationProvider.h: Expose add/removeNotificationManager calls
3122
3123         * WebProcess/Notifications/WebNotificationManager.h: Add bookkeeping to keep track of notification IDs with
3124         Notification instances.
3125         * WebProcess/Notifications/WebNotificationManager.cpp:
3126         (WebKit::generateNotificationID):
3127         (WebKit::WebNotificationManager::didReceiveMessage):
3128         (WebKit::WebNotificationManager::show):
3129         (WebKit::WebNotificationManager::cancel):
3130         (WebKit::WebNotificationManager::didDestroyNotification):
3131         (WebKit::WebNotificationManager::didShowNotification):
3132         (WebKit::WebNotificationManager::didClickNotification):
3133         (WebKit::WebNotificationManager::didCloseNotifications):
3134
3135         * UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message.
3136         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
3137         (WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented.
3138
3139 2011-12-01  Goutham J  <gouthamj@motorola.com>
3140
3141         [WEBKIT2] Fix for compilation warnings in WebContext.cpp
3142         https://bugs.webkit.org/show_bug.cgi?id=69080
3143
3144         Fix compilation warning in WebKit2 builds.
3145
3146         Reviewed by Hajime Morita.
3147
3148         * UIProcess/WebContext.cpp:
3149         (WebKit::WebContext::processDidFinishLaunching):
3150         (WebKit::WebContext::startMemorySampler):
3151
3152 2011-12-01  Beth Dakin  <bdakin@apple.com>
3153
3154         https://bugs.webkit.org/show_bug.cgi?id=73592
3155         REGRESSION (r100483): Can't drag out of background window
3156         -and corresponding-
3157         <rdar://problem/10508870>
3158
3159         Reviewed by Darin Adler.
3160
3161         If the mouse is pressed we need to do a full, normal hit test even if the window 
3162         is not active. 
3163         * WebProcess/WebPage/WebPage.cpp:
3164         (WebKit::WebPage::mouseEvent):
3165         (WebKit::WebPage::mouseEventSyncForTesting):
3166
3167 2011-12-01  Martin Robinson  <mrobinson@igalia.com>
3168
3169         [GTK] Add a helper function to find the current executable's path
3170         https://bugs.webkit.org/show_bug.cgi?id=73473
3171
3172         Reviewed by Gustavo Noronha Silva.
3173
3174         Do a series of tests when looking for processes. First search the directory
3175         specified by the environment variable, then the directory of the binary and
3176         then the LIBEXECDIR.
3177
3178         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3179         (WebKit::findWebKitProcess): Added.
3180         (WebKit::ProcessLauncher::launchProcess): Call the new helper to get the
3181         binary location.
3182
3183 2011-12-01  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3184
3185         [Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
3186         https://bugs.webkit.org/show_bug.cgi?id=73338
3187
3188         Reviewed by Noam Rosenthal.
3189
3190         Move painting of QQuickWebPage content from canvas afterrendering() to
3191         QSGGeometryNode/QSGMaterial based paint node. Implementation uses QSGMaterialShader
3192         updateState() method to draw TextureMapper graphics layers.
3193         This is considered to be temporary until QSGNode::UserNodeType will be available.
3194
3195         * UIProcess/API/qt/qquickwebpage.cpp:
3196         (QQuickWebPage::QQuickWebPage):
3197         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3198         (PageProxyMaterialShader::attributeNames):
3199         (PageProxyMaterialShader::vertexShader):
3200         (PageProxyMaterialShader::fragmentShader):
3201         (PageProxyMaterial::PageProxyMaterial):
3202         (PageProxyMaterial::type):
3203         (PageProxyMaterial::createShader):
3204         (PageProxyNode::PageProxyNode):
3205         (PageProxyNode::~PageProxyNode):
3206         (PageProxyMaterialShader::updateState):
3207         (QQuickWebPage::updatePaintNode):
3208         (QQuickWebPagePrivate::resetPaintNode):
3209         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
3210         * UIProcess/API/qt/qquickwebpage_p.h:
3211         * UIProcess/API/qt/qquickwebpage_p_p.h:
3212         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3213         (tst_QQuickWebView::showWebView):
3214         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3215         (WebKit::LayerTreeHostProxy::didRenderFrame):
3216
3217 2011-12-01  Nayan Kumar K  <nayankk@motorola.com>
3218
3219         [WK2][GTK] Change default-font-size and default-monospace-font-size
3220         https://bugs.webkit.org/show_bug.cgi?id=73468
3221
3222         Reviewed by Martin Robinson.
3223
3224         Set 'default-font-size' property value to 16px and 'default-monospace-font-size'
3225         value to 13px.
3226
3227         * UIProcess/API/gtk/WebKitSettings.cpp:
3228         (webkit_settings_class_init): Change the default font size settings.
3229         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3230         (testWebKitSettings): Correct the test.
3231
3232 2011-12-01  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
3233
3234         Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
3235         https://bugs.webkit.org/show_bug.cgi?id=56466
3236
3237         Add a check if popup menu is not visible due to no mouse grab,
3238         Ensure WebCore is in sync with proper state.
3239
3240         Reviewed by Martin Robinson.
3241
3242         * UIProcess/WebPageProxy.cpp:
3243         (WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message
3244         to WebProcess.
3245         * UIProcess/WebPageProxy.h:
3246         * UIProcess/WebPopupMenuProxy.h:
3247         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
3248         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
3249         * WebProcess/WebCoreSupport/WebPopupMenu.h:
3250         (WebKit::WebPopupMenu::client): Added Method to get WebCore::PopupMenuClient.
3251         * WebProcess/WebPage/WebPage.cpp:
3252         (WebKit::WebPage::failedToShowPopupMenu):
3253         * WebProcess/WebPage/WebPage.h:
3254         * WebProcess/WebPage/WebPage.messages.in: Added Message to inform WebProcess ShowPopupMenu failed.
3255
3256 2011-12-01  Pavel Feldman  <pfeldman@chromium.org>
3257
3258         Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
3259         https://bugs.webkit.org/show_bug.cgi?id=73554
3260
3261         Reviewed by Yury Semikhatsky.
3262
3263         * UIProcess/WebInspectorProxy.cpp:
3264         (WebKit::WebInspectorProxy::didClose):
3265
3266 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
3267
3268         Remove an unneeded argument from FrameLoaderClient::download
3269         https://bugs.webkit.org/show_bug.cgi?id=73486
3270
3271         Reviewed by Andreas Kling.
3272
3273         * WebProcess/Downloads/Download.h:
3274         * WebProcess/Downloads/DownloadManager.cpp:
3275         (WebKit::DownloadManager::convertHandleToDownload):
3276         * WebProcess/Downloads/DownloadManager.h:
3277         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
3278         (WebKit::Download::startWithHandle):
3279         * WebProcess/Downloads/curl/DownloadCurl.cpp:
3280         (WebKit::Download::startWithHandle):
3281         * WebProcess/Downloads/mac/DownloadMac.mm:
3282         (WebKit::Download::startWithHandle):
3283         * WebProcess/Downloads/qt/DownloadQt.cpp:
3284         (WebKit::Download::startWithHandle):
3285         * WebProcess/Downloads/soup/DownloadSoup.cpp:
3286         (WebKit::Download::startWithHandle):
3287         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3288         (WebKit::WebFrameLoaderClient::download):
3289         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3290         * WebProcess/WebPage/WebFrame.cpp:
3291         (WebKit::WebFrame::convertHandleToDownload):
3292         * WebProcess/WebPage/WebFrame.h:
3293         Updated for the change. CF version is the only one worth seeing, as it was using the argument.
3294
3295 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
3296
3297         Original page URL is not set in quarantine information when downloading using context menu Save Linked File
3298         https://bugs.webkit.org/show_bug.cgi?id=73475
3299         <rdar://problem/10500337>
3300
3301         Reviewed by Dan Bernstein.
3302
3303         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::downloadRequest): Set main document URL
3304         for the request, so that CFNetwork would know where te file was downloaded. Note that this
3305         is an easier case than downloading due to clicks, since we don't really need to build a host
3306         only URL, and could use full page URL. However, the same function is used for consistency.
3307
3308 2011-11-30  Igor Oliveira  <igor.oliveira@openbossa.org>
3309
3310         [WK2][Qt] AC animation startTime is wrong
3311
3312         [WK2][Qt] AC animation startTime is wrong
3313         https://bugs.webkit.org/show_bug.cgi?id=73467
3314
3315         When WebProcess sends animation information to UIProcess, It uses the 
3316         current time(WTF::currentTime) minus the timeOffset to set the start time 
3317         animation. 
3318
3319         But there is a latency between the WebProcess and UIProcess communication 
3320         and sometimes the animation transition starts late.
3321
3322         This patch fixes the bug moving the startTime calculation to UIProcess.
3323
3324         Reviewed by Noam Rosenthal.
3325
3326         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3327         (WebKit::LayerTreeHostProxy::syncLayerParameters):
3328         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3329         (WebCore::WebGraphicsLayer::addAnimation):
3330
3331 2011-11-30  Csaba Osztrogonác  <ossy@webkit.org>
3332
3333         [Qt] Buildfix for generating forwarding headers
3334         https://bugs.webkit.org/show_bug.cgi?id=73446
3335
3336         Reviewed by Noam Rosenthal.
3337
3338         * DerivedSources.pri: Always create the parent directory before generating a forwarding header.
3339
3340 2011-11-30  Dan Bernstein  <mitz@apple.com>
3341
3342         WebKit2 part of: Allow the length of a page along the pagination axis to differ from the length of the view
3343         https://bugs.webkit.org/show_bug.cgi?id=73476
3344
3345         Reviewed by Anders Carlsson.
3346
3347         * Shared/WebPageCreationParameters.cpp:
3348         (WebKit::WebPageCreationParameters::encode): Encode pageLength.
3349         (WebKit::WebPageCreationParameters::decode): Decode pageLength.
3350         * Shared/WebPageCreationParameters.h: Added pageLength.
3351         * UIProcess/API/C/WKPage.cpp:
3352         (WKPageSetPageLength): Added this accessor.
3353         (WKPageGetPageLength): Ditto.
3354         * UIProcess/API/C/WKPagePrivate.h:
3355         * UIProcess/API/mac/WKBrowsingContextController.mm:
3356         (-[WKBrowsingContextController setPageLength:]): Ditto.
3357         (-[WKBrowsingContextController pageLength]): Ditto.
3358         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
3359         * UIProcess/WebPageProxy.cpp:
3360         (WebKit::WebPageProxy::WebPageProxy): Added initializer for m_pageLength.
3361         (WebKit::WebPageProxy::setPageLength): Added.
3362         (WebKit::WebPageProxy::creationParameters): Initialize pageLength.
3363         * UIProcess/WebPageProxy.h:
3364         (WebKit::WebPageProxy::pageLength): Added.
3365         * WebProcess/WebPage/WebPage.cpp:
3366         (WebKit::WebPage::WebPage): Set the page length based on the creation parameters.
3367         (WebKit::WebPage::setPageLength): Added.
3368         * WebProcess/WebPage/WebPage.h:
3369         * WebProcess/WebPage/WebPage.messages.in: Added SetPageLength.
3370
3371 2011-11-30  Alejandro G. Castro  <alex@igalia.com>
3372
3373         [GTK] Add accelerated compositing compilation option
3374         https://bugs.webkit.org/show_bug.cgi?id=73298
3375
3376         Compile whatever we have inside the USE(ACCELERATED_COMPOSITING)
3377         define. Fix accelerated compositing compilation in WK2, update the
3378         enter/exit functions.
3379
3380         Reviewed by Martin Robinson.
3381
3382         * UIProcess/API/gtk/PageClientImpl.cpp:
3383         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
3384         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
3385         * UIProcess/API/gtk/PageClientImpl.h:
3386
3387 2011-11-29  Beth Dakin  <bdakin@apple.com>
3388
3389         https://bugs.webkit.org/show_bug.cgi?id=72751
3390         WebKit2.MouseMoveAfterCrash API test is failing 
3391
3392         Reviewed by Sam Weinig.
3393
3394         windowIsFocused() is too restrictive. All we need to know is that the page is 
3395         active.
3396         * WebProcess/WebPage/WebPage.cpp:
3397         (WebKit::WebPage::mouseEvent):
3398         (WebKit::WebPage::mouseEventSyncForTesting):
3399
3400 2011-11-29  Sam Weinig  <sam@webkit.org>
3401
3402         Add move semantics to WKRetainPtr
3403         https://bugs.webkit.org/show_bug.cgi?id=73400
3404
3405         Reviewed by Anders Carlsson.
3406
3407         * UIProcess/API/cpp/WKRetainPtr.h:
3408         (WebKit::WKRetainPtr::WKRetainPtr):
3409         Add a move constructor and move enabled assignment operators
3410         to WKRetainPtr if the compiler being used supports rvalue
3411         references. If the compiler does not support it, we fallback
3412         to the copy semantics we have always had.
3413
3414 2011-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3415
3416         [Gtk] Links should be Tab-focusable by default
3417         https://bugs.webkit.org/show_bug.cgi?id=73427
3418
3419         Reviewed by Martin Robinson.
3420
3421         * UIProcess/API/gtk/WebKitSettings.cpp:
3422         (webkit_settings_class_init): Switch the default value for
3423         'enable-tabs-to-links' property from FALSE to TRUE.
3424         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3425         (testWebKitSettings): Updated unit test.
3426
3427 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
3428
3429         Download page URL should be set by WebCore
3430         https://bugs.webkit.org/show_bug.cgi?id=73358
3431
3432         Reviewed by Darin Adler.
3433
3434         * WebProcess/Downloads/mac/DownloadMac.mm:
3435         (WebKit::Download::start): There is no need to set original URL post factum any more.
3436         (WebKit::Download::startWithHandle): Ditto.
3437
3438 2011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3439
3440         Rename WebKit::ViewportUpdateGuard to *Deferrer and add some better
3441         comments to explain its purpose.
3442
3443         Reviewed by Simon Hausmann.
3444
3445         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3446         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
3447         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
3448         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
3449         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
3450         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
3451         (WebKit::QtViewportInteractionEngine::applyConstraints):
3452         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
3453         * UIProcess/qt/QtViewportInteractionEngine.h:
3454
3455 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
3456
3457         Build fix. The removal of the Qt threading back-end also removed
3458         an implicit QString inclusion/forward-declaration.
3459
3460         * UIProcess/qt/QtWebContext.h:
3461
3462 2011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3463
3464         [Qt] Clean up the Qt viewport interaction engine
3465
3466         Reviewed by Simon Hausmann.
3467
3468         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3469         (WebKit::QtViewportInteractionEngine::reset):
3470
3471             Make sure reset is not called while suspended.
3472
3473         (WebKit::QtViewportInteractionEngine::applyConstraints):
3474
3475             We always need to apply the constrains due to initial-scale.
3476
3477             Now that we only apply the constrains when we are ready to
3478             paint, it is impossible for the user to have interacted with
3479             the content in the case the viewport meta tag was declared
3480             in the <head> tag, and it is thus always applied.
3481
3482         (WebKit::QtViewportInteractionEngine::panGestureStarted):
3483         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
3484
3485             Fix this method to actually do what it advertises, before
3486             it would be true even if just animation a bounce back effect.
3487
3488         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
3489         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
3490         * UIProcess/qt/QtViewportInteractionEngine.h:
3491
3492             General, get rid of the interaction flags as we only need to
3493             know whether the user interacted (panned, pinched, double-tapped).
3494             Before we would still apply initial-scale if the user had panned
3495             the content which can be pretty confusing.
3496
3497 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
3498
3499         Unreviewed prospective mac build fix after r101450.
3500
3501         * Platform/mac/ModuleMac.mm:
3502         (WebKit::Module::unload): leakRef is declared with attribute warn_unused_result.
3503
3504 2011-11-30  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
3505
3506         [Qt][WK2] Implement permission API for Qt port
3507         https://bugs.webkit.org/show_bug.cgi?id=59200
3508
3509         Permission API hookup for Geolocation, it allows to receive in WebView
3510         a signal when a permission request is done (e.g. to grant permission
3511         for accessing geolocation information) and set it accordingly.
3512
3513         Reviewed by Simon Hausmann.
3514
3515         * Target.pri:
3516         * UIProcess/API/qt/qquickwebview_p.h:
3517         * UIProcess/API/qt/qwebpermissionrequest.cpp: Added.
3518         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
3519         (QWebPermissionRequestPrivate::~QWebPermissionRequestPrivate):
3520         (QWebPermissionRequest::create):
3521         (QWebPermissionRequest::QWebPermissionRequest):
3522         (QWebPermissionRequest::~QWebPermissionRequest):
3523         (QWebPermissionRequest::type):
3524         (QWebPermissionRequest::setAllow):