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