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