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