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