Add support for notification replaceId in Mac WebKit and WK2
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-03-02  Jon Lee  <jonlee@apple.com>
2
3         Add support for notification replaceId in Mac WebKit and WK2
4         https://bugs.webkit.org/show_bug.cgi?id=80206
5         <rdar://problem/10965574>
6
7         Reviewed by Sam Weinig.
8
9         * UIProcess/API/C/WKNotification.cpp: Add WK API.
10         (WKNotificationCopyReplaceID):
11         * UIProcess/API/C/WKNotification.h:
12         * UIProcess/Notifications/WebNotification.cpp:
13         (WebKit::WebNotification::WebNotification):
14         * UIProcess/Notifications/WebNotification.h: Add replaceID member.
15         (WebKit::WebNotification::create):
16         (WebKit::WebNotification::replaceID):
17         (WebNotification):
18         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
19         (WebKit::WebNotificationManagerProxy::show):
20         * UIProcess/Notifications/WebNotificationManagerProxy.h:
21         (WebNotificationManagerProxy):
22         * UIProcess/WebPageProxy.cpp:
23         (WebKit::WebPageProxy::showNotification):
24         * UIProcess/WebPageProxy.h:
25         (WebPageProxy):
26         * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
27         * WebProcess/Notifications/WebNotificationManager.cpp:
28         (WebKit::WebNotificationManager::show):
29
30 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
31
32         Unreviewed, rolling out r109748.
33         http://trac.webkit.org/changeset/109748
34         https://bugs.webkit.org/show_bug.cgi?id=80296
35
36         Made some tests crash, will fix and recommit (Requested by
37         noamr on #webkit).
38
39         * Target.pri:
40         * UIProcess/API/qt/qquickwebpage.cpp:
41         (QQuickWebPagePrivate::paintToCurrentGLContext):
42         (PageProxyNode::PageProxyNode):
43         (PageProxyNode):
44         (PageProxyNode::changedStates):
45         (PageProxyNode::render):
46         (PageProxyNode::~PageProxyNode):
47         (QQuickWebPage::updatePaintNode):
48         (QQuickWebPagePrivate::updateSize):
49         (QQuickWebPagePrivate::resetPaintNode):
50         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
51         * UIProcess/API/qt/qquickwebpage_p_p.h:
52         (QQuickWebPagePrivate):
53         * UIProcess/DrawingAreaProxy.h:
54         (WebKit):
55         (WebKit::DrawingAreaProxy::layerTreeHostProxy):
56         (DrawingAreaProxy):
57         * UIProcess/DrawingAreaProxyImpl.cpp:
58         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
59         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
60         * UIProcess/LayerTreeHostProxy.h:
61         (LayerTreeHostProxy):
62         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
63         (WebKit::LayerTreeHostProxy::syncAnimations):
64         (WebKit::LayerTreeHostProxy::updateViewport):
65         (WebKit::LayerTreeHostProxy::syncLayerParameters):
66         (WebKit::LayerTreeHostProxy::flushLayerChanges):
67         (WebKit::LayerTreeHostProxy::ensureRootLayer):
68         (WebKit::LayerTreeHostProxy::syncRemoteContent):
69         (WebKit::LayerTreeHostProxy::dispatchUpdate):
70         (WebKit):
71         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
72         (WebKit::LayerTreeHostProxy::purgeGLResources):
73         * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
74         * UIProcess/qt/QtWebPageSGNode.h: Removed.
75
76 2012-03-05  Joone Hur  <joone.hur@collabora.co.uk>
77
78         [GTK] zlib link error with --enable-webkit2
79         https://bugs.webkit.org/show_bug.cgi?id=79877
80
81         Reviewed by Martin Robinson.
82
83         zlib should be linked properly.
84
85         * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
86         linking it with WebKitWebProcess.
87
88 2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
89
90         [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
91         https://bugs.webkit.org/show_bug.cgi?id=77208
92
93         Reviewed by Anders Carlsson.
94
95         A HitTestResultData is now passed to ShowContextMenu WebPageProxy
96         message instead of the ContextMenuState. ContextMenu client has
97         been updated to pass the HitTestResult to the
98         getContextMenuFromProposedMenu callback.
99
100         * GNUmakefile.am: Remove ContextMenuState.h.
101         * Shared/APIClientTraits.h:
102         * Shared/ContextMenuState.h: Removed.
103         * Shared/WebHitTestResult.h:
104         (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
105         a WebCore::HitTestResult.
106         * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
107         getContextMenuFromProposedMenu callback and deprecate the old
108         version.
109         * UIProcess/WebPageContextMenuClient.cpp:
110         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
111         Pass a HitTestResult to getContextMenuFromProposedMenu or use the
112         deprecated one if client version is an old one.
113         * UIProcess/WebPageContextMenuClient.h:
114         * UIProcess/WebPageProxy.cpp:
115         (WebKit::WebPageProxy::showContextMenu):
116         (WebKit::WebPageProxy::internalShowContextMenu): Save the
117         WebHitTestResult::Data to use it for handling context menu actions.
118         (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
119         WebHitTestResult::Data.
120         * UIProcess/WebPageProxy.h:
121         * UIProcess/WebPageProxy.messages.in:
122         * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
123         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
124         (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
125         WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
126         * WebProcess/WebPage/WebContextMenu.cpp:
127         (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
128         instead of a ContextMenuState and pass it to ShowContextMenu message.
129         * win/WebKit2.vcproj: ContextMenuState.h.
130
131 2012-03-05  No'am Rosenthal  <noam.rosenthal@nokia.com>
132
133         [Qt] [WK2] Support threaded renderer in WK2
134         https://bugs.webkit.org/show_bug.cgi?id=76661
135
136         Made the appropriate fixes in the UI process code to make rendering thread-safe.
137         - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
138           to LayerTreeHostProxy.
139
140         - Each function in LayerTreeHostProxy can be either called from the main thread (handling
141           messages from the web process), or from the renderer thread (handling the GL context).
142           The render-queue is locked with a mutex, and messages back to the web process are sent
143           via callOnMainThread.
144
145         - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
146           resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
147           before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
148           deleted only after its GL resources are freed, otherwise those resources may leak.
149
150         Based on a patch by Viatcheslav Ostapenko.
151
152         Reviewed by Kenneth Rohde Christiansen.
153
154         * Target.pri: Added new files.
155         * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
156         (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
157         (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
158         (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
159         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
160         * UIProcess/API/qt/qquickwebpage_p_p.h:
161         (QQuickWebPagePrivate):
162         * UIProcess/DrawingAreaProxy.h:
163         (WebKit):
164         (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
165         (DrawingAreaProxy):
166         * UIProcess/DrawingAreaProxyImpl.cpp:
167         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
168         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
169         * UIProcess/LayerTreeHostProxy.h:
170         (WebKit):
171         (WebKit::LayerTreeHostProxy::create):
172         (LayerTreeHostProxy):
173         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
174         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
175         (WebKit):
176         (MainThreadGuardedInvoker):
177             A class that allows invoking functions in the main thread, while guarding a ref-
178             counted object.
179
180         (WebKit::MainThreadGuardedInvoker::call):
181         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
182         (WebKit::MainThreadGuardedInvoker::invoke):
183         (WebKit::LayerTreeHostProxy::syncAnimations):
184         (WebKit::LayerTreeHostProxy::updateViewport):
185         (WebKit::LayerTreeHostProxy::detachDrawingArea):
186         (WebKit::LayerTreeHostProxy::syncLayerParameters):
187         (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
188         (WebKit::LayerTreeHostProxy::flushLayerChanges):
189         (WebKit::LayerTreeHostProxy::ensureRootLayer):
190         (WebKit::LayerTreeHostProxy::syncRemoteContent):
191         (WebKit::LayerTreeHostProxy::dispatchUpdate):
192         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
193         (WebKit::LayerTreeHostProxy::purgeGLResources):
194         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
195         * UIProcess/qt/QtWebPageSGNode.h: Added.
196
197 2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
198
199         [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
200         https://bugs.webkit.org/show_bug.cgi?id=71507
201
202         Reviewed by Antonio Gomes.
203
204         * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
205
206 2012-03-03  Simon Hausmann  <simon.hausmann@nokia.com>
207
208         [Qt] Fix static_libs_as_shared build
209         https://bugs.webkit.org/show_bug.cgi?id=80214
210
211         Reviewed by Tor Arne Vestbø.
212
213         Replace (static) link time dependency to WK1 with entrypoint
214         in the separate WebProcess for activating the QStyle theme if
215         necessary.
216
217         * Target.pri:
218         * UIProcess/Launcher/ProcessLauncher.h:
219         * WebProcess/qt/WebProcessMainQt.cpp:
220         (WebKit::WebProcessMainQt):
221         * qt/MainQt.cpp:
222         (WebKit):
223         (main):
224
225 2012-03-03  Hans Wennborg  <hans@chromium.org>
226
227         Implement Speech JavaScript API
228         https://bugs.webkit.org/show_bug.cgi?id=80019
229
230         Reviewed by Adam Barth.
231
232         Add ENABLE_SCRIPTED_SPEECH.
233
234         * Configurations/FeatureDefines.xcconfig:
235
236 2012-03-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
237
238         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
239         https://bugs.webkit.org/show_bug.cgi?id=79543
240
241         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
242         Also, remove flags from changedStates() that we don't actually touch.
243         This is covered by existing API tests.
244
245         Reviewed by Kenneth Rohde Christiansen.
246
247         * UIProcess/API/qt/qquickwebpage.cpp:
248         (QQuickWebPagePrivate::paintToCurrentGLContext):
249         (PageProxyNode::changedStates):
250         (PageProxyNode::render):
251         * UIProcess/API/qt/qquickwebpage_p_p.h:
252         (QQuickWebPagePrivate):
253
254 2012-03-03  Anders Carlsson  <andersca@apple.com>
255
256         Fix build with newer versions of clang.
257
258         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
259         (WebKit::NPN_GetValue):
260         Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
261
262 2012-03-02  Andy Estes  <aestes@apple.com>
263
264         Move nsStringFromWebCoreString out of PageClientImpl
265         https://bugs.webkit.org/show_bug.cgi?id=80202
266
267         Reviewed by Sam Weinig.
268
269         nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
270         and it makes us include PageClientImpl.h in places where we shouldn't.
271         Move this function into StringUtilities.{h, mm}.
272
273         * Platform/mac/StringUtilities.h: Added.
274         * Platform/mac/StringUtilities.mm: Added.
275         (WebKit::nsStringFromWebCoreString):
276         * UIProcess/API/mac/PageClientImpl.h:
277         * UIProcess/API/mac/PageClientImpl.mm:
278         * UIProcess/API/mac/WKView.mm:
279         * UIProcess/mac/WebContextMenuProxyMac.mm:
280         * UIProcess/mac/WebPageProxyMac.mm:
281         * UIProcess/mac/WebPopupMenuProxyMac.mm:
282         * UIProcess/mac/WebPreferencesMac.mm:
283         * WebKit2.xcodeproj/project.pbxproj:
284
285 2012-03-02  Andy Estes  <aestes@apple.com>
286
287         Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
288         https://bugs.webkit.org/show_bug.cgi?id=80197
289
290         Reviewed by Alexey Proskuryakov.
291
292         It doesn't belong there, and it makes Xcode consider the project to be
293         invalid, triggering assertions in some builds of Xcode.
294
295         * WebKit2.xcodeproj/project.pbxproj:
296
297 2012-03-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
298
299         [Qt] Fix spelling mistake in header guard
300
301         Reviewed by Noam Rosenthal.
302
303         * UIProcess/API/qt/qwebviewportinfo_p.h:
304
305 2012-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
306
307         [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
308         https://bugs.webkit.org/show_bug.cgi?id=80150
309
310         Reviewed by Philippe Normand.
311
312         * UIProcess/API/gtk/WebKitWebView.cpp:
313         (webkit_web_view_set_zoom_level): Use
314         webkit_web_view_get_zoom_level() instead of
315         WKPageGetPageZoomFactor() to get the current effective zoom level
316         depending on zoom-text-only setting.
317
318 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
319
320         Fix build on AppleWebKit after 109548.
321
322         * mac/WebKit2.order:
323
324 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
325
326         [Qt] Fix tests run with WTR not using QStyle theme
327         https://bugs.webkit.org/show_bug.cgi?id=80147
328
329         Reviewed by Csaba Osztrogonác.
330
331         Use an environment variable (set by WTR) to select the QStyle theme.
332         This is a temporary kludge until we rebase the layout tests to use the
333         QStyle independent "mobile" theme. This also temporarily breaks the
334         force_static_libs_as_shared build.
335
336         * Target.pri:
337         * WebProcess/qt/WebProcessMainQt.cpp:
338         (WebKit::WebProcessMainQt):
339
340 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
341
342         [Qt] Compile WebCore without QtWidgets
343         https://bugs.webkit.org/show_bug.cgi?id=80141
344
345         Reviewed by Tor Arne Vestbø.
346
347         * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
348         * Target.pri: Require widgets for WK2 for the moment, until bug #79458
349         is fixed.
350
351 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
352
353         Suspend/Resume API for pausing timers and animations.
354         https://bugs.webkit.org/show_bug.cgi?id=76063
355
356         Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
357
358         Adds suspend and resume API for WebKit2 and uses it in Qt to
359         suspend animations and DOM timers during panning and zoom.
360
361         Reviewed by Kenneth Rohde Christiansen.
362
363         * UIProcess/API/qt/qquickwebview.cpp:
364         (QQuickWebViewFlickablePrivate::_q_suspend):
365         (QQuickWebViewFlickablePrivate::_q_resume):
366         * UIProcess/WebPageProxy.cpp:
367         (WebKit::WebPageProxy::WebPageProxy):
368         (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
369         (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
370         (WebKit::WebPageProxy::processDidCrash):
371         * UIProcess/WebPageProxy.h:
372         * WebProcess/WebPage/WebPage.cpp:
373         (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
374         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
375         * WebProcess/WebPage/WebPage.h:
376         * WebProcess/WebPage/WebPage.messages.in:
377
378 2012-03-02  Joone Hur  <joone.hur@collabora.co.uk>
379
380         Unreviewed. Fix WebKit2 GTK+ build.
381
382         * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
383
384 2012-03-01  Andras Becsi  <andras.becsi@nokia.com>
385
386         [Qt][WK2] Make the interaction with the Flickable work on the N9
387         https://bugs.webkit.org/show_bug.cgi?id=80029
388
389         Reviewed by Simon Hausmann.
390
391         Because the WebView item accepts all touch events it receives and sends
392         them to the web process before propagating them to the gesture recognizers,
393         which is correct behaviour, we can not rely on the touch->mouse conversion
394         of Qt5 when controlling Flickable. Hence we need to convert the received
395         touch events to mouse events in the QtFlickProvider.
396
397         * UIProcess/qt/QtFlickProvider.cpp:
398         (QtFlickProvider::handleTouchFlickEvent):
399         Do the touch to mouse event conversion for the Flickable.
400         * UIProcess/qt/QtPanGestureRecognizer.cpp:
401         (WebKit::QtPanGestureRecognizer::recognize):
402         A touch begin event should cancel the previous pan gesture
403         and stop the ongoing flick animation.
404
405 2012-03-01  Anders Carlsson  <andersca@apple.com>
406
407         Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
408         https://bugs.webkit.org/show_bug.cgi?id=80044
409         <rdar://problem/10919940>
410
411         Reviewed by Brady Eidson.
412
413         Remove the code that would add and remove wheel event handlers since that's not what we want to track.
414         Instead, dynamically add and remove the view as its scrollbars come and go.
415
416         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
417         (WebKit::BuiltInPDFView::updateScrollbars):
418         (WebKit::BuiltInPDFView::initialize):
419         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
420         (BuiltInPDFView):
421
422 2012-03-01  Kangil Han  <kangil.han@samsung.com>
423
424         [DRT] Remove all PlainTextController usages in existing tests by adding internal API
425         https://bugs.webkit.org/show_bug.cgi?id=78570
426
427         Reviewed by Hajime Morita.
428
429         This patch will remove all PlainTextController usages
430         in existing DRT tests by adding internal API to WebCore/testing/Internals
431
432         * win/WebKit2.def:
433         * win/WebKit2CFLite.def:
434
435 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
436
437         Unreviewed, rolling out r109255.
438         http://trac.webkit.org/changeset/109255
439         https://bugs.webkit.org/show_bug.cgi?id=79932
440
441         Breaks rounded rects with dashed strokes in SVG
442
443         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
444         (InitWebCoreSystemInterface):
445
446 2012-03-01  Sergio Villar Senin  <svillar@igalia.com>
447
448         [WK2] [GTK] [libsoup] SoupSession should use system CA
449         https://bugs.webkit.org/show_bug.cgi?id=79657
450
451         Reviewed by Martin Robinson.
452
453         SoupSession sould use system CA list to validate SSL
454         certificates. Do not use strict certificate validation though as
455         we want clients to decide whether or not accept/decline invalid
456         certificates (API to be added later).
457
458         No new tests required as current behaviour does not change at all
459         as we continue to accept invalid certificates by default.
460
461         * WebProcess/gtk/WebProcessMainGtk.cpp:
462         (WebKit::WebProcessMainGtk):
463
464 2012-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>
465
466         Unreviewed. Fix WebKit2 GTK+ build.
467
468         * UIProcess/API/gtk/WebKitDefines.h:
469         * UIProcess/API/gtk/WebKitWebView.h:
470
471 2012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
472
473         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
474         https://bugs.webkit.org/show_bug.cgi?id=78047
475
476         Reviewed by Kenneth Rohde Christiansen.
477
478         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
479         QtWebPageEventHandler::handle*Event.
480
481         * UIProcess/API/qt/qquickwebview.cpp:
482         (QQuickWebView::keyPressEvent):
483         (QQuickWebView::keyReleaseEvent):
484         (QQuickWebView::inputMethodEvent):
485         (QQuickWebView::focusInEvent):
486         (QQuickWebView::focusOutEvent):
487         (QQuickWebView::touchEvent):
488         (QQuickWebView::mousePressEvent):
489         (QQuickWebView::mouseMoveEvent):
490         (QQuickWebView::mouseReleaseEvent):
491         (QQuickWebView::mouseDoubleClickEvent):
492         (QQuickWebView::wheelEvent):
493         (QQuickWebView::hoverEnterEvent):
494         (QQuickWebView::hoverMoveEvent):
495         (QQuickWebView::hoverLeaveEvent):
496         (QQuickWebView::dragMoveEvent):
497         (QQuickWebView::dragEnterEvent):
498         (QQuickWebView::dragLeaveEvent):
499         (QQuickWebView::dropEvent):
500         (QQuickWebView::event):
501         * UIProcess/qt/QtWebPageEventHandler.cpp:
502         (QtWebPageEventHandler::handleMouseMoveEvent):
503         (QtWebPageEventHandler::handleMousePressEvent):
504         (QtWebPageEventHandler::handleMouseReleaseEvent):
505         (QtWebPageEventHandler::handleWheelEvent):
506         (QtWebPageEventHandler::handleHoverLeaveEvent):
507         (QtWebPageEventHandler::handleHoverMoveEvent):
508         (QtWebPageEventHandler::handleDragEnterEvent):
509         (QtWebPageEventHandler::handleDragLeaveEvent):
510         (QtWebPageEventHandler::handleDragMoveEvent):
511         (QtWebPageEventHandler::handleDropEvent):
512         (QtWebPageEventHandler::handleKeyPressEvent):
513         (QtWebPageEventHandler::handleKeyReleaseEvent):
514         (QtWebPageEventHandler::handleFocusInEvent):
515         (QtWebPageEventHandler::handleFocusOutEvent):
516         (QtWebPageEventHandler::handleInputMethodEvent):
517         (QtWebPageEventHandler::handleTouchEvent):
518         * UIProcess/qt/QtWebPageEventHandler.h:
519         (QtWebPageEventHandler):
520
521 2012-03-01  Csaba Osztrogonác  <ossy@webkit.org>
522
523         [Qt][WK2] Unreviewed buildfix after r109277.
524
525         * WebProcess/qt/QtBuiltinBundlePage.cpp:
526         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
527
528 2012-02-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
529
530         [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
531         https://bugs.webkit.org/show_bug.cgi?id=79501
532
533         Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
534
535         Reviewed by Kenneth Rohde Christiansen.
536
537         * Shared/WebLayerTreeInfo.cpp:
538         * Shared/WebLayerTreeInfo.h:
539         * UIProcess/DrawingAreaProxy.cpp:
540         (WebKit):
541         * UIProcess/DrawingAreaProxy.h:
542         (DrawingAreaProxy):
543         * UIProcess/DrawingAreaProxyImpl.cpp:
544         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
545         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
546         (WebKit):
547         * UIProcess/DrawingAreaProxyImpl.h:
548         (DrawingAreaProxyImpl):
549         * UIProcess/LayerTreeHostProxy.h:
550         (LayerTreeHostProxy):
551         * UIProcess/WebPageProxy.cpp:
552         (WebKit::WebPageProxy::didReceiveMessage):
553         * UIProcess/qt/LayerBackingStore.cpp:
554         * UIProcess/qt/LayerBackingStore.h:
555         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
556         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
557         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
558         * WebProcess/WebPage/DrawingArea.h:
559         (DrawingArea):
560         * WebProcess/WebPage/DrawingAreaImpl.cpp:
561         (WebKit):
562         * WebProcess/WebPage/DrawingAreaImpl.h:
563         (DrawingAreaImpl):
564         * WebProcess/WebPage/LayerTreeHost.cpp:
565         (WebKit::LayerTreeHost::create):
566         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
567         (WebKit::LayerTreeHostQt::purgeBackingStores):
568         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
569         (LayerTreeHostQt):
570
571 2012-02-28  Brian Weinstein  <bweinstein@apple.com>
572
573         WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
574         https://bugs.webkit.org/show_bug.cgi?id=79849
575         
576         Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
577         just tell the UI process).
578
579         Reviewed by Beth Dakin.
580
581         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
582         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
583         (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
584             client.
585         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
586         (InjectedBundlePageLoaderClient):
587         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
588         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
589             bundle.
590
591 2012-02-29  Tim Horton  <timothy_horton@apple.com>
592
593         Make use of CG rounded-rect primitives
594         https://bugs.webkit.org/show_bug.cgi?id=79932
595         <rdar://problem/9274953>
596
597         Reviewed by Simon Fraser.
598
599         Add wkCGPathAddRoundedRect.
600
601         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
602         (InitWebCoreSystemInterface):
603
604 2012-02-29  Andy Estes  <aestes@apple.com>
605
606         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
607         https://bugs.webkit.org/show_bug.cgi?id=79936
608
609         Reviewed by Brady Eidson.
610
611         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
612         platforms. Non-Windows platforms that use CFNetwork-based downloads
613         should omit this call.
614
615         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
616         (WebKit::Download::start):
617
618 2012-02-29  Rafael Brandao  <rafael.lobo@openbossa.org>
619
620         [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
621         https://bugs.webkit.org/show_bug.cgi?id=79847
622
623         Reviewed by Alexey Proskuryakov.
624
625         * Target.pri: Fix typo, so we can add ".h" file instead.
626
627 2012-02-29  Sam Weinig  <sam@webkit.org>
628
629         When invoking Lookup while zoomed in, the highlighted word renders out of line
630         <rdar://problem/10812527>
631
632         Reviewed by Simon Fraser.
633
634         * WebProcess/WebPage/mac/WebPageMac.mm:
635         (WebKit::WebPage::performDictionaryLookupForRange):
636         Make sure to scale the ascent when determining the origin for the overlay.
637
638 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
639
640         [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
641         https://bugs.webkit.org/show_bug.cgi?id=75252
642
643         Reviewed by Gustavo Noronha Silva.
644
645         * UIProcess/API/gtk/WebKitWebView.cpp:
646         (zoomTextOnlyChanged): Update text/page zoom factor when
647         zoom-text-only setting changes.
648         (webkitWebViewSetSettings): Helper function to set the settings
649         object for the web view, initializing the settings for the page
650         and connecting to notify::zoom-text-only signal.
651         (webkitWebViewConstructed): Use webkitWebViewSetSettings().
652         (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
653         disconnect from the notify::zoom-text-only signal of the previous
654         settings object.
655         (webkit_web_view_set_zoom_level): Set text/page zoom factor
656         depending on WebKitSettings:zoom-text-only property.
657         (webkit_web_view_get_zoom_level): Get text/page zoom factor
658         depending on WebKitSettings:zoom-text-only property.
659         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
660         (testWebViewZoomLevel):
661
662 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
663
664         [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
665         https://bugs.webkit.org/show_bug.cgi?id=75249
666
667         Reviewed by Gustavo Noronha Silva.
668
669         To set whether zoom level of web view should affect only the text
670         or all page contents. It's disabled by default.
671
672         * UIProcess/API/gtk/WebKitSettings.cpp:
673         (webKitSettingsSetProperty):
674         (webKitSettingsGetProperty):
675         (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
676         property.
677         (webkit_settings_set_zoom_text_only): Set
678         WebKitSettings:zoom-text-only.
679         (webkit_settings_get_zoom_text_only): Get
680         WebKitSettings:zoom-text-only.
681         * UIProcess/API/gtk/WebKitSettings.h:
682         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
683         symbols.
684         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
685         (testWebKitSettings):
686
687 2012-02-29  Sergio Villar Senin  <svillar@igalia.com>
688
689         DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
690         https://bugs.webkit.org/show_bug.cgi?id=76522
691
692         Reviewed by Darin Adler.
693
694         DidFindString message should be issued always even if neither
695         FindOptionsShowOverlay or FindOptionsShowHighlight are
696         provided. The difference is that if any of those flags are present
697         the find operation will look for all the appearances of the text
698         in the web view, otherwise it will just look and report the next
699         occurrence.
700
701         This patch removes the temporary workaround added in r109222 to
702         the WebKitFindController unit tests.
703
704         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
705         * WebProcess/WebPage/FindController.cpp:
706         (WebKit::FindController::findString):
707
708 2012-01-19  Sergio Villar Senin  <svillar@igalia.com>
709
710         [GTK] [WK2] Add Find API
711         https://bugs.webkit.org/show_bug.cgi?id=76070
712
713         Reviewed by Martin Robinson.
714
715         This patch adds a new public find API for the Gtk+ WK2 port. It
716         defines a new object called WebKitFindController owned by each
717         WebKitWebView. Clients will use this new object to search strings
718         in the WebKitWebView.
719
720         Changes include also documentation and unit tests for the new
721         public API.
722
723         * GNUmakefile.am:
724         * UIProcess/API/gtk/WebKitDefines.h:
725         * UIProcess/API/gtk/WebKitFindController.cpp: Added.
726         (didFindString): implementation of the WKPage Find interface.
727         (didFailToFindString): Ditto.
728         (didCountStringMatches): Ditto.
729         (webkit_find_controller_init):
730         (getWKPageFromWebKitWebView):
731         (webkitFindControllerConstructed):
732         (webkitFindControllerGetProperty):
733         (webkitFindControllerSetProperty):
734         (webkitFindControllerFinalize):
735         (webkit_find_controller_class_init):
736         (webkit_find_controller_get_search_text):
737         (webkit_find_controller_get_options):
738         (webkit_find_controller_get_max_match_count):
739         (webkit_find_controller_get_web_view):
740         (webKitFindControllerPerform):
741         (webKitFindControllerSetSearchData):
742         (webkit_find_controller_search): asynchronously looks for the
743         search string in the WebKitWebView.
744         (webkit_find_controller_search_finish): unhighlights text matches.
745         (webkit_find_controller_search_next):
746         (webkit_find_controller_search_previous):
747         (webkit_find_controller_count_matches): asynchronously counts the
748         number of matches of the search string in the WebKitWebView.
749         * UIProcess/API/gtk/WebKitFindController.h: Added.
750         * UIProcess/API/gtk/WebKitPrivate.h:
751         * UIProcess/API/gtk/WebKitWebView.cpp:
752         (webkit_web_view_get_find_controller): returns the
753         WebKitFindController instance owned by the WebKitWebView.
754         * UIProcess/API/gtk/WebKitWebView.h:
755         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
756         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
757         * UIProcess/API/gtk/docs/webkit2gtk.types:
758         * UIProcess/API/gtk/tests/GNUmakefile.am:
759         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
760         (testFindControllerTextFound):
761         (testFindControllerTextNotFound):
762         (testFindControllerMatchCount):
763         (testFindControllerMaxMatchCount):
764         (testFindControllerNext):
765         (testFindControllerPrevious):
766         (testFindControllerCountedMatches):
767         (testFindControllerOptions):
768         (testFindControllerInstance):
769         (testFindControllerGetters):
770         (testFindControllerHide):
771         (beforeAll):
772         (afterAll):
773         * UIProcess/API/gtk/webkit2.h:
774
775 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
776
777         Update WebKitSystemInterface.
778
779         Reviewed by Sam Weinig.
780
781         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
782         (InitWebCoreSystemInterface):
783
784 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
785
786         All mouse events after a right click are ignored when they came from WebkitTestRunner
787         https://bugs.webkit.org/show_bug.cgi?id=77350
788
789         Reviewed by Chang Shu.
790
791         Never ignore mouse events when using sync events, even if the context menu is being
792         show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
793
794         * WebProcess/WebPage/WebPage.cpp:
795         (WebKit::WebPage::mouseEventSyncForTesting):
796
797 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
798
799         More build fix.
800
801         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
802         properly.
803
804 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
805
806         Build fix.
807
808         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
809         Check for build platform properly.
810
811 2012-02-28  Enrica Casucci  <enrica@apple.com>
812
813         More Pasteboard code cleanup.
814         https://bugs.webkit.org/show_bug.cgi?id=79816
815
816         Removing the last references to NSPasteboard.
817         
818         Reviewed by Alexey Proskuryakov.
819
820         * WebProcess/WebCoreSupport/WebEditorClient.h:
821         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
822         (WebKit::WebEditorClient::setInsertionPasteboard):
823
824 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
825
826         [Mac] Add an experimental SPI for plug-ins to enter sandbox
827         https://bugs.webkit.org/show_bug.cgi?id=79709
828
829         Reviewed by Anders Carlsson.
830
831         * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
832
833         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
834
835         * WebKit2.xcodeproj/project.pbxproj: Added new files.
836
837         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
838         a function to access sandboxing functions when available.
839
840         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
841         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
842
843 2012-02-28  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
844
845         [Qt] Allow read/write to the WebView.url property
846         https://bugs.webkit.org/show_bug.cgi?id=77554
847
848         Reviewed by Tor Arne Vestbø.
849
850         Change QML API WebView.url to read/write to reflect either the url requested by the user.
851         Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered. 
852         Fixed c++ and qml tests to reflect the new API.
853
854         * Target.pri:
855         * UIProcess/API/qt/qquickwebview.cpp:
856         (QQuickWebViewPrivate::QQuickWebViewPrivate):
857         (QQuickWebViewPrivate::onComponentComplete):
858         (QQuickWebView::setUrl):
859         * UIProcess/API/qt/qquickwebview_p_p.h:
860         (QQuickWebViewPrivate):
861         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
862         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
863         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
864         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
865         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
866         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
867         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
868         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
869         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
870         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
871         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
872         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
873         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
874         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
875         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
876         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
877         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
878         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
879         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
880         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
881         (tst_QQuickWebView::loadEmptyPageViewHidden):
882         (tst_QQuickWebView::loadNonexistentFileUrl):
883
884 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
885
886         [Qt] Signal and property cleanup in QQuickWebView
887         https://bugs.webkit.org/show_bug.cgi?id=78820
888
889         Reviewed by Noam Rosenthal.
890
891         - Remove parameters from property change notify signals:
892           titleChanged, urlChanged, iconChanged, loadProgressChanged
893         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
894         - Rename navigationStateChanged to navigationHistoryChanged
895
896         * UIProcess/API/qt/qquickwebview.cpp:
897         (QQuickWebViewPrivate::QQuickWebViewPrivate):
898         (QQuickWebViewPrivate::initialize):
899         (QQuickWebViewPrivate::_q_onUrlChanged):
900         (QQuickWebViewPrivate::setIcon):
901         * UIProcess/API/qt/qquickwebview_p.h:
902         * UIProcess/API/qt/qquickwebview_p_p.h:
903         (QQuickWebViewPrivate):
904         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
905         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
906         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
907         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
908         (tst_QQuickWebView::loadProgress):
909         * UIProcess/qt/QtWebPageLoadClient.cpp:
910         (QtWebPageLoadClient::didCommitLoadForFrame):
911         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
912         (QtWebPageLoadClient::didReceiveTitleForFrame):
913         (QtWebPageLoadClient::setLoadProgress):
914         * UIProcess/qt/QtWebPageLoadClient.h:
915         (QtWebPageLoadClient):
916
917 2012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
918
919         [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
920         https://bugs.webkit.org/show_bug.cgi?id=79496
921
922         Reviewed by Martin Robinson.
923
924         Updated places where raw pointers to GMainLoop and GMainContext
925         were being used, replacing them with GRefPtr-based code.
926
927         * Platform/WorkQueue.h:
928         (WorkQueue):
929         * Platform/gtk/WorkQueueGtk.cpp:
930         (WorkQueue::platformInitialize):
931         (WorkQueue::platformInvalidate):
932         (WorkQueue::workQueueThreadBody):
933         (WorkQueue::registerEventSourceHandler):
934         (WorkQueue::dispatchOnSource):
935         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
936         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
937         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
938         (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
939         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
940         (WebPopupMenuProxyGtk):
941
942 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
943
944         [Qt] Initialize QtWebContext as much as we can in its constructor.
945         https://bugs.webkit.org/show_bug.cgi?id=79809
946
947         Reviewed by Tor Arne Vestbø.
948
949         The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
950         since it doesn't call the initialize method on it after creating it.
951         Remove the initialize method, move the download manager and icon database initialization
952         in the constructor and call initializeContextInjectedBundleClient directly in
953         defaultContext to prevent overriding WKTR's injected bundle client.
954
955         * UIProcess/qt/QtWebContext.cpp:
956         (WebKit::QtWebContext::QtWebContext):
957         (WebKit::QtWebContext::defaultContext):
958         * UIProcess/qt/QtWebContext.h:
959         (QtWebContext):
960
961 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
962
963         [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
964         https://bugs.webkit.org/show_bug.cgi?id=79775
965
966         Reviewed by Martin Robinson.
967
968         Use an enum instead of a boolean to track the status of a
969         replace_content() load operation. We need to know when the load of
970         the replace content actually starts to not ignore valid load
971         events of a previous ongoing load operation.
972
973         * UIProcess/API/gtk/WebKitWebView.cpp:
974         (webkitWebViewLoadChanged): Transit to new replace content state
975         when replacing content depending on the load event.
976         (webkitWebViewLoadFailed): Ignore load failed events when
977         replacing content.
978         (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
979         replacing content.
980         (webkit_web_view_replace_content): Set replace content status to
981         WillReplaceContent.
982         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
983         (replaceContentLoadCallback):
984         (testWebViewReplaceContent):
985         * UIProcess/API/gtk/tests/WebViewTest.cpp:
986         (titleChanged):
987         (WebViewTest::waitUntilTitleChanged): Convenient method to wait
988         until title changes. Use with replaceConent() since load events
989         are not emitted when replacing content.
990         * UIProcess/API/gtk/tests/WebViewTest.h:
991
992 2012-02-27  Anders Carlsson  <andersca@apple.com>
993
994         Add basic page overlay support to TiledCoreAnimationDrawingArea
995         https://bugs.webkit.org/show_bug.cgi?id=79716
996         <rdar://problem/10923079>
997
998         Reviewed by Sam Weinig.
999
1000         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1001         Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
1002
1003         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1004         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1005         Create the page overlay layer.
1006
1007         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1008         Destroy the page overlay layer.
1009
1010         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
1011         Mark the page overlay layer as needing display.
1012
1013         (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
1014         (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
1015         Add empty GraphisLayerClient member function implementations.
1016
1017         (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1018         Ask the page overlay to paint itself.
1019
1020         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1021         Flush the page overlay layer.
1022         
1023         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1024         Resize the page overlay layer.
1025
1026         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1027         If we have a page overlay layer, add it as a sublayer of the root layer.
1028
1029         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1030         Create the page overlay layer and add it as a sublayer of the root layer.
1031
1032         (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
1033         Remove the page overlay layer and destroy it.
1034
1035 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1036
1037         [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
1038         https://bugs.webkit.org/show_bug.cgi?id=79804
1039
1040         Reviewed by Martin Robinson.
1041
1042         That comes from the first patch that followed the approach of the
1043         first LoaderClient implementation. With current implementation
1044         download signals, except decide-destination, don't need to be
1045         true_handled, and they won't have a default handler
1046         implementation. Also the download object is not supposed to be
1047         inheritable, since instances are created privately by the
1048         WebContext, so it's not possible to override the virtual methods
1049         in derived classes.
1050
1051         * UIProcess/API/gtk/WebKitDownload.cpp:
1052         (webkit_download_class_init):
1053         (webkitDownloadNotifyProgress):
1054         (webkitDownloadFailed):
1055         (webkitDownloadFinished):
1056         * UIProcess/API/gtk/WebKitDownload.h:
1057         (_WebKitDownloadClass):
1058         * UIProcess/API/gtk/webkit2marshal.list:
1059
1060 2012-02-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1061
1062         [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
1063         https://bugs.webkit.org/show_bug.cgi?id=79800
1064
1065         Reviewed by Csaba Osztrogonác.
1066
1067         We have two different enums called NavigationRequestAction. If we use one of them
1068         to store the variables, compilers can rightfully warn about comparison with
1069         values from other enums.
1070
1071         We might revisit the strategy of exposing different enumerations in experimental,
1072         but for now, fallback to using int for the 'action' property in
1073         QWebNavigationRequest.
1074
1075         * UIProcess/API/qt/qwebnavigationrequest.cpp:
1076         (QWebNavigationRequestPrivate):
1077         (QWebNavigationRequest::setAction):
1078         (QWebNavigationRequest::action):
1079         * UIProcess/API/qt/qwebnavigationrequest_p.h:
1080         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1081
1082 2012-02-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1083
1084         [Qt] API changes to QWebNavigationRequest
1085         https://bugs.webkit.org/show_bug.cgi?id=78821
1086
1087         Reviewed by Kenneth Rohde Christiansen.
1088
1089         Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
1090         rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
1091         use the enum type for 'action'.
1092
1093         * UIProcess/API/qt/qwebnavigationrequest.cpp:
1094         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
1095         (QWebNavigationRequestPrivate):
1096         (QWebNavigationRequest::QWebNavigationRequest):
1097         (QWebNavigationRequest::setAction):
1098         (QWebNavigationRequest::mouseButton):
1099         (QWebNavigationRequest::keyboardModifiers):
1100         (QWebNavigationRequest::action):
1101         * UIProcess/API/qt/qwebnavigationrequest_p.h:
1102         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1103         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1104         * UIProcess/qt/QtWebPagePolicyClient.cpp:
1105         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1106         * UIProcess/qt/QtWebPagePolicyClient.h:
1107         (QtWebPagePolicyClient):
1108
1109 2012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
1110
1111         Element should be able to have multiple shadow roots.
1112         https://bugs.webkit.org/show_bug.cgi?id=77931
1113
1114         Reviewed by Hajime Morita.
1115
1116         * win/WebKit2.def:
1117         * win/WebKit2CFLite.def:
1118
1119 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
1120
1121         [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
1122         https://bugs.webkit.org/show_bug.cgi?id=79521
1123
1124         Reviewed by Kenneth Rohde Christiansen.
1125
1126         movingChanged() signal is emitted many times, so the use of movementStarted() and
1127         movementEnded() is a better choice.
1128
1129         * UIProcess/qt/QtFlickProvider.cpp:
1130         (QtFlickProvider::QtFlickProvider):
1131         * UIProcess/qt/QtFlickProvider.h:
1132         (QtFlickProvider):
1133         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1134         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1135         * UIProcess/qt/QtViewportInteractionEngine.h:
1136         (QtViewportInteractionEngine):
1137
1138 2012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
1139
1140         Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
1141         https://bugs.webkit.org/show_bug.cgi?id=78313
1142
1143         Reviewed by Hajime Morita.
1144
1145         * win/WebKit2.def:
1146         * win/WebKit2CFLite.def:
1147
1148 2012-02-27  Brady Eidson  <beidson@apple.com>
1149
1150         <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
1151         <a ping> doesn't work in WebKit2
1152
1153         Reviewed by Alexey Proskuryakov.
1154
1155         * WebProcess/WebPage/WebPage.cpp:
1156         (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
1157
1158 2012-02-27  Enrica Casucci  <enrica@apple.com>
1159
1160         WebKit2: implement platform strategy to access Pasteboard in the UI process.
1161         https://bugs.webkit.org/show_bug.cgi?id=79253
1162         <rdar://problem/9971876>
1163
1164         Reviewed by Alexey Proskuryakov.
1165
1166         * UIProcess/WebContext.h:
1167         * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
1168         in the UI process.
1169         * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
1170         new messages.
1171         (WebKit::WebContext::getPasteboardTypes):
1172         (WebKit::WebContext::getPasteboardPathnamesForType):
1173         (WebKit::WebContext::getPasteboardStringForType):
1174         (WebKit::WebContext::getPasteboardBufferForType):
1175         (WebKit::WebContext::pasteboardCopy):
1176         (WebKit::WebContext::getPasteboardChangeCount):
1177         (WebKit::WebContext::getPasteboardUniqueName):
1178         (WebKit::WebContext::getPasteboardColor):
1179         (WebKit::WebContext::setPasteboardTypes):
1180         (WebKit::WebContext::setPasteboardPathnamesForType):
1181         (WebKit::WebContext::setPasteboardStringForType):
1182         (WebKit::WebContext::setPasteboardBufferForType):
1183         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
1184         with the UI process.
1185         (WebKit::WebPlatformStrategies::getTypes):
1186         (WebKit::WebPlatformStrategies::bufferForType):
1187         (WebKit::WebPlatformStrategies::getPathnamesForType):
1188         (WebKit::WebPlatformStrategies::stringForType):
1189         (WebKit::WebPlatformStrategies::copy):
1190         (WebKit::WebPlatformStrategies::changeCount):
1191         (WebKit::WebPlatformStrategies::uniqueName):
1192         (WebKit::WebPlatformStrategies::color):
1193         (WebKit::WebPlatformStrategies::setTypes):
1194         (WebKit::WebPlatformStrategies::setBufferForType):
1195         (WebKit::WebPlatformStrategies::setPathnamesForType):
1196         (WebKit::WebPlatformStrategies::setStringForType):
1197
1198 2012-02-27  Dan Bernstein  <mitz@apple.com>
1199
1200         <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
1201         https://bugs.webkit.org/show_bug.cgi?id=79607
1202
1203         Reviewed by Adele Peterson.
1204
1205         Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
1206
1207         This was caused by not mapping the mouse event coordinates from window coordinates to
1208         document coordinates.
1209
1210         * WebProcess/WebPage/mac/WebPageMac.mm:
1211         (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
1212         coordinates when performing the hit test.
1213         (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
1214         frame coordinates when perfomring the hit test.
1215         (WebKit::WebPage::acceptsFirstMouse): Ditto.
1216
1217 2012-02-27  Timothy Hatcher  <timothy@apple.com>
1218
1219         Add WKInspector API to know when the Web Inspector is the frontmost window.
1220
1221         Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
1222
1223         https://webkit.org/b/79649
1224
1225         Reviewed by John Sullivan.
1226
1227         * UIProcess/API/C/WKInspector.cpp:
1228         (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
1229         * UIProcess/API/C/WKInspector.h:
1230         * UIProcess/WebInspectorProxy.cpp:
1231         (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
1232         * UIProcess/WebInspectorProxy.h:
1233         * UIProcess/efl/WebInspectorEfl.cpp:
1234         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1235         * UIProcess/gtk/WebInspectorGtk.cpp:
1236         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1237         * UIProcess/mac/WebInspectorProxyMac.mm:
1238         (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
1239         the Web Inspector window is front.
1240         (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
1241         (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
1242         (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
1243         (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
1244         (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
1245         (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
1246         (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
1247         * UIProcess/qt/WebInspectorProxyQt.cpp:
1248         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1249         * UIProcess/win/WebInspectorProxyWin.cpp:
1250         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1251
1252 2012-02-26  YoungTaeck Song  <youngtaeck.song@samsung.com>
1253
1254         [EFL][WK2] Add InjectedBundleEfl.cpp
1255         https://bugs.webkit.org/show_bug.cgi?id=75463
1256
1257         Reviewed by Andreas Kling.
1258
1259         Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
1260
1261         * WebProcess/InjectedBundle/InjectedBundle.h:
1262         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
1263         (WebKit::InjectedBundle::load):
1264         (WebKit::InjectedBundle::activateMacFontAscentHack):
1265
1266 2012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
1267
1268         Rename ShadowRootList to ShadowTree.
1269         https://bugs.webkit.org/show_bug.cgi?id=79342
1270
1271         Reviewed by Hajime Morita.
1272
1273         * win/WebKit2.def:
1274         * win/WebKit2CFLite.def:
1275
1276 2012-02-26  Hajime Morrita  <morrita@chromium.org>
1277
1278         Move ChromeClient::showContextMenu() to ContextMenuClient
1279         https://bugs.webkit.org/show_bug.cgi?id=79427
1280
1281         Reviewed by Adam Barth.
1282
1283         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1284         * WebProcess/WebCoreSupport/WebChromeClient.h:
1285         (WebChromeClient):
1286         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1287         (WebKit):
1288         (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
1289         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
1290         (WebContextMenuClient):
1291         * WebProcess/WebPage/WebPage.cpp:
1292         (WebKit::handleContextMenuEvent):
1293         (WebKit::handleMouseEvent):
1294         (WebKit::WebPage::mouseEvent):
1295         (WebKit::WebPage::mouseEventSyncForTesting):
1296
1297 2012-02-26  Huang Dongsung  <luxtella@company100.net>
1298
1299         Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
1300         renderer.
1301         https://bugs.webkit.org/show_bug.cgi?id=79478
1302
1303         This makes a lot of the broilerplate code for message-passing unnecessary, and
1304         results in a much more succinct implementation.
1305
1306         Reviewed by Noam Rosenthal.
1307
1308         * UIProcess/LayerTreeHostProxy.h:
1309         (WebKit):
1310         (LayerTreeHostProxy):
1311         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1312         (WebKit):
1313         (WebKit::LayerTreeHostProxy::updateTile):
1314         (WebKit::LayerTreeHostProxy::createImage):
1315         (WebKit::LayerTreeHostProxy::syncRemoteContent):
1316         (WebKit::LayerTreeHostProxy::dispatchUpdate):
1317         (WebKit::LayerTreeHostProxy::createTileForLayer):
1318         (WebKit::LayerTreeHostProxy::updateTileForLayer):
1319         (WebKit::LayerTreeHostProxy::removeTileForLayer):
1320         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
1321         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
1322         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
1323         (WebKit::LayerTreeHostProxy::didRenderFrame):
1324         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1325         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
1326
1327 2012-02-26  Filip Pizlo  <fpizlo@apple.com>
1328
1329         Build fix for SL.
1330
1331         * Platform/mac/RemoteLayerClient.mm:
1332         (WebKit::RemoteLayerClient::RemoteLayerClient):
1333
1334 2012-02-26  Sam Weinig  <sam@webkit.org>
1335
1336         Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
1337         https://bugs.webkit.org/show_bug.cgi?id=79612
1338
1339         Reviewed by Anders Carlsson.
1340
1341         * Platform/mac/RemoteLayerClient.h: 
1342         * Platform/mac/RemoteLayerClient.mm: 
1343         (WebKit::RemoteLayerClient::create):
1344         (WebKit::RemoteLayerClient::RemoteLayerClient):
1345         (WebKit::RemoteLayerClient::~RemoteLayerClient):
1346         (WebKit::RemoteLayerClient::clientID):
1347         (WebKit::RemoteLayerClient::invalidate):
1348         New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
1349         where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
1350         stop using WKSI.
1351
1352         * PluginProcess/PluginControllerProxy.cpp:
1353         * PluginProcess/PluginControllerProxy.h:
1354         * PluginProcess/mac/PluginControllerProxyMac.mm:
1355         (WebKit::PluginControllerProxy::platformInitialize):
1356         (WebKit::PluginControllerProxy::platformDestroy):
1357         (WebKit::PluginControllerProxy::remoteLayerClientID):
1358         (WebKit::PluginControllerProxy::platformGeometryDidChange):
1359         * WebKit2.xcodeproj/project.pbxproj:
1360         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
1361         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
1362         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
1363         (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
1364         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
1365         (LayerTreeHostCAMac):
1366         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
1367         (WebKit::LayerTreeHostCAMac::platformInitialize):
1368         (WebKit::LayerTreeHostCAMac::invalidate):
1369         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1370         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1371         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1372         Switch to using RemoteLayerClient.
1373
1374         * UIProcess/mac/WebContextMac.mm:
1375         (WebKit::WebContext::platformInitializeWebProcess):
1376         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1377         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1378         Use CARemoteLayerServer directly if available.
1379
1380 2012-02-25  Anders Carlsson  <andersca@apple.com>
1381
1382         Address review feedback from Andreas Kling.
1383
1384         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1385         (WebKit::NetscapePlugin::platformHandleMouseEvent):
1386
1387 2012-02-25  Anders Carlsson  <andersca@apple.com>
1388
1389         Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
1390         https://bugs.webkit.org/show_bug.cgi?id=79589
1391         <rdar://problem/9719592>
1392
1393         Reviewed by Sam Weinig.
1394
1395         In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
1396         whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
1397         the containing WKView is on.
1398
1399         Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
1400         system that the plug-in expects.
1401
1402         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1403         (WebKit::NetscapePlugin::platformHandleMouseEvent):
1404
1405 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1406
1407         Unreviewed, rolling out r108900.
1408         http://trac.webkit.org/changeset/108900
1409         https://bugs.webkit.org/show_bug.cgi?id=79587
1410
1411         broke some API tests, will investigate and re-commit
1412         (Requested by noamr on #webkit).
1413
1414         * UIProcess/API/qt/qquickwebpage.cpp:
1415         (computeEffectiveOpacity):
1416         (QQuickWebPagePrivate::paintToCurrentGLContext):
1417         (PageProxyNode::changedStates):
1418         (PageProxyNode::render):
1419         * UIProcess/API/qt/qquickwebpage_p_p.h:
1420         (QQuickWebPagePrivate):
1421
1422 2012-02-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
1423
1424         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
1425         https://bugs.webkit.org/show_bug.cgi?id=79543
1426
1427         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
1428         Also, remove flags from changedStates() that we don't actually touch.
1429
1430         Reviewed by Kenneth Rohde Christiansen.
1431
1432         * UIProcess/API/qt/qquickwebpage.cpp:
1433         (QQuickWebPagePrivate::paintToCurrentGLContext):
1434         (PageProxyNode::changedStates):
1435         (PageProxyNode::render):
1436         * UIProcess/API/qt/qquickwebpage_p_p.h:
1437         (QQuickWebPagePrivate):
1438
1439 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1440
1441         Unreviewed, rolling out r108816.
1442         http://trac.webkit.org/changeset/108816
1443         https://bugs.webkit.org/show_bug.cgi?id=79562
1444
1445         It made many tests crash and timeout on Qt-WK2 (Requested by
1446         ossy__ on #webkit).
1447
1448         * UIProcess/API/qt/qquickwebview.cpp:
1449         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1450         (QQuickWebViewPrivate::initialize):
1451         (QQuickWebViewPrivate::setIcon):
1452         * UIProcess/API/qt/qquickwebview_p.h:
1453         * UIProcess/API/qt/qquickwebview_p_p.h:
1454         (QQuickWebViewPrivate):
1455         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1456         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1457         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1458         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1459         (tst_QQuickWebView::loadProgress):
1460         * UIProcess/qt/QtWebPageLoadClient.cpp:
1461         (QtWebPageLoadClient::didCommitLoadForFrame):
1462         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1463         (QtWebPageLoadClient::didReceiveTitleForFrame):
1464         (QtWebPageLoadClient::setLoadProgress):
1465         * UIProcess/qt/QtWebPageLoadClient.h:
1466         (QtWebPageLoadClient):
1467
1468 2012-02-24  Andy Estes  <aestes@apple.com>
1469
1470         REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
1471         https://bugs.webkit.org/show_bug.cgi?id=79515
1472
1473         Reviewed by Alexey Proskuryakov.
1474
1475         Some versions of Safari contain call sites to two functions in WebKit2
1476         that were removed in r108730. Restore these two functions so that these
1477         versions of Safari can be used with WebKit nightly builds.
1478
1479         * UIProcess/API/C/WKPreferences.cpp:
1480         (WKPreferencesSetSuppressIncrementalRendering):
1481         (WKPreferencesGetSuppressIncrementalRendering):
1482         * UIProcess/API/C/WKPreferences.h:
1483
1484 2012-02-24  Jessie Berlin  <jberlin@apple.com>
1485
1486         requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
1487         about the permission level.
1488         https://bugs.webkit.org/show_bug.cgi?id=79494
1489
1490         Reviewed by Jon Honeycutt.
1491
1492         Invoke the callback in the case where the permission level is known and no message is sent
1493         to the UI Process.
1494
1495         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1496         (WebKit::NotificationPermissionRequestManager::startRequest):
1497
1498 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1499
1500         [Qt] Signal and property cleanup in QQuickWebView
1501         https://bugs.webkit.org/show_bug.cgi?id=78820
1502
1503         Reviewed by Simon Hausmann.
1504
1505         - Remove parameters from property change notify signals:
1506           titleChanged, urlChanged, iconChanged, loadProgressChanged
1507         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
1508         - Rename navigationStateChanged to navigationHistoryChanged
1509
1510         * UIProcess/API/qt/qquickwebview.cpp:
1511         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1512         (QQuickWebViewPrivate::initialize):
1513         (QQuickWebViewPrivate::_q_onUrlChanged):
1514         (QQuickWebViewPrivate::setIcon):
1515         * UIProcess/API/qt/qquickwebview_p.h:
1516         * UIProcess/API/qt/qquickwebview_p_p.h:
1517         (QQuickWebViewPrivate):
1518         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1519         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1520         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1521         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1522         (tst_QQuickWebView::loadProgress):
1523         * UIProcess/qt/QtWebPageLoadClient.cpp:
1524         (QtWebPageLoadClient::didCommitLoadForFrame):
1525         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1526         (QtWebPageLoadClient::didReceiveTitleForFrame):
1527         (QtWebPageLoadClient::setLoadProgress):
1528         * UIProcess/qt/QtWebPageLoadClient.h:
1529         (QtWebPageLoadClient):
1530
1531 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1532
1533         [Qt] API: Unify the loading properties and signals.
1534         https://bugs.webkit.org/show_bug.cgi?id=79486
1535
1536         Reviewed by Simon Hausmann.
1537
1538         - Remove the canReload signal, instead assume that calling reload in those cases
1539           won't have any effect.
1540         - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
1541           The signal carries an argument with a status and error codes giving the intended context.
1542         - Use loadingChanged as the notification signal for the property "loading" instead of
1543           navigationStateChanged.
1544
1545         Also update all API tests to use the new loading signals and add some utility functions
1546         to track the loading since the new API aims to be more adapted to declarative logic
1547         and the auto tests are using an imperative logic.
1548
1549         * Target.pri:
1550         * UIProcess/API/qt/qquickwebview.cpp:
1551         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1552         (QQuickWebViewPrivate::loadDidSucceed):
1553         (QQuickWebViewPrivate::didChangeLoadingState):
1554         (QQuickWebViewPrivate::processDidCrash):
1555         (QQuickWebViewPrivate::didRelaunchProcess):
1556         * UIProcess/API/qt/qquickwebview_p.h:
1557         * UIProcess/API/qt/qquickwebview_p_p.h:
1558         (QQuickWebViewPrivate):
1559         * UIProcess/API/qt/qwebloadrequest.cpp: Added.
1560         (QWebLoadRequestPrivate):
1561         (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
1562         (QWebLoadRequest::QWebLoadRequest):
1563         (QWebLoadRequest::~QWebLoadRequest):
1564         (QWebLoadRequest::url):
1565         (QWebLoadRequest::status):
1566         (QWebLoadRequest::errorString):
1567         (QWebLoadRequest::errorDomain):
1568         (QWebLoadRequest::errorCode):
1569         * UIProcess/API/qt/qwebloadrequest_p.h: Added.
1570         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1571         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
1572         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1573         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1574         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1575         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1576         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
1577         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1578         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
1579         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
1580         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
1581         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
1582         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
1583         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
1584         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
1585         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
1586         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
1587         * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
1588         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1589         (tst_QQuickWebView::navigationStatusAtStartup):
1590         (LoadStartedCatcher::LoadStartedCatcher):
1591         (LoadStartedCatcher::onLoadingChanged):
1592         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
1593         (tst_QQuickWebView::loadEmptyPageViewHidden):
1594         (tst_QQuickWebView::loadNonexistentFileUrl):
1595         (tst_QQuickWebView::backAndForward):
1596         (tst_QQuickWebView::reload):
1597         (tst_QQuickWebView::stop):
1598         (tst_QQuickWebView::loadProgress):
1599         (tst_QQuickWebView::showWebView):
1600         (tst_QQuickWebView::multipleWebViewWindows):
1601         (tst_QQuickWebView::multipleWebViews):
1602         (tst_QQuickWebView::scrollRequest):
1603         * UIProcess/API/qt/tests/util.cpp:
1604         (LoadSpy):
1605         (LoadSpy::LoadSpy):
1606         (LoadSpy::onLoadingChanged):
1607         (waitForLoadSucceeded):
1608         (waitForLoadFailed):
1609         * UIProcess/API/qt/tests/util.h:
1610         * UIProcess/qt/QtWebError.h:
1611         * UIProcess/qt/QtWebPageLoadClient.cpp:
1612         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
1613         (QtWebPageLoadClient::dispatchLoadFailed):
1614         * UIProcess/qt/QtWebPageLoadClient.h:
1615         (QtWebPageLoadClient):
1616
1617 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
1618
1619         Unreviewed, rolling out r108798.
1620         http://trac.webkit.org/changeset/108798
1621         https://bugs.webkit.org/show_bug.cgi?id=78047
1622
1623         Broke too many Qt WK2 tests.
1624
1625         * UIProcess/API/qt/qquickwebview.cpp:
1626         (QQuickWebView::keyPressEvent):
1627         (QQuickWebView::keyReleaseEvent):
1628         (QQuickWebView::inputMethodEvent):
1629         (QQuickWebView::focusInEvent):
1630         (QQuickWebView::focusOutEvent):
1631         (QQuickWebView::touchEvent):
1632         (QQuickWebView::mousePressEvent):
1633         (QQuickWebView::mouseMoveEvent):
1634         (QQuickWebView::mouseReleaseEvent):
1635         (QQuickWebView::mouseDoubleClickEvent):
1636         (QQuickWebView::wheelEvent):
1637         (QQuickWebView::hoverEnterEvent):
1638         (QQuickWebView::hoverMoveEvent):
1639         (QQuickWebView::hoverLeaveEvent):
1640         (QQuickWebView::dragMoveEvent):
1641         (QQuickWebView::dragEnterEvent):
1642         (QQuickWebView::dragLeaveEvent):
1643         (QQuickWebView::dropEvent):
1644         (QQuickWebView::event):
1645         * UIProcess/qt/QtWebPageEventHandler.cpp:
1646         (QtWebPageEventHandler::handleEvent):
1647         (QtWebPageEventHandler::handleMouseMoveEvent):
1648         (QtWebPageEventHandler::handleMousePressEvent):
1649         (QtWebPageEventHandler::handleMouseReleaseEvent):
1650         (QtWebPageEventHandler::handleWheelEvent):
1651         (QtWebPageEventHandler::handleHoverLeaveEvent):
1652         (QtWebPageEventHandler::handleHoverMoveEvent):
1653         (QtWebPageEventHandler::handleDragEnterEvent):
1654         (QtWebPageEventHandler::handleDragLeaveEvent):
1655         (QtWebPageEventHandler::handleDragMoveEvent):
1656         (QtWebPageEventHandler::handleDropEvent):
1657         (QtWebPageEventHandler::handleKeyPressEvent):
1658         (QtWebPageEventHandler::handleKeyReleaseEvent):
1659         (QtWebPageEventHandler::handleFocusInEvent):
1660         (QtWebPageEventHandler::handleFocusOutEvent):
1661         (QtWebPageEventHandler::inputMethodEvent):
1662         (QtWebPageEventHandler::touchEvent):
1663         * UIProcess/qt/QtWebPageEventHandler.h:
1664         (QtWebPageEventHandler):
1665
1666 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
1667
1668         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
1669         https://bugs.webkit.org/show_bug.cgi?id=78047
1670
1671         Reviewed by Kenneth Rohde Christiansen.
1672
1673         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
1674         QtWebPageEventHandler::handle*Event.
1675
1676         * UIProcess/API/qt/qquickwebview.cpp:
1677         (QQuickWebView::keyPressEvent):
1678         (QQuickWebView::keyReleaseEvent):
1679         (QQuickWebView::inputMethodEvent):
1680         (QQuickWebView::focusInEvent):
1681         (QQuickWebView::focusOutEvent):
1682         (QQuickWebView::touchEvent):
1683         (QQuickWebView::mousePressEvent):
1684         (QQuickWebView::mouseMoveEvent):
1685         (QQuickWebView::mouseReleaseEvent):
1686         (QQuickWebView::mouseDoubleClickEvent):
1687         (QQuickWebView::wheelEvent):
1688         (QQuickWebView::hoverEnterEvent):
1689         (QQuickWebView::hoverMoveEvent):
1690         (QQuickWebView::hoverLeaveEvent):
1691         (QQuickWebView::dragMoveEvent):
1692         (QQuickWebView::dragEnterEvent):
1693         (QQuickWebView::dragLeaveEvent):
1694         (QQuickWebView::dropEvent):
1695         (QQuickWebView::event):
1696         * UIProcess/qt/QtWebPageEventHandler.cpp:
1697         (QtWebPageEventHandler::handleMouseMoveEvent):
1698         (QtWebPageEventHandler::handleMousePressEvent):
1699         (QtWebPageEventHandler::handleMouseReleaseEvent):
1700         (QtWebPageEventHandler::handleWheelEvent):
1701         (QtWebPageEventHandler::handleHoverLeaveEvent):
1702         (QtWebPageEventHandler::handleHoverMoveEvent):
1703         (QtWebPageEventHandler::handleDragEnterEvent):
1704         (QtWebPageEventHandler::handleDragLeaveEvent):
1705         (QtWebPageEventHandler::handleDragMoveEvent):
1706         (QtWebPageEventHandler::handleDropEvent):
1707         (QtWebPageEventHandler::handleKeyPressEvent):
1708         (QtWebPageEventHandler::handleKeyReleaseEvent):
1709         (QtWebPageEventHandler::handleFocusInEvent):
1710         (QtWebPageEventHandler::handleFocusOutEvent):
1711         (QtWebPageEventHandler::handleInputMethodEvent):
1712         (QtWebPageEventHandler::handleTouchEvent):
1713         * UIProcess/qt/QtWebPageEventHandler.h:
1714         (QtWebPageEventHandler):
1715
1716 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
1717
1718         [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
1719         https://bugs.webkit.org/show_bug.cgi?id=79022
1720
1721         Reviewed by Csaba Osztrogonác.
1722
1723         * Target.pri:
1724         * UIProcess/API/qt/qquickwebpage.cpp:
1725         (PageProxyNode::PageProxyNode):
1726         (PageProxyNode::changedStates):
1727         (PageProxyNode::render):
1728         (PageProxyNode):
1729
1730 2012-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1731
1732         [GTK] Encode/decode Null ResourceResponse objects in WebKit2
1733         https://bugs.webkit.org/show_bug.cgi?id=79471
1734
1735         Reviewed by Philippe Normand.
1736
1737         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
1738         (CoreIPC::::encode): Check whether ResourceResponse is Null before
1739         encoding it.
1740         (CoreIPC::::decode): Check whether response is Null and create a
1741         Null ResourceResponse object in such case.
1742
1743 2012-02-24  Shinya Kawanaka  <shinyak@chromium.org>
1744
1745         SpellCheckRequest needs to know the context where the spellcheck happened.
1746         https://bugs.webkit.org/show_bug.cgi?id=79320
1747
1748         Reviewed by Hajime Morita.
1749
1750         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1751         (WebKit::WebEditorClient::requestCheckingOfString):
1752         * WebProcess/WebCoreSupport/WebEditorClient.h:
1753
1754 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1755
1756         [Qt] Tiling: Improve the method names dealing with moving and scaling.
1757
1758         Rubberstamped by Simon Hausmann.
1759
1760         * UIProcess/API/qt/qquickwebview.cpp:
1761         (QQuickWebViewLegacyPrivate::updateViewportSize):
1762         (QQuickWebViewFlickablePrivate::onComponentComplete):
1763         (QQuickWebViewFlickablePrivate::updateViewportSize):
1764         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
1765         (QQuickWebViewPrivate::_q_commitPositionChange):
1766         (QQuickWebViewFlickablePrivate::_q_resume):
1767         * UIProcess/API/qt/qquickwebview_p.h:
1768         * UIProcess/API/qt/qquickwebview_p_p.h:
1769         (QQuickWebViewPrivate):
1770         (QQuickWebViewPrivate::_q_commitScaleChange):
1771         (QQuickWebViewFlickablePrivate):
1772         * UIProcess/DrawingAreaProxy.h:
1773         (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
1774         (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
1775         * UIProcess/DrawingAreaProxyImpl.cpp:
1776         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
1777         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
1778         * UIProcess/DrawingAreaProxyImpl.h:
1779         (DrawingAreaProxyImpl):
1780         * UIProcess/LayerTreeHostProxy.h:
1781         (LayerTreeHostProxy):
1782         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1783         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
1784         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
1785         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1786         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
1787         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
1788         (WebKit::QtViewportInteractionEngine::wheelEvent):
1789         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
1790         * UIProcess/qt/QtViewportInteractionEngine.h:
1791         (QtViewportInteractionEngine):
1792         * WebProcess/WebPage/LayerTreeHost.h:
1793         (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
1794         (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
1795         (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
1796         * WebProcess/WebPage/LayerTreeHost.messages.in:
1797         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1798         (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
1799         (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
1800         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1801         (LayerTreeHostQt):
1802
1803 2012-02-24  Sergio Villar Senin  <svillar@igalia.com>
1804
1805         [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
1806         https://bugs.webkit.org/show_bug.cgi?id=79466
1807
1808         Reviewed by Philippe Normand.
1809
1810         Explicitly cast the observer before deleting it instead of just
1811         deleting a generic pointer. We must to that in order to get the
1812         destructor of the object properly called.
1813
1814         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
1815         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
1816
1817 2012-02-23  Andy Estes  <aestes@apple.com>
1818
1819         Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
1820         https://bugs.webkit.org/show_bug.cgi?id=79433
1821
1822         Reviewed by Dan Bernstein.
1823
1824         * Shared/WebPreferencesStore.h:
1825         (WebKit):
1826         * UIProcess/API/C/WKPreferences.cpp:
1827         (WKPreferencesSetSuppressesIncrementalRendering):
1828         (WKPreferencesGetSuppressesIncrementalRendering):
1829         * UIProcess/API/C/WKPreferences.h:
1830         * UIProcess/WebInspectorProxy.cpp:
1831         (WebKit::createInspectorPageGroup):
1832         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1833         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
1834         * WebProcess/WebPage/WebPage.cpp:
1835         (WebKit::WebPage::updatePreferences):
1836
1837 2012-02-23  Mario Sanchez Prada  <msanchez@igalia.com>
1838
1839         [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
1840         https://bugs.webkit.org/show_bug.cgi?id=79352
1841
1842         Reviewed by Philippe Normand.
1843
1844         Emit the signal 'resizable' instead of 'resizable-visible'.
1845
1846         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
1847         (webkitWindowPropertiesSetResizable): Use right signal name.
1848
1849 2012-02-23  Anders Carlsson  <andersca@apple.com>
1850
1851         Flush layer changes after layout when resizing web page
1852         https://bugs.webkit.org/show_bug.cgi?id=79399
1853         <rdar://problem/10920157>
1854
1855         Reviewed by Andreas Kling.
1856
1857         Flush layer changes after layout, otherwise the scrollbars won't be updated
1858         until sometime later which looks bad.
1859
1860         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1861         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1862
1863 2012-02-23  Daniel Bates  <dbates@webkit.org>
1864
1865         Add missing "Reviewed by" line to change log entry for changeset r108631
1866         (https://bugs.webkit.org/show_bug.cgi?id=79252)
1867
1868         The patch landed in changeset r108631 was reviewed by Martin Robinson.
1869
1870         * ChangeLog:
1871
1872 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
1873
1874         [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
1875         https://bugs.webkit.org/show_bug.cgi?id=79371
1876
1877         Reviewed by Daniel Bates.
1878
1879         * CMakeLists.txt:
1880
1881 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
1882
1883         [Qt] Add support for touch cancellation
1884         https://bugs.webkit.org/show_bug.cgi?id=79348
1885
1886         Reviewed by Kenneth Rohde Christiansen.
1887
1888         Convert and forward incoming touch cancellation events
1889         to the web process.
1890
1891         * Shared/qt/WebEventFactoryQt.cpp:
1892         (WebKit::webEventTypeForEvent):
1893         (WebKit::WebEventFactory::createWebTouchEvent):
1894         * UIProcess/API/qt/qquickwebview.cpp:
1895         (QQuickWebView::event):
1896         * UIProcess/qt/QtWebPageEventHandler.cpp:
1897         (QtWebPageEventHandler::handleEvent):
1898
1899 2012-02-23  Brent Fulgham  <bfulgham@webkit.org>
1900
1901         [WinCairo] Build fix after r108428.
1902
1903         * win/WebKit2CFLite.def: Add missing export declaration.
1904
1905 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
1906
1907         Unreviewed test fix after r108614: Adjust public API after changes.
1908
1909         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1910
1911 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
1912
1913         [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
1914         https://bugs.webkit.org/show_bug.cgi?id=79335
1915
1916         Reviewed by Kenneth Rohde Christiansen.
1917
1918         In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
1919         will be removed. There's no need for us to use it, we can implement passing the hints
1920         to the input method right away in our re-implementation of inputMethodQuery, which works
1921         with old and newer Qt 5 builds.
1922
1923         * UIProcess/API/qt/qquickwebview.cpp:
1924         (QQuickWebView::inputMethodQuery):
1925         * UIProcess/qt/QtWebPageEventHandler.cpp:
1926         (QtWebPageEventHandler::updateTextInputState):
1927
1928 2012-02-23  Sergio Villar Senin  <svillar@igalia.com>
1929
1930         [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
1931         https://bugs.webkit.org/show_bug.cgi?id=79252
1932
1933         Reviewed by Martin Robinson.
1934
1935         Do not execute clipboard callbacks after the Frame associated with
1936         it is destroyed.
1937
1938         This change is already covered by the TestWebViewEditor unit tests
1939         (among others), they hang (because WebProcess dies) without this
1940         patch in Debug builds.
1941
1942         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
1943         (EditorClientFrameDestructionObserver):
1944         (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
1945         (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
1946         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
1947         (WebKit):
1948         (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
1949
1950 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1951
1952         [Qt] Page doesn't get repainted while panning is in progress
1953         https://bugs.webkit.org/show_bug.cgi?id=78602
1954
1955         Reviewed by Simon Hausmann.
1956
1957         The tiling code needed the current visibleContentsRect in order to be
1958         able to create tiles, so we now make sure it gets it. We also needed
1959         to make sure to set the trajectory vector while panning and while the
1960         flicking engine was animating kinetic scrolling.
1961
1962         * UIProcess/API/qt/qquickwebview.cpp:
1963         (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
1964         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
1965         * UIProcess/DrawingAreaProxy.h:
1966         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
1967         * UIProcess/DrawingAreaProxyImpl.cpp:
1968         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
1969         * UIProcess/DrawingAreaProxyImpl.h:
1970         (DrawingAreaProxyImpl):
1971         * UIProcess/LayerTreeHostProxy.h:
1972         (LayerTreeHostProxy):
1973         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1974         (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
1975         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1976         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1977         (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
1978         (WebKit):
1979         (WebKit::QtViewportInteractionEngine::panMoveStarted):
1980         (WebKit::QtViewportInteractionEngine::panMoveEnded):
1981         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
1982         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
1983         * UIProcess/qt/QtViewportInteractionEngine.h:
1984         (QtViewportInteractionEngine):
1985         * WebProcess/WebPage/LayerTreeHost.h:
1986         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
1987         * WebProcess/WebPage/LayerTreeHost.messages.in:
1988         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1989         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
1990         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
1991         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1992         (LayerTreeHostQt):
1993
1994 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
1995
1996         [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
1997         https://bugs.webkit.org/show_bug.cgi?id=76122
1998
1999         Reviewed by Eric Seidel.
2000
2001         * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
2002
2003 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
2004
2005         [WK2] Trivial build fix after r108615.
2006
2007         * WebProcess/WebPage/WebPage.cpp:
2008         (WebKit::WebPage::WebPage):
2009
2010 2012-02-22  Michael Tyutyunik  <michael.tyutyunik@nokia.com>
2011
2012         [Qt][WK2] navigationType is missing in new API
2013         https://bugs.webkit.org/show_bug.cgi?id=78867
2014
2015         Reviewed by Simon Hausmann.
2016
2017         In QtWebPagePolicyClient::decidePolicyForNavigationAction()
2018         navigationType argument is dropped by mistake. Adding it back
2019         and make it available through NavigationRequest.
2020
2021         * UIProcess/API/qt/qquickwebview_p.h:
2022         * UIProcess/API/qt/qwebnavigationrequest.cpp:
2023         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
2024         (QWebNavigationRequestPrivate):
2025         (QWebNavigationRequest::QWebNavigationRequest):
2026         (QWebNavigationRequest::navigationType):
2027         * UIProcess/API/qt/qwebnavigationrequest_p.h:
2028         * UIProcess/qt/QtWebPagePolicyClient.cpp:
2029         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
2030         (toQuickWebViewNavigationType):
2031         * UIProcess/qt/QtWebPagePolicyClient.h:
2032         (QtWebPagePolicyClient):
2033
2034 2012-02-22  Anders Carlsson  <andersca@apple.com>
2035
2036         Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
2037         https://bugs.webkit.org/show_bug.cgi?id=79297
2038         <rdar://problem/10748510>
2039
2040         Reviewed by Beth Dakin.
2041
2042         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2043         (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
2044         Send a message to the web process.
2045
2046         * WebProcess/WebPage/DrawingArea.h:
2047         (WebKit::DrawingArea::setDeviceScaleFactor):
2048         Add empty stub.
2049
2050         * WebProcess/WebPage/DrawingArea.messages.in:
2051         Add SetDeviceScaleFactor message.
2052
2053         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2054         (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2055         Call WebPage::setDeviceScaleFactor.
2056
2057 2012-02-22  Brady Eidson  <beidson@apple.com>
2058
2059         <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
2060         Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
2061
2062         Reviewed by Anders Carlsson.
2063
2064         Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
2065         
2066         In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
2067         notification but don't actually want to make a policy decision.
2068
2069         Making it an asynchronous notification instead of a synchronous policy call will remove the
2070         possibility of a hang here.
2071
2072         If clients later decide it is important to have a policy here we should implement a form of
2073         shouldGoToBackForwardListItem in the bundle loader client.
2074
2075         Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
2076         * UIProcess/API/C/WKPage.h:
2077
2078         * UIProcess/WebPageProxy.cpp:
2079         (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
2080           sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
2081         (WebKit::WebPageProxy::shouldGoToBackForwardListItem): 
2082         (WebKit::WebPageProxy::willGoToBackForwardListItem):
2083         * UIProcess/WebPageProxy.h:
2084         * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
2085
2086         Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form 
2087         of the callback should be used:
2088         * WebProcess/WebPage/WebPage.cpp:
2089         (WebKit::WebPage::WebPage):
2090         * WebProcess/WebPage/WebPage.h:
2091         (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
2092         (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
2093         * WebProcess/WebPage/WebPage.messages.in:
2094
2095         * UIProcess/WebLoaderClient.cpp:
2096         (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
2097           version 0 clients.
2098         (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
2099         * UIProcess/WebLoaderClient.h:
2100         (WebLoaderClient):
2101         
2102         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2103         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
2104           or the asynchronous "will" message depending on which the WebProcess was last told that the
2105           UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
2106           hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
2107           It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
2108           of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
2109
2110 2012-02-16  Jon Lee  <jonlee@apple.com>
2111
2112         [WK2] Clearing notifications does not clean up internal state
2113         https://bugs.webkit.org/show_bug.cgi?id=78861
2114         <rdar://problem/10881167>
2115
2116         Reviewed by Anders Carlsson.
2117
2118         * WebProcess/Notifications/WebNotificationManager.cpp:
2119         (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
2120         entries from the other maps.
2121         (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
2122         also be removed from the context map.
2123         (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
2124         a provided notification from the context map.
2125         (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
2126         remove it. If the map is empty, get rid of the entry.
2127         * WebProcess/Notifications/WebNotificationManager.h:
2128         (WebNotificationManager):
2129
2130 2012-02-22  Jon Lee  <jonlee@apple.com>
2131
2132         Code cleanup in WebNotificationManager (79285)
2133         https://bugs.webkit.org/show_bug.cgi?id=79285
2134         <rdar://problem/10914522>
2135
2136         Reviewed by Anders Carlsson.
2137
2138         * WebProcess/Notifications/WebNotificationManager.cpp:
2139         (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
2140         similar to what is found in WebNotificationClient.mm in WebKit 1.
2141
2142 2012-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2143
2144         Remove the remaining uses of CSSStyleDeclaration in Editor
2145         https://bugs.webkit.org/show_bug.cgi?id=78939
2146
2147         Reviewed by Enrica Casucci.
2148
2149         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2150         (WebKit::WebEditorClient::shouldApplyStyle):
2151         * WebProcess/WebCoreSupport/WebEditorClient.h:
2152         (WebEditorClient):
2153
2154 2012-02-22  Martin Robinson  <mrobinson@igalia.com>
2155
2156         [GTK] Clean build is broken when using make -j
2157         https://bugs.webkit.org/show_bug.cgi?id=76388
2158
2159         * GNUmakefile.am: Add some WebKit2 sources to global sources lists
2160         so that we can refer to them in separate GNUmakefiles.
2161
2162 2012-02-22  Antaryami Pandia  <antaryami.pandia@motorola.com>
2163
2164         [GTK][WK2] Add WebGL WebSetting.
2165         https://bugs.webkit.org/show_bug.cgi?id=79217
2166
2167         Reviewed by Martin Robinson.
2168
2169         Add a WebSetting to enable/disable Webgl.
2170
2171         * UIProcess/API/gtk/WebKitSettings.cpp:
2172         (webKitSettingsSetProperty):
2173         (webKitSettingsGetProperty):
2174         (webkit_settings_class_init):
2175         (webkit_settings_set_enable_webaudio):
2176         (webkit_settings_get_enable_webgl):
2177         (webkit_settings_set_enable_webgl):
2178         * UIProcess/API/gtk/WebKitSettings.h:
2179         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2180         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2181         (testWebKitSettings):
2182
2183 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2184
2185         [Qt] Disregard previous backing store as soon as possible
2186         https://bugs.webkit.org/show_bug.cgi?id=79232
2187
2188         Reviewed by Simon Hausmann and No'am Rosenthal.
2189
2190         Between creating the new backing store and painting the content,
2191         we do not want to drop the previous one as that might result in
2192         briefly seeing flickering as the old tiles may be dropped before
2193         something replaces them.
2194
2195         But we do need to drop it at some point and we need to make sure
2196         to not spike the memory usage before of this.
2197
2198         What we now do, is to store the previous backing store as before,
2199         but drop all tiles which are not visible and then drop it as soon
2200         as the visible rect (which might change due if followed by a quick
2201         panning) has been fully covered by tiles.
2202
2203         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2204         (WebCore::WebGraphicsLayer::setContentsScale):
2205         (WebCore::WebGraphicsLayer::updateContentBuffers):
2206
2207 2012-02-22  Michael Brüning  <michael.bruning@nokia.com>
2208
2209         [Qt][WK2] Implement proxy authentication handling.
2210         https://bugs.webkit.org/show_bug.cgi?id=78792
2211
2212         Reviewed by Simon Hausmann.
2213
2214         This patch corrects two bugs with the previous implementation:
2215         1. The signal proxyAuthenticationRequired was not connected to a
2216            slot.
2217         2. The slot onProxyAuthenticationRequired had the wrong parameters. 
2218
2219         * WebProcess/qt/QtNetworkAccessManager.cpp:
2220         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
2221         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
2222         * WebProcess/qt/QtNetworkAccessManager.h: Added include.
2223         (QtNetworkAccessManager):
2224
2225 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2226
2227         Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
2228         the more descriptive coverWithTilesIfNeeded
2229         https://bugs.webkit.org/show_bug.cgi?id=79230
2230
2231         Reviewed by Simon Hausmann.
2232
2233         Replace use by coverWithTilesIfNeeded().
2234
2235         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2236         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2237         (WebCore::WebGraphicsLayer::adjustVisibleRect):
2238         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
2239
2240 2012-02-22  Zalan Bujtas  <zbujtas@gmail.com>
2241
2242         [Qt][WK2] Add frame flattening setting to QWebPreferences.
2243         https://bugs.webkit.org/show_bug.cgi?id=79099
2244
2245         Reviewed by Simon Hausmann.
2246
2247         Frame flattening is enabled by default for Qt WebKit2.
2248
2249         * UIProcess/API/qt/qquickwebview.cpp:
2250         (QQuickWebViewPrivate::initialize):
2251         * UIProcess/API/qt/qwebpreferences.cpp:
2252         (QWebPreferencesPrivate::testAttribute):
2253         (QWebPreferencesPrivate::setAttribute):
2254         (QWebPreferences::setNavigatorQtObjectEnabled):
2255         (QWebPreferences::frameFlatteningEnabled):
2256         (QWebPreferences::setFrameFlatteningEnabled):
2257         * UIProcess/API/qt/qwebpreferences_p.h:
2258
2259 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2260
2261         Remove the remaining uses of CSSStyleDeclaration in Editor
2262         https://bugs.webkit.org/show_bug.cgi?id=78939
2263
2264         Reviewed by Enrica Casucci.
2265
2266         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2267         (WebKit::WebEditorClient::shouldApplyStyle):
2268         * WebProcess/WebCoreSupport/WebEditorClient.h:
2269         (WebEditorClient):
2270
2271 2012-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2272
2273         [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
2274         https://bugs.webkit.org/show_bug.cgi?id=79120
2275
2276         Reviewed by Martin Robinson.
2277
2278         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2279         (CoreIPC::::encode): Encode a boolean to indicate whether it's a
2280         Null error.
2281         (CoreIPC::::decode): Check whether the error is Null and do not
2282         continue decoding in such case.
2283
2284 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2285
2286         [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
2287         https://bugs.webkit.org/show_bug.cgi?id=78962
2288
2289         Only avoid painting old-scale tiles in semi-transparent situtations if the old
2290         tiles intersect with existing tiles.
2291
2292         Reviewed by Kenneth Rohde Christiansen.
2293
2294         * UIProcess/qt/LayerBackingStore.cpp:
2295         (WebKit::LayerBackingStore::paintToTextureMapper):
2296
2297 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2298
2299         [Qt] Previous web page appears outside content rect
2300         https://bugs.webkit.org/show_bug.cgi?id=78816
2301
2302         Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
2303
2304         Reviewed by Kenneth Rohde Christiansen.
2305
2306         * UIProcess/qt/LayerBackingStore.cpp:
2307         (WebKit::LayerBackingStore::paintToTextureMapper):
2308
2309 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2310
2311         [Qt][WK2] Accelerated animations don't work on Mac
2312         https://bugs.webkit.org/show_bug.cgi?id=78963
2313
2314         Problem came from using a non-RunLoop timer.
2315         Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
2316         Use a continuous timer that we only stop when animations stop.
2317
2318         Reviewed by Kenneth Rohde Christiansen.
2319
2320         * UIProcess/LayerTreeHostProxy.h:
2321         (LayerTreeHostProxy):
2322         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2323         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
2324         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2325         (WebKit):
2326         (WebKit::LayerTreeHostProxy::syncAnimations):
2327
2328 2012-02-21  Sam Weinig  <sam@webkit.org>
2329
2330         Attempt to fix the Snow Leopard build.
2331
2332         * Configurations/Base.xcconfig:
2333
2334 2012-02-21  Sam Weinig  <sam@webkit.org>
2335
2336         Use libc++ when building with Clang on Mac
2337         https://bugs.webkit.org/show_bug.cgi?id=78981
2338
2339         Reviewed by Dan Bernstein.
2340
2341         * Configurations/Base.xcconfig:
2342
2343 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
2344
2345         [Qt][WK2] Get rid of the dependency to QtWidgets
2346         https://bugs.webkit.org/show_bug.cgi?id=76276
2347
2348         Reviewed by Simon Hausmann.
2349
2350         * Target.pri:
2351         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2352         (main):
2353         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2354         * UIProcess/API/qt/tests/tests.pri:
2355         * UIProcess/API/qt/tests/util.h:
2356
2357 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2358
2359         [UNIX] Plugin information fields are not interpreted as UTF-8
2360         https://bugs.webkit.org/show_bug.cgi?id=78635
2361
2362         Reviewed by Gustavo Noronha Silva.
2363
2364         Interpret plugin metadata as UTF8 aways. This matches the behavior
2365         of Chromium and the Totem plugin.
2366
2367         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2368         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
2369
2370 2012-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2371
2372         [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
2373         https://bugs.webkit.org/show_bug.cgi?id=79036
2374
2375         Reviewed by Martin Robinson.
2376
2377         This looks like a bug in gobject. Initializing the WebProcess
2378         before creating the soup session seems to fix the problem. It's
2379         actually a workaround, but initializing the WebProcess as sson as
2380         possible it's a good idea in any case.
2381
2382         * WebProcess/gtk/WebProcessMainGtk.cpp:
2383         (WebKit::WebProcessMainGtk):
2384
2385 2012-02-20  Michael Brüning  <michael.bruning@nokia.com>
2386
2387         [Qt][WK2] Implement proxy authentication handling.
2388         https://bugs.webkit.org/show_bug.cgi?id=78792
2389
2390         Reviewed by Simon Hausmann.
2391
2392         This patch implements the proxy authentication handling
2393         for the Qt port in a similar matter to the http authentication
2394         implementation.
2395
2396         Since there is a need to pass the proxy port, which is of type uint16_t,
2397         from the WebProcess to the UIProcess, an encoder and a decoder for
2398         this type was added because it did not exist.
2399         
2400         The message that was added to the WebPageProxy is called synchronously
2401         as this is needed by the implementation of the network access manager
2402         and has also been implemented this way already for the http 
2403         authentication.
2404
2405         * Platform/CoreIPC/ArgumentDecoder.cpp:
2406         (CoreIPC::ArgumentDecoder::decodeUInt16):
2407         (CoreIPC):
2408         * Platform/CoreIPC/ArgumentDecoder.h:
2409         (ArgumentDecoder):
2410         (CoreIPC::ArgumentDecoder::decode):
2411         (CoreIPC):
2412         * Platform/CoreIPC/ArgumentEncoder.cpp:
2413         (CoreIPC::ArgumentEncoder::encodeUInt16):
2414         (CoreIPC):
2415         * Platform/CoreIPC/ArgumentEncoder.h:
2416         (ArgumentEncoder):
2417         (CoreIPC::ArgumentEncoder::encode):
2418         (CoreIPC):
2419         * UIProcess/API/qt/qquickwebview.cpp:
2420         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2421         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
2422         (QQuickWebViewExperimental::proxyAuthenticationDialog):
2423         (QQuickWebViewExperimental::setProxyAuthenticationDialog):
2424         * UIProcess/API/qt/qquickwebview_p.h:
2425         * UIProcess/API/qt/qquickwebview_p_p.h:
2426         (QQuickWebViewPrivate):
2427         * UIProcess/PageClient.h:
2428         (PageClient):
2429         * UIProcess/WebPageProxy.cpp:
2430         (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
2431         (WebKit):
2432         * UIProcess/WebPageProxy.h:
2433         (WebPageProxy):
2434         * UIProcess/WebPageProxy.messages.in:
2435         * UIProcess/qt/QtDialogRunner.cpp:
2436         (ProxyAuthenticationDialogContextObject):
2437         (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
2438         (ProxyAuthenticationDialogContextObject::hostname):
2439         (ProxyAuthenticationDialogContextObject::port):
2440         (ProxyAuthenticationDialogContextObject::prefilledUsername):
2441         (ProxyAuthenticationDialogContextObject::accept):
2442         (ProxyAuthenticationDialogContextObject::reject):
2443         (QtDialogRunner::initForProxyAuthentication):
2444         * UIProcess/qt/QtDialogRunner.h:
2445         (QtDialogRunner):
2446         * UIProcess/qt/QtPageClient.cpp:
2447         (QtPageClient::handleProxyAuthenticationRequiredRequest):
2448         * UIProcess/qt/QtPageClient.h:
2449         (QtPageClient):
2450         * WebProcess/WebPage/DecoderAdapter.cpp:
2451         (WebKit::DecoderAdapter::decodeUInt16):
2452         (WebKit):
2453         * WebProcess/WebPage/DecoderAdapter.h:
2454         (DecoderAdapter):
2455         * WebProcess/WebPage/EncoderAdapter.cpp:
2456         (WebKit::EncoderAdapter::encodeUInt16):
2457         (WebKit):
2458         * WebProcess/WebPage/EncoderAdapter.h:
2459         (EncoderAdapter):
2460         * WebProcess/qt/QtNetworkAccessManager.cpp:
2461         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
2462         (WebKit):
2463         * WebProcess/qt/QtNetworkAccessManager.h:
2464         (QtNetworkAccessManager):
2465
2466 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
2467
2468         [CMake] Update and sort list of source files.
2469
2470         * CMakeLists.txt:
2471
2472 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2473
2474         Fix WebKit2GTK+ for 'make distcheck'.
2475
2476         Instead of conditionally including WebKit2 GNUmakefiles, always
2477         include them and conditionally activate the final targets.
2478
2479         * GNUmakefile.am:
2480         * UIProcess/API/gtk/tests/GNUmakefile.am:
2481
2482 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2483
2484         [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
2485         https://bugs.webkit.org/show_bug.cgi?id=79011
2486
2487         Fix the build when gtk-unix-printing-3.0 is not present.
2488
2489         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2490         (webkitPrintOperationRunDialog):
2491         (webkitPrintOperationRunDialogForFrame):
2492         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2493         (WebKit::WebPrintOperationGtk::create):
2494
2495 2012-02-18  Dan Bernstein  <mitz@apple.com>
2496
2497         <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
2498         https://bugs.webkit.org/show_bug.cgi?id=78976
2499
2500         Reviewed by Anders Carlsson.
2501
2502         Rather than move pixels in the backing store in response to scrolling, we can maintain a
2503         mapping, for the most recently scrolled rect, from backing store coordinates to view
2504         client coordinates.
2505
2506         * UIProcess/BackingStore.h:
2507         * UIProcess/mac/BackingStoreMac.mm:
2508         (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
2509         performed on a rect, divides the rect into parts such that for each part the mapping from
2510         backing store coordinates to client coordinates is a (uniform) translation, and performs
2511         the block on that part, passing it the translation that applies to the part.
2512         (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
2513         back to where it should be under the identity map, and resets the scrolled rect and offset.
2514         (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
2515         (WebKit::BackingStore::incorporateUpdate): Ditto.
2516         (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
2517         rect and offset.
2518
2519 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
2520
2521         [Qt][WK2] Allow opaque tiles
2522         https://bugs.webkit.org/show_bug.cgi?id=78809
2523
2524         Apply the SupportsAlpha flag only when the buffers actually have alpha.
2525
2526         Reviewed by Kenneth Rohde Christiansen.
2527
2528         * Shared/ShareableBitmap.h:
2529         (ShareableBitmap):
2530         * Shared/qt/ShareableBitmapQt.cpp:
2531         * UIProcess/qt/LayerBackingStore.cpp:
2532         (WebKit::LayerBackingStoreTile::swapBuffers):
2533
2534 2012-02-17  Adam Roben  <aroben@apple.com>
2535
2536         Clang build fix after r108119
2537
2538         * WebProcess/WebProcess.cpp:
2539         (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
2540
2541 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
2542
2543         Remove unused parameters from WTF threading API
2544         https://bugs.webkit.org/show_bug.cgi?id=78389
2545
2546         Reviewed by Adam Roben.
2547
2548         waitForThreadCompletion() had an out param 'void **result' to get the
2549         'void *' returned by ThreadFunction. However, the implementation in
2550         ThreadingWin.cpp ignored the out param, not filling it in. This had
2551         led to a situation where none of the client code made use of the param
2552         and just ignored it.
2553
2554         To clean this up, the patch changes the signature of ThreadFunction to
2555         return void instead of void* and drops the the unused 'void **result'
2556         parameter from waitForThreadCompletion. Also, all client code is
2557         updated for the API change.
2558
2559         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
2560         though the change only affects internal API, Safari is using it
2561         directly and we'll need to keep the old versions around for ABI
2562         compatibility. For this, the patch adds compatibility wrappers with
2563         the old ABI.
2564
2565         * Platform/WorkQueue.h:
2566         (WorkQueue):
2567         * Platform/gtk/WorkQueueGtk.cpp:
2568         (WorkQueue::startWorkQueueThread):
2569         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
2570         (WebKit::webThreadBody):
2571         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
2572         (WebKit::webThreadBody):
2573         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
2574         (WebKit::webThreadBody):
2575         * WebProcess/WebProcess.cpp:
2576         (WebKit::randomCrashThread):
2577         * win/WebKit2.def:
2578         * win/WebKit2CFLite.def:
2579
2580 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
2581
2582         CSS regions enabled by default
2583         https://bugs.webkit.org/show_bug.cgi?id=78525
2584
2585         Reviewed by David Hyatt.
2586
2587         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
2588         CSSRegions are still enabled by default.
2589         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
2590
2591         * Shared/WebPreferencesStore.h:
2592         (WebKit):
2593         * UIProcess/API/C/WKPreferences.cpp:
2594         (WKPreferencesSetCSSRegionsEnabled):
2595         (WKPreferencesGetCSSRegionsEnabled):
2596         * UIProcess/API/C/WKPreferencesPrivate.h:
2597         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2598         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2599         * WebProcess/WebPage/WebPage.cpp:
2600         (WebKit::WebPage::updatePreferences):
2601
2602 2012-02-17  Enrica Casucci  <enrica@apple.com>
2603
2604         Refactor DragData class to use PlatformStrategies in the Mac implementation.
2605         https://bugs.webkit.org/show_bug.cgi?id=78768
2606
2607         Reviewed by Darin Adler.
2608
2609         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
2610         (WebKit::WebPlatformStrategies::color):
2611         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2612
2613 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
2614
2615         Fix some warnings encountered during the GTK+ build
2616         https://bugs.webkit.org/show_bug.cgi?id=78911
2617
2618         Reviewed by Xan Lopez.
2619
2620         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2621         (attachLoaderClientToView): Initialize a new member of the loader client struct.
2622
2623 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2624
2625         [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
2626         https://bugs.webkit.org/show_bug.cgi?id=78823
2627
2628         Reviewed by Gustavo Noronha Silva.
2629
2630         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2631         (webkitPrintOperationRunDialogUnix): Enable scale option in print
2632         dialog.
2633         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2634         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
2635         manual scale to 1.
2636         (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
2637         moved the needs rotate check here as an early return.
2638         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
2639         page according to the manual scale factor.
2640         (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
2641         prepareContextToDraw.
2642         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2643
2644 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2645
2646         [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
2647         https://bugs.webkit.org/show_bug.cgi?id=78805
2648
2649         Reviewed by Gustavo Noronha Silva.
2650
2651         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2652         (webkitPrintOperationRunDialogUnix): Enable multiple copies and
2653         collate options in print dialog.
2654         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2655         (WebKit::PrintPagesData::PrintPagesData): Initialize number of
2656         collated and uncolated copies done and total.
2657         (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
2658         returns the number of collated copies left to do.
2659         (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
2660         that returns the number of uncollated copies left to do.
2661         (WebKit::PrintPagesData::copiesLeft): Helper function
2662         that returns the number of collated or uncollated copies left to
2663         do.
2664         (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
2665         print if there are uncollated copies left, and do not increment
2666         sheet number if there are collated copies left.
2667         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
2668         m_manualCopies to 1 and m_manualCollateCopies to false.
2669         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2670
2671 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2672
2673         [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
2674         https://bugs.webkit.org/show_bug.cgi?id=78799
2675
2676         Reviewed by Gustavo Noronha Silva.
2677
2678         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2679         (webkitPrintOperationRunDialogUnix): Enable printing in reverse
2680         order option in print dialog.
2681         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2682         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
2683         and lastPagePosition depending on whether printing is in reverse
2684         order or not.
2685         (WebKit::PrintPagesData::incrementPageSequence): Use a negative
2686         increment step when printing in reverse order. Fix page
2687         incrementing when printing only odd/even pages broken in previous
2688         commit due to merge conflicts.
2689         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
2690         reverse printing to false.
2691         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2692
2693 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2694
2695         [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
2696         https://bugs.webkit.org/show_bug.cgi?id=78793
2697
2698         Reviewed by Gustavo Noronha Silva.
2699
2700         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2701         (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
2702         option in print dialog.
2703         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2704         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2705         (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
2706         initialize it depending on the page set.
2707         (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
2708         increment when printing only odd/even pages.
2709         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
2710         m_manualPageSet to GTK_PAGE_SET_ALL.
2711
2712 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2713
2714         [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
2715         https://bugs.webkit.org/show_bug.cgi?id=78715
2716
2717         Reviewed by Gustavo Noronha Silva.
2718
2719         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2720         (webkitPrintOperationRunDialogUnix): Enable multiple pages per
2721         sheet options in print dialog.
2722         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2723         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
2724         and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
2725         (WebKit::PrintPagesData::incrementPageSequence): Increment current
2726         sheet and page position.
2727         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
2728         (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
2729         Helper function to check whether current pages is the first one of
2730         the current sheet.
2731         (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
2732         Helper function to check whether current pages is the last one of
2733         the current sheet.
2734         (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
2735         Returns the number of rows and columns of pages per sheet.
2736         (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
2737         the row and column number of the current page in the current sheet.
2738         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
2739         scale and rotate accordingly to render every page in the right
2740         place of the sheet.
2741         (WebKit::WebPrintOperationGtk::renderPage): Call
2742         prepareContextToDraw() before drawing the page.
2743         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2744         (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
2745         (WebKit::WebPrintOperationGtk::pagePosition):
2746         (WebKit::WebPrintOperationGtk::setPagePosition):
2747         (WebKit::WebPrintOperationGtk::numberUp):
2748         (WebKit::WebPrintOperationGtk::numberUpLayout):
2749
2750 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2751
2752         [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
2753         https://bugs.webkit.org/show_bug.cgi?id=78893
2754
2755         Reviewed by Gustavo Noronha Silva.
2756
2757         And it's not emitted anynmore when the print dialog has been
2758         cancelled. Since it's not possible to know whether the print
2759         dialog was cancelled or not, the enum WebKitPrintOperationResponse
2760         has been added, with Print and Cancel values, and it's used as
2761         return value of webkit_print_operation_run_dialog().
2762
2763         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2764         (webkit_print_operation_class_init): Rename done as finished.
2765         (webkitPrintOperationRunDialogUnix): Return a
2766         WebKitPrintOperationResponse instead of bool.
2767         (webkitPrintOperationRunDialogWin32): Ditto.
2768         (drawPagesForPrintingCompleted): Emit finished instead of done.
2769         (webkitPrintOperationRunDialogForFrame): Do not emit finished if
2770         the dialog was cancelled and return a WebKitPrintOperationResponse.
2771         (webkit_print_operation_run_dialog): Return
2772         WebKitPrintOperationResponse.
2773         * UIProcess/API/gtk/WebKitPrintOperation.h: Add
2774         WebKitPrintOperationResponse enum.
2775         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
2776         * UIProcess/API/gtk/WebKitWebView.cpp:
2777         (webkitWebViewPrintFrame): Check whether the dialog has been
2778         cancelled or not and connect to finish when the print operation is
2779         in progress to release the print operation object when printing
2780         finishes.
2781         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
2782         WebKitPrintOperationResponse symbol.
2783         * UIProcess/API/gtk/tests/TestPrinting.cpp:
2784         (testPrintOperationPrintFinished): Use finished instead of done.
2785         (testPrintOperationPrint): Ditto.
2786
2787 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2788
2789         [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
2790         https://bugs.webkit.org/show_bug.cgi?id=76536
2791
2792         Reviewed by Gustavo Noronha Silva.
2793
2794         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2795         (webkitPrintOperationPrintPagesForFrame): Helper function to call
2796         WebPageProxy::drawPagesForPrinting using the given
2797         GtkPrintSettings and GtkPageSetup.
2798         (webkitPrintOperationRunDialogForFrame): Use
2799         webkitPrintOperationPrintPagesForFrame().
2800         (webkit_print_operation_print): Print directly using current
2801         GtkPrintSettings and GtkPageSetup without showing the print
2802         dialog.
2803         * UIProcess/API/gtk/WebKitPrintOperation.h:
2804         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2805         * UIProcess/API/gtk/tests/GNUmakefile.am:
2806         * UIProcess/API/gtk/tests/TestPrinting.cpp:
2807         (testPrintOperationPrintLoadChanged):
2808         (testPrintOperationPrintDone):
2809         (testPrintOperationPrintPrinter):
2810         (testPrintOperationPrint):
2811         (beforeAll):
2812         (afterAll):
2813
2814 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
2815
2816         [Qt][WK2] Allow partial updates
2817         https://bugs.webkit.org/show_bug.cgi?id=78824
2818
2819         Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
2820         contains only the dirty rectangle of the current paint. This requires a lot less memory
2821         for small updates, for example when typing a text in an input field.
2822         This shows a significant reduction in overhead when testing on Mac with Instruments.
2823
2824         Reviewed by Simon Hausmann.
2825
2826         * UIProcess/qt/LayerBackingStore.cpp:
2827         (WebKit::LayerBackingStoreTile::swapBuffers):
2828         (WebKit::LayerBackingStoreTile::setBackBuffer):
2829         (WebKit):
2830         (WebKit::LayerBackingStore::updateTile):
2831         * UIProcess/qt/LayerBackingStore.h:
2832         (LayerBackingStoreTile):
2833         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2834         (WebKit::LayerTreeHostProxy::updateTileForLayer):
2835         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
2836         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
2837
2838 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2839
2840         [GTK] Make sure print operation object is alive until printing finishes in WebKit2
2841         https://bugs.webkit.org/show_bug.cgi?id=78829
2842
2843         Reviewed by Martin Robinson.
2844
2845         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2846         (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
2847         reference so that it's released when the callback finishes.
2848         (webkitPrintOperationRunDialogForFrame): Pass a reference of
2849         WebKitPrintOperation to the printing callback.
2850
2851 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
2852
2853         Made Weak<T> single-owner, adding PassWeak<T>
2854         https://bugs.webkit.org/show_bug.cgi?id=78740
2855
2856         Reviewed by Sam Weinig.
2857
2858         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2859         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
2860         PassWeak<T>, as required by our new hash map API.
2861
2862 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
2863
2864         [soup] Move important SoupSession feature initialization to WebCore
2865         https://bugs.webkit.org/show_bug.cgi?id=68602
2866
2867         Reviewed by Martin Robinson.
2868
2869         Moved content sniffer and decoder initialization from the
2870         WebProcess to WebCore because network stuff will not work as
2871         expected without them.
2872
2873         No new tests required as we're just moving stuff from the
2874         WebProcess to WebCore.
2875
2876         * WebProcess/gtk/WebProcessMainGtk.cpp:
2877         (WebKit::WebProcessMainGtk):
2878
2879 2012-02-16  Philippe Normand  <pnormand@igalia.com>
2880
2881         Unreviewed, rolling out r107941.
2882         http://trac.webkit.org/changeset/107941
2883         https://bugs.webkit.org/show_bug.cgi?id=68602
2884
2885         Broke 23 http tests on GTK
2886
2887         * WebProcess/gtk/WebProcessMainGtk.cpp:
2888         (WebKit::WebProcessMainGtk):
2889
2890 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2891
2892         [Texmap] Improve the way we deal with BGRA extension
2893         https://bugs.webkit.org/show_bug.cgi?id=78822
2894
2895         Get rid of swizzling in the web process. Instead, we moved swizzling back to
2896         TextureMapperGL, as we're moving towards a setup where textures are uploaded
2897         in the web process.
2898
2899         Reviewed by Kenneth Rohde Christiansen.
2900
2901         * UIProcess/qt/LayerBackingStore.cpp:
2902         (WebKit::LayerBackingStoreTile::swapBuffers):
2903         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2904         (WebKit::LayerTreeHostProxy::createImage):
2905         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
2906         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
2907         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2908         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
2909
2910 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2911
2912         Unreviewed. Fix WebKit2 GTK+ build after r107947.
2913
2914         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2915         (webkitPrintOperationRunDialogForFrame):
2916
2917 2012-02-16  Alexander Færøy  <ahf@0x90.dk>
2918
2919         [Qt] Fix linking in debug builds on Mac OS X
2920         https://bugs.webkit.org/show_bug.cgi?id=78811
2921
2922         Reviewed by Kenneth Rohde Christiansen.
2923
2924         * UIProcess/API/qt/tests/bytearraytestdata.h:
2925
2926 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2927
2928         [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
2929         https://bugs.webkit.org/show_bug.cgi?id=78712
2930
2931         Reviewed by Martin Robinson.
2932
2933         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2934         (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
2935         Simplify the code to select the printer.
2936         (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
2937         before rendering the page and cairo_restore() when page has been
2938         rendered.
2939
2940 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2941
2942         [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
2943         https://bugs.webkit.org/show_bug.cgi?id=76448
2944
2945         Reviewed by Martin Robinson.
2946
2947         * GNUmakefile.am: Add new files to compilation.
2948         * UIProcess/API/gtk/WebKitDefines.h:
2949         * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
2950         (webViewDestroyed): Delete the print operation when the view
2951         widget associated is destroyed.
2952         (webkitPrintOperationConstructed): Connect to destroy signal of
2953         associated web view.
2954         (webkitPrintOperationGetProperty):
2955         (webkitPrintOperationSetProperty):
2956         (webkit_print_operation_init):
2957         (webkit_print_operation_class_init):
2958         (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
2959         show the printing dialog in UNIX platforms.
2960         (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
2961         (drawPagesForPrintingCompleted): Callback called when printing
2962         operation has finished in the web process.
2963         (webkitPrintOperationRunDialogForFrame): Run the printing dialog
2964         and start printing the given frame.
2965         (webkit_print_operation_new): Create a new print operation for the
2966         given web view.
2967         (webkit_print_operation_get_print_settings):
2968         (webkit_print_operation_set_print_settings):
2969         (webkit_print_operation_get_page_setup):
2970         (webkit_print_operation_set_page_setup):
2971         (webkit_print_operation_run_dialog): Run the print dialog to print
2972         the web view main frame.
2973         * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
2974         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
2975         * UIProcess/API/gtk/WebKitUIClient.cpp:
2976         (printFrame): Call webkitWebViewPrintFrame.
2977         (attachUIClientToView): Add implementation for
2978         printFrame callback.
2979         * UIProcess/API/gtk/WebKitWebView.cpp:
2980         (webkit_web_view_class_init): Add WebKitWebView::print-requested
2981         signal.
2982         (webkitWebViewPrintFrame): Emit print-requested and show the print
2983         dialog to print the frame when not signal is not handled by user.
2984         * UIProcess/API/gtk/WebKitWebView.h:
2985         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2986         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
2987         WebKitPrintOperation.
2988         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2989         * UIProcess/API/gtk/tests/GNUmakefile.am:
2990         * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
2991         (testPrintOperationPrintSettings):
2992         (webViewPrintRequestedCallback):
2993         (testWebViewPrintRequested):
2994         (beforeAll):
2995         (afterAll):
2996         * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
2997
2998 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2999
3000         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
3001         https://bugs.webkit.org/show_bug.cgi?id=78800
3002
3003         Reviewed by Kenneth Rohde Christiansen.
3004
3005         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
3006         location - no more cairo prefix needed.
3007
3008 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
3009
3010         [Qt][WK2] Allow opaque tiles
3011         https://bugs.webkit.org/show_bug.cgi?id=78809
3012
3013         Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
3014         Use the flag for ShareableBitmaps created by TiledBackingStore.
3015
3016         For now this will not have impact on performance/memory, because we allocate the same type
3017         of buffers for opaque and transparent tiles.
3018
3019         Reviewed by Kenneth Rohde Christiansen.
3020
3021         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3022         (WebCore::WebGraphicsLayer::setContentsOpaque):
3023         (WebCore::WebGraphicsLayer::setContentsScale):
3024         (WebCore::WebGraphicsLayer::createBackingStore):
3025         (WebCore):
3026         (WebCore::WebGraphicsLayer::updateContentBuffers):
3027         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3028         (WebGraphicsLayer):
3029         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3030         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3031
3032 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
3033
3034         [soup] Move important SoupSession feature initialization to WebCore
3035         https://bugs.webkit.org/show_bug.cgi?id=68602
3036
3037         Reviewed by Martin Robinson.
3038
3039         Moved content sniffer and decoder initialization from the
3040         WebProcess to WebCore because network stuff will not work as
3041         expected without them.
3042
3043         No new tests required as we're just moving stuff from the
3044         WebProcess to WebCore.
3045
3046         * WebProcess/gtk/WebProcessMainGtk.cpp:
3047         (WebKit::WebProcessMainGtk):
3048
3049 2012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3050
3051         [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
3052         https://bugs.webkit.org/show_bug.cgi?id=73215
3053
3054         Reviewed by Kenneth Rohde Christiansen.
3055
3056         Introducing a new class to expose security origin information
3057         (port/scheme/etc), useful for inspecting the origin of permission
3058         requests.
3059
3060         * Target.pri:
3061         * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
3062         (QtWebSecurityOrigin::QtWebSecurityOrigin):
3063         (QtWebSecurityOrigin::~QtWebSecurityOrigin):
3064         (QtWebSecurityOrigin::host):
3065         (QtWebSecurityOrigin::scheme):
3066         (QtWebSecurityOrigin::path):
3067         (QtWebSecurityOrigin::port):
3068         (QtWebSecurityOrigin::setHost):
3069         (QtWebSecurityOrigin::setScheme):
3070         (QtWebSecurityOrigin::setPath):
3071         (QtWebSecurityOrigin::setPort):
3072         * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
3073         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
3074         * UIProcess/API/qt/qwebpermissionrequest.cpp:
3075         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
3076         (QWebPermissionRequest::securityOrigin):
3077         * UIProcess/API/qt/qwebpermissionrequest_p.h:
3078         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3079
3080 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
3081
3082         [CMake] Add missing include directories.
3083
3084         * CMakeLists.txt:
3085
3086 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3087
3088         [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
3089         https://bugs.webkit.org/show_bug.cgi?id=78719
3090
3091         Reviewed by Martin Robinson.
3092
3093         * UIProcess/API/gtk/WebKitWebView.cpp:
3094
3095 2012-02-15  Anders Carlsson  <andersca@apple.com>
3096
3097         Add TiledCoreAnimationDrawingArea::forceRepaint
3098         https://bugs.webkit.org/show_bug.cgi?id=78749
3099         <rdar://problem/10866221>
3100
3101         Reviewed by Sam Weinig.
3102
3103         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3104         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3105         (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
3106         Force a repaint and synchronize the layer tree to the UI process.
3107
3108 2012-02-15  Enrica Casucci  <enrica@apple.com>
3109
3110         Refactor ClipboardMac class to use PlatformStrategies.
3111         https://bugs.webkit.org/show_bug.cgi?id=78554
3112
3113         Reviewed by Anders Carlsson.
3114
3115         * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
3116         the pasteboard by name.
3117         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
3118         (WebKit::WebPlatformStrategies::changeCount):
3119         (WebKit::WebPlatformStrategies::uniqueName):
3120         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
3121         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3122         (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
3123         the pasteboard by name.
3124
3125 2012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3126
3127         Notify ChromeClient when touch-event handlers are installed/removed.
3128         https://bugs.webkit.org/show_bug.cgi?id=77440
3129
3130         Reviewed by Darin Fisher and Ryosuke Niwa.
3131
3132         * UIProcess/WebPageProxy.h:
3133         (WebKit::WebPageProxy::numTouchEventHandlersChanged):
3134         * WebProcess/WebCoreSupport/WebChromeClient.h:
3135
3136 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
3137
3138         [CMake] Move RunLoop to WebCore/platform
3139         https://bugs.webkit.org/show_bug.cgi?id=78504
3140
3141         Reviewed by Adam Roben.
3142
3143         * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
3144
3145 2012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>
3146
3147         [Qt] Eliminate first set of QtWidgets dependencies from WebCore
3148         https://bugs.webkit.org/show_bug.cgi?id=78611
3149
3150         Reviewed by Kenneth Rohde Christiansen.
3151
3152         * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
3153         to fix compilation.
3154
3155 2012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
3156
3157         <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
3158         https://bugs.webkit.org/show_bug.cgi?id=77853
3159
3160         numberOfScopedHTMLStyleChildren got moved from Element into Node.
3161
3162         Reviewed by Dimitri Glazkov.
3163
3164         * win/WebKit2.def:
3165         * win/WebKit2CFLite.def:
3166
3167 2012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
3168
3169         [Texmap] Divide TextureMapperNode.cpp to 3 files.
3170         https://bugs.webkit.org/show_bug.cgi?id=76660
3171
3172         Rename TextureMapperNode to TextureMapperLayer.
3173
3174         Reviewed by Kenneth Rohde Christiansen.
3175
3176         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3177         (WebKit::LayerTreeHostProxy::createLayer):
3178         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3179         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
3180         (WebKit::LayerTreeHostProxy::getBackingStore):
3181         (WebKit::LayerTreeHostProxy::ensureRootLayer):
3182         (WebKit::LayerTreeHostProxy::purgeGLResources):
3183
3184 2012-02-14  Anders Carlsson  <andersca@apple.com>
3185
3186         Swipe gestures don't work if main frame has a horizontal scrollbar
3187         https://bugs.webkit.org/show_bug.cgi?id=78650
3188         <rdar://problem/10864993>
3189
3190         Reviewed by Sam Weinig.
3191
3192         * WebProcess/WebPage/EventDispatcher.cpp:
3193         (WebKit::EventDispatcher::wheelEvent):
3194         ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
3195
3196         (WebKit::EventDispatcher::sendDidReceiveEvent):
3197         Rename this now that it takes a parameter indicating whether the event was handled or not.
3198
3199 2012-02-14  Brian Weinstein  <bweinstein@apple.com>
3200
3201         Web Inspector: Add the ability to show the resources panel on launch
3202         https://bugs.webkit.org/show_bug.cgi?id=78641
3203         
3204         Add WebKit2 API for the ability to show the resources panel. This calls down
3205         from the WK API all the way to InspectorFrontendClientLocal::showResources.
3206
3207         Reviewed by Timothy Hatcher.
3208
3209         * UIProcess/API/C/WKInspector.cpp:
3210         (WKInspectorShowResources): Call WebInspectorProxy::showResources.
3211         * UIProcess/API/C/WKInspector.h:
3212         * UIProcess/WebInspectorProxy.cpp:
3213         (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
3214         * UIProcess/WebInspectorProxy.h:
3215         * WebProcess/WebPage/WebInspector.cpp:
3216         (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
3217         * WebProcess/WebPage/WebInspector.h:
3218         * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
3219
3220 2012-02-14  Matt Lilek  <mrl@apple.com>
3221
3222         Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
3223         https://bugs.webkit.org/show_bug.cgi?id=78629
3224
3225         Reviewed by David Kilzer.
3226
3227         * Configurations/FeatureDefines.xcconfig:
3228
3229 2012-02-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
3230
3231         [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
3232         https://bugs.webkit.org/show_bug.cgi?id=78566
3233
3234         Reviewed by Daniel Bates.
3235
3236         * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
3237
3238 2012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
3239
3240         [Qt][Texmap] Refactor backing-store code in TextureMapper
3241         https://bugs.webkit.org/show_bug.cgi?id=78305
3242
3243         Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
3244         in TextureMapperBackingStore.
3245         We save the double-buffered tile in the backing-store, and then convert them to regular
3246         tiles in updateContents, based on the order of painting.
3247         Use TextureMapperCompositedImage for images instead of saving our own composited image
3248         registry.
3249
3250         Reviewed by Kenneth Rohde Christiansen.
3251
3252         * Target.pri:
3253         * UIProcess/LayerTreeHostProxy.h:
3254         (WebKit):
3255         (LayerTreeHostProxy):
3256         * UIProcess/qt/LayerBackingStore.cpp: Added.
3257         * UIProcess/qt/LayerBackingStore.h: Added.
3258         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3259         (WebKit::LayerTreeHostProxy::createLayer):
3260         (WebKit::LayerTreeHostProxy::syncLayerParameters):
3261         (WebKit::LayerTreeHostProxy::getBackingStore):
3262         (WebKit::LayerTreeHostProxy::createTile):
3263         (WebKit::LayerTreeHostProxy::removeTile):
3264         (WebKit::LayerTreeHostProxy::updateTile):
3265         (WebKit::LayerTreeHostProxy::createImage):
3266         (WebKit::LayerTreeHostProxy::assignImageToLayer):
3267         (WebKit::LayerTreeHostProxy::purgeGLResources):
3268         * WebProcess.pro:
3269
3270
3271 2012-02-14  Shinya Kawanaka  <shinyak@google.com>
3272
3273         Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
3274         https://bugs.webkit.org/show_bug.cgi?id=78455
3275
3276         Reviewed by Hajime Morita.
3277
3278         Exports necesarry symbols.
3279
3280         * win/WebKit2.def:
3281         * win/WebKit2CFLite.def:
3282
3283 2012-02-14  Alexey Proskuryakov  <ap@apple.com>
3284
3285         [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
3286         https://bugs.webkit.org/show_bug.cgi?id=78541
3287         <rdar://problem/10036695>
3288
3289         Reviewed by Kent Tamura.
3290
3291         * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
3292
3293 2012-02-13  W. James MacLean  <wjmaclean@chromium.org>
3294
3295         [chromium] Remove obsolete zoom animation pathway.
3296         https://bugs.webkit.org/show_bug.cgi?id=78359
3297
3298         Reviewed by James Robinson.
3299
3300         This patch removes dead code from the previous incarnation of zoom animation for chromium.
3301
3302         WebProcess/Plugins/PDF/BuiltInPDFView.h:
3303         (BuiltInPDFView):
3304
3305 2012-02-13  Enrica Casucci  <enrica@apple.com>
3306
3307         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
3308         https://bugs.webkit.org/show_bug.cgi?id=78282
3309
3310         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
3311         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
3312         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
3313         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
3314         interface but this one more step in the direction of removing access to NSPasteboard from
3315         the WebProcess.
3316         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
3317
3318         Reviewed by Anders Carlsson.
3319
3320         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
3321         interface.
3322         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
3323         (WebKit::WebPlatformStrategies::getTypes):
3324         (WebKit::WebPlatformStrategies::bufferForType):
3325         (WebKit::WebPlatformStrategies::getPathnamesForType):
3326         (WebKit::WebPlatformStrategies::stringForType):
3327         (WebKit::WebPlatformStrategies::copy):
3328         (WebKit::WebPlatformStrategies::setTypes):
3329         (WebKit::WebPlatformStrategies::setBufferForType):
3330         (WebKit::WebPlatformStrategies::setPathnamesForType):
3331         (WebKit::WebPlatformStrategies::setStringForType):
3332         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
3333
3334 2012-02-13  Anders Carlsson  <andersca@apple.com>
3335
3336         The scrolling tree needs to know about the back forward state of the page
3337         https://bugs.webkit.org/show_bug.cgi?id=78523
3338         <rdar://problem/10756548>
3339
3340         Reviewed by Sam Weinig.
3341
3342         Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well.
3343
3344         * Platform/CoreIPC/HandleMessage.h:
3345         (CoreIPC):
3346         (CoreIPC::callMemberFunction):
3347         * UIProcess/WebPageProxy.cpp:
3348         (WebKit::WebPageProxy::handleWheelEvent):
3349         (WebKit::WebPageProxy::didReceiveEvent):
3350         * WebProcess/WebPage/EventDispatcher.cpp:
3351         (WebKit::EventDispatcher::wheelEvent):
3352         * WebProcess/WebPage/EventDispatcher.h:
3353         (EventDispatcher):
3354         * WebProcess/WebPage/EventDispatcher.messages.in:
3355
3356 2012-02-13  Dan Bernstein  <mitz@apple.com>
3357
3358         WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework
3359         https://bugs.webkit.org/show_bug.cgi?id=78451
3360
3361         Reviewed by Sam Weinig.
3362
3363         * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO.
3364
3365 2012-02-13  Sam Weinig  <sam@webkit.org>
3366
3367         Windows build fix.
3368
3369         * UIProcess/win/WebPopupMenuProxyWin.cpp:
3370         (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
3371
3372 2012-02-13  Zalan Bujtas  <zbujtas@gmail.com>
3373
3374         Manage ShareableBitmap object lifecycle properly, when QImage is created
3375         using the shared data.
3376         https://bugs.webkit.org/show_bug.cgi?id=77546
3377
3378         Reviewed by Simon Hausmann.
3379
3380         * Shared/ShareableBitmap.h:
3381         (ShareableBitmap):
3382         * Shared/qt/ShareableBitmapQt.cpp:
3383         (WebKit::ShareableBitmap::createQImage):
3384         (WebKit):
3385         (WebKit::ShareableBitmap::releaseSharedMemoryData):
3386
3387 2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
3388
3389         [EFL] Drop support for the Curl network backend.
3390         https://bugs.webkit.org/show_bug.cgi?id=77874
3391
3392         Reviewed by Eric Seidel.
3393
3394         Nobody seems to be maintaining the Curl backend in WebCore, the
3395         EFL port developers all seem to be using the Soup backend and the
3396         port itself has many features which are only implemented for the
3397         latter.
3398
3399         * PlatformEfl.cmake: Unconditionally build the glib/soup source
3400         files and unconditionally add the required include directories and
3401         libraries.
3402         * WebProcess/efl/WebProcessMainEfl.cpp:
3403         (WebKit::WebProcessMainEfl): Remove USE(SOUP) check.
3404
3405 2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3406
3407         Unreviewed, rolling out r107435.
3408         http://trac.webkit.org/changeset/107435
3409         https://bugs.webkit.org/show_bug.cgi?id=78410
3410
3411         It broke the Qt build (Requested by Ossy on #webkit).
3412
3413         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3414         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3415         (WebPlatformStrategies):
3416
3417 2012-02-10  Brian Weinstein  <bweinstein@apple.com>
3418
3419         Web Inspector: Add the ability to jump to the source for a given frame
3420         https://bugs.webkit.org/show_bug.cgi?id=78396
3421         
3422         Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
3423         from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.
3424
3425         Reviewed by Tim Hatcher.
3426
3427         * UIProcess/API/C/WKInspector.cpp:
3428         (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
3429         * UIProcess/API/C/WKInspector.h:
3430
3431         * UIProcess/WebInspectorProxy.cpp:
3432         (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
3433             the frame ID of the frame we want to show the main resource of.
3434         * UIProcess/WebInspectorProxy.h:
3435
3436         * WebProcess/WebPage/WebInspector.cpp:
3437         (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
3438             main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
3439         * WebProcess/WebPage/WebInspector.h:
3440         
3441         * WebProcess/WebPage/WebInspector.messages.in: Add a new message.
3442
3443 2012-02-10  Adam Klein  <adamk@chromium.org>
3444
3445         Enable MUTATION_OBSERVERS by default on all platforms
3446         https://bugs.webkit.org/show_bug.cgi?id=78196
3447
3448         Reviewed by Ojan Vafai.
3449
3450         * Configurations/FeatureDefines.xcconfig:
3451
3452 2012-02-10  Enrica Casucci  <enrica@apple.com>
3453
3454         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
3455         https://bugs.webkit.org/show_bug.cgi?id=78282
3456
3457         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
3458         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
3459         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
3460         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
3461         interface but this one more step in the direction of removing access to NSPasteboard from
3462         the WebProcess.
3463         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
3464         
3465         Reviewed by Anders Carlsson.
3466
3467         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
3468         interface.
3469         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
3470         (WebKit::WebPlatformStrategies::getTypes):
3471         (WebKit::WebPlatformStrategies::bufferForType):
3472         (WebKit::WebPlatformStrategies::getPathnamesForType):
3473         (WebKit::WebPlatformStrategies::stringForType):
3474         (WebKit::WebPlatformStrategies::copy):
3475         (WebKit::WebPlatformStrategies::setTypes):
3476         (WebKit::WebPlatformStrategies::setBufferForType):
3477         (WebKit::WebPlatformStrategies::setPathnamesForType):
3478         (WebKit::WebPlatformStrategies::setStringForType):
3479         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
3480
3481 2012-02-09  Timothy Hatcher  <timothy@apple.com>
3482
3483         Prevent attaching when inspecting the Web Inspector.
3484
3485         Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow
3486         and why there are two implementations of the same function.
3487
3488         https://webkit.org/b/78304
3489
3490         Reviewed by Brian Weinstein.
3491
3492         * UIProcess/WebInspectorProxy.cpp:
3493         (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page.
3494         Added comments about InspectorFrontendClientLocal::canAttachWindow.
3495         * UIProcess/WebInspectorProxy.h:
3496         (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal.
3497
3498 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
3499
3500         Managed network proxy settings are not used in WebProcess
3501         https://bugs.webkit.org/show_bug.cgi?id=78288
3502         <rdar://problem/9962116>
3503
3504         Reviewed by Anders Carlsson.
3505
3506         * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences.
3507
3508 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
3509