17a5a6cc199e80151644fc908d2f79ef7bfd6b2b
[WebKit.git] / Source / WebKit2 / ChangeLog
1 2011-10-27  Zeno Albisser  <zeno.albisser@nokia.com>
2
3         [Qt][WK2] Remove QAction from MiniBrowser
4         https://bugs.webkit.org/show_bug.cgi?id=70525
5
6         This fixes the commonview tests that were failing
7         after r98447.
8         WebViewAbstraction must forward actions to both
9         the TouchWebView and the DesktopWebView.
10
11         Reviewed by Kenneth Rohde Christiansen.
12
13         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
14         (WebViewAbstraction::goBack):
15         (WebViewAbstraction::goForward):
16         (WebViewAbstraction::stop):
17         (WebViewAbstraction::reload):
18
19 2011-10-27  Zalan Bujtas  <zbujtas@gmail.com>
20
21         [Qt][WK2]Content size changed event does not require viewport attribute calculation.
22         https://bugs.webkit.org/show_bug.cgi?id=70920
23
24         Reviewed by Kenneth Rohde Christiansen.
25         
26         Remove unnecessary recalculation of viewport attributes.
27
28         * UIProcess/qt/QtTouchViewInterface.cpp:
29         (WebKit::QtTouchViewInterface::contentSizeChanged):
30
31 2011-10-27  Shinya Kawanaka  <shinyak@google.com>
32
33         Implement legacy text check emulation in unified text check interface.
34         https://bugs.webkit.org/show_bug.cgi?id=70299
35
36         Reviewed by Hajime Morita.
37
38         * win/WebKit2.def:
39         * win/WebKit2CFLite.def:
40
41 2011-10-27  Philippe Normand  <pnormand@igalia.com>
42
43         [GStreamer] WebAudio AudioFileReader implementation
44         https://bugs.webkit.org/show_bug.cgi?id=69834
45
46         Reviewed by Martin Robinson.
47
48         * GNUmakefile.am: Link against libfftw.
49
50 2011-10-26  Alexey Proskuryakov  <ap@apple.com>
51
52         REGRESSION (r98153): Safari crashes if WebProcess crashed during printing
53         https://bugs.webkit.org/show_bug.cgi?id=70982
54
55         Reviewed by Dan Bernstein.
56
57         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
58         Null check page, it may be invalid already.
59
60 2011-10-26  Jeff Miller  <jeffm@apple.com>
61
62         WebKit2 should respect secret WebKitOmitPDFSupport preference on the Mac
63         https://bugs.webkit.org/show_bug.cgi?id=70943
64         
65         If WebKitOmitPDFSupport pref is set, disable both the new "plug-in" for subframes and the PDFKit-based support for the main frame only.
66
67         Reviewed by Alexey Proskuryakov.
68
69         * UIProcess/WebContext.cpp:
70         (WebKit::WebContext::getPlugins): Don't register built-in PDF plugin if WebKitOmitPDFSupport pref is set.
71         
72         * UIProcess/WebContext.h: Added omitPDFSupport().
73         
74         * UIProcess/WebFrameProxy.cpp:
75         (WebKit::WebFrameProxy::canShowMIMEType): Don't show PDFs if WebKitOmitPDFSupport is set.
76         
77         * UIProcess/mac/WebContextMac.mm:
78         (WebKit::WebContext::omitPDFSupport): Added.
79
80 2011-10-26  Sam Weinig  <sam@webkit.org>
81
82         Add initial setting to WKBrowsingContextGroup
83         https://bugs.webkit.org/show_bug.cgi?id=70942
84
85         Reviewed by Anders Carlsson.
86
87         Test: WKBrowsingContextGroupTest.
88
89         * UIProcess/API/mac/WKBrowsingContextGroup.h:
90         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
91         (-[WKBrowsingContextGroup isJavaScriptEnabled]):
92         (-[WKBrowsingContextGroup setJavaScriptEnabled:]):
93         Add setting to enabled/disable javascript. By default it is enabled. 
94
95 2011-10-25  Alexey Proskuryakov  <ap@apple.com>
96
97         Embedded PDFs should be known to DocumentLoader
98         https://bugs.webkit.org/show_bug.cgi?id=70864
99
100         Reviewed by Darin Adler.
101
102         * WebProcess/Plugins/Plugin.h: Plugin stream load notifications now contain a suggested
103         file name, in case the plug-in wants to save the file properly.
104
105         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
106         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
107         (WebKit::BuiltInPDFView::addArchiveResource): Add the PDF as resource in DocumentLoader.
108         (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Call addArchiveResource.
109         (WebKit::BuiltInPDFView::initialize): We need to remember source URL to create a resource
110         for that. The URL needs to match one in HitTestResult, so we can't use response URL.
111         (WebKit::BuiltInPDFView::streamDidReceiveResponse): Remember suggested file name, so
112         that we could put it in archive resource later.
113         (WebKit::BuiltInPDFView::manualStreamDidReceiveResponse): Ditto.
114
115         * PluginProcess/PluginControllerProxy.cpp:
116         (WebKit::PluginControllerProxy::streamDidReceiveResponse):
117         (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
118         Pass an empty string for suggested file name. No plug-in that runs in a separate process
119         cares about it, so it's not sent to the plugin process.
120
121         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
122         (WebKit::NetscapePlugin::streamDidReceiveResponse):
123         (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
124         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
125         Updated for new signatures.
126
127         * WebProcess/Plugins/PluginProxy.cpp:
128         (WebKit::PluginProxy::streamDidReceiveResponse):
129         (WebKit::PluginProxy::manualStreamDidReceiveResponse):
130         * WebProcess/Plugins/PluginProxy.h:
131         Updated for new signatures.
132
133         * WebProcess/Plugins/PluginView.cpp:
134         (WebKit::PluginView::Stream::didReceiveResponse):
135         (WebKit::PluginView::manualLoadDidReceiveResponse):
136         Pass suggested file name to plug-in, in case the plug-in wants to save the file properly.
137
138 2011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
139
140         Remove getOwnPropertySlotVirtual
141         https://bugs.webkit.org/show_bug.cgi?id=70741
142
143         Reviewed by Geoffrey Garen.
144
145         Removed all declarations and definitions of getOwnPropertySlotVirtual.
146         Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
147         corresponding lookup in the MethodTable.
148
149         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
150         * WebProcess/Plugins/Netscape/JSNPObject.h:
151
152 2011-10-26  Alejandro G. Castro  <alex@igalia.com>
153
154         [GTK] [WK2] Add WebKit2 distcheck support
155         https://bugs.webkit.org/show_bug.cgi?id=70933
156
157         Reviewed by Martin Robinson.
158
159         * GNUmakefile.am: Add a bunch of missing files from API and
160         sources, also include more files in the EXTRA_DIST.
161         * UIProcess/API/gtk/docs/GNUmakefile.am: Add the version.xml to
162         the cleaning section.
163
164 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
165
166         [GTK] Fix gtk-doc warnings and style issues in WebKit2 GTK+ API
167         https://bugs.webkit.org/show_bug.cgi?id=70930
168
169         Reviewed by Martin Robinson.
170
171         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
172         * UIProcess/API/gtk/WebKitSettings.cpp:
173         (webkit_settings_class_init):
174         * UIProcess/API/gtk/WebKitWebView.h:
175         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
176
177 2011-10-26  Anders Carlsson  <andersca@apple.com>
178
179         Use the right contents scale factor for non-Mac plug-ins
180         https://bugs.webkit.org/show_bug.cgi?id=70939
181
182         Reviewed by Adam Roben.
183
184         * WebProcess/Plugins/PluginProxy.cpp:
185         (WebKit::PluginProxy::paint):
186         (WebKit::PluginProxy::geometryDidChange):
187         (WebKit::PluginProxy::update):
188
189 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
190
191         [GTK] Add missing symbols to WebKit2 gtk-doc files
192         https://bugs.webkit.org/show_bug.cgi?id=70927
193
194         Reviewed by Martin Robinson.
195
196         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
197         WebKitBackForwardList, WebKitBackForwardListItem and WebKitSettings.
198         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add missing symbols.
199         * UIProcess/API/gtk/docs/webkit2gtk.types: Add missing types.
200
201 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
202
203         [GTK] Inconsistent name of WebKitSettings macros
204         https://bugs.webkit.org/show_bug.cgi?id=70924
205
206         Reviewed by Martin Robinson.
207
208         Rename WEBKIT_TYPE_WEB_SETTINGS as WEBKIT_TYPE_SETTINGS and
209         WEBKIT_IS_WEB_SETTINGS as WEBKIT_IS_SETTINGS.
210
211         * UIProcess/API/gtk/WebKitSettings.cpp:
212         (webkit_settings_init):
213         (webkit_settings_new):
214         (webkit_settings_get_enable_javascript):
215         (webkit_settings_set_enable_javascript):
216         (webkit_settings_get_auto_load_images):
217         (webkit_settings_set_auto_load_images):
218         (webkit_settings_get_load_icons_ignoring_image_load_setting):
219         (webkit_settings_set_load_icons_ignoring_image_load_setting):
220         (webkit_settings_get_enable_offline_web_application_cache):
221         (webkit_settings_set_enable_offline_web_application_cache):
222         (webkit_settings_get_enable_html5_local_storage):
223         (webkit_settings_set_enable_html5_local_storage):
224         (webkit_settings_get_enable_html5_database):
225         (webkit_settings_set_enable_html5_database):
226         (webkit_settings_get_enable_xss_auditor):
227         (webkit_settings_set_enable_xss_auditor):
228         (webkit_settings_get_enable_frame_flattening):
229         (webkit_settings_set_enable_frame_flattening):
230         (webkit_settings_get_enable_plugins):
231         (webkit_settings_set_enable_plugins):
232         (webkit_settings_get_enable_java):
233         (webkit_settings_set_enable_java):
234         (webkit_settings_get_javascript_can_open_windows_automatically):
235         (webkit_settings_set_javascript_can_open_windows_automatically):
236         (webkit_settings_get_enable_hyperlink_auditing):
237         (webkit_settings_set_enable_hyperlink_auditing):
238         * UIProcess/API/gtk/WebKitSettings.h:
239
240 2011-10-26  Andras Becsi  <andras.becsi@nokia.com>
241
242         [Qt][WK2] Rename clean-up of QtPinchGestureRecognizer and QtViewportInteractionEngine
243         https://bugs.webkit.org/show_bug.cgi?id=70903
244
245         Reviewed by Kenneth Rohde Christiansen.
246
247         Rename computeTouchCenter to computePinchCenter,
248         and use the plural form of coordinate where appropriate.
249
250         * UIProcess/API/qt/qtouchwebview.cpp:
251         (QTouchWebViewPrivate::_q_viewportUpdated):
252         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
253         (WebKit::computePinchCenter):
254         (WebKit::QtPinchGestureRecognizer::recognize):
255         * UIProcess/qt/QtViewportInteractionEngine.cpp:
256         (WebKit::contentRectInViewportCoordinates):
257         (WebKit::QtViewportInteractionEngine::event):
258         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
259         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
260         (WebKit::QtViewportInteractionEngine::scaleContent):
261         * UIProcess/qt/QtViewportInteractionEngine.h:
262
263 2011-10-26  Zalan Bujtas  <zbujtas@gmail.com>
264
265         Name viewport change event consistently.
266         https://bugs.webkit.org/show_bug.cgi?id=70901
267
268         Reviewed by Kenneth Rohde Christiansen.
269
270         Use ViewportPropertiesDidChange term consistently throughout WebKit.
271
272         * UIProcess/API/efl/PageClientImpl.cpp:
273         (WebKit::PageClientImpl::didChangeViewportProperties):
274         * UIProcess/API/efl/PageClientImpl.h:
275         * UIProcess/API/gtk/PageClientImpl.cpp:
276         (WebKit::PageClientImpl::didChangeViewportProperties):
277         * UIProcess/API/gtk/PageClientImpl.h:
278         * UIProcess/API/mac/PageClientImpl.h:
279         * UIProcess/API/mac/PageClientImpl.mm:
280         (WebKit::PageClientImpl::didChangeViewportProperties):
281         * UIProcess/API/qt/qdesktopwebview.cpp:
282         (QDesktopWebViewPrivate::didChangeViewportProperties):
283         * UIProcess/API/qt/qdesktopwebview_p.h:
284         * UIProcess/API/qt/qtouchwebview.cpp:
285         (QTouchWebViewPrivate::didChangeViewportProperties):
286         * UIProcess/API/qt/qtouchwebview_p.h:
287         * UIProcess/PageClient.h:
288         * UIProcess/WebPageProxy.cpp:
289         (WebKit::WebPageProxy::didChangeViewportProperties):
290         * UIProcess/WebPageProxy.h:
291         * UIProcess/WebPageProxy.messages.in:
292         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
293         (QtDesktopWebPageProxy::didChangeViewportProperties):
294         * UIProcess/qt/QtDesktopWebPageProxy.h:
295         * UIProcess/qt/QtTouchViewInterface.cpp:
296         (WebKit::QtTouchViewInterface::didChangeViewportProperties):
297         * UIProcess/qt/QtTouchViewInterface.h:
298         * UIProcess/qt/QtViewInterface.h:
299         * UIProcess/qt/QtWebPageProxy.cpp:
300         (QtWebPageProxy::didChangeViewportProperties):
301         * UIProcess/qt/QtWebPageProxy.h:
302         * UIProcess/win/WebView.cpp:
303         (WebKit::WebView::didChangeViewportProperties):
304         * UIProcess/win/WebView.h:
305         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
306         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
307         * WebProcess/WebCoreSupport/WebChromeClient.h:
308
309 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
310
311         [GTK] Remove g_thread_init() calls from gtk-doc scanner too
312         https://bugs.webkit.org/show_bug.cgi?id=70908
313
314         Reviewed by Gustavo Noronha Silva.
315
316         * UIProcess/API/gtk/docs/GNUmakefile.am:
317
318 2011-10-25  Andras Becsi  <andras.becsi@nokia.com>
319
320         [Qt][WK2] Add the animations on the ViewportInteractionEngine
321         https://bugs.webkit.org/show_bug.cgi?id=66664
322
323         Reviewed by Kenneth Rohde Christiansen.
324
325         Introduce a QScroller based panning and a QVariantAnimation based scale animation.
326         QScroller also handles flick gestures and animates overshoot.
327         If a pinch gesture ends, the scale animation will scale and reposition the content
328         such that it is within valid boundaries. The content is by default animated such
329         that the content position as seen in the center of the visible viewport stays
330         in the center, unless the content would be out of valid bounds.
331         The patch also simplifies the ViewportUpdateGuard by using reference counting
332         instead of a boolean for defering update requests.
333
334         * UIProcess/qt/QtPanGestureRecognizer.cpp:
335         (WebKit::QtPanGestureRecognizer::recognize):
336         * UIProcess/qt/QtPanGestureRecognizer.h:
337         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
338         (WebKit::QtPinchGestureRecognizer::recognize):
339         * UIProcess/qt/QtTouchWebPageProxy.cpp:
340         (QtTouchWebPageProxy::doneWithTouchEvent):
341         * UIProcess/qt/QtViewportInteractionEngine.cpp:
342         (WebKit::bindToScaleLimits):
343         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
344         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
345         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
346         (WebKit::QtViewportInteractionEngine::innerBoundedScale):
347         (WebKit::QtViewportInteractionEngine::outerBoundedScale):
348         (WebKit::QtViewportInteractionEngine::updateVisibleRect):
349         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
350         (WebKit::QtViewportInteractionEngine::event):
351         (WebKit::QtViewportInteractionEngine::stopAnimations):
352         (WebKit::QtViewportInteractionEngine::calculateBoundariesForScale):
353         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
354         (WebKit::QtViewportInteractionEngine::reset):
355         (WebKit::QtViewportInteractionEngine::setConstraints):
356         (WebKit::QtViewportInteractionEngine::panGestureStarted):
357         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
358         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
359         (WebKit::QtViewportInteractionEngine::panGestureEnded):
360         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
361         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
362         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
363         (WebKit::QtViewportInteractionEngine::contentViewportChanged):
364         * UIProcess/qt/QtViewportInteractionEngine.h:
365         (WebKit::QtViewportInteractionEngine::scroller):
366         (WebKit::QtViewportInteractionEngine::ScaleAnimation::ScaleAnimation):
367         (WebKit::QtViewportInteractionEngine::ScaleAnimation::updateCurrentValue):
368
369 2011-10-26  Zeno Albisser  <zeno.albisser@nokia.com>
370
371         [Qt][WK2] Rewrite MiniBrowser in QML
372         https://bugs.webkit.org/show_bug.cgi?id=70315
373
374         Add the first QML based implementation of MiniBrowser.
375
376         Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
377                  Zeno Albisser <zeno.albisser@nokia.com>
378
379         Reviewed by Tor Arne Vestbø.
380
381         * UIProcess/API/qt/qdesktopwebview.cpp:
382         (QDesktopWebView::mousePressEvent):
383
384  2011-10-20  Zeno Albisser  <zeno.albisser@nokia.com>
385
386         [Qt][WK2] Disable Context Menus until we have a proper QML implementation
387         https://bugs.webkit.org/show_bug.cgi?id=70537
388
389         This is just a temporary fix to avoid crashes in QtGui based
390         MiniBrowser that does not link to QtWidgets.
391
392         Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
393                  Zeno Albisser <zeno.albisser@nokia.com>
394
395         Reviewed by Simon Hausmann.
396
397         * UIProcess/qt/WebContextMenuProxyQt.cpp:
398         (WebKit::WebContextMenuProxyQt::showContextMenu):
399         (WebKit::WebContextMenuProxyQt::createContextMenu):
400
401 2011-10-25  Zeno Albisser  <zeno.albisser@nokia.com>
402
403         [Qt][WK2] Remove QAction from MiniBrowser
404         https://bugs.webkit.org/show_bug.cgi?id=70525
405
406         In order to rewrite MiniBrowser in QML we need a suitable
407         mechanism for triggering navigation actions.
408         Due to the QtWidgets dependency of QAction the current
409         solution is not suitable anymore. Therefore we introduce
410         invokable methods and export properties in QWebNavigationController.
411
412         Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
413                  Zeno Albisser <zeno.albisser@nokia.com>
414
415         Reviewed by Simon Hausmann.
416
417         * UIProcess/API/qt/WKView.h:
418         * UIProcess/API/qt/qdesktopwebview.h:
419         * UIProcess/API/qt/qtouchwebpage.h:
420         * UIProcess/API/qt/qwebkittypes.h: Removed.
421         * UIProcess/API/qt/qwebnavigationcontroller.cpp:
422         (QWebNavigationController::QWebNavigationController):
423         (QWebNavigationController::canGoBack):
424         (QWebNavigationController::canGoForward):
425         (QWebNavigationController::canStop):
426         (QWebNavigationController::canReload):
427         (QWebNavigationController::goBack):
428         (QWebNavigationController::goForward):
429         (QWebNavigationController::stop):
430         (QWebNavigationController::reload):
431         * UIProcess/API/qt/qwebnavigationcontroller.h:
432         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
433         (tst_CommonViewTests::backAndForward):
434         (tst_CommonViewTests::reload):
435         (tst_CommonViewTests::stop):
436         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
437         (WebViewAbstraction::goBack):
438         (WebViewAbstraction::goForward):
439         (WebViewAbstraction::stop):
440         (WebViewAbstraction::reload):
441         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
442         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
443         (tst_QDesktopWebView::navigationStatusAtStartup):
444         (LoadStartedCatcher::onLoadStarted):
445         (tst_QDesktopWebView::stopEnabledAfterLoadStarted):
446         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
447         (tst_QTouchWebView::navigationStatusAtStartup):
448         * UIProcess/qt/ClientImpl.cpp:
449         (dispatchLoadSucceeded):
450         (dispatchLoadFailed):
451         (qt_wk_didStartProvisionalLoadForFrame):
452         (qt_wk_didCommitLoadForFrame):
453         (qt_wk_didSameDocumentNavigationForFrame):
454         * UIProcess/qt/QtWebPageProxy.cpp:
455         (QtWebPageProxy::QtWebPageProxy):
456         (QtWebPageProxy::canGoBack):
457         (QtWebPageProxy::goBack):
458         (QtWebPageProxy::canGoForward):
459         (QtWebPageProxy::goForward):
460         (QtWebPageProxy::canStop):
461         (QtWebPageProxy::stop):
462         (QtWebPageProxy::canReload):
463         (QtWebPageProxy::reload):
464         (QtWebPageProxy::navigationStateChanged):
465         (QtWebPageProxy::didRelaunchProcess):
466         (QtWebPageProxy::processDidCrash):
467         * UIProcess/qt/QtWebPageProxy.h:
468         * WebKit2API.pri:
469
470 2011-10-26  Ryosuke Niwa  <rniwa@webkit.org>
471
472         Another GTK build fix attempt after r98413 and r98416.
473
474         * WebProcess/Plugins/PluginProxy.cpp:
475         (WebKit::PluginProxy::paint):
476         (WebKit::PluginProxy::geometryDidChange):
477         (WebKit::PluginProxy::update):
478
479 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
480
481         C/C++ needs ; after each statement.
482
483         * PluginProcess/PluginControllerProxy.cpp:
484         (WebKit::PluginControllerProxy::geometryDidChange):
485
486 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
487
488         GTK build fix attempt after r98413 and r98416.
489
490         * PluginProcess/PluginControllerProxy.cpp:
491         (WebKit::PluginControllerProxy::paint):
492         (WebKit::PluginControllerProxy::geometryDidChange):
493
494 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
495
496         Remove deletePropertyVirtual
497         https://bugs.webkit.org/show_bug.cgi?id=70738
498
499         Reviewed by Geoffrey Garen.
500
501         Removed all declarations and definitions of deletePropertyVirtual.
502         Also replaced all call sites to deletePropertyVirtual with a 
503         corresponding lookup in the MethodTable.
504
505         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
506         * WebProcess/Plugins/Netscape/JSNPObject.h:
507         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
508         (WebKit::NPJSObject::removeProperty):
509
510 2011-10-25  Brent Fulgham  <bfulgham@webkit.org>
511
512         [WinCairo] Unreviewed build fix after r97587.
513
514         * win/WebKit2CFLite.def:
515
516 2011-10-25  Anders Carlsson  <andersca@apple.com>
517
518         CG plug-ins are always given a context with a scale factor of 1, even when the device scale factor is something else
519         https://bugs.webkit.org/show_bug.cgi?id=67227
520         <rdar://problem/10048319>
521
522         Reviewed by Sam Weinig.
523
524         * PluginProcess/PluginControllerProxy.cpp:
525         (WebKit::PluginControllerProxy::paint):
526         Apply the scale factor when painting.
527
528         * WebProcess/Plugins/PluginProxy.cpp:
529         (WebKit::PluginProxy::paint):
530         Apply the scale factor when painting.
531
532         (WebKit::PluginProxy::geometryDidChange):
533         Make sure to apply the contents scale factor to the backing store size.
534
535         (WebKit::PluginProxy::update):
536         Apply the scale factor (when painting).
537
538 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
539
540         Remove putVirtual
541         https://bugs.webkit.org/show_bug.cgi?id=70740
542
543         Reviewed by Geoffrey Garen.
544
545         Removed all declarations and definitions of putVirtual.
546         Also replaced all call sites to putVirtual with a 
547         corresponding lookup in the MethodTable.
548
549         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
550         * WebProcess/Plugins/Netscape/JSNPObject.h:
551         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
552         (WebKit::NPJSObject::setProperty):
553
554 2011-10-25  Anders Carlsson  <andersca@apple.com>
555
556         Plug-ins have no way to find out when the device scale factor changes
557         https://bugs.webkit.org/show_bug.cgi?id=67226
558         <rdar://problem/10048276>
559
560         Reviewed by Sam Weinig.
561
562         * PluginProcess/PluginControllerProxy.cpp:
563         (WebKit::PluginControllerProxy::geometryDidChange):
564         * PluginProcess/PluginControllerProxy.h:
565         This now takes the contentsScaleFactor and calls contentsScaleFactorChanged on its plug-in
566         if the scale factor changes.
567
568         * PluginProcess/PluginControllerProxy.messages.in:
569         GeometryDidChange now takes a contents scale factor parameter.
570
571         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
572         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
573         (WebKit::NetscapePlugin::contentsScaleFactorChanged):
574         Implement contentsScaleFactorChanged and call NPP_SetValue with the new scale factor.
575
576         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
577         (WebKit::BuiltInPDFView::contentsScaleFactorChanged):
578         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
579         Add stub.
580
581         * WebProcess/Plugins/Plugin.h:
582         Add pure virtual contentsScaleFactorChanged member function.
583
584         * WebProcess/Plugins/PluginProxy.cpp:
585         (WebKit::PluginProxy::geometryDidChange):
586         Add geometryDidChange overload that doesn't take any parameters. Make it send over the
587         new scale factor to the plug-in process.
588
589         (WebKit::PluginProxy::contentsScaleFactorChanged):
590         Call geometryDidChange.
591
592         * WebProcess/Plugins/PluginView.cpp:
593         (WebKit::PluginView::setDeviceScaleFactor):
594         Call Plugin::contentsScaleFactorChanged.
595
596         * WebProcess/WebPage/WebPage.cpp:
597         (WebKit::WebPage::setDeviceScaleFactor):
598         Call setDeviceScaleFactor on all registered plug-ins.
599
600 2011-10-25  Beth Dakin  <bdakin@apple.com>
601
602         https://bugs.webkit.org/show_bug.cgi?id=70852
603         Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
604         WebKit2
605
606         Reviewed by Dan Bernstein.
607
608         When we need a base-level HiDPI GraphicsContext, call into new GraphicsContext api 
609         GraphicsContext::applyDeviceScaleFactor() rather than manually scaling and 
610         adjusting the base CTM.
611         * WebProcess/WebPage/DrawingAreaImpl.cpp:
612         (WebKit::DrawingAreaImpl::display):
613         * WebProcess/WebPage/WebPage.cpp:
614         (WebKit::WebPage::snapshotInViewCoordinates):
615         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
616
617 2011-10-25  Anders Carlsson  <andersca@apple.com>
618
619         Plug-ins have to use JavaScript to find out the current device scale factor
620         https://bugs.webkit.org/show_bug.cgi?id=67225
621         <rdar://problem/10048258>
622
623         Reviewed by Darin Adler.
624
625         * PluginProcess/PluginControllerProxy.cpp:
626         (WebKit::PluginControllerProxy::PluginControllerProxy):
627         Initialize m_contentsScaleFactor.
628
629         * PluginProcess/PluginControllerProxy.h:
630         Add contentsScaleFactor member function and m_contentsScaleFactor member variable.
631
632         * PluginProcess/PluginCreationParameters.cpp:
633         (WebKit::PluginCreationParameters::PluginCreationParameters):
634         (WebKit::PluginCreationParameters::encode):
635         (WebKit::PluginCreationParameters::decode):
636         * PluginProcess/PluginCreationParameters.h:
637         Add contentsScaleFactor to the creation parameters.
638
639         * PluginProcess/mac/PluginControllerProxyMac.mm:
640         (WebKit::PluginControllerProxy::contentsScaleFactor):
641         Return the cached m_contentsScaleFactor.
642
643         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
644         (WebKit::NPN_GetValue):
645         Handle getting the scale factor by calling NetscapePlugin::contentsScaleFactor.
646
647         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
648         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
649         (WebKit::NetscapePlugin::contentsScaleFactor):
650         Ask the plug-in controller for the contents scale factor.
651
652         * WebProcess/Plugins/PluginController.h:
653         Add contentsScaleFactor pure virtual member function.
654
655         * WebProcess/Plugins/PluginProxy.cpp:
656         (WebKit::PluginProxy::initialize):
657         Set contentsScaleFactor in the creation parameters.
658
659         * WebProcess/Plugins/PluginView.cpp:
660         (WebKit::PluginView::contentsScaleFactor):
661         Get the device scale factor from the page.
662
663         * WebProcess/Plugins/PluginView.h:
664         Add contentsScaleFactor().
665
666         * WebProcess/WebPage/WebPage.cpp:
667         (WebKit::WebPage::setDeviceScaleFactor):
668         Bail if the scale factor didn't change.
669
670 2011-10-25  Sam Weinig  <sam@webkit.org>
671
672         Flesh out WKBrowsingContextLoadDelegate a bit
673         https://bugs.webkit.org/show_bug.cgi?id=70846
674
675         Add didReceiveServerRedirectForProvisionalLoad, didFailProvisionalLoad
676         and didFailLoad.
677
678         Reviewed by Anders Carlsson.
679
680         Test: WKBrowsingContextLoadDelegateTest
681
682         * UIProcess/API/mac/WKBrowsingContextController.mm:
683         (didReceiveServerRedirectForProvisionalLoadForFrame):
684         (didFailProvisionalLoadWithErrorForFrame):
685         (didFailLoadWithErrorForFrame):
686         (setUpPageLoaderClient):
687         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
688
689 2011-10-25  Anders Carlsson  <andersca@apple.com>
690
691         Assertion failure when zooming a PDF in an iframe
692         https://bugs.webkit.org/show_bug.cgi?id=70849
693
694         Reviewed by Alexey Proskuryakov.
695
696         If the plug-in doesn't want window relative coordinates, we shouldn't give the plug-in window relative coordinates.
697
698         * WebProcess/Plugins/PluginView.cpp:
699         (WebKit::PluginView::viewGeometryDidChange):
700
701 2011-10-25  Sam Weinig  <sam@webkit.org>
702
703         Make loadFileURL:restrictToFilesWithin: work, albeit, without the correct
704         restrictions for now.
705
706         Reviewed by Anders Carlsson.
707
708         * UIProcess/API/mac/WKBrowsingContextController.mm:
709         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
710
711 2011-10-25  Anders Carlsson  <andersca@apple.com>
712
713         PDF SUBFRAMES: Incomplete repaint after pinch to zoom
714         https://bugs.webkit.org/show_bug.cgi?id=70821
715         <rdar://problem/10312733>
716
717         Reviewed by Simon Fraser.
718
719         Add a new pure virtual member function, Plugin::wantsWindowRelativeCoordinates.
720         If a plug-in subclass returns true, we'll keep giving the plug-in coordinates that
721         are relative to the containing window. If a plug-in subclass returns false, we'll give it
722         coordinates in a much more sane coordinate system, with the origin at the top left corner of the plug-in.
723
724         Change BuiltinPDFView to return false so that it'll work correctly with pinch to zoom.
725         
726         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
727         (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
728         Make wantsWindowRelativeCoordinates return true.
729
730         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
731         (WebKit::BuiltInPDFView::paint):
732         Remove translation since the graphics context is already set up in the right way.
733
734         (WebKit::BuiltInPDFView::paintContent):
735         No need to offset by the plug-in view location anymore.
736
737         (WebKit::BuiltInPDFView::paintControls):
738         Account for the scrollbars being children of the parent scroll view here.
739
740         (WebKit::BuiltInPDFView::wantsWindowRelativeCoordinates):
741         Return false.
742
743         (WebKit::BuiltInPDFView::convertFromContainingViewToScrollbar):
744         Implement this so that scrollbar hit testing works correctly.
745
746         * WebProcess/Plugins/Plugin.h:
747         Add wantsWindowRelativeCoordinates.
748
749         * WebProcess/Plugins/PluginProxy.cpp:
750         (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
751         Return true for now.
752
753         * WebProcess/Plugins/PluginView.cpp:
754         (WebKit::PluginView::renderer):
755         Add simple getter.
756
757         (WebKit::PluginView::paint):
758         Handle the case when the plug-in doesn't want window relative coordinates.
759
760         (WebKit::PluginView::transformsAffectFrameRect):
761         Return true here.
762
763         (WebKit::PluginView::viewGeometryDidChange):
764         No need to adjust the bounds to account for the scale factor now, since the frame rect will always be the
765         same regardless of the transform.
766
767         (WebKit::PluginView::clipRectInWindowCoordinates):
768         Ditto.
769
770 2011-10-25  John Sullivan  <sullivan@apple.com>
771
772         "Open with" item missing from PDF context menu in some cases
773         https://bugs.webkit.org/show_bug.cgi?id=70828
774         <rdar://problem/10034302>
775
776         Reviewed by Anders Carlsson.
777
778         * UIProcess/API/mac/PDFViewController.mm:
779         (insertOpenWithDefaultPDFMenuItem):
780         New helper function, extracted from -menuForEvent:. Identical to original code except
781         that it inserts the item at a specified index, rather than always at the end.
782         (-[WKPDFView menuForEvent:]):
783         Now keeps track of whether the Open With item has been inserted while iterating through
784         the PDFKit-supplied menu items looking for a "Copy" item. If a "Copy" item is not found,
785         inserts the Open With item at the top of the context menu.
786
787 2011-10-25  Zeno Albisser  <zeno.albisser@nokia.com>
788
789         [Qt][WK2] QDesktopWebView and QTouchWebView should be declared in the meta type system.
790         https://bugs.webkit.org/show_bug.cgi?id=70693
791
792         This change allows us to use the template based features of the meta type system
793         such as using the WebView classes as types for QVariant.
794
795         Reviewed by Simon Hausmann.
796
797         * UIProcess/API/qt/qdesktopwebview.h:
798         * UIProcess/API/qt/qtouchwebview.h:
799
800 2011-10-25  Zalan Bujtas  <zbujtas@gmail.com>
801
802         [Qt][WK2] Remove redundant setPageIsVisible() API
803         https://bugs.webkit.org/show_bug.cgi?id=70520
804
805         Use DrawingAreaProxy::visibilityDidChange() instead of DrawingAreaProxy::setPageIsVisible()
806         Remove DrawingAreaProxy::setPageIsVisible(), not used anymore.
807         This change disables the ability of suspending and resuming painting for TiledDrawingAreaProxy.
808         However, TiledDrawingAreaProxy is about to be deprecated by using DrawingAreaProxyImpl
809         as the UI process drawing area proxy for tiled based rendering.
810
811         Reviewed by Simon Hausmann.
812
813         * UIProcess/API/qt/qtouchwebpage.cpp:
814         (QTouchWebPage::QTouchWebPage):
815         (QTouchWebPagePrivate::setPage):
816         * UIProcess/API/qt/qtouchwebpage.h:
817         * UIProcess/API/qt/qtouchwebview.cpp:
818         (QTouchWebView::QTouchWebView):
819         (QTouchWebView::touchEvent):
820         (QTouchWebView::onVisibleChanged):
821         * UIProcess/API/qt/qtouchwebview.h:
822         * UIProcess/DrawingAreaProxy.h:
823         * UIProcess/DrawingAreaProxyImpl.cpp:
824         * UIProcess/DrawingAreaProxyImpl.h:
825         * UIProcess/TiledDrawingAreaProxy.cpp:
826         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
827         (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
828         * UIProcess/TiledDrawingAreaProxy.h:
829         * UIProcess/WebPageProxy.cpp:
830         (WebKit::WebPageProxy::viewStateDidChange):
831         * UIProcess/qt/QtWebPageProxy.cpp:
832         * UIProcess/qt/QtWebPageProxy.h:
833
834 2011-10-25  Carlos Garcia Campos  <cgarcia@igalia.com>
835
836         [GTK] Add go_to_back_forward_list_item() to WebKit2 GTK+ API
837         https://bugs.webkit.org/show_bug.cgi?id=69825
838
839         Reviewed by Martin Robinson.
840
841         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
842         (webkitBackForwardListItemGetWKItem):
843         * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
844         * UIProcess/API/gtk/WebKitWebView.cpp:
845         (webkit_web_view_go_to_back_forward_list_item):
846         * UIProcess/API/gtk/WebKitWebView.h:
847         * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
848         (testBackForwardListNavigation):
849
850 2011-10-25  Vamshikrishna Yellenki  <vamshi@motorola.com>
851
852         [WK2]Critical warning while building WebKit2 GTK+
853         https://bugs.webkit.org/show_bug.cgi?id=70591
854
855         Reviewed by Martin Robinson.
856
857         * WebProcess/WebPage/WebPage.cpp: Included DataObjectGtk.h to avoid warnings for GTK
858
859 2011-10-24  Sam Weinig  <sam@webkit.org>
860
861         Simplify url accessors on WKBrowsingContextController
862         https://bugs.webkit.org/show_bug.cgi?id=70797
863
864         Reviewed by Anders Carlsson.
865
866         * UIProcess/API/C/WKPage.cpp:
867         (WKPageCopyActiveURL):
868         (WKPageCopyProvisionalURL):
869         (WKPageCopyCommittedURL):
870         * UIProcess/API/C/WKPage.h:
871         Add accessors to C SPI.
872
873         * UIProcess/API/mac/WKBrowsingContextController.h:
874         Remove unreachableURL accessor for now. It may make a glorious return when we have
875         error page support.
876
877         * UIProcess/API/mac/WKBrowsingContextController.mm:
878         (-[WKBrowsingContextController activeURL]):
879         (-[WKBrowsingContextController provisionalURL]):
880         (-[WKBrowsingContextController committedURL]):
881         Implement these in terms of the new C SPI.
882
883         * UIProcess/WebPageProxy.cpp:
884         (WebKit::WebPageProxy::activeURL):
885         Add computation of the "active" URL, which is the URL one would show
886         in an address field. It is the pending URL when there is one, the provisional
887         URL when there is one, and otherwise the committed/final URL.
888
889         (WebKit::WebPageProxy::provisionalURL):
890         (WebKit::WebPageProxy::committedURL):
891         Add access to the main frame URL.
892         * UIProcess/WebPageProxy.h:
893
894 2011-10-24  Sam Weinig  <sam@webkit.org>
895
896         Hook up minimalist load delegate to WKBrowsingContextController
897         https://bugs.webkit.org/show_bug.cgi?id=70764
898
899         Reviewed by Simon Fraser.
900
901         * UIProcess/API/mac/WKBrowsingContextController.h:
902         * UIProcess/API/mac/WKBrowsingContextController.mm:
903         (-[WKBrowsingContextController loadDelegate]):
904         (-[WKBrowsingContextController setLoadDelegate:]):
905         Add loadDelegate getter/setter. As per convention, the delegate is not
906         retained.
907
908         (didStartProvisionalLoadForFrame):
909         (didCommitLoadForFrame):
910         (didFinishLoadForFrame):
911         (setUpPageLoaderClient):
912         (-[WKBrowsingContextController initWithPageRef:]):
913         Hookup the delegate to a WKPageLoaderClient.
914
915         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Added.
916         Add load delegate as a proper protocol.
917
918         * WebKit2.xcodeproj/project.pbxproj:
919         Add new file.
920
921 2011-10-24  Michael Saboff  <msaboff@apple.com>
922
923         WebKit doesn't build with recent changes to libdispatch
924         https://bugs.webkit.org/show_bug.cgi?id=70737
925
926         Added initialization for new WebKitSystemInterface function 
927         CreateVMPressureDispatchOnMainQueue.
928
929         Reviewed by Geoffrey Garen.
930
931         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
932         (InitWebCoreSystemInterface):
933
934 2011-10-24  Sam Weinig  <sam@webkit.org>
935
936         Add URL getters for the WKBrowsingContextController
937         https://bugs.webkit.org/show_bug.cgi?id=70752
938
939         Reviewed by Anders Carlsson.
940
941         * UIProcess/API/mac/WKBrowsingContextController.h:
942         * UIProcess/API/mac/WKBrowsingContextController.mm:
943         (autoreleased):
944         Added helpers for autoreleasing.
945
946         (-[WKBrowsingContextController activeURL]):
947         Added buy not implemented yet.
948
949         (-[WKBrowsingContextController pendingURL]):
950         (-[WKBrowsingContextController provisionalURL]):
951         (-[WKBrowsingContextController commitedURL]):
952         (-[WKBrowsingContextController unreachableURL]):
953         Added getters.
954
955         (-[WKBrowsingContextController title]):
956         Convert to new autoreleased helper.
957
958 2011-10-24  Sam Weinig  <sam@webkit.org>
959
960         Add zoom and title support to Objective-C WebKit2 API
961         https://bugs.webkit.org/show_bug.cgi?id=70744
962
963         Reviewed by Darin Adler.
964
965         * UIProcess/API/mac/WKBrowsingContextController.h:
966         * UIProcess/API/mac/WKBrowsingContextController.mm:
967         (-[WKBrowsingContextController title]):
968         (-[WKBrowsingContextController textZoom]):
969         (-[WKBrowsingContextController setTextZoom:]):
970         (-[WKBrowsingContextController pageZoom]):
971         (-[WKBrowsingContextController setPageZoom:]):
972
973 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
974
975         [GTK] Fix make distcheck build
976         https://bugs.webkit.org/show_bug.cgi?id=69745
977
978         Reviewed by Martin Robinson.
979
980         * GNUmakefile.am:
981
982 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
983
984         [GTK] Initial implementation of back forward list for WebKit2 GTK+ API
985         https://bugs.webkit.org/show_bug.cgi?id=69343
986
987         Reviewed by Martin Robinson.
988
989         * GNUmakefile.am: Add new files to compilation.
990         * UIProcess/API/gtk/WebKitBackForwardList.cpp: Added.
991         (webkitBackForwardListFinalize):
992         (webkit_back_forward_list_init):
993         (webkit_back_forward_list_class_init):
994         (webkitBackForwardListGetOrCreateItem): Helper function that
995         creates a new WebKitBackForwardListItem for the given
996         WebBackForwardListItem or returns it from the cache if it's
997         already cached.
998         (webkitBackForwardListCreateList): Helper function to convert a
999         WKArray of WebBackForwardListItems into a GList of
1000         WebKitBackForwardListItems.
1001         (webkitBackForwardListCreate): Create a new WebKitBackForwardList.
1002         (webkitBackForwardListChanged): Emits changed signal when the back
1003         forward list changes.
1004         (webkit_back_forward_list_get_current_item):
1005         (webkit_back_forward_list_get_back_item):
1006         (webkit_back_forward_list_get_forward_item):
1007         (webkit_back_forward_list_get_nth_item):
1008         (webkit_back_forward_list_get_length):
1009         (webkit_back_forward_list_get_back_list):
1010         (webkit_back_forward_list_get_back_list_with_limit):
1011         (webkit_back_forward_list_get_forward_list):
1012         (webkit_back_forward_list_get_forward_list_with_limit):
1013         * UIProcess/API/gtk/WebKitBackForwardList.h: Added.
1014         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Added.
1015         (webkitBackForwardListItemFinalize):
1016         (webkit_back_forward_list_item_init):
1017         (webkit_back_forward_list_item_class_init):
1018         (historyItemsMap): Global cache for WebKitBackForwardListItems.
1019         (webkitBackForwardListItemFinalized):
1020         (webkitBackForwardListItemGetOrCreate): Helper function that
1021         creates a new WebKitBackForwardListItem for the given
1022         WebBackForwardListItem or returns it from the global cache if it's
1023         already cached.
1024         (webkit_back_forward_list_item_get_uri):
1025         (webkit_back_forward_list_item_get_title):
1026         (webkit_back_forward_list_item_get_original_uri):
1027         * UIProcess/API/gtk/WebKitBackForwardListItem.h: Added.
1028         * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: Added.
1029         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
1030         (didChangeBackForwardList): Call webkitBackForwardListChanged() to
1031         notify that the list has changed.
1032         (webkitWebLoaderClientAttachLoaderClientToPage): Add
1033         implementation for didChangeBackForwardList.
1034         * UIProcess/API/gtk/WebKitWebView.cpp:
1035         (webkitWebViewConstructed):
1036         (webkit_web_view_get_back_forward_list): Return the back forward
1037         list of the view.
1038         * UIProcess/API/gtk/WebKitWebView.h:
1039         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test.
1040         * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Added.
1041         (serverCallback):
1042         (testBackForwardListNavigation):
1043         (testBackForwardListLimitAndCache):
1044         (beforeAll):
1045         (afterAll):
1046         * UIProcess/API/gtk/tests/TestMain.h:
1047         (Test::~Test): Check there are no objects leaked.
1048         (Test::objectFinalized): Callback called when a GObject is
1049         deleted, used to remove the watched object the list.
1050         (Test::assertObjectIsDeletedWhenTestFinishes): Add an object to
1051         the list of watched objects and add a weak pointer to remove it
1052         from the list when the object is finalized. If there aren't
1053         objects leaked, the list should be empty when the test finishes.
1054         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1055         (WebViewTest::WebViewTest): Watch the web view to make sure it's
1056         not leaked.
1057         * UIProcess/API/gtk/tests/WebViewTest.h: Make WebViewTest inherit
1058         from Test class.
1059         * UIProcess/API/gtk/webkit2.h: Include WebKitBackForwardList.h and
1060         WebKitBackForwardListItem.h.
1061         * UIProcess/API/gtk/webkit2marshal.list:
1062
1063 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1064
1065         [GTK] Add helper function to set the loader client in WebKitWebView
1066         https://bugs.webkit.org/show_bug.cgi?id=70594
1067
1068         Reviewed by Martin Robinson.
1069
1070         * UIProcess/API/gtk/WebKitWebView.cpp:
1071         (webkitWebViewSetLoaderClient): Helper function to set the loader
1072         client.
1073         (webkitWebViewConstructed): Use webkitWebViewSetLoaderClient() to
1074         avoid unnecessary checks.
1075         (webkit_web_view_set_loader_client): Use
1076         webkitWebViewSetLoaderClient().
1077
1078 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1079
1080         [GTK] Remove g_thread_init() calls
1081         https://bugs.webkit.org/show_bug.cgi?id=70717
1082
1083         Reviewed by Xan Lopez.
1084
1085         With newer glib it's not needed anymore and with previous versions
1086         it was already called by g_type_init().
1087
1088         * UIProcess/API/gtk/tests/TestMain.cpp:
1089         (main):
1090
1091 2011-10-24  Zeno Albisser  <zeno.albisser@nokia.com>
1092
1093         [Qt][WK2] WebView does not get focus when being clicked / touched in MiniBrowser.
1094         https://bugs.webkit.org/show_bug.cgi?id=70613
1095
1096         Make TouchWebView and DesktopWebView take the focus whenever it receives
1097         a MouseClick or a TouchEvent.
1098
1099         Reviewed by Simon Hausmann.
1100
1101         * UIProcess/API/qt/qdesktopwebview.cpp:
1102         (QDesktopWebView::mousePressEvent):
1103         * UIProcess/API/qt/qtouchwebview.cpp:
1104         (QTouchWebView::touchEvent):
1105         * UIProcess/API/qt/qtouchwebview.h:
1106
1107 2011-10-24  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1108
1109         [GTK] [WK2] Memory leaks in WebContextGtk.cpp
1110         https://bugs.webkit.org/show_bug.cgi?id=70505
1111
1112         Free the output of g_build_filename()
1113
1114         Reviewed by Martin Robinson.
1115
1116         * UIProcess/gtk/WebContextGtk.cpp:
1117         (WebKit::WebContext::platformDefaultDatabaseDirectory):
1118         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
1119
1120 2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
1121
1122         Remove getConstructDataVirtual
1123         https://bugs.webkit.org/show_bug.cgi?id=70638
1124
1125         Reviewed by Darin Adler.
1126
1127         Removed all declarations and definitions of getConstructDataVirtual.
1128         Also replaced all call sites to getConstructDataVirtual with a 
1129         corresponding lookup in the MethodTable.
1130
1131         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1132         * WebProcess/Plugins/Netscape/JSNPObject.h:
1133
1134 2011-10-21  Alexey Proskuryakov  <ap@apple.com>
1135
1136         [WK2] Clicking a print button in a PDF doesn't do anything
1137         https://bugs.webkit.org/show_bug.cgi?id=70663
1138         <rdar://problem/9795014>
1139
1140         Reviewed by Dan Bernstein.
1141
1142         * UIProcess/WebPageProxy.h:
1143         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printMainFrame): Added a public method
1144         that PDFViewController could call.
1145
1146         * UIProcess/API/mac/PDFViewController.h:
1147         * UIProcess/API/mac/PDFViewController.mm:
1148         (-[WKPDFView PDFViewPerformPrint:]):
1149         (WebKit::PDFViewController::print):
1150         Connect PDFView delegate method for printing.
1151
1152 2011-10-21  Sam Weinig  <sam@webkit.org>
1153
1154         Lookup does not work on text using web fonts in WebKit2
1155         https://bugs.webkit.org/show_bug.cgi?id=70669
1156         <rdar://problem/10147441>
1157
1158         Reviewed by Anders Carlsson.
1159
1160         * WebProcess/WebPage/mac/WebPageMac.mm:
1161         (WebKit::WebPage::performDictionaryLookupForRange):
1162         If the font for the range is web font (and therefore no NSFont is 
1163         available), use the system font of the same size. While not great,
1164         it approximates what WebKit1 does.
1165
1166 2011-10-21  Sam Weinig  <sam@webkit.org>
1167
1168         Fix crash below CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::WebPageProxy::DidPerformDictionaryLookup>
1169         https://bugs.webkit.org/show_bug.cgi?id=70667
1170         <rdar://problem/9622186>
1171
1172         Reviewed by Anders Carlsson.
1173
1174         * Shared/DictionaryPopupInfo.cpp:
1175         (WebKit::DictionaryPopupInfo::encode):
1176         (WebKit::DictionaryPopupInfo::decode):
1177         Account for the fact that the options dictionary can be null. This is due to Lookup passing
1178         back a null, rather than empty, dictionary when it could not find any interesting characteristics.
1179
1180 2011-10-21  Sam Weinig  <sam@webkit.org>
1181
1182         Add WKBrowsingContextGroup which wraps WKPageGroupRef
1183         https://bugs.webkit.org/show_bug.cgi?id=70665
1184
1185         Reviewed by Anders Carlsson.
1186
1187         * UIProcess/API/mac/WKBrowsingContextGroup.h: Added.
1188         * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added.
1189         (-[WKBrowsingContextGroup initWithIdentifier:]):
1190         (-[WKBrowsingContextGroup dealloc]):
1191         (-[WKBrowsingContextGroup pageGroupRef]):
1192         * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added.
1193         * UIProcess/API/mac/WKView.h:
1194         * UIProcess/API/mac/WKView.mm:
1195         (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
1196         * WebKit2.xcodeproj/project.pbxproj:
1197
1198 2011-10-21  Sam Weinig  <sam@webkit.org>
1199
1200         Mark member variables of WebKit2 API @private
1201         https://bugs.webkit.org/show_bug.cgi?id=70655
1202
1203         Reviewed by Simon Fraser.
1204
1205         * UIProcess/API/mac/WKBrowsingContextController.h:
1206         * UIProcess/API/mac/WKView.h:
1207
1208 2011-10-21  Sam Weinig  <sam@webkit.org>
1209
1210         Rename WKProcessCluster to WKProcessGroup
1211         https://bugs.webkit.org/show_bug.cgi?id=70654
1212
1213         Reviewed by Simon Fraser.
1214
1215         * UIProcess/API/mac/WKProcessCluster.h: Removed.
1216         * UIProcess/API/mac/WKProcessCluster.mm: Removed.
1217         * UIProcess/API/mac/WKProcessClusterInternal.h: Removed.
1218         * UIProcess/API/mac/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.h.
1219         * UIProcess/API/mac/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.mm.
1220         (-[WKProcessGroup initWithInjectedBundleURL:]):
1221         * UIProcess/API/mac/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessClusterInternal.h.
1222         * UIProcess/API/mac/WKView.h:
1223         * UIProcess/API/mac/WKView.mm:
1224         (-[WKView initWithFrame:processCluster:]):
1225         * WebKit2.xcodeproj/project.pbxproj:
1226
1227 2011-10-21  Sam Weinig  <sam@webkit.org>
1228
1229         Remove ability to create a WKView without a WKContextRef and WKPageGroupRef
1230         https://bugs.webkit.org/show_bug.cgi?id=70653
1231
1232         Reviewed by Simon Fraser.
1233
1234         Requiring a context and pagegroup removes the concept of global contexts,
1235         which is something that is both confusing, and makes Objective-C wrapping
1236         harder.
1237
1238         * UIProcess/API/mac/WKView.mm:
1239         (-[WKView initWithFrame:processCluster:]):
1240         * UIProcess/API/mac/WKViewPrivate.h:
1241         Remove init methods that didn't take both a context and a pagegroup.
1242
1243 2011-10-21  Alexey Proskuryakov  <ap@apple.com>
1244
1245         [WK2] Crash after printing a view with accelerated compositing content
1246         https://bugs.webkit.org/show_bug.cgi?id=70643
1247         <rdar://problem/9479083>
1248
1249         Reviewed by Darin Adler.
1250
1251         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
1252         We cannot rely on -[WKView drawRect:] calling endPrinting() for us. That call to endPrinting()
1253         is still necessary to paint e.g. when resizing a window while a print dialog is present.
1254
1255 2011-10-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1256
1257         [WK2] WebFrameLoaderClient::shouldFallback() should use a port-specific implementation
1258         https://bugs.webkit.org/show_bug.cgi?id=70055
1259
1260         Reviewed by Luiz Agostini.
1261
1262         In QtWebKit 1, our FrameLoaderClient::shouldFallback was checking for InterruptedForPolicyChange
1263         error. In WebKit2, we are relying on the common implementation for WebFrameLoaderClient::shouldFallback
1264         which doesn't check for the same error. Here we add this check only for Qt.
1265
1266         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1267         (WebKit::WebFrameLoaderClient::shouldFallBack):
1268
1269 2011-10-21  Anders Carlsson  <andersca@apple.com>
1270
1271         Flash of white when loading a page after a web process crash
1272         https://bugs.webkit.org/show_bug.cgi?id=70615
1273         <rdar://problem/10306906>
1274
1275         Reviewed by Darin Adler.
1276
1277         * UIProcess/API/mac/WKView.mm:
1278         (-[WKView _processDidCrash]):
1279         (-[WKView _didRelaunchProcess]):
1280         Remove calls to setNeedsDisplay here.
1281
1282         * UIProcess/WebPageProxy.cpp:
1283         (WebKit::WebPageProxy::processDidCrash):
1284         Call setNeedsDisplay, but only if calling out to the loader client didn't relaunch the web process.
1285
1286         * WebProcess/WebPage/DrawingArea.h:
1287         (WebKit::DrawingArea::setPaintingEnabled):
1288         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1289         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1290         (WebKit::DrawingAreaImpl::setNeedsDisplay):
1291         (WebKit::DrawingAreaImpl::scroll):
1292         (WebKit::DrawingAreaImpl::setPaintingEnabled):
1293         * WebProcess/WebPage/DrawingAreaImpl.h:
1294         Add a way to disable painting completely for a drawing area.
1295
1296         * WebProcess/WebPage/WebPage.cpp:
1297         (WebKit::WebPage::WebPage):
1298         Disable painting while setting up the web page, otherwise we'll get paint requests when we set the
1299         active state of the web page.
1300
1301 2011-10-21  Csaba Osztrogonác  <ossy@webkit.org>
1302
1303         [Qt][WK2] Buildfix for newer Qt5. Remove duplicated defines.
1304
1305         Reviewed by Simon Hausmann.
1306
1307         * UIProcess/API/qt/tests/util.h:
1308
1309 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1310
1311         Unreviewed. Fix WebKit2 GTK+ build after r98081.
1312
1313         * UIProcess/API/gtk/WebKitWebView.h:
1314
1315 2011-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1316
1317         Unreviewed, rolling out r98085.
1318         http://trac.webkit.org/changeset/98085
1319         https://bugs.webkit.org/show_bug.cgi?id=70589
1320
1321         It broke the build (Requested by Ossy on #webkit).
1322
1323         * UIProcess/API/qt/tests/util.h:
1324
1325 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1326
1327         [GTK] Fix API documentation comment for webkit_web_view_get_estimated_load_progress()
1328         https://bugs.webkit.org/show_bug.cgi?id=70587
1329
1330         Reviewed by Philippe Normand.
1331
1332         It's should start with /** to be recognized as API documentation.
1333
1334         * UIProcess/API/gtk/WebKitWebView.cpp:
1335
1336 2011-10-21  Csaba Osztrogonác  <ossy@webkit.org>
1337
1338         [Qt][WK2] Unreviewed buildfix for newer Qt5. Remove duplicated defines.
1339
1340         * UIProcess/API/qt/tests/util.h:
1341
1342 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1343
1344         [GTK] Add can_go_back/forward methods to WebKit2 GTK+ API
1345         https://bugs.webkit.org/show_bug.cgi?id=69823
1346
1347         Reviewed by Martin Robinson.
1348
1349         * UIProcess/API/gtk/WebKitWebView.cpp:
1350         (webkit_web_view_go_back):
1351         (webkit_web_view_can_go_back):
1352         (webkit_web_view_go_forward):
1353         (webkit_web_view_can_go_forward):
1354         * UIProcess/API/gtk/WebKitWebView.h:
1355
1356 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1357
1358         [GTK] Add webkit_web_view_stop_loading() to WebKit2 GTK+ API
1359         https://bugs.webkit.org/show_bug.cgi?id=69610
1360
1361         Reviewed by Martin Robinson.
1362
1363         * UIProcess/API/gtk/WebKitWebView.cpp:
1364         (webkit_web_view_stop_loading):
1365         * UIProcess/API/gtk/WebKitWebView.h:
1366         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
1367         (provisionalLoadFailedCallback):
1368         (loadFailedCallback):
1369         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
1370         (LoadStopTrackingTest::loadCommitted):
1371         (LoadStopTrackingTest::loadFailed):
1372         (LoadStopTrackingTest::loadFinished):
1373         (testLoadCancelled):
1374         (serverCallback):
1375         (beforeAll):
1376
1377 2011-10-20  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1378
1379         [Qt][WK2] qweberror* should follow the new file and class naming rules
1380         https://bugs.webkit.org/show_bug.cgi?id=70550
1381
1382         Reviewed by Noam Rosenthal.
1383
1384         Renaming qweberror* files and class to QtWebError*.
1385         QWebErrorPrivate is now merged into QtWebError.
1386
1387         * UIProcess/API/qt/qdesktopwebview.cpp:
1388         (QDesktopWebViewPrivate::loadDidFail):
1389         * UIProcess/API/qt/qdesktopwebview_p.h:
1390         * UIProcess/qt/ClientImpl.cpp:
1391         (dispatchLoadFailed):
1392         * UIProcess/qt/QtTouchViewInterface.cpp:
1393         (WebKit::QtTouchViewInterface::loadDidFail):
1394         * UIProcess/qt/QtTouchViewInterface.h:
1395         * UIProcess/qt/QtViewInterface.h:
1396         * UIProcess/qt/QtWebError.cpp: Renamed from Source/WebKit2/UIProcess/qt/qweberror.cpp.
1397         (QtWebError::QtWebError):
1398         (QtWebError::type):
1399         (QtWebError::errorCode):
1400         (QtWebError::url):
1401         * UIProcess/qt/QtWebError.h: Renamed from Source/WebKit2/UIProcess/qt/qweberror.h.
1402         (QtWebError::errorCodeAsHttpStatusCode):
1403         (QtWebError::errorCodeAsNetworkError):
1404         * UIProcess/qt/QtWebPageProxy.cpp:
1405         (QtWebPageProxy::loadDidFail):
1406         * UIProcess/qt/QtWebPageProxy.h:
1407         * UIProcess/qt/qweberror_p.h: Removed.
1408         * WebKit2.pro:
1409
1410 2011-10-20  Alexey Proskuryakov  <ap@apple.com>
1411
1412         REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
1413         https://bugs.webkit.org/show_bug.cgi?id=70534
1414         <rdar://problem/10308827>
1415
1416         Reviewed by Darin Adler.
1417
1418         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::handleContextMenuEvent):
1419         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1420         * WebProcess/Plugins/Plugin.h:
1421         * WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::handleContextMenuEvent):
1422         * WebProcess/Plugins/PluginProxy.h:
1423         * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::handleEvent):
1424         Return true when handling contextmenu event, so that plug-ins won't get a default WebKit
1425         context menu. We can't know if the plug-in is handling mousedown (or even mouseup) by
1426         displaying a menu.
1427
1428         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1429         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::handleContextMenuEvent):
1430         PDF is the only "plug-in" that wants default WebKit menu now.
1431
1432 2011-10-20  Sam Weinig  <sam@webkit.org>
1433
1434         Put the WebKit2 C SPI in PrivateHeaders
1435         https://bugs.webkit.org/show_bug.cgi?id=70549
1436
1437         Reviewed by Dan Bernstein.
1438
1439         No change in behavior.
1440
1441         * WebKit2.xcodeproj/project.pbxproj:
1442
1443 2011-10-20  Brady Eidson  <beidson@apple.com>
1444
1445         <rdar://problem/9412849> and https://bugs.webkit.org/show_bug.cgi?id=70535
1446         WK2 - Crash deref'ing a null context menu
1447
1448         Reviewed by Darin Adler.
1449
1450         * WebProcess/WebPage/WebPage.cpp:
1451         (WebKit::WebPage::didSelectItemFromActiveContextMenu): In some cases that we still can't reproduce,
1452           this message can be received in the WebProcess after the context menu has been cleared, leading
1453           to a crash. Turning the ASSERT in to an early return will prevent the crash while we try to learn more
1454           about how this could happen.
1455
1456 2011-10-20  Gustavo Noronha Silva  <gns@gnome.org>
1457
1458         GTK+ build fix. Wk2 documentation will be dealt with in future
1459         patches.
1460
1461         * UIProcess/API/gtk/docs/GNUmakefile.am:
1462
1463 2011-10-20  Mark Hahnenberg  <mhahnenberg@apple.com>
1464
1465         Rename static deleteProperty to deletePropertyByIndex
1466         https://bugs.webkit.org/show_bug.cgi?id=70257
1467
1468         Reviewed by Geoffrey Garen.
1469
1470         Renaming versions of deleteProperty that use an unsigned as the property
1471         name to "deletePropertyByIndex" in preparation for adding them to the 
1472         MethodTable, which requires unique names for each method.
1473
1474         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1475         (WebKit::JSNPObject::deletePropertyVirtual):
1476         (WebKit::JSNPObject::deletePropertyByIndex):
1477         * WebProcess/Plugins/Netscape/JSNPObject.h:
1478
1479 2011-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1480
1481         [GTK] Remove WebKitWebLoaderClientPrivate
1482         https://bugs.webkit.org/show_bug.cgi?id=70488
1483
1484         Reviewed by Philippe Normand.
1485
1486         It's unused since r97920.
1487
1488         * GNUmakefile.am: Add WebKitWebLoaderClientPrivate.h.
1489         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
1490         (webkitWebLoaderClientAttachLoaderClientToPage): Renamed to make
1491         it clear it's a private method of WebKitWebLoaderClient.
1492         (webkit_web_loader_client_init): Remove
1493         WebKitWebLoaderClientPrivate initialization.
1494         (webkit_web_loader_client_class_init): Removed adding
1495         WebKitWebLoaderClientPrivate struct as private data.
1496         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove
1497         WebKitWebLoaderClientPrivate definition.
1498         * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Move
1499         webkitWebLoaderClientAttachLoaderClientToPage method here since
1500         it's a private method implemented in WebKitWebLoaderClient, not in
1501         WebKitWebView.
1502         * UIProcess/API/gtk/WebKitWebView.cpp:
1503         (webkit_web_view_set_loader_client): Use
1504         webkitWebLoaderClientAttachLoaderClientToPage.
1505         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Remove
1506         webkitWebLoaderClientAttachLoaderClientToPage prototype.
1507
1508 2011-10-10  Martin Robinson  <mrobinson@igalia.com>
1509
1510         [GTK] [WebKit2] Allow sharing page clients between WebViews
1511         https://bugs.webkit.org/show_bug.cgi?id=69814
1512
1513         No longer associate WebPage client wrappers with a WebKitWebView. This allows the
1514         same client to be used with more than one WebKitWebView.
1515
1516         Reviewed by Xan Lopez.
1517
1518         * GNUmakefile.am: Add the new WebKitWebViewPrivate header.
1519         * UIProcess/API/gtk/WebKitDefines.h: Added some forward declarations for API classes.
1520         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: C API callbacks now convert their WKPageRef argument
1521         into a WebKitWebView directly and pass it as a parameter to signals. Remove the web-view property.
1522         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Move the estimated-progress property to WebKitWebView.
1523         * UIProcess/API/gtk/WebKitWebView.cpp: Add an estimated-load-progress property.
1524         (webkitWebViewConstructed):Only allocate one default WebKitWebLoaderClient.
1525         (webkitWebViewGetProperty): Add support for the new property.
1526         (webkit_web_view_class_init): Ditto.
1527         (webkitWebViewSetEstimatedLoadProgress): Added this private method so that the WebKitWebLoaderClient
1528         can update the appropriate WebKitWebView.
1529         (webkit_web_view_set_loader_client): Attach the C API callbacks here now.
1530         (webkit_web_view_get_estimated_load_progress): Moved from WebKitWebLoaderClient.
1531         * UIProcess/API/gtk/WebKitWebView.h: Added new method definition.
1532         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitDefines.h.
1533         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Updated the load tracking tests callbacks to take the new parameter.
1534         (LoadTrackingTest::LoadTrackingTest): Listen to the WebKitWebView property now.
1535         (LoadTrackingTest::estimatedProgressChanged):
1536         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Added a test to verify that two WebViews share the same default client.
1537         * UIProcess/API/gtk/webkit2marshal.list: Updated the marshallers here.
1538
1539 2011-10-19  Anders Carlsson  <andersca@apple.com>
1540
1541         White flash when painting a previously crashed WKView
1542         https://bugs.webkit.org/show_bug.cgi?id=70453
1543         <rdar://problem/10306906>
1544
1545         Reviewed by John Sullivan.
1546
1547         * UIProcess/WebPageProxy.cpp:
1548         (WebKit::WebPageProxy::reattachToWebProcess):
1549         Call waitForBackingStoreUpdateOnNextPaint so we'll wait for the next paint instead of painting white.
1550
1551 2011-10-19  Beth Dakin  <bdakin@apple.com>
1552
1553         https://bugs.webkit.org/show_bug.cgi?id=70396
1554         Focus rings are too thin in HiDPI in WebKit2
1555         -and corresponding-
1556         <rdar://problem/10086876>
1557
1558         Reviewed by Dan Bernstein.
1559
1560         Rename wkSetPatternBaseCTM to wkSetBaseCTM
1561         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1562         (InitWebCoreSystemInterface):
1563
1564         When setting up a HiDPI context, we must also set the base CTM.
1565         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1566         (WebKit::DrawingAreaImpl::display):
1567         * WebProcess/WebPage/WebPage.cpp:
1568         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
1569         (WebKit::WebPage::snapshotInViewCoordinates):
1570
1571 2011-10-19  Sam Weinig  <sam@webkit.org>
1572
1573         Add skeleton of an Objective-C WebKit2 API
1574         https://bugs.webkit.org/show_bug.cgi?id=70438
1575
1576         Reviewed by Anders Carlsson.
1577
1578         Adds WKBrowsingContextController (WKPageRef wrapper) and WKProcessCluster
1579         (WKContextRef wrapper) as initial files of an Objective-C WebKit2 API. Also,
1580         hook them up so that you can get a WKBrowsingContextController from the WKView
1581         and you can create a WKView associated with a WKProcessCluster. These names are
1582         not final, and this work is mainly about getting the wrapper lifetimes worked
1583         out.
1584
1585         * UIProcess/API/mac/WKBrowsingContextController.h: Added.
1586         * UIProcess/API/mac/WKBrowsingContextController.mm: Added.
1587         (-[WKBrowsingContextController dealloc]):
1588         (-[WKBrowsingContextController pageRef]):
1589         (-[WKBrowsingContextController loadRequest:]):
1590         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
1591         (-[WKBrowsingContextController stopLoading]):
1592         (-[WKBrowsingContextController reload]):
1593         (-[WKBrowsingContextController reloadFromOrigin]):
1594         (-[WKBrowsingContextController goForward]):
1595         (-[WKBrowsingContextController canGoForward]):
1596         (-[WKBrowsingContextController goBack]):
1597         (-[WKBrowsingContextController canGoBack]):
1598         (-[WKBrowsingContextController initWithPageRef:]):
1599         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added.
1600         Add wrapper for WKPageRef.
1601
1602         * UIProcess/API/mac/WKProcessCluster.h: Added.
1603         * UIProcess/API/mac/WKProcessCluster.mm: Added.
1604         (-[WKProcessCluster init]):
1605         (-[WKProcessCluster initWithInjectedBundleURL:]):
1606         (-[WKProcessCluster dealloc]):
1607         (-[WKProcessCluster contextRef]):
1608         * UIProcess/API/mac/WKProcessClusterInternal.h: Added.
1609         Add wrapper for WKContextRef.
1610
1611         * UIProcess/API/mac/WKView.h:
1612         * UIProcess/API/mac/WKView.mm:
1613         (-[WKView initWithFrame:processCluster:]):
1614         Add new init method which takes a WKProcessCluster.
1615
1616         (-[WKView browsingContextController]):
1617         Add accessor for the WKBrowsingContextController. This works by lazily creating
1618         the wrapper and caching it in the view itself.
1619
1620         * WebKit2.xcodeproj/project.pbxproj:
1621         Add new files.
1622
1623 2011-10-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1624
1625         [Qt] [WK2] Rename files and classes to follow conventions
1626         https://bugs.webkit.org/show_bug.cgi?id=70391
1627
1628         Reviewed by Noam Rosenthal.
1629
1630         Rename the files and classes following the agreed conventions on
1631         QtWebKit mailing list -- which are based on existing usage we have.
1632
1633         - Public API follow Qt conventions: qsomething.cpp qsomething.h with class named QSomething
1634
1635         - Private classes for public API classes follow Qt conventions:
1636           qsomething_p.h qsomething_p.cpp (if needed), with class named QSomethingPrivate
1637
1638         - Subclasses and Qt-specific implementations of WebKit/WebCore classes use Qt suffix:
1639           FrameLoaderClientQt.cpp
1640
1641         - Other classes created for using in our port use Qt prefix: QtFileDownloader, QtViewInterface
1642
1643         This is documented in https://trac.webkit.org/wiki/QtWebKitHacking
1644
1645         * UIProcess/API/qt/qdesktopwebview.cpp:
1646         (QDesktopWebViewPrivate::chooseFiles):
1647         (toPolicyAction):
1648         (QDesktopWebViewPrivate::navigationPolicyForURL):
1649         * UIProcess/API/qt/qdesktopwebview_p.h:
1650         * UIProcess/API/qt/qtouchwebpage.cpp:
1651         (QTouchWebPage::updatePaintNode):
1652         (QTouchWebPagePrivate::setPage):
1653         * UIProcess/API/qt/qtouchwebpage.h:
1654         * UIProcess/API/qt/qtouchwebpage_p.h:
1655         * UIProcess/API/qt/qtouchwebview.cpp:
1656         (QTouchWebViewPrivate::updateViewportConstraints):
1657         * UIProcess/API/qt/qtouchwebview.h:
1658         * UIProcess/API/qt/qtouchwebview_p.h:
1659         * UIProcess/TiledDrawingAreaProxy.h:
1660         * UIProcess/qt/ClientImpl.cpp:
1661         (toQtViewInterface):
1662         (toQtPolicyInterface):
1663         (qt_wk_runJavaScriptAlert):
1664         (qt_wk_runJavaScriptConfirm):
1665         (qt_wk_runJavaScriptPrompt):
1666         (qt_wk_setStatusText):
1667         (qt_wk_runOpenPanel):
1668         (qt_wk_mouseDidMoveOverElement):
1669         (qt_wk_decidePolicyForNavigationAction):
1670         * UIProcess/qt/QtDesktopWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.cpp.
1671         (dragOperationToDropAction):
1672         (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
1673         (QtDesktopWebPageProxy::createDrawingAreaProxy):
1674         (QtDesktopWebPageProxy::paintContent):
1675         (QtDesktopWebPageProxy::setViewportArguments):
1676         (QtDesktopWebPageProxy::doneWithTouchEvent):
1677         (QtDesktopWebPageProxy::createPopupMenuProxy):
1678         (QtDesktopWebPageProxy::handleEvent):
1679         (QtDesktopWebPageProxy::handleMouseMoveEvent):
1680         (QtDesktopWebPageProxy::handleMousePressEvent):
1681         (QtDesktopWebPageProxy::handleMouseReleaseEvent):
1682         (QtDesktopWebPageProxy::handleMouseDoubleClickEvent):
1683         (QtDesktopWebPageProxy::handleWheelEvent):
1684         (QtDesktopWebPageProxy::handleHoverLeaveEvent):
1685         (QtDesktopWebPageProxy::handleHoverMoveEvent):
1686         (QtDesktopWebPageProxy::handleDragEnterEvent):
1687         (QtDesktopWebPageProxy::handleDragLeaveEvent):
1688         (QtDesktopWebPageProxy::handleDragMoveEvent):
1689         (QtDesktopWebPageProxy::handleDropEvent):
1690         (QtDesktopWebPageProxy::timerEvent):
1691         * UIProcess/qt/QtDesktopWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.h.
1692         * UIProcess/qt/QtGestureRecognizer.cpp:
1693         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
1694         * UIProcess/qt/QtGestureRecognizer.h:
1695         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1696         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
1697         * UIProcess/qt/QtPanGestureRecognizer.h:
1698         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
1699         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
1700         * UIProcess/qt/QtPinchGestureRecognizer.h:
1701         * UIProcess/qt/QtPolicyInterface.h: Renamed from Source/WebKit2/UIProcess/qt/PolicyInterface.h.
1702         * UIProcess/qt/QtSGTileNode.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.cpp.
1703         (WebKit::QtSGTileNode::QtSGTileNode):
1704         (WebKit::QtSGTileNode::setBackBuffer):
1705         (WebKit::QtSGTileNode::swapBuffersIfNeeded):
1706         * UIProcess/qt/QtSGTileNode.h: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.h.
1707         * UIProcess/qt/QtSGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.cpp.
1708         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
1709         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
1710         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
1711         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
1712         (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
1713         (WebKit::QtSGUpdateQueue::createTileNode):
1714         (WebKit::QtSGUpdateQueue::removeTileNode):
1715         (WebKit::QtSGUpdateQueue::setNodeBackBuffer):
1716         (WebKit::QtSGUpdateQueue::swapTileBuffers):
1717         (WebKit::QtSGUpdateQueue::applyUpdates):
1718         (WebKit::QtSGUpdateQueue::getScaleNode):
1719         * UIProcess/qt/QtSGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.h.
1720         (WebKit::QtSGUpdateQueue::isSwapPending):
1721         (WebKit::NodeUpdate::NodeUpdate):
1722         (WebKit::NodeUpdate::~NodeUpdate):
1723         * UIProcess/qt/QtTouchViewInterface.cpp: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.cpp.
1724         (WebKit::QtTouchViewInterface::QtTouchViewInterface):
1725         (WebKit::QtTouchViewInterface::didFindZoomableArea):
1726         (WebKit::QtTouchViewInterface::sceneGraphUpdateQueue):
1727         (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
1728         (WebKit::QtTouchViewInterface::drawingAreaSize):
1729         (WebKit::QtTouchViewInterface::contentSizeChanged):
1730         (WebKit::QtTouchViewInterface::isActive):
1731         (WebKit::QtTouchViewInterface::hasFocus):
1732         (WebKit::QtTouchViewInterface::isVisible):
1733         (WebKit::QtTouchViewInterface::startDrag):
1734         (WebKit::QtTouchViewInterface::didReceiveViewportArguments):
1735         (WebKit::QtTouchViewInterface::didChangeUrl):
1736         (WebKit::QtTouchViewInterface::didChangeTitle):
1737         (WebKit::QtTouchViewInterface::didChangeToolTip):
1738         (WebKit::QtTouchViewInterface::didChangeStatusText):
1739         (WebKit::QtTouchViewInterface::didChangeCursor):
1740         (WebKit::QtTouchViewInterface::loadDidBegin):
1741         (WebKit::QtTouchViewInterface::loadDidCommit):
1742         (WebKit::QtTouchViewInterface::loadDidSucceed):
1743         (WebKit::QtTouchViewInterface::loadDidFail):
1744         (WebKit::QtTouchViewInterface::didChangeLoadProgress):
1745         (WebKit::QtTouchViewInterface::showContextMenu):
1746         (WebKit::QtTouchViewInterface::hideContextMenu):
1747         (WebKit::QtTouchViewInterface::runJavaScriptAlert):
1748         (WebKit::QtTouchViewInterface::runJavaScriptConfirm):
1749         (WebKit::QtTouchViewInterface::runJavaScriptPrompt):
1750         (WebKit::QtTouchViewInterface::processDidCrash):
1751         (WebKit::QtTouchViewInterface::didRelaunchProcess):
1752         (WebKit::QtTouchViewInterface::engine):
1753         * UIProcess/qt/QtTouchViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.h.
1754         (WebKit::QtTouchViewInterface::chooseFiles):
1755         (WebKit::QtTouchViewInterface::didMouseMoveOverElement):
1756         * UIProcess/qt/QtTouchWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.cpp.
1757         (QtTouchWebPageProxy::QtTouchWebPageProxy):
1758         (QtTouchWebPageProxy::createDrawingAreaProxy):
1759         (QtTouchWebPageProxy::processDidCrash):
1760         (QtTouchWebPageProxy::paintContent):
1761         (QtTouchWebPageProxy::doneWithTouchEvent):
1762         (QtTouchWebPageProxy::handleEvent):
1763         (QtTouchWebPageProxy::setVisibleContentRectAndScale):
1764         (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
1765         (QtTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
1766         (QtTouchWebPageProxy::touchEvent):
1767         (QtTouchWebPageProxy::findZoomableAreaForPoint):
1768         (QtTouchWebPageProxy::renderNextFrame):
1769         * UIProcess/qt/QtTouchWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.h.
1770         (QtTouchWebPageProxy::touchViewInterface):
1771         (QtTouchWebPageProxy::drawingArea):
1772         * UIProcess/qt/QtViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/ViewInterface.h.
1773         * UIProcess/qt/QtViewportInteractionEngine.cpp: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.cpp.
1774         (WebKit::visibleRectInContentCoordinate):
1775         (WebKit::contentRectInViewportCoordinate):
1776         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
1777         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
1778         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1779         (WebKit::QtViewportInteractionEngine::~QtViewportInteractionEngine):
1780         (WebKit::QtViewportInteractionEngine::reset):
1781         (WebKit::QtViewportInteractionEngine::setConstraints):
1782         (WebKit::QtViewportInteractionEngine::panGestureStarted):
1783         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
1784         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
1785         (WebKit::QtViewportInteractionEngine::panGestureEnded):
1786         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
1787         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
1788         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
1789         (WebKit::QtViewportInteractionEngine::contentViewportChanged):
1790         (WebKit::QtViewportInteractionEngine::updateContentIfNeeded):
1791         (WebKit::QtViewportInteractionEngine::updateContentScaleIfNeeded):
1792         (WebKit::QtViewportInteractionEngine::updateContentPositionIfNeeded):
1793         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
1794         (WebKit::QtViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
1795         (WebKit::QtViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
1796         (WebKit::QtViewportInteractionEngine::scaleContent):
1797         * UIProcess/qt/QtViewportInteractionEngine.h: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.h.
1798         (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
1799         (WebKit::operator==):
1800         * UIProcess/qt/QtWebPageProxy.cpp:
1801         (QtWebPageProxy::QtWebPageProxy):
1802         (QtWebPageProxy::registerEditCommand):
1803         * UIProcess/qt/QtWebPageProxy.h:
1804         * UIProcess/qt/QtWebUndoCommand.cpp: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.cpp.
1805         (QtWebUndoCommand::QtWebUndoCommand):
1806         (QtWebUndoCommand::~QtWebUndoCommand):
1807         (QtWebUndoCommand::redo):
1808         (QtWebUndoCommand::undo):
1809         * UIProcess/qt/QtWebUndoCommand.h: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.h.
1810         (QtWebUndoCommand::inUndoRedo):
1811         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
1812         (WebKit::TiledDrawingAreaProxy::updateWebView):
1813         * UIProcess/qt/WebContextMenuProxyQt.cpp:
1814         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
1815         (WebKit::WebContextMenuProxyQt::create):
1816         * UIProcess/qt/WebContextMenuProxyQt.h:
1817         * WebKit2.pro:
1818
1819 2011-10-19  Tomasz Morawski  <t.morawski@samsung.com>
1820
1821         [EFL][WK2] Added missing dummy interpretKeyEvent function
1822         https://bugs.webkit.org/show_bug.cgi?id=70311
1823
1824         Reviewed by Ryosuke Niwa.
1825
1826         Added missing dummy interpretKeyEvent function needed to compile WK2.
1827
1828         * WebProcess/WebPage/efl/WebPageEfl.cpp:
1829         (WebKit::WebPage::interpretKeyEvent):
1830
1831 2011-10-18  Sam Weinig  <sam@webkit.org>
1832
1833         Move uses of C SPI out of WKView.h and into WKViewPrivate.h
1834         https://bugs.webkit.org/show_bug.cgi?id=70387
1835
1836         Reviewed by Dan Bernstein.
1837
1838         * UIProcess/API/mac/WKViewPrivate.h:
1839         Move declarations here.
1840
1841         * UIProcess/API/mac/WKView.h:
1842         * UIProcess/API/mac/WKView.mm:
1843         (-[WKView _updateRemoteAccessibilityRegistration:]):
1844         (-[WKView initWithFrame:]):
1845         (-[WKView initWithFrame:contextRef:]):
1846         (-[WKView _registerDraggedTypes]):
1847         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
1848         (-[WKView pageRef]):
1849         (-[WKView canChangeFrameLayout:]):
1850         (-[WKView printOperationWithPrintInfo:forFrame:]):
1851         (-[WKView setFrame:andScrollBy:]):
1852         Move definitions to private category.
1853
1854         * UIProcess/API/mac/PDFViewController.mm:
1855         * UIProcess/mac/WKFullScreenWindowController.mm:
1856         * UIProcess/mac/WebInspectorProxyMac.mm:
1857         Update to include WKViewPrivate.h where necessary.
1858
1859 2011-10-18  Sam Weinig  <sam@webkit.org>
1860
1861         Stop leaking internal names in WKView API header
1862         https://bugs.webkit.org/show_bug.cgi?id=70380
1863
1864         Reviewed by Anders Carlsson.
1865
1866         Move _frameSizeUpdatesDisabledCount to WKViewData. Since we cannot change the size of
1867         WKView due to the fragile Objective-C ABI, we must rename the existing variable unused. If
1868         drop 32-bit support, we will be able to remove it.
1869
1870         * UIProcess/API/mac/WKView.h:
1871         * UIProcess/API/mac/WKView.mm:
1872         (-[WKView disableFrameSizeUpdates]):
1873         (-[WKView enableFrameSizeUpdates]):
1874         (-[WKView frameSizeUpdatesDisabled]):
1875         * WebKit2.xcodeproj/project.pbxproj:
1876
1877 2011-10-18  Alexey Proskuryakov  <ap@apple.com>
1878
1879         Expose PDF information in hit test result
1880         https://bugs.webkit.org/show_bug.cgi?id=70353
1881
1882         Reviewed by Sam Weinig.
1883
1884         * Shared/WebHitTestResult.cpp:
1885         (WebKit::WebHitTestResult::Data::encode):
1886         (WebKit::WebHitTestResult::Data::decode):
1887         * Shared/WebHitTestResult.h:
1888         (WebKit::WebHitTestResult::absolutePDFURL):
1889         * UIProcess/API/C/WKHitTestResult.cpp:
1890         (WKHitTestResultCopyAbsolutePDFURL):
1891         * UIProcess/API/C/WKHitTestResult.h:
1892         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
1893         (WKBundleHitTestResultCopyAbsolutePDFURL):
1894         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
1895         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1896         (WebKit::InjectedBundleHitTestResult::absolutePDFURL):
1897         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
1898         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1899         (WebKit::WebChromeClient::mouseDidMoveOverElement):
1900         Pass through PDF URL from hit testing to injected bundle client.
1901
1902 2011-10-18  Enrica Casucci  <enrica@apple.com>
1903
1904         Crash in WebProcess at com.apple.AppKit: -[NSFilePromiseDragSource draggedImage:endedAt:operation:] + 101
1905         https://bugs.webkit.org/show_bug.cgi?id=70340
1906         <rdar://problem/9548174>
1907                 
1908         We have seen a number of crash reports for this issue that seem to occurr when
1909         the user drags an image from a web page onto the desktop.
1910         We have not been able to reproduce this crash, therefore this is a speculative fix,
1911         but the theory is that the dragging source has been already released when draggedImage
1912         is called.
1913         This patch attempts a fix for the problem by retaining the dragging source when
1914         NSFilePromiseDragSource is created.
1915
1916         Reviewed by Darin Adler.
1917
1918         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1919         (-[WKPasteboardFilePromiseOwner initWithSource:]):
1920         (-[WKPasteboardFilePromiseOwner dealloc]):
1921
1922 2011-10-18  Alexey Proskuryakov  <ap@apple.com>
1923
1924         [WK2] Crash after storing credentials in Keychain
1925         https://bugs.webkit.org/show_bug.cgi?id=70376
1926         <rdar://problem/9647503>
1927
1928         Reviewed by Dan Bernstein.
1929
1930         * Shared/mac/SecKeychainItemResponseData.cpp:
1931         (WebKit::SecKeychainItemResponseData::encode):
1932         (WebKit::SecKeychainItemResponseData::decode):
1933         Actually send keychain item over, too. In shimSecKeychainItemCreateFromContent(), we are
1934         going to use it to override SecKeychainItemCreateFromContent(), and we cannot return noErr
1935         from this function without returning a non-null keychain item.
1936
1937 2011-10-18  Damian Kaleta  <dkaleta@apple.com>
1938
1939         This revised fix doesn't break SL build.
1940         https://bugs.webkit.org/show_bug.cgi?id=70345
1941
1942         Reviewed and landed by Sam Weinig.
1943
1944         * UIProcess/API/mac/WKView.mm:
1945         (+[WKView hideWordDefinitionWindow]): Hides the definition window.
1946         * UIProcess/API/mac/WKViewPrivate.h:
1947
1948 2011-10-18  Sam Weinig  <sam@webkit.org>
1949
1950         Move spellCheckerDocumentTag and handleCorrectionPanelResult from WKViewPrivate to WKViewInternal
1951         https://bugs.webkit.org/show_bug.cgi?id=70377
1952
1953         Reviewed by Anders Carlsson.
1954
1955         * UIProcess/API/mac/WKView.mm:
1956         (-[WKView spellCheckerDocumentTag]):
1957         (-[WKView handleCorrectionPanelResult:]):
1958         Move definition of methods to (Internal) area.
1959
1960         * UIProcess/API/mac/WKViewInternal.h:
1961         Add methods.
1962
1963         * UIProcess/API/mac/WKViewPrivate.h:
1964         Remove methods.
1965
1966         * UIProcess/cf/WebBackForwardListCF.cpp:
1967         Add missing newline.
1968
1969         * UIProcess/mac/CorrectionPanel.mm:
1970         Change #include to WKViewInternal.h
1971
1972         * WebKit2.xcodeproj/project.pbxproj:
1973         Sort some files.
1974
1975 2011-10-18  Sam Weinig  <sam@webkit.org>
1976
1977         Move WKView helper files into a sub-group
1978         https://bugs.webkit.org/show_bug.cgi?id=70375
1979
1980         Reviewed by Darin Adler.
1981
1982         * WebKit2.xcodeproj/project.pbxproj:
1983         Move some files around.
1984
1985 2011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1986
1987         Unreviewed, rolling out r97788.
1988         http://trac.webkit.org/changeset/97788
1989         https://bugs.webkit.org/show_bug.cgi?id=70366
1990
1991         broke compile (Requested by inferno-sec on #webkit).
1992
1993         * UIProcess/API/mac/WKView.mm:
1994         * UIProcess/API/mac/WKViewPrivate.h:
1995
1996 2011-10-18  Damian Kaleta  <dkaleta@apple.com>
1997
1998         Add WebKit API to hide the definition window
1999         https://bugs.webkit.org/show_bug.cgi?id=70345
2000
2001         Reviewed by Anders Carlsson.
2002
2003         * UIProcess/API/mac/WKView.mm:
2004         (-[WKView hideWordDefinitionWindow]): Hides the definition window.
2005         * UIProcess/API/mac/WKViewPrivate.h:
2006
2007 2011-10-18  Adam Barth  <abarth@webkit.org>
2008
2009         Always enable ENABLE(XPATH)
2010         https://bugs.webkit.org/show_bug.cgi?id=70217
2011
2012         Reviewed by Eric Seidel.
2013
2014         * Configurations/FeatureDefines.xcconfig:
2015
2016 2011-10-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2017
2018         [Qt] Merge QML plugin for WebKit2 with the original WebKit1 plugin
2019
2020         We don't need a separate plugin, as we no longer expose the WK2
2021         APIs under QtWebKit.experimental, but now use QtWebKit. The version
2022         was also changed to 3.0 instead of 5.0, as the original plugin was
2023         versioned 1.0, and bumping to 3.0 fits the scheme used by QtWebKit releases.
2024
2025         Reviewed by Andreas Kling.
2026
2027         * UIProcess/API/qt/qmlplugin/plugin.cpp: Removed.
2028         * UIProcess/API/qt/qmlplugin/qmldir: Removed.
2029         * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Removed.
2030         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
2031         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
2032         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
2033         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
2034         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
2035         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
2036         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
2037         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
2038         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
2039         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
2040         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
2041         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
2042         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
2043         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
2044
2045 2011-10-18  Dinu Jacob  <dinu.jacob@nokia.com>
2046
2047         [Qt][WK2] ASSERT when displaying context menu in input field
2048         https://bugs.webkit.org/show_bug.cgi?id=69859
2049
2050         Reviewed by Simon Hausmann.
2051
2052         When creating a submenu in the context menu, the submenu of type
2053         QWidget is statically cast to QObject before calling setParent on
2054         it. QObject::setParent asserts if the object is a QWidget. So, call
2055         setParent of QWidget itself.
2056
2057         * UIProcess/qt/WebContextMenuProxyQt.cpp:
2058         (WebKit::WebContextMenuProxyQt::createContextMenu):
2059
2060 2011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2061
2062         [Qt] Fix linkHoveredDoesntEmitRepeated test in the bot
2063         https://bugs.webkit.org/show_bug.cgi?id=70329
2064
2065         Reviewed by Andreas Kling.
2066
2067         Use LoadSpy::wait() instead of the TestCase::tryCompare(). They should be equivalent,
2068         but I'm getting strange results with tryCompare(). This commit also adds an extra check
2069         to make sure the hovered link is the correct one.
2070
2071         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
2072
2073 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
2074
2075         [Qt][WK2] Some QML tests were accidentally committed.
2076         https://bugs.webkit.org/show_bug.cgi?id=70321
2077
2078         Reviewed by Andreas Kling.
2079
2080         These tests were committed by accident. They should not be there.
2081
2082         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
2083
2084 2011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2085
2086         [Qt] Send mouse move events when we handle HoverEnter/Leave in QDesktopWebView
2087         https://bugs.webkit.org/show_bug.cgi?id=70297
2088
2089         Reviewed by Simon Hausmann.
2090
2091         Qt treat the first and last hover movements as special HoverMove and HoverLeave events, but
2092         WebKit doesn't make the difference, so we need to create move events for them.
2093
2094         While HoverEnter is in practice equivalent to HoverMove, the HoverLeave event is a bit
2095         different because we want to emulate that the mouse is not only leaving the current node, but
2096         completely leaving the whole document. The way to do this is to manufacture a move event with
2097         a very far position, and was inspired by WebView::handleMouseEvent() in
2098         Source/WebKit/win/WebView.cpp.
2099
2100         This patch fixes DesktopWebViewLinkHovered QML tests.
2101
2102         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2103         (QDesktopWebPageProxy::handleEvent):
2104         (QDesktopWebPageProxy::handleHoverLeaveEvent):
2105         * UIProcess/qt/qdesktopwebpageproxy.h:
2106
2107 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
2108
2109         [Qt][WK2] WebPreferences are impossible to use in QML.
2110         https://bugs.webkit.org/show_bug.cgi?id=70141
2111
2112         Reviewed by Kenneth Rohde Christiansen.
2113
2114         Make it possible to use qwkpreferences in QML. Renamed it
2115         to follow our new style regarding class names. This class is 
2116         now a QObject that is exposed as a property of the view.
2117         The tests give an idea of the usage.
2118
2119         * UIProcess/API/qt/WKView.h:
2120         * UIProcess/API/qt/qdesktopwebview.cpp:
2121         (QDesktopWebView::preferences):
2122         * UIProcess/API/qt/qdesktopwebview.h:
2123         * UIProcess/API/qt/qmlplugin/plugin.cpp:
2124         (WebKit2QmlPlugin::registerTypes):
2125         * UIProcess/API/qt/qtouchwebpage.cpp:
2126         (QTouchWebPage::preferences):
2127         * UIProcess/API/qt/qtouchwebpage.h:
2128         * UIProcess/API/qt/qwebpreferences.cpp: Added.
2129         (QWebPreferencesPrivate::createPreferences):
2130         (QWebPreferencesPrivate::testAttribute):
2131         (QWebPreferencesPrivate::setAttribute):
2132         (QWebPreferencesPrivate::setFontFamily):
2133         (QWebPreferencesPrivate::fontFamily):
2134         (QWebPreferencesPrivate::setFontSize):
2135         (QWebPreferencesPrivate::fontSize):
2136         (QWebPreferences::QWebPreferences):
2137         (QWebPreferences::~QWebPreferences):
2138         (QWebPreferences::autoLoadImages):
2139         (QWebPreferences::setAutoLoadImages):
2140         (QWebPreferences::javascriptEnabled):
2141         (QWebPreferences::setJavascriptEnabled):
2142         (QWebPreferences::pluginsEnabled):
2143         (QWebPreferences::setPluginsEnabled):
2144         (QWebPreferences::offlineWebApplicationCacheEnabled):
2145         (QWebPreferences::setOfflineWebApplicationCacheEnabled):
2146         (QWebPreferences::localStorageEnabled):
2147         (QWebPreferences::setLocalStorageEnabled):
2148         (QWebPreferences::XSSAuditingEnabled):
2149         (QWebPreferences::setXSSAuditingEnabled):
2150         (QWebPreferences::privateBrowsingEnabled):
2151         (QWebPreferences::setPrivateBrowsingEnabled):
2152         (QWebPreferences::dnsPrefetchEnabled):
2153         (QWebPreferences::setDnsPrefetchEnabled):
2154         (QWebPreferences::standardFontFamily):
2155         (QWebPreferences::setStandardFontFamily):
2156         (QWebPreferences::fixedFontFamily):
2157         (QWebPreferences::setFixedFontFamily):
2158         (QWebPreferences::serifFontFamily):
2159         (QWebPreferences::setSerifFontFamily):
2160         (QWebPreferences::sansSerifFontFamily):
2161         (QWebPreferences::setSansSerifFontFamily):
2162         (QWebPreferences::cursiveFontFamily):
2163         (QWebPreferences::setCursiveFontFamily):
2164         (QWebPreferences::fantasyFontFamily):
2165         (QWebPreferences::setFantasyFontFamily):
2166         (QWebPreferences::minimumFontSize):
2167         (QWebPreferences::setMinimumFontSize):
2168         (QWebPreferences::defaultFontSize):
2169         (QWebPreferences::setDefaultFontSize):
2170         (QWebPreferences::defaultFixedFontSize):
2171         (QWebPreferences::setDefaultFixedFontSize):
2172         * UIProcess/API/qt/qwebpreferences.h: Added.
2173         * UIProcess/API/qt/qwebpreferences_p.h: Added.
2174         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: Added.
2175         * UIProcess/API/qt/tests/qmltests/common/javascript.html: Added.
2176         * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Added.
2177         * UIProcess/qt/QtWebPageProxy.cpp:
2178         (QtWebPageProxy::preferences):
2179         * UIProcess/qt/QtWebPageProxy.h:
2180         * UIProcess/qt/qwkpreferences.cpp: Removed.
2181         * UIProcess/qt/qwkpreferences.h: Removed.
2182         * UIProcess/qt/qwkpreferences_p.h: Removed.
2183         * WebKit2.pro:
2184         * WebKit2API.pri:
2185
2186 2011-10-18  Tomasz Morawski  <t.morawski@samsung.com>
2187
2188         [EFL][WK2] Fix compilation error by include WebErrors.h file.
2189         https://bugs.webkit.org/show_bug.cgi?id=70309
2190
2191         Unreviewed build fix
2192
2193         Added a header file to fix compilation error.
2194
2195         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
2196
2197 2011-10-18  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
2198
2199         [Qt][WK2] Implement geolocation provider for qt port
2200         https://bugs.webkit.org/show_bug.cgi?id=59199
2201
2202         Reviewed by Simon Hausmann.
2203
2204         Based on patch by Kenneth Christiansen <kenneth.r.christiansen@nokia.com>
2205
2206         Implements default location provider for WK2 QtWebKit (WebGeolocationProviderQt),
2207         allowing QtWebKit clients to implement or override their own provider using WK2 APIs.
2208
2209         * UIProcess/API/C/WKGeolocationManager.h:
2210         * UIProcess/qt/WebContextQt.cpp:
2211         (WebKit::WebContext::platformInitializeWebProcess):
2212         * UIProcess/qt/WebGeolocationProviderQt.cpp: Added.
2213         (toLocationProvider):
2214         (locationStartUpdating):
2215         (locationStopUpdating):
2216         (WebGeolocationProviderQt::create):
2217         (WebGeolocationProviderQt::provider):
2218         (WebGeolocationProviderQt::WebGeolocationProviderQt):
2219         (WebGeolocationProviderQt::~WebGeolocationProviderQt):
2220         (WebGeolocationProviderQt::updateTimeout):
2221         (WebGeolocationProviderQt::positionUpdated):
2222         (WebGeolocationProviderQt::startUpdating):
2223         (WebGeolocationProviderQt::stopUpdating):
2224         * UIProcess/qt/WebGeolocationProviderQt.h: Added.
2225         * WebKit2.pro:
2226
2227 2011-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2228
2229         [UNIX] Use SOCK_SEQPACKET when available
2230         https://bugs.webkit.org/show_bug.cgi?id=61287
2231
2232         Reviewed by Darin Adler.
2233
2234         Sockets of type SEQPACKET are actually DGRAM sockets but that
2235         notifies the other end when the connection is closed. When
2236         SEQPACKET sockets are not available GTK+ port uses STREAM sockets
2237         while Qt port uses DGRAM sockets.
2238
2239         * PluginProcess/PluginProcess.cpp: Use SOCK_SEQPACKET if possible.
2240         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2241         (WebKit::ProcessLauncher::launchProcess): Ditto.
2242         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2243         (WebKit::ProcessLauncher::launchProcess): Ditto.
2244
2245 2011-10-17  Jon Lee  <jonlee@apple.com>
2246
2247         Filtering of URLs when serializing back forward list saves bad current index value
2248         https://bugs.webkit.org/show_bug.cgi?id=70282
2249         <rdar://problem/10057763>
2250
2251         Reviewed by Sam Weinig.
2252
2253         When reading the serialized b-f list, perform a sanity check on the current index.
2254         If it is invalid, we set it to NoCurrentItemIndex to prevent further corruption of
2255         the list.
2256
2257         When serializing the b-f list, currentIndex can be negative in the case where the list
2258         has one item only, and that item gets filtered out. In this instance currentIndex should
2259         just be -1. A crashing case showed an index that was more negative, a situation that I
2260         could not replicate. Since this value will get cleaned up when the b-f list is restored,
2261         I just strengthened the assertion to check for a more negative index in case we run into it again.
2262
2263         * UIProcess/cf/WebBackForwardListCF.cpp:
2264         (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the assertion
2265         in case we go beyond NoCurrentItemIndex (which, as an int, is -1).
2266         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
2267
2268 2011-10-14  Chris Marrin  <cmarrin@apple.com>
2269
2270         Throttle rate of requestAnimationFrame when page is not visible
2271         https://bugs.webkit.org/show_bug.cgi?id=67873
2272
2273         Reviewed by Anders Carlsson.
2274
2275         Plumb through notification when the window is hidden/shown or
2276         minimized/unminimized
2277
2278         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2279         (WebKit::DrawingAreaImpl::suspendPainting):
2280         (WebKit::DrawingAreaImpl::resumePainting):
2281
2282 2011-10-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
2283
2284         [Qt][WK2] Synchronize tiling with accelerated compositing
2285         https://bugs.webkit.org/show_bug.cgi?id=69151
2286
2287         Reviewed by Simon Hausmann.
2288
2289         Make the tiled "non-composited" content and the composited layers go through the same
2290         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
2291         content and a seperate layer tree, we put everything in a layer tree, with the non-
2292         composited content being a layer in the tree.
2293
2294         This allows fixing several issues with websites that have large content areas that are
2295         composited or overlap with composited layers.
2296
2297         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
2298         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
2299         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
2300         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
2301         based on TextureMapper, which can be painted directly with OpenGL.
2302
2303         Several optimizations are available for the non-composited layer as well, e.g. specifying
2304         a trajectory and updating the visible rect together with the content scale.
2305
2306         This code is currently disabled, a separate patch will enable it and glue it to
2307         QTouchWebPage.
2308
2309         * DerivedSources.pro:
2310         * Platform/CoreIPC/MessageID.h:
2311         * Scripts/webkit2/messages.py:
2312         * Shared/LayerTreeContext.h:
2313         * Shared/WebLayerTreeInfo.cpp:
2314         (WebKit::WebLayerInfo::encode):
2315         (WebKit::WebLayerInfo::decode):
2316         * Shared/WebLayerTreeInfo.h:
2317         * Shared/qt/LayerTreeContextQt.cpp:
2318         (WebKit::LayerTreeContext::LayerTreeContext):
2319         (WebKit::LayerTreeContext::~LayerTreeContext):
2320         (WebKit::LayerTreeContext::encode):
2321         (WebKit::LayerTreeContext::decode):
2322         (WebKit::LayerTreeContext::isEmpty):
2323         (WebKit::operator==):
2324         * UIProcess/DrawingAreaProxy.cpp:
2325         (WebKit::DrawingAreaProxy::updateWebView):
2326         (WebKit::DrawingAreaProxy::contentsRect):
2327         * UIProcess/DrawingAreaProxy.h:
2328         (WebKit::DrawingAreaProxy::viewportVisibleRect):
2329         (WebKit::DrawingAreaProxy::isBackingStoreReady):
2330         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
2331         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
2332         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
2333         (WebKit::DrawingAreaProxy::createTileForLayer):
2334         (WebKit::DrawingAreaProxy::updateTileForLayer):
2335         (WebKit::DrawingAreaProxy::removeTileForLayer):
2336         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
2337         (WebKit::DrawingAreaProxy::page):
2338         * UIProcess/DrawingAreaProxyImpl.cpp:
2339         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2340         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
2341         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
2342         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
2343         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
2344         * UIProcess/DrawingAreaProxyImpl.h:
2345         * UIProcess/LayerTreeHostProxy.h: Added.
2346         (WebKit::LayerTreeHostProxy::layerByID):
2347         (WebKit::LayerTreeHostProxy::rootLayer):
2348         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
2349         (WebKit::LayerTreeHostProxy::notifySyncRequired):
2350         (WebKit::LayerTreeHostProxy::showDebugBorders):
2351         (WebKit::LayerTreeHostProxy::showRepaintCounter):
2352         (WebKit::LayerTreeHostProxy::paintContents):
2353         * UIProcess/LayerTreeHostProxy.messages.in: Added.
2354         * UIProcess/WebPageProxy.cpp:
2355         (WebKit::WebPageProxy::didReceiveMessage):
2356         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
2357         * WebKit2.pro:
2358         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2359         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2360         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2361         (WebCore::WebGraphicsLayer::setChildren):
2362         (WebCore::WebGraphicsLayer::addChild):
2363         (WebCore::WebGraphicsLayer::addChildAtIndex):
2364         (WebCore::WebGraphicsLayer::addChildAbove):
2365         (WebCore::WebGraphicsLayer::addChildBelow):
2366         (WebCore::WebGraphicsLayer::replaceChild):
2367         (WebCore::WebGraphicsLayer::removeFromParent):
2368         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2369         (WebCore::WebGraphicsLayer::setContentsToImage):
2370         (WebCore::WebGraphicsLayer::setNeedsDisplay):
2371         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2372         (WebCore::WebGraphicsLayer::syncCompositingState):
2373         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2374         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
2375         (WebCore::WebGraphicsLayer::setContentsScale):
2376         (WebCore::WebGraphicsLayer::setRootLayer):
2377         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2378         (WebCore::WebGraphicsLayer::setVisibleContentRect):
2379         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
2380         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
2381         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
2382         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
2383         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
2384         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
2385         (WebCore::WebGraphicsLayer::createTile):
2386         (WebCore::WebGraphicsLayer::updateTile):
2387         (WebCore::WebGraphicsLayer::removeTile):
2388         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
2389         (WebCore::WebGraphicsLayer::layerTreeTileClient):
2390         (WebCore::WebGraphicsLayer::updateContentBuffers):
2391         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2392         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
2393         * WebProcess/WebPage/DrawingArea.h:
2394         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2395         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
2396         * WebProcess/WebPage/DrawingAreaImpl.h:
2397         * WebProcess/WebPage/LayerTreeHost.cpp:
2398         (WebKit::LayerTreeHost::create):
2399         * WebProcess/WebPage/LayerTreeHost.h:
2400         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
2401         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
2402         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
2403         (WebKit::LayerTreeHost::renderNextFrame):
2404         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
2405         * WebProcess/WebPage/TiledDrawingArea.cpp:
2406         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
2407         * WebProcess/WebPage/TiledDrawingArea.h:
2408         * WebProcess/WebPage/WebPage.cpp:
2409         (WebKit::WebPage::didReceiveMessage):
2410         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2411         (WebKit::LayerTreeHostQt::create):
2412         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
2413         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
2414         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
2415         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
2416         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
2417         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
2418         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
2419         (WebKit::LayerTreeHostQt::invalidate):
2420         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
2421         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
2422         (WebKit::LayerTreeHostQt::forceRepaint):
2423         (WebKit::LayerTreeHostQt::sizeDidChange):
2424         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
2425         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
2426         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
2427         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
2428         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
2429         (WebKit::LayerTreeHostQt::didDeleteLayer):
2430         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
2431         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
2432         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
2433         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
2434         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
2435         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
2436         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
2437         (WebKit::LayerTreeHostQt::notifySyncRequired):
2438         (WebKit::LayerTreeHostQt::paintContents):
2439         (WebKit::LayerTreeHostQt::showDebugBorders):
2440         (WebKit::LayerTreeHostQt::showRepaintCounter):
2441         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
2442         (WebKit::LayerTreeHostQt::createTile):
2443         (WebKit::LayerTreeHostQt::updateTile):
2444         (WebKit::LayerTreeHostQt::removeTile):
2445         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
2446         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2447         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
2448         (WebKit::LayerTreeHostQt::renderNextFrame):
2449         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
2450 +
2451
2452 2011-10-17  Ada Chan  <adachan@apple.com>
2453
2454         Calling WKPageLoadAlternateHTMLString() where baseURL does not point to a directory causes an invalid message to be returned from WebProcess
2455         https://bugs.webkit.org/show_bug.cgi?id=70168
2456
2457         Reviewed by Alexey Proskuryakov.
2458
2459         * UIProcess/WebProcessProxy.cpp:
2460         (WebKit::WebProcessProxy::assumeReadAccessToBaseURL): Add the file path of url's base URL to m_localPathsWithAssumedReadAccess,
2461         since url may not point to a directory.
2462
2463 2011-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2464
2465         [GTK] Add methods to get/set a custom text enconding to WebKit2 GTK+ API
2466         https://bugs.webkit.org/show_bug.cgi?id=69524
2467
2468         Reviewed by Martin Robinson.
2469
2470         * UIProcess/API/gtk/WebKitWebView.cpp:
2471         (webkit_web_view_get_custom_charset):
2472         (webkit_web_view_set_custom_charset):
2473         * UIProcess/API/gtk/WebKitWebView.h:
2474         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2475         (testWebViewCustomCharset):
2476         (beforeAll):
2477
2478 2011-10-14  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2479
2480         [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
2481         https://bugs.webkit.org/show_bug.cgi?id=69832
2482
2483         Reviewed by Kenneth Rohde Christiansen.
2484
2485         We implement decidePolicyForResponse in our PolicyClient in order to
2486         decide whether a given ResourceResponse should be downloaded or loaded.
2487
2488         * Shared/qt/WebCoreArgumentCodersQt.cpp:
2489         (CoreIPC::::encode):
2490         (CoreIPC::::decode):
2491         Implement serialization of ResourceResponse.
2492
2493         * UIProcess/qt/ClientImpl.cpp:
2494         (qt_wk_decidePolicyForResponse):
2495         * UIProcess/qt/ClientImpl.h:
2496         * UIProcess/qt/QtWebPageProxy.cpp:
2497         (QtWebPageProxy::init):
2498
2499 2011-10-17  Nayan Kumar K  <nayankk@motorola.com>
2500
2501         [WebKit2][gtk] Rename WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL to WEBKIT_POLICY_ERROR_CANNOT_SHOW_URI
2502         https://bugs.webkit.org/show_bug.cgi?id=70040
2503
2504         Reviewed by Martin Robinson.
2505
2506         * UIProcess/API/gtk/WebKitError.cpp:
2507         * UIProcess/API/gtk/WebKitError.h:
2508
2509 2011-10-16  Adam Barth  <abarth@webkit.org>
2510
2511         Always enable ENABLE(DOM_STORAGE)
2512         https://bugs.webkit.org/show_bug.cgi?id=70189
2513
2514         Reviewed by Eric Seidel.
2515
2516         * Configurations/FeatureDefines.xcconfig:
2517         * WebProcess/WebPage/WebPage.cpp:
2518         (WebKit::WebPage::updatePreferences):
2519         * WebProcess/WebProcess.cpp:
2520         (WebKit::WebProcess::initializeWebProcess):
2521
2522 2011-10-15  Adam Barth  <abarth@webkit.org>
2523
2524         Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
2525         https://bugs.webkit.org/show_bug.cgi?id=70194
2526
2527         Reviewed by Daniel Bates.
2528
2529         * Shared/DrawingAreaInfo.h:
2530         * UIProcess/DrawingAreaProxy.h:
2531         * UIProcess/DrawingAreaProxy.messages.in:
2532         * UIProcess/PageClient.h:
2533         * UIProcess/TiledDrawingAreaProxy.cpp:
2534         * UIProcess/TiledDrawingAreaProxy.h:
2535         * UIProcess/WebPageProxy.cpp:
2536         * UIProcess/WebPageProxy.h:
2537         * UIProcess/WebPageProxy.messages.in:
2538         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2539         (WebKit::WebChromeClient::contentsSizeChanged):
2540         * WebProcess/WebCoreSupport/WebChromeClient.h:
2541         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2542         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2543         * WebProcess/WebPage/DrawingArea.cpp:
2544         (WebKit::DrawingArea::create):
2545         * WebProcess/WebPage/DrawingArea.h:
2546         * WebProcess/WebPage/DrawingArea.messages.in:
2547         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
2548         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
2549         * WebProcess/WebPage/TiledDrawingArea.cpp:
2550         * WebProcess/WebPage/TiledDrawingArea.h:
2551         * WebProcess/WebPage/WebPage.cpp:
2552         (WebKit::WebPage::setSize):
2553         * WebProcess/WebPage/WebPage.h:
2554         * WebProcess/WebPage/WebPage.messages.in:
2555
2556 2011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2557
2558         Unreviewed, rolling out r97559.
2559         http://trac.webkit.org/changeset/97559
2560         https://bugs.webkit.org/show_bug.cgi?id=70176
2561
2562         Broke build on Mac (Requested by noamr_ on #webkit).
2563
2564         * DerivedSources.pro:
2565         * Platform/CoreIPC/MessageID.h:
2566         * Scripts/webkit2/messages.py:
2567         * Shared/LayerTreeContext.h:
2568         * Shared/WebLayerTreeInfo.cpp:
2569         (WebKit::WebLayerInfo::encode):
2570         (WebKit::WebLayerInfo::decode):
2571         * Shared/WebLayerTreeInfo.h:
2572         * Shared/qt/LayerTreeContextQt.cpp:
2573         (WebKit::LayerTreeContext::LayerTreeContext):
2574         (WebKit::LayerTreeContext::~LayerTreeContext):
2575         (WebKit::LayerTreeContext::encode):
2576         (WebKit::LayerTreeContext::decode):
2577         (WebKit::LayerTreeContext::isEmpty):
2578         (WebKit::operator==):
2579         * UIProcess/DrawingAreaProxy.cpp:
2580         * UIProcess/DrawingAreaProxy.h:
2581         * UIProcess/DrawingAreaProxyImpl.cpp:
2582         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2583         * UIProcess/DrawingAreaProxyImpl.h:
2584         * UIProcess/LayerTreeHostProxy.h: Removed.
2585         * UIProcess/LayerTreeHostProxy.messages.in: Removed.
2586         * UIProcess/WebPageProxy.cpp:
2587         (WebKit::WebPageProxy::didReceiveMessage):
2588         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
2589         * WebKit2.pro:
2590         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2591         (WebCore::deletedLayerIDs):
2592         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2593         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2594         (WebCore::WebGraphicsLayer::setChildren):
2595         (WebCore::WebGraphicsLayer::addChild):
2596         (WebCore::WebGraphicsLayer::addChildAtIndex):
2597         (WebCore::WebGraphicsLayer::addChildAbove):
2598         (WebCore::WebGraphicsLayer::addChildBelow):
2599         (WebCore::WebGraphicsLayer::replaceChild):
2600         (WebCore::WebGraphicsLayer::removeFromParent):
2601         (WebCore::WebGraphicsLayer::setContentsRect):
2602         (WebCore::WebGraphicsLayer::setContentsToImage):
2603         (WebCore::WebGraphicsLayer::setNeedsDisplay):
2604         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2605         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2606         (WebCore::WebGraphicsLayer::didSynchronize):
2607         (WebCore::WebGraphicsLayer::layerInfo):
2608         (WebCore::WebGraphicsLayer::syncCompositingState):
2609         (WebCore::WebGraphicsLayer::needsDisplayRect):
2610         (WebCore::WebGraphicsLayer::takeLayersToDelete):
2611         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2612         (WebCore::divideIntoTiles):
2613         (WebCore::collectCompositingInfoForThisLayer):
2614         (WebCore::collectCompositingInfoRecursively):
2615         (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
2616         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2617         * WebProcess/WebPage/DrawingArea.h:
2618         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2619         * WebProcess/WebPage/DrawingAreaImpl.h:
2620         * WebProcess/WebPage/LayerTreeHost.cpp:
2621         (WebKit::LayerTreeHost::create):
2622         * WebProcess/WebPage/LayerTreeHost.h:
2623         * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
2624         * WebProcess/WebPage/TiledDrawingArea.cpp:
2625         * WebProcess/WebPage/TiledDrawingArea.h:
2626         * WebProcess/WebPage/WebPage.cpp:
2627         (WebKit::WebPage::didReceiveMessage):
2628         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2629         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
2630
2631 2011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
2632
2633         [Qt][WK2] Synchronize tiling with accelerated compositing
2634         https://bugs.webkit.org/show_bug.cgi?id=69151
2635
2636         Reviewed by Simon Hausmann.
2637
2638         Make the tiled "non-composited" content and the composited layers go through the same
2639         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
2640         content and a seperate layer tree, we put everything in a layer tree, with the non-
2641         composited content being a layer in the tree.
2642
2643         This allows fixing several issues with websites that have large content areas that are
2644         composited or overlap with composited layers.
2645
2646         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
2647         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
2648         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
2649         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
2650         based on TextureMapper, which can be painted directly with OpenGL.
2651
2652         Several optimizations are available for the non-composited layer as well, e.g. specifying
2653         a trajectory and updating the visible rect together with the content scale.
2654
2655         This code is currently disabled, a separate patch will enable it and glue it to
2656         QTouchWebPage.
2657
2658         * DerivedSources.pro:
2659         * Platform/CoreIPC/MessageID.h:
2660         * Scripts/webkit2/messages.py:
2661         * Shared/LayerTreeContext.h:
2662         * Shared/WebLayerTreeInfo.cpp:
2663         (WebKit::WebLayerInfo::encode):
2664         (WebKit::WebLayerInfo::decode):
2665         * Shared/WebLayerTreeInfo.h:
2666         * Shared/qt/LayerTreeContextQt.cpp:
2667         (WebKit::LayerTreeContext::LayerTreeContext):
2668         (WebKit::LayerTreeContext::~LayerTreeContext):
2669         (WebKit::LayerTreeContext::encode):
2670         (WebKit::LayerTreeContext::decode):
2671         (WebKit::LayerTreeContext::isEmpty):
2672         (WebKit::operator==):
2673         * UIProcess/DrawingAreaProxy.cpp:
2674         (WebKit::DrawingAreaProxy::updateWebView):
2675         (WebKit::DrawingAreaProxy::contentsRect):
2676         * UIProcess/DrawingAreaProxy.h:
2677         (WebKit::DrawingAreaProxy::viewportVisibleRect):
2678         (WebKit::DrawingAreaProxy::isBackingStoreReady):
2679         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
2680         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
2681         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
2682         (WebKit::DrawingAreaProxy::createTileForLayer):
2683         (WebKit::DrawingAreaProxy::updateTileForLayer):
2684         (WebKit::DrawingAreaProxy::removeTileForLayer):
2685         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
2686         (WebKit::DrawingAreaProxy::page):
2687         * UIProcess/DrawingAreaProxyImpl.cpp:
2688         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2689         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
2690         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
2691         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
2692         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
2693         * UIProcess/DrawingAreaProxyImpl.h:
2694         * UIProcess/LayerTreeHostProxy.h: Added.
2695         (WebKit::LayerTreeHostProxy::layerByID):
2696         (WebKit::LayerTreeHostProxy::rootLayer):
2697         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
2698         (WebKit::LayerTreeHostProxy::notifySyncRequired):
2699         (WebKit::LayerTreeHostProxy::showDebugBorders):
2700         (WebKit::LayerTreeHostProxy::showRepaintCounter):
2701         (WebKit::LayerTreeHostProxy::paintContents):
2702         * UIProcess/LayerTreeHostProxy.messages.in: Added.
2703         * UIProcess/WebPageProxy.cpp:
2704         (WebKit::WebPageProxy::didReceiveMessage):
2705         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
2706         * WebKit2.pro:
2707         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2708         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2709         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2710         (WebCore::WebGraphicsLayer::setChildren):
2711         (WebCore::WebGraphicsLayer::addChild):
2712         (WebCore::WebGraphicsLayer::addChildAtIndex):
2713         (WebCore::WebGraphicsLayer::addChildAbove):
2714         (WebCore::WebGraphicsLayer::addChildBelow):
2715         (WebCore::WebGraphicsLayer::replaceChild):
2716         (WebCore::WebGraphicsLayer::removeFromParent):
2717         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2718         (WebCore::WebGraphicsLayer::setContentsToImage):
2719         (WebCore::WebGraphicsLayer::setNeedsDisplay):
2720         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2721         (WebCore::WebGraphicsLayer::syncCompositingState):
2722         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2723         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
2724         (WebCore::WebGraphicsLayer::setContentsScale):
2725         (WebCore::WebGraphicsLayer::setRootLayer):
2726         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2727         (WebCore::WebGraphicsLayer::setVisibleContentRect):
2728         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
2729         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
2730         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
2731         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
2732         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
2733         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
2734         (WebCore::WebGraphicsLayer::createTile):
2735         (WebCore::WebGraphicsLayer::updateTile):
2736         (WebCore::WebGraphicsLayer::removeTile):
2737         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
2738         (WebCore::WebGraphicsLayer::layerTreeTileClient):
2739         (WebCore::WebGraphicsLayer::updateContentBuffers):
2740         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2741         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
2742         * WebProcess/WebPage/DrawingArea.h:
2743         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2744         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
2745         * WebProcess/WebPage/DrawingAreaImpl.h:
2746         * WebProcess/WebPage/LayerTreeHost.cpp:
2747         (WebKit::LayerTreeHost::create):
2748         * WebProcess/WebPage/LayerTreeHost.h:
2749         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
2750         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
2751         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
2752         (WebKit::LayerTreeHost::renderNextFrame):
2753         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
2754         * WebProcess/WebPage/TiledDrawingArea.cpp:
2755         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
2756         * WebProcess/WebPage/TiledDrawingArea.h:
2757         * WebProcess/WebPage/WebPage.cpp:
2758         (WebKit::WebPage::didReceiveMessage):
2759         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2760         (WebKit::LayerTreeHostQt::create):
2761         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
2762         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
2763         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
2764         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
2765         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
2766         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
2767         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
2768         (WebKit::LayerTreeHostQt::invalidate):
2769         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
2770         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
2771         (WebKit::LayerTreeHostQt::forceRepaint):
2772         (WebKit::LayerTreeHostQt::sizeDidChange):
2773         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
2774         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
2775         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
2776         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
2777         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
2778         (WebKit::LayerTreeHostQt::didDeleteLayer):
2779         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
2780         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
2781         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
2782         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
2783         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
2784         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
2785         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
2786         (WebKit::LayerTreeHostQt::notifySyncRequired):
2787         (WebKit::LayerTreeHostQt::paintContents):
2788         (WebKit::LayerTreeHostQt::showDebugBorders):
2789         (WebKit::LayerTreeHostQt::showRepaintCounter):
2790         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
2791         (WebKit::LayerTreeHostQt::createTile):
2792         (WebKit::LayerTreeHostQt::updateTile):
2793         (WebKit::LayerTreeHostQt::removeTile):
2794         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
2795         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2796         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
2797         (WebKit::LayerTreeHostQt::renderNextFrame):
2798         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
2799
2800 2011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2801
2802         Unreviewed, rolling out r97549.
2803         http://trac.webkit.org/changeset/97549
2804         https://bugs.webkit.org/show_bug.cgi?id=70174
2805
2806         It broke the SL build (Requested by Ossy_weekend on #webkit).
2807
2808         * DerivedSources.pro:
2809         * Platform/CoreIPC/MessageID.h:
2810         * Scripts/webkit2/messages.py:
2811         * Shared/LayerTreeContext.h:
2812         * Shared/WebLayerTreeInfo.cpp:
2813         (WebKit::WebLayerInfo::encode):
2814         (WebKit::WebLayerInfo::decode):
2815         * Shared/WebLayerTreeInfo.h:
2816         * Shared/qt/LayerTreeContextQt.cpp:
2817         (WebKit::LayerTreeContext::LayerTreeContext):
2818         (WebKit::LayerTreeContext::~LayerTreeContext):
2819         (WebKit::LayerTreeContext::encode):
2820         (WebKit::LayerTreeContext::decode):
2821         (WebKit::LayerTreeContext::isEmpty):
2822         (WebKit::operator==):
2823         * UIProcess/DrawingAreaProxy.cpp:
2824         * UIProcess/DrawingAreaProxy.h:
2825         * UIProcess/DrawingAreaProxyImpl.cpp:
2826         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2827         * UIProcess/DrawingAreaProxyImpl.h:
2828         * UIProcess/LayerTreeHostProxy.h: Removed.
2829         * UIProcess/LayerTreeHostProxy.messages.in: Removed.
2830         * UIProcess/WebPageProxy.cpp:
2831         (WebKit::WebPageProxy::didReceiveMessage):
2832         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
2833         * WebKit2.pro:
2834         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2835         (WebCore::deletedLayerIDs):
2836         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2837         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2838         (WebCore::WebGraphicsLayer::setChildren):
2839         (WebCore::WebGraphicsLayer::addChild):
2840         (WebCore::WebGraphicsLayer::addChildAtIndex):
2841         (WebCore::WebGraphicsLayer::addChildAbove):
2842         (WebCore::WebGraphicsLayer::addChildBelow):
2843         (WebCore::WebGraphicsLayer::replaceChild):
2844         (WebCore::WebGraphicsLayer::removeFromParent):
2845         (WebCore::WebGraphicsLayer::setContentsRect):
2846         (WebCore::WebGraphicsLayer::setContentsToImage):
2847         (WebCore::WebGraphicsLayer::setNeedsDisplay):
2848         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2849         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2850         (WebCore::WebGraphicsLayer::didSynchronize):
2851         (WebCore::WebGraphicsLayer::layerInfo):
2852         (WebCore::WebGraphicsLayer::syncCompositingState):
2853         (WebCore::WebGraphicsLayer::needsDisplayRect):
2854         (WebCore::WebGraphicsLayer::takeLayersToDelete):
2855         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2856         (WebCore::divideIntoTiles):
2857         (WebCore::collectCompositingInfoForThisLayer):
2858         (WebCore::collectCompositingInfoRecursively):
2859         (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
2860         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2861         * WebProcess/WebPage/DrawingArea.h:
2862         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2863         * WebProcess/WebPage/DrawingAreaImpl.h:
2864         * WebProcess/WebPage/LayerTreeHost.cpp:
2865         (WebKit::LayerTreeHost::create):
2866         * WebProcess/WebPage/LayerTreeHost.h:
2867         * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
2868         * WebProcess/WebPage/TiledDrawingArea.cpp:
2869         * WebProcess/WebPage/TiledDrawingArea.h:
2870         * WebProcess/WebPage/WebPage.cpp:
2871         (WebKit::WebPage::didReceiveMessage):
2872         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2873         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
2874
2875 2011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
2876
2877         [Qt][WK2] Synchronize tiling with accelerated compositing
2878         https://bugs.webkit.org/show_bug.cgi?id=69151
2879
2880         Reviewed by Simon Hausmann.
2881
2882         Make the tiled "non-composited" content and the composited layers go through the same
2883         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
2884         content and a seperate layer tree, we put everything in a layer tree, with the non-
2885         composited content being a layer in the tree.
2886
2887         This allows fixing several issues with websites that have large content areas that are
2888         composited or overlap with composited layers.
2889
2890         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
2891         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
2892         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
2893         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
2894         based on TextureMapper, which can be painted directly with OpenGL.
2895
2896         Several optimizations are available for the non-composited layer as well, e.g. specifying
2897         a trajectory and updating the visible rect together with the content scale.
2898
2899         This code is currently disabled, a separate patch will enable it and glue it to
2900         QTouchWebPage.
2901
2902         * DerivedSources.pro:
2903         * Platform/CoreIPC/MessageID.h:
2904         * Scripts/webkit2/messages.py:
2905         * Shared/LayerTreeContext.h:
2906         * Shared/WebLayerTreeInfo.cpp:
2907         (WebKit::WebLayerInfo::encode):
2908         (WebKit::WebLayerInfo::decode):
2909         * Shared/WebLayerTreeInfo.h:
2910         * Shared/qt/LayerTreeContextQt.cpp:
2911         (WebKit::LayerTreeContext::LayerTreeContext):
2912         (WebKit::LayerTreeContext::~LayerTreeContext):
2913         (WebKit::LayerTreeContext::encode):
2914         (WebKit::LayerTreeContext::decode):
2915         (WebKit::LayerTreeContext::isEmpty):
2916         (WebKit::operator==):
2917         * UIProcess/DrawingAreaProxy.cpp:
2918         (WebKit::DrawingAreaProxy::updateWebView):
2919         (WebKit::DrawingAreaProxy::contentsRect):
2920         * UIProcess/DrawingAreaProxy.h:
2921         (WebKit::DrawingAreaProxy::viewportVisibleRect):
2922         (WebKit::DrawingAreaProxy::isBackingStoreReady):
2923         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
2924         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
2925         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
2926         (WebKit::DrawingAreaProxy::createTileForLayer):
2927         (WebKit::DrawingAreaProxy::updateTileForLayer):
2928         (WebKit::DrawingAreaProxy::removeTileForLayer):
2929         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
2930         (WebKit::DrawingAreaProxy::page):
2931         * UIProcess/DrawingAreaProxyImpl.cpp:
2932         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2933         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
2934         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
2935         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
2936         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
2937         * UIProcess/DrawingAreaProxyImpl.h:
2938         * UIProcess/LayerTreeHostProxy.h: Added.
2939         (WebKit::LayerTreeHostProxy::layerByID):
2940         (WebKit::LayerTreeHostProxy::rootLayer):
2941         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
2942         (WebKit::LayerTreeHostProxy::notifySyncRequired):
2943         (WebKit::LayerTreeHostProxy::showDebugBorders):
2944         (WebKit::LayerTreeHostProxy::showRepaintCounter):
2945         (WebKit::LayerTreeHostProxy::paintContents):
2946         * UIProcess/LayerTreeHostProxy.messages.in: Added.
2947         * UIProcess/WebPageProxy.cpp:
2948         (WebKit::WebPageProxy::didReceiveMessage):
2949         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
2950         * WebKit2.pro:
2951         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2952         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2953         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2954         (WebCore::WebGraphicsLayer::setChildren):
2955         (WebCore::WebGraphicsLayer::addChild):
2956         (WebCore::WebGraphicsLayer::addChildAtIndex):
2957         (WebCore::WebGraphicsLayer::addChildAbove):
2958         (WebCore::WebGraphicsLayer::addChildBelow):
2959         (WebCore::WebGraphicsLayer::replaceChild):
2960         (WebCore::WebGraphicsLayer::removeFromParent):
2961         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2962         (WebCore::WebGraphicsLayer::setContentsToImage):
2963         (WebCore::WebGraphicsLayer::setNeedsDisplay):
2964         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2965         (WebCore::WebGraphicsLayer::syncCompositingState):
2966         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2967         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
2968         (WebCore::WebGraphicsLayer::setContentsScale):
2969         (WebCore::WebGraphicsLayer::setRootLayer):
2970         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2971         (WebCore::WebGraphicsLayer::setVisibleContentRect):
2972         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
2973         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
2974         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
2975         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
2976         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
2977         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
2978         (WebCore::WebGraphicsLayer::createTile):
2979         (WebCore::WebGraphicsLayer::updateTile):
2980         (WebCore::WebGraphicsLayer::removeTile):
2981         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
2982         (WebCore::WebGraphicsLayer::layerTreeTileClient):
2983         (WebCore::WebGraphicsLayer::updateContentBuffers):
2984         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2985         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
2986         * WebProcess/WebPage/DrawingArea.h:
2987         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2988         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
2989         * WebProcess/WebPage/DrawingAreaImpl.h:
2990         * WebProcess/WebPage/LayerTreeHost.cpp:
2991         (WebKit::LayerTreeHost::create):
2992         * WebProcess/WebPage/LayerTreeHost.h:
2993         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
2994         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
2995         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
2996         (WebKit::LayerTreeHost::renderNextFrame):
2997         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
2998         * WebProcess/WebPage/TiledDrawingArea.cpp:
2999         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
3000         * WebProcess/WebPage/TiledDrawingArea.h:
3001         * WebProcess/WebPage/WebPage.cpp:
3002         (WebKit::WebPage::didReceiveMessage):
3003         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3004         (WebKit::LayerTreeHostQt::create):
3005         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
3006         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
3007         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
3008         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
3009         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
3010         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
3011         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
3012         (WebKit::LayerTreeHostQt::invalidate):
3013         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
3014         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
3015         (WebKit::LayerTreeHostQt::forceRepaint):
3016         (WebKit::LayerTreeHostQt::sizeDidChange):
3017         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
3018         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
3019         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
3020         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
3021         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
3022         (WebKit::LayerTreeHostQt::didDeleteLayer):
3023         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
3024         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
3025         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
3026         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
3027         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
3028         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
3029         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
3030         (WebKit::LayerTreeHostQt::notifySyncRequired):
3031         (WebKit::LayerTreeHostQt::paintContents):
3032         (WebKit::LayerTreeHostQt::showDebugBorders):
3033         (WebKit::LayerTreeHostQt::showRepaintCounter):
3034         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
3035         (WebKit::LayerTreeHostQt::createTile):
3036         (WebKit::LayerTreeHostQt::updateTile):
3037         (WebKit::LayerTreeHostQt::removeTile):
3038         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
3039         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
3040         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
3041         (WebKit::LayerTreeHostQt::renderNextFrame):
3042         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
3043
3044 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
3045
3046         Rename getOwnPropertySlot to getOwnPropertySlotVirtual
3047         https://bugs.webkit.org/show_bug.cgi?id=69810
3048
3049         Reviewed by Geoffrey Garen.
3050
3051         Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
3052         in preparation for when we add the static getOwnPropertySlot to the MethodTable 
3053         in ClassInfo.
3054
3055         Also added a few static getOwnPropertySlot functions where they had been overlooked 
3056         before (especially in CodeGeneratorJS.pm).
3057
3058         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3059         (WebKit::JSNPObject::getOwnPropertySlotVirtual):
3060         * WebProcess/Plugins/Netscape/JSNPObject.h:
3061
3062 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
3063
3064         Rename virtual put to putVirtual
3065         https://bugs.webkit.org/show_bug.cgi?id=69851
3066
3067         Reviewed by Darin Adler.
3068
3069         Renamed virtual versions of put to putVirtual in prepration for 
3070         adding the static put to the MethodTable in ClassInfo since the 
3071         compiler gets mad if the virtual and static versions have the same 
3072         name.
3073
3074         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3075         (WebKit::JSNPObject::putVirtual):
3076         (WebKit::JSNPObject::put):
3077         * WebProcess/Plugins/Netscape/JSNPObject.h:
3078         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
3079         (WebKit::NPJSObject::setProperty):
3080
3081 2011-10-14  Jeff Miller  <jeffm@apple.com>
3082
3083         InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
3084         https://bugs.webkit.org/show_bug.cgi?id=69963
3085         
3086         WebKit2 clients only have knowledge of the WKView's coordinate system, they have no way to
3087         convert from subframe view coordinates , so any rect that we expose through WK2 APIs should
3088         be in WKView coordinates.
3089         
3090         Reviewed by Simon Fraser.
3091
3092         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
3093         (WebKit::InjectedBundleHitTestResult::imageRect): Use WebCore::FrameView::contentsToRootView() to convert the image rect to WKView coordinates.
3094
3095 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
3096
3097         Rename virtual deleteProperty to deletePropertyVirtual
3098         https://bugs.webkit.org/show_bug.cgi?id=69884
3099
3100         Reviewed by Darin Adler.
3101
3102         Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 
3103         adding the static deleteProperty to the MethodTable in ClassInfo since the 
3104         compiler gets mad if the virtual and static versions have the same name.
3105
3106         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3107         (WebKit::JSNPObject::deletePropertyVirtual):
3108         (WebKit::JSNPObject::deleteProperty):
3109         * WebProcess/Plugins/Netscape/JSNPObject.h:
3110         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
3111         (WebKit::NPJSObject::removeProperty):
3112
3113 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
3114
3115         [WebKit2][gtk] Add documentation for WebKitPluginError and WebKitPolicyError.
3116         https://bugs.webkit.org/show_bug.cgi?id=70016
3117
3118         Reviewed by Martin Robinson.
3119
3120         * UIProcess/API/gtk/WebKitError.h:
3121
3122 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
3123
3124         [WebKit2][gtk] Skip TestWebKitSettings test.
3125         https://bugs.webkit.org/show_bug.cgi?id=70129
3126
3127         Reviewed by Martin Robinson.
3128
3129         Skip running TestWebKitSettings test till a bug
3130         https://bugs.webkit.org/show_bug.cgi?id=70127 gets fixed.
3131
3132         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3133         (testWebKitSettings): Skip TestWebKitSettings test.
3134
3135 2011-10-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3136
3137         Unreviewed, rolling out r97375.
3138         http://trac.webkit.org/changeset/97375
3139         https://bugs.webkit.org/show_bug.cgi?id=70115
3140
3141         It breaks loading of webpages in QtWebKit2 (Requested by jeez_
3142         on #webkit).
3143
3144         * UIProcess/qt/ClientImpl.cpp:
3145         (qt_wk_decidePolicyForNavigationAction):
3146         * UIProcess/qt/ClientImpl.h:
3147         * UIProcess/qt/QtWebPageProxy.cpp:
3148         (QtWebPageProxy::init):
3149
3150 2011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
3151
3152         Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
3153         https://bugs.webkit.org/show_bug.cgi?id=69964
3154
3155         Reviewed by Enrica Casucci.
3156
3157         * WebProcess/WebPage/mac/WebPageMac.mm:
3158         (WebKit::WebPage::getMarkedRange):
3159         (WebKit::WebPage::getSelectedRange):
3160         (WebKit::WebPage::characterIndexForPoint):
3161         (WebKit::convertToRange):
3162
3163 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
3164
3165         [GTK] r97438: Inconsistent use of flattening vs flattering in function names/comments
3166         https://bugs.webkit.org/show_bug.cgi?id=70092
3167
3168         Reviewed by Martin Robinson.
3169
3170         Fixes the miss-spelling of 'PROP_ENABLE_FRAME_FLATTENING' as 'PROP_ENABLE_FRAME_FLATTERING'
3171         introduced with change set r97438.
3172
3173         * UIProcess/API/gtk/WebKitSettings.cpp:
3174         (webKitSettingsSetProperty): Property name correction.
3175         (webKitSettingsGetProperty): Property name correction.
3176         (webkit_settings_class_init): Property name correction.
3177         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3178         (testWebKitSettings): Spelling correction.
3179
3180 2011-10-14  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
3181
3182         [Qt] enable qmltests for qt5
3183         https://bugs.webkit.org/show_bug.cgi?id=70037
3184
3185         Reviewed by Chang Shu.
3186
3187         Qml tests seem to be disabled for some reason. This patch enables the tests by including qmltests to SUBDIRS.
3188
3189         * UIProcess/API/qt/tests/tests.pro:
3190
3191 2011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3192
3193         Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
3194         https://bugs.webkit.org/show_bug.cgi?id=66134
3195
3196         Unreviewed build fix after r97462.
3197
3198         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3199         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3200
3201 2011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3202
3203         Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
3204         https://bugs.webkit.org/show_bug.cgi?id=66134
3205
3206         Reviewed by Simon Hausmann.
3207
3208         Do the resize to contents on the web process side.
3209
3210         Based on patch by Zalan Bujtas.
3211
3212         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3213         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3214         * WebProcess/WebPage/WebPage.cpp:
3215         (WebKit::WebPage::setSize):
3216         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
3217         (WebKit::WebPage::resizeToContentsIfNeeded):
3218         * WebProcess/WebPage/WebPage.h:
3219
3220 2011-10-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3221
3222         [GTK] Build is broken with new ld
3223         https://bugs.webkit.org/show_bug.cgi?id=70097
3224
3225         Reviewed by Philippe Normand.
3226
3227         * UIProcess/API/gtk/tests/GNUmakefile.am:
3228
3229 2011-10-12  Simon Hausmann  <simon.hausmann@nokia.com>
3230
3231         [Qt][WK2] Fix build after QSGItem API changes
3232         https://bugs.webkit.org/show_bug.cgi?id=69926
3233
3234         Reviewed by Kenneth Rohde Christiansen.
3235
3236         Commit c825865cdd88445aa1db94cdf0da89426919acdb in qtdeclarative changed the
3237         signatures of the Drag & Drop event handlers in QSGItem. The SG specific events
3238         were replaced with the plain QDrag* events, which are now used for widgets as well
3239         as the Qt scene graph.
3240
3241         This patch adapts the desktop webview as well as the page proxy to handle these
3242         kind of events.
3243
3244         * UIProcess/API/qt/qdesktopwebview.cpp:
3245         (QDesktopWebView::dragMoveEvent):
3246         (QDesktopWebView::dragEnterEvent):
3247         (QDesktopWebView::dragLeaveEvent):
3248         (QDesktopWebView::dropEvent):
3249         * UIProcess/API/qt/qdesktopwebview.h:
3250         * UIProcess/qt/qdesktopwebpageproxy.cpp:
3251         (QDesktopWebPageProxy::handleEvent):
3252         (QDesktopWebPageProxy::handleDragEnterEvent):
3253         (QDesktopWebPageProxy::handleDragLeaveEvent):
3254         (QDesktopWebPageProxy::handleDragMoveEvent):
3255         (QDesktopWebPageProxy::handleDropEvent):
3256         * UIProcess/qt/qdesktopwebpageproxy.h:
3257
3258 2011-10-13  Nayan Kumar K  <nayankk@motorola.com>
3259
3260         [GTK][WEBKIT2] Add WebKitSettings GTK+ API.
3261         https://bugs.webkit.org/show_bug.cgi?id=68371
3262
3263         Reviewed by Martin Robinson.
3264
3265         WebKitSettings GTK+ object is created and first set of
3266         API's are written to get or set the properties of WebKitSettings.
3267
3268         * GNUmakefile.am: Added new files for compilation.
3269         * UIProcess/API/gtk/WebKitSettings.cpp: Added.
3270         (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Constructor.
3271         (webKitSettingsSetProperty): Set property function.
3272         (webKitSettingsGetProperty): Get property function.
3273         (webKitSettingsFinalize): Class finalize function.
3274         (webkit_settings_class_init): Class init function.
3275         (webkit_settings_init): Instance init function.
3276         (webkit_settings_new): Creates WebKitSettings GObject.
3277         (webkit_settings_get_enable_javascript): Function to get 'enable-javascript' property.
3278         (webkit_settings_set_enable_javascript): Function to set 'enable-javascript' property.
3279         (webkit_settings_get_auto_load_images): Get the 'auto-load-images' property.
3280         (webkit_settings_set_auto_load_images): Set the 'auto-load-images' property.
3281         (webkit_settings_get_load_icons_ignoring_image_load_setting): Function to get
3282         'load-icons-ignoring-image-load-setting' property.
3283         (webkit_settings_set_load_icons_ignoring_image_load_setting): Function to set
3284         'load-icons-ignoring-image-load-setting' property.
3285         (webkit_settings_get_enable_offline_web_application_cache): Function to get
3286         'enable-offline-web-application-cache' property.
3287         (webkit_settings_set_enable_offline_web_application_cache): Function to set
3288         'enable-offline-web-application-cache' property.
3289         (webkit_settings_get_enable_html5_local_storage): Get the property 'enable-html5-local-storage'.
3290         (webkit_settings_set_enable_html5_local_storage): Set the property 'enable-html5-local-storage'.
3291         (webkit_settings_get_enable_html5_database): Get the property 'enable-html5-database'.
3292         (webkit_settings_set_enable_html5_database): Set the property 'enable-html5-database'.
3293         (webkit_settings_get_enable_xss_auditor): Get property 'enable-xss-editor'.
3294         (webkit_settings_set_enable_xss_auditor): Set property 'enable-xss-editor'.
3295         (webkit_settings_get_enable_frame_flattening): Get the property 'enable-frame-flattening'.
3296         (webkit_settings_set_enable_frame_flattening): Set the property 'enable-frame-flattening'.
3297         (webkit_settings_get_enable_plugins): Get the property 'enable-plugins'.
3298         (webkit_settings_set_enable_plugins): Set the property 'enable-plugins'.
3299         (webkit_settings_get_enable_java): Function to get 'enable-java' property.
3300         (webkit_settings_set_enable_java): Function to set 'enable-java' property.
3301         (webkit_settings_get_javascript_can_open_windows_automatically): Get the property
3302         'javascript-can-open-windows-automatically'.
3303         (webkit_settings_set_javascript_can_open_windows_automatically): Set the property
3304         'javascript-can-open-windows-automatically'.
3305         (webkit_settings_get_enable_hyperlink_auditing): Get 'enable-hyperlink-auditing' property.
3306         (webkit_settings_set_enable_hyperlink_auditing): Set 'enable-hyperlink-auditing' property.
3307         * UIProcess/API/gtk/WebKitSettings.h: Added. Public API's.
3308         * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test.
3309         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Added.
3310         (testWebKitSettings): Add WebKitSetting unit test.
3311         (beforeAll): Pre-test function.
3312         (afterAll): Post-test function.
3313         * UIProcess/API/gtk/webkit2.h: Add WebKitSettings.h to exposed API list.
3314
3315 2011-10-13  Mark Hahnenberg  <mhahnenberg@apple.com>
3316
3317         Rename virtual getConstructData to getConstructDataVirtual
3318         https://bugs.webkit.org/show_bug.cgi?id=69872
3319
3320         Reviewed by Geoffrey Garen.
3321
3322         Renamed virtual getConstructData functions to getConstructDataVirtual to 
3323         avoid conflicts when we add static getConstructData to the MethodTable.
3324
3325         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3326         (WebKit::JSNPObject::getConstructDataVirtual):
3327         * WebProcess/Plugins/Netscape/JSNPObject.h:
3328
3329 2011-10-13  Sam Weinig  <sam@webkit.org>
3330
3331         Another SnowLeopard build fix.
3332
3333         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3334         (WebKit::cachedImage):
3335         (WebKit::WebDragClient::declareAndWriteDragImage):
3336         (-[WKPasteboardOwner initWithImage:WebCore::]):
3337
3338 2011-10-13  Sam Weinig  <sam@webkit.org>
3339
3340         Fix SnowLeopard build.
3341
3342         * UIProcess/WebPageProxy.cpp:
3343         (WebKit::WebPageProxy::setCursor):
3344         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3345
3346 2011-10-13  Alexey Proskuryakov  <ap@apple.com>
3347
3348         [Mac] PDF Documents at epo.org look very blurry
3349         https://bugs.webkit.org/show_bug.cgi?id=70072
3350
3351         Reviewed by Dan Bernstein.
3352
3353         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
3354         Ensure integral coordinates. <rdar://problem/10283382> tracks lifting this limitation.
3355
3356 2011-10-13  Alexey Proskuryakov  <ap@apple.com>
3357
3358         [Mac] Wheel event handler counter is incorrect with PDF views
3359         https://bugs.webkit.org/show_bug.cgi?id=70062
3360
3361         Reviewed by Dan Bernstein.
3362
3363         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3364         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3365         (WebKit::BuiltInPDFView::didAddVerticalScrollbar): Added forgotten override for vertical case.
3366         (WebKit::BuiltInPDFView::willRemoveVerticalScrollbar): Ditto.
3367         (WebKit::BuiltInPDFView::createScrollbar): Notify self, do not make a shortcut to ScrollAnimator.
3368         (WebKit::BuiltInPDFView::destroyScrollbar): Ditto.
3369         (WebKit::BuiltInPDFView::destroy): Actually destroy the scrollbars.
3370
3371 2011-10-12  Chris Marrin  <cmarrin@apple.com>
3372
3373         Sync requestAnimationFrame callback to CVDisplayLink on Mac
3374         https://bugs.webkit.org/show_bug.cgi?id=68911
3375
3376         Reviewed by Simon Fraser.
3377
3378         Add windowDidChangeScreen function which listens for the window changing
3379         screens and passes the new displayID along to WebCore::Page. It also sends
3380         one on windowDidBecomeKey, so the Page has a fresh displayID after it's
3381         created. Event is generated in the UIProcess and then sent over to the
3382         WebProcess, which actually sends it to WebCore::Page.
3383
3384         * UIProcess/API/mac/WKView.mm:
3385         (-[WKView addWindowObserversForWindow:]):
3386         (-[WKView removeWindowObservers]):
3387         (-[WKView _windowDidChangeScreen:]):
3388         (-[WKView _windowDidBecomeKey:]):
3389         * UIProcess/WebPageProxy.cpp:
3390         (WebKit::WebPageProxy::windowScreenDidChange):
3391         * UIProcess/WebPageProxy.h:
3392         * WebProcess/WebPage/WebPage.cpp:
3393         (WebKit::WebPage::windowScreenDidChange):
3394         * WebProcess/WebPage/WebPage.h:
3395         * WebProcess/WebPage/WebPage.messages.in:
3396
3397 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3398
3399         [Qt][WK2] WebErrorsQt.cpp duplicates code from WKError.h and WebError.h
3400         https://bugs.webkit.org/show_bug.cgi?id=70053
3401
3402         Reviewed by Kenneth Rohde Christiansen.
3403
3404         Now we will be aligned with WKError.h and WebError.h by using the shared
3405         and pre-defined enum for error codes and WebError::webkitErrorDomain().
3406
3407         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
3408         (WebKit::blockedError):
3409         (WebKit::cannotShowURLError):
3410         (WebKit::interruptedForPolicyChangeError):
3411         (WebKit::cannotShowMIMETypeError):
3412         (WebKit::pluginWillHandleLoadError):
3413
3414 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3415
3416         [Qt][WK2] WebViews are emitting loadFailed for "private" error codes
3417         https://bugs.webkit.org/show_bug.cgi?id=70047
3418
3419         Reviewed by Kenneth Rohde Christiansen.
3420
3421         Both QDesktopWebView and QTouchWebView are emitting loadFailed for private errors
3422         like the ones defined in Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp.
3423
3424         We now filter these by not emitting this signal for FrameLoadInterruptedByPolicyChange,
3425         PlugInWillHandleLoad and Cancellation, following previous decisions from WebKit 1.
3426
3427         * UIProcess/qt/ClientImpl.cpp:
3428         (dispatchLoadFailed):
3429
3430 2011-10-13  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
3431
3432         Implement TextChecker for WebKit2 GTK+
3433         https://bugs.webkit.org/show_bug.cgi?id=68548
3434
3435         Reviewed by Anders Carlsson.
3436
3437         Added implementation for all functions in TextCheckerGtk.cpp removing earlier stubbed implementations.
3438         Moved couple of API earlier specific to win port to common section and added stubbed implementation
3439         of the same for remaining ports of Qt, Efl and Mac.
3440
3441         * GNUmakefile.am: Added TextChecker implementation files.
3442         * UIProcess/TextChecker.h: Moved spellCheckingEnabled and grammarCheckingEnabled API outside of win port.
3443         * UIProcess/efl/TextCheckerEfl.cpp: Stubbed implementation of API which was moved outside win port.
3444         * UIProcess/gtk/TextCheckerGtk.cpp: Implementation of all TextChecker API.
3445         (WebKit::TextChecker::state):
3446         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
3447         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
3448         (WebKit::TextChecker::setGrammarCheckingEnabled):
3449         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
3450         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
3451         (WebKit::TextChecker::uniqueSpellDocumentTag):
3452         (WebKit::TextChecker::closeSpellDocumentWithTag):
3453         (WebKit::TextChecker::checkSpellingOfString):
3454         (WebKit::TextChecker::checkGrammarOfString):
3455         (WebKit::TextChecker::spellingUIIsShowing):
3456         (WebKit::TextChecker::toggleSpellingUIIsShowing):
3457         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
3458         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
3459         (WebKit::TextChecker::getGuessesForWord):
3460         (WebKit::TextChecker::learnWord):
3461         (WebKit::TextChecker::ignoreWord):
3462         * UIProcess/mac/TextCheckerMac.mm: Implementation of API which was moved outside win port.
3463         * UIProcess/qt/TextCheckerQt.cpp: Stubbed implementation of API which was moved outside win port.
3464
3465 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3466
3467         [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
3468         https://bugs.webkit.org/show_bug.cgi?id=69832
3469
3470         Reviewed by Kenneth Rohde Christiansen.
3471
3472         We implement decidePolicyForResponse in our PolicyClient in order to
3473         decide whether a given ResourceResponse should be downloaded or loaded.
3474
3475         * UIProcess/qt/ClientImpl.cpp:
3476         (qt_wk_decidePolicyForResponse):
3477         * UIProcess/qt/ClientImpl.h:
3478         * UIProcess/qt/QtWebPageProxy.cpp:
3479         (QtWebPageProxy::init):
3480
3481 2011-10-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3482
3483         [GTK] Add WebKitTestServer class to WebKit2 GTK+ unit tests library
3484         https://bugs.webkit.org/show_bug.cgi?id=70010
3485
3486         Reviewed by Martin Robinson.
3487
3488         With this class tests using a soup server only need to implement
3489         the soup server callback.
3490
3491         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
3492         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Use WebKitTestServer.
3493         (testLoadingStatus):
3494         (testLoadingError):
3495         (testLoadAlternateContent):
3496         (testWebViewReload):
3497         (testLoadProgress):
3498         (beforeAll):
3499         (afterAll):
3500         * UIProcess/API/gtk/tests/WebKitTestServer.cpp: Added.
3501         (WebKitTestServer::WebKitTestServer):
3502         (WebKitTestServer::~WebKitTestServer):
3503         (WebKitTestServer::run): Run the soup server and adds the given
3504         soup server callback to handle requests.
3505         (WebKitTestServer::getURIForPath): Returns the server absolute URI
3506         for the given relative path.
3507         * UIProcess/API/gtk/tests/WebKitTestServer.h: Added.
3508         (WebKitTestServer::baseURI):
3509
3510 2011-10-13  Nayan Kumar K  <nayankk@motorola.com>
3511
3512         [WebKit2][gtk] Fix warnings while generating WebKit2-GTK+ documentation.
3513         https://bugs.webkit.org/show_bug.cgi?id=69928
3514
3515         Reviewed by Philippe Normand.
3516
3517         Patch fixes the warnings reported by gtk-doc while generating
3518         WebKit2-GTK+ documentation.
3519
3520         * UIProcess/API/gtk/WebKitWebContext.h: Correct the documentation comment.
3521         * UIProcess/API/gtk/WebKitWebView.cpp: Parameter name correction.
3522
3523 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
3524
3525         Pass Parsed Accept Attribute MIME Types to WebKit Clients
3526         https://bugs.webkit.org/show_bug.cgi?id=69598
3527
3528         Reviewed by David Kilzer.
3529
3530         * Shared/WebCoreArgumentCoders.cpp:
3531         (CoreIPC::::encode):
3532         (CoreIPC::::decode):
3533
3534 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
3535
3536         Pass Parsed Accept Attribute MIME Types to WebKit Clients
3537         https://bugs.webkit.org/show_bug.cgi?id=69598
3538
3539         Reviewed by Anders Carlsson.
3540
3541         The WebOpenPanelParameters::Data struct was a mirror of
3542         the already existing WebCore::FileChooserSettings struct.
3543         So eliminate the excess struct and generate default
3544         WebCore coders for the WebCore::FileChooserSettings struct.
3545
3546         * Scripts/webkit2/messages.py:
3547         Switch to the new type. FileChooserSetting's header needs
3548         to be special cased to FileChooser.h.
3549
3550         * Shared/WebCoreArgumentCoders.h:
3551         * Shared/WebCoreArgumentCoders.cpp:
3552         (CoreIPC::::encode):
3553         (CoreIPC::::decode):
3554         Encode and decode all, non-deprecated, values. So we
3555         ignore deprecatedAcceptTypes. A follow-up patch will add it.
3556
3557         * Shared/WebOpenPanelParameters.cpp:
3558         (WebKit::WebOpenPanelParameters::create):
3559         (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
3560         Switch to the new type.
3561
3562         * Shared/WebOpenPanelParameters.h:
3563         (WebKit::WebOpenPanelParameters::allowMultipleFiles):
3564         (WebKit::WebOpenPanelParameters::selectedFileNames):
3565         FileChooserSettings had different property names.
3566
3567         * UIProcess/WebPageProxy.cpp:
3568         (WebKit::WebPageProxy::runOpenPanel):
3569         Generate the WebOpenPanelParameters object here, before
3570         passing into the WebUIClient. This seems to be the convention
3571         to not have WebCore types in WebUIClient.
3572
3573         * UIProcess/WebPageProxy.h:
3574         * UIProcess/WebPageProxy.messages.in:
3575         * UIProcess/WebUIClient.cpp:
3576         (WebKit::WebUIClient::runOpenPanel):
3577         * UIProcess/WebUIClient.h:
3578         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3579         (WebKit::WebChromeClient::runOpenPanel):
3580         Switch to the new type.
3581
3582 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
3583
3584         Pass Parsed Accept Attribute MIME Types to WebKit Clients
3585         https://bugs.webkit.org/show_bug.cgi?id=69598
3586
3587         Reviewed by Kent Tamura.
3588
3589         Switch to deprecated for now, but the next patches will
3590         remove the deprecated version from the WebKit2 path.
3591
3592         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3593         (WebKit::WebChromeClient::runOpenPanel):
3594
3595 2011-10-12  Adam Barth  <abarth@webkit.org>
3596
3597         Remove ENABLE(XHTMLMP) and associated code
3598         https://bugs.webkit.org/show_bug.cgi?id=69729
3599
3600         Reviewed by David Levin.
3601
3602         * Configurations/FeatureDefines.xcconfig:
3603
3604 2011-10-12  Dan Bernstein  <mitz@apple.com>
3605
3606         Hang beneath PluginProcessProxy::createPropertyListFile() when using a thin build
3607         https://bugs.webkit.org/show_bug.cgi?id=69960
3608
3609         Reviewed by Adam Roben.
3610
3611         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3612         (WebKit::PluginProcessProxy::createPropertyListFile): Check for any non-zero return value
3613         from posix_spawn() rather than for a negative return value. The old, incorrect check, caused
3614         this function to hang in waitpid() after failing to spawn a plug-in process for a 32-bit plug-in
3615         when WebKit2 was built for 64-bit only.
3616
3617 2011-10-12  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3618
3619         [Qt][WK2] Move qweberror* out of API/qt
3620         https://bugs.webkit.org/show_bug.cgi?id=69875
3621
3622         Reviewed by Andreas Kling.
3623
3624         Moving QWebError outside API/qt in order to keep our API folder (layer) aligned.
3625
3626         * UIProcess/qt/qweberror.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.cpp.
3627         (QWebError::QWebError):
3628         (QWebErrorPrivate::createQWebError):
3629         (QWebErrorPrivate::QWebErrorPrivate):
3630         (QWebErrorPrivate::~QWebErrorPrivate):
3631         (QWebError::type):
3632         (QWebError::errorCode):
3633         (QWebError::url):
3634         * UIProcess/qt/qweberror.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.h.
3635         (QWebError::errorCodeAsHttpStatusCode):
3636         (QWebError::errorCodeAsNetworkError):
3637         * UIProcess/qt/qweberror_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror_p.h.
3638         * WebKit2.pro:
3639         * WebKit2API.pri:
3640
3641 2011-10-12  Nayan Kumar K  <nayankk@motorola.com>
3642
3643         [WebKit2][gtk] Add few more API's to gtk-doc section file.
3644         https://bugs.webkit.org/show_bug.cgi?id=69921
3645
3646         Reviewed by Gustavo Noronha Silva.
3647
3648         Generate documentation for existing WebKit2-GTK+ API's,
3649         which are not yet the part of gtk-doc documentation.
3650
3651         * UIProcess/API/gtk/docs/GNUmakefile.am: List ignore files.
3652         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: API's addition.
3653
3654 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
3655
3656         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
3657         https://bugs.webkit.org/show_bug.cgi?id=68134
3658
3659         Reviewed by Darin Adler.
3660
3661         Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled.
3662         
3663         Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method
3664         that reads the setting, and returns the mock theme if set. All callers now use
3665         theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build.
3666
3667         * UIProcess/win/WebPopupMenuProxyWin.cpp:
3668         (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
3669         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3670         (WebKit::BuiltInPDFView::paintControls):
3671         * WebProcess/WebPage/PageOverlay.cpp:
3672         (WebKit::PageOverlay::bounds):
3673
3674 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
3675
3676         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
3677         https://bugs.webkit.org/show_bug.cgi?id=68134
3678
3679         Reviewed by Darin Adler.
3680
3681         ScrollbarTheme::nativeTheme() renamed to theme().
3682
3683         * WebProcess/WebPage/PageOverlay.cpp:
3684         (WebKit::PageOverlay::bounds):
3685
3686 2011-10-10  Martin Robinson  <mrobinson@igalia.com>
3687
3688         [GTK] [WebKit2] Make adding another unit test easier
3689         https://bugs.webkit.org/show_bug.cgi?id=69409
3690
3691         Reviewed by Gustavo Noronha Silva.
3692
3693         * GNUmakefile.am: Add the new WebKit2 API tests.
3694         * UIProcess/API/gtk/tests/GNUmakefile.am: Added.
3695         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Added. A fixture for creating load tracking tests.
3696         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added.
3697         * UIProcess/API/gtk/tests/TestMain.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
3698         (main):
3699         * UIProcess/API/gtk/tests/TestMain.h: Added.
3700         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
3701         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Added.
3702         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
3703         * UIProcess/API/gtk/tests/WebViewTest.cpp: Added. A fixture for generic WebView tests.
3704         * UIProcess/API/gtk/tests/WebViewTest.h: Added.
3705         * UIProcess/API/gtk/tests/testloading.c: Removed.
3706         * UIProcess/API/gtk/tests/testwebcontext.c: Removed.
3707
3708 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
3709
3710         [Mac] Crash when opening an embedded PDF in a background tab
3711         https://bugs.webkit.org/show_bug.cgi?id=69880
3712
3713         Reviewed by Darin Adler.
3714
3715         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3716         (WebKit::BuiltInPDFView::BuiltInPDFView):
3717         (WebKit::BuiltInPDFView::~BuiltInPDFView):
3718         (WebKit::BuiltInPDFView::initialize):
3719         (WebKit::BuiltInPDFView::destroy):
3720         Moved initialization and destruction code from C++ constructor and destructor to designated
3721         functions. Not part of the fix, but seems related enough to fix.
3722
3723 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
3724
3725         [Mac] Crash when opening an embedded PDF in a background tab
3726         https://bugs.webkit.org/show_bug.cgi?id=69880
3727
3728         Reviewed by Darin Adler.
3729
3730         * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Don't call plug-in that
3731         doesn't even have a controller yet.
3732
3733 2011-10-11  Beth Dakin  <bdakin@apple.com>
3734
3735         https://bugs.webkit.org/show_bug.cgi?id=69874
3736         WebKit2 snapshot APIs should take the device scale factor into account 
3737         -and corresponding-
3738         <rdar://problem/10269112>
3739
3740         Reviewed by Darin Adler.
3741
3742         Add the deviceScaleFactor as a scale on the snapshot's context to create a 
3743         snapshot of the appropriate resolution. This matches the manner in which we scale 
3744         the context in DrawingAreaImpl::display().
3745         * WebProcess/WebPage/WebPage.cpp:
3746         (WebKit::WebPage::snapshotInViewCoordinates):
3747         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
3748
3749 2011-10-11  W. James MacLean  <wjmaclean@chromium.org>
3750
3751         Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
3752         https://bugs.webkit.org/show_bug.cgi?id=69739
3753
3754         Change 'double' parameters to 'float' to match changes in FrameView.
3755
3756         Reviewed by Simon Fraser.
3757
3758         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3759         (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
3760
3761 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
3762
3763         [Mac] Small embedded PDFs are not fully repainted when scrolling
3764         https://bugs.webkit.org/show_bug.cgi?id=69861
3765
3766         Reviewed by Anders Carlsson.
3767
3768         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
3769         Account for vertical centering when deciding which pages to paint.
3770
3771 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
3772
3773         Embedding of PDF's with <object> or <embed> fails when there is no MIME type specified
3774         https://bugs.webkit.org/show_bug.cgi?id=64934
3775
3776         Reviewed by Dan Bernstein.
3777
3778         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Check URL extension, too,
3779         like GetPluginPath does in UI process. One difference is that UI process additionally tries
3780         platform specific extension to MIME type mapping, but that doesn't matter for PDF, which
3781         does not have other standard extensions.
3782
3783 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
3784
3785         [Mac] Should be able to display multi-page PDFs in subframes
3786         https://bugs.webkit.org/show_bug.cgi?id=69804
3787
3788         Reviewed by Anders Carlsson.
3789
3790         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3791         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3792         (WebKit::BuiltInPDFView::updateScrollbars): Page step should be exactly one page, so that
3793         one could step over the document page by page. It certainly shouldn't be a portion of the
3794         whole document.
3795         (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Moved duplicated code from load callbacks here.
3796         (WebKit::BuiltInPDFView::calculateSizes): Calculate document size including gutters, and
3797         remember page boxes.
3798         (WebKit::BuiltInPDFView::paint): Split into separate functions.
3799         (WebKit::BuiltInPDFView::paintBackground): Just paint gray background for the whole dirty rect.
3800         (WebKit::BuiltInPDFView::paintContent): Paint pages and shadow under them. This code is still
3801         fairly naive, as it doesn't understand annotations or page rotation.
3802         Constants for shadows roughly match PDFView, but not quite, since it draws entirely custom
3803         shadows.
3804         (WebKit::BuiltInPDFView::paintControls): Moved scrollbar and scroll corner painting here.
3805         (WebKit::BuiltInPDFView::streamDidFinishLoading): Moved common code into pdfDocumentDidLoad().
3806         (WebKit::BuiltInPDFView::manualStreamDidFinishLoading): Ditto.
3807
3808 2011-10-11  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
3809
3810         [Qt] WebProcess using proxy settings for localhost as well
3811         https://bugs.webkit.org/show_bug.cgi?id=69611
3812
3813         Reviewed by Chang Shu.
3814
3815         Implemented checks in queryProxy to return QNetworkProxy::NoProxy for localhost and 127.0.0.1
3816
3817         * WebProcess/qt/WebProcessMainQt.cpp:
3818         (WebKit::EnvHttpProxyFactory::queryProxy):
3819
3820 2011-10-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3821
3822         [Qt] Remove all references to QTDIR_build and standalone_package
3823
3824         Qt is now modularized, which means we no longer import WebKit into
3825         the Qt source tree. Instead we use git submodules, and building
3826         QtWebKit as "part of Qt" is really building QtWebKit as from trunk.
3827
3828         To decrease the number of buildsystem configurations we also remove
3829         the standalone_package code-path used when we were providing tarballs
3830         with the derived sources pre-generated.
3831
3832         Reviewed by Simon Hausmann.
3833
3834         * DerivedSources.pro:
3835         * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
3836         * UIProcess/API/qt/tests/tests.pri:
3837         * WebKit2.pri:
3838         * WebProcess.pro:
3839
3840 2011-10-10  Nate Chapin  <japhet@chromium.org>
3841
3842         Use a CachedImageClient instead of CachedResourceClient
3843         in WebDragClientMac.
3844         https://bugs.webkit.org/show_bug.cgi?id=69790
3845
3846         Reviewed by Adam Barth.
3847
3848         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3849         (promisedDataClient):
3850
3851 2011-10-10  Mark Hahnenberg  <mhahnenberg@apple.com>
3852
3853         Remove getCallDataVirtual methods
3854         https://bugs.webkit.org/show_bug.cgi?id=69186
3855
3856         Reviewed by Geoffrey Garen.
3857
3858         Removed all getCallDataVirtual methods and replaced their call sites 
3859         with an explicit lookup in the MethodTable.
3860
3861         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
3862         * WebProcess/Plugins/Netscape/JSNPMethod.h:
3863         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3864         * WebProcess/Plugins/Netscape/JSNPObject.h:
3865
3866 2011-10-10  Simon Hausmann  <simon.hausmann@nokia.com>
3867
3868         [Qt] Fix build with qreal == float on MeeGo 1.2 Harmattan
3869
3870         Reviewed by Andreas Kling.
3871
3872         Explicitly choose the qreal variant of qMin, since QPointF is using qreal.
3873
3874         * UIProcess/qt/ViewportInteractionEngine.cpp:
3875         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
3876
3877 2011-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3878
3879         [GTK] Add methods to reload the view to WebKit2 GTK+ API
3880         https://bugs.webkit.org/show_bug.cgi?id=69613
3881
3882         Reviewed by Martin Robinson.
3883
3884         * UIProcess/API/gtk/WebKitWebView.cpp:
3885         (webkit_web_view_reload):
3886         (webkit_web_view_reload_bypass_cache):
3887         * UIProcess/API/gtk/WebKitWebView.h:
3888         * UIProcess/API/gtk/tests/testloading.c:
3889         (loadReloadProvisionalLoadStarted):
3890         (loadReloadLoadFinished):
3891         (testLoadTimeoutFinishLoop):
3892         (testLoadReload):
3893         (main):
3894
3895 2011-10-09  Luke Macpherson   <macpherson@chromium.org>
3896
3897         Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
3898         (https://bugs.webkit.org/show_bug.cgi?id=68035)
3899         https://bugs.webkit.org/show_bug.cgi?id=69735
3900
3901         Reviewed by Daniel Bates.
3902
3903         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3904         Add symbols that are now required by ScrollableArea.
3905         (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
3906
3907 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
3908
3909         Add static version of JSCell::getConstructData
3910         https://bugs.webkit.org/show_bug.cgi?id=69673
3911
3912         Reviewed by Geoffrey Garen.
3913
3914         Added static version of getConstructData to all classes that 
3915         override it and changed the virtual versions to call the static 
3916         versions.  This is the first step in de-virtualizing JSCell::getConstructData.
3917
3918         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3919         (WebKit::JSNPObject::getConstructData):
3920         * WebProcess/Plugins/Netscape/JSNPObject.h:
3921
3922 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
3923
3924         Add static version of JSCell::getOwnPropertySlot
3925         https://bugs.webkit.org/show_bug.cgi?id=69593
3926
3927         Reviewed by Geoffrey Garen.
3928
3929         Added static version of getOwnPropertySlot to every class that overrides
3930         JSCell::getOwnPropertySlot.  The virtual versions now call the static versions.
3931         This is the first step in de-virtualizing JSCell::getOwnPropertySlot.
3932
3933         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3934         (WebKit::JSNPObject::getOwnPropertySlot):
3935         * WebProcess/Plugins/Netscape/JSNPObject.h:
3936
3937 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
3938
3939         [GTK] Implement drag and drop support in WebKit2
3940         https://bugs.webkit.org/show_bug.cgi?id=63706
3941
3942         Reviewed by Philippe Normand.
3943
3944         * GNUmakefile.am: Add new files to compilation.
3945         * Shared/gtk/ArgumentCodersGtk.cpp: Added.
3946         (CoreIPC::encodeImage): Encode a GdkPixbuf.
3947         (CoreIPC::decodeImage): Decode a GdkPixbuf.
3948         (CoreIPC::encodeDataObject): Encode a DataObjectGtk.
3949         (CoreIPC::decodeDataObject): Decode a DataObjectGtk.
3950         (CoreIPC::::encode): Encode DragData.
3951         (CoreIPC::::decode): Decode DragData.
3952         * Shared/gtk/ArgumentCodersGtk.h:
3953         * UIProcess/API/gtk/PageClientImpl.cpp:
3954         (WebKit::PageClientImpl::startDrag):
3955         * UIProcess/API/gtk/PageClientImpl.h:
3956         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3957         (webkit_web_view_base_init): Set the view as a potential drop destination.
3958         (webkitWebViewBaseDragDataGet): Added, delegate to GtkDragAndDropHelper.
3959         (webkitWebViewBaseDragEnd): Ditto.
3960         (webkitWebViewBaseDragDataReceived): Ditto.
3961         (webkitWebViewBaseDragEnter): Ditto.
3962         (webkitWebViewBaseDragMotion): Ditto.
3963         (doDragLeaveLater): Ditto.
3964         (webkitWebViewBaseDragLeave): Ditto.
3965         (webkitWebViewBaseDragDrop): Ditto.
3966         (webkit_web_view_base_class_init): Override GtkWidget drag and drop methods.
3967         (webkitWebViewBaseStartDrag): Calls gtk_drag_begin() to start a drag operation.
3968         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseStartDrag().
3969         * UIProcess/PageClient.h: Add startDrag().
3970         * UIProcess/WebPageProxy.cpp:
3971         (WebKit::WebPageProxy::performDragControllerAction): Share the Qt version.
3972         * UIProcess/WebPageProxy.h:
3973         * UIProcess/WebPageProxy.messages.in:
3974         * WebProcess/WebCoreSupport/WebDragClient.cpp:
3975         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: Added.
3976         * WebProcess/WebPage/WebPage.cpp: Add drag support for GTK+.
3977         * WebProcess/WebPage/WebPage.h: Ditto.
3978         * WebProcess/WebPage/WebPage.messages.in: Ditto.
3979
3980 2011-10-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3981
3982         [Qt] [WK2] Wrong handling of visibility in QTouchWebPage
3983         https://bugs.webkit.org/show_bug.cgi?id=69670
3984
3985         Reviewed by Andreas Kling.
3986
3987         Replace QTouchWebPage visibility handling by Show/Hide events with use of 
3988         QSGItem::visibleChanged signal.
3989
3990         * UIProcess/API/qt/qtouchwebpage.cpp:
3991         (QTouchWebPage::QTouchWebPage):
3992         (QTouchWebPage::event):
3993         (QTouchWebPage::onVisibleChanged):
3994         * UIProcess/API/qt/qtouchwebpage.h:
3995
3996 2011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3997
3998         Unreviewed, rolling out r96996.
3999         http://trac.webkit.org/changeset/96996
4000         https://bugs.webkit.org/show_bug.cgi?id=69697
4001
4002         It broke all tests on the Qt bot (Requested by Ossy_night on
4003         #webkit).
4004
4005         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
4006         (WebKit::JSNPMethod::getCallDataVirtual):
4007         * WebProcess/Plugins/Netscape/JSNPMethod.h:
4008         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
4009         (WebKit::JSNPObject::getCallDataVirtual):
4010         * WebProcess/Plugins/Netscape/JSNPObject.h:
4011
4012 2011-10-07  Jeff Miller  <jeffm@apple.com>
4013
4014         Add WKPageContextMenuClient callback when context menu is dismissed
4015         https://bugs.webkit.org/show_bug.cgi?id=69553
4016
4017         Add contextMenuDismissed callback to WKPageContextMenuClient, and bump the API
4018         version of this client to 1 so we continue to work with old clients.
4019
4020         * Shared/APIClientTraits.cpp: Added array of interface sizes for WKPageContextMenuClient.
4021         * Shared/APIClientTraits.h: Added APIClientTraits for WKPageContextMenuClient.
4022
4023         * UIProcess/API/C/WKPage.h: Added contextMenuDismissed callback to WKPageContextMenuClient and bumped kWKPageContextMenuClientCurrentVersion.
4024
4025         * UIProcess/WebPageContextMenuClient.cpp:
4026         (WebKit::WebPageContextMenuClient::contextMenuDismissed): Added.
4027
4028         * UIProcess/WebPageContextMenuClient.h: Added WebPageContextMenuClient::contextMenuDismissed().
4029
4030         * UIProcess/WebPageProxy.cpp:
4031         (WebKit::WebPageProxy::internalShowContextMenu): Notify client when context menu is dismissed.
4032
4033 2011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
4034
4035         Remove getCallDataVirtual methods
4036         https://bugs.webkit.org/show_bug.cgi?id=69186
4037
4038         Reviewed by Geoffrey Garen.
4039
4040         Removed all getCallDataVirtual methods and replaced their call sites 
4041         with an explicit lookup in the MethodTable.
4042
4043         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
4044         * WebProcess/Plugins/Netscape/JSNPMethod.h:
4045         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
4046         * WebProcess/Plugins/Netscape/JSNPObject.h:
4047
4048 2011-10-07  Alexey Proskuryakov  <ap@apple.com>
4049
4050         [Mac] Scrollbars in embedded PDFs should update when system preferences change
4051         https://bugs.webkit.org/show_bug.cgi?id=69654
4052
4053         Reviewed by Simon Fraser.
4054
4055         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added an scrollbarStyleChanged() override.
4056         ScrollAnimatorMac sets scrollbar frame to a bogus (0, 0, thickness, thickness) one when style
4057         changes, and expects clients to move them back in place.
4058
4059         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
4060         (WebKit::BuiltInPDFView::isOnActivePage): Fixed a typo that prevented ScrollAnimatorMac from
4061         updating style of PDF view scrollbars.
4062         (WebKit::BuiltInPDFView::scrollbarStyleChanged): Reposition scrollbars and content after
4063         style change. The behavior is not perfect in edge cases, but roughly matches ScrollView.
4064
4065 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
4066
4067         Unreviewed, rolling out r96938.
4068         http://trac.webkit.org/changeset/96938
4069         https://bugs.webkit.org/show_bug.cgi?id=69653
4070
4071         It broke zillion tests and make testing so slow (Requested by
4072         ossy_ on #webkit).
4073
4074         * UIProcess/WebContext.cpp:
4075         * UIProcess/WebContext.h:
4076         * UIProcess/efl/WebContextEfl.cpp:
4077         (WebKit::WebContext::applicationCacheDirectory):
4078         * UIProcess/gtk/WebContextGtk.cpp:
4079         (WebKit::WebContext::applicationCacheDirectory):
4080         * UIProcess/mac/WebContextMac.mm:
4081         (WebKit::WebContext::applicationCacheDirectory):
4082         * UIProcess/qt/WebContextQt.cpp:
4083         (WebKit::WebContext::applicationCacheDirectory):
4084         * UIProcess/win/WebContextWin.cpp:
4085         (WebKit::WebContext::applicationCacheDirectory):
4086
4087 2011-10-07  Qi Zhang  <qi.2.zhang@nokia.com>
4088
4089         [Qt][WK2] ApplicationCache LayoutTests failed
4090         https://bugs.webkit.org/show_bug.cgi?id=69541
4091
4092         Reviewed by Chang Shu.
4093
4094         1. Moved applicationCacheDirectory to common code.
4095         2. Added interface setApplicationCacheDirectory to allow UI client overriding.
4096         3. Renamed all platform-dependent implementations of applicationCacheDirectory to platformDefaultApplicationCacheDirectory.
4097         4. On Qt, set the platformDefaultApplicationCacheDirectory to the default data location.
4098
4099
4100         * UIProcess/WebContext.cpp:
4101         (WebKit::WebContext::applicationCacheDirectory):
4102         * UIProcess/WebContext.h:
4103         (WebKit::WebContext::setApplicationCacheDirectory):
4104         * UIProcess/efl/WebContextEfl.cpp:
4105         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
4106         * UIProcess/gtk/WebContextGtk.cpp:
4107         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
4108         * UIProcess/mac/WebContextMac.mm:
4109         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
4110         * UIProcess/qt/WebContextQt.cpp:
4111         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
4112         * UIProcess/win/WebContextWin.cpp:
4113         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
4114
4115 2011-10-06  Brent Fulgham  <bfulgham@webkit.org>
4116
4117         [WinCairo] Correct improper identification of WKQC extensions.
4118         https://bugs.webkit.org/show_bug.cgi?id=69600
4119
4120         * DerivedSources.make: Make sure we are not building the
4121         WinCairo variant.
4122
4123 2011-10-06  Anders Carlsson  <andersca@apple.com>
4124
4125         When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
4126         https://bugs.webkit.org/show_bug.cgi?id=69586
4127
4128         Reviewed by Darin Adler.
4129
4130         * Configurations/Base.xcconfig:
4131         Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
4132
4133         * WebKit2.xcodeproj/project.pbxproj:
4134         When building with clang, we don't need to run the check-for-global-initializers and
4135         check-for-exit-time-destructors anymore.
4136
4137 2011-10-06  Anders Carlsson  <andersca@apple.com>
4138
4139         Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
4140         https://bugs.webkit.org/show_bug.cgi?id=69584
4141
4142         Reviewed by Darin Adler.
4143
4144         Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
4145
4146         * UIProcess/WebContext.cpp:
4147         * UIProcess/WebPageProxy.cpp:
4148         * WebProcess/WebPage/WebFrame.cpp:
4149         * WebProcess/WebPage/WebPage.cpp:
4150
4151 2011-10-06  Alexey Proskuryakov  <ap@apple.com>
4152
4153         [Mac] Should be able to scroll embedded PDFs using mouse
4154         https://bugs.webkit.org/show_bug.cgi?id=69579
4155
4156         Reviewed by Darin Adler.
4157
4158         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
4159         (WebKit::BuiltInPDFView::handleMouseEvent): No longer need to hardcode mouseDown handling,
4160         ScrollableArea does everything now.
4161         (WebKit::BuiltInPDFView::horizontalScrollbar): Added plumbing to access scrollbars from
4162         WebCore hit testing code.
4163         (WebKit::BuiltInPDFView::verticalScrollbar): Ditto.
4164         (WebKit::BuiltInPDFView::visibleHeight): ScrollableArea now wants this.
4165         (WebKit::BuiltInPDFView::visibleWidth): Ditto.
4166
4167         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
4168         (WebKit::NetscapePlugin::horizontalScrollbar):
4169         (WebKit::NetscapePlugin::verticalScrollbar):
4170         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
4171         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
4172         * WebProcess/Plugins/Plugin.h:
4173         * WebProcess/Plugins/PluginProxy.cpp:
4174         (WebKit::PluginProxy::horizontalScrollbar):
4175         (WebKit::PluginProxy::verticalScrollbar):
4176         * WebProcess/Plugins/PluginProxy.h:
4177         * WebProcess/Plugins/PluginView.cpp:
4178         (WebKit::PluginView::horizontalScrollbar):
4179         (WebKit::PluginView::verticalScrollbar):
4180         * WebProcess/Plugins/PluginView.h:
4181         Added plumbing to access scrollbars from WebCore hit testing code.
4182
4183 2011-10-06  Alexis Menard  <alexis.menard@openbossa.org>
4184
4185         [Qt][WK2] WebIconDa