1 2011-12-19 Simon Hausmann <simon.hausmann@nokia.com>
3 [Qt][WK2] Add support for modal event loop processing for WTR
4 https://bugs.webkit.org/show_bug.cgi?id=74852
6 Reviewed by Kenneth Rohde Christiansen.
8 Add support for nested event loops, used by WebPage::runModal().
10 * Platform/qt/RunLoopQt.cpp:
14 2011-12-18 Sam Weinig <sam@webkit.org>
16 Another attempt to fix the windows build.
18 * Platform/win/WorkQueueWin.cpp:
19 (WorkQueue::performWorkOnRegisteredWorkThread):
20 (WorkQueue::dispatch):
22 2011-12-18 Sam Weinig <sam@webkit.org>
24 Try to fix the windows build.
26 * Platform/win/WorkQueueWin.cpp:
27 (WorkQueue::performWorkOnRegisteredWorkThread):
29 2011-12-18 Sam Weinig <sam@webkit.org>
31 Remove now unused WorkItem.h
32 https://bugs.webkit.org/show_bug.cgi?id=74818
34 Reviewed by Andreas Kling.
37 * Platform/CoreIPC/Connection.cpp:
38 * Platform/RunLoop.cpp:
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:
48 * UIProcess/ResponsivenessTimer.cpp:
49 * WebKit2.xcodeproj/project.pbxproj:
50 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
53 2011-12-18 Anders Carlsson <andersca@apple.com>
55 Set the main frame view scroll position asynchronously
56 https://bugs.webkit.org/show_bug.cgi?id=74823
58 Reviewed by Sam Weinig.
60 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
61 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
62 Don't make the background red.
64 2011-12-18 Sam Weinig <sam@webkit.org>
66 Move timestamp down from PlatformEvent subclasses to the base class
67 https://bugs.webkit.org/show_bug.cgi?id=74805
69 Reviewed by Anders Carlsson.
71 * Shared/WebEventConversion.cpp:
72 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
73 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
74 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
75 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
76 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
78 2011-12-18 Anders Carlsson <andersca@apple.com>
80 Add a scrolling thread to the scrolling coordinator
81 https://bugs.webkit.org/show_bug.cgi?id=74814
83 Reviewed by Andreas Kling.
85 Check if the scrolling coordinator can handle the wheel event before dispatching it
88 * WebProcess/WebPage/EventDispatcher.cpp:
89 (WebKit::EventDispatcher::wheelEvent):
91 2011-12-18 Anders Carlsson <andersca@apple.com>
93 EventDispatcher should keep track of all scrolling coordinators
94 https://bugs.webkit.org/show_bug.cgi?id=74810
96 Reviewed by Andreas Kling.
98 * WebProcess/WebPage/EventDispatcher.cpp:
99 (WebKit::EventDispatcher::addScrollingCoordinatorForPage):
100 Get the scrolling coordinator from the WebCore page and add it to the map.
102 (WebKit::EventDispatcher::removeScrollingCoordinatorForPage):
103 Remove the scrolling coordinator from the map.
105 (WebKit::EventDispatcher::sendDidHandleEvent):
106 Add a new helper function, currently unused.
108 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
109 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
110 Add the scrolling coordinator.
112 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
113 Remove the scrolling coordinator.
115 * WebProcess/WebProcess.h:
116 (WebKit::WebProcess::eventDispatcher):
119 2011-12-16 Anders Carlsson <andersca@apple.com>
121 Move everyone off of WorkItem
122 https://bugs.webkit.org/show_bug.cgi?id=74773
124 Reviewed by Darin Adler.
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):
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:
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):
176 2011-12-17 Sam Weinig <sam@webkit.org>
178 Make PlatformTouchEvent inherit from PlatformEvent
179 https://bugs.webkit.org/show_bug.cgi?id=74777
181 Reviewed by Andreas Kling.
183 * Shared/WebEventConversion.cpp:
184 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
185 Add PlatformEvent prefix to enum types.
187 2011-12-16 Anders Carlsson <andersca@apple.com>
189 Convert more WorkItems over to WTF::Functions
190 https://bugs.webkit.org/show_bug.cgi?id=74770
192 Reviewed by Andreas Kling.
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):
209 2011-12-16 Mark Hahnenberg <mhahnenberg@apple.com>
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.
218 2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
220 Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
221 https://bugs.webkit.org/show_bug.cgi?id=74748
223 Reviewed by Eric Seidel.
225 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
226 (WebKit::WebEditorClient::registerUndoStep):
227 (WebKit::WebEditorClient::registerRedoStep):
228 * WebProcess/WebCoreSupport/WebEditorClient.h:
230 2011-12-16 Anders Carlsson <andersca@apple.com>
232 Add a pretty dumb tile cache to WebTileCacheLayer
233 https://bugs.webkit.org/show_bug.cgi?id=74753
235 Reviewed by Simon Fraser.
237 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
238 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
239 Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.
241 2011-12-16 Anders Carlsson <andersca@apple.com>
243 TiledCoreAnimationDrawingArea should enable the scrolling coordinator
244 https://bugs.webkit.org/show_bug.cgi?id=74724
246 Reviewed by Adam Roben.
248 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
249 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
251 2011-12-16 Sam Weinig <sam@webkit.org>
253 Give PlatformEvents a base class
254 https://bugs.webkit.org/show_bug.cgi?id=74685
256 Reviewed by Anders Carlsson.
258 Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
259 and PlatformGestureEvent and move Type enumeration and modifiers down to it.
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):
278 2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
280 Only EditCommandComposition should implement unapply and reapply
281 https://bugs.webkit.org/show_bug.cgi?id=74490
283 Reviewed by Eric Seidel.
285 Renamed WebEditCommand to WebUndoStep and made necessary changes.
286 Everything on WebProcess side should have the correct name now.
288 Names in the proxy and UIProcess are to be updated in a follow up.
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:
316 2011-12-16 Simon Hausmann <simon.hausmann@nokia.com>
318 [Qt] Eliminate dependency to QUndoStack
319 https://bugs.webkit.org/show_bug.cgi?id=74691
321 Reviewed by Kenneth Rohde Christiansen.
323 Replaced the QUndoStack with two vectors. When calling unapply()
324 on the edit command proxy, it will automatically re-register itself
327 * UIProcess/qt/QtWebUndoController.cpp:
328 (QtWebUndoController::registerEditCommand):
329 (QtWebUndoController::clearAllEditCommands):
330 (QtWebUndoController::canUndoRedo):
331 (QtWebUndoController::executeUndoRedo):
332 * UIProcess/qt/QtWebUndoController.h:
334 2011-12-16 Rafael Brandao <rafael.lobo@openbossa.org>
336 [Qt][WK2] Move webView.page into experimental
337 https://bugs.webkit.org/show_bug.cgi?id=74406
339 Reviewed by Simon Hausmann.
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):
347 2011-12-16 Mark Hahnenberg <mhahnenberg@apple.com>
349 De-virtualize destructors
350 https://bugs.webkit.org/show_bug.cgi?id=74331
352 Reviewed by Geoffrey Garen.
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.
361 2011-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
363 [GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
364 https://bugs.webkit.org/show_bug.cgi?id=74713
366 Reviewed by Gustavo Noronha Silva.
368 Most of the members are bools, so it reduces the memory footprint.
370 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
372 2011-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
374 [GTK] Window frame should be 0x0 when the toplevel window is not visible
375 https://bugs.webkit.org/show_bug.cgi?id=74709
377 Reviewed by Gustavo Noronha Silva.
379 * UIProcess/API/gtk/WebKitUIClient.cpp:
380 (getWindowFrame): Check also whether the toplevel is visible
381 before getting its size and position.
383 2011-12-16 Michael Bruning <michael.bruning@nokia.com>
385 [qt][wk2] Viewport info panel shows wrong current scale
386 https://bugs.webkit.org/show_bug.cgi?id=74613
388 Reviewed by Kenneth Rohde Christiansen.
390 * UIProcess/API/qt/qwebviewportinfo.cpp:
391 (QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
392 added emission of currenScaleUpdated signal when the viewport constraints
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
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.
404 2011-12-15 Martin Robinson <mrobinson@igalia.com>
406 Fix 'make dist' in preparation for the GTK+ release.
408 * GNUmakefile.am: Add missing header.
410 2011-12-15 Anders Carlsson <andersca@apple.com>
412 Add support for accelerated compositing to the tiled Core Animation drawing area
413 https://bugs.webkit.org/show_bug.cgi?id=74675
415 Reviewed by Andreas Kling.
417 Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.
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):
430 2011-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
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
437 Broke too many webs. (Requested by kling on #webkit).
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:]):
459 2011-12-15 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
461 [GTK] New API test for WindowProperties fails
462 https://bugs.webkit.org/show_bug.cgi?id=74630
464 Reviewed by Martin Robinson.
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.
473 2011-12-15 Anders Carlsson <andersca@apple.com>
475 EventDispatcher should handle wheel events on the connection queue
476 https://bugs.webkit.org/show_bug.cgi?id=74627
478 Reviewed by Andreas Kling.
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).
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:
493 2011-12-15 Jon Lee <jonlee@apple.com>
495 [WK2] Extend WebNotification to include its origin
496 https://bugs.webkit.org/show_bug.cgi?id=74615
497 <rdar://problem/10587164>
499 Reviewed by Sam Weinig.
501 * Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database
503 * Shared/API/c/WKSecurityOrigin.cpp:
504 (WKSecurityOriginCopyDatabaseIdentifier):
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):
512 * UIProcess/API/C/WKNotification.h: Expose WebNotification's origin().
513 * UIProcess/API/C/WKNotification.cpp:
514 (WKNotificationGetSecurityOrigin):
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
525 2011-12-15 Rafael Brandao <rafael.lobo@openbossa.org>
527 [Qt][WK2] Add test for download policy on navigation request
528 https://bugs.webkit.org/show_bug.cgi?id=74541
530 Reviewed by Tor Arne Vestbø.
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.
536 2011-12-15 Anders Carlsson <andersca@apple.com>
538 Move WorkQueue Mach handlers over to WTF::Function
539 https://bugs.webkit.org/show_bug.cgi?id=74620
541 Reviewed by Sam Weinig.
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):
552 2011-12-14 Anders Carlsson <andersca@apple.com>
554 Add WTF::Function to wtf/Forward.h
555 https://bugs.webkit.org/show_bug.cgi?id=74576
557 Reviewed by Adam Roben.
559 * Platform/RunLoop.h:
560 * Platform/WorkQueue.h:
561 Remove forward declarations and just include wtf/Forward.h.
563 2011-12-15 Rafael Brandao <rafael.lobo@openbossa.org>
565 [Qt][WK2] Move WebPreferences into experimental
566 https://bugs.webkit.org/show_bug.cgi?id=74404
568 Reviewed by Tor Arne Vestbø.
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:
576 2011-12-15 Carlos Garcia Campos <cgarcia@igalia.com>
578 [GTK] Add WebKitWindowProperties to WebKit2 GTK+ API
579 https://bugs.webkit.org/show_bug.cgi?id=74595
581 Reviewed by Gustavo Noronha Silva.
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
603 * UIProcess/API/gtk/WebKitWebView.cpp:
604 (webkit_web_view_init): Create a WebKitWindowProperties object for
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
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):
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.
659 2011-12-15 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
661 [Qt] [WK2] Remove QtWebPageProxy
662 https://bugs.webkit.org/show_bug.cgi?id=74540
664 Reviewed by Kenneth Rohde Christiansen.
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.
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.
675 Farewell, QtWebPageProxy!
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:
727 2011-12-15 Simon Hausmann <simon.hausmann@nokia.com>
729 [WK2] Eliminate unnecessary GTK/QT ifdefs for shared memory implementation
730 https://bugs.webkit.org/show_bug.cgi?id=74602
732 Reviewed by Kenneth Rohde Christiansen.
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.
739 * Platform/unix/SharedMemoryUnix.cpp:
740 (WebKit::SharedMemory::create):
742 2011-12-15 Simon Hausmann <simon.hausmann@nokia.com>
744 [Qt] Cleanup: Remove unnecessary const_cast
746 Reviewed by Kenneth Christiansen.
748 * UIProcess/API/qt/qquickwebview.cpp:
749 (QQuickWebView::preferences):
751 2011-12-15 Michael Brüning <michael.bruning@nokia.com>
753 [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt.
754 https://bugs.webkit.org/show_bug.cgi?id=72893
756 Reviewed by Kenneth Rohde Christiansen.
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.
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.
793 2011-12-15 Simon Hausmann <simon.hausmann@nokia.com>
795 [WK2] WebPage::m_useFixedLayout variable unininitialized
796 https://bugs.webkit.org/show_bug.cgi?id=74596
798 Reviewed by Kenneth Rohde Christiansen.
800 * WebProcess/WebPage/WebPage.cpp:
801 (WebKit::WebPage::WebPage): Avoid uninitialized use through
802 initialization in the constructor.
804 2011-12-15 Alexander Færøy <ahf@0x90.dk>
806 [Qt] r102849 broke the Qt build on Mac OS X.
807 https://bugs.webkit.org/show_bug.cgi?id=74594
809 Reviewed by Simon Hausmann.
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.
816 2011-12-14 Jing Zhao <jingzhao@chromium.org>
818 Opening two popup menus by dispatchEvent() makes problems.
819 https://bugs.webkit.org/show_bug.cgi?id=73304
821 Reviewed by Kent Tamura.
823 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
824 (WebKit::WebChromeClient::hasOpenedPopup): Not implemented.
825 * WebProcess/WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup().
827 2011-12-14 Sam Weinig <weinig@apple.com>
829 Remove whitespace from InheritedPropertySheets attributes in
830 vsprops files to appease the Visual Studio project migrator.
832 Reviewed by Adam Roben.
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:
847 2011-12-14 Anders Carlsson <andersca@apple.com>
849 Add WorkQueue::dispatch and RunLoop::dispatch which both take WTF::Function objects
850 https://bugs.webkit.org/show_bug.cgi?id=74574
852 Reviewed by Sam Weinig.
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.
865 * Platform/RunLoop.cpp:
867 Create a FunctionWorkItem and call scheduleWork.
869 * Platform/RunLoop.h:
872 * Platform/WorkItem.h:
873 (FunctionWorkItem::FunctionWorkItem):
874 (FunctionWorkItem::execute):
876 Add a helper work item that wraps a WTF::Function.
878 * Platform/WorkQueue.cpp:
879 (WorkQueue::dispatch):
880 Create a FunctionWorkItem and call scheduleWork.
882 * Platform/WorkQueue.h:
885 * UIProcess/Launcher/ProcessLauncher.cpp:
886 (WebKit::ProcessLauncher::ProcessLauncher):
887 Switch over to dispatch.
889 2011-12-14 Hajime Morrita <morrita@chromium.org>
891 JS_INLINE and WTF_INLINE should be visible from WebCore
892 https://bugs.webkit.org/show_bug.cgi?id=73191
894 Reviewed by Kevin Ollivier.
896 Removed macro definitions which is now provided by Platform.h
900 2011-12-14 Alexey Proskuryakov <ap@apple.com>
902 [Mac] Sandbox violation opening AppleSNBFBUserClient
903 https://bugs.webkit.org/show_bug.cgi?id=74560
904 <rdar://problem/10410896>
906 Reviewed by Darin Adler.
908 * WebProcess/com.apple.WebProcess.sb: Just allow it.
910 2011-12-13 Jon Lee <jonlee@apple.com>
912 Enable notifications on Mac.
914 Reviewed by Sam Weinig.
916 * Configurations/FeatureDefines.xcconfig:
918 2011-12-14 Mark Rowe <mrowe@apple.com>
920 <rdar://problem/10573872> NPN_GetValueForURL returns wrong value for NPNURLVProxy
922 Reviewed by Anders Carlsson.
924 * PluginProcess/PluginControllerProxy.cpp:
925 (WebKit::PluginControllerProxy::proxiesForURL): Fix a copy-paste error.
927 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
929 [Qt] [WK2] Move QWebPreferences out of QtWebPageProxy
930 https://bugs.webkit.org/show_bug.cgi?id=74525
932 Reviewed by Luiz Agostini.
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"
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:
959 2011-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
961 [GTK] Page size should be 0,0 when view widget is not realized
962 https://bugs.webkit.org/show_bug.cgi?id=74523
964 Reviewed by Martin Robinson.
966 We currently return 1,1 because GTK+ initializes widget allocation
969 * UIProcess/API/gtk/PageClientImpl.cpp:
970 (WebKit::PageClientImpl::viewSize): Check whether widget is
971 realized and return IntSize() in that case.
973 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
975 [Qt] [WK2] Move download handling out of QtWebPageProxy
976 https://bugs.webkit.org/show_bug.cgi?id=74506
978 Reviewed by Kenneth Rohde Christiansen.
980 Also moves the creation of QtWebContext out of QtWebPageProxy.
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:
996 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
998 [Qt] [WK2] Move QWebNavigationHistory to QQuickWebView
999 https://bugs.webkit.org/show_bug.cgi?id=74442
1001 Reviewed by Simon Hausmann.
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.
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:
1029 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1031 [Qt][WK2] Remove DrawingArea and QtWebPageEventHandler code from QtWebPageProxy
1032 https://bugs.webkit.org/show_bug.cgi?id=74414
1034 Reviewed by Simon Hausmann.
1036 This also moves QtWebPageEventHandler to inside QQuickWebPagePrivate, to avoid
1037 the WebPage having a backpointer to the QQuickWebView.
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:
1075 2011-12-13 Gustavo Noronha Silva <gns@gnome.org>
1077 Unreviewed build fix.
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.
1085 2011-12-13 Andreas Kling <kling@webkit.org>
1087 REGRESSION (r102652): New window opens with zero size at produbanco.com
1088 <http://webkit.org/b/74418> and <rdar://problem/10565998>
1090 Reviewed by Anders Carlsson.
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.
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.
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.
1105 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1106 (WebKit::WebChromeClient::windowRect):
1108 2011-12-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1110 [Qt][WK2] Make QtPageClient dispatch directly to WebView when possible
1111 https://bugs.webkit.org/show_bug.cgi?id=74407
1113 Reviewed by Simon Hausmann.
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:
1146 2011-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
1148 [GTK] Add support for javascript dialogs in WebKit2 GTK+ API
1149 https://bugs.webkit.org/show_bug.cgi?id=71362
1151 Reviewed by Martin Robinson.
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
1160 * UIProcess/API/gtk/WebKitWebView.cpp:
1161 (webkitWebViewCreateJavaScriptDialog): Helper function to create
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
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):
1179 * UIProcess/API/gtk/webkit2marshal.list:
1181 2011-12-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
1183 [Qt] Make sure that touch events result in the page view gaining focus
1185 Reviewed by Simon Hausmann.
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.
1192 2011-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
1194 [GTK] Initial UI client implementation for WebKit2 GTK +API
1195 https://bugs.webkit.org/show_bug.cgi?id=69753
1197 Reviewed by Martin Robinson.
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):
1223 * UIProcess/API/gtk/webkit2marshal.list:
1225 2011-12-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1227 [Qt][WK2] Move load & navigation related functions out of QtWebPageProxy
1228 https://bugs.webkit.org/show_bug.cgi?id=74395
1230 Reviewed by Simon Hausmann.
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:
1256 2011-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
1258 Unreviewed. Fix GTK+ build after r102640.
1260 * GNUmakefile.am: Add DownloadProxy sources again.
1262 2011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1264 [Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController
1265 https://bugs.webkit.org/show_bug.cgi?id=74364
1267 Reviewed by Simon Hausmann.
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.
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.
1299 2011-12-12 Andreas Kling <kling@webkit.org>
1301 Resizing Cappuccino is very laggy on WebKit since Safari 5.1
1302 <http://webkit.org/b/71354> and <rdar://problem/10565998>
1304 Reviewed by Anders Carlsson.
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.
1310 Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
1311 IntRect/IntPoint to match the ChromeClient::windowRect() return type.
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:]):
1334 2011-12-12 Anders Carlsson <andersca@apple.com>
1336 Add EventDispatcher class to WebKit2
1337 https://bugs.webkit.org/show_bug.cgi?id=74344
1339 Reviewed by Sam Weinig.
1341 The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects.
1343 * DerivedSources.make:
1344 * DerivedSources.pri:
1347 * WebKit2.xcodeproj/project.pbxproj:
1348 * win/WebKit2.vcproj:
1351 * Platform/CoreIPC/MessageID.h:
1352 Add EventDispatcher.
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.
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.
1370 * WebProcess/WebProcess.cpp:
1371 (WebKit::WebProcess::initialize):
1372 Add the event dispatcher as a queue client.
1374 * WebProcess/WebProcess.h:
1375 Add an EventDispatcher member variable to the web process.
1377 2011-12-12 Sam Weinig <sam@webkit.org>
1379 Prefix internal methods in Objective-C API files with an underscore
1380 https://bugs.webkit.org/show_bug.cgi?id=74363
1382 Reviewed by Dan Bernstein.
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]):
1430 2011-12-12 Ryosuke Niwa <rniwa@webkit.org>
1432 WebKit code shouldn't be calling applyCommand directly
1433 https://bugs.webkit.org/show_bug.cgi?id=74337
1435 Reviewed by Darin Adler.
1437 * WebProcess/WebPage/WebPage.cpp:
1438 (WebKit::WebPage::replaceSelectionWithText):
1440 2011-12-12 Sam Weinig <sam@webkit.org>
1442 Remove unused getter on WKConnection.
1444 Reviewed by Dan Bernstein.
1446 * UIProcess/API/mac/WKConnection.mm:
1448 2011-12-12 Brady Eidson <beidson@apple.com>
1450 Page cache should support pages with plugins.
1451 <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
1453 Expose a WebKit2 preference for the page cache supporting plugins (on by default).
1455 Reviewed by Anders Carlsson.
1457 * Shared/WebPreferencesStore.h:
1459 * UIProcess/API/C/WKPreferences.cpp:
1460 (WKPreferencesSetPageCacheSupportsPlugins):
1461 (WKPreferencesGetPageCacheSupportsPlugins):
1462 * UIProcess/API/C/WKPreferencesPrivate.h:
1464 * WebProcess/WebPage/WebPage.cpp:
1465 (WebKit::WebPage::updatePreferences):
1467 2011-12-12 Sam Weinig <sam@webkit.org>
1469 Add WKConnection objective-c wrapper around WKConnectionRef
1470 <rdar://problem/10446092>
1471 https://bugs.webkit.org/show_bug.cgi?id=74324
1473 Reviewed by Anders Carlsson.
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):
1484 (-[WKConnection initWithConnectionRef:]):
1485 * UIProcess/API/mac/WKConnectionInternal.h: Added.
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.
1497 * WebKit2.xcodeproj/project.pbxproj:
1500 2011-12-12 Anders Carlsson <andersca@apple.com>
1502 Rename QueueClient::willProcessMessageOnClientRunLoop
1503 https://bugs.webkit.org/show_bug.cgi?id=74325
1505 Reviewed by Sam Weinig.
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.
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:
1524 2011-12-12 Alexis Menard <alexis.menard@openbossa.org>
1526 Unreviewed cleanup fix.
1528 Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
1530 Also remove the files that should be removed.
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.
1537 2011-12-12 Michael Bruning <michael.bruning@nokia.com>
1539 [qt][wk2] Postpone scroll effects when page transition is ongoing.
1540 https://bugs.webkit.org/show_bug.cgi?id=74177
1542 Reviewed by Kenneth Rohde Christiansen.
1544 * UIProcess/API/qt/qquickwebview.cpp:
1545 (QQuickWebViewPrivate::scrollPositionRequested):
1546 * UIProcess/API/qt/qquickwebview_p_p.h:
1547 (QQuickWebViewPrivate::PostTransitionState::apply):
1549 2011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1551 [Qt][WK2] Remove dead code from QtWebPageProxy
1552 https://bugs.webkit.org/show_bug.cgi?id=74296
1554 Reviewed by Andreas Kling.
1556 * UIProcess/qt/QtWebPageProxy.cpp:
1557 * UIProcess/qt/QtWebPageProxy.h:
1559 2011-12-12 Simon Hausmann <simon.hausmann@nokia.com>
1561 Unreviewed build fix.
1563 Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
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.
1584 2011-12-12 Simon Hausmann <simon.hausmann@nokia.com>
1586 [Qt] Move postMessage/messageReceived APIS to experimental
1588 Reviewed by Tor Arne Vestbø.
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:
1597 2011-12-12 Alexis Menard <alexis.menard@openbossa.org>
1599 [Qt][WK2] History is not accessible in QML.
1600 https://bugs.webkit.org/show_bug.cgi?id=73016
1602 Reviewed by Simon Hausmann.
1604 Remove the old qwkhistory and create QWebNavigationHistory which is QML
1605 friendly with data models you can plug to a view in QML
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.
1648 2011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1650 [Qt][WK2] Move startDrag implementation to QtWebPageEventHandler
1651 https://bugs.webkit.org/show_bug.cgi?id=73145
1653 Reviewed by Simon Hausmann.
1655 Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag
1656 and call it straight from QtPageClient.
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
1667 (QtWebPageEventHandler::QtWebPageEventHandler):
1668 (QtWebPageEventHandler::startDrag):
1669 * UIProcess/qt/QtWebPageEventHandler.h:
1670 * UIProcess/qt/QtWebPageProxy.cpp:
1671 (QtWebPageProxy::startDrag): removed.
1673 2011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1675 [Qt] [WK2] Support customizing popup menus with QML
1676 https://bugs.webkit.org/show_bug.cgi?id=73560
1678 Reviewed by Tor Arne Vestbø.
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.
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.
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.
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.
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.
1737 2011-12-11 Gopal Raghavan <gopal.1.raghavan@nokia.com>
1739 [Qt] QQuickWebView missing titleChanged signal tests
1740 https://bugs.webkit.org/show_bug.cgi?id=73923
1742 Reviewed by Simon Hausmann.
1744 Added tests for QQuickWebView tilteChanged signal.
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:
1750 2011-12-11 Anders Carlsson <andersca@apple.com>
1752 Crash when trying to garbage collect JavaScript objects
1753 https://bugs.webkit.org/show_bug.cgi?id=74259
1754 <rdar://problem/10556188>
1756 Reviewed by Sam Weinig.
1758 * UIProcess/WebContext.cpp:
1759 (WebKit::WebContext::garbageCollectJavaScriptObjects):
1760 Use sendToAllProcesses which is more correct and also handles m_process being null.
1762 2011-12-11 Andreas Kling <kling@webkit.org>
1764 WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
1765 <http://webkit.org/b/74209> and <rdar://problem/10438197>
1767 Reviewed by Anders Carlsson.
1769 * Shared/WebEvent.h:
1770 * Shared/WebMouseEvent.cpp:
1772 Remove the WebMouseEvent "copy" constructor that applied a scale factor
1773 to the coordinates of an existing event.
1775 * WebProcess/Plugins/PluginView.cpp:
1776 (WebKit::PluginView::handleEvent):
1778 Pass the WebMouseEvent through to the plugin unmodified.
1780 (WebKit::PluginView::viewGeometryDidChange):
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.
1785 2011-12-10 Sam Weinig <sam@webkit.org>
1787 Try to fix the windows build.
1789 * win/WebKit2.vcproj:
1791 2011-12-10 Alexis Menard <alexis.menard@openbossa.org>
1793 Unreviewed build fix for Qt.
1795 Build error introduced by r102484.
1799 2011-12-09 Mark Rowe <mrowe@apple.com>
1801 Fix the Snow Leopard build some more.
1803 Move the #if to a location where it will do some good.
1805 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
1807 2011-12-09 Mark Rowe <mrowe@apple.com>
1809 Fix the Snow Leopard build.
1811 Wrap some code that is only applicable to Lion and newer in the appropriate #if's.
1813 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
1814 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
1815 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1816 (WebKit::ProcessLauncher::launchProcess):
1818 2011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1820 [Qt] request parameter of QQuickWebView::navigationRequested is not a registered type
1821 https://bugs.webkit.org/show_bug.cgi?id=73826
1823 Reviewed by Tor Arne Vestbø.
1825 Adding QWebNavigationRequest by moving NavigationRequest out of QtWebPagePolicyClient.
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):
1844 2011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1846 [Qt][WK2] Unskip API tests
1847 https://bugs.webkit.org/show_bug.cgi?id=74180
1849 Reviewed by Tor Arne Vestbø.
1851 Unskip API tests for geolocation and javascript dialogs.
1853 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
1854 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1856 2011-12-07 Mark Rowe <mrowe@apple.com>
1858 <http://webkit.org/b/74061> WebProcess and PluginProcess should inherit environment
1859 variables provided in LC_DYLD_ENVIRONMENT of main executable binary.
1861 Reviewed by Darin Adler.
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
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:
1887 2011-12-09 Sam Weinig <sam@webkit.org>
1889 Add WKView implementation for quickLookPreviewItemsAtWindowLocation.
1890 <rdar://problem/10472505>
1892 Reviewed by Dan Bernstein.
1894 * UIProcess/API/mac/WKView.mm:
1895 (-[WKView quickLookPreviewItemsAtWindowLocation:]):
1897 2011-12-09 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1899 [Qt] Open shared memory files with shm_open.
1900 https://bugs.webkit.org/show_bug.cgi?id=74078
1902 Original patch by Kimmo Kinnunen
1904 Reviewed by Kenneth Rohde Christiansen.
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.
1909 This fixes crashes when filesystem that hosts QDir::temp() is full.
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.
1914 This also fixes performance problems regarding QDir::temp() and
1915 mkostemp(), both of which appear to be long operations.
1917 * Platform/unix/SharedMemoryUnix.cpp:
1918 (WebKit::SharedMemory::create):
1920 2011-12-09 Hugo Parente Lima <hugo.lima@openbossa.org>
1922 [Qt] Click's count is limited to three continuous clicks.
1923 https://bugs.webkit.org/show_bug.cgi?id=45666
1925 Reviewed by Kenneth Rohde Christiansen.
1927 Make Qt recognize "infinite" continuous mouse clicks.
1928 handleMouseDoubleClickEvent merged into handleMousePressEvent.
1930 * UIProcess/qt/QtWebPageEventHandler.cpp:
1931 (QtWebPageEventHandler::QtWebPageEventHandler):
1932 (QtWebPageEventHandler::handleEvent):
1933 (QtWebPageEventHandler::handleMousePressEvent):
1934 (QtWebPageEventHandler::timerEvent):
1935 * UIProcess/qt/QtWebPageEventHandler.h:
1937 2011-12-09 Sam Weinig <sam@webkit.org>
1939 Expose a WKConnectionRef which represents the connection to/from the WebProcess/UIProcess
1940 https://bugs.webkit.org/show_bug.cgi?id=74218
1942 Reviewed by Anders Carlsson.
1944 Test: WebKit2.WKConnectionTest in TestWebKitAPI
1946 * Shared/WebConnection.cpp:
1947 (WebKit::WebConnection::forwardDidReceiveMessageToClient):
1948 * Shared/WebConnection.h:
1949 Add helper for connection subclasses to dispatch to the client.
1951 * UIProcess/WebConnectionToWebProcess.cpp:
1952 (WebKit::WebConnectionToWebProcess::didReceiveMessage):
1953 Handle postMessage messages from the WebProcess.
1955 * UIProcess/WebContext.cpp:
1956 (WebKit::WebContext::processDidFinishLaunching):
1957 Dispatch the notification that a connection to the WebProcess has
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
1970 * WebProcess/WebConnectionToUIProcess.cpp:
1971 (WebKit::WebConnectionToUIProcess::didReceiveMessage):
1972 Handle postMessage messages from the UIProcess.
1973 * WebProcess/WebProcess.h:
1975 2011-12-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1977 [Qt] Update WebGraphicLayer's child content scale in all child binding method.
1978 https://bugs.webkit.org/show_bug.cgi?id=74101
1980 Reviewed by Noam Rosenthal.
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.
1985 This fixes the overlay layer not being rendered with the right scale when created
1986 until the contents scale is modified again.
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):
1996 2011-12-09 Michael Brüning <michael.bruning@nokia.com>
1998 [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
1999 https://bugs.webkit.org/show_bug.cgi?id=73994
2001 Reviewed by Kenneth Rohde Christiansen.
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
2009 2011-12-09 Simon Hausmann <simon.hausmann@nokia.com>
2011 [Qt] Fix compilation with newly separated Qt 5 QtQuick module
2012 https://bugs.webkit.org/show_bug.cgi?id=73990
2014 Reviewed by Kenneth Rohde Christiansen, tweaked by Csaba Osztrogonác.
2016 Fix QtQuick includes after move from QtDeclarative to QtQuick.
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:
2032 2011-12-09 Nayan Kumar K <nayankk@motorola.com>
2034 [WebKit2][gtk] Re-enable running TestWebKitSettings
2035 https://bugs.webkit.org/show_bug.cgi?id=70135
2037 Reviewed by Martin Robinson.
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.
2043 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2044 (testWebKitSettings): Run testWebKitSettings.
2045 (testWebKitSettingsNewWithSettings): Run testWebKitSettingsNewWithSettings.
2047 2011-12-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
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
2052 Reviewed by Noam Rosenthal.
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
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:
2091 2011-12-08 Simon Fraser <simon.fraser@apple.com>
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>
2097 Reviewed by Dan Bernstein.
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
2103 To fix this we have to drop out of compositing mode when the WKView is showing
2104 a custom representation.
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:
2124 2011-12-08 Jer Noble <jer.noble@apple.com>
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
2130 Reviewed by Darin Adler.
2132 Use the Lion-only -[NSWindow convertRectToScreen:] function to convert between window
2133 coordinates and screen coordinates.
2135 * UIProcess/mac/WKFullScreenWindowController.mm:
2136 (-[WKFullScreenWindowController enterFullScreen:]):
2138 2011-12-08 Csaba Osztrogonác <ossy@webkit.org>
2140 [Qt][WK2] Unreviewed buildfix after r102352.
2142 * DerivedSources.pri:
2144 2011-12-06 Jon Lee <jonlee@apple.com>
2146 [WK2] Add permissions support (73960)
2147 https://bugs.webkit.org/show_bug.cgi?id=73960
2148 <rdar://problem/10357008>
2150 Reviewed by Darin Adler.
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.
2159 Implement permission functions, which go through permission request manager.
2161 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
2162 (WebKit::WebNotificationClient::requestPermission):
2163 (WebKit::WebNotificationClient::cancelRequestsForPermission):
2164 (WebKit::WebNotificationClient::checkPermission):
2166 New NotificationPermissionRequestManager to make and cancel permission requests, and to retrieve current
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.
2182 Added new NotificationPermissionRequest class.
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.
2193 WKAPI support for NotificationPermissionRequest:
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.
2204 Other additions to WK API:
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.
2210 New NotificationPermissionRequestManagerProxy to create requests.
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.
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.
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.
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):
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.
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:
2258 * UIProcess/WebUIClient.cpp:
2259 (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
2260 * UIProcess/WebUIClient.h:
2262 Added new message DidReceiveNotificationPermissionDecision. The WebPage forwards the message to the
2263 permission request manager.
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:
2271 Moving files to Notifications/ subdirectory.
2273 * UIProcess/Notifications/WebNotification.cpp: Moved from Source/WebKit2/UIProcess/WebNotification.cpp.
2274 * UIProcess/Notifications/WebNotification.h: Moved from Source/WebKit2/UIProcess/WebNotification.h.
2276 2011-12-08 Nayan Kumar K <nayankk@motorola.com>
2278 [WebKit2] Initialize threading in UI process.
2279 https://bugs.webkit.org/show_bug.cgi?id=70127
2281 Reviewed by Anders Carlsson.
2285 * Shared/APIObject.cpp: Added.
2286 (WebKit::APIObject::APIObject):
2287 * Shared/APIObject.h:
2289 * WebKit2.xcodeproj/project.pbxproj:
2290 * win/WebKit2.vcproj:
2292 2011-12-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
2294 [Qt] [WK2] Directly composited images doesn't render
2295 https://bugs.webkit.org/show_bug.cgi?id=74058
2297 Reviewed by Noam Rosenthal.
2299 Attach image to WebGraphicsLayer even if layerTreeTileClient is not set
2300 and create/assign remote image tiles later during sync.
2302 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2303 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2304 (WebCore::WebGraphicsLayer::setContentsToImage):
2305 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2307 2011-12-08 Simon Hausmann <simon.hausmann@nokia.com>
2309 REGRESSION(r102334): Various Qt WK2 layout tests crash
2311 Reviewed by Tor Arne Vestbø.
2313 * WebProcess/WebPage/WebPage.cpp:
2314 (WebKit::WebPage::editorState): Add missing null pointer check for the editable
2315 element (scope) before calling innerText.
2317 2011-12-08 Simon Hausmann <simon.hausmann@nokia.com>
2319 [Qt] WebKitTestRunner crashes with debug builds
2320 https://bugs.webkit.org/show_bug.cgi?id=74090
2322 Reviewed by Tor Arne Vestbø.
2324 Export private C++ API style platformInitialize function needed
2327 * UIProcess/API/qt/qquickwebview.cpp:
2328 (QQuickWebView::platformInitialize):
2329 * UIProcess/API/qt/qquickwebview_p.h:
2331 2011-12-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2333 [Qt] Fix non-animated pinch-zoom scale commit.
2334 https://bugs.webkit.org/show_bug.cgi?id=74007
2336 Reviewed by Kenneth Rohde Christiansen.
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.
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:
2350 2011-12-08 Simon Hausmann <simon.hausmann@nokia.com>
2352 REGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0
2353 https://bugs.webkit.org/show_bug.cgi?id=74077
2355 Reviewed by Kenneth Rohde Christiansen.
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).
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.
2366 2011-12-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
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
2371 Reviewed by Noam Rosenthal.
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.
2377 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2378 (WebKit::LayerTreeMessageToRenderer::~LayerTreeMessageToRenderer):
2380 2011-12-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
2382 Upsteam the Qt changes to the EditorState
2383 https://bugs.webkit.org/show_bug.cgi?id=74080
2385 Reviewed by Simon Hausmann.
2387 We are not doing the serialization manually due to it not being a POD
2388 structure anymore in the case of Qt.
2391 * Shared/EditorState.h:
2392 (WebKit::EditorState::EditorState):
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:
2401 2011-12-08 Gopal Raghavan <gopal.1.raghavan@nokia.com>
2403 [Qt] cleanup qmlplugin
2404 https://bugs.webkit.org/show_bug.cgi?id=73834
2406 Reviewed by Tor Arne Vestbø.
2408 Removed empty folder qmlplugin.
2410 * UIProcess/API/qt/qmlplugin: Removed.
2412 2011-12-08 Sheriff Bot <webkit.review.bot@gmail.com>
2414 Unreviewed, rolling out r102323.
2415 http://trac.webkit.org/changeset/102323
2416 https://bugs.webkit.org/show_bug.cgi?id=74069
2418 Caused Chromium and GTK build failure (Requested by bashi on
2422 * win/WebKit2CFLite.def:
2424 2011-12-08 Fady Samuel <fsamuel@chromium.org>
2426 Move scalePageBy from eventSender to window.internals
2427 https://bugs.webkit.org/show_bug.cgi?id=64512
2429 Reviewed by Simon Fraser.
2432 * win/WebKit2CFLite.def:
2434 2011-12-07 Mark Rowe <mrowe@apple.com>
2436 Fix the 32-bit build.
2438 Ignore some warnings that only occur in 32-bit.
2440 * PluginProcess/mac/PluginProcessShim.mm:
2441 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
2442 (WebKit::NetscapePluginModule::tryLoad):
2444 2011-12-07 Balazs Kelemen <kbalazs@webkit.org>
2446 ShareableBitmapGtk.cpp has no reason to exist
2447 https://bugs.webkit.org/show_bug.cgi?id=74011
2449 Reviewed by Martin Robinson.
2451 Remove this file since the real implementation is
2452 exists in ShareableBitmapCairo.cpp.
2454 * Shared/gtk/ShareableBitmapGtk.cpp: Removed.
2456 2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn>
2458 Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
2459 https://bugs.webkit.org/show_bug.cgi?id=73986
2461 Reviewed by Kenneth Rohde Christiansen.
2463 * UIProcess/WebContext.cpp:
2464 (WebKit::WebContext::WebContext):
2465 * WebProcess/WebProcess.cpp:
2466 (WebKit::WebProcess::WebProcess):
2468 2011-12-07 Zalan Bujtas <zbujtas@gmail.com>
2470 [Qt][WK2] Enable page cache.
2471 https://bugs.webkit.org/show_bug.cgi?id=73938
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.
2476 Reviewed by Simon Hausmann.
2478 * WebProcess/qt/WebProcessQt.cpp:
2479 (WebKit::WebProcess::platformSetCacheModel):
2481 2011-12-06 Andy Estes <aestes@apple.com>
2483 REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled
2484 https://bugs.webkit.org/show_bug.cgi?id=73955
2486 Reviewed by Anders Carlsson.
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.
2496 2011-12-06 Alexander Færøy <alexander.faeroy@nokia.com>
2498 [Qt] Fix assertion in QtViewportInteractionEngine.cpp:468
2499 https://bugs.webkit.org/show_bug.cgi?id=73914
2501 Reviewed by Kenneth Rohde Christiansen.
2503 m_suspendCount should always be zero when a pinch gesture is started.
2505 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2506 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2508 2011-12-06 Simon Fraser <simon.fraser@apple.com>
2510 UI process crashes if the Web Process crashes on launch
2511 https://bugs.webkit.org/show_bug.cgi?id=73943
2513 Reviewed by Sam Weinig.
2515 When the Web Process crashes on launch, the WebConnectionToWebProcess
2516 object was getting deleted inside of didClose. Add a protector to
2519 * UIProcess/WebConnectionToWebProcess.cpp:
2520 (WebKit::WebConnectionToWebProcess::didClose):
2522 2011-12-06 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2524 [Qt] Fix page overlay rendering with AC.
2525 https://bugs.webkit.org/show_bug.cgi?id=73935
2527 Reviewed by Noam Rosenthal.
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.
2533 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2534 (WebKit::LayerTreeHostQt::paintContents):
2536 2011-12-06 Michael Brüning <michael.bruning@nokia.com>
2538 [qt][wk2] Tests of QQuickWebView assert in debug builds when destroying QQuickWebViewPrivate
2539 https://bugs.webkit.org/show_bug.cgi?id=73907
2541 Reviewed by Kenneth Rohde Christiansen.
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.
2548 2011-12-06 Kenneth Rohde Christiansen <kenneth@webkit.org>
2550 [Qt] Add initial support for focusing when entering edit mode.
2552 Reviewed by Simon Hausmann.
2554 Next step would be to properly upstream our EditorState code.
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):
2577 2011-12-06 Alexander Færøy <alexander.faeroy@nokia.com>
2579 [Qt] Fix assertion in QtWebPageEventHandler.cpp
2580 https://bugs.webkit.org/show_bug.cgi?id=73908
2582 Reviewed by Kenneth Rohde Christiansen.
2584 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2585 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2587 2011-12-05 Igor Oliveira <igor.oliveira@openbossa.org>
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
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.
2596 This patch fixes this bug calling LayerTreeHostQt::scheduleLayerFlush when m_layerFlushSchedulingEnabled
2599 Reviewed by Noam Rosenthal.
2601 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2602 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
2604 2011-12-05 Chris Fleizach <cfleizach@apple.com>
2606 AX: WK2: AX hierarchy is not restored after web process crash
2607 https://bugs.webkit.org/show_bug.cgi?id=73870
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
2613 Reviewed by Darin Adler.
2615 * UIProcess/API/mac/WKView.mm:
2616 (-[WKView viewDidMoveToWindow]):
2617 (-[WKView _accessibilityRegisterUIProcessTokens]):
2618 (-[WKView _didRelaunchProcess]):
2620 2011-12-05 Alexey Proskuryakov <ap@apple.com>
2622 REGRESSION: Full keyboard access doesn't work if enabled before Safari started
2623 https://bugs.webkit.org/show_bug.cgi?id=73864
2625 Reviewed by Darin Adler.
2627 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Actually use the
2628 parameter passed at process creation.
2630 2011-12-05 Anders Carlsson <andersca@apple.com>
2632 Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
2633 https://bugs.webkit.org/show_bug.cgi?id=73862
2635 Reviewed by Andy Estes.
2637 Change LayerTreeHostCAMac::flushLayers to always return true and remove the call to LayerFlushScheduler::invalidate.
2639 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2640 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2641 (WebKit::LayerTreeHostCAMac::flushLayers):
2642 (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
2644 2011-12-05 Michael Brüning <michael.bruning@nokia.com>
2646 [Qt] Rename QQuickWebView::canStop property to just loading
2647 https://bugs.webkit.org/show_bug.cgi?id=73813
2649 Reviewed by Kenneth Rohde Christiansen.
2651 Renamed canStop property of QQuickWebView and QtWebPageProxy
2652 to loading and updated tests.
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:
2665 2011-12-03 Jer Noble <jer.noble@apple.com>
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>
2671 Reviewed by Alexey Proskuryakov.
2673 Allow the WebProcess to make connections to the PowerManagement control mach server.
2675 * WebProcess/com.apple.WebProcess.sb:
2677 2011-12-04 Sam Weinig <sam@webkit.org>
2679 Move code for connections to/from the UIProcess/WebProcess into WebConnection subclasses
2680 https://bugs.webkit.org/show_bug.cgi?id=73779
2682 Reviewed by Anders Carlsson.
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.
2690 * WebKit2.xcodeproj/project.pbxproj:
2691 * win/WebKit2.vcproj:
2694 * Platform/CoreIPC/MessageID.h:
2695 * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Added.
2696 Add a new message type for communicating between WebConnections.
2698 * Shared/ChildProcess.h:
2699 Make helper public so that WebConnectionToWebProcess can use it.
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.
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.
2751 2011-12-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
2753 [Qt] Remove viewModeChanged() from QQuickWebView
2754 https://bugs.webkit.org/show_bug.cgi?id=73828
2756 Reviewed by Kenneth Rohde Christiansen.
2758 * UIProcess/API/qt/qquickwebview_p.h: viewModeChanged is not used
2759 and we should not expose it.
2761 2011-12-05 Eric Carlson <eric.carlson@apple.com>
2763 WebKit2 part of: Add WebKit preferences for text track settings
2764 https://bugs.webkit.org/show_bug.cgi?id=73721
2766 Reviewed by John Sullivan.
2768 * Shared/WebPreferencesStore.h: Declared shouldDisplaySubtitles, shouldDisplayCaptions, and
2769 shouldDisplayTextDescriptions properties with macros. All default to false.
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:
2780 * WebProcess/WebPage/WebPage.cpp:
2781 (WebKit::WebPage::updatePreferences): Updates WebCore settings from WebKit2 prefs.
2783 2011-12-04 Gopal Raghavan <gopal.1.raghavan@nokia.com>
2785 [Qt] cleanup qmltests.pro
2786 https://bugs.webkit.org/show_bug.cgi?id=73718
2788 Reviewed by Simon Hausmann.
2790 Removed unused file WebView/tst_loadZeroSizeView.qml and reordered file list.
2792 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2794 2011-12-04 Philippe Normand <pnormand@igalia.com>
2796 [WK2][GTK] enable-fullscreen WebSettings
2797 https://bugs.webkit.org/show_bug.cgi?id=73774
2799 Reviewed by Martin Robinson.
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):
2812 2011-12-02 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
2814 [Qt] [WK2] MiniBrowser --touch asserts in debug build
2815 https://bugs.webkit.org/show_bug.cgi?id=73697
2817 Reviewed by Eric Seidel.
2819 Add missing guard to QtViewportInteractionEngine::itemSizeChanged().
2821 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2822 (WebKit::QtViewportInteractionEngine::itemSizeChanged):
2824 2011-12-02 Fady Samuel <fsamuel@chromium.org>
2826 When page scaling is in use position:fixed has incorrect results
2827 https://bugs.webkit.org/show_bug.cgi?id=68617
2829 Reviewed by Simon Fraser.
2832 * win/WebKit2CFLite.def:
2834 2011-12-02 Alexey Proskuryakov <ap@apple.com>
2836 Update sandbox rules
2837 https://bugs.webkit.org/show_bug.cgi?id=73675
2838 <rdar://problem/9276430>
2840 Reviewed by Sam Weinig.
2842 * WebProcess/com.apple.WebProcess.sb:
2844 2011-12-02 Andy Estes <aestes@apple.com>
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
2849 Reviewed by Darin Adler.
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.
2865 2011-12-02 Nayan Kumar K <nayankk@motorola.com>
2867 [WebKit2][gtk] Add 'enable-dns-prefetching' property to WebKitSettings
2868 https://bugs.webkit.org/show_bug.cgi?id=73414
2870 Reviewed by Martin Robinson.
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.
2883 2011-12-02 Andras Becsi <andras.becsi@nokia.com>
2885 [Qt][WK2] Set event timestamps on custom input events
2887 Reviewed by Simon Hausmann.
2889 Since r101791 WebEventFactoryQt uses input event timestamps for WebEvents,
2890 thus set the timestamp on the custom events as well.
2892 * UIProcess/qt/QtWebPageEventHandler.cpp:
2893 (QtWebPageEventHandler::handleHoverLeaveEvent):
2894 (QtWebPageEventHandler::handleHoverMoveEvent):
2895 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
2896 (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
2898 2011-12-02 Andras Becsi <andras.becsi@nokia.com>
2900 [Qt] [WK2] Use input event timestamps in WebEvents if available
2901 https://bugs.webkit.org/show_bug.cgi?id=73647
2903 Reviewed by Simon Hausmann.
2905 Qt5 input events already have a native timestamp, use this timestamp
2906 in WebEventFactory instead of WTF::currentTime if it is available.
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:
2916 2011-12-02 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
2918 [Qt][WK2] Split the QtWebPageProxy into PageClient and QtPageProxy
2919 https://bugs.webkit.org/show_bug.cgi?id=66668
2921 Reviewed by Simon Hausmann.
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.
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:
2992 2011-12-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
2994 [Qt] Do not apply the transition state before we are unsuspended
2996 Reviewed by Simon Hausmann.
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.
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:
3012 2011-12-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
3014 Unreviewed buildfix, add missing include.
3016 * WebProcess/Notifications/WebNotificationManager.cpp:
3018 2011-12-02 Hajime Morrita <morrita@chromium.org>
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
3025 breaks Windows build
3029 2011-12-02 Carlos Garcia Campos <cgarcia@igalia.com>
3031 Unreviewed. Fix GTK+ build after r101750.
3033 * GNUmakefile.am: Add missing files.
3035 2011-12-02 Gustavo Noronha Silva <gns@gnome.org>
3037 Unreviewed. GTK+ build fix.
3041 2011-12-02 Zalan Bujtas <zbujtas@gmail.com>
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
3046 Do not assert on empty available size, but return default constrain values instead.
3048 Reviewed by Kenneth Rohde Christiansen.
3050 * UIProcess/API/qt/qquickwebview.cpp:
3051 (QQuickWebViewPrivate::computeViewportConstraints):
3052 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3053 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
3055 2011-12-01 Hajime Morrita <morrita@chromium.org>
3057 JS_INLINE and WTF_INLINE should be visible from WebCore
3058 https://bugs.webkit.org/show_bug.cgi?id=73191
3060 Reviewed by Kevin Ollivier.
3062 Removed macro definitions which is now provided by Platform.h
3066 2011-12-01 Jon Lee <jonlee@apple.com>
3068 [WK2] Add further support for notifications
3069 https://bugs.webkit.org/show_bug.cgi?id=73572
3070 <rdar://problem/10472195>
3072 Reviewed by Darin Adler.
3074 * WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks
3075 from the notification platform.
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
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):
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):
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
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):
3135 * UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message.
3136 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
3137 (WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented.
3139 2011-12-01 Goutham J <gouthamj@motorola.com>
3141 [WEBKIT2] Fix for compilation warnings in WebContext.cpp
3142 https://bugs.webkit.org/show_bug.cgi?id=69080
3144 Fix compilation warning in WebKit2 builds.
3146 Reviewed by Hajime Morita.
3148 * UIProcess/WebContext.cpp:
3149 (WebKit::WebContext::processDidFinishLaunching):
3150 (WebKit::WebContext::startMemorySampler):
3152 2011-12-01 Beth Dakin <bdakin@apple.com>
3154 https://bugs.webkit.org/show_bug.cgi?id=73592
3155 REGRESSION (r100483): Can't drag out of background window
3157 <rdar://problem/10508870>
3159 Reviewed by Darin Adler.
3161 If the mouse is pressed we need to do a full, normal hit test even if the window
3163 * WebProcess/WebPage/WebPage.cpp:
3164 (WebKit::WebPage::mouseEvent):
3165 (WebKit::WebPage::mouseEventSyncForTesting):
3167 2011-12-01 Martin Robinson <mrobinson@igalia.com>
3169 [GTK] Add a helper function to find the current executable's path
3170 https://bugs.webkit.org/show_bug.cgi?id=73473
3172 Reviewed by Gustavo Noronha Silva.
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.
3178 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3179 (WebKit::findWebKitProcess): Added.
3180 (WebKit::ProcessLauncher::launchProcess): Call the new helper to get the
3183 2011-12-01 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
3185 [Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
3186 https://bugs.webkit.org/show_bug.cgi?id=73338
3188 Reviewed by Noam Rosenthal.
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.
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):
3217 2011-12-01 Nayan Kumar K <nayankk@motorola.com>
3219 [WK2][GTK] Change default-font-size and default-monospace-font-size
3220 https://bugs.webkit.org/show_bug.cgi?id=73468
3222 Reviewed by Martin Robinson.
3224 Set 'default-font-size' property value to 16px and 'default-monospace-font-size'
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.
3232 2011-12-01 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
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
3237 Add a check if popup menu is not visible due to no mouse grab,
3238 Ensure WebCore is in sync with proper state.
3240 Reviewed by Martin Robinson.
3242 * UIProcess/WebPageProxy.cpp:
3243 (WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message
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.
3256 2011-12-01 Pavel Feldman <pfeldman@chromium.org>
3258 Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
3259 https://bugs.webkit.org/show_bug.cgi?id=73554
3261 Reviewed by Yury Semikhatsky.
3263 * UIProcess/WebInspectorProxy.cpp:
3264 (WebKit::WebInspectorProxy::didClose):
3266 2011-11-30 Alexey Proskuryakov <ap@apple.com>
3268 Remove an unneeded argument from FrameLoaderClient::download
3269 https://bugs.webkit.org/show_bug.cgi?id=73486
3271 Reviewed by Andreas Kling.
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.
3295 2011-11-30 Alexey Proskuryakov <ap@apple.com>
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>
3301 Reviewed by Dan Bernstein.
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.
3308 2011-11-30 Igor Oliveira <igor.oliveira@openbossa.org>
3310 [WK2][Qt] AC animation startTime is wrong
3312 [WK2][Qt] AC animation startTime is wrong
3313 https://bugs.webkit.org/show_bug.cgi?id=73467
3315 When WebProcess sends animation information to UIProcess, It uses the
3316 current time(WTF::currentTime) minus the timeOffset to set the start time
3319 But there is a latency between the WebProcess and UIProcess communication
3320 and sometimes the animation transition starts late.
3322 This patch fixes the bug moving the startTime calculation to UIProcess.
3324 Reviewed by Noam Rosenthal.
3326 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3327 (WebKit::LayerTreeHostProxy::syncLayerParameters):
3328 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3329 (WebCore::WebGraphicsLayer::addAnimation):
3331 2011-11-30 Csaba Osztrogonác <ossy@webkit.org>
3333 [Qt] Buildfix for generating forwarding headers
3334 https://bugs.webkit.org/show_bug.cgi?id=73446
3336 Reviewed by Noam Rosenthal.
3338 * DerivedSources.pri: Always create the parent directory before generating a forwarding header.
3340 2011-11-30 Dan Bernstein <mitz@apple.com>
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
3345 Reviewed by Anders Carlsson.
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.
3371 2011-11-30 Alejandro G. Castro <alex@igalia.com>
3373 [GTK] Add accelerated compositing compilation option
3374 https://bugs.webkit.org/show_bug.cgi?id=73298
3376 Compile whatever we have inside the USE(ACCELERATED_COMPOSITING)
3377 define. Fix accelerated compositing compilation in WK2, update the
3378 enter/exit functions.
3380 Reviewed by Martin Robinson.
3382 * UIProcess/API/gtk/PageClientImpl.cpp:
3383 (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
3384 (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
3385 * UIProcess/API/gtk/PageClientImpl.h:
3387 2011-11-29 Beth Dakin <bdakin@apple.com>
3389 https://bugs.webkit.org/show_bug.cgi?id=72751
3390 WebKit2.MouseMoveAfterCrash API test is failing
3392 Reviewed by Sam Weinig.
3394 windowIsFocused() is too restrictive. All we need to know is that the page is
3396 * WebProcess/WebPage/WebPage.cpp:
3397 (WebKit::WebPage::mouseEvent):
3398 (WebKit::WebPage::mouseEventSyncForTesting):
3400 2011-11-29 Sam Weinig <sam@webkit.org>
3402 Add move semantics to WKRetainPtr
3403 https://bugs.webkit.org/show_bug.cgi?id=73400
3405 Reviewed by Anders Carlsson.
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.
3414 2011-11-30 Mario Sanchez Prada <msanchez@igalia.com>
3416 [Gtk] Links should be Tab-focusable by default
3417 https://bugs.webkit.org/show_bug.cgi?id=73427
3419 Reviewed by Martin Robinson.
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.
3427 2011-11-30 Alexey Proskuryakov <ap@apple.com>
3429 Download page URL should be set by WebCore
3430 https://bugs.webkit.org/show_bug.cgi?id=73358
3432 Reviewed by Darin Adler.
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.
3438 2011-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
3440 Rename WebKit::ViewportUpdateGuard to *Deferrer and add some better
3441 comments to explain its purpose.
3443 Reviewed by Simon Hausmann.
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:
3455 2011-11-30 Simon Hausmann <simon.hausmann@nokia.com>
3457 Build fix. The removal of the Qt threading back-end also removed
3458 an implicit QString inclusion/forward-declaration.
3460 * UIProcess/qt/QtWebContext.h:
3462 2011-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
3464 [Qt] Clean up the Qt viewport interaction engine
3466 Reviewed by Simon Hausmann.
3468 * UIProcess/qt/QtViewportInteractionEngine.cpp:
3469 (WebKit::QtViewportInteractionEngine::reset):
3471 Make sure reset is not called while suspended.
3473 (WebKit::QtViewportInteractionEngine::applyConstraints):
3475 We always need to apply the constrains due to initial-scale.
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.
3482 (WebKit::QtViewportInteractionEngine::panGestureStarted):
3483 (WebKit::QtViewportInteractionEngine::pinchGestureActive):
3485 Fix this method to actually do what it advertises, before
3486 it would be true even if just animation a bounce back effect.
3488 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
3489 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
3490 * UIProcess/qt/QtViewportInteractionEngine.h:
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.
3497 2011-11-30 Simon Hausmann <simon.hausmann@nokia.com>
3499 Unreviewed prospective mac build fix after r101450.
3501 * Platform/mac/ModuleMac.mm:
3502 (WebKit::Module::unload): leakRef is declared with attribute warn_unused_result.
3504 2011-11-30 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
3506 [Qt][WK2] Implement permission API for Qt port
3507 https://bugs.webkit.org/show_bug.cgi?id=59200
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.
3513 Reviewed by Simon Hausmann.
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):