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