1 2011-08-03 Carlos Garcia Campos <cgarcia@igalia.com>
3 [GTK] Reorganize pkg-config files
4 https://bugs.webkit.org/show_bug.cgi?id=65548
6 Reviewed by Martin Robinson.
8 * GNUmakefile.am: Rename pc file as webkit2gtk.pc.in. WebKit2
9 depends on gtk3 unconditionally so we don't need to use
11 * webkit2gtk.pc.in: Renamed from Source/WebKit2/gtk/webkit2.pc.in.
13 2011-08-01 Michael Saboff <msaboff@apple.com>
15 Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
16 https://bugs.webkit.org/show_bug.cgi?id=65502
18 Reviewed by Anders Carlsson.
20 Changed OOL message to use MACH_MSG_PHYSICAL_COPY flag instead of virtual flag
21 so that the original memory region isn't referenced by the message and ultimately
22 the receiving process. The additional reference caused madvise(MADV_FREE_REUSABLE)
23 to fail when it encountered such pages.
25 * Platform/CoreIPC/mac/ConnectionMac.cpp:
26 (CoreIPC::Connection::sendOutgoingMessage):
28 2011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
30 [Qt] Add QtWebProcess in PATH at runtime for WebKit2 API auto tests.
31 https://bugs.webkit.org/show_bug.cgi?id=65378
33 Reviewed by Benjamin Poulain.
35 This prevent the runner of the tests from having to add it to PATH himself.
37 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
38 (tst_CommonViewTests::tst_CommonViewTests):
39 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
40 (tst_QDesktopWebView::tst_QDesktopWebView):
41 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
42 (tst_QTouchWebView::tst_QTouchWebView):
43 * UIProcess/API/qt/tests/tests.pri:
44 * UIProcess/API/qt/tests/util.cpp: Copied from Source/WebKit2/UIProcess/API/qt/tests/util.h.
45 Move definitions to a cpp file to prevent unused static symbol warnings.
46 (addQtWebProcessToPath):
48 * UIProcess/API/qt/tests/util.h:
50 2011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
52 TiledDrawingArea: Handle update requests in the order they were received.
53 https://bugs.webkit.org/show_bug.cgi?id=64365
55 Reviewed by Andreas Kling.
57 TiledDrawingAreaProxy::createTiles() uses the distance of tiles to the
58 center of the viewport to decide which tile should be rendered first.
59 This logic is useless if the requests are not handled in the same order
60 as they were received.
61 Now use a list instead of a map to hold pending tile update requests.
63 * WebProcess/WebPage/TiledDrawingArea.cpp:
64 (WebKit::TiledDrawingArea::tileUpdateTimerFired):
65 (WebKit::TiledDrawingArea::cancelTileUpdate):
66 (WebKit::TiledDrawingArea::requestTileUpdate):
67 * WebProcess/WebPage/TiledDrawingArea.h:
69 2011-08-02 Amruth Raj <amruthraj@motorola.com>
71 Custom cursors cause the WebProcess to crash
72 https://bugs.webkit.org/show_bug.cgi?id=64802
74 Reviewed by Martin Robinson.
76 * Shared/WebCoreArgumentCoders.cpp:
77 (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
78 (CoreIPC::::decode): Decode the image only if required.
80 2011-08-01 Scott Graham <scottmg@chromium.org>
82 REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
83 https://bugs.webkit.org/show_bug.cgi?id=61006
85 Reviewed by Antti Koivisto.
87 Update exports for test harness.
90 * win/WebKit2CFLite.def:
92 2011-08-01 Hayato Ito <hayato@chromium.org>
94 Add support for getting an element in shadow root by its id into a window.internals object.
95 https://bugs.webkit.org/show_bug.cgi?id=64587
97 Reviewed by Hajime Morita.
100 * win/WebKit2CFLite.def:
102 2011-08-01 Sheriff Bot <webkit.review.bot@gmail.com>
104 Unreviewed, rolling out r92108.
105 http://trac.webkit.org/changeset/92108
106 https://bugs.webkit.org/show_bug.cgi?id=65459
108 breaks SL compile (Requested by tonyg-cr on #webkit).
110 * Shared/WebCoreArgumentCoders.cpp:
114 2011-08-01 Amruth Raj <amruthraj@motorola.com>
116 Custom cursors cause the WebProcess to crash
117 https://bugs.webkit.org/show_bug.cgi?id=64802
119 Reviewed by Darin Adler.
121 * Shared/WebCoreArgumentCoders.cpp:
122 (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
123 (CoreIPC::::decode): Decode the image only if required.
125 2011-07-31 Daniel Bates <dbates@webkit.org>
127 Try again to fix the WinCairo Debug build after r92059 ( https://bugs.webkit.org/show_bug.cgi?id=65419).
129 * win/WebKit2CFLite.def: Export symbols needed by Internals.
131 2011-07-30 Dan Bernstein <mitz@apple.com>
133 Try to fix the Windows build after r92059.
135 * win/WebKit2.def: Export symbols needed by Internals.
137 2011-07-30 Patrick Gansterer <paroga@webkit.org>
139 Remove inclusion of MainThread.h from Threading.h
140 https://bugs.webkit.org/show_bug.cgi?id=65081
142 Reviewed by Darin Adler.
144 Add missing include statements for MainThread.
146 * PluginProcess/gtk/PluginProcessMainGtk.cpp:
147 * PluginProcess/mac/PluginProcessMainMac.mm:
148 * PluginProcess/qt/PluginProcessMainQt.cpp:
149 * UIProcess/API/mac/WKPrintingView.mm:
150 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
151 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
152 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
153 * UIProcess/WebContext.cpp:
154 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
155 * WebProcess/efl/WebProcessMainEfl.cpp:
156 * WebProcess/gtk/WebProcessMainGtk.cpp:
157 * WebProcess/mac/KeychainItemShimMethods.mm:
158 * WebProcess/mac/WebProcessMainMac.mm:
159 * WebProcess/qt/WebProcessMainQt.cpp:
160 * WebProcess/win/WebProcessMainWin.cpp:
162 2011-07-30 Balazs Kelemen <kbalazs@webkit.org>
164 [Qt][WK2] Fix the build afer r92014
165 https://bugs.webkit.org/show_bug.cgi?id=65410
167 Reviewed by Noam Rosenthal.
169 * Shared/ShareableBitmap.h:
170 * UIProcess/qt/qdesktopwebpageproxy.cpp:
171 (QDesktopWebPageProxy::paintContent):
173 2011-07-29 Sam Weinig <sam@webkit.org>
175 Move Region code from WebKit2 to WebCore
176 https://bugs.webkit.org/show_bug.cgi?id=65392
178 Reviewed by David Hyatt.
183 * WebKit2.xcodeproj/project.pbxproj:
184 * win/WebKit2.vcproj:
185 Update project files.
187 * Platform/Region.cpp: Removed.
188 * Platform/Region.h: Removed.
191 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
192 (webkitWebViewBaseDraw):
193 * UIProcess/API/mac/WKView.mm:
194 * UIProcess/DrawingAreaProxyImpl.cpp:
195 * UIProcess/DrawingAreaProxyImpl.h:
196 * UIProcess/qt/qdesktopwebpageproxy.cpp:
197 * UIProcess/win/WebView.cpp:
198 * WebProcess/WebPage/DrawingAreaImpl.h:
199 Update for new namespace and include type.
201 2011-07-29 Anders Carlsson <andersca@apple.com>
203 Pass the HTTP referrer header for URLs loaded by plug-ins
204 https://bugs.webkit.org/show_bug.cgi?id=65379
205 <rdar://problem/9822116>
207 Reviewed by Sam Weinig.
209 Set the HTTP referrer if necessary.
211 * WebProcess/Plugins/PluginView.cpp:
212 (WebKit::PluginView::loadURL):
214 2011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
216 Fix the QTouchWebView in debug segfault on shutdown introduced in 91979.
217 https://bugs.webkit.org/show_bug.cgi?id=64728
219 Reviewed by Benjamin Poulain.
221 unregisterTile is called in the tile's destructor, triggered in the TileSet's
222 destruction, which happens in the middle of the proxy's destruction
223 (after the m_tilesByID HashMap destruction).
224 Detach the tiles in the proxy's destructor to make sure they can cleanup
227 * UIProcess/TiledDrawingAreaProxy.cpp:
228 (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
230 2011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
232 Fix the QTouchWebView in debug broke in 91979.
233 https://bugs.webkit.org/show_bug.cgi?id=64728
235 Reviewed by Benjamin Poulain.
237 registerTile is called in the Tile's constructor, before adoptRef.
238 Change the pointer parameter to use the raw type instead.
240 * UIProcess/TiledDrawingAreaProxy.cpp:
241 (WebKit::TiledDrawingAreaProxy::registerTile):
242 * UIProcess/TiledDrawingAreaProxy.h:
244 2011-07-29 Alexis Menard <alexis.menard@openbossa.org>
246 [Qt] Make QDesktopWebView/QTouchWebView loadProgress property more usable in QML.
247 https://bugs.webkit.org/show_bug.cgi?id=65315
249 Reviewed by Benjamin Poulain.
251 In order to use the loadProgress value in QML we need to make it
252 a Q_PROPERTY, therefore we need a getter to get it.
254 * UIProcess/API/qt/qdesktopwebview.cpp:
255 (QDesktopWebViewPrivate::didChangeLoadProgress):
256 (QDesktopWebView::url):
257 (QDesktopWebView::loadProgress):
258 * UIProcess/API/qt/qdesktopwebview.h:
259 * UIProcess/API/qt/qtouchwebpage.cpp:
260 (QTouchWebPage::loadProgress):
261 * UIProcess/API/qt/qtouchwebpage.h:
262 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
263 (tst_CommonViewTests::stop):
264 (tst_CommonViewTests::loadProgress):
265 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
266 (WebViewAbstraction::WebViewAbstraction):
267 (WebViewAbstraction::loadProgress):
268 (WebViewAbstraction::desktopViewLoadFailed):
269 (WebViewAbstraction::touchViewLoadProgressChanged):
270 (WebViewAbstraction::desktopViewLoadProgressChanged):
271 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
272 * UIProcess/qt/QtWebPageProxy.cpp:
273 (QtWebPageProxy::QtWebPageProxy):
274 (QtWebPageProxy::didChangeLoadProgress):
275 * UIProcess/qt/QtWebPageProxy.h:
276 (QtWebPageProxy::loadProgress):
277 * UIProcess/qt/TouchViewInterface.cpp:
278 (WebKit::TouchViewInterface::didChangeLoadProgress):
280 2011-07-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
282 TiledDrawingArea: Use tile sets to paint old content while rendering for a new scale.
283 https://bugs.webkit.org/show_bug.cgi?id=64728
285 Reviewed by Benjamin Poulain.
287 We currently delete all the tiles when setContentsScale is called. This shows a blank
288 background to the user while the web process render tiles for the new scale.
290 This patch extracts the ownership of individual tiles from TiledDrawingAreaProxy to
291 TiledDrawingAreaTileSet to allow the proxy to paint tiles with different scales.
292 We can then paint the tiles we already have on top of the tiles we are rendering for
293 the new scale until enough content is available.
295 * UIProcess/TiledDrawingAreaProxy.cpp:
296 (WebKit::TiledDrawingAreaTileSet::tiles):
297 (WebKit::TiledDrawingAreaTileSet::contentsScale):
298 (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
299 (WebKit::TiledDrawingAreaTileSet::mapToContents):
300 (WebKit::TiledDrawingAreaTileSet::mapFromContents):
301 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
302 (WebKit::TiledDrawingAreaProxy::registerTile):
303 (WebKit::TiledDrawingAreaProxy::unregisterTile):
304 Added those two methods to allow the tiles to clean
305 themselves on destruction.
306 (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
307 (WebKit::TiledDrawingAreaProxy::cancelTileUpdate):
308 (WebKit::TiledDrawingAreaProxy::invalidate):
309 (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
310 (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
311 (WebKit::TiledDrawingAreaProxy::paint):
312 (WebKit::TiledDrawingAreaProxy::coverageRatio):
313 (WebKit::TiledDrawingAreaProxy::setContentsScale):
314 (WebKit::TiledDrawingAreaProxy::createTiles):
315 (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
316 (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
317 (WebKit::TiledDrawingAreaProxy::disableTileSetUpdates):
318 (WebKit::TiledDrawingAreaProxy::removeAllTiles):
319 (WebKit::TiledDrawingAreaProxy::contentsRect):
320 (WebKit::TiledDrawingAreaProxy::visibleRect):
321 (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
322 * UIProcess/TiledDrawingAreaProxy.h:
323 * UIProcess/TiledDrawingAreaTile.h:
324 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
325 (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
326 (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
327 (WebKit::TiledDrawingAreaTile::incorporateUpdate):
328 (WebKit::TiledDrawingAreaTile::disableUpdates):
329 (WebKit::TiledDrawingAreaTile::updateBackBuffer):
331 2011-07-28 Tim Horton <timothy_horton@apple.com>
333 REGRESSION (5.1): CJK input broken after clicking on Flash content
334 <rdar://problem/9854447>
335 https://bugs.webkit.org/show_bug.cgi?id=65349
337 Reviewed by Darin Adler.
339 After giving Flash focus on a page and then navigating away from that page
340 using the back button, we were not getting notified to switch back to
341 inline (non-complex) input. Now, notify the page that it can leave complex
342 text mode when the plugin is destroyed.
344 * WebProcess/Plugins/PluginView.cpp:
345 (WebKit::PluginView::~PluginView):
347 2011-07-28 Anders Carlsson <andersca@apple.com>
349 Crash when trying to encode FontInfo with a null font attribute descriptor
350 https://bugs.webkit.org/show_bug.cgi?id=65350
351 <rdar://problem/9520670>
353 Reviewed by Darin Adler.
355 * Shared/FontInfo.cpp:
356 (WebKit::FontInfo::encode):
357 Encode a boolean specifying whether there's a fontAttributeDictionary member variable.
359 (WebKit::FontInfo::decode):
360 Don't try to decode the fontAttributeDictionary member variable if none has been encoded.
362 2011-07-26 Chris Fleizach <cfleizach@apple.com>
364 REGRESSION (Safari 5.1): JavaScript dialogs not usable with VoiceOver
365 https://bugs.webkit.org/show_bug.cgi?id=65214
367 Reviewed by Anders Carlsson.
369 Allow the ability to spin the run loop while WebProcess is waiting for a synchronous reply.
370 This allows it to continue to serve accessibility requests while waiting and basically
371 restores the behavior WK1 was presenting. This patch only enables this mode when accessibility is on.
373 * Platform/CoreIPC/Connection.cpp:
374 (CoreIPC::Connection::sendSyncMessage):
375 (CoreIPC::Connection::waitForSyncReply):
376 * Platform/CoreIPC/Connection.h:
377 (CoreIPC::Connection::sendSync):
378 * Platform/RunLoop.h:
379 * Platform/mac/RunLoopMac.mm:
380 (RunLoop::runForDuration):
381 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
382 (WebKit::WebChromeClient::runJavaScriptAlert):
383 (WebKit::WebChromeClient::runJavaScriptConfirm):
384 (WebKit::WebChromeClient::runJavaScriptPrompt):
386 2011-07-28 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
388 Pass the key_press_event or key_release_event to parent widget when it is not handled by Web Process.
389 (https://bugs.webkit.org/show_bug.cgi?id=64790)
391 Reviewed by Martin Robinson.
393 * Shared/NativeWebKeyboardEvent.h:
394 (WebKit::NativeWebKeyboardEvent::nativeEvent): Return a GdkEvent* instead of const GdkEvent* (non-const).
395 * UIProcess/API/gtk/PageClientImpl.cpp:
396 (WebKit::PageClientImpl::doneWithKeyEvent): Implemented for GTK port. Sets flag if the keyboard event
397 needs to be passed to the parent widget. Invoke gtk_main_do_event() if event needs to be passed to parent.
398 * UIProcess/API/gtk/PageClientImpl.h: Deleted obsolete functions didNotHandleKeyEvent & didNotHandleWheelEvent.
399 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
400 (webkit_web_view_base_init): Initialize shouldForwardNextKeyEvent flag.
401 (webkitWebViewBaseKeyPressEvent): Pass event to parent widget depending on status from doneWithKeyEvent.
402 (webkitWebViewBaseKeyReleaseEvent): Pass event to parent widget depending on status from doneWithKeyEvent.
403 (webkitWebViewBaseForwardNextKeyEvent): API to set flag shouldForwardNextKeyEvent.
404 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added API to set shouldForwardNextKeyEvent flag.
406 2011-07-28 Dan Bernstein <mitz@apple.com>
408 <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
410 Reviewed by Darin Adler.
412 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
413 (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters.
415 2011-07-28 Brady Eidson <beidson@apple.com>
417 <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
418 WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
420 Reviewed by Maciej Stachowiak.
422 * WebProcess/WebProcess.cpp:
423 (WebKit::WebProcess::initializeWebProcess): Pass a null client pointer in the new form of initializeTracker()
425 2011-07-27 Mark Hahnenberg <mhahnenberg@apple.com>
427 Remove operator new from JSCell
428 https://bugs.webkit.org/show_bug.cgi?id=64999
430 Reviewed by Oliver Hunt.
432 Removed the implementation of operator new in JSCell, so any further uses
433 will not successfully link. Also removed any remaining uses of operator new.
435 * WebProcess/Plugins/Netscape/JSNPMethod.h:
436 (WebKit::JSNPMethod::create):
437 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
438 (WebKit::JSNPObject::methodGetter):
439 * WebProcess/Plugins/Netscape/JSNPObject.h:
440 (WebKit::JSNPObject::create):
441 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
442 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
444 2011-07-27 Benjamin Poulain <benjamin@webkit.org>
446 [WK2][Qt] Move from QGraphicsView to Qt Scene Graph
447 https://bugs.webkit.org/show_bug.cgi?id=62969
449 Reviewed by Andreas Kling.
451 Co-authored with Simon Hausmann <simon.hausmann@nokia.com>
453 This patch change the base of WebKit2 from QGraphicsWidget
454 to scenegraph based items.
456 QTouchWebView becomes a QSGItem with the only role of clipping
458 QTouchWebPage becomes a QSGPaintedItem in order to render the content
459 of the flattened page. This is a temporary work around to get
460 something running without deep changes on the drawing area proxy.
462 QDesktopWebView become a QSGPaintedItem and behave as before
463 regarding rendering. The drawing area proxy is used to render
466 The event delivery had to be adapted because the scenegraph does not
467 follow regular delivery of QEvents. Instead, each event type is
468 delivered directly to a specific virtual function.
469 In this patch, the events are forwarded to the classic QObject::event().
471 For the features that cannot be implemented on scenegraph (tooltip, menus, etc),
472 a temporary workaround was added: the parent canvas is used as the widget for
473 providing the feature. This assumes the web views alone in the canvas and
474 take its full size. This will have to be fixed in the scenegraph for us to
475 implement those features.
477 * UIProcess/API/qt/qdesktopwebview.cpp:
478 (QDesktopWebViewPrivate::drawingAreaSize):
479 (QDesktopWebViewPrivate::isActive):
480 (QDesktopWebViewPrivate::startDrag):
481 (QDesktopWebViewPrivate::didChangeToolTip):
482 (QDesktopWebViewPrivate::didChangeCursor):
483 (QDesktopWebViewPrivate::showContextMenu):
484 (QDesktopWebView::QDesktopWebView):
485 (QDesktopWebView::init):
487 (QDesktopWebView::keyPressEvent):
488 (QDesktopWebView::keyReleaseEvent):
489 (QDesktopWebView::inputMethodEvent):
490 (QDesktopWebView::focusInEvent):
491 (QDesktopWebView::focusOutEvent):
492 (QDesktopWebView::mousePressEvent):
493 (QDesktopWebView::mouseMoveEvent):
494 (QDesktopWebView::mouseReleaseEvent):
495 (QDesktopWebView::mouseDoubleClickEvent):
496 (QDesktopWebView::wheelEvent):
497 (QDesktopWebView::touchEvent):
498 (QDesktopWebView::hoverEnterEvent):
499 (QDesktopWebView::hoverMoveEvent):
500 (QDesktopWebView::hoverLeaveEvent):
501 (QDesktopWebView::dragMoveEvent):
502 (QDesktopWebView::dragEnterEvent):
503 (QDesktopWebView::dragExitEvent):
504 (QDesktopWebView::dragDropEvent):
505 (QDesktopWebView::geometryChanged):
506 (QDesktopWebView::paint):
507 (QDesktopWebView::event):
508 * UIProcess/API/qt/qdesktopwebview.h:
509 * UIProcess/API/qt/qtouchwebpage.cpp:
510 (QTouchWebPage::QTouchWebPage):
511 (QTouchWebPage::paint):
512 (QTouchWebPage::event):
513 (QTouchWebPage::keyPressEvent):
514 (QTouchWebPage::keyReleaseEvent):
515 (QTouchWebPage::inputMethodEvent):
516 (QTouchWebPage::focusInEvent):
517 (QTouchWebPage::focusOutEvent):
518 (QTouchWebPage::touchEvent):
519 (QTouchWebPage::geometryChanged):
520 * UIProcess/API/qt/qtouchwebpage.h:
521 * UIProcess/API/qt/qtouchwebview.cpp:
522 (QTouchWebViewPrivate::scroll):
523 (QTouchWebView::QTouchWebView):
524 (QTouchWebView::geometryChanged):
525 * UIProcess/API/qt/qtouchwebview.h:
526 * UIProcess/API/qt/tests/tests.pri:
527 * UIProcess/API/qt/tests/testwindow.h:
528 (TestWindow::TestWindow):
529 (TestWindow::resizeEvent):
530 * UIProcess/qt/TouchViewInterface.cpp:
531 (WebKit::TouchViewInterface::panGestureRequestScroll):
532 (WebKit::TouchViewInterface::pinchGestureRequestUpdate):
533 (WebKit::TouchViewInterface::drawingAreaSize):
534 (WebKit::TouchViewInterface::contentSizeChanged):
535 (WebKit::TouchViewInterface::isActive):
536 * UIProcess/qt/ViewInterface.cpp: Removed.
537 * UIProcess/qt/ViewInterface.h:
540 2011-07-27 Benjamin Poulain <benjamin@webkit.org>
542 [Qt][WK2] Clean WKPageLoaderClient
543 https://bugs.webkit.org/show_bug.cgi?id=65246
545 Reviewed by Andreas Kling.
547 Remove the empty functions from Qt's WKPageLoaderClient.
549 * UIProcess/qt/ClientImpl.cpp:
550 (qt_wk_didSameDocumentNavigationForFrame): Move the function to
551 have all the implementations in the same order as the definitions.
552 * UIProcess/qt/ClientImpl.h:
553 * UIProcess/qt/QtWebPageProxy.cpp:
554 (QtWebPageProxy::init):
556 2011-07-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
558 Fix Qt (and possibly Gtk) WebKit2 build after addition of -webkit-pictograph
559 https://bugs.webkit.org/show_bug.cgi?id=65253
561 Reviewed by Andreas Kling.
563 The -webkit-pictograph generic family was added by bug 65197.
565 * Shared/WebPreferencesStore.h:
567 2011-07-27 Benjamin Poulain <benjamin@webkit.org>
569 [Qt][WK2] Simplify the PageUIClient
570 https://bugs.webkit.org/show_bug.cgi?id=65198
572 Reviewed by Andreas Kling.
574 The only function of WKPageLoaderClient with a complete implementation
575 is qt_wk_setStatusText(). The other functions were what is left from
576 before the refactoring of QWKPage.
578 This patch removes the unused functions to simplify the client. Since the dependency
579 on QtWebPageProxy is removed from that client, it now calls the ViewInterface directly.
581 * UIProcess/qt/ClientImpl.cpp:
583 (qt_wk_setStatusText):
584 * UIProcess/qt/ClientImpl.h:
585 * UIProcess/qt/QtWebPageProxy.cpp:
586 (QtWebPageProxy::QtWebPageProxy):
587 (QtWebPageProxy::init):
588 * UIProcess/qt/QtWebPageProxy.h:
590 2011-07-26 Sadrul Habib Chowdhury <sadrul@chromium.org>
592 Add support for download='filename' attribute in anchors.
593 https://bugs.webkit.org/show_bug.cgi?id=64580
595 Reviewed by Adam Barth.
597 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
598 (WebKit::WebFrameLoaderClient::startDownload):
599 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
601 2011-07-26 Tim Horton <timothy_horton@apple.com>
603 Apply r40940 to WebKit2 to work around a Silverlight crash.
604 https://bugs.webkit.org/show_bug.cgi?id=65205
605 <rdar://problem/9058370>
607 Reviewed by Anders Carlsson.
609 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
610 (WebKit::NetscapePluginModule::determineQuirks):
611 * Shared/Plugins/PluginQuirks.h:
612 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
613 (WebKit::NetscapePlugin::userAgent):
615 2011-07-26 Dan Bernstein <mitz@apple.com>
617 <rdar://problem/9842889> Add a generic pictograph font family
618 https://bugs.webkit.org/show_bug.cgi?id=65197
620 Reviewed by Anders Carlsson.
622 * Shared/WebPreferencesStore.h:
623 * UIProcess/API/C/WKPreferences.cpp:
624 (WKPreferencesSetPictographFontFamily): Added.
625 (WKPreferencesCopyPictographFontFamily): Added.
626 * UIProcess/API/C/WKPreferences.h:
628 2011-07-26 Andras Becsi <abecsi@webkit.org>
630 [Qt] [WK2] Disable the build with Qt versions older than 5.0
631 https://bugs.webkit.org/show_bug.cgi?id=65189
633 Reviewed by Csaba Osztrogonác.
635 * Platform/qt/ModuleQt.cpp:
636 (WebKit::Module::platformFunctionPointer): Fix the build for Qt5.
638 2011-07-26 Benjamin Poulain <benjamin@webkit.org>
640 [Qt][WK2] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy
641 https://bugs.webkit.org/show_bug.cgi?id=64739
643 Reviewed by Andreas Kling.
645 Change the WebContextMenuProxyQt to be the intermediary between the WebPageProxy and our views regarding
648 The actions of the context menu are no longer the responsibility of QtWebPageProxy but are instead
649 created and handled directly by the WebContextMenuProxyQt.
651 * UIProcess/qt/QtWebPageProxy.cpp:
652 (QtWebPageProxy::createContextMenuProxy):
653 (QtWebPageProxy::triggerAction):
654 (QtWebPageProxy::action):
655 * UIProcess/qt/QtWebPageProxy.h:
656 * UIProcess/qt/WebContextMenuProxyQt.cpp:
657 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
658 (WebKit::WebContextMenuProxyQt::create):
659 (WebKit::WebContextMenuProxyQt::actionTriggered):
660 (WebKit::WebContextMenuProxyQt::showContextMenu):
661 (WebKit::WebContextMenuProxyQt::hideContextMenu):
662 (WebKit::WebContextMenuProxyQt::createContextMenu):
663 * UIProcess/qt/WebContextMenuProxyQt.h:
665 2011-07-26 Carlos Garcia Campos <cgarcia@igalia.com>
667 [GTK] Remove header webkitwebviewcommon.h
668 https://bugs.webkit.org/show_bug.cgi?id=65177
670 Reviewed by Martin Robinson.
672 * UIProcess/API/gtk/WebKitWebView.h: Add function prototypes
673 instead of including webkitwebviewcommon.h.
675 2011-07-22 Jessie Berlin <jberlin@apple.com>
677 [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work.
678 https://bugs.webkit.org/show_bug.cgi?id=64997
680 Reviewed by Ada Chan.
682 * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
683 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
684 Set the policy on the Cookie Storage used by the Private Browsing Storage Session as well.
685 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
686 (InitWebCoreSystemInterface):
688 2011-07-21 Yael Aharon <yael.aharon@nokia.com>
690 [Qt][WK2] Code cleanup for drag-and-drop
691 https://bugs.webkit.org/show_bug.cgi?id=64916
693 Reviewed by Andreas Kling.
695 * UIProcess/WebPageProxy.cpp:
696 (WebKit::WebPageProxy::startDrag):
697 Allow receiving a NULL bitmap from the web process.
699 * UIProcess/qt/qdesktopwebpageproxy.cpp:
700 (QDesktopWebPageProxy::handleEvent):
701 Fix typo introduced in http://trac.webkit.org/changeset/90458.
702 All DnD related events should be GraphicsScene events.
704 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
705 (WebKit::convertQPixmapToShareableBitmap):
706 Remove hack that creates a 1x1 bitmap.
707 It is no longer needed after http://trac.webkit.org/changeset/91016.
709 (WebKit::WebDragClient::startDrag):
710 Allow sending a NULL bitmap to the UI process.
712 2011-07-20 Tim Horton <timothy_horton@apple.com>
714 Scrollbar color heuristic needs to be hooked up in WebKit1
715 https://bugs.webkit.org/show_bug.cgi?id=64220
716 <rdar://problem/9589140>
718 Reviewed by Darin Adler.
720 Store the scroller style on ScrollableArea, and recompute it whenever
721 the document or body element background color changes or the base background
722 color of the scrollview changes. Also, make sure to repaint the scrollbars
723 whenever the style changes.
725 * WebProcess/WebPage/WebFrame.cpp:
726 (WebKit::WebFrame::getDocumentBackgroundColor):
728 2011-07-20 James Robinson <jamesr@chromium.org>
730 Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
731 https://bugs.webkit.org/show_bug.cgi?id=64841
733 Reviewed by Mark Rowe.
735 http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
736 monotonic clock instead of WTF::currentTime(). This broke many plugin tests on WebKit2 for reasons that are
737 unclear. This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
739 * Platform/CoreIPC/Connection.cpp:
740 (CoreIPC::Connection::waitForMessage):
741 (CoreIPC::Connection::waitForSyncReply):
742 * Platform/RunLoop.h:
744 2011-07-19 Ryosuke Niwa <rniwa@webkit.org>
746 Build fix after r91307.
748 * Platform/Logging.h:
750 2011-07-19 Lukasz Slachciak <lukasz.slachciak@gmail.com>
752 [GTK] [WK2] Implement missing initializeLogChannel function.
753 https://bugs.webkit.org/show_bug.cgi?id=63381
755 Reviewed by Martin Robinson.
757 Implemented logging for GTK platform in WebKit2 - function initializeLogChannel is called for all ports,
758 so added missing implementation. Aslo helper function added for getting channels from names.
760 * GNUmakefile.am: Added reference to new file LoggingGtk.cpp.
761 * Platform/Logging.cpp: Logging implementation for GTK port enabled.
762 (WebKit::getChannelFromName): Helper to connect name with WTFLogChannel.
763 * Platform/Logging.h: New helper method added.
764 * Platform/gtk/LoggingGtk.cpp: Added. GTK logging implementation.
765 (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
767 2011-07-19 Brian Weinstein <bweinstein@apple.com>
769 Add back a change that was accidentally removed in r91266.
771 Make sure to retain the WKPasteboardFilePromiseOwner before calling draggedImage because draggedImage releases
772 its responder. Also make the comment more explicit, to keep this mistake from being made in the future.
774 Rubber-stamped by Darin Adler.
776 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
777 (WebKit::WebDragClient::dragEnded):
779 2011-07-18 Brian Weinstein <bweinstein@apple.com>
781 Speculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac
782 https://bugs.webkit.org/show_bug.cgi?id=64766
783 <rdar://problem/9548174>
785 Reviewed by Enrica Casucci.
787 I was unable to reproduce this bug, but Darin Adler and I discussed the probable issue. When starting the drag, we create
788 a WKPasteboardFilePromiseOwner, and a WKPasteboardOwner. When the drag is concluded, we call a method on the WKPasteboardFilePromiseOwner
789 which uses the WKPasteboardOwner. However, we are not guaranteeing that the WKPasteboardOwner will be around when the
790 WKPasteboardFilePromiseOwner method is called.
792 The fix is to retain both the WKPasteboardFilePromiseOwner and the WKPasteboardOwner that we need, making sure that we are keeping
795 This patch also uses r91222 to replace WebPage::platformDragEnded, so WebPage doesn't need to know about the drag source.
797 * WebProcess/WebCoreSupport/WebDragClient.cpp:
798 (WebKit::WebDragClient::dragEnded): Add a non-Mac stub method, since the Mac is the only platform that does something here.
799 * WebProcess/WebCoreSupport/WebDragClient.h:
800 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
801 (WebKit::WebDragClient::declareAndWriteDragImage): Use member variables instead of local variables.
802 (WebKit::WebDragClient::dragEnded): Move code from WebPageMac::platformDragEnded to here, and clear both member variables.
803 * WebProcess/WebPage/WebPage.cpp:
804 (WebKit::WebPage::dragEnded): Don't call platformDragEnded anymore. WebCore::DragController::dragEnded calls WebDragClient::dragEnded,
805 which does the same thing.
806 * WebProcess/WebPage/WebPage.h:
807 * WebProcess/WebPage/mac/WebPageMac.mm: Remove platformDragEnded.
809 2011-07-18 Alexis Menard <alexis.menard@openbossa.org>
811 [Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
812 https://bugs.webkit.org/show_bug.cgi?id=64690
814 Make the API usable with QML by declaring what's needed
817 Reviewed by Benjamin Poulain.
819 * UIProcess/API/qt/qdesktopwebview.h:
821 2011-07-18 MORITA Hajime <morrita@google.com>
823 [ShadowContentElement] forwarded node should be able to access its hosting content element.
824 https://bugs.webkit.org/show_bug.cgi?id=64251
826 Reviewed by Dimitri Glazkov.
828 Exported additional symbols for window.internals object.
831 * win/WebKit2CFLite.def:
833 2011-07-18 Dean Jackson <dino@apple.com>
835 https://bugs.webkit.org/show_bug.cgi?id=64742
836 Expose WebPreferences for media playback requiring user gestures and inline playback
838 Reviewed by Simon Fraser.
840 Two new WebPreferences: MediaPlaybackRequiresUserGesture and
841 MediaPlaybackAllowsInline.
843 * Shared/WebPreferencesStore.h:
844 * UIProcess/API/C/WKPreferences.cpp:
845 (WKPreferencesSetMediaPlaybackRequiresUserGesture):
846 (WKPreferencesGetMediaPlaybackRequiresUserGesture):
847 (WKPreferencesSetMediaPlaybackAllowsInline):
848 (WKPreferencesGetMediaPlaybackAllowsInline):
849 * UIProcess/API/C/WKPreferencesPrivate.h:
850 * WebProcess/WebPage/WebPage.cpp:
851 (WebKit::WebPage::updatePreferences):
853 2011-07-18 James Robinson <jamesr@chromium.org>
855 Timer scheduling should be based off the monotonic clock
856 https://bugs.webkit.org/show_bug.cgi?id=64544
858 Reviewed by Darin Adler.
860 Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().
862 * Platform/CoreIPC/Connection.cpp:
863 (CoreIPC::Connection::waitForMessage):
864 (CoreIPC::Connection::waitForSyncReply):
865 * Platform/RunLoop.h:
867 2011-07-18 Anders Carlsson <andersca@apple.com>
869 Make using lowercase parameter names for AppleConnect be a plug-in quirk
870 https://bugs.webkit.org/show_bug.cgi?id=64638
872 Reviewed by Sam Weinig.
874 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
875 (WebKit::NetscapePluginModule::determineQuirks):
876 Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in.
878 * Shared/Plugins/PluginQuirks.h:
879 Add WantsLowercaseParameterNames quirk.
881 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
882 (WebKit::NetscapePlugin::initialize):
883 If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter
886 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
887 (WebKit::WebFrameLoaderClient::createPlugin):
888 Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks
889 aren't really the same thing as site-specific quirks.
891 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
893 [Qt] Consider QTouchWebPage's transform when scrolling the viewport.
894 https://bugs.webkit.org/show_bug.cgi?id=64541
896 Reviewed by Benjamin Poulain.
898 Currently the scroll deltas are given to moveBy in page coordinates
899 which doesn't match when the page view is scalled.
900 This patch gives the scroll delta to the viewport in it's own coordinates.
902 * UIProcess/qt/TouchViewInterface.cpp:
903 (WebKit::TouchViewInterface::panGestureRequestScroll):
905 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
907 [Qt] Push the new viewport rect to the drawing area after committing the scale.
908 https://bugs.webkit.org/show_bug.cgi?id=64597
910 Reviewed by Benjamin Poulain.
912 * UIProcess/qt/TouchViewInterface.cpp:
913 (WebKit::TouchViewInterface::pinchGestureEnded):
915 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
917 [Qt] Remove the scale commit timer from QTouchWebPage.
918 https://bugs.webkit.org/show_bug.cgi?id=64600
920 Reviewed by Benjamin Poulain.
922 Since we don't currently need unprepared page view scale changes,
923 this timer isn't useful.
925 * UIProcess/API/qt/qtouchwebpage.cpp:
926 (QTouchWebPage::QTouchWebPage):
927 (QTouchWebPagePrivate::QTouchWebPagePrivate):
928 (QTouchWebPagePrivate::commitScaleChange):
929 * UIProcess/API/qt/qtouchwebpage.h:
930 * UIProcess/API/qt/qtouchwebpage_p.h:
931 * UIProcess/qt/TouchViewInterface.cpp:
932 (WebKit::TouchViewInterface::pinchGestureStarted):
934 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
936 TiledDrawingArea: map the visibleArea rect from page to tiles coordinates.
937 https://bugs.webkit.org/show_bug.cgi?id=64538
939 Reviewed by Benjamin Poulain.
941 TiledDrawingAreaProxy expects its coordinates to be scaled according to
942 contentsScale. This patch keep the pushed visibleArea as page coordinates
943 and convert it each time to scaled coordinates in case the contents scale was
945 This is a regression introduced in r90750.
947 - Rename visibleArea to visibleContentRect
948 - Remove an unnecessary mapToContents in QTouchWebPageProxy::setVisibleContentRect
950 * UIProcess/API/qt/qtouchwebpage.cpp:
951 (QTouchWebPagePrivate::setViewportRect):
952 * UIProcess/TiledDrawingAreaProxy.cpp:
953 (WebKit::TiledDrawingAreaProxy::invalidate):
954 (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
955 (WebKit::TiledDrawingAreaProxy::createTiles):
956 (WebKit::TiledDrawingAreaProxy::visibleRect):
957 * UIProcess/TiledDrawingAreaProxy.h:
958 * UIProcess/qt/qtouchwebpageproxy.cpp:
959 (QTouchWebPageProxy::setVisibleContentRect):
960 * UIProcess/qt/qtouchwebpageproxy.h:
962 2011-07-17 Amruth Raj <amruthraj@motorola.com>
964 [GTK] Fix selection of elements in a multi select list and remove an unnecessary include in WorkQueue
965 https://bugs.webkit.org/show_bug.cgi?id=64666
967 Reviewed by Martin Robinson.
969 * Platform/gtk/WorkQueueGtk.cpp: Remove an include which is no longer required
970 * Shared/gtk/WebEventFactory.cpp:
971 (WebKit::modifiersForEvent): Fix an incorrect ASSERT statement
972 (WebKit::WebEventFactory::createWebMouseEvent): Call the function to determine the modifier keys
974 2011-07-17 Lukasz Slachciak <l.slachciak@samsung.com>
976 Reviewed by Martin Robinson.
978 [GTK] [WK2] Fix for getting editor client commands.
979 https://bugs.webkit.org/show_bug.cgi?id=63081
981 Editor client commands intepretation was incorrect. It was based on the NativeWebKeyboardEvent only.
982 In fact EventHandler is generating interpreted events - keypress and keydown. These event types
983 are now passed from UIProcess to WebProcess so KeyBindingTranslator can correctly find editor commands.
984 Also build break for Debug build was fixed.
986 * UIProcess/API/gtk/PageClientImpl.cpp: KeyboardEvent type is used for KeyBindingTranslator.
987 (WebKit::PageClientImpl::getEditorCommandsForKeyEvent): getEditorCommandsForKeyEvent now has additional
988 parameter describing KeyboardEvent type.
989 * UIProcess/API/gtk/PageClientImpl.h:
990 * UIProcess/PageClient.h:
991 * UIProcess/WebPageProxy.h:
992 * UIProcess/WebPageProxy.messages.in:
993 * UIProcess/gtk/WebPageProxyGtk.cpp:
994 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): KeyboardEvent type passed to PageClient.
995 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
996 (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): Sync message send with KeyboardEvent type.
998 2011-07-16 Daniel Bates <dbates@webkit.org>
1000 Fix Win Cairo Debug build after <http://trac.webkit.org/changeset/91085>.
1002 Add stub implementation of scale factor overloaded ShareableBitmap::paint() for
1003 Cairo WebKit2 port after its usage in changeset <http://trac.webkit.org/changeset/91085>.
1005 Also add stub implementation for GTK.
1007 We'll need to actually implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64664>
1008 and <https://bugs.webkit.org/show_bug.cgi?id=64665> for Cairo and GTK, respectively.
1010 * Shared/cairo/ShareableBitmapCairo.cpp:
1011 (WebKit::ShareableBitmap::paint): Added scale-factor variant.
1012 * Shared/gtk/ShareableBitmapGtk.cpp:
1013 (WebKit::ShareableBitmap::paint): Added scale-factor variant.
1015 2011-07-16 Daniel Bates <dbates@webkit.org>
1017 Fix Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91085>
1018 (https://bugs.webkit.org/show_bug.cgi?id=64611).
1020 Stub out scale factor-variant implementation of ShareableBitmap::paint().
1021 We'll need to implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64663>
1024 * Shared/qt/ShareableBitmapQt.cpp:
1025 (WebKit::ShareableBitmap::paint): Added scale-factor variant.
1027 2011-07-16 Simon Fraser <simon.fraser@apple.com>
1029 Add code to attempt to align compositing layers to pixel boundaries when page scale changes
1030 https://bugs.webkit.org/show_bug.cgi?id=64658
1032 Reviewed by Dan Bernstein.
1034 Removed implementation of pageScaleFactor() now that GraphicsLayerClient has
1035 a default implementation.
1037 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
1038 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
1040 2011-07-16 Daniel Bates <dbates@webkit.org>
1042 Attempt to fix the Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91097>
1043 (https://bugs.webkit.org/show_bug.cgi?id=64615).
1045 * UIProcess/qt/QtWebPageProxy.cpp:
1046 (QtWebPageProxy::setCursorHiddenUntilMouseMoves): Added stub method.
1047 * UIProcess/qt/QtWebPageProxy.h:
1049 2011-07-15 Pratik Solanki <psolanki@apple.com>
1051 Part of https://bugs.webkit.org/show_bug.cgi?id=63674
1052 Get webkit to compile with USE(CFNETWORK) enabled on Mac
1054 Reviewed by David Kilzer.
1056 New WebKitSystemInterface functions for CFNetwork-based loader.
1058 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1059 (InitWebCoreSystemInterface):
1061 2011-07-15 Tim Horton <timothy_horton@apple.com>
1063 Overlay scrollbars in overflow areas no longer pulse when revealed
1064 https://bugs.webkit.org/show_bug.cgi?id=64606
1065 <rdar://problem/9390674>
1067 Reviewed by Simon Fraser.
1069 Ensure that the state of the scrollbar implementation is kept in sync
1070 with WebCore's internal representation. Previously, we synchronized them
1071 at paint time, causing pulsing to be skipped due to the scrollbars being
1074 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1075 (InitWebCoreSystemInterface):
1077 2011-07-15 Simon Fraser <simon.fraser@apple.com>
1079 Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
1080 https://bugs.webkit.org/show_bug.cgi?id=64643
1082 Reviewed by Darin Adler.
1084 Impement new GraphicsLayerClient methods related to contents scale,
1085 and don't push the scale.
1087 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
1088 (WebKit::LayerTreeHostCA::initialize):
1089 (WebKit::LayerTreeHostCA::backingScaleFactor):
1090 (WebKit::LayerTreeHostCA::pageScaleFactor):
1091 (WebKit::LayerTreeHostCA::createPageOverlayLayer):
1092 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
1093 (WebKit::LayerTreeHostCA::didCommitChangesForLayer):
1095 2011-07-15 Ada Chan <adachan@apple.com>
1097 Implement "Jump to Selection" in WebKit2
1098 https://bugs.webkit.org/show_bug.cgi?id=64569
1100 Reviewed by Anders Carlsson.
1102 * UIProcess/API/mac/WKView.mm:
1103 (-[WKView centerSelectionInVisibleArea:]): Call WebPageProxy::centerSelectionInVisibleArea().
1104 (-[WKView validateUserInterfaceItem:]): Enable the centerSelectionInVisibleArea: selector if there's a selection
1105 range or if there's an insertion point in an editable area.
1106 * WebProcess/WebPage/FindController.cpp:
1107 (WebKit::FindController::showFindIndicatorInSelection): Call updateFindIndicator() to show the find indicator.
1108 * WebProcess/WebPage/FindController.h:
1109 * WebProcess/WebPage/WebPage.cpp:
1110 (WebKit::WebPage::centerSelectionInVisibleArea): Use the selection in the focused or main frame.
1111 After scrolling the selection into view, flash the find indicator.
1113 2011-07-15 Dan Bernstein <mitz@apple.com>
1117 * UIProcess/win/WebView.cpp:
1119 2011-07-15 Dan Bernstein <mitz@apple.com>
1123 * UIProcess/win/WebView.h:
1125 2011-07-15 Dan Bernstein <mitz@apple.com>
1127 REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
1128 https://bugs.webkit.org/show_bug.cgi?id=64615
1130 Reviewed by Anders Carlsson.
1132 * UIProcess/API/efl/PageClientImpl.cpp:
1133 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added this stub.
1134 * UIProcess/API/efl/PageClientImpl.h:
1135 * UIProcess/API/gtk/PageClientImpl.cpp:
1136 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Ditto.
1137 * UIProcess/API/gtk/PageClientImpl.h:
1138 * UIProcess/API/mac/PageClientImpl.h:
1139 * UIProcess/API/mac/PageClientImpl.mm:
1140 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added. Calls +[NSCursor setHiddenUntilMouseMoves:].
1141 * UIProcess/PageClient.h:
1142 * UIProcess/WebPageProxy.cpp:
1143 (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves): Added. Calls through to the PageClient.
1144 * UIProcess/WebPageProxy.h:
1145 * UIProcess/WebPageProxy.messages.in: Added SetCursorHiddenUntilMouseMoves message.
1146 * UIProcess/win/WebView.cpp:
1147 (WebKit::WebView::setCursorHiddenUntilMouseMoves): Added this stub.
1148 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1149 (WebKit::WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Sends SetCursorHiddenUntilMouseMoves message
1151 * WebProcess/WebCoreSupport/WebChromeClient.h:
1153 2011-07-14 Gavin Barraclough <barraclough@apple.com>
1155 https://bugs.webkit.org/show_bug.cgi?id=64250
1156 Global strict mode function leaking global object as "this".
1158 Reviewed by Oliver Hunt.
1160 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1161 (WebKit::NPJSObject::invoke):
1162 - Change call to pass DOM Window shell, instead of the global varaible object.
1164 2011-07-15 Anders Carlsson <andersca@apple.com>
1166 Find indicator should take scale factor into account
1167 https://bugs.webkit.org/show_bug.cgi?id=64611
1168 <rdar://problem/9761020>
1170 Reviewed by Sam Weinig.
1172 * UIProcess/FindIndicator.cpp:
1173 (WebKit::FindIndicator::create):
1174 (WebKit::FindIndicator::FindIndicator):
1175 Keep track of the scale factor of the find indicator bitmap.
1177 (WebKit::FindIndicator::draw):
1178 Pass the scale factor to ShareableBitmap::draw.
1180 * UIProcess/FindIndicator.h:
1181 Add scale factor member variable.
1183 * UIProcess/WebPageProxy.cpp:
1184 (WebKit::WebPageProxy::setFindIndicator):
1185 This now takes the content image scale factor.
1187 * UIProcess/WebPageProxy.messages.in:
1188 Add the scale factor.
1190 * WebProcess/WebPage/FindController.cpp:
1191 (WebKit::FindController::updateFindIndicator):
1192 Size the backing store correctly, and apply the scale factor to
1193 the graphics context.
1195 (WebKit::FindController::hideFindIndicator):
1196 Pass the scale factor along.
1198 2011-07-15 Martin Robinson <mrobinson@igalia.com>
1200 Build fixes for WebKit2. Ensure that all generated sources are
1201 on nodist primaries, that they are on forward declared variables
1202 so that BUILT_SOURCES is calculated properly and that zlib is
1203 included during linking (for WOFF support).
1207 2011-07-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
1209 Upstream QtWebKit/N9 changes related to visibleContentRect
1210 https://bugs.webkit.org/show_bug.cgi?id=64589
1212 Reviewed by Simon Hausmann.
1214 Rename setActualVisibleContentRect to setFixedVisibleContentRect
1215 as that makes it more obvious that it is an override. It is also
1216 consistent with the setFixedLayout which is often used in
1217 conjunction with it.
1219 * UIProcess/WebPageProxy.cpp:
1220 (WebKit::WebPageProxy::setFixedVisibleContentRect):
1221 * UIProcess/WebPageProxy.h:
1222 * UIProcess/qt/qtouchwebpageproxy.cpp:
1223 (QTouchWebPageProxy::setVisibleArea):
1224 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1225 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1226 Only set fixedVisibleContentRect for the mainframe.
1227 * WebProcess/WebPage/WebPage.cpp:
1228 (WebKit::WebPage::setFixedVisibleContentRect):
1229 * WebProcess/WebPage/WebPage.h:
1230 * WebProcess/WebPage/WebPage.messages.in:
1232 2011-07-15 Carlos Garcia Campos <cgarcia@igalia.com>
1234 Reviewed by Martin Robinson.
1236 [GTK] Install a custom X error handler in plugin process
1237 https://bugs.webkit.org/show_bug.cgi?id=63248
1239 Some plugins, specially flash, can cause X errors that when
1240 handled by the default X error handler (or the GDK one) abort the
1241 process. Since we don't want to crash due to buggy plugins, we
1242 install a custom error handler to show a warning when a X error
1243 happens without aborting.
1245 * PluginProcess/gtk/PluginProcessMainGtk.cpp:
1246 (WebKit::webkitgtkXError):
1247 (WebKit::PluginProcessMainGtk):
1249 2011-07-14 Carlos Garcia Campos <cgarcia@igalia.com>
1251 Reviewed by Anders Carlsson.
1253 [UNIX] Allow sending null handles in messages
1254 https://bugs.webkit.org/show_bug.cgi?id=60621
1256 Only valid file descriptors are now sent using sendmsg() control
1257 messages, and instead of sending a list of attachment sizes we now
1258 send a list of AttachmentInfo structs. AttachmentInfo contains
1259 information about the attachments including the size for
1260 MappedMemory attachmens and whether the attachment is null or not.
1262 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
1263 (CoreIPC::AttachmentInfo::AttachmentInfo): New class containing
1264 information about the attachments sent.
1265 (CoreIPC::AttachmentInfo::setType): Set the attachment type.
1266 (CoreIPC::AttachmentInfo::getType): Return the attachment type.
1267 (CoreIPC::AttachmentInfo::setSize): Set the size for MappedMemory attachments.
1268 (CoreIPC::AttachmentInfo::getSize): Get the size for MappedMemory attachments.
1269 (CoreIPC::AttachmentInfo::setNull): Set attachment as null, it
1270 contains an invalid file descriptor, so the receiver shouldn't
1271 expect a file desriptor for this attachment.
1272 (CoreIPC::AttachmentInfo::isNull): Return whether attachment is
1273 null, it contains an invalid file descriptor.
1274 (CoreIPC::Connection::processMessage):
1275 (CoreIPC::Connection::sendOutgoingMessage):
1277 2011-07-14 Carlos Garcia Campos <cgarcia@igalia.com>
1279 Reviewed by Martin Robinson.
1281 [GTK] Implement Plugin Process
1282 https://bugs.webkit.org/show_bug.cgi?id=60546
1284 * GNUmakefile.am: Add new files to compilation.
1285 * PluginProcess/gtk/PluginProcessMainGtk.cpp: Added.
1286 (WebKit::PluginProcessMainGtk):
1287 * PluginProcess/gtk/PluginProcessMainGtk.h: Added.
1288 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1289 (WebKit::ProcessLauncher::launchProcess):
1290 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1291 (WebKit::moduleMixesGtkSymbols):
1292 * gtk/PluginMainGtk.cpp: Added.
1295 2011-07-14 Balazs Kelemen <kbalazs@webkit.org> and Carlos Garcia Campos <cgarcia@igalia.com>
1297 Reviewed by Anders Carlsson.
1299 Implement plugin process for UNIX platform
1300 https://bugs.webkit.org/show_bug.cgi?id=60629
1302 * Platform/CoreIPC/Attachment.h:
1303 * Platform/CoreIPC/unix/AttachmentUnix.cpp:
1304 (CoreIPC::Attachment::Attachment): Add the ability to pass a
1305 socket via Attachment.
1306 * Platform/unix/SharedMemoryUnix.cpp:
1307 (WebKit::SharedMemory::Handle::encode): Remove assertions that
1308 check that the Handle is not null. In
1309 PluginProxy::geometryDidChange we pass a null Handle if we do not
1310 need to allocate a new backing store.
1311 (WebKit::SharedMemory::Handle::releaseToAttachment): Ditto.
1312 * PluginProcess/PluginProcess.cpp:
1313 (WebKit::PluginProcess::createWebProcessConnection): Use
1314 Attachment. Set up the connection with socketpair.
1315 * UIProcess/Plugins/PluginProcessProxy.cpp:
1316 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
1317 (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
1318 * UIProcess/Plugins/PluginProcessProxy.h:
1319 * UIProcess/Plugins/PluginProcessProxy.messages.in:
1320 * UIProcess/WebProcessProxy.messages.in:
1321 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1322 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
1323 Use Attachment to pass the connection.
1325 2011-07-14 Ada Chan <adachan@apple.com>
1327 Implement support to center selection on a page for WebKit2.
1328 https://bugs.webkit.org/show_bug.cgi?id=64481
1330 Reviewed by Anders Carlsson.
1332 * UIProcess/API/C/WKPage.cpp:
1333 (WKPageCenterSelectionInVisibleArea): Added. Call WebPageProxy::centerSelectionInVisibleArea().
1334 * UIProcess/API/C/WKPage.h:
1335 * UIProcess/WebPageProxy.cpp:
1336 (WebKit::WebPageProxy::centerSelectionInVisibleArea): Send message to the WebProcess to center selection.
1337 * UIProcess/WebPageProxy.h:
1338 * WebProcess/WebPage/WebPage.cpp:
1339 (WebKit::WebPage::centerSelectionInVisibleArea): Get the FrameSelection from the main frame and call
1340 revealSelection() to center it.
1341 * WebProcess/WebPage/WebPage.h:
1342 * WebProcess/WebPage/WebPage.messages.in: Add the CenterSelectionInVisibleArea message.
1344 2011-07-14 MORITA Hajime <morrita@google.com>
1346 Unreviewed, rolling out r90976, r90981, and r90985.
1347 http://trac.webkit.org/changeset/90976
1348 http://trac.webkit.org/changeset/90981
1349 http://trac.webkit.org/changeset/90985
1350 https://bugs.webkit.org/show_bug.cgi?id=64251
1355 * win/WebKit2CFLite.def:
1357 2011-07-13 MORITA Hajime <morrita@google.com>
1359 Unreviewed attempt at a build fix.
1361 * win/WebKit2CFLite.def:
1363 2011-07-13 MORITA Hajime <morrita@google.com>
1365 [ShadowContentElement] forwarded node should be able to access its hosting content element.
1366 https://bugs.webkit.org/show_bug.cgi?id=64251
1368 Reviewed by Dimitri Glazkov.
1370 Exported additional symbols for window.internals object.
1374 2011-07-13 David Levin <levin@chromium.org>
1376 Possible race condition in ThreadIdentifierData::initializeKeyOnce and shouldCallRealDebugger.
1377 https://bugs.webkit.org/show_bug.cgi?id=64465
1379 Reviewed by Dmitry Titov.
1381 There isn't a good way to test this as it is very highly unlikely to occur.
1383 * PluginProcess/mac/PluginProcessMac.mm:
1384 (WebKit::shouldCallRealDebugger): :Since scoped static initialization
1385 isn't thread-safe, change the initialization to be global.
1387 2011-07-13 Andreas Kling <kling@webkit.org>
1389 [Qt][WK2] Remove invalid signal/slot connection in QTouchWebView.
1390 https://bugs.webkit.org/show_bug.cgi?id=64450
1392 Reviewed by Benjamin Poulain.
1394 The focusNextPrevChild() signal was removed, so we shouldn't try to
1397 * UIProcess/API/qt/qtouchwebpage.cpp:
1398 (QTouchWebPagePrivate::setPage):
1400 2011-07-13 Andreas Kling <kling@webkit.org>
1402 [Qt][WK2] Undelayed WorkItems are leaked after execution.
1403 https://bugs.webkit.org/show_bug.cgi?id=64447
1405 Reviewed by Benjamin Poulain.
1407 * Platform/qt/WorkQueueQt.cpp:
1408 (WorkQueue::WorkItemQt::executeAndDelete):
1409 (WorkQueue::WorkItemQt::timerEvent):
1410 (WorkQueue::scheduleWork):
1412 2011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1414 [Qt] Also stop the scale commit timer when commitScaleChange is called explicitly.
1415 https://bugs.webkit.org/show_bug.cgi?id=64357
1417 Reviewed by Benjamin Poulain.
1419 * UIProcess/API/qt/qtouchwebpage.cpp:
1420 (QTouchWebPage::timerEvent):
1421 (QTouchWebPagePrivate::commitScaleChange):
1423 2011-07-12 Joseph Pecoraro <joepeck@webkit.org>
1425 ApplicationCache update should not immediately fail when reaching per-origin quota
1426 https://bugs.webkit.org/show_bug.cgi?id=64177
1428 Reviewed by Alexey Proskuryakov.
1430 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1431 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
1432 * WebProcess/WebCoreSupport/WebChromeClient.h:
1434 2011-06-22 Jer Noble <jer.noble@apple.com>
1436 Full-screen: Don't change the collectionBehavior of the WebView's NSWindow if not necessary
1437 https://bugs.webkit.org/show_bug.cgi?id=63217
1438 <rdar://problem/9660291>
1440 Reviewed by Darin Adler.
1442 Check to see if the NSWindow hosting the WebView is not on the active space before changing the window's
1445 * UIProcess/mac/WKFullScreenWindowController.mm:
1446 (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
1448 2011-07-12 Andreas Kling <kling@webkit.org>
1450 [Qt][WK2] Navigation actions in incorrect state when loadStarted() is emitted.
1451 https://bugs.webkit.org/show_bug.cgi?id=64383
1453 Reviewed by Kenneth Rohde Christiansen.
1455 Update the navigation actions before emitting loadStarted().
1457 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
1458 (LoadStartedCatcher::LoadStartedCatcher):
1459 (LoadStartedCatcher::onLoadStarted):
1460 (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
1461 * UIProcess/qt/ClientImpl.cpp:
1462 (qt_wk_didStartProvisionalLoadForFrame):
1464 2011-07-12 Benjamin Poulain <benjamin@webkit.org>
1466 [Qt][WK2] Add a basic Pinch gesture recognizer for WebKit2
1467 https://bugs.webkit.org/show_bug.cgi?id=64373
1469 Reviewed by Andreas Kling.
1471 This patch adds QtPinchGestureRecognizer to recognize pinch gesture out of
1472 the events not handled by the WebProcess.
1474 TouchViewInterface::pinchGestureRequestScale() has a basic default implementation
1475 so the feature can be tested manually.
1477 * UIProcess/qt/QtGestureRecognizer.cpp:
1478 QtGestureRecognizer is the private base class for both gesture recognizer
1479 in order to be able to share some code.
1480 (WebKit::QtGestureRecognizer::QtGestureRecognizer):
1481 (WebKit::QtGestureRecognizer::reset):
1482 * UIProcess/qt/QtGestureRecognizer.h:
1483 * UIProcess/qt/QtPanGestureRecognizer.cpp:
1484 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
1485 (WebKit::QtPanGestureRecognizer::reset):
1486 * UIProcess/qt/QtPanGestureRecognizer.h:
1487 * UIProcess/qt/QtPinchGestureRecognizer.cpp: Added.
1488 (WebKit::findTouchPointIndex):
1489 (WebKit::computeTouchCenter):
1490 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
1491 (WebKit::QtPinchGestureRecognizer::recognize):
1492 (WebKit::QtPinchGestureRecognizer::reset):
1493 (WebKit::QtPinchGestureRecognizer::initializeGesture):
1494 * UIProcess/qt/QtPinchGestureRecognizer.h: Copied from Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.h.
1495 (WebKit::QtPinchGestureRecognizer::TouchPointInformation::TouchPointInformation):
1496 (WebKit::QtPinchGestureRecognizer::TouchPointInformation::isValid):
1497 * UIProcess/qt/TouchViewInterface.cpp:
1498 (WebKit::TouchViewInterface::TouchViewInterface):
1499 (WebKit::TouchViewInterface::pinchGestureStarted):
1500 (WebKit::TouchViewInterface::pinchGestureRequestScale):
1501 The scale factor reported by the recognizer to the TouchViewInterface is the total scale since the start
1502 of the gesture in order to avoid numerical instabilities.
1503 (WebKit::TouchViewInterface::pinchGestureEnded):
1504 * UIProcess/qt/TouchViewInterface.h:
1505 * UIProcess/qt/qtouchwebpageproxy.cpp:
1506 (QTouchWebPageProxy::QTouchWebPageProxy):
1507 (QTouchWebPageProxy::processDidCrash):
1508 (QTouchWebPageProxy::doneWithTouchEvent):
1509 * UIProcess/qt/qtouchwebpageproxy.h:
1512 2011-07-12 Andreas Kling <kling@webkit.org>
1514 [Qt][WK2] Navigation actions should react to web process availability.
1515 https://bugs.webkit.org/show_bug.cgi?id=64375
1517 Reviewed by Benjamin Poulain.
1519 When the web process is unavailable, the reload and stop actions should
1520 behave slightly differently. Stop should always be disabled, and reload
1521 should be enabled if there's a reloadable item in the back/forward list.
1523 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
1524 (tst_QDesktopWebView::navigationActionEnabledStatusAtStartup):
1525 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
1526 (tst_QTouchWebView::navigationActionEnabledStatusAtStartup):
1527 * UIProcess/qt/QtWebPageProxy.cpp:
1528 (QtWebPageProxy::updateAction):
1529 (QtWebPageProxy::didRelaunchProcess):
1530 (QtWebPageProxy::processDidCrash):
1532 2011-07-12 Andreas Kling <kling@webkit.org>
1534 [Qt][WK2] QDesktopWebView crashes if resized without web process.
1535 https://bugs.webkit.org/show_bug.cgi?id=64371
1537 Reviewed by Benjamin Poulain.
1539 * UIProcess/qt/QtWebPageProxy.cpp:
1540 (QtWebPageProxy::paint): Remove an invalid assertion. The drawing
1541 area may be null if the web process has crashed.
1542 (QtWebPageProxy::setDrawingAreaSize): Fail silently if there is no
1545 2011-07-12 Andreas Kling <kling@webkit.org>
1547 [Qt][WK2] Add informative loadFailed() signal to web views.
1548 https://bugs.webkit.org/show_bug.cgi?id=64362
1550 Reviewed by Benjamin Poulain.
1552 The web views will now emit loadFailed(QWebError) when a load failure occurs.
1554 The QWebError object currently contains:
1555 - Type of failure (whether it's an engine, network or protocol error.)
1557 - Any error code associated with the failure.
1559 * UIProcess/API/qt/qdesktopwebview.cpp:
1560 (QDesktopWebViewPrivate::loadDidFail):
1561 * UIProcess/API/qt/qdesktopwebview.h:
1562 * UIProcess/API/qt/qdesktopwebview_p.h:
1563 * UIProcess/API/qt/qtouchwebpage.h:
1564 * UIProcess/API/qt/qweberror.cpp: Added.
1565 (QWebError::QWebError):
1566 (QWebErrorPrivate::createQWebError):
1567 (QWebErrorPrivate::QWebErrorPrivate):
1568 (QWebErrorPrivate::~QWebErrorPrivate):
1570 (QWebError::errorCode):
1572 * UIProcess/API/qt/qweberror.h: Added.
1573 * UIProcess/API/qt/qweberror_p.h: Added.
1574 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
1575 (tst_CommonViewTests::loadNonexistentFileUrl):
1576 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
1577 (WebViewAbstraction::WebViewAbstraction):
1578 (WebViewAbstraction::touchViewLoadFailed):
1579 (WebViewAbstraction::desktopViewLoadFailed):
1580 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
1581 * UIProcess/qt/ClientImpl.cpp:
1582 (dispatchLoadSucceeded):
1583 (dispatchLoadFailed):
1584 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
1585 (qt_wk_didFinishLoadForFrame):
1586 (qt_wk_didFailLoadWithErrorForFrame):
1587 * UIProcess/qt/QtWebPageProxy.cpp:
1588 (QtWebPageProxy::loadDidFail):
1589 * UIProcess/qt/QtWebPageProxy.h:
1590 * UIProcess/qt/TouchViewInterface.cpp:
1591 (WebKit::TouchViewInterface::loadDidFail):
1592 * UIProcess/qt/TouchViewInterface.h:
1593 * UIProcess/qt/ViewInterface.h:
1596 2011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1598 [Qt] Forward the touch view scale changes to the tiled drawing area.
1599 https://bugs.webkit.org/show_bug.cgi?id=64357
1601 Reviewed by Kenneth Rohde Christiansen.
1603 The drawing area needs to know the new scale to render tiles accordingly.
1605 * UIProcess/API/qt/qtouchwebpage.cpp:
1606 (QTouchWebPagePrivate::commitScaleChange):
1607 * UIProcess/qt/qtouchwebpageproxy.cpp:
1608 (QTouchWebPageProxy::setContentsScale):
1609 * UIProcess/qt/qtouchwebpageproxy.h:
1610 (QTouchWebPageProxy::drawingArea):
1612 2011-07-12 Adam Roben <aroben@apple.com>
1614 Export some symbols needed by TestWebKitAPI
1616 Part of <http://webkit.org/b/63330> Concatenating string literals and WTF::Strings using
1617 operator+ is suboptimal
1619 Reviewed by Darin Adler.
1623 2011-07-11 Hironori Bono <hbono@chromium.org>
1625 Reviewed by Adam Roben.
1627 Implement layoutTestController.setTextDirection for WebKit2 and Windows.
1628 https://bugs.webkit.org/show_bug.cgi?id=61931
1630 This change implements layoutTextController.setTextDirection for WebKit2
1631 and Windows so we can run a layout test added by r87770 on them. Each
1632 implementation adds a wrapper function for Editor::setBaseWritingDirection()
1633 so LayoutTestController can call it.
1635 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added
1636 WKBundleFrameSetTextDirection to allow LayoutTestController to change the
1638 (WKBundleFrameSetTextDirection):
1639 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: ditto.
1640 * WebProcess/WebPage/WebFrame.cpp: Added setTextDirection to allow
1641 WKBundleFrame to change the text direction.
1642 (WebKit::WebFrame::setTextDirection):
1643 * WebProcess/WebPage/WebFrame.h: ditto.
1645 2011-07-11 Benjamin Poulain <benjamin@webkit.org>
1647 [Qt][WK2] Get rid of focusNextPrevChild()
1648 https://bugs.webkit.org/show_bug.cgi?id=64289
1650 Reviewed by Andreas Kling.
1652 Qt 5 does not use focusNextPrevChild() but uses setFocusNavigation(), and
1653 the focus is not based on QWidget.
1655 We can get rid of the method since the new implementation will be totally
1658 * UIProcess/API/qt/qtouchwebpage.cpp:
1659 * UIProcess/API/qt/qtouchwebpage.h:
1660 * UIProcess/qt/ClientImpl.cpp:
1662 * UIProcess/qt/QtWebPageProxy.h:
1664 2011-07-11 Anders Carlsson <andersca@apple.com>
1666 Implement getFormValue for WebKit2
1667 https://bugs.webkit.org/show_bug.cgi?id=64294
1668 <rdar://problem/3964087>
1670 Reviewed by Kevin Decker.
1672 * PluginProcess/PluginControllerProxy.cpp:
1673 (WebKit::PluginControllerProxy::getFormValue):
1674 Call Plugin::getFormValue.
1676 * PluginProcess/PluginControllerProxy.messages.in:
1677 Add new GetFormValue message.
1679 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1680 (WebKit::NetscapePlugin::getFormValue):
1681 Get the form value and convert it to a String.
1683 * WebProcess/Plugins/Plugin.h:
1684 Add getFormValue pure virtual member function.
1686 * WebProcess/Plugins/PluginProxy.cpp:
1687 (WebKit::PluginProxy::getFormValue):
1688 Send a GetFormValue message to the plug-in process.
1690 * WebProcess/Plugins/PluginView.cpp:
1691 (WebKit::PluginView::getFormValue):
1692 Call Plugin::getFormValue.
1694 2011-07-11 Ada Chan <adachan@apple.com>
1696 The original request should be accessible from WebNavigationData.
1697 https://bugs.webkit.org/show_bug.cgi?id=64227
1699 Reviewed by Anders Carlsson.
1701 * Shared/WebNavigationDataStore.h:
1702 (WebKit::WebNavigationDataStore::encode): Handle the encoding of the original request.
1703 (WebKit::WebNavigationDataStore::decode): Handle the decoding of the original request.
1704 * UIProcess/API/C/WKNavigationData.cpp:
1705 (WKNavigationDataCopyOriginalRequest):
1706 * UIProcess/API/C/WKNavigationData.h:
1707 * UIProcess/WebNavigationData.h:
1708 (WebKit::WebNavigationData::originalRequest):
1709 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1710 (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the original request in the WebNavigationDataStore.
1712 2011-07-11 Benjamin Poulain <benjamin@webkit.org>
1714 [Qt][WK2] Forward the viewport visible area from the view instead of inferring it from the TiledDrawingAreaProxy
1715 https://bugs.webkit.org/show_bug.cgi?id=64275
1717 Reviewed by Simon Hausmann.
1719 This patch refactors the way the viewport visible area is handled.
1720 Previously, the TiledDrawingAreaProxy would ask for the visible rect
1721 when painting or updating. This is reversed with this patch, and the viewport
1722 informs the page of any change in the view area.
1724 With this change, the TiledDrawingAreaProxy does not need to know about QTouchWebPage,
1725 and can use the TouchViewInterface directly.
1727 * UIProcess/API/qt/qtouchwebpage.cpp:
1728 (QTouchWebPagePrivate::setViewportRect):
1729 * UIProcess/API/qt/qtouchwebpage.h:
1730 * UIProcess/API/qt/qtouchwebpage_p.h:
1731 * UIProcess/API/qt/qtouchwebview.cpp:
1732 (QTouchWebViewPrivate::scroll):
1733 (QTouchWebViewPrivate::viewportRectUpdated):
1734 (QTouchWebView::resizeEvent):
1735 * UIProcess/API/qt/qtouchwebview.h:
1736 * UIProcess/API/qt/qtouchwebview_p.h:
1737 * UIProcess/PageClient.h:
1738 * UIProcess/TiledDrawingAreaProxy.cpp:
1739 (WebKit::TiledDrawingAreaProxy::invalidate):
1740 (WebKit::TiledDrawingAreaProxy::paint):
1741 (WebKit::TiledDrawingAreaProxy::setVisibleArea):
1742 (WebKit::TiledDrawingAreaProxy::createTiles):
1743 * UIProcess/TiledDrawingAreaProxy.h:
1744 * UIProcess/WebPageProxy.h:
1745 * UIProcess/qt/QtWebPageProxy.cpp:
1746 * UIProcess/qt/QtWebPageProxy.h:
1747 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
1748 (WebKit::TiledDrawingAreaProxy::updateWebView):
1749 * UIProcess/qt/TouchViewInterface.cpp:
1750 (WebKit::TouchViewInterface::contentSizeChanged):
1751 * UIProcess/qt/TouchViewInterface.h:
1752 * UIProcess/qt/WebPageProxyQt.cpp:
1753 * UIProcess/qt/qtouchwebpageproxy.cpp:
1754 (QTouchWebPageProxy::createDrawingAreaProxy):
1755 (QTouchWebPageProxy::setVisibleArea):
1756 * UIProcess/qt/qtouchwebpageproxy.h:
1758 2011-07-11 Andreas Kling <kling@webkit.org>
1760 [Qt][WK2] Move zoomable-area-for-point functionality to QTouchWebPageProxy
1761 https://bugs.webkit.org/show_bug.cgi?id=64273
1763 Reviewed by Kenneth Rohde Christiansen.
1765 * UIProcess/qt/QtWebPageProxy.cpp:
1766 * UIProcess/qt/QtWebPageProxy.h:
1767 * UIProcess/qt/qdesktopwebpageproxy.cpp:
1768 (QDesktopWebPageProxy::didFindZoomableArea):
1769 * UIProcess/qt/qdesktopwebpageproxy.h:
1770 * UIProcess/qt/qtouchwebpageproxy.cpp:
1771 (QTouchWebPageProxy::findZoomableAreaForPoint):
1772 (QTouchWebPageProxy::didFindZoomableArea):
1773 * UIProcess/qt/qtouchwebpageproxy.h:
1775 2011-07-10 Anders Carlsson <andersca@apple.com>
1777 WebKit2 is leaking NSCursors created by leakNamedCursor
1778 https://bugs.webkit.org/show_bug.cgi?id=64241
1779 <rdar://problem/9507151>
1781 Reviewed by Oliver Hunt.
1783 * Shared/WebCoreArgumentCoders.cpp:
1784 (CoreIPC::::decode):
1785 When decoding a cursor of a known type, make sure to eagerly create the platform cursor
1786 for the cursor singleton. This way we avoid re-creating new NSCursor objects over and over for
1789 2011-07-10 Benjamin Poulain <benjamin@webkit.org>
1791 [Qt][WK2] Move setResizesToContentsUsingLayoutSize() to the touch specific page proxy
1792 https://bugs.webkit.org/show_bug.cgi?id=64238
1794 Reviewed by Andreas Kling.
1796 The method is specific to the touch view, so it should be in QTouchWebPageProxy instead
1799 * UIProcess/qt/QtWebPageProxy.cpp:
1800 * UIProcess/qt/QtWebPageProxy.h:
1801 * UIProcess/qt/qtouchwebpageproxy.cpp:
1802 (QTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
1803 * UIProcess/qt/qtouchwebpageproxy.h:
1805 2011-07-09 Noel Gordon <noel.gordon@gmail.com>
1807 Reviewed by Adam Roben.
1809 [WebKit2] Forward focus events to windowless plugins on the windows port.
1810 https://bugs.webkit.org/show_bug.cgi?id=63251
1812 No new tests. Covered by existing tests: plugins/mouse-events.html and
1813 plugins/keyboard-events.html.
1815 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1816 (WebKit::NetscapePlugin::platformSetFocus):
1818 2011-07-08 Andreas Kling <kling@webkit.org>
1820 [Qt][WK2] Views should expose QActions for basic navigation.
1821 https://bugs.webkit.org/show_bug.cgi?id=64174
1823 Add navigationAction() methods to the views to provide default
1824 QActions for Back, Forward, Stop and Reload.
1826 Reviewed by Benjamin Poulain.
1828 * UIProcess/API/qt/WKView.h:
1829 * UIProcess/API/qt/qdesktopwebview.cpp:
1830 (QDesktopWebView::navigationAction):
1831 * UIProcess/API/qt/qdesktopwebview.h:
1832 * UIProcess/API/qt/qtouchwebpage.cpp:
1833 (QTouchWebPage::navigationAction):
1834 * UIProcess/API/qt/qtouchwebpage.h:
1835 * UIProcess/API/qt/qwebkittypes.h: Added.
1836 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
1837 (tst_CommonViewTests::backAndForward):
1838 (tst_CommonViewTests::reload):
1839 (tst_CommonViewTests::stop):
1840 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
1841 (WebViewAbstraction::triggerNavigationAction):
1842 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
1843 * UIProcess/API/qt/tests/html/basic_page2.html: Added.
1844 * UIProcess/qt/QtWebPageProxy.cpp:
1845 (QtWebPageProxy::navigationAction):
1846 * UIProcess/qt/QtWebPageProxy.h:
1849 2011-07-08 Benjamin Poulain <benjamin@webkit.org>
1851 [Qt][WK2] Get rid of the check for TILED_BACKING_STORE in Qt
1852 https://bugs.webkit.org/show_bug.cgi?id=64175
1854 Reviewed by Kenneth Rohde Christiansen.
1856 Qt no longer supports building WebKit2 without TILED_BACKING_STORE.
1858 * UIProcess/API/qt/qtouchwebpage.cpp:
1859 (QTouchWebPagePrivate::onScaleChanged):
1860 * UIProcess/qt/QtWebPageProxy.cpp:
1861 (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
1862 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
1863 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
1864 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
1866 2011-07-08 Benjamin Poulain <benjamin@webkit.org>
1868 [WK2] Do not forward touch events to the web process when it does not need them
1869 https://bugs.webkit.org/show_bug.cgi?id=64164
1871 Reviewed by Kenneth Rohde Christiansen.
1873 The call to ChromeClient::needTouchEvent() is now forwarded to the WebPageProxy
1874 to change the way events are delivered.
1876 When the WebPage does not need touch events, and there is no queued touch events,
1877 the incoming events just bounce back through PageClient::doneWithTouchEvent().
1879 In the case when new events come to WebPageProxy and there are still touch events
1880 incoming from the WebProcess, the new events are deferred with the corresponding
1881 pending touch events.
1882 Deferring the new events iafter the corresponding forwarded event ensure
1883 the delivery is always done in order when PageClient::doneWithTouchEvent()
1886 * UIProcess/WebPageProxy.cpp:
1887 (WebKit::WebPageProxy::WebPageProxy):
1888 (WebKit::WebPageProxy::handleTouchEvent):
1889 (WebKit::WebPageProxy::needTouchEvents):
1890 (WebKit::WebPageProxy::didReceiveEvent):
1891 (WebKit::WebPageProxy::processDidCrash):
1892 * UIProcess/WebPageProxy.h:
1893 (WebKit::QueuedTouchEvents:::forwardedEvent):
1894 * UIProcess/WebPageProxy.messages.in:
1895 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1896 (WebKit::WebChromeClient::needTouchEvents):
1898 2011-07-08 Benjamin Poulain <benjamin@webkit.org>
1900 [Qt][WK2] Add basic support for panning gestures to the QTouchWebView
1901 https://bugs.webkit.org/show_bug.cgi?id=64105
1903 Reviewed by Kenneth Rohde Christiansen.
1905 This patch adds basic support for the panning gesture on the UI process side.
1907 The events coming back from the WebProcess are processed through
1908 the QtPanGestureRecognizer to recognize the pan gesture. When the
1909 gesture is recognized, the actions are performed on the view through
1910 the TouchViewInterface.
1912 Currently, the viewport just move the page around without limit.
1913 This will be improved when a physics engine is integrated.
1915 * UIProcess/API/qt/qtouchwebview.cpp:
1916 (QTouchWebViewPrivate::scroll):
1917 * UIProcess/API/qt/qtouchwebview.h:
1918 * UIProcess/API/qt/qtouchwebview_p.h:
1919 * UIProcess/qt/QtPanGestureRecognizer.cpp: Added.
1920 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
1921 (WebKit::QtPanGestureRecognizer::recognize):
1922 (WebKit::QtPanGestureRecognizer::reset):
1923 * UIProcess/qt/QtPanGestureRecognizer.h: Added.
1924 * UIProcess/qt/TouchViewInterface.cpp:
1925 (WebKit::TouchViewInterface::panGestureStarted):
1926 (WebKit::TouchViewInterface::panGestureRequestScroll):
1927 (WebKit::TouchViewInterface::panGestureEnded):
1928 (WebKit::TouchViewInterface::panGestureCancelled):
1929 * UIProcess/qt/TouchViewInterface.h:
1930 * UIProcess/qt/qtouchwebpageproxy.cpp:
1931 (QTouchWebPageProxy::QTouchWebPageProxy):
1932 (QTouchWebPageProxy::processDidCrash):
1933 (QTouchWebPageProxy::doneWithTouchEvent):
1934 * UIProcess/qt/qtouchwebpageproxy.h:
1937 2011-07-07 Andreas Kling <kling@webkit.org>
1939 [Qt][WK2] Remove Symbian code.
1940 https://bugs.webkit.org/show_bug.cgi?id=64101
1942 Reviewed by Benjamin Poulain.
1944 * DerivedSources.pro:
1945 * Platform/CoreIPC/Attachment.h:
1946 * Platform/CoreIPC/Connection.h:
1947 * Platform/SharedMemory.h:
1948 * Platform/qt/SharedMemorySymbian.cpp: Removed.
1949 * UIProcess/API/qt/tests/tests.pri:
1950 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1956 2011-07-07 Andreas Kling <kling@webkit.org>
1958 [Qt][WK2] Don't support ridiculous matrix of QT_NO_FEATURE combinations.
1959 https://bugs.webkit.org/show_bug.cgi?id=64099
1961 Reviewed by Benjamin Poulain.
1963 * Shared/qt/WebEventFactoryQt.cpp:
1964 (WebKit::WebEventFactory::createWebWheelEvent):
1965 * UIProcess/API/qt/qdesktopwebview_p.h:
1966 * UIProcess/qt/QtWebPageProxy.cpp:
1967 (QtWebPageProxy::QtWebPageProxy):
1968 (QtWebPageProxy::setCursor):
1969 (QtWebPageProxy::registerEditCommand):
1970 (QtWebPageProxy::clearAllEditCommands):
1971 (QtWebPageProxy::canUndoRedo):
1972 (QtWebPageProxy::executeUndoRedo):
1973 (QtWebPageProxy::updateAction):
1974 (QtWebPageProxy::webActionTriggered):
1975 (QtWebPageProxy::triggerAction):
1976 (QtWebPageProxy::action):
1977 * UIProcess/qt/QtWebPageProxy.h:
1978 * UIProcess/qt/TouchViewInterface.cpp:
1979 (WebKit::TouchViewInterface::didChangeCursor):
1980 * UIProcess/qt/TouchViewInterface.h:
1981 * UIProcess/qt/ViewInterface.h:
1982 * UIProcess/qt/WebUndoCommandQt.cpp:
1983 (WebUndoCommandQt::WebUndoCommandQt):
1984 * UIProcess/qt/WebUndoCommandQt.h:
1985 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
1986 (WebKit::WebDragClient::startDrag):
1988 2011-07-07 Andreas Kling <kling@webkit.org>
1990 [Qt][WK2] Views should know about WebProcess crash/relaunch.
1991 https://bugs.webkit.org/show_bug.cgi?id=64093
1993 Reviewed by Benjamin Poulain.
1995 Add processDidCrash() and didRelaunchProcess() to ViewInterface.
1997 QDesktopWebView now displays a simple sad smiley ":(" when the
1998 web process crashes.
2000 * UIProcess/API/qt/qdesktopwebview.cpp:
2001 (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
2003 (QDesktopWebView::paint):
2004 (QDesktopWebViewPrivate::processDidCrash):
2005 (QDesktopWebViewPrivate::didRelaunchProcess):
2006 * UIProcess/API/qt/qdesktopwebview_p.h:
2007 * UIProcess/qt/QtWebPageProxy.cpp:
2008 (QtWebPageProxy::QtWebPageProxy):
2009 (QtWebPageProxy::didRelaunchProcess):
2010 (QtWebPageProxy::processDidCrash):
2011 * UIProcess/qt/QtWebPageProxy.h:
2012 * UIProcess/qt/TouchViewInterface.cpp:
2013 (WebKit::TouchViewInterface::showContextMenu):
2014 (WebKit::TouchViewInterface::hideContextMenu):
2015 (WebKit::TouchViewInterface::processDidCrash):
2016 (WebKit::TouchViewInterface::didRelaunchProcess):
2017 * UIProcess/qt/TouchViewInterface.h:
2018 * UIProcess/qt/ViewInterface.h:
2020 2011-07-07 Benjamin Poulain <benjamin@webkit.org>
2022 [Qt] [WK2] Improve the handling of touch events to use them as main input
2023 https://bugs.webkit.org/show_bug.cgi?id=63991
2025 Reviewed by Kenneth Rohde Christiansen.
2027 Promote touch event for use as primary input.
2029 The touch events now use the responsiveness timer like the other input events.
2031 The touch events also have a callback to the UI signaling if the event was used
2032 or not: PageClient::doneWithTouchEvent().
2033 This is similar to what is done with key events (PageClient::doneWithKeyEvent()).
2035 * Shared/NativeWebTouchEvent.h: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
2036 (WebKit::NativeWebTouchEvent::nativeEvent):
2037 * Shared/qt/NativeWebTouchEventQt.cpp: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
2038 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
2039 * Shared/qt/WebEventFactoryQt.cpp:
2040 (WebKit::webEventTypeForEvent):
2041 (WebKit::WebEventFactory::createWebTouchEvent):
2042 * Shared/qt/WebEventFactoryQt.h:
2043 * UIProcess/PageClient.h:
2044 * UIProcess/WebPageProxy.cpp:
2045 (WebKit::WebPageProxy::handleTouchEvent):
2046 (WebKit::WebPageProxy::didReceiveEvent):
2047 * UIProcess/WebPageProxy.h:
2048 * UIProcess/qt/qdesktopwebpageproxy.cpp:
2049 (QDesktopWebPageProxy::doneWithTouchEvent):
2050 * UIProcess/qt/qdesktopwebpageproxy.h:
2051 * UIProcess/qt/qtouchwebpageproxy.cpp:
2052 (QTouchWebPageProxy::doneWithTouchEvent):
2053 (QTouchWebPageProxy::touchEvent):
2054 * UIProcess/qt/qtouchwebpageproxy.h:
2057 2011-07-06 Andreas Kling <kling@webkit.org>
2059 [Qt][WK2] Split Qt API into two different web views (touch and desktop)
2060 https://bugs.webkit.org/show_bug.cgi?id=63950
2062 Co-authored with Benjamin Poulain <benjamin@webkit.org>.
2064 Reviewed by Kenneth Rohde Christiansen.
2066 Replace the QGraphicsWKView/QWKPage mess with QDesktopWebView and QTouchWebView.
2068 QDesktopWebView is a traditional web view, similar to QGraphicsWebView. It will
2069 will have the expected "desktop" behavior for things like subframes and
2070 fixed-position elements.
2072 QTouchWebView is intended for use on touch devices, and will manage the viewport,
2073 gestures, tiled rendering, and other things that the user should never have to
2074 worry about. It will use "resize to contents" and frame flattening by default.
2076 API-wise, the biggest difference between the two is that QTouchWebView is really
2077 a viewport that contains a QTouchWebPage. These are decoupled for flexibility in
2078 UI design. This decoupling is not necessary for the desktop use-case, and so
2079 QDesktopWebView is the only class we need.
2081 Much of the Qt/WebKit2 API has been removed (snapshots, history, preferences..)
2082 but will be re-added incrementally in a way that fits the new API vision.
2084 * UIProcess/API/qt/WKView.h:
2085 * UIProcess/API/qt/qdesktopwebview.cpp: Added.
2086 (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
2087 (QDesktopWebViewPrivate::setViewNeedsDisplay):
2088 (QDesktopWebViewPrivate::drawingAreaSize):
2089 (QDesktopWebViewPrivate::contentSizeChanged):
2090 (QDesktopWebViewPrivate::isActive):
2091 (QDesktopWebViewPrivate::hasFocus):
2092 (QDesktopWebViewPrivate::isVisible):
2093 (QDesktopWebViewPrivate::startDrag):
2094 (QDesktopWebViewPrivate::didChangeUrl):
2095 (QDesktopWebViewPrivate::didChangeTitle):
2096 (QDesktopWebViewPrivate::didChangeToolTip):
2097 (QDesktopWebViewPrivate::didChangeStatusText):
2098 (QDesktopWebViewPrivate::didChangeCursor):
2099 (QDesktopWebViewPrivate::loadDidBegin):
2100 (QDesktopWebViewPrivate::loadDidSucceed):
2101 (QDesktopWebViewPrivate::didChangeLoadProgress):
2102 (QDesktopWebViewPrivate::showContextMenu):
2103 (QDesktopWebViewPrivate::hideContextMenu):
2104 (QDesktopWebView::QDesktopWebView):
2105 (QDesktopWebView::init):
2106 (QDesktopWebView::~QDesktopWebView):
2107 (QDesktopWebView::load):
2108 (QDesktopWebView::url):
2109 (QDesktopWebView::title):
2110 (QDesktopWebView::resizeEvent):
2111 (QDesktopWebView::paint):
2112 (QDesktopWebView::event):
2113 (QDesktopWebView::pageRef):
2114 * UIProcess/API/qt/qdesktopwebview.h: Added.
2115 * UIProcess/API/qt/qdesktopwebview_p.h: Added.
2116 * UIProcess/API/qt/qgraphicswkview.cpp: Removed.
2117 * UIProcess/API/qt/qgraphicswkview.h: Removed.
2118 * UIProcess/API/qt/qtouchwebpage.cpp: Added.
2119 (QTouchWebPage::QTouchWebPage):
2120 (QTouchWebPage::~QTouchWebPage):
2121 (QTouchWebPage::paint):
2122 (QTouchWebPage::load):
2123 (QTouchWebPage::url):
2124 (QTouchWebPage::title):
2125 (QTouchWebPage::focusNextPrevChildCallback):
2126 (QTouchWebPage::focusNextPrevChild):
2127 (QTouchWebPage::event):
2128 (QTouchWebPage::timerEvent):
2129 (QTouchWebPage::resizeEvent):
2130 (QTouchWebPagePrivate::QTouchWebPagePrivate):
2131 (QTouchWebPage::visibleRect):
2132 (QTouchWebPagePrivate::prepareScaleChange):
2133 (QTouchWebPagePrivate::commitScaleChange):
2134 (QTouchWebPagePrivate::onScaleChanged):
2135 (QTouchWebPagePrivate::setPage):
2136 * UIProcess/API/qt/qtouchwebpage.h: Added.
2137 * UIProcess/API/qt/qtouchwebpage_p.h: Added.
2138 (QTouchWebPagePrivate::getPageViewPrivate):
2139 * UIProcess/API/qt/qtouchwebview.cpp: Added.
2140 (QTouchWebViewPrivate::QTouchWebViewPrivate):
2141 (QTouchWebView::QTouchWebView):
2142 (QTouchWebView::~QTouchWebView):
2143 (QTouchWebView::page):
2144 * UIProcess/API/qt/qtouchwebview.h: Added.
2145 * UIProcess/API/qt/qtouchwebview_p.h: Added.
2146 * UIProcess/API/qt/qwkpage.cpp: Removed.
2147 * UIProcess/API/qt/qwkpage.h: Removed.
2148 * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Added.
2149 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Added.
2150 (tst_CommonViewTests::init):
2151 (tst_CommonViewTests::cleanup):
2152 (tst_CommonViewTests::baseUrl):
2153 (tst_CommonViewTests::loadEmptyUrl):
2154 (tst_CommonViewTests::loadEmptyPageViewVisible):
2155 (tst_CommonViewTests::loadEmptyPageViewHidden):
2156 (tst_CommonViewTests::show):
2157 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Added.
2158 (WebViewAbstraction::WebViewAbstraction):
2159 (WebViewAbstraction::show):
2160 (WebViewAbstraction::hide):
2161 (WebViewAbstraction::load):
2162 (WebViewAbstraction::url):
2163 (WebViewAbstraction::touchViewLoadStarted):
2164 (WebViewAbstraction::desktopViewLoadStarted):
2165 (WebViewAbstraction::touchViewLoadSucceeded):
2166 (WebViewAbstraction::desktopViewLoadSucceeded):
2167 (WebViewAbstraction::touchWebView):
2168 (WebViewAbstraction::desktopWebView):
2169 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Copied from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
2170 * UIProcess/API/qt/tests/html/a.htm: Removed.
2171 * UIProcess/API/qt/tests/html/b.htm: Removed.
2172 * UIProcess/API/qt/tests/html/c.htm: Removed.
2173 * UIProcess/API/qt/tests/html/d.htm: Removed.
2174 * UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro.
2175 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
2176 (tst_QDesktopWebView::init):
2177 (tst_QDesktopWebView::cleanup):
2178 (tst_QDesktopWebView::webView):
2179 * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Removed.
2180 * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro.
2181 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Added.
2182 (tst_QTouchWebView::tst_QTouchWebView):
2183 (tst_QTouchWebView::init):
2184 (tst_QTouchWebView::cleanup):
2185 (tst_QTouchWebView::webView):
2186 (tst_QTouchWebView::accessPage):
2187 * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Removed.
2188 * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Removed.
2189 * UIProcess/API/qt/tests/tests.pro:
2190 * UIProcess/API/qt/tests/testwindow.h: Added.
2191 (TestWindow::TestWindow):
2192 (TestWindow::resizeEvent):
2193 * UIProcess/TiledDrawingAreaProxy.cpp:
2194 * UIProcess/TiledDrawingAreaProxy.h:
2195 * UIProcess/WebFullScreenManagerProxy.h:
2196 * UIProcess/qt/ClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.cpp.
2200 (qt_wk_didStartProvisionalLoadForFrame):
2201 (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
2202 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
2203 (qt_wk_didCommitLoadForFrame):
2204 (qt_wk_didFinishDocumentLoadForFrame):
2205 (qt_wk_didFinishLoadForFrame):
2206 (qt_wk_didFailLoadWithErrorForFrame):
2207 (qt_wk_didReceiveTitleForFrame):
2208 (qt_wk_didFirstLayoutForFrame):
2209 (qt_wk_didRemoveFrameFromHierarchy):
2210 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
2211 (qt_wk_didStartProgress):
2212 (qt_wk_didChangeProgress):
2213 (qt_wk_didFinishProgress):
2214 (qt_wk_didBecomeUnresponsive):
2215 (qt_wk_didBecomeResponsive):
2216 (qt_wk_createNewPage):
2220 (qt_wk_runJavaScriptAlert):
2221 (qt_wk_setStatusText):
2222 (qt_wk_didSameDocumentNavigationForFrame):
2223 (qt_wk_didChangeIconForPageURL):
2224 (qt_wk_didRemoveAllIcons):
2225 * UIProcess/qt/ClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.h.
2226 * UIProcess/qt/QtWebPageProxy.cpp: Added.
2228 (contextMenuActionForWebAction):
2229 (dragOperationToDropActions):
2230 (dropActionToDragOperation):
2231 (QtWebPageProxy::QtWebPageProxy):
2232 (QtWebPageProxy::init):
2233 (QtWebPageProxy::~QtWebPageProxy):
2234 (QtWebPageProxy::handleEvent):
2235 (QtWebPageProxy::handleKeyPressEvent):
2236 (QtWebPageProxy::handleKeyReleaseEvent):
2237 (QtWebPageProxy::handleFocusInEvent):
2238 (QtWebPageProxy::handleFocusOutEvent):
2239 (QtWebPageProxy::setCursor):
2240 (QtWebPageProxy::setViewNeedsDisplay):
2241 (QtWebPageProxy::displayView):
2242 (QtWebPageProxy::scrollView):
2243 (QtWebPageProxy::viewSize):
2244 (QtWebPageProxy::isViewWindowActive):
2245 (QtWebPageProxy::isViewFocused):
2246 (QtWebPageProxy::isViewVisible):
2247 (QtWebPageProxy::isViewInWindow):
2248 (QtWebPageProxy::enterAcceleratedCompositingMode):
2249 (QtWebPageProxy::exitAcceleratedCompositingMode):
2250 (QtWebPageProxy::pageDidRequestScroll):
2251 (QtWebPageProxy::didChangeContentsSize):
2252 (QtWebPageProxy::toolTipChanged):
2253 (QtWebPageProxy::registerEditCommand):
2254 (QtWebPageProxy::clearAllEditCommands):
2255 (QtWebPageProxy::canUndoRedo):
2256 (QtWebPageProxy::executeUndoRedo):
2257 (QtWebPageProxy::convertToDeviceSpace):
2258 (QtWebPageProxy::screenToWindow):
2259 (QtWebPageProxy::windowToScreen):
2260 (QtWebPageProxy::convertToUserSpace):
2261 (QtWebPageProxy::selectionChanged):
2262 (QtWebPageProxy::doneWithKeyEvent):
2263 (QtWebPageProxy::createPopupMenuProxy):
2264 (QtWebPageProxy::createContextMenuProxy):
2265 (QtWebPageProxy::setFindIndicator):
2266 (QtWebPageProxy::didCommitLoadForMainFrame):
2267 (QtWebPageProxy::didFinishLoadingDataForCustomRepresentation):
2268 (QtWebPageProxy::flashBackingStoreUpdates):
2269 (QtWebPageProxy::pageRef):
2270 (QtWebPageProxy::didChangeUrl):
2271 (QtWebPageProxy::didChangeTitle):
2272 (QtWebPageProxy::didChangeStatusText):
2273 (QtWebPageProxy::showContextMenu):
2274 (QtWebPageProxy::hideContextMenu):
2275 (QtWebPageProxy::loadDidBegin):
2276 (QtWebPageProxy::loadDidSucceed):
2277 (QtWebPageProxy::didChangeLoadProgress):
2278 (QtWebPageProxy::paint):
2279 (QtWebPageProxy::updateAction):
2280 (QtWebPageProxy::updateNavigationActions):
2281 (QtWebPageProxy::webActionTriggered):
2282 (QtWebPageProxy::didRelaunchProcess):
2283 (QtWebPageProxy::processDidCrash):
2284 (QtWebPageProxy::setActualVisibleContentsRect):
2285 (QtWebPageProxy::preferences):
2286 (QtWebPageProxy::setCreateNewPageFunction):
2287 (QtWebPageProxy::setCustomUserAgent):
2288 (QtWebPageProxy::customUserAgent):
2289 (QtWebPageProxy::load):
2290 (QtWebPageProxy::url):
2291 (QtWebPageProxy::title):
2292 (QtWebPageProxy::setDrawingAreaSize):
2293 (QtWebPageProxy::textZoomFactor):
2294 (QtWebPageProxy::setTextZoomFactor):
2295 (QtWebPageProxy::pageZoomFactor):
2296 (QtWebPageProxy::setPageZoomFactor):
2297 (QtWebPageProxy::setPageAndTextZoomFactors):
2298 (QtWebPageProxy::history):
2299 (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
2300 (QtWebPageProxy::triggerAction):
2301 (QtWebPageProxy::action):
2302 (QtWebPageProxy::findZoomableAreaForPoint):
2303 (QtWebPageProxy::didFindZoomableArea):
2304 (QtWebPageProxy::startDrag):
2305 (QtWebPageProxy::viewportVisibleRect):
2306 (QtWebPageProxy::isConnectedToEngine):
2307 (QtWebPageProxy::setPageIsVisible):
2308 * UIProcess/qt/QtWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpage_p.h.
2309 (QtWebPageProxy::pageClosed):
2310 (QtWebPageProxy::customRepresentationZoomFactor):
2311 (QtWebPageProxy::setCustomRepresentationZoomFactor):
2312 (QtWebPageProxy::didChangeScrollbarsForMainFrame):
2313 (QtWebPageProxy::findStringInCustomRepresentation):
2314 (QtWebPageProxy::countStringMatchesInCustomRepresentation):
2315 (QtWebPageProxy::userSpaceScaleFactor):
2316 (QtWebPageProxy::createNewPageFunction):
2317 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
2318 (WebKit::TiledDrawingAreaProxy::page):
2319 * UIProcess/qt/TouchViewInterface.cpp: Added.
2320 (WebKit::TouchViewInterface::TouchViewInterface):
2321 (WebKit::TouchViewInterface::setViewNeedsDisplay):
2322 (WebKit::TouchViewInterface::drawingAreaSize):
2323 (WebKit::TouchViewInterface::contentSizeChanged):
2324 (WebKit::TouchViewInterface::isActive):
2325 (WebKit::TouchViewInterface::hasFocus):
2326 (WebKit::TouchViewInterface::isVisible):
2327 (WebKit::TouchViewInterface::startDrag):
2328 (WebKit::TouchViewInterface::didChangeUrl):
2329 (WebKit::TouchViewInterface::didChangeTitle):
2330 (WebKit::TouchViewInterface::didChangeToolTip):
2331 (WebKit::TouchViewInterface::didChangeStatusText):
2332 (WebKit::TouchViewInterface::didChangeCursor):
2333 (WebKit::TouchViewInterface::loadDidBegin):
2334 (WebKit::TouchViewInterface::loadDidSucceed):
2335 (WebKit::TouchViewInterface::didChangeLoadProgress):
2336 (WebKit::TouchViewInterface::showContextMenu):
2337 (WebKit::TouchViewInterface::hideContextMenu):
2338 * UIProcess/qt/TouchViewInterface.h: Added.
2339 (WebKit::TouchViewInterface::pageView):
2340 * UIProcess/qt/ViewInterface.cpp: Added.
2341 (WebKit::ViewInterface::ownerWidget):
2342 * UIProcess/qt/ViewInterface.h: Added.
2343 * UIProcess/qt/WebContextMenuProxyQt.cpp:
2344 (WebKit::webActionForContextMenuAction):
2345 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
2346 (WebKit::WebContextMenuProxyQt::create):
2347 (WebKit::WebContextMenuProxyQt::showContextMenu):
2348 (WebKit::WebContextMenuProxyQt::hideContextMenu):
2349 (WebKit::WebContextMenuProxyQt::createContextMenu):
2350 * UIProcess/qt/WebContextMenuProxyQt.h:
2351 * UIProcess/qt/qdesktopwebpageproxy.cpp: Added.
2352 (dragOperationToDropAction):
2353 (QDesktopWebPageProxy::QDesktopWebPageProxy):
2354 (QDesktopWebPageProxy::createDrawingAreaProxy):
2355 (QDesktopWebPageProxy::paintContent):
2356 (QDesktopWebPageProxy::setViewportArguments):
2357 (QDesktopWebPageProxy::handleEvent):
2358 (QDesktopWebPageProxy::handleMouseMoveEvent):
2359 (QDesktopWebPageProxy::handleMousePressEvent):
2360 (QDesktopWebPageProxy::handleMouseReleaseEvent):
2361 (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
2362 (QDesktopWebPageProxy::handleWheelEvent):
2363 (QDesktopWebPageProxy::handleHoverMoveEvent):
2364 (QDesktopWebPageProxy::handleDragEnterEvent):
2365 (QDesktopWebPageProxy::handleDragLeaveEvent):
2366 (QDesktopWebPageProxy::handleDragMoveEvent):
2367 (QDesktopWebPageProxy::handleDropEvent):
2368 (QDesktopWebPageProxy::timerEvent):
2369 * UIProcess/qt/qdesktopwebpageproxy.h: Added.
2370 * UIProcess/qt/qtouchwebpageproxy.cpp: Added.
2371 (QTouchWebPageProxy::QTouchWebPageProxy):
2372 (QTouchWebPageProxy::createDrawingAreaProxy):
2373 (QTouchWebPageProxy::paintContent):
2374 (QTouchWebPageProxy::setViewportArguments):
2375 (QTouchWebPageProxy::handleEvent):
2376 (QTouchWebPageProxy::touchEvent):
2377 * UIProcess/qt/qtouchwebpageproxy.h: Added.
2378 (QTouchWebPageProxy::touchViewInterface):
2379 (QTouchWebPageProxy::pageView):
2380 * UIProcess/qt/qwkcontext.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.cpp.
2381 (initializePlatformStrategiesIfNeeded):
2382 (QWKContextPrivate::QWKContextPrivate):
2383 (QWKContextPrivate::~QWKContextPrivate):
2384 (QWKContext::QWKContext):
2385 (QWKContext::~QWKContext):
2386 (QWKContext::setIconDatabasePath):
2387 (QWKContext::iconForPageURL):
2388 * UIProcess/qt/qwkcontext.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.h.
2389 * UIProcess/qt/qwkcontext_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext_p.h.
2390 * UIProcess/qt/qwkhistory.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.cpp.
2391 (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
2392 (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
2393 (QWKHistoryItem::QWKHistoryItem):
2394 (QWKHistoryItem::QWKHistoryItem::operator=):
2395 (QWKHistoryItem::~QWKHistoryItem):
2396 (QWKHistoryItem::title):
2397 (QWKHistoryItem::url):
2398 (QWKHistoryPrivate::QWKHistoryPrivate):
2399 (QWKHistoryPrivate::createHistory):
2400 (QWKHistoryPrivate::~QWKHistoryPrivate):
2401 (QWKHistory::QWKHistory):
2402 (QWKHistory::~QWKHistory):
2403 (QWKHistory::backListCount):
2404 (QWKHistory::forwardListCount):
2405 (QWKHistory::count):
2406 (QWKHistory::currentItem):
2407 (QWKHistory::backItem):
2408 (QWKHistory::forwardItem):
2409 (QWKHistory::itemAt):
2410 (QWKHistory::goToItemAt):
2411 (QWKHistory::backItems):
2412 (QWKHistory::forwardItems):
2413 * UIProcess/qt/qwkhistory.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.h.
2414 * UIProcess/qt/qwkhistory_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory_p.h.
2415 * UIProcess/qt/qwkpreferences.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp.
2416 (QWKPreferencesPrivate::createPreferences):
2417 (QWKPreferencesPrivate::createSharedPreferences):
2418 (QWKPreferences::sharedPreferences):
2419 (QWKPreferences::QWKPreferences):
2420 (QWKPreferences::~QWKPreferences):
2421 (QWKPreferences::setFontFamily):
2422 (QWKPreferences::fontFamily):
2423 (QWKPreferences::testAttribute):
2424 (QWKPreferences::setAttribute):
2425 (QWKPreferences::setFontSize):
2426 (QWKPreferences::fontSize):
2427 * UIProcess/qt/qwkpreferences.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.h.
2428 * UIProcess/qt/qwkpreferences_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences_p.h.
2431 * WebProcess/WebPage/TiledDrawingArea.cpp:
2432 * WebProcess/WebPage/TiledDrawingArea.h:
2434 2011-07-05 Jeff Miller <jeffm@apple.com>
2436 Add WKPageCopyStandardUserAgentWithApplicationName
2437 https://bugs.webkit.org/show_bug.cgi?id=63953
2439 Reviewed by Adam Roben.
2441 * UIProcess/API/C/WKPage.cpp:
2442 (WKPageCopyStandardUserAgentWithApplicationName): Added.
2443 * UIProcess/API/C/WKPagePrivate.h: Added WKPageCopyStandardUserAgentWithApplicationName().
2445 * UIProcess/WebPageProxy.h: Make standardUserAgent() public.
2447 2011-07-05 Vsevolod Vlasov <vsevik@chromium.org>
2449 Web Inspector: Show content for plugin requests in network panel.
2450 https://bugs.webkit.org/show_bug.cgi?id=30080
2452 Added win symbols for new window.internals methods.
2454 Reviewed by Pavel Feldman.
2457 * win/WebKit2CFLite.def:
2459 2011-07-04 Sheriff Bot <webkit.review.bot@gmail.com>
2461 Unreviewed, rolling out r90373.
2462 http://trac.webkit.org/changeset/90373
2463 https://bugs.webkit.org/show_bug.cgi?id=63917
2465 Breaks Qt Linux Release minimal (Requested by vsevik on
2469 * win/WebKit2CFLite.def:
2471 2011-07-04 Vsevolod Vlasov <vsevik@chromium.org>
2473 Web Inspector: Show content for plugin requests in network panel.
2474 https://bugs.webkit.org/show_bug.cgi?id=30080
2476 Reviewed by Pavel Feldman.
2479 * win/WebKit2CFLite.def:
2481 2011-07-04 Anders Carlsson <andersca@apple.com>
2483 NP_RemoveProperty is not called back by Safari when delete npObject.prop is encountered in JavaScript
2484 https://bugs.webkit.org/show_bug.cgi?id=63915
2485 <rdar://problem/7124300>
2487 Reviewed by Sam Weinig.
2489 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2490 (WebKit::JSNPObject::deleteProperty):
2491 Call NP_RemoveProperty on the NPObject.
2493 * WebProcess/Plugins/Netscape/JSNPObject.h:
2496 2011-06-23 Robert Hogan <robert@webkit.org>
2498 Reviewed by Simon Hausmann.
2500 [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
2501 https://bugs.webkit.org/show_bug.cgi?id=30355
2503 PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
2504 in order to clear the FrameSelection in the currently focused node. In its platform-specific
2505 code Chromium already does this (WebPluginContainerImpl.cpp).
2507 * WebProcess/Plugins/PluginView.cpp:
2508 (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
2509 the call to FocusController:setFocusedFrame() redundant, since the
2512 2011-07-02 Anders Carlsson <andersca@apple.com>
2514 Have another go at fixing the Windows build.
2516 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2517 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2518 (WebKit::NetscapePlugin::containingWindow):
2519 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
2520 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
2522 2011-07-02 Anders Carlsson <andersca@apple.com>
2524 Null out the plug-in controller after destroying the plug-in.
2525 https://bugs.webkit.org/show_bug.cgi?id=63869
2527 Reviewed by Maciej Stachowiak.
2529 * PluginProcess/PluginControllerProxy.cpp:
2530 (WebKit::PluginControllerProxy::destroy):
2533 * WebProcess/Plugins/Plugin.cpp:
2534 (WebKit::Plugin::destroyPlugin):
2535 Call destroy and null out the plug-in controller.
2537 * WebProcess/Plugins/Plugin.h:
2538 Add destroyPlugin, make destroy private.
2540 * WebProcess/Plugins/PluginView.cpp:
2541 (WebKit::PluginView::~PluginView):
2544 2011-07-02 Anders Carlsson <andersca@apple.com>
2546 Fix Windows build for real.
2548 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2549 (WebKit::NetscapePlugin::containingWindow):
2550 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
2551 (WebKit::NetscapePlugin::platformPaint):
2552 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2554 2011-07-02 Anders Carlsson <andersca@apple.com>
2556 Implement NPN_PluginThreadAsyncCall
2557 https://bugs.webkit.org/show_bug.cgi?id=63868
2559 Reviewed by Dan Bernstein.
2561 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2562 (WebKit::NPN_PluginThreadAsyncCall):
2563 Call NetscapePlugin::pluginThreadAsyncCall.
2565 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2566 (WebKit::NetscapePlugin::pluginThreadAsyncCall):
2567 Schedule a work item to call the function on the main run loop.
2569 (WebKit::NetscapePlugin::handlePluginThreadAsyncCall):
2570 If the plug-in is still running, run the function.
2572 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2573 Add new member function.
2575 * WebProcess/Plugins/Plugin.h:
2576 Make plug-in inherit from ThreadSafeRefCounted since plug-ins can potentially
2577 ref the plug-in from other threads.
2579 2011-07-02 Anders Carlsson <andersca@apple.com>
2583 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2584 (WebKit::NetscapePlugin::containingWindow):
2585 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
2586 (WebKit::NetscapePlugin::platformPaint):
2587 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2588 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
2589 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
2591 2011-07-02 Anders Carlsson <andersca@apple.com>
2593 Move the plug-in controller member variable up to the shared Plugin base class
2594 https://bugs.webkit.org/show_bug.cgi?id=63867
2596 Reviewed by Sam Weinig.
2598 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2599 (WebKit::NetscapePlugin::NetscapePlugin):
2600 Remove m_pluginController.
2602 (WebKit::NetscapePlugin::invalidate):
2603 (WebKit::NetscapePlugin::userAgent):
2604 (WebKit::NetscapePlugin::loadURL):
2605 (WebKit::NetscapePlugin::setStatusbarText):
2606 (WebKit::NetscapePlugin::evaluate):
2607 (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
2608 (WebKit::NetscapePlugin::windowScriptNPObject):
2609 (WebKit::NetscapePlugin::pluginElementNPObject):
2610 (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
2611 (WebKit::NetscapePlugin::cancelStreamLoad):
2612 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
2613 (WebKit::NetscapePlugin::proxiesForURL):
2614 (WebKit::NetscapePlugin::cookiesForURL):
2615 (WebKit::NetscapePlugin::setCookiesForURL):
2616 (WebKit::NetscapePlugin::getAuthenticationInfo):
2617 Use controller() instead of m_pluginController.
2619 (WebKit::NetscapePlugin::initialize):
2620 This doesn't take a PluginController parameter anymore.
2622 (WebKit::NetscapePlugin::destroy):
2623 No need to null out the plug-in controller.
2625 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2626 Remove m_pluginController member variable.
2628 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2629 (WebKit::NetscapePlugin::compositingRenderServerPort):
2630 (WebKit::NetscapePlugin::platformSetFocus):
2631 (WebKit::NetscapePlugin::windowFocusChanged):
2632 Use controller() instead of m_pluginController.
2634 * WebProcess/Plugins/Plugin.cpp:
2635 (WebKit::Plugin::Plugin):
2636 Initialize m_pluginController.
2638 (WebKit::Plugin::initialize):
2639 New function that initializes the plug-in controller and then calls the real
2640 virtual initialize member function.
2642 * WebProcess/Plugins/Plugin.h:
2643 Add m_pluginController member variable and a new initialize virtual member function that doesn't take a
2644 PluginController parameter. Make the "old" initialize member function set up the plug-in controller.
2646 (WebKit::Plugin::controller):
2647 This is now a simple getter.
2649 * WebProcess/Plugins/PluginProxy.cpp:
2650 (WebKit::PluginProxy::PluginProxy):
2651 Remove m_pluginController.
2653 (WebKit::PluginProxy::pluginProcessCrashed):
2654 Use controller(), remove a bogus null check.
2656 (WebKit::PluginProxy::initialize):
2657 This doesn't take a PluginController parameter now.
2659 (WebKit::PluginProxy::destroy):
2660 No need to null out the plug-in controller member variable.
2662 (WebKit::PluginProxy::loadURL):
2663 (WebKit::PluginProxy::proxiesForURL):
2664 (WebKit::PluginProxy::cookiesForURL):
2665 (WebKit::PluginProxy::setCookiesForURL):
2666 (WebKit::PluginProxy::getAuthenticationInfo):
2667 (WebKit::PluginProxy::windowNPObjectID):
2668 (WebKit::PluginProxy::getPluginElementNPObject):
2669 (WebKit::PluginProxy::evaluate):
2670 (WebKit::PluginProxy::cancelStreamLoad):
2671 (WebKit::PluginProxy::cancelManualStreamLoad):
2672 (WebKit::PluginProxy::setStatusbarText):
2673 (WebKit::PluginProxy::setComplexTextInputEnabled):
2674 (WebKit::PluginProxy::update):
2675 Use controller() instead of m_pluginController.
2677 * WebProcess/Plugins/PluginProxy.h:
2678 Remove m_pluginController.
2680 2011-07-01 Darin Adler <darin@apple.com>
2682 Consider backing scale factor when setting up graphics layers
2683 https://bugs.webkit.org/show_bug.cgi?id=63848
2685 Reviewed by Simon Fraser.
2687 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2688 (WebKit::LayerTreeHostCA::initialize): Set contents scale on the
2689 non-composited content layer based on the backing scale factor.
2690 (WebKit::LayerTreeHostCA::createPageOverlayLayer): Set contents
2691 scale on the page overlay layer based on the backing scale factor.
2693 2011-06-30 Brian Weinstein <bweinstein@apple.com>
2695 Reviewed by Darin Adler.
2697 WebKit2: DidFinishLoadForFrame is never called on iframes when loads are
2698 cancelled by willSendRequest
2699 https://bugs.webkit.org/show_bug.cgi?id=63753
2701 When deciding a policy for a null request, call the callback that was passed
2702 to WebKit2 and say that we used the loader.
2704 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2705 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
2707 2011-07-01 Balazs Kelemen <kbalazs@webkit.org>
2709 Reviewed by Andreas Kling.
2711 [X11][WK2] plugins/mouse-evets-fixedpos.html is failing because of broken event propagation
2712 https://bugs.webkit.org/show_bug.cgi?id=63239
2714 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2715 Revert the return value of NPP_HandleEvent because the plugin function
2716 returns with 0 if it handled the event.
2717 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2718 (WebKit::NetscapePlugin::platformHandleWheelEvent):
2719 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
2720 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
2721 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2723 2011-07-01 Mark Rowe <mrowe@apple.com>
2725 Unreviewed due to fixing of a broken world.
2727 REGRESSION (r90163): WebKit2 bot is failing 100% of the tests.
2729 r90163 bumped the version of the WKBundlePageLoaderClient passed in by WebKitTestRunner from 0 to 1.
2730 This made it run in to the ad-hoc client version checking implemented directly in WKBundlePageSetPageLoaderClient,
2731 resulting in no client being set. After r90162 the ad-hoc checking is not necessary as the APIClient
2732 template takes care of the relevant version checks.
2734 * Shared/APIClient.h:
2735 (WebKit::APIClient::initialize): Fix a bug I noticed along the way: don't attempt to copy anything if
2736 the client version is newer than what we support. This matches the behavior of the ad-hoc version checking.
2737 * UIProcess/API/C/WKContext.cpp:
2738 (WKContextSetInjectedBundleClient): Drop the ad-hoc version checking.
2739 (WKContextSetHistoryClient): Ditto.
2740 (WKContextSetDownloadClient): Ditto.
2741 * UIProcess/API/C/WKCookieManager.cpp:
2742 (WKCookieManagerSetClient): Ditto.
2743 * UIProcess/API/C/WKGeolocationManager.cpp:
2744 (WKGeolocationManagerSetProvider): Ditto.
2745 * UIProcess/API/C/WKIconDatabase.cpp:
2746 (WKIconDatabaseSetIconDatabaseClient): Ditto.
2747 * UIProcess/API/C/WKPage.cpp:
2748 (WKPageSetPageContextMenuClient): Ditto.
2749 (WKPageSetPageFindClient): Ditto.
2750 (WKPageSetPageFormClient): Ditto.
2751 (WKPageSetPageLoaderClient): Ditto.
2752 (WKPageSetPagePolicyClient): Ditto.
2753 (WKPageSetPageResourceLoadClient): Ditto.
2754 (WKPageSetPageUIClient): Ditto.
2755 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2756 (WKBundleSetClient): Ditto.
2757 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2758 (WKBundlePageSetContextMenuClient): Ditto.
2759 (WKBundlePageSetEditorClient): Ditto.
2760 (WKBundlePageSetFormClient): Ditto.
2761 (WKBundlePageSetPageLoaderClient): Ditto.
2762 (WKBundlePageSetResourceLoadClient): Ditto.
2763 (WKBundlePageSetPolicyClient): Ditto.
2764 (WKBundlePageSetUIClient): Ditto.
2765 (WKBundlePageSetFullScreenClient): Ditto.
2767 2011-06-30 Darin Adler <darin@apple.com>
2769 Reviewed by Anders Carlsson.
2771 [WebKit2] Consider scale factor when allocating backing store
2772 https://bugs.webkit.org/show_bug.cgi?id=63766
2774 This is the first step in considering scale factor. It considers
2775 scale factor for the primary backing store, not graphics layers,
2778 * Platform/cg/CGUtilities.cpp:
2779 (WebKit::paintImage): Added a scale factor argument.
2780 (WebKit::paintBitmapContext): Pass 1 for scale factor.
2781 * Platform/cg/CGUtilities.h: Updated for above.
2783 * Shared/ShareableBitmap.h: Added an overload of paint that can handle
2786 * Shared/UpdateInfo.cpp:
2787 (WebKit::UpdateInfo::encode): Encode scale factor.
2788 (WebKit::UpdateInfo::decode): Decode scale factor.
2789 * Shared/UpdateInfo.h: Added scale factor.
2791 * Shared/cg/ShareableBitmapCG.cpp:
2792 (WebKit::ShareableBitmap::paint): Added the overload that can handle
2795 * UIProcess/BackingStore.cpp:
2796 (WebKit::BackingStore::create): Take a scale factor.
2797 (WebKit::BackingStore::BackingStore): Store the scale factor.
2798 (WebKit::BackingStore::incorporateUpdate): Consider the scale factor
2799 when asserting the size is correct.
2801 * UIProcess/BackingStore.h: Add a scale factor.
2803 * UIProcess/DrawingAreaProxyImpl.cpp:
2804 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): Check the
2805 scale factor too when deciding whether to reuse a backing store.
2806 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Pass in the scale
2807 factor when creating a backing store.
2809 * UIProcess/mac/BackingStoreMac.mm:
2810 (WebKit::BackingStore::incorporateUpdate): Take the scale factor into
2811 account when painting.
2813 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2814 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Put the
2815 scale factor into the UpdateInfo.
2816 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Ditto.
2817 (WebKit::DrawingAreaImpl::display): Take the scale factor into account
2818 when allocating the bitmap and creating a graphics context for it.
2820 2011-06-30 Mark Rowe <mrowe@apple.com>
2822 Fix the Windows build.
2824 * UIProcess/API/C/win/WKTextChecker.h:
2825 * UIProcess/API/C/win/WKView.h:
2826 * UIProcess/win/WebTextCheckerClient.h:
2827 * UIProcess/win/WebUndoClient.h:
2829 2011-06-30 Mark Rowe <mrowe@apple.com>
2831 Reviewed by Anders Carlsson.
2833 Teach APIClient to correctly handle multiple versions of a client interface.
2835 If a client struct is not the current version then we can't copy it via assignment
2836 since that will read past the end of the smaller, older struct. To deal with this
2837 APIClient needs to be aware of the sizes of the older client version structs so that
2838 it can copy only the appropriate amount of the struct.
2840 * Shared/APIClient.h:
2841 (WebKit::APIClient::initialize): Assign through to our client if the new in client is the
2842 latest version. If an older client version was passed then we zero out our client and memcpy
2843 the appropriate number of bytes in to it. This ensures that any new members in the client
2844 are initialized to 0.
2845 * Shared/APIClientTraits.cpp:
2846 * Shared/APIClientTraits.h: Client interfaces are the size of their struct unless otherwise stated.
2847 * WebKit2.xcodeproj/project.pbxproj:
2848 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Bump the version and add comments indicating
2849 which components belong to which versions.
2851 2011-06-30 Mark Rowe <mrowe@apple.com>
2853 Reviewed by Anders Carlsson.
2855 Make the APIClient template aware of the latest client interface version number.
2857 This will be used in an upcoming patch.
2859 * Shared/APIClient.h:
2860 * UIProcess/WebContextInjectedBundleClient.h:
2861 * UIProcess/WebCookieManagerProxyClient.h:
2862 * UIProcess/WebDatabaseManagerProxyClient.h:
2863 * UIProcess/WebDownloadClient.h:
2864 * UIProcess/WebFindClient.h:
2865 * UIProcess/WebFormClient.h:
2866 * UIProcess/WebGeolocationProvider.h:
2867 * UIProcess/WebHistoryClient.h:
2868 * UIProcess/WebIconDatabaseClient.h:
2869 * UIProcess/WebLoaderClient.h:
2870 * UIProcess/WebPageContextMenuClient.h:
2871 * UIProcess/WebPolicyClient.h:
2872 * UIProcess/WebResourceLoadClient.h:
2873 * UIProcess/WebUIClient.h:
2874 * WebProcess/InjectedBundle/InjectedBundleClient.h:
2875 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
2876 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
2877 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
2878 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
2879 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2880 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
2881 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
2882 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2884 2011-06-30 Mark Rowe <mrowe@apple.com>
2886 Reviewed by Anders Carlsson.
2888 WebKit2 client interfaces should have constant declaring latest version.
2890 * UIProcess/API/C/WKContext.h:
2891 * UIProcess/API/C/WKCookieManager.h:
2892 * UIProcess/API/C/WKDatabaseManager.h:
2893 * UIProcess/API/C/WKGeolocationManager.h:
2894 * UIProcess/API/C/WKIconDatabase.h:
2895 * UIProcess/API/C/WKPage.h:
2896 * WebProcess/InjectedBundle/API/c/WKBundle.h:
2897 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2898 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2900 2011-06-30 Anders Carlsson <andersca@apple.com>
2904 * UIProcess/win/WebPopupMenuProxyWin.h:
2905 (WebKit::WebPopupMenuProxyWin::enclosingScrollableArea):
2907 2011-06-30 Martin Robinson <mrobinson@igalia.com>
2909 Reviewed by Anders Carlsson.
2911 [GTK] Crash observed with nspluginwrapper and flash
2912 https://bugs.webkit.org/show_bug.cgi?id=62249
2914 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2915 (WebKit::NPN_InvalidateRect): Guard against null instances here.
2917 2011-06-30 Mark Rowe <mrowe@apple.com>
2919 Reviewed by Anders Carlsson.
2921 Reinstate WKSecurityOriginGetHost and WKSecurityOriginGetProtocol as wrappers around the correctly-named functions.
2923 They're needed for ABI compatibility.
2925 * Shared/API/c/WKSecurityOrigin.cpp:
2926 (WKSecurityOriginGetHost):
2927 (WKSecurityOriginGetProtocol):
2929 2011-06-29 Darin Adler <darin@apple.com>
2931 Reviewed by Dan Bernstein.
2933 [Mac] Use system cursors instead of custom bitmaps where possible
2934 https://bugs.webkit.org/show_bug.cgi?id=63679
2936 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2937 (InitWebCoreSystemInterface): Added WKCursor.
2939 2011-06-29 Darin Adler <darin@apple.com>
2941 Reviewed by Anders Carlsson.
2943 [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
2944 https://bugs.webkit.org/show_bug.cgi?id=63483
2946 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2947 (WebKit::WebFrameLoaderClient::createFrame): Added a check for null when creating
2948 a frame. Also added a check that was in the WebKit1 code, but not here. Strangely,
2949 the comment from the second check was still here, but not the code.
2951 2011-06-28 Chang Shu <cshu@webkit.org>
2953 Reviewed by Andreas Kling.
2955 [Qt][WK2] Random crashes in fast/frames/ tests
2956 https://bugs.webkit.org/show_bug.cgi?id=63459
2958 Investigation on the crashes has revealed that sometimes, a frame could
2959 have been destroyed before it is removed from the hierachy in Qt WebKit2 UI process.
2960 The root cause lies in the fact that the order of the two contiguous asynchronous
2961 messages may not be respected on the receiving side. And it is Qt's implementation,
2962 which uses QTimer::startTimer(0), that causes the reverse order. This patch replaces
2963 the timer approach with QMetaObject::invokeMethod approach and no crash happens afterwards.
2965 * Platform/qt/WorkQueueQt.cpp:
2966 (WorkQueue::scheduleWork):
2968 2011-06-28 Balazs Kelemen <kbalazs@webkit.org>
2970 Reviewed by Kenneth Rohde Christiansen.
2972 [X11][WK2] X error with plugin tests
2973 https://bugs.webkit.org/show_bug.cgi?id=63520
2975 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2976 Never create a pixmap with (0,0) dimensions.
2977 (WebKit::NetscapePlugin::platformGeometryDidChange):
2978 (WebKit::NetscapePlugin::platformPaint):
2980 2011-06-28 Balazs Kelemen <kbalazs@webkit.org>
2982 Reviewed by Kenneth Rohde Christiansen.
2984 [X11][WK2] plugins/plugin-javascript-access fails
2985 https://bugs.webkit.org/show_bug.cgi?id=63464
2987 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2988 (WebKit::NetscapePluginModule::getPluginInfo):
2989 Determine the name of the plugin.
2991 2011-06-27 Yuta Kitamura <yutak@chromium.org>
2993 Reviewed by Alexey Proskuryakov.
2995 [WebKit2] Add hixie76WebSocketProtocolEnabled flag to WebPreferences
2996 https://bugs.webkit.org/show_bug.cgi?id=63447
2998 Make a new flag added in WebCore::Settings (useHixie76WebSocketProtocol)
2999 switchable from WebPage and WebPreferences.
3001 * Shared/WebPreferencesStore.h:
3002 * UIProcess/API/C/WKPreferences.cpp:
3003 (WKPreferencesSetHixie76WebSocketProtocolEnabled):
3004 (WKPreferencesGetHixie76WebSocketProtocolEnabled):
3005 * UIProcess/API/C/WKPreferencesPrivate.h:
3006 * WebProcess/WebPage/WebPage.cpp:
3007 (WebKit::WebPage::updatePreferences):
3009 2011-06-27 Jeff Miller <jeffm@apple.com>
3011 Reviewed by Oliver Hunt.
3013 Web process always pauses on launch
3014 https://bugs.webkit.org/show_bug.cgi?id=63487
3016 In the absence of the WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable, only pause the web process on
3017 launch if the shift, control, and alt keys are all held down. This regressed in r89685, which always caused the
3018 web process to pause if the shift and alt keys were not held down.
3020 * WebProcess/WebKitMain.cpp:
3021 (pauseProcessIfNeeded): Add some parentheses.
3023 2011-06-27 Huang Dongsung <luxtella@company100.net>
3025 Reviewed by Kenneth Rohde Christiansen.
3027 TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
3029 https://bugs.webkit.org/show_bug.cgi?id=62422
3031 REGRESSION(r77286): Remove bottomRight().
3032 REGRESSION(r77312): Change the logic to get the bottom right point.
3033 REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
3034 REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
3035 REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
3037 If the viewport width equals the contents width, especially in the mobile
3038 device, TiledBackingStore endlessly creates and deletes the rightmost
3039 column and bottom row of tiles.
3040 In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
3041 deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
3043 Modified TiledDrawingAreaProxy also.
3045 * UIProcess/TiledDrawingAreaProxy.cpp:
3046 (WebKit::innerBottomRight):
3047 (WebKit::TiledDrawingAreaProxy::invalidate):
3048 (WebKit::TiledDrawingAreaProxy::paint):
3049 (WebKit::TiledDrawingAreaProxy::createTiles):
3051 2011-06-26 Mark Rowe <mrowe@apple.com>
3053 Reviewed by Dan Bernstein.
3055 Use a separate file name for Lion's WebKitSystemInterface.
3057 * Configurations/DebugRelease.xcconfig:
3059 2011-06-26 Mark Rowe <mrowe@apple.com>
3061 Rubber-stamped by Maciej Stachowiak.
3063 <rdar://problem/9679221&9679235> Work around an issue with sandbox.h.
3065 * WebProcess/mac/WebProcessMac.mm:
3067 2011-06-26 Anders Carlsson <andersca@apple.com>
3069 Reviewed by Dan Bernstein.
3071 Don't use a Mutex for protecting access to the connection queue clients
3072 https://bugs.webkit.org/show_bug.cgi?id=63403
3074 Make sure to only access the queue client vector from the connection work queue.
3075 This gets rid of a lock and ensures that adding/removing clients from callbacks works correctly.
3077 * Platform/CoreIPC/Connection.cpp:
3078 (CoreIPC::Connection::addQueueClient):
3079 (CoreIPC::Connection::removeQueueClient):
3080 (CoreIPC::Connection::addQueueClientOnWorkQueue):
3081 (CoreIPC::Connection::removeQueueClientOnWorkQueue):
3082 (CoreIPC::Connection::processIncomingMessage):
3083 * Platform/CoreIPC/Connection.h:
3085 2011-06-25 Brent Fulgham <bfulgham@webkit.org>
3087 Unreviewed build correction after r89426.
3089 * Shared/API/c/cairo/WKImageCairo.h: Declare cairo type
3090 as struct (in keeping with other declarations).
3091 * win/WebKit2.vcproj: Add new WKImageCairo.cpp file to
3094 2011-06-25 Brent Fulgham <bfulgham@webkit.org>
3096 Unreviewed build correction after r89503.
3097 See http://trac.webkit.org/changeset/89503. The modifications
3098 to the WebKit2.def need to be mirrored in WebKit2CFLite.def.
3100 * win/WebKit2CFLite.def: Add new exported symbol for isPreloaded.
3102 2011-06-24 Brent Fulgham <bfulgham@webkit.org>
3104 Unreviewed build correction after r89426.
3105 See http://trac.webkit.org/changeset/89426. The new WebKit2
3106 header file (WKImageCairo.h) is needed.
3108 * win/WebKit2Generated.make: Make sure to copy the WKImageCairo.h
3109 header file to the WebKit2 API directory after building.
3111 2011-06-24 Anders Carlsson <andersca@apple.com>
3113 Reviewed by John Sullivan.
3115 Drag-and-drop tab in same window makes web process falsely report unresponsiveness
3116 https://bugs.webkit.org/show_bug.cgi?id=63369
3117 <rdar://problem/9673120>
3119 If the view becomes invisible, stop the responsiveness timer, because we might not get any
3120 messages that will cause it to stop (such as painting notifications since we don't paint
3121 when we're not visible).
3123 * UIProcess/WebPageProxy.cpp:
3124 (WebKit::WebPageProxy::viewStateDidChange):
3126 2011-06-24 Anders Carlsson <andersca@apple.com>
3128 Reviewed by Kevin Decker.
3130 Not possible for plug-ins to override the internal PDF viewer
3131 https://bugs.webkit.org/show_bug.cgi?id=63356
3132 <rdar://problem/9673382>
3134 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3135 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
3136 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3137 Pass the entire resource response to shouldUseCustomRepresentationForResponse.
3139 * WebProcess/WebProcess.cpp:
3140 (WebKit::canPluginHandleResponse):
3141 Ask for the plug-in path for a plug-in that can handle the given resource response.
3142 If we fail to send the message, or if the path comes back empty, we assume that there's no plug-in
3145 (WebKit::WebProcess::shouldUseCustomRepresentationForResponse):
3146 If the response MIME type is in the m_mimeTypesWithCustomRepresentations map, check if there's
3147 a plug-in that can handle the given response. If that is the case, it should have precedence over
3148 the custom representation.
3150 * WebProcess/WebProcess.h:
3151 Rename shouldUseCustomRepresentationForMIMEType to shouldUseCustomRepresentationForResponse.
3153 2011-06-24 Adam Roben <aroben@apple.com>
3155 Mac build fix after r89685
3157 * WebProcess/WebKitMain.cpp: Make a Windows-only #include really be Windows-only.
3159 2011-06-24 Adam Roben <aroben@apple.com>
3161 Make the web process pause dialog look better on Vista/7 and robust against executable
3164 Fixes <http://webkit.org/b/63335> Web process pause dialog looks bad on Vista/7
3166 Reviewed by Brian Weinstein.
3168 * WebProcess/WebKitMain.cpp:
3169 (pauseProcessIfNeeded): Moved code to show the pause dialog here from WebKitMain. We now
3170 fetch the executable name using ::GetModuleFileNameW instead of hard-coding it. The string
3171 we pass to ::MessageBoxW no longer has embedded newlines, which improves its appearance on
3172 Vista/7 (which were doing their own wrapping in addition to our newlines). Appearance is
3173 different but fine on XP. Note that the message text now contains the "[_debug].exe" suffix when
3174 referring to the process; that is different from before but seems fine.
3175 (WebKitMain): Call the new function.
3177 2011-06-24 Dominic Cooney <dominicc@chromium.org>
3179 Reviewed by Dimitri Glazkov.
3181 Convert shadow DOM-related tests to use window.internals
3182 https://bugs.webkit.org/show_bug.cgi?id=61671
3184 Remove shadow DOM-related methods from WebKit2 API. These are not
3187 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
3188 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
3189 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3190 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
3191 * win/WebKit2.def: Re-exports for symbols used by WebCoreTestSupport.
3192 * win/WebKit2CFLite.def: Same for Cairo.
3194 2011-06-24 Carlos Garcia Campos <cgarcia@igalia.com>
3196 Reviewed by Martin Robinson.
3198 [X11] Do not call NPP_SetWindow with a null window handle on destroy
3199 https://bugs.webkit.org/show_bug.cgi?id=62981
3201 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3202 (WebKit::NetscapePlugin::destroy):
3204 2011-06-23 Jamie Cooley <james.cooley@nokia.com>
3206 Reviewed by Andreas Kling.
3208 [Qt][WK2] Qt port needs load-from-history implementation
3209 https://bugs.webkit.org/show_bug.cgi?id=57784
3211 Created "random access" BackForwardHistory public API method,
3212 QWKHistory::goToItemAt(int)
3214 * UIProcess/API/qt/qwkhistory.cpp:
3215 (QWKHistoryItem::QWKHistoryItem::itemRef):
3216 Added access method to fetch WKBackForwardListRef
3218 (QWKHistoryPrivate::QWKHistoryPrivate):
3219 (QWKHistoryPrivate::createHistory):
3220 Updated createHistory method and QWKHistoryPrivate constructor to take a pointer
3221 to the owning QWKPage in addition to the WebBackForwardList. This will be saved so that the
3222 new API can ask the page to load a HistoryItem.
3224 (QWKHistory::goToItemAt):
3225 New Public API. Like QWKHistory::itemAt, callee gives an integer.
3226 <0 means jump back to that item, 0 means the current item, >0 means jump forwards.
3227 If an out-of-range index is given, the function silently fails.
3228 This will invoke WKPageGoToBackForwardListItem.
3230 * UIProcess/API/qt/qwkhistory.h:
3231 * UIProcess/API/qt/qwkhistory_p.h:
3232 * UIProcess/API/qt/qwkpage.cpp:
3233 (QWKPagePrivate::QWKPagePrivate):
3234 Update instantiation of QWKHistory to include QWKPage.
3236 * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp:
3237 (tst_QWKHistory::historyForwardBackTest_data):
3238 (tst_QWKHistory::historyForwardBackTest):
3239 Add test content for the new API
3241 2011-06-23 Yael Aharon <yael.aharon@nokia.com>
3243 Reviewed by Andreas Kling.
3245 [Qt] [WK2] Add drag and drop support
3246 https://bugs.webkit.org/show_bug.cgi?id=62838
3248 Added missing pieces to add support for DnD in QtWebKit.
3250 * Shared/qt/ArgumentCodersQt.cpp: Added.
3251 (CoreIPC::::encode):
3252 (CoreIPC::::decode):
3253 * Shared/qt/ArgumentCodersQt.h: Added.
3254 Encode DragData so that we can transfer the QMimeData between the
3255 WebProcess and the UI Process.
3256 I encode the DragData and not QMimeData directly because we don't
3257 have an associated QMimeData for each message.
3259 * UIProcess/API/qt/qgraphicswkview.cpp:
3260 (QGraphicsWKView::init):
3261 (QGraphicsWKView::dragEnterEvent):
3262 (QGraphicsWKView::dragLeaveEvent):
3263 (QGraphicsWKView::dragMoveEvent):
3264 (QGraphicsWKView::dropEvent):
3265 * UIProcess/API/qt/qgraphicswkview.h:
3266 * UIProcess/API/qt/qwkpage.cpp:
3267 (dropActionToDragOperation):
3268 (dragOperationToDropAction):
3269 (dragOperationToDropActions):
3270 (QWKPagePrivate::dragEnterEvent):
3271 (QWKPagePrivate::dragLeaveEvent):
3272 (QWKPagePrivate::dragMoveEvent):
3273 (QWKPagePrivate::dropEvent):
3274 (QWKPagePrivate::startDrag):
3276 Send drag-and-drop related events to WebKit.
3278 * UIProcess/API/qt/qwkpage_p.h:
3279 * UIProcess/PageClient.h:
3280 * UIProcess/WebPageProxy.cpp:
3281 (WebKit::WebPageProxy::performDragControllerAction):
3282 (WebKit::WebPageProxy::startDrag):
3283 * UIProcess/WebPageProxy.h:
3285 Start the HTML5 drag operation from the UI process, because QDrag
3286 needs a handle to the QWidget under the mouse.
3288 * UIProcess/WebPageProxy.messages.in:
3290 Add message type that takes DragData as a parameter.
3293 * WebProcess/WebCoreSupport/WebDragClient.cpp:
3294 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Added.
3295 (WebKit::convertImageToBitmap):
3296 (WebKit::WebDragClient::startDrag):
3298 Send a message to the UI process to start the HTML5 drag operation.
3300 * WebProcess/WebPage/WebPage.cpp:
3301 (WebKit::WebPage::performDragControllerAction):
3302 * WebProcess/WebPage/WebPage.h:
3303 * WebProcess/WebPage/WebPage.messages.in:
3305 Add message type that takes DragData as a parameter.
3307 2011-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
3309 Reviewed by Martin Robinson.
3311 [UNIX] Fix compile warnings in NetscapePluginX11.cpp
3312 https://bugs.webkit.org/show_bug.cgi?id=63249
3314 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3315 (WebKit::setXButtonEventFields):
3316 (WebKit::NetscapePlugin::platformHandleMouseEvent):
3318 2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
3320 Reviewed by Martin Robinson.
3322 [UNIX] Increment/decrement module load conter in NetscapePluginModule::getPluginInfo()
3323 https://bugs.webkit.org/show_bug.cgi?id=63150
3325 Since the method is static, we are using
3326 NetscapePluginModule::getOrCreate() to get the module. If it's
3327 created, the load counter is 0, so that when module is deleted,
3328 shutdown() hasn't been called and the destructor crashes in the
3329 assert that checks the module has been removed from the
3330 initialized module list. We should increment the load counter, and
3331 decrement it before getPluginInfo() returns, so that
3332 decrementLoadCount() will call shutdown() if counter is 0 and the
3333 module will be deleted from the list.
3335 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
3336 (WebKit::NetscapePluginModule::getPluginInfo):
3338 2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
3340 Reviewed by Martin Robinson.
3342 [UNIX] Check for npp directly when getting X display in NetscapeBrowserFuncs
3343 https://bugs.webkit.org/show_bug.cgi?id=63149
3345 NetscapePlugin::fromNPP() shouldn't be called with a null npp, it
3346 contains an assert that make it crash when building with debug enabled.
3348 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3349 (WebKit::NPN_GetValue):
3351 2011-06-22 Nate Chapin <japhet@chromium.org>
3353 Reviewed by Adam Barth.
3355 Add win symbols for new window.internals functionality.
3356 https://bugs.webkit.org/show_bug.cgi?id=62066
3360 2011-06-22 Balazs Kelemen <kbalazs@webkit.org>
3362 Reviewed by Andreas Kling.
3364 [Qt][WK2] Set up plugin tests
3365 https://bugs.webkit.org/show_bug.cgi?id=63066
3367 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3368 (WebKit::WebFrameLoaderClient::createPlugin):
3369 Force windowless mode for the test plugin because we
3370 don't support windowed plugins yet.
3372 2011-06-22 Geoffrey Garen <ggaren@apple.com>
3374 Reviewed by Oliver Hunt.
3376 Removed unnecessary #include <stdio.h>.
3378 * PluginProcess/mac/PluginProcessMainMac.mm:
3379 * Shared/WebMemorySampler.cpp:
3380 * UIProcess/WebFrameProxy.cpp:
3381 * UIProcess/WebProcessProxy.cpp:
3382 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
3383 * WebProcess/mac/WebProcessMac.mm: Added #include back to places where it
3386 2011-06-22 Balazs Kelemen <kbalazs@webkit.org>
3388 Unreviewed build fix after r89461.
3390 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3391 (WebKit::NetscapePlugin::platformSetFocus):
3392 Forgot to name the parameter, fix it.
3394 2011-06-22 Balazs Kelemen <kbalazs@webkit.org>
3396 Reviewed by Darin Adler.
3398 [X11][WK2] Implement NetscapePlugin::platformSetFocus
3399 https://bugs.webkit.org/show_bug.cgi?id=63154
3401 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3402 (WebKit::NetscapePlugin::platformSetFocus):
3403 Implement focus setting based on the WebKit1 path.
3405 2011-06-22 Eunmi Lee <eunmi15.lee@samsung.com>
3407 Reviewed by Martin Robinson.
3409 Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
3410 https://bugs.webkit.org/show_bug.cgi?id=62848
3412 Change GtkWidgetBackingStore to WidgetBackingStore in the BackingStore.h and
3413 gtk/BackingStoreGtk.cpp.
3415 * UIProcess/BackingStore.h:
3416 * UIProcess/gtk/BackingStoreGtk.cpp:
3417 (WebKit::BackingStore::incorporateUpdate):
3419 2011-06-22 Adam Roben <aroben@apple.com>
3421 Don't use an alpha channel when drawing the web page on Windows
3423 We never use the alpha channel in the end anyway (because we never render into a layered
3424 window, which is the only kind of window that supports alpha). And using an alpha channel is
3425 tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha
3428 Fixes <http://webkit.org/b/63075> <rdar://problem/9648113> REGRESSION (r88978): Text inside
3429 form controls looks really awful on Windows XP
3431 Reviewed by Anders Carlsson.
3433 * WebProcess/WebPage/win/DrawingAreaImplWin.cpp:
3434 (WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter
3435 to the GraphicsContext constructor.
3437 2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
3439 Reviewed by Martin Robinson.
3441 [GTK] Remove Connection::setShouldCloseConnectionOnProcessTermination()
3442 https://bugs.webkit.org/show_bug.cgi?id=61627
3444 Don't use Connection::setShouldCloseConnectionOnProcessTermination() for the
3445 GTK port, when the process finishes the connection is closed and
3446 the other process is already notified. We still need to monitor
3447 the child process so that it doesn't become a zombie when it dntabi
3449 * Platform/CoreIPC/Connection.h:
3450 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
3451 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3452 (WebKit::childFinishedFunction):
3453 (WebKit::ProcessLauncher::launchProcess):
3454 * UIProcess/WebProcessProxy.cpp:
3455 (WebKit::WebProcessProxy::didFinishLaunching):
3457 2011-06-20 Dimitri Glazkov <dglazkov@chromium.org>
3459 Reviewed by Kent Tamura.
3461 FileChooser should be only created when we need to choose files.
3462 https://bugs.webkit.org/show_bug.cgi?id=63039
3464 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3465 (WebKit::WebChromeClient::runOpenPanel): Changed to use settings.
3467 2011-06-22 Martin Robinson <mrobinson@igalia.com>
3469 Reviewed by Adam Roben.
3471 [GTK] Implement pixel dump support for WebKitTestRunner
3472 https://bugs.webkit.org/show_bug.cgi?id=58242
3474 * GNUmakefile.am: Added new Cairo specific image handling files to the build.
3475 * Shared/API/c/cairo/WKImageCairo.cpp: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
3476 (WKImageCreateCairoSurface): Added
3477 (WKImageCreateFromCairoSurface): Added
3478 * Shared/API/c/cairo/WKImageCairo.h: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
3480 2011-06-21 MORITA Hajime <morrita@google.com>
3482 Unreviewed, rolling out r89401 and r89403.
3483 http://trac.webkit.org/changeset/89401
3484 http://trac.webkit.org/changeset/89403
3485 https://bugs.webkit.org/show_bug.cgi?id=62970
3487 Breaks mac build and mistakenly enables the spellcheck API
3489 * Configurations/FeatureDefines.xcconfig:
3491 2011-06-20 MORITA Hajime <morrita@google.com>
3493 Reviewed by Kent Tamura.
3495 Spellcheck API should be build-able.
3496 https://bugs.webkit.org/show_bug.cgi?id=62970
3498 No new tests, changing only build related files
3500 * Configurations/FeatureDefines.xcconfig:
3502 2011-06-21 Jer Noble <jer.noble@apple.com>
3504 Reviewed by Simon Fraser.
3506 REGRESSION: Fullscreen videos are broken (affects embedded vimeo, vimeo.com, and apple.com)
3507 https://bugs.webkit.org/show_bug.cgi?id=63098
3508 <rdar://problem/9645393>