a69dcfe6e20324b78f37af8eb51a2bcda7ee38ae
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
2
3         CSS regions enabled by default
4         https://bugs.webkit.org/show_bug.cgi?id=78525
5
6         Reviewed by David Hyatt.
7
8         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
9         CSSRegions are still enabled by default.
10         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
11
12         * Shared/WebPreferencesStore.h:
13         (WebKit):
14         * UIProcess/API/C/WKPreferences.cpp:
15         (WKPreferencesSetCSSRegionsEnabled):
16         (WKPreferencesGetCSSRegionsEnabled):
17         * UIProcess/API/C/WKPreferencesPrivate.h:
18         * WebProcess/InjectedBundle/InjectedBundle.cpp:
19         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
20         * WebProcess/WebPage/WebPage.cpp:
21         (WebKit::WebPage::updatePreferences):
22
23 2012-02-17  Enrica Casucci  <enrica@apple.com>
24
25         Refactor DragData class to use PlatformStrategies in the Mac implementation.
26         https://bugs.webkit.org/show_bug.cgi?id=78768
27
28         Reviewed by Darin Adler.
29
30         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
31         (WebKit::WebPlatformStrategies::color):
32         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
33
34 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
35
36         Fix some warnings encountered during the GTK+ build
37         https://bugs.webkit.org/show_bug.cgi?id=78911
38
39         Reviewed by Xan Lopez.
40
41         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
42         (attachLoaderClientToView): Initialize a new member of the loader client struct.
43
44 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
45
46         [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
47         https://bugs.webkit.org/show_bug.cgi?id=78823
48
49         Reviewed by Gustavo Noronha Silva.
50
51         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
52         (webkitPrintOperationRunDialogUnix): Enable scale option in print
53         dialog.
54         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
55         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
56         manual scale to 1.
57         (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
58         moved the needs rotate check here as an early return.
59         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
60         page according to the manual scale factor.
61         (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
62         prepareContextToDraw.
63         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
64
65 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
66
67         [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
68         https://bugs.webkit.org/show_bug.cgi?id=78805
69
70         Reviewed by Gustavo Noronha Silva.
71
72         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
73         (webkitPrintOperationRunDialogUnix): Enable multiple copies and
74         collate options in print dialog.
75         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
76         (WebKit::PrintPagesData::PrintPagesData): Initialize number of
77         collated and uncolated copies done and total.
78         (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
79         returns the number of collated copies left to do.
80         (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
81         that returns the number of uncollated copies left to do.
82         (WebKit::PrintPagesData::copiesLeft): Helper function
83         that returns the number of collated or uncollated copies left to
84         do.
85         (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
86         print if there are uncollated copies left, and do not increment
87         sheet number if there are collated copies left.
88         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
89         m_manualCopies to 1 and m_manualCollateCopies to false.
90         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
91
92 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
93
94         [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
95         https://bugs.webkit.org/show_bug.cgi?id=78799
96
97         Reviewed by Gustavo Noronha Silva.
98
99         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
100         (webkitPrintOperationRunDialogUnix): Enable printing in reverse
101         order option in print dialog.
102         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
103         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
104         and lastPagePosition depending on whether printing is in reverse
105         order or not.
106         (WebKit::PrintPagesData::incrementPageSequence): Use a negative
107         increment step when printing in reverse order. Fix page
108         incrementing when printing only odd/even pages broken in previous
109         commit due to merge conflicts.
110         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
111         reverse printing to false.
112         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
113
114 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
115
116         [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
117         https://bugs.webkit.org/show_bug.cgi?id=78793
118
119         Reviewed by Gustavo Noronha Silva.
120
121         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
122         (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
123         option in print dialog.
124         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
125         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
126         (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
127         initialize it depending on the page set.
128         (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
129         increment when printing only odd/even pages.
130         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
131         m_manualPageSet to GTK_PAGE_SET_ALL.
132
133 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
134
135         [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
136         https://bugs.webkit.org/show_bug.cgi?id=78715
137
138         Reviewed by Gustavo Noronha Silva.
139
140         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
141         (webkitPrintOperationRunDialogUnix): Enable multiple pages per
142         sheet options in print dialog.
143         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
144         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
145         and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
146         (WebKit::PrintPagesData::incrementPageSequence): Increment current
147         sheet and page position.
148         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
149         (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
150         Helper function to check whether current pages is the first one of
151         the current sheet.
152         (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
153         Helper function to check whether current pages is the last one of
154         the current sheet.
155         (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
156         Returns the number of rows and columns of pages per sheet.
157         (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
158         the row and column number of the current page in the current sheet.
159         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
160         scale and rotate accordingly to render every page in the right
161         place of the sheet.
162         (WebKit::WebPrintOperationGtk::renderPage): Call
163         prepareContextToDraw() before drawing the page.
164         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
165         (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
166         (WebKit::WebPrintOperationGtk::pagePosition):
167         (WebKit::WebPrintOperationGtk::setPagePosition):
168         (WebKit::WebPrintOperationGtk::numberUp):
169         (WebKit::WebPrintOperationGtk::numberUpLayout):
170
171 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
172
173         [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
174         https://bugs.webkit.org/show_bug.cgi?id=78893
175
176         Reviewed by Gustavo Noronha Silva.
177
178         And it's not emitted anynmore when the print dialog has been
179         cancelled. Since it's not possible to know whether the print
180         dialog was cancelled or not, the enum WebKitPrintOperationResponse
181         has been added, with Print and Cancel values, and it's used as
182         return value of webkit_print_operation_run_dialog().
183
184         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
185         (webkit_print_operation_class_init): Rename done as finished.
186         (webkitPrintOperationRunDialogUnix): Return a
187         WebKitPrintOperationResponse instead of bool.
188         (webkitPrintOperationRunDialogWin32): Ditto.
189         (drawPagesForPrintingCompleted): Emit finished instead of done.
190         (webkitPrintOperationRunDialogForFrame): Do not emit finished if
191         the dialog was cancelled and return a WebKitPrintOperationResponse.
192         (webkit_print_operation_run_dialog): Return
193         WebKitPrintOperationResponse.
194         * UIProcess/API/gtk/WebKitPrintOperation.h: Add
195         WebKitPrintOperationResponse enum.
196         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
197         * UIProcess/API/gtk/WebKitWebView.cpp:
198         (webkitWebViewPrintFrame): Check whether the dialog has been
199         cancelled or not and connect to finish when the print operation is
200         in progress to release the print operation object when printing
201         finishes.
202         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
203         WebKitPrintOperationResponse symbol.
204         * UIProcess/API/gtk/tests/TestPrinting.cpp:
205         (testPrintOperationPrintFinished): Use finished instead of done.
206         (testPrintOperationPrint): Ditto.
207
208 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
209
210         [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
211         https://bugs.webkit.org/show_bug.cgi?id=76536
212
213         Reviewed by Gustavo Noronha Silva.
214
215         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
216         (webkitPrintOperationPrintPagesForFrame): Helper function to call
217         WebPageProxy::drawPagesForPrinting using the given
218         GtkPrintSettings and GtkPageSetup.
219         (webkitPrintOperationRunDialogForFrame): Use
220         webkitPrintOperationPrintPagesForFrame().
221         (webkit_print_operation_print): Print directly using current
222         GtkPrintSettings and GtkPageSetup without showing the print
223         dialog.
224         * UIProcess/API/gtk/WebKitPrintOperation.h:
225         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
226         * UIProcess/API/gtk/tests/GNUmakefile.am:
227         * UIProcess/API/gtk/tests/TestPrinting.cpp:
228         (testPrintOperationPrintLoadChanged):
229         (testPrintOperationPrintDone):
230         (testPrintOperationPrintPrinter):
231         (testPrintOperationPrint):
232         (beforeAll):
233         (afterAll):
234
235 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
236
237         [Qt][WK2] Allow partial updates
238         https://bugs.webkit.org/show_bug.cgi?id=78824
239
240         Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
241         contains only the dirty rectangle of the current paint. This requires a lot less memory
242         for small updates, for example when typing a text in an input field.
243         This shows a significant reduction in overhead when testing on Mac with Instruments.
244
245         Reviewed by Simon Hausmann.
246
247         * UIProcess/qt/LayerBackingStore.cpp:
248         (WebKit::LayerBackingStoreTile::swapBuffers):
249         (WebKit::LayerBackingStoreTile::setBackBuffer):
250         (WebKit):
251         (WebKit::LayerBackingStore::updateTile):
252         * UIProcess/qt/LayerBackingStore.h:
253         (LayerBackingStoreTile):
254         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
255         (WebKit::LayerTreeHostProxy::updateTileForLayer):
256         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
257         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
258
259 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
260
261         [GTK] Make sure print operation object is alive until printing finishes in WebKit2
262         https://bugs.webkit.org/show_bug.cgi?id=78829
263
264         Reviewed by Martin Robinson.
265
266         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
267         (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
268         reference so that it's released when the callback finishes.
269         (webkitPrintOperationRunDialogForFrame): Pass a reference of
270         WebKitPrintOperation to the printing callback.
271
272 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
273
274         Made Weak<T> single-owner, adding PassWeak<T>
275         https://bugs.webkit.org/show_bug.cgi?id=78740
276
277         Reviewed by Sam Weinig.
278
279         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
280         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
281         PassWeak<T>, as required by our new hash map API.
282
283 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
284
285         [soup] Move important SoupSession feature initialization to WebCore
286         https://bugs.webkit.org/show_bug.cgi?id=68602
287
288         Reviewed by Martin Robinson.
289
290         Moved content sniffer and decoder initialization from the
291         WebProcess to WebCore because network stuff will not work as
292         expected without them.
293
294         No new tests required as we're just moving stuff from the
295         WebProcess to WebCore.
296
297         * WebProcess/gtk/WebProcessMainGtk.cpp:
298         (WebKit::WebProcessMainGtk):
299
300 2012-02-16  Philippe Normand  <pnormand@igalia.com>
301
302         Unreviewed, rolling out r107941.
303         http://trac.webkit.org/changeset/107941
304         https://bugs.webkit.org/show_bug.cgi?id=68602
305
306         Broke 23 http tests on GTK
307
308         * WebProcess/gtk/WebProcessMainGtk.cpp:
309         (WebKit::WebProcessMainGtk):
310
311 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
312
313         [Texmap] Improve the way we deal with BGRA extension
314         https://bugs.webkit.org/show_bug.cgi?id=78822
315
316         Get rid of swizzling in the web process. Instead, we moved swizzling back to
317         TextureMapperGL, as we're moving towards a setup where textures are uploaded
318         in the web process.
319
320         Reviewed by Kenneth Rohde Christiansen.
321
322         * UIProcess/qt/LayerBackingStore.cpp:
323         (WebKit::LayerBackingStoreTile::swapBuffers):
324         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
325         (WebKit::LayerTreeHostProxy::createImage):
326         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
327         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
328         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
329         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
330
331 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
332
333         Unreviewed. Fix WebKit2 GTK+ build after r107947.
334
335         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
336         (webkitPrintOperationRunDialogForFrame):
337
338 2012-02-16  Alexander Færøy  <ahf@0x90.dk>
339
340         [Qt] Fix linking in debug builds on Mac OS X
341         https://bugs.webkit.org/show_bug.cgi?id=78811
342
343         Reviewed by Kenneth Rohde Christiansen.
344
345         * UIProcess/API/qt/tests/bytearraytestdata.h:
346
347 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
348
349         [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
350         https://bugs.webkit.org/show_bug.cgi?id=78712
351
352         Reviewed by Martin Robinson.
353
354         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
355         (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
356         Simplify the code to select the printer.
357         (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
358         before rendering the page and cairo_restore() when page has been
359         rendered.
360
361 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
362
363         [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
364         https://bugs.webkit.org/show_bug.cgi?id=76448
365
366         Reviewed by Martin Robinson.
367
368         * GNUmakefile.am: Add new files to compilation.
369         * UIProcess/API/gtk/WebKitDefines.h:
370         * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
371         (webViewDestroyed): Delete the print operation when the view
372         widget associated is destroyed.
373         (webkitPrintOperationConstructed): Connect to destroy signal of
374         associated web view.
375         (webkitPrintOperationGetProperty):
376         (webkitPrintOperationSetProperty):
377         (webkit_print_operation_init):
378         (webkit_print_operation_class_init):
379         (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
380         show the printing dialog in UNIX platforms.
381         (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
382         (drawPagesForPrintingCompleted): Callback called when printing
383         operation has finished in the web process.
384         (webkitPrintOperationRunDialogForFrame): Run the printing dialog
385         and start printing the given frame.
386         (webkit_print_operation_new): Create a new print operation for the
387         given web view.
388         (webkit_print_operation_get_print_settings):
389         (webkit_print_operation_set_print_settings):
390         (webkit_print_operation_get_page_setup):
391         (webkit_print_operation_set_page_setup):
392         (webkit_print_operation_run_dialog): Run the print dialog to print
393         the web view main frame.
394         * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
395         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
396         * UIProcess/API/gtk/WebKitUIClient.cpp:
397         (printFrame): Call webkitWebViewPrintFrame.
398         (attachUIClientToView): Add implementation for
399         printFrame callback.
400         * UIProcess/API/gtk/WebKitWebView.cpp:
401         (webkit_web_view_class_init): Add WebKitWebView::print-requested
402         signal.
403         (webkitWebViewPrintFrame): Emit print-requested and show the print
404         dialog to print the frame when not signal is not handled by user.
405         * UIProcess/API/gtk/WebKitWebView.h:
406         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
407         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
408         WebKitPrintOperation.
409         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
410         * UIProcess/API/gtk/tests/GNUmakefile.am:
411         * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
412         (testPrintOperationPrintSettings):
413         (webViewPrintRequestedCallback):
414         (testWebViewPrintRequested):
415         (beforeAll):
416         (afterAll):
417         * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
418
419 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
420
421         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
422         https://bugs.webkit.org/show_bug.cgi?id=78800
423
424         Reviewed by Kenneth Rohde Christiansen.
425
426         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
427         location - no more cairo prefix needed.
428
429 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
430
431         [Qt][WK2] Allow opaque tiles
432         https://bugs.webkit.org/show_bug.cgi?id=78809
433
434         Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
435         Use the flag for ShareableBitmaps created by TiledBackingStore.
436
437         For now this will not have impact on performance/memory, because we allocate the same type
438         of buffers for opaque and transparent tiles.
439
440         Reviewed by Kenneth Rohde Christiansen.
441
442         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
443         (WebCore::WebGraphicsLayer::setContentsOpaque):
444         (WebCore::WebGraphicsLayer::setContentsScale):
445         (WebCore::WebGraphicsLayer::createBackingStore):
446         (WebCore):
447         (WebCore::WebGraphicsLayer::updateContentBuffers):
448         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
449         (WebGraphicsLayer):
450         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
451         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
452
453 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
454
455         [soup] Move important SoupSession feature initialization to WebCore
456         https://bugs.webkit.org/show_bug.cgi?id=68602
457
458         Reviewed by Martin Robinson.
459
460         Moved content sniffer and decoder initialization from the
461         WebProcess to WebCore because network stuff will not work as
462         expected without them.
463
464         No new tests required as we're just moving stuff from the
465         WebProcess to WebCore.
466
467         * WebProcess/gtk/WebProcessMainGtk.cpp:
468         (WebKit::WebProcessMainGtk):
469
470 2012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
471
472         [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
473         https://bugs.webkit.org/show_bug.cgi?id=73215
474
475         Reviewed by Kenneth Rohde Christiansen.
476
477         Introducing a new class to expose security origin information
478         (port/scheme/etc), useful for inspecting the origin of permission
479         requests.
480
481         * Target.pri:
482         * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
483         (QtWebSecurityOrigin::QtWebSecurityOrigin):
484         (QtWebSecurityOrigin::~QtWebSecurityOrigin):
485         (QtWebSecurityOrigin::host):
486         (QtWebSecurityOrigin::scheme):
487         (QtWebSecurityOrigin::path):
488         (QtWebSecurityOrigin::port):
489         (QtWebSecurityOrigin::setHost):
490         (QtWebSecurityOrigin::setScheme):
491         (QtWebSecurityOrigin::setPath):
492         (QtWebSecurityOrigin::setPort):
493         * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
494         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
495         * UIProcess/API/qt/qwebpermissionrequest.cpp:
496         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
497         (QWebPermissionRequest::securityOrigin):
498         * UIProcess/API/qt/qwebpermissionrequest_p.h:
499         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
500
501 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
502
503         [CMake] Add missing include directories.
504
505         * CMakeLists.txt:
506
507 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
508
509         [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
510         https://bugs.webkit.org/show_bug.cgi?id=78719
511
512         Reviewed by Martin Robinson.
513
514         * UIProcess/API/gtk/WebKitWebView.cpp:
515
516 2012-02-15  Anders Carlsson  <andersca@apple.com>
517
518         Add TiledCoreAnimationDrawingArea::forceRepaint
519         https://bugs.webkit.org/show_bug.cgi?id=78749
520         <rdar://problem/10866221>
521
522         Reviewed by Sam Weinig.
523
524         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
525         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
526         (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
527         Force a repaint and synchronize the layer tree to the UI process.
528
529 2012-02-15  Enrica Casucci  <enrica@apple.com>
530
531         Refactor ClipboardMac class to use PlatformStrategies.
532         https://bugs.webkit.org/show_bug.cgi?id=78554
533
534         Reviewed by Anders Carlsson.
535
536         * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
537         the pasteboard by name.
538         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
539         (WebKit::WebPlatformStrategies::changeCount):
540         (WebKit::WebPlatformStrategies::uniqueName):
541         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
542         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
543         (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
544         the pasteboard by name.
545
546 2012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
547
548         Notify ChromeClient when touch-event handlers are installed/removed.
549         https://bugs.webkit.org/show_bug.cgi?id=77440
550
551         Reviewed by Darin Fisher and Ryosuke Niwa.
552
553         * UIProcess/WebPageProxy.h:
554         (WebKit::WebPageProxy::numTouchEventHandlersChanged):
555         * WebProcess/WebCoreSupport/WebChromeClient.h:
556
557 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
558
559         [CMake] Move RunLoop to WebCore/platform
560         https://bugs.webkit.org/show_bug.cgi?id=78504
561
562         Reviewed by Adam Roben.
563
564         * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
565
566 2012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>
567
568         [Qt] Eliminate first set of QtWidgets dependencies from WebCore
569         https://bugs.webkit.org/show_bug.cgi?id=78611
570
571         Reviewed by Kenneth Rohde Christiansen.
572
573         * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
574         to fix compilation.
575
576 2012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
577
578         <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
579         https://bugs.webkit.org/show_bug.cgi?id=77853
580
581         numberOfScopedHTMLStyleChildren got moved from Element into Node.
582
583         Reviewed by Dimitri Glazkov.
584
585         * win/WebKit2.def:
586         * win/WebKit2CFLite.def:
587
588 2012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
589
590         [Texmap] Divide TextureMapperNode.cpp to 3 files.
591         https://bugs.webkit.org/show_bug.cgi?id=76660
592
593         Rename TextureMapperNode to TextureMapperLayer.
594
595         Reviewed by Kenneth Rohde Christiansen.
596
597         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
598         (WebKit::LayerTreeHostProxy::createLayer):
599         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
600         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
601         (WebKit::LayerTreeHostProxy::getBackingStore):
602         (WebKit::LayerTreeHostProxy::ensureRootLayer):
603         (WebKit::LayerTreeHostProxy::purgeGLResources):
604
605 2012-02-14  Anders Carlsson  <andersca@apple.com>
606
607         Swipe gestures don't work if main frame has a horizontal scrollbar
608         https://bugs.webkit.org/show_bug.cgi?id=78650
609         <rdar://problem/10864993>
610
611         Reviewed by Sam Weinig.
612
613         * WebProcess/WebPage/EventDispatcher.cpp:
614         (WebKit::EventDispatcher::wheelEvent):
615         ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
616
617         (WebKit::EventDispatcher::sendDidReceiveEvent):
618         Rename this now that it takes a parameter indicating whether the event was handled or not.
619
620 2012-02-14  Brian Weinstein  <bweinstein@apple.com>
621
622         Web Inspector: Add the ability to show the resources panel on launch
623         https://bugs.webkit.org/show_bug.cgi?id=78641
624         
625         Add WebKit2 API for the ability to show the resources panel. This calls down
626         from the WK API all the way to InspectorFrontendClientLocal::showResources.
627
628         Reviewed by Timothy Hatcher.
629
630         * UIProcess/API/C/WKInspector.cpp:
631         (WKInspectorShowResources): Call WebInspectorProxy::showResources.
632         * UIProcess/API/C/WKInspector.h:
633         * UIProcess/WebInspectorProxy.cpp:
634         (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
635         * UIProcess/WebInspectorProxy.h:
636         * WebProcess/WebPage/WebInspector.cpp:
637         (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
638         * WebProcess/WebPage/WebInspector.h:
639         * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
640
641 2012-02-14  Matt Lilek  <mrl@apple.com>
642
643         Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
644         https://bugs.webkit.org/show_bug.cgi?id=78629
645
646         Reviewed by David Kilzer.
647
648         * Configurations/FeatureDefines.xcconfig:
649
650 2012-02-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
651
652         [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
653         https://bugs.webkit.org/show_bug.cgi?id=78566
654
655         Reviewed by Daniel Bates.
656
657         * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
658
659 2012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
660
661         [Qt][Texmap] Refactor backing-store code in TextureMapper
662         https://bugs.webkit.org/show_bug.cgi?id=78305
663
664         Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
665         in TextureMapperBackingStore.
666         We save the double-buffered tile in the backing-store, and then convert them to regular
667         tiles in updateContents, based on the order of painting.
668         Use TextureMapperCompositedImage for images instead of saving our own composited image
669         registry.
670
671         Reviewed by Kenneth Rohde Christiansen.
672
673         * Target.pri:
674         * UIProcess/LayerTreeHostProxy.h:
675         (WebKit):
676         (LayerTreeHostProxy):
677         * UIProcess/qt/LayerBackingStore.cpp: Added.
678         * UIProcess/qt/LayerBackingStore.h: Added.
679         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
680         (WebKit::LayerTreeHostProxy::createLayer):
681         (WebKit::LayerTreeHostProxy::syncLayerParameters):
682         (WebKit::LayerTreeHostProxy::getBackingStore):
683         (WebKit::LayerTreeHostProxy::createTile):
684         (WebKit::LayerTreeHostProxy::removeTile):
685         (WebKit::LayerTreeHostProxy::updateTile):
686         (WebKit::LayerTreeHostProxy::createImage):
687         (WebKit::LayerTreeHostProxy::assignImageToLayer):
688         (WebKit::LayerTreeHostProxy::purgeGLResources):
689         * WebProcess.pro:
690
691
692 2012-02-14  Shinya Kawanaka  <shinyak@google.com>
693
694         Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
695         https://bugs.webkit.org/show_bug.cgi?id=78455
696
697         Reviewed by Hajime Morita.
698
699         Exports necesarry symbols.
700
701         * win/WebKit2.def:
702         * win/WebKit2CFLite.def:
703
704 2012-02-14  Alexey Proskuryakov  <ap@apple.com>
705
706         [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
707         https://bugs.webkit.org/show_bug.cgi?id=78541
708         <rdar://problem/10036695>
709
710         Reviewed by Kent Tamura.
711
712         * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
713
714 2012-02-13  W. James MacLean  <wjmaclean@chromium.org>
715
716         [chromium] Remove obsolete zoom animation pathway.
717         https://bugs.webkit.org/show_bug.cgi?id=78359
718
719         Reviewed by James Robinson.
720
721         This patch removes dead code from the previous incarnation of zoom animation for chromium.
722
723         WebProcess/Plugins/PDF/BuiltInPDFView.h:
724         (BuiltInPDFView):
725
726 2012-02-13  Enrica Casucci  <enrica@apple.com>
727
728         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
729         https://bugs.webkit.org/show_bug.cgi?id=78282
730
731         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
732         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
733         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
734         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
735         interface but this one more step in the direction of removing access to NSPasteboard from
736         the WebProcess.
737         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
738
739         Reviewed by Anders Carlsson.
740
741         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
742         interface.
743         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
744         (WebKit::WebPlatformStrategies::getTypes):
745         (WebKit::WebPlatformStrategies::bufferForType):
746         (WebKit::WebPlatformStrategies::getPathnamesForType):
747         (WebKit::WebPlatformStrategies::stringForType):
748         (WebKit::WebPlatformStrategies::copy):
749         (WebKit::WebPlatformStrategies::setTypes):
750         (WebKit::WebPlatformStrategies::setBufferForType):
751         (WebKit::WebPlatformStrategies::setPathnamesForType):
752         (WebKit::WebPlatformStrategies::setStringForType):
753         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
754
755 2012-02-13  Anders Carlsson  <andersca@apple.com>
756
757         The scrolling tree needs to know about the back forward state of the page
758         https://bugs.webkit.org/show_bug.cgi?id=78523
759         <rdar://problem/10756548>
760
761         Reviewed by Sam Weinig.
762
763         Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well.
764
765         * Platform/CoreIPC/HandleMessage.h:
766         (CoreIPC):
767         (CoreIPC::callMemberFunction):
768         * UIProcess/WebPageProxy.cpp:
769         (WebKit::WebPageProxy::handleWheelEvent):
770         (WebKit::WebPageProxy::didReceiveEvent):
771         * WebProcess/WebPage/EventDispatcher.cpp:
772         (WebKit::EventDispatcher::wheelEvent):
773         * WebProcess/WebPage/EventDispatcher.h:
774         (EventDispatcher):
775         * WebProcess/WebPage/EventDispatcher.messages.in:
776
777 2012-02-13  Dan Bernstein  <mitz@apple.com>
778
779         WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework
780         https://bugs.webkit.org/show_bug.cgi?id=78451
781
782         Reviewed by Sam Weinig.
783
784         * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO.
785
786 2012-02-13  Sam Weinig  <sam@webkit.org>
787
788         Windows build fix.
789
790         * UIProcess/win/WebPopupMenuProxyWin.cpp:
791         (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
792
793 2012-02-13  Zalan Bujtas  <zbujtas@gmail.com>
794
795         Manage ShareableBitmap object lifecycle properly, when QImage is created
796         using the shared data.
797         https://bugs.webkit.org/show_bug.cgi?id=77546
798
799         Reviewed by Simon Hausmann.
800
801         * Shared/ShareableBitmap.h:
802         (ShareableBitmap):
803         * Shared/qt/ShareableBitmapQt.cpp:
804         (WebKit::ShareableBitmap::createQImage):
805         (WebKit):
806         (WebKit::ShareableBitmap::releaseSharedMemoryData):
807
808 2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
809
810         [EFL] Drop support for the Curl network backend.
811         https://bugs.webkit.org/show_bug.cgi?id=77874
812
813         Reviewed by Eric Seidel.
814
815         Nobody seems to be maintaining the Curl backend in WebCore, the
816         EFL port developers all seem to be using the Soup backend and the
817         port itself has many features which are only implemented for the
818         latter.
819
820         * PlatformEfl.cmake: Unconditionally build the glib/soup source
821         files and unconditionally add the required include directories and
822         libraries.
823         * WebProcess/efl/WebProcessMainEfl.cpp:
824         (WebKit::WebProcessMainEfl): Remove USE(SOUP) check.
825
826 2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
827
828         Unreviewed, rolling out r107435.
829         http://trac.webkit.org/changeset/107435
830         https://bugs.webkit.org/show_bug.cgi?id=78410
831
832         It broke the Qt build (Requested by Ossy on #webkit).
833
834         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
835         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
836         (WebPlatformStrategies):
837
838 2012-02-10  Brian Weinstein  <bweinstein@apple.com>
839
840         Web Inspector: Add the ability to jump to the source for a given frame
841         https://bugs.webkit.org/show_bug.cgi?id=78396
842         
843         Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
844         from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.
845
846         Reviewed by Tim Hatcher.
847
848         * UIProcess/API/C/WKInspector.cpp:
849         (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
850         * UIProcess/API/C/WKInspector.h:
851
852         * UIProcess/WebInspectorProxy.cpp:
853         (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
854             the frame ID of the frame we want to show the main resource of.
855         * UIProcess/WebInspectorProxy.h:
856
857         * WebProcess/WebPage/WebInspector.cpp:
858         (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
859             main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
860         * WebProcess/WebPage/WebInspector.h:
861         
862         * WebProcess/WebPage/WebInspector.messages.in: Add a new message.
863
864 2012-02-10  Adam Klein  <adamk@chromium.org>
865
866         Enable MUTATION_OBSERVERS by default on all platforms
867         https://bugs.webkit.org/show_bug.cgi?id=78196
868
869         Reviewed by Ojan Vafai.
870
871         * Configurations/FeatureDefines.xcconfig:
872
873 2012-02-10  Enrica Casucci  <enrica@apple.com>
874
875         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
876         https://bugs.webkit.org/show_bug.cgi?id=78282
877
878         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
879         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
880         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
881         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
882         interface but this one more step in the direction of removing access to NSPasteboard from
883         the WebProcess.
884         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
885         
886         Reviewed by Anders Carlsson.
887
888         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
889         interface.
890         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
891         (WebKit::WebPlatformStrategies::getTypes):
892         (WebKit::WebPlatformStrategies::bufferForType):
893         (WebKit::WebPlatformStrategies::getPathnamesForType):
894         (WebKit::WebPlatformStrategies::stringForType):
895         (WebKit::WebPlatformStrategies::copy):
896         (WebKit::WebPlatformStrategies::setTypes):
897         (WebKit::WebPlatformStrategies::setBufferForType):
898         (WebKit::WebPlatformStrategies::setPathnamesForType):
899         (WebKit::WebPlatformStrategies::setStringForType):
900         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
901
902 2012-02-09  Timothy Hatcher  <timothy@apple.com>
903
904         Prevent attaching when inspecting the Web Inspector.
905
906         Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow
907         and why there are two implementations of the same function.
908
909         https://webkit.org/b/78304
910
911         Reviewed by Brian Weinstein.
912
913         * UIProcess/WebInspectorProxy.cpp:
914         (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page.
915         Added comments about InspectorFrontendClientLocal::canAttachWindow.
916         * UIProcess/WebInspectorProxy.h:
917         (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal.
918
919 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
920
921         Managed network proxy settings are not used in WebProcess
922         https://bugs.webkit.org/show_bug.cgi?id=78288
923         <rdar://problem/9962116>
924
925         Reviewed by Anders Carlsson.
926
927         * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences.
928
929 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
930
931         ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed
932         https://bugs.webkit.org/show_bug.cgi?id=70845
933         <rdar://problem/10269985>
934
935         Reviewed by Anders Carlsson.
936
937         This also fixes some case where WebProcess did not get a sandbox extension after a crash.
938
939         * UIProcess/WebPageProxy.cpp:
940         (WebKit::WebPageProxy::reattachToWebProcessWithItem): We no longer need to pass a sandbox
941         extension here, we're now passing it at b/f navigation bottleneck.
942         (WebKit::WebPageProxy::reload): Pass a sandbox extension - reload may mean reloading an error
943         page after a crash, so WebProcess may no longer have the extension.
944         (WebKit::WebPageProxy::goForward): We no longer need to pass a sandbox extension here,
945         we're now passing it at b/f navigation bottleneck. Also, fixed a bug where we first null checked
946         a WebBackForwardListItem pointer, and then used it anyway.
947         (WebKit::WebPageProxy::goBack): Ditto.
948         (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
949         (WebKit::WebPageProxy::backForwardGoToItem): This is the bottleneck. We get here both for UI
950         actions like pressing the Back button, and for window.history.go() navigations. JS navigations
951         previously didn't open up the sandbox. URLs in UI process b/f list are trusted, so it's
952         always OK to grant a sandbox extension if one of them is a file: one.
953
954         * UIProcess/WebPageProxy.h: backForwardGoToItem() now returns a sandbox extension handle.
955
956         * UIProcess/WebPageProxy.messages.in: Ditto.
957
958         * UIProcess/WebProcessProxy.cpp:
959         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): If a URL is in UI process b/f
960         list, then it has been already vetted as something the Web process knows about. No need to
961         crash if it actually attempts going there.
962         (WebKit::WebProcessProxy::didReceiveInvalidMessage): Removed a useless comment (we have tons
963         of fprintfs besides this one). Fixed log message syntax.
964
965         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
966         We no longer need to pass a sandbox extension here, we're now passing it at b/f navigation
967         bottleneck. 
968
969         * WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::goToItem):
970         We now get an extension here, when telling UI process that we're navigating to a b/f list item.
971
972         * WebProcess/WebPage/WebPage.cpp:
973         (WebKit::WebPage::reload): Use the extension we're getting.
974         (WebKit::WebPage::goForward): Don't use one we're not getting.
975         (WebKit::WebPage::goBack): Ditto.
976         (WebKit::WebPage::goToBackForwardItem): Ditto.
977         (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Ditto.
978
979         * WebProcess/WebPage/WebPage.h: Adjusted signatures accordingly.
980
981         * WebProcess/WebPage/WebPage.messages.in: Ditto.
982
983 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
984
985         HiDPI: WebKit2's drag images are blurry
986         https://bugs.webkit.org/show_bug.cgi?id=67779
987
988         Use the proper deviceScaleFactor() instead of accessing _intrinsicDeviceScaleFactor
989
990         Reviewed by Beth Dakin.
991
992         * UIProcess/API/mac/WKView.mm:
993         (-[WKView _setDragImage:at:linkDrag:]):
994
995 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
996
997         [WK2] Allow reading some debug-only preference files
998         https://bugs.webkit.org/show_bug.cgi?id=78255
999         <rdar://problem/9382382>
1000         <rdar://problem/10830558>
1001
1002         Reviewed by Dan Bernstein.
1003
1004         * WebProcess/com.apple.WebProcess.sb:
1005
1006 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
1007
1008         HiDPI: WebKit2's link-dragging images are blurry
1009         https://bugs.webkit.org/show_bug.cgi?id=67779
1010
1011         Reviewed by Beth Dakin.
1012
1013         Teach startDrag about the deviceScaleFactor so that it creates
1014         an appropriately scaled bitmap image to ship over.
1015         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1016         (WebKit::WebDragClient::startDrag):
1017         (WebKit::convertImageToBitmap):
1018
1019         Have setDragImage assume that it's receiving a bitmap image scaled
1020         up by the deviceScaleFactor that it sees.
1021         * UIProcess/API/mac/WKView.mm:
1022         (-[WKView _setDragImage:at:linkDrag:]):
1023
1024 2012-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1025
1026         [GTK] Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+ API
1027         https://bugs.webkit.org/show_bug.cgi?id=78097
1028
1029         Reviewed by Martin Robinson.
1030
1031         * GNUmakefile.am: Add new files to compilation.
1032         * UIProcess/API/gtk/WebKitHitTestResult.cpp: Added.
1033         (webkitHitTestResultFinalize):
1034         (webkitHitTestResultGetProperty):
1035         (webkitHitTestResultSetProperty):
1036         (webkit_hit_test_result_init):
1037         (webkit_hit_test_result_class_init):
1038         (webkitHitTestResultCreate): Create a new WebKitHitTestResult for
1039         the given WKHitTestResult.
1040         (stringIsEqualToCString): Helper function to compare String and
1041         CString considering String::isEmpty() == CString.isNull().
1042         (webkitHitTestResultCompare): Helper function to check whether a
1043         WebKitHitTestResult contains the same information than the given
1044         WKHitTestResult.
1045         (webkit_hit_test_result_get_context):
1046         (webkit_hit_test_result_context_is_link):
1047         (webkit_hit_test_result_context_is_image):
1048         (webkit_hit_test_result_context_is_media):
1049         (webkit_hit_test_result_get_link_uri):
1050         (webkit_hit_test_result_get_link_title):
1051         (webkit_hit_test_result_get_link_label):
1052         (webkit_hit_test_result_get_image_uri):
1053         (webkit_hit_test_result_get_media_uri):
1054         * UIProcess/API/gtk/WebKitHitTestResult.h: Added.
1055         * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
1056         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
1057         (webkitNavigationPolicyDecisionCreate): Use
1058         wkEventModifiersToGdkModifiers.
1059         * UIProcess/API/gtk/WebKitPrivate.cpp:
1060         (wkEventModifiersToGdkModifiers): Moved from
1061         WebKitNavigationPolicyDecision and renamed to wkEventModifiersToGdkModifiers.
1062         * UIProcess/API/gtk/WebKitPrivate.h:
1063         * UIProcess/API/gtk/WebKitUIClient.cpp:
1064         (mouseDidMoveOverElement): UI client callback that calls
1065         webkitWebViewMouseTargetChanged().
1066         (attachUIClientToView): Add implementation for callback
1067         mouseDidMoveOverElement.
1068         * UIProcess/API/gtk/WebKitWebView.cpp:
1069         (webkit_web_view_class_init): Add
1070         WebKitWebView::mouse-target-changed signal.
1071         (webkitWebViewMouseTargetChanged): Emit
1072         WebKitWebView::mouse-target-changed signal.
1073         * UIProcess/API/gtk/WebKitWebView.h:
1074         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1075         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
1076         WebKitHitTestResult.
1077         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1078         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1079         (testWebViewMouseTarget):
1080         (beforeAll):
1081         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1082         (WebViewTest::WebViewTest):
1083         (WebViewTest::~WebViewTest):
1084         (parentWindowMapped):
1085         (WebViewTest::showInWindowAndWaitUntilMapped): Method to add the
1086         view into a popup window and show it running the main loop until
1087         the window is mapped.
1088         (WebViewTest::mouseMoveTo): Method to synthesize a
1089         GDK_MOTION_EVENT on the given coordinates and using the given
1090         modifiers.
1091         * UIProcess/API/gtk/tests/WebViewTest.h:
1092         * UIProcess/API/gtk/webkit2.h: Include WebKitHitTestResult.h.
1093         * UIProcess/API/gtk/webkit2marshal.list:
1094
1095 2012-02-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1096
1097         [Qt] Fetch the visible rect from LayerTreeHost instead of keeping a copy in each layer.
1098         https://bugs.webkit.org/show_bug.cgi?id=78009
1099
1100         Reviewed by Noam Rosenthal.
1101
1102         Since WebGraphicsLayers are now accessed directly from LayerTreeHost, they don't
1103         need to keep the visible rect to pass it down their child layers anymore.
1104
1105         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1106         (WebCore::WebGraphicsLayer::setContentsScale):
1107         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
1108         (WebCore::WebGraphicsLayer::adjustVisibleRect):
1109         (WebCore):
1110         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1111         (WebGraphicsLayerClient):
1112         (WebGraphicsLayer):
1113         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1114         (WebKit::LayerTreeHostQt::registerLayer):
1115         (WebKit::LayerTreeHostQt::visibleContentsRect):
1116         (WebKit):
1117         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
1118         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1119         (LayerTreeHostQt):
1120
1121 2012-02-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1122
1123         [Qt] Control the lifetime of TiledBackingStores in WebGraphicsLayer.
1124         https://bugs.webkit.org/show_bug.cgi?id=78005
1125
1126         Reviewed by Noam Rosenthal.
1127
1128         This makes sure that no empty tiles are generated for layers without contents and that
1129         no interaction is made with the TiledBackingStore until we got a WebGraphicsLayerClient.
1130
1131         - Create the main TiledBackingStore only when the layer has drawsContent and has no
1132           directly composited image
1133         - Removed recreateBackingStoreIfNeeded and do the (re)creation of the backing stores
1134           in updateContentBuffers
1135         - Call purgeBackingStores on registered layers instead of passing it down the layer tree
1136
1137         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1138         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
1139         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
1140         (WebCore::WebGraphicsLayer::setDrawsContent):
1141         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
1142         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1143         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
1144         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
1145         (WebCore::WebGraphicsLayer::updateContentBuffers):
1146         (WebCore::WebGraphicsLayer::purgeBackingStores):
1147         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
1148         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
1149         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1150         (WebGraphicsLayer):
1151         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1152         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
1153         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
1154         (WebKit):
1155         (WebKit::LayerTreeHostQt::purgeBackingStores):
1156         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1157         (LayerTreeHostQt):
1158
1159 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1160
1161         [Qt] Remove WebGraphicsLayer::updateTileBuffersRecursively
1162         https://bugs.webkit.org/show_bug.cgi?id=78105
1163
1164         Reviewed by Kenneth Rohde Christiansen.
1165
1166         The method is unused.
1167
1168         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1169         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1170         (WebGraphicsLayer):
1171
1172 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1173
1174         [Qt] Register individual WebGraphicsLayers to LayerTreeHost instead of handling the tree as a whole.
1175         https://bugs.webkit.org/show_bug.cgi?id=77976
1176
1177         Reviewed by Kenneth Rohde Christiansen.
1178
1179         The LayerTreeHost association had to be maintained between re-parented layers and it would be
1180         impossible to know if the layer would be disconnected from the LayerTreeHost only for reparenting
1181         or disconnected for good (in other words, that the LayerTreeHost could be deleted meanwhile).
1182
1183         Instead, this patch assumes that graphics layers will only be in contact with one instance of
1184         LayerTreeHost, and that this association can be kept until either the graphics layer or the layer
1185         tree host gets deleted.
1186
1187         The registered layers are kept in a set and the visible rect and scales are passed directly
1188         to layers instead of down the tree, through the root layer.
1189
1190         This also fixes the !m_layerInfo.imageBackingStoreID ASSERT that was popping in unit tests.
1191
1192         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1193         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
1194         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
1195         (WebCore::WebGraphicsLayer::setChildren):
1196         (WebCore::WebGraphicsLayer::addChild):
1197         (WebCore::WebGraphicsLayer::addChildAtIndex):
1198         (WebCore::WebGraphicsLayer::addChildAbove):
1199         (WebCore::WebGraphicsLayer::addChildBelow):
1200         (WebCore::WebGraphicsLayer::replaceChild):
1201         (WebCore::WebGraphicsLayer::removeFromParent):
1202         (WebCore::WebGraphicsLayer::setContentsToImage):
1203         (WebCore::WebGraphicsLayer::setMaskLayer):
1204         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
1205         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1206         (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
1207         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
1208         (WebCore::WebGraphicsLayer::createTile):
1209         (WebCore::WebGraphicsLayer::updateTile):
1210         (WebCore::WebGraphicsLayer::removeTile):
1211         (WebCore::WebGraphicsLayer::updateContentBuffers):
1212         (WebCore::WebGraphicsLayer::purgeBackingStores):
1213         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
1214         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1215         (WebCore):
1216         (WebGraphicsLayerClient):
1217         (WebGraphicsLayer):
1218         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1219         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
1220         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
1221         (WebKit::LayerTreeHostQt::attachLayer):
1222         (WebKit):
1223         (WebKit::LayerTreeHostQt::detachLayer):
1224         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
1225         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1226         (LayerTreeHostQt):
1227
1228 2012-02-07  Andras Becsi  <andras.becsi@nokia.com>
1229
1230         [Qt][WK2] WebView should use Flickable instead of QScroller to handle positioning
1231         https://bugs.webkit.org/show_bug.cgi?id=76275
1232
1233         Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
1234
1235         The current WebView implementation uses QScroller to manage positioning but other
1236         similar items in QML (ie. ListView, GridView) use Flickable as their base class.
1237         Since QScroller will be dropped from Qt5 this patch removes the QScroller code
1238         and redirects pan gestures to a dynamically created encapsulated Flickable instance
1239         (QtFlickProvider) which handles the positioning.
1240
1241         This implementation only uses public QML API and does not depend on declarative-private.
1242         It propagates a small subset of the Flickable API as the public API of the WebView.
1243         This minimalistic API is accessible via the experimental extension and makes it possible
1244         in QML to place additional items (such as toolbars, scroll indicators and floating menus)
1245         aroud the page.
1246         These items can use anchoring and binding for positioning on the flickable contentItem.
1247
1248         The patch depends however on the automatic touch->mouse event synthetization of Qt5.
1249         The touch events sent to the flickProvider are translated to mouse events automatically
1250         as long as the Flickable does not handle touch events directly.
1251
1252         After this change QtWebKit2 does no longer depend on QtWidgets and this dependency can be
1253         removed in a follow-up patch.
1254
1255         * Target.pri: Added QtFlickProvider source.
1256         * UIProcess/API/qt/qquickwebpage.cpp:
1257         (QQuickWebPagePrivate::paintToCurrentGLContext):
1258         (QQuickWebPage::transformToItem):
1259         (QQuickWebPagePrivate::updateSize):
1260         * UIProcess/API/qt/qquickwebview.cpp:
1261         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1262         (QQuickWebViewPrivate::pageItemPos):
1263         (QQuickWebViewFlickablePrivate::pageItemPos):
1264         (QQuickWebViewFlickablePrivate::updateContentsSize):
1265         (QQuickWebViewFlickablePrivate::onComponentComplete):
1266         (QQuickWebViewFlickablePrivate::updateViewportSize):
1267         (QQuickWebViewExperimental::flickableData):
1268         (QQuickWebViewExperimental::contentItem):
1269         (QQuickWebViewExperimental::contentWidth):
1270         (QQuickWebViewExperimental::setContentWidth):
1271         (QQuickWebViewExperimental::contentHeight):
1272         (QQuickWebViewExperimental::setContentHeight):
1273         (QQuickWebViewExperimental::contentX):
1274         (QQuickWebViewExperimental::setContentX):
1275         (QQuickWebViewExperimental::contentY):
1276         (QQuickWebViewExperimental::setContentY):
1277         (QQuickWebView::pageItemPos):
1278         (QQuickWebView::updateContentsSize):
1279         * UIProcess/API/qt/qquickwebview_p.h:
1280         * UIProcess/API/qt/qquickwebview_p_p.h:
1281         (QQuickWebViewPrivate):
1282         (QQuickWebViewPrivate::updateContentsSize):
1283         (QQuickWebViewFlickablePrivate):
1284         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1285         (tst_QQuickWebView::scrollRequest):
1286         * UIProcess/qt/QtFlickProvider.cpp: Added.
1287         (QtFlickProvider::QtFlickProvider):
1288         (QtFlickProvider::handleTouchFlickEvent):
1289         (QtFlickProvider::contentItem):
1290         (QtFlickProvider::flickableData):
1291         (QtFlickProvider::contentPos):
1292         (QtFlickProvider::setContentPos):
1293         (QtFlickProvider::viewportSize):
1294         (QtFlickProvider::setViewportSize):
1295         (QtFlickProvider::returnToBounds):
1296         (QtFlickProvider::cancelFlick):
1297         (QtFlickProvider::isMoving):
1298         (QtFlickProvider::isDragging):
1299         (QtFlickProvider::isFlicking):
1300         (QtFlickProvider::contentWidth):
1301         (QtFlickProvider::setContentWidth):
1302         (QtFlickProvider::contentHeight):
1303         (QtFlickProvider::setContentHeight):
1304         (QtFlickProvider::contentX):
1305         (QtFlickProvider::setContentX):
1306         (QtFlickProvider::contentY):
1307         (QtFlickProvider::setContentY):
1308         * UIProcess/qt/QtFlickProvider.h: Added.
1309         (QtFlickProvider):
1310         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1311         (WebKit::QtPanGestureRecognizer::recognize):
1312         * UIProcess/qt/QtPanGestureRecognizer.h:
1313         (QtPanGestureRecognizer):
1314         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1315         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1316         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
1317         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
1318         (WebKit):
1319         (WebKit::QtViewportInteractionEngine::wheelEvent):
1320         (WebKit::QtViewportInteractionEngine::reset):
1321         (WebKit::QtViewportInteractionEngine::applyConstraints):
1322         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
1323         (WebKit::QtViewportInteractionEngine::panGestureActive):
1324         (WebKit::QtViewportInteractionEngine::panGestureStarted):
1325         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
1326         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
1327         (WebKit::QtViewportInteractionEngine::panGestureEnded):
1328         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
1329         (WebKit::QtViewportInteractionEngine::scaleContent):
1330         * UIProcess/qt/QtViewportInteractionEngine.h:
1331         (QtViewportInteractionEngine):
1332         * UIProcess/qt/QtWebPageEventHandler.cpp:
1333         (QtWebPageEventHandler::doneWithTouchEvent):
1334
1335 2012-02-08  Keunsoon Lee  <keunsoon.lee@samsung.com>
1336
1337         [WK2][EFL] creating dummy class derived from ResourceHandleClient for Efl download module.
1338         https://bugs.webkit.org/show_bug.cgi?id=76171
1339
1340         Reviewed by Andreas Kling.
1341
1342         FileDownloaderEfl is a practical class to operate file download.
1343         It communicates with Download class to start download
1344         and to notify downloading states to user(e.g. client application).
1345         Besides FileDownloaderEfl derives from ResourceHandleClient
1346         and receives chunked data from ResourceHandle directly
1347         or redirects data flow which is started from MainResourceLoader
1348         by mean of exchanging ResourceHandle's existing client for FileDownloaderEfl.
1349
1350         This patch has only dummy functions to make easy to review.
1351         Working patch will be uploaded on another bug thread.
1352
1353         * PlatformEfl.cmake: added new file to compile.
1354         * WebProcess/Downloads/Download.h: added FileDownloaderEfl's instance as a form of OwnPtr<FileDownloaderEfl>.
1355         (WebKit):
1356         (Download):
1357         * WebProcess/Downloads/efl/DownloadEfl.cpp:
1358         (WebKit::Download::start): calling to FileDownloaderEfl::start() to start download for passing ResourceRequest.
1359         * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Added. a practical class to operate file download.
1360         (WebKit):
1361         (WebKit::FileDownloaderEfl::create): create function, which returns PassOwnPtr<FileDownloaderEfl>.
1362         (WebKit::FileDownloaderEfl::FileDownloaderEfl): constructor, which receives Download* as a parameter.
1363         (WebKit::FileDownloaderEfl::~FileDownloaderEfl): deconstructor.
1364         (WebKit::FileDownloaderEfl::start): a function to start downloading for passed ResourceRequest.
1365         It does nothing for now, but shows how Download class can call FileDownloaderEfl's function.
1366         (WebKit::FileDownloaderEfl::didReceiveResponse): virtual function for ResourceHandleClient.
1367         It will receive response header information from ResourceHandle.
1368         (WebKit::FileDownloaderEfl::didReceiveData): virtual function for ResourceHandleClient.
1369         It will receive chunk data from ResourceHandle.
1370         (WebKit::FileDownloaderEfl::didFinishLoading): virtual function for ResourceHandleClient.
1371         It will be notified loading is finished from ResourceHandle.
1372         (WebKit::FileDownloaderEfl::didFail): virtual function for ResourceHandleClient.
1373         It will be notified loading is fail with ResourceError from ResourceHandle.
1374         (WebKit::FileDownloaderEfl::shouldUseCredentialStorage): virtual function for ResourceHandleClient.
1375         It returns whether to use credential storage or not.
1376         (WebKit::FileDownloaderEfl::didReceiveAuthenticationChallenge): virtual function for ResourceHandleClient.
1377         It will receive AuthenticationChallenge.
1378         (WebKit::FileDownloaderEfl::didCancelAuthenticationChallenge): virtual function for ResourceHandleClient.
1379         It will be notified AuthenticationChallenge is canceled.
1380         (WebKit::FileDownloaderEfl::receivedCancellation): virtual function for ResourceHandleClient.
1381         * WebProcess/Downloads/efl/FileDownloaderEfl.h: Added.
1382         (WebCore):
1383         (WebKit):
1384         (FileDownloaderEfl):
1385
1386 2012-02-07  MORITA Hajime  <morrita@google.com>
1387
1388         Replacement text should be available from the marker.
1389         https://bugs.webkit.org/show_bug.cgi?id=77934
1390
1391         Reviewed by Kent Tamura.
1392
1393         * win/WebKit2.def:
1394         * win/WebKit2CFLite.def:
1395
1396 2012-02-08  Anders Carlsson  <andersca@apple.com>
1397
1398         Don't use the wheel event handler count to track if a page has horizontal scrollbars
1399         https://bugs.webkit.org/show_bug.cgi?id=78192
1400
1401         Reviewed by Andreas Kling.
1402
1403         Prior to this change, we were incrementing and decrementing the wheel event handler count
1404         whenever a scrollable area gained or lost a horizontal scrollbar, so we could use the count
1405         to determine if Safari can handle horizontal wheel events directly or whether they have to be sent
1406         to the web process first.
1407
1408         What this meant was that whenever a page had horizontal scrollbars we'd have to send all scroll wheel events
1409         to the main thread instead of the scrolling thread, regardless of whether there were any wheel event handlers.
1410         
1411         After this change, we traverse the tree of scrollable areas after every layout and check if any of them
1412         have a horizontal scrollbar. (We still also check if there are wheel event handlers).
1413
1414         If traversing the tree after every layout is deemed to slow we can go back to caching the number of horizontal scrollbars
1415         in a page, but the number of subframes in a page is usually very small and the number of other scrollable areas is even smaller.
1416
1417         * UIProcess/WebPageProxy.cpp:
1418         (WebKit::WebPageProxy::WebPageProxy):
1419         (WebKit::WebPageProxy::willHandleHorizontalScrollEvents):
1420         * UIProcess/WebPageProxy.h:
1421         (WebKit::WebPageProxy::setCanShortCircuitHorizontalWheelEvents):
1422         (WebPageProxy):
1423         * UIProcess/WebPageProxy.messages.in:
1424         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1425         (WebKit::WebChromeClient::numWheelEventHandlersChanged):
1426         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1427         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1428         * WebProcess/WebPage/WebPage.cpp:
1429         (WebKit::WebPage::WebPage):
1430         (WebKit::WebPage::numWheelEventHandlersChanged):
1431         (WebKit):
1432         (WebKit::hasEnabledHorizontalScrollbar):
1433         (WebKit::pageContainsAnyHorizontalScrollbars):
1434         (WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState):
1435         * WebProcess/WebPage/WebPage.h:
1436         (WebPage):
1437
1438 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1439
1440         Unreviewed, rolling out r106920, r106924, r106933, r106939,
1441         and r107090.
1442         http://trac.webkit.org/changeset/106920
1443         http://trac.webkit.org/changeset/106924
1444         http://trac.webkit.org/changeset/106933
1445         http://trac.webkit.org/changeset/106939
1446         http://trac.webkit.org/changeset/107090
1447         https://bugs.webkit.org/show_bug.cgi?id=78124
1448
1449         Something is completely wrong this change (Requested by
1450         Ossy_gardener on #webkit).
1451
1452         * Shared/WebProcessCreationParameters.cpp:
1453         (WebKit::WebProcessCreationParameters::encode):
1454         (WebKit::WebProcessCreationParameters::decode):
1455         * Shared/WebProcessCreationParameters.h:
1456         (WebProcessCreationParameters):
1457         * UIProcess/WebContext.cpp:
1458         (WebKit::WebContext::WebContext):
1459         * UIProcess/qt/WebContextQt.cpp:
1460         (WebKit::WebContext::platformInitializeWebProcess):
1461         * WebProcess/qt/WebProcessQt.cpp:
1462         (WebKit):
1463         (WebKit::WebProcess::platformSetCacheModel):
1464         (WebKit::WebProcess::platformInitializeWebProcess):
1465
1466 2012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1467
1468         [GTK] Fix a crash when WebKitWebView is created without a WebContext
1469         https://bugs.webkit.org/show_bug.cgi?id=78104
1470
1471         Reviewed by Philippe Normand.
1472
1473         * UIProcess/API/gtk/WebKitWebView.cpp:
1474         (webkitWebViewSetProperty): Make sure WebKitWebView:web-context
1475         property is initialized to the default web context when a web
1476         context is not passed to g_object_new().
1477         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1478         (testWebViewDefaultContext): Check that a web view created with
1479         g_object_new has the default context.
1480
1481 2012-02-08  Michael Brüning  <michael.bruning@nokia.com>
1482
1483         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1484         https://bugs.webkit.org/show_bug.cgi?id=73918
1485
1486         Reviewed by Kenneth Rohde Christiansen.
1487
1488         * UIProcess/WebContext.cpp:
1489         (WebKit::WebContext::WebContext): Set default cacheModel for Qt platform to
1490         CacheModelPrimaryWebBrowser.
1491
1492 2012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1493
1494         [GTK] Fix WebKitWebView::decide-policy API documentation
1495         https://bugs.webkit.org/show_bug.cgi?id=78101
1496
1497         Reviewed by Martin Robinson.
1498
1499         - It refers to WebKitPolicyClient instead of WebKitWebView
1500         - Trailing ':' is missing
1501         - References @decision as WebKitNavigationPolicyDecision instead
1502         of WebKitPolicyDecision
1503
1504         * UIProcess/API/gtk/WebKitWebView.cpp:
1505         (webkit_web_view_class_init):
1506
1507 2012-02-08  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1508
1509         [Qt] Build broken if qt missing openssl
1510         https://bugs.webkit.org/show_bug.cgi?id=77894
1511
1512         Reviewed by Chang Shu.
1513
1514         Build fix. No new test content. 
1515
1516         * WebProcess/qt/QtNetworkAccessManager.cpp:
1517         (WebKit::QtNetworkAccessManager::onSslErrors):
1518
1519 2012-02-08  Yael Aharon  <yael.aharon@nokia.com>
1520
1521         [WK2] Text notifications should have an iconURL
1522         https://bugs.webkit.org/show_bug.cgi?id=77968
1523
1524         Reviewed by Simon Hausmann.
1525         
1526         Per http://www.w3.org/TR/notifications simple text notifications should have an iconURL.
1527         Add an iconURL to WebNotification and add a public API to access it.
1528        
1529         * UIProcess/API/C/WKNotification.cpp:
1530         (WKNotificationCopyiconURL):
1531         * UIProcess/API/C/WKNotification.h:
1532         * UIProcess/Notifications/WebNotification.cpp:
1533         (WebKit::WebNotification::WebNotification):
1534         * UIProcess/Notifications/WebNotification.h:
1535         (WebKit::WebNotification::create):
1536         (WebKit::WebNotification::iconURL):
1537         (WebNotification):
1538         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1539         (WebKit::WebNotificationManagerProxy::show):
1540         * UIProcess/Notifications/WebNotificationManagerProxy.h:
1541         (WebNotificationManagerProxy):
1542         * UIProcess/WebPageProxy.cpp:
1543         (WebKit::WebPageProxy::showNotification):
1544         * UIProcess/WebPageProxy.h:
1545         (WebPageProxy):
1546         * UIProcess/WebPageProxy.messages.in:
1547         * WebProcess/Notifications/WebNotificationManager.cpp:
1548         (WebKit::WebNotificationManager::show):
1549
1550 2012-02-08  Philippe Normand  <pnormand@igalia.com>
1551
1552         [GTK][WK2] enable-webaudio WebSetting
1553         https://bugs.webkit.org/show_bug.cgi?id=77959
1554
1555         Reviewed by Martin Robinson.
1556
1557         Add a new WebKitGTK WebSetting to enable/disable WebAudio at
1558         runtime.
1559
1560         * UIProcess/API/gtk/WebKitSettings.cpp:
1561         (webKitSettingsSetProperty):
1562         (webKitSettingsGetProperty):
1563         (webkit_settings_class_init):
1564         (webkit_settings_get_enable_webaudio):
1565         (webkit_settings_set_enable_webaudio):
1566         * UIProcess/API/gtk/WebKitSettings.h:
1567         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1568         (testWebKitSettings):
1569
1570 2012-02-07  Martin Robinson  <mrobinson@igalia.com>
1571
1572         [GTK] [WK2] Add WebKitResponsePolicyDecision
1573         https://bugs.webkit.org/show_bug.cgi?id=76789
1574
1575         Reviewed by Philippe Normand.
1576
1577         Add a WebKitResponsePolicyDecision GObject, use it for response
1578         policy decisions and add a test.
1579
1580         * GNUmakefile.am: Added new source files to the list.
1581         * UIProcess/API/gtk/WebKitPolicyClient.cpp:
1582         (decidePolicyForResponseCallback): Added this callback which creates the request
1583         and fires the signal.
1584         (attachPolicyClientToPage): Added new callback to the C API policy client.
1585         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: Added.
1586         * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: Added.
1587         * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: Added.
1588         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new docs.
1589         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
1590         * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
1591         (testResponsePolicy): Added this test for response policy decisions.
1592         (serverCallback): Added a SoupServer to test policy response policy decisions.
1593         (beforeAll): Ditto.
1594         (afterAll): Ditto.
1595
1596 2012-02-07  Timothy Hatcher  <timothy@apple.com>
1597
1598         Avoid making a window for the Web Inspector when it is docked.
1599
1600         This also makes sure the inspector WKView is in a window before the page is loaded.
1601         This avoids some redundant work caused by moving it to a window later.
1602
1603         https://webkit.org/b/78064
1604
1605         Reviewed by Brian Weinstein.
1606
1607         * UIProcess/WebInspectorProxy.cpp:
1608         (WebKit::WebInspectorProxy::createInspectorPage): Set m_isAttached here...
1609         (WebKit::WebInspectorProxy::didLoadInspectorPage): ... instead of here.
1610         * UIProcess/WebInspectorProxy.h:
1611         (WebInspectorProxy):
1612         * UIProcess/mac/WebInspectorProxyMac.mm:
1613         (WebKit::WebInspectorProxy::createInspectorWindow): Added. Factored out of platformOpen.
1614         (WebKit::WebInspectorProxy::updateInspectorWindowTitle): Added. Factored out of platformInspectedURLChanged.
1615         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Call platformAttach or createInspectorWindow.
1616         (WebKit::WebInspectorProxy::platformOpen): Make the view or window visible.
1617         (WebKit::WebInspectorProxy::platformDidClose): Only message m_inspectorWindow if it isn't nil.
1618         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Store the urlString and call updateInspectorWindowTitle.
1619         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Return early if not visible.
1620         (WebKit::WebInspectorProxy::platformAttach): Start out hidden if we are not visible yet. Destroy the window.
1621         (WebKit::WebInspectorProxy::platformDetach): Use createInspectorWindow to create it again.
1622
1623 2012-02-07  Tony Chang  <tony@chromium.org>
1624
1625         merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1626         https://bugs.webkit.org/show_bug.cgi?id=78036
1627
1628         Reviewed by Darin Adler.
1629
1630         * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
1631
1632 2012-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1633
1634         [CMAKE] Use *bin* and *lib* directories for executable and libraries.
1635         https://bugs.webkit.org/show_bug.cgi?id=77928
1636
1637         Reviewed by Daniel Bates.
1638
1639         CMake has used *Programs* directory for executable. In addition, shared libraries are being
1640         built in source directory. It is better to set common places in order to maintain executable
1641         and libraries. *bin* is for executable and *lib* is for library.
1642
1643         * CMakeLists.txt:
1644
1645 2012-02-07  Timothy Hatcher  <timothy@apple.com>
1646
1647         Initilize the WebPageProxy intrinsicDeviceScaleFactor on creation of the WKView.
1648
1649         If WKView was created and loaded a page with canvas elements before beinging moved
1650         to a window, the canvas elements would be locked in at a pixel ratio of 1. With this
1651         change the WKView will use the main screen's pixel ratio until it moves to a window.
1652
1653         Reviewed by Anders Carlsson.
1654
1655         * UIProcess/API/mac/WKView.mm:
1656         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call setIntrinsicDeviceScaleFactor.
1657
1658 2012-02-07  Alexey Proskuryakov  <ap@apple.com>
1659
1660         Keep a reference in didReceiveInvalidMessage.
1661         https://bugs.webkit.org/show_bug.cgi?id=78024
1662
1663         Reviewed by Anders Carlsson.
1664
1665         * UIProcess/WebConnectionToWebProcess.cpp:
1666         (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
1667
1668 2012-02-06  Anders Carlsson  <andersca@apple.com>
1669
1670         ScrollableAreaSet should be moved from Page to FrameView
1671         https://bugs.webkit.org/show_bug.cgi?id=62762
1672
1673         Reviewed by Beth Dakin.
1674
1675         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1676         (WebKit::BuiltInPDFView::initialize):
1677         Call FrameView::addScrollableArea instead.
1678
1679         (WebKit::BuiltInPDFView::destroy):
1680         Call FrameView::removeScrollableArea instead.
1681
1682         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1683         Remove disconnectFromPage since it no longer exists on ScrollableArea.
1684
1685 2012-02-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1686
1687         [GTK] Add cut, copy and paste methods to WebKit2 GTK+ API
1688         https://bugs.webkit.org/show_bug.cgi?id=76998
1689
1690         Reviewed by Martin Robinson.
1691
1692         * GNUmakefile.am: Add WebKitEditingCommands.h.
1693         * UIProcess/API/gtk/WebKitEditingCommands.h: Added.
1694         * UIProcess/API/gtk/WebKitWebView.cpp:
1695         (didValidateCommand): Callback called by the C API when an editor
1696         command has been validated.
1697         (webkit_web_view_can_execute_editing_command): Asynchronously
1698         validate the given editing command.
1699         (webkit_web_view_can_execute_editing_command_finish): Finish async
1700         operation started by webkit_web_view_can_execute_editing_command().
1701         (webkit_web_view_execute_editing_command): Execute the given
1702         command.
1703         * UIProcess/API/gtk/WebKitWebView.h:
1704         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1705         * UIProcess/API/gtk/tests/GNUmakefile.am:
1706         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
1707         (LoadTrackingTest::provisionalLoadFailed): Do not finish the main
1708         loop on load failure, now finished is always called.
1709         * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Use WebViewTest
1710         instead of LoadTrackingTest.
1711         * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Added.
1712         (testWebViewEditorCutCopyPasteNonEditable):
1713         (testWebViewEditorCutCopyPasteEditable):
1714         (beforeAll):
1715         (afterAll):
1716         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1717         (loadChanged):
1718         (WebViewTest::waitUntilLoadFinished): Run a main loop until load
1719         finished.
1720         * UIProcess/API/gtk/tests/WebViewTest.h: Add waitUntilLoadFinished().
1721         * UIProcess/API/gtk/webkit2.h: Include WebKitEditingCommands.h.
1722
1723 2012-02-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1724
1725         Encode radius, force and rotationAngle in WebPlatformTouchPoint.
1726         https://bugs.webkit.org/show_bug.cgi?id=77986
1727
1728         Reviewed by Kenneth Rohde Christiansen.
1729
1730         * Shared/WebEvent.h:
1731         (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
1732         (WebPlatformTouchPoint):
1733         (WebKit::WebPlatformTouchPoint::radius):
1734         (WebKit::WebPlatformTouchPoint::rotationAngle):
1735         (WebKit::WebPlatformTouchPoint::force):
1736         * Shared/WebEventConversion.cpp:
1737         (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
1738         * Shared/WebPlatformTouchPoint.cpp:
1739         (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
1740         (WebKit::WebPlatformTouchPoint::encode):
1741         (WebKit::WebPlatformTouchPoint::decode):
1742
1743 2012-02-07  Andras Becsi  <andras.becsi@nokia.com>
1744
1745         [Qt] [WK2] Fix the debug build after r106920
1746
1747         * WebProcess/qt/WebProcessQt.cpp:
1748         (WebKit::WebProcess::platformSetCacheModel):
1749         Remove unnecessary assert.
1750
1751 2012-02-03  Andras Becsi  <andras.becsi@nokia.com>
1752
1753         [Qt][WK2] Add the componentComplete method to WebView
1754         https://bugs.webkit.org/show_bug.cgi?id=77111
1755
1756         Reviewed by Simon Hausmann.
1757
1758         Move the initialization of the interaction engine to componentComplete
1759         in preparation of switching to a Flickable based content positioning
1760         for the touch based WebView.
1761         Suspend the page and delay the dispatch of load success on startup until
1762         the component finished initialization. With this patch instantiating the
1763         WebView in C++ is only possible by creating a QDeclarativeComponent as
1764         the initialization depends on the componentComplete method being called.
1765         Also return valid default values in the viewport info functions if the
1766         interaction engine is not yet initialized because the viewport info
1767         component could finish initialization earlier than the WebView, which
1768         results in QML warnings during MiniBrowser startup.
1769
1770         * UIProcess/API/qt/qquickwebview.cpp:
1771         (QQuickWebViewPrivate::initialize):
1772         (QQuickWebViewPrivate::loadDidSucceed):
1773         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
1774         (QQuickWebViewFlickablePrivate::initialize):
1775         (QQuickWebViewFlickablePrivate::onComponentComplete):
1776         (QQuickWebViewFlickablePrivate::loadDidSucceed):
1777         (QQuickWebViewFlickablePrivate::updateViewportSize):
1778         (QQuickWebViewFlickablePrivate::_q_resume):
1779         (QQuickWebView::geometryChanged):
1780         (QQuickWebView::componentComplete):
1781         * UIProcess/API/qt/qquickwebview_p.h:
1782         * UIProcess/API/qt/qquickwebview_p_p.h:
1783         (QQuickWebViewPrivate::onComponentComplete):
1784         (QQuickWebViewPrivate):
1785         (QQuickWebViewFlickablePrivate):
1786         * UIProcess/API/qt/qwebviewportinfo.cpp:
1787         (QWebViewportInfo::currentScale):
1788         (QWebViewportInfo::devicePixelRatio):
1789         (QWebViewportInfo::initialScale):
1790         (QWebViewportInfo::minimumScale):
1791         (QWebViewportInfo::maximumScale):
1792         (QWebViewportInfo::isScalable):
1793         (QWebViewportInfo::layoutSize):
1794         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
1795         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1796         (tst_QQuickWebView::tst_QQuickWebView):
1797         (tst_QQuickWebView::init):
1798         (tst_QQuickWebView::multipleWebViewWindows):
1799         (tst_QQuickWebView::multipleWebViews):
1800         * UIProcess/qt/QtWebPageLoadClient.cpp:
1801         (QtWebPageLoadClient::dispatchLoadSucceeded):
1802
1803 2012-02-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
1804
1805         [EFL][WK2] Add ModuleEfl.cpp
1806         https://bugs.webkit.org/show_bug.cgi?id=63608
1807
1808         Reviewed by Andreas Kling.
1809
1810         Add first version of ModuleEfl.cpp including load(), unload() and platformFunctionPointer().
1811
1812         * Platform/Module.h:
1813         * Platform/efl/ModuleEfl.cpp: Added.
1814         (WebKit::Module::load):
1815         (WebKit::Module::unload):
1816         (WebKit::Module::platformFunctionPointer):
1817
1818 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
1819
1820         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1821         https://bugs.webkit.org/show_bug.cgi?id=73918
1822
1823         Reviewed by Kenneth Rohde Christiansen.
1824
1825         First part of the implementation. The next steps are the implementation
1826         of the API for the Qt WebKit 2 port and the hybrid memory and disk cache.
1827
1828         * Shared/WebProcessCreationParameters.cpp:
1829         (WebKit::WebProcessCreationParameters::encode):
1830         (WebKit::WebProcessCreationParameters::decode):
1831         * Shared/WebProcessCreationParameters.h:
1832         (WebProcessCreationParameters):
1833         * UIProcess/qt/WebContextQt.cpp:
1834         (WebKit::defaultDiskCacheDirectory):
1835         (WebKit):
1836         (WebKit::WebContext::platformInitializeWebProcess):
1837         * WebProcess/qt/WebProcessQt.cpp:
1838         (WebKit::physicalMemorySizeInBytes):
1839         (WebKit):
1840         (WebKit::WebProcess::platformSetCacheModel):
1841         (WebKit::WebProcess::platformInitializeWebProcess):
1842
1843 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
1844
1845         Remove Element::ensureShadowRoot export.
1846         https://bugs.webkit.org/show_bug.cgi?id=77932
1847
1848         Reviewed by Hajime Morita.
1849
1850         * win/WebKit2.def:
1851         * win/WebKit2CFLite.def:
1852
1853 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
1854
1855         [GTK] Add TextureMapperGL implementation
1856         https://bugs.webkit.org/show_bug.cgi?id=75308
1857
1858         Reviewed by Alejandro G. Castro.
1859
1860         Fix the WebKit2 + AC build for GTK+.
1861
1862         * GNUmakefile.am: Add some missing source files.
1863         * UIProcess/DrawingAreaProxy.cpp:
1864         (WebKit): Add USE(TILED_BACKING_STORE) to the guard.
1865         * UIProcess/WebPageProxy.cpp:
1866         (WebKit::WebPageProxy::didReceiveMessage): Ditto.
1867         * WebProcess/WebPage/DrawingArea.h:
1868         (DrawingArea): Ditto.
1869         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1870         (WebKit): Ditto.
1871         * WebProcess/WebPage/DrawingAreaImpl.h:
1872         (DrawingAreaImpl): Ditto.
1873
1874 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
1875
1876         Fix some miscellaneous 'make dist' error for WebKitGTK+.
1877
1878         * GNUmakefile.am: Do not distribute generated files.
1879
1880 2012-02-06  Anders Carlsson  <andersca@apple.com>
1881
1882         Overlay scrollbars flash when window is simply activated
1883         https://bugs.webkit.org/show_bug.cgi?id=77911
1884
1885         Reviewed by Kenneth Russell.
1886
1887         * UIProcess/API/mac/WKView.mm:
1888         (-[WKView _updateWindowVisibility]):
1889         Use -[NSWindow isVisible] here, since we also want to consider the window hidden if the application itself is hidden.
1890
1891         (-[WKView _windowDidOrderOffScreen:]):
1892         (-[WKView _windowDidOrderOnScreen:]):
1893         Call -[WKView updateWindowVisibility].
1894
1895         * WebProcess/WebPage/WebPage.cpp:
1896         (WebKit::WebPage::setWindowIsVisible):
1897         Call FocusController::setContainingWindowIsVisible.
1898
1899 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
1900
1901          [GTK] Fix remaining errors in GTK+ WebKit2 API
1902         https://bugs.webkit.org/show_bug.cgi?id=77890
1903
1904         Reviewed by Gustavo Noronha Silva.
1905
1906         Fix some style issues in the GTK+ WebKit2 API section of the source code.
1907
1908         * UIProcess/API/gtk/WebKitPrivate.h:
1909         * UIProcess/API/gtk/WebKitWebView.cpp:
1910         * UIProcess/API/gtk/tests/TestMain.h:
1911
1912 2012-02-06  Matthew Delaney  <mdelaney@apple.com>
1913
1914         toDataURL() uses stale data after putImageData()
1915         https://bugs.webkit.org/show_bug.cgi?id=65767
1916
1917         Reviewed by Chris Marrin.
1918
1919         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1920         (InitWebCoreSystemInterface):
1921
1922 2012-02-06  Ryosuke Niwa  <rniwa@webkit.org>
1923
1924         gcc build fix after r106749.
1925
1926         * UIProcess/WebPreferences.cpp:
1927         (WebKit::WebPreferences::WebPreferences):
1928
1929 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
1930
1931         [GTK] WebKitWebView does a lot of work during size_allocate when not mapped
1932         https://bugs.webkit.org/show_bug.cgi?id=77743
1933
1934         Reviewed by Gustavo Noronha Silva.
1935
1936         Instead of resizing the guts of a WebView when it's not mapped, wait
1937         until it's mapped and do one resize. This prevents unmapped WebViews
1938         from adding to a container's resize cost.
1939
1940         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1941         (_WebKitWebViewBasePrivate): Added a new member needsResizeOnMap.
1942         (resizeWebKitWebViewBaseFromAllocation): Abstracted out this helper.
1943         (webkitWebViewBaseSizeAllocate): Wait until map to resize unmapped WebViews.
1944         (webkitWebViewBaseMap): Added this vmethod implementation.
1945         (webkit_web_view_base_class_init): Added vmethod.
1946
1947 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1948
1949         WebGestureEvent can not encode delta and area.
1950         https://bugs.webkit.org/show_bug.cgi?id=77728
1951
1952         Support delta and area fields in WebGestureEvent, and send area with Qt tap gesture.
1953
1954         Reviewed by Kenneth Rohde Christiansen.
1955
1956         * Shared/WebEvent.h:
1957         (WebKit::WebGestureEvent::area):
1958         (WebKit::WebGestureEvent::delta):
1959         * Shared/WebEventConversion.cpp:
1960         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
1961         * Shared/WebGestureEvent.cpp:
1962         (WebKit::WebGestureEvent::WebGestureEvent):
1963         (WebKit::WebGestureEvent::encode):
1964         (WebKit::WebGestureEvent::decode):
1965         * UIProcess/qt/QtWebPageEventHandler.cpp:
1966         (QtWebPageEventHandler::handleSingleTapEvent):
1967
1968 2012-02-03  Zalan Bujtas  <zbujtas@gmail.com>  and  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1969
1970         [Qt][WK2] Remove TiledDrawingArea and dependencies.
1971         https://bugs.webkit.org/show_bug.cgi?id=71681
1972
1973         Reviewed by Kenneth Rohde Christiansen.
1974
1975         Tiled drawing surface functionality got converted to LayerTree.
1976         TiledDrawingArea and its dependencies are not used by any port anymore.
1977
1978         * CMakeLists.txt:
1979         * GNUmakefile.am:
1980         * Shared/DrawingAreaInfo.h:
1981         * Target.pri:
1982         * UIProcess/API/qt/qquickwebpage.cpp:
1983         (QQuickWebPagePrivate::QQuickWebPagePrivate):
1984         * UIProcess/API/qt/qquickwebpage_p.h:
1985         * UIProcess/API/qt/qquickwebpage_p_p.h:
1986         (QQuickWebPagePrivate):
1987         * UIProcess/DrawingAreaProxy.h:
1988         * UIProcess/DrawingAreaProxy.messages.in:
1989         * UIProcess/TiledDrawingAreaProxy.cpp: Removed.
1990         * UIProcess/TiledDrawingAreaProxy.h: Removed.
1991         * UIProcess/qt/QtSGTileNode.cpp: Removed.
1992         * UIProcess/qt/QtSGTileNode.h: Removed.
1993         * UIProcess/qt/QtSGUpdateQueue.cpp: Removed.
1994         * UIProcess/qt/QtSGUpdateQueue.h: Removed.
1995         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Removed.
1996         * WebProcess/WebPage/DrawingArea.cpp:
1997         (WebKit::DrawingArea::create):
1998         * WebProcess/WebPage/DrawingArea.h:
1999         * WebProcess/WebPage/DrawingArea.messages.in:
2000         * WebProcess/WebPage/TiledDrawingArea.cpp: Removed.
2001         * WebProcess/WebPage/TiledDrawingArea.h: Removed.
2002         * WebProcess/WebPage/WebPage.h:
2003         (WebPage):
2004
2005 2012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2006
2007         [Qt] Don't version QtWebKit.experimental.
2008         https://bugs.webkit.org/show_bug.cgi?id=77739
2009
2010         Reviewed by Tor Arne Vestbø.
2011
2012         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
2013         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
2014         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2015         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
2016         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
2017         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
2018         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
2019         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
2020         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2021
2022 2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2023
2024         [GTK] Fix several gtkdoc-fixxref warnings
2025         https://bugs.webkit.org/show_bug.cgi?id=77613
2026
2027         Reviewed by Martin Robinson.
2028
2029         * UIProcess/API/gtk/WebKitWindowProperties.cpp: Fix a typo, a
2030         colon was missing in WebKitWebView::ready-to-show.
2031
2032 2012-02-05  Dan Bernstein  <mitz@apple.com>
2033
2034         <rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true
2035         https://bugs.webkit.org/show_bug.cgi?id=77823
2036
2037         Reviewed by Anders Carlsson.
2038
2039         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2040         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
2041         (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls
2042         through to the client if it implements shouldUseCredentialStorage. Returns true otherwise.
2043         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
2044         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2045         (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected
2046         bundle resource load client.
2047
2048 2012-02-04  Dan Bernstein  <mitz@apple.com>
2049
2050         <rdar://problem/10660698> Clients cannot prevent caching of individual responses
2051         https://bugs.webkit.org/show_bug.cgi?id=77822
2052
2053         Reviewed by Sam Weinig.
2054
2055         * Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for
2056         WKBundlePageResourceLoadClient.
2057         * Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient.
2058         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback
2059         typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped
2060         kWKBundlePageResourceLoadClientCurrentVersion to 1.
2061         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
2062         (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through
2063         to the client if it implements shouldCacheResponse. Returns true otherwise.
2064         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
2065         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2066         (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call
2067         InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former
2068         returns false.
2069         (WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call
2070         InjectedBundlePageResourceLoadClient::shouldCacheResponse().
2071
2072 2012-02-04  Sam Weinig  <sam@webkit.org>
2073
2074         Add ability to send WKURLRequests in WebKit2 API user messages
2075         https://bugs.webkit.org/show_bug.cgi?id=77819
2076
2077         Reviewed by Anders Carlsson.
2078
2079         Test: WebKit2UserMessageRoundTripTest API test.
2080
2081         * Shared/UserMessageCoders.h:
2082         (WebKit::UserMessageEncoder::baseEncode):
2083         (WebKit::UserMessageDecoder::baseDecode):
2084         Add encode/decode for WebURLRequest.
2085
2086 2012-02-04  Dan Bernstein  <mitz@apple.com>
2087
2088         <rdar://problem/10772406> WKPreferences instances cannot be copied
2089         https://bugs.webkit.org/show_bug.cgi?id=77816
2090
2091         Reviewed by Sam Weinig.
2092
2093         Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp.
2094
2095         * UIProcess/API/C/WKPreferences.cpp:
2096         (WKPreferencesCreateCopy): Added.
2097         * UIProcess/API/C/WKPreferencesPrivate.h:
2098         * UIProcess/WebPreferences.cpp:
2099         (WebKit::WebPreferences::WebPreferences): Added this constructor that copies the
2100         WebPreferencesStore of the given WebPreferences.
2101         * UIProcess/WebPreferences.h:
2102         (WebKit::WebPreferences::create): Added this create function that takes a WebPreferences
2103         instance and creates a new instance with a copy of the given instance’s store.
2104
2105 2012-02-03  Anders Carlsson  <andersca@apple.com>
2106
2107         WebKit2 should dispatch wheel events to the new ScrollingTree class
2108         https://bugs.webkit.org/show_bug.cgi?id=77795
2109
2110         Reviewed by Andreas Kling.
2111
2112         Replace all uses of ScrollingCoordinator with ScrollingTree instead.
2113         Also, don't try to handle gesture events on the scrolling thread anymore;
2114         we don't need to to that right now.
2115
2116         * WebProcess/WebPage/EventDispatcher.cpp:
2117         (WebKit::EventDispatcher::addScrollingTreeForPage):
2118         (WebKit::EventDispatcher::removeScrollingTreeForPage):
2119         (WebKit::EventDispatcher::wheelEvent):
2120         (WebKit::EventDispatcher::gestureEvent):
2121         * WebProcess/WebPage/EventDispatcher.h:
2122         (WebCore):
2123         (EventDispatcher):
2124         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2125         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2126         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
2127
2128 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
2129
2130         [WK2 Mac] No need to allow access to input methods or keyboard layouts
2131         https://bugs.webkit.org/show_bug.cgi?id=77775
2132         <rdar://problem/9276253>
2133         <rdar://problem/9276268>
2134
2135         Reviewed by Dan Bernstein.
2136
2137         * WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days
2138         of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know
2139         about that.
2140
2141 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
2142
2143         [WK2] Use properly quoted string literals
2144         https://bugs.webkit.org/show_bug.cgi?id=77583
2145
2146         Reviewed by Darin Adler.
2147
2148         Also added some FIXMEs.
2149
2150         * WebProcess/com.apple.WebProcess.sb:
2151
2152 2012-02-03  Brady Eidson  <beidson@apple.com>
2153
2154         <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
2155         Need a WK2 API to filter which subframes go into WebArchives as they are created.
2156
2157         Reviewed by Darin Adler.
2158
2159         Add a new WKBundleFrame API that takes a filter callback object to allow or reject
2160         subframes from a WebArchive:
2161         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2162         (WKBundleFrameCopyWebArchive):
2163         (WKBundleFrameCopyWebArchiveFilteringSubframes):
2164         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2165
2166         Implement the above API by calling through to WebCore:
2167         * WebProcess/WebPage/WebFrame.cpp:
2168         (WebFrameFilter):
2169         (WebKit::WebFrameFilter::WebFrameFilter):
2170         (WebKit::WebFrameFilter::shouldIncludeSubframe):
2171         (WebKit::WebFrame::webArchiveData):
2172         * WebProcess/WebPage/WebFrame.h:
2173         (WebFrame):
2174
2175         * WebProcess/WebPage/WebPage.cpp:
2176         (WebKit::WebPage::getWebArchiveOfFrame):
2177
2178 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
2179
2180         [Mac WK2] Use a minimally invasive way to fake plug-in process name
2181         https://bugs.webkit.org/show_bug.cgi?id=77682
2182
2183         Reviewed by Darin Adler.
2184
2185         * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule):
2186         Only change the name as it's seen from within the process.
2187
2188         * Shared/Plugins/PluginQuirks.h: Fixed a typo.
2189
2190 2012-02-03  Beth Dakin  <bdakin@apple.com>
2191
2192         https://bugs.webkit.org/show_bug.cgi?id=77691
2193         Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
2194         of device scale
2195
2196         Reviewed by Andy Estes.
2197
2198         toUserSpace() and toDeviceSpace() don't need to take device scale.
2199         * UIProcess/API/mac/WKView.mm:
2200         (-[WKView _convertToDeviceSpace:]):
2201         (-[WKView _convertToUserSpace:]):
2202
2203 2012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
2204
2205         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
2206         https://bugs.webkit.org/show_bug.cgi?id=77148
2207
2208         Reviewed by Martin Robinson.
2209
2210         Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
2211         Remove calls to unused API.
2212
2213         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2214         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2215         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
2216         (WebKit::LayerTreeHostProxy::createImage):
2217         (WebKit::LayerTreeHostProxy::ensureRootLayer):
2218
2219 2012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2220
2221         [Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior.
2222         https://bugs.webkit.org/show_bug.cgi?id=77632
2223
2224         Reviewed by Kenneth Rohde Christiansen.
2225
2226         Replace the runtime property setting the desktop behavior on each instance
2227         by a static boolean controlling the behavior used by future created WebViews.
2228
2229         * UIProcess/API/qt/qquickwebpage.cpp:
2230         Let only setContentsSize control the size of the drawing area instead of deferring
2231         it until geometryChanged is called.
2232         (QQuickWebPagePrivate::QQuickWebPagePrivate):
2233         * UIProcess/API/qt/qquickwebpage_p.h:
2234         * UIProcess/API/qt/qquickwebpage_p_p.h:
2235         (QQuickWebPagePrivate):
2236         * UIProcess/API/qt/qquickwebview.cpp:
2237         (createPrivateObject):
2238         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2239         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
2240         (QQuickWebViewPrivate::initialize):
2241         (QQuickWebViewPrivate::processDidCrash):
2242         (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
2243         (QQuickWebViewLegacyPrivate::initialize):
2244         (QQuickWebViewLegacyPrivate::updateViewportSize):
2245         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
2246         (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
2247         (QQuickWebViewFlickablePrivate::initialize):
2248         (QQuickWebViewFlickablePrivate::loadDidCommit):
2249         (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
2250         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
2251         (QQuickWebViewFlickablePrivate::updateViewportSize):
2252         (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
2253         (QQuickWebViewFlickablePrivate::_q_suspend):
2254         (QQuickWebViewFlickablePrivate::_q_resume):
2255         (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
2256         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
2257         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
2258         (QQuickWebViewFlickablePrivate::PostTransitionState::apply):
2259         (QQuickWebViewExperimental::setFlickableViewportEnabled):
2260         The switch is now a static function that has to be called before a WebView
2261         is created. The switch can have it's default defined by the deploying platform.
2262         (QQuickWebViewExperimental::flickableViewportEnabled):
2263         (QQuickWebView::QQuickWebView):
2264         On creation of QQuickWebView, the static boolean is read to know if we want
2265         a QQuickWebViewTouchPrivate or a QQuickWebViewDesktopPrivate.
2266         (QQuickWebView::geometryChanged):
2267         * UIProcess/API/qt/qquickwebview_p.h:
2268         * UIProcess/API/qt/qquickwebview_p_p.h:
2269         (QQuickWebViewPrivate):
2270         (QQuickWebViewPrivate::loadDidCommit):
2271         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
2272         (QQuickWebViewPrivate::didChangeViewportProperties):
2273         (QQuickWebViewPrivate::viewportInteractionEngine):
2274         (QQuickWebViewPrivate::updateViewportSize):
2275         (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
2276         (QQuickWebViewPrivate::_q_suspend):
2277         (QQuickWebViewPrivate::_q_resume):
2278         (QQuickWebViewPrivate::pageDidRequestScroll):
2279         (QQuickWebViewPrivate::didChangeContentsSize):
2280         (QQuickWebViewLegacyPrivate):
2281         (QQuickWebViewFlickablePrivate):
2282         (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
2283         (PostTransitionState):
2284         (QQuickWebViewFlickablePrivate::PostTransitionState::PostTransitionState):
2285         * UIProcess/API/qt/qwebviewportinfo.cpp:
2286         (QWebViewportInfo::currentScale):
2287         (QWebViewportInfo::devicePixelRatio):
2288         (QWebViewportInfo::initialScale):
2289         (QWebViewportInfo::minimumScale):
2290         (QWebViewportInfo::maximumScale):
2291         (QWebViewportInfo::isScalable):
2292         (QWebViewportInfo::layoutSize):
2293         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
2294         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Added.
2295         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Removed.
2296         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Renamed
2297         from Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml.
2298         Moved to DesktopBehavior instead of using a DesktopWebView to workaround the touch event limitation.
2299         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2300         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2301         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
2302         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2303         * UIProcess/API/qt/tests/qmltests/WebView.pro: Copied
2304         from Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro.
2305         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2306         Split qmltests in two executables, tst_qmltests_DesktopBehavior and tst_qmltests_WebView.
2307         The former runs without setFlickableViewportEnabled and the later does.
2308         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2309         (main):
2310         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
2311         * UIProcess/API/qt/tests/tests.pri:
2312         * UIProcess/qt/QtWebPageEventHandler.cpp:
2313         (QtWebPageEventHandler::QtWebPageEventHandler):
2314
2315 2012-02-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2316
2317         [Qt] Rename content* to contents* in QQuickWebPage.
2318         https://bugs.webkit.org/show_bug.cgi?id=77629
2319
2320         Reviewed by Kenneth Rohde Christiansen.
2321
2322         * UIProcess/API/qt/qquickwebpage.cpp:
2323         (QQuickWebPagePrivate::QQuickWebPagePrivate):
2324         (QQuickWebPagePrivate::paintToCurrentGLContext):
2325         (QQuickWebPage::setContentsSize):
2326         (QQuickWebPage::contentsSize):
2327         (QQuickWebPage::setContentsScale):
2328         (QQuickWebPage::contentsScale):
2329         (QQuickWebPage::transformToItem):
2330         (QQuickWebPagePrivate::updateSize):
2331         * UIProcess/API/qt/qquickwebpage_p.h:
2332         * UIProcess/API/qt/qquickwebpage_p_p.h:
2333         (QQuickWebPagePrivate):
2334         * UIProcess/API/qt/qquickwebview.cpp:
2335         (QQuickWebViewPrivate::didChangeContentsSize):
2336         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
2337         (QQuickWebViewPrivate::PostTransitionState::apply):
2338         * UIProcess/API/qt/qwebviewportinfo.cpp:
2339         (QWebViewportInfo::contentsSize):
2340         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2341         (tst_QQuickWebView::scrollRequest):
2342         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2343         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
2344         (WebKit::QtViewportInteractionEngine::event):
2345         (WebKit::QtViewportInteractionEngine::wheelEvent):
2346         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
2347         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
2348         (WebKit::QtViewportInteractionEngine::applyConstraints):
2349         (WebKit::QtViewportInteractionEngine::currentCSSScale):
2350         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2351         (WebKit::QtViewportInteractionEngine::scaleContent):
2352
2353 2012-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
2354
2355         [Qt] Fix build when cross-compiling
2356         https://bugs.webkit.org/show_bug.cgi?id=77634
2357
2358         Reviewed by Tor Arne Vestbø.
2359
2360         * WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc
2361         is in use or not. More specifically this fixes the case where the makespace
2362         is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++.
2363
2364 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
2365
2366         Stop calling Element::ensureShadowRoot in Internals.
2367         https://bugs.webkit.org/show_bug.cgi?id=77612
2368
2369         Reviewed by Hajime Morita.
2370
2371         Exports symbols.
2372
2373         * win/WebKit2.def:
2374         * win/WebKit2CFLite.def:
2375
2376 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2377
2378         Unreviewed, rolling out r106620.
2379         http://trac.webkit.org/changeset/106620
2380         https://bugs.webkit.org/show_bug.cgi?id=77716
2381
2382         It broke non ENABLE(3D_RENDERING) builds (Requested by
2383         Ossy_morning on #webkit).
2384
2385         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2386         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2387         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
2388         (WebKit::LayerTreeHostProxy::createImage):
2389         (WebKit::LayerTreeHostProxy::ensureRootLayer):
2390
2391 2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
2392
2393         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
2394         https://bugs.webkit.org/show_bug.cgi?id=77148
2395
2396         Reviewed by Martin Robinson.
2397
2398         Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
2399         Remove calls to unused API.
2400
2401         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2402         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2403         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
2404         (WebKit::LayerTreeHostProxy::createImage):
2405         (WebKit::LayerTreeHostProxy::ensureRootLayer):
2406
2407 2012-02-02  Jon Lee  <jonlee@apple.com>
2408
2409         Clear shown notifications when context is no longer active
2410         https://bugs.webkit.org/show_bug.cgi?id=77363
2411         <rdar://problem/10568907>
2412
2413         Reviewed by Darin Adler.
2414
2415         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
2416         (WebKit::WebNotificationClient::clearNotifications): Forward the call to
2417         WebNotificationManager.
2418         * WebProcess/WebCoreSupport/WebNotificationClient.h:
2419         (WebNotificationClient):
2420
2421         * WebProcess/Notifications/WebNotificationManager.h: Add an additional map that maps
2422         all notifications associated with a given ScriptExecutionContext instance.
2423         * WebProcess/Notifications/WebNotificationManager.cpp:
2424         (WebKit::WebNotificationManager::show): Create a map entry for the notification's
2425         context if it doesn't exist already, and note that notification's ID. Also, correct
2426         the return value of show() if notifications are not enabled, to return false.
2427         (WebKit::WebNotificationManager::didCloseNotifications): When the notification is closed,
2428         we remove that notification from the map.
2429         (WebKit::WebNotificationManager::clearNotifications): Use the map entry for the given
2430         context, and pass that along to the proxy so that all of the notifications with those IDs
2431         can be cleared. In the meantime, we remove that context's map entry.
2432
2433         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: New ClearNotifications()
2434         message.
2435         * UIProcess/Notifications/WebNotificationManagerProxy.h:
2436         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
2437         (WebKit::WebNotificationManagerProxy::clearNotifications): Forward the call to the provider.
2438         Then remove this proxy's entries for the given notification IDs.
2439
2440         * UIProcess/Notifications/WebNotificationProvider.cpp:
2441         (WebKit::WebNotificationProvider::clearNotifications): Convert the vector of IDs to a mutable
2442         array.
2443         * UIProcess/Notifications/WebNotificationProvider.h:
2444         (WebNotificationProvider):
2445
2446         * UIProcess/API/C/WKNotificationProvider.h: Add WK API to tell the platform to clear the notifications.
2447
2448         Remove the #if guard since they already exist in WebNotificationManager functions:
2449         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
2450         (WebKit::WebNotificationClient::show):
2451         (WebKit::WebNotificationClient::cancel):
2452         (WebKit::WebNotificationClient::notificationObjectDestroyed):
2453
2454 2012-02-02  Anders Carlsson  <andersca@apple.com>
2455
2456         NPAPI will not send mouse up events when mouse is outside plugin area
2457         https://bugs.webkit.org/show_bug.cgi?id=77657
2458         <rdar://problem/10160674>
2459
2460         Reviewed by Andreas Kling.
2461
2462         Use EventHandler::setCapturingMouseEventsNode to ensure we get all the mouse events when the mouse is down.
2463
2464         * WebProcess/Plugins/PluginView.cpp:
2465         (WebKit::PluginView::handleEvent):
2466
2467 2012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
2468
2469         [GTK] WebKitWebView won't work in a GtkOffscreenWindow
2470         https://bugs.webkit.org/show_bug.cgi?id=76911
2471
2472         Reviewed by Philippe Normand.
2473
2474         * UIProcess/API/gtk/WebKitUIClient.cpp:
2475         (getWindowFrame): Use the new helper.
2476         * UIProcess/API/gtk/WebKitWebView.cpp:
2477         (webkitWebViewCreateJavaScriptDialog): Ditto
2478         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2479         (webkitWebViewBaseRealize): Ditto.
2480         (webkitWebViewBaseSizeAllocate): Ditto.
2481         (webkitWebViewBaseFocusInEvent): Ditto.
2482
2483 2012-02-01  Philippe Normand  <pnormand@igalia.com>
2484
2485         [GStreamer] FFTFrame implementation
2486         https://bugs.webkit.org/show_bug.cgi?id=73545
2487
2488         Reviewed by Chris Rogers.
2489
2490         * GNUmakefile.am: Remove libfftw compilation flags.
2491
2492 2012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
2493
2494         [Texmap] Use glScissors for clipping in TextureMapperGL when possible
2495         https://bugs.webkit.org/show_bug.cgi?id=77575
2496
2497         Reviewed by Martin Robinson.
2498
2499         Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
2500         TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
2501         now cleaned out of QQuickWebPage.
2502
2503         * UIProcess/API/qt/qquickwebpage.cpp:
2504         (QQuickWebPagePrivate::paintToCurrentGLContext):
2505         * UIProcess/DrawingAreaProxy.h:
2506         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
2507         * UIProcess/DrawingAreaProxyImpl.cpp:
2508         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
2509         * UIProcess/DrawingAreaProxyImpl.h:
2510         (DrawingAreaProxyImpl):
2511         * UIProcess/LayerTreeHostProxy.h:
2512         (LayerTreeHostProxy):
2513         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2514         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2515
2516 2012-02-01  Dan Bernstein  <mitz@apple.com>
2517
2518         WebKit2 part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
2519         https://bugs.webkit.org/show_bug.cgi?id=77505
2520
2521         Reviewed by Darin Adler.
2522
2523         * Shared/WebPageCreationParameters.cpp:
2524         (WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
2525         (WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.
2526         * Shared/WebPageCreationParameters.h:
2527         (WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.
2528         * UIProcess/API/C/WKPage.cpp:
2529         (WKPageSetPaginationBehavesLikeColumns): Added this setter.
2530         (WKPageGetPaginationBehavesLikeColumns): Added this getter.
2531         * UIProcess/API/C/WKPagePrivate.h:
2532         * UIProcess/API/mac/WKBrowsingContextController.mm:
2533         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
2534         wrapper around WKPageSetPaginationBehavesLikeColumns.
2535         (-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
2536         around WKPageGetPaginationBehavesLikeColumns.
2537         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
2538         * UIProcess/WebPageProxy.cpp:
2539         (WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
2540         the value from the creation parameters.
2541         (WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
2542         (WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.
2543         * UIProcess/WebPageProxy.h:
2544         (WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.
2545         * WebProcess/WebPage/WebPage.cpp:
2546         (WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.
2547         * WebProcess/WebPage/WebPage.h:
2548         * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
2549
2550 2012-02-01  Anders Carlsson  <andersca@apple.com>
2551
2552         REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
2553         https://bugs.webkit.org/show_bug.cgi?id=77578
2554         <rdar://problem/10767174>
2555
2556         Reviewed by Dan Bernstein.
2557
2558         Resizing a window will always invalidate the window backing store, so make sure to set
2559         _data->_windowHasValidBackingStore to NO whenever that happens.
2560
2561         * UIProcess/API/mac/WKView.mm:
2562         (-[WKView addWindowObserversForWindow:]):
2563         Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
2564
2565         (-[WKView _windowDidMove:]):
2566         Call -[WKView _updateWindowAndViewFrames].
2567
2568         (-[WKView _windowDidResize:]):
2569         Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
2570
2571 2012-02-01  Beth Dakin  <bdakin@apple.com>
2572
2573         https://bugs.webkit.org/show_bug.cgi?id=77383
2574         Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
2575         -and corresponding-
2576         <rdar://problem/10709560>
2577
2578         Reviewed by Sam Weinig.
2579
2580         Machinery for didNewFirstVisuallNonEmptyLayout.
2581         * UIProcess/API/C/WKPage.h:
2582         * UIProcess/WebLoaderClient.cpp:
2583         (WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
2584         (WebKit):
2585         * UIProcess/WebLoaderClient.h:
2586         (WebLoaderClient):
2587         * UIProcess/WebPageProxy.cpp:
2588         (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
2589         (WebKit):
2590         * UIProcess/WebPageProxy.h:
2591         (WebPageProxy):
2592         * UIProcess/WebPageProxy.messages.in:
2593         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2594         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
2595         (WebKit):
2596         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2597         (WebFrameLoaderClient):
2598
2599         This temporary API allows the client to specify the threshold for the painted 
2600         objects counter on Page. This is temporary.
2601         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2602         (WKBundlePageSetPaintedObjectsCounterThreshold):
2603         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2604         * WebProcess/WebPage/WebPage.cpp:
2605         (WebKit::WebPage::setPaintedObjectsCounterThreshold):
2606         (WebKit):
2607         * WebProcess/WebPage/WebPage.h:
2608         (WebPage):
2609
2610 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
2611
2612         REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
2613         https://bugs.webkit.org/show_bug.cgi?id=77473
2614         <rdar://problem/10751357>
2615
2616         Reviewed by Darin Adler.
2617
2618         * Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of
2619         WebCore ones.
2620
2621 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
2622
2623         PluginProcess should be able to use remote open and save panels
2624         https://bugs.webkit.org/show_bug.cgi?id=77461
2625         <rdar://problem/10783615>
2626
2627         Reviewed by Mark Rowe.
2628
2629         * PluginProcess/mac/PluginProcess.entitlements: Added.
2630         * PluginProcess/mac/add-entitlements.sh: Added.
2631         * WebKit2.xcodeproj/project.pbxproj:
2632         Add appropriate entitlement, plus ad hoc binary signing for it to work.
2633
2634 2012-01-31  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2635
2636         Ensure tiles are repainted when scrolling using mouse wheel.
2637         https://bugs.webkit.org/show_bug.cgi?id=77339
2638
2639         A new slot visibleContentRectAndScaleChanged has been added
2640         that is emited by non-animated scrolling code in the
2641         QtViewportInteractionEngine.
2642
2643         Reviewed by Kenneth Rohde Christiansen.
2644
2645         * UIProcess/API/qt/qquickwebview.cpp:
2646         (QQuickWebViewPrivate::initializeDesktop):
2647         (QQuickWebViewPrivate::initializeTouch):
2648         (QQuickWebViewPrivate::_q_resume):
2649         (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
2650         (QQuickWebViewPrivate::updateTouchViewportSize):
2651         * UIProcess/API/qt/qquickwebview_p.h:
2652         * UIProcess/API/qt/qquickwebview_p_p.h:
2653         (QQuickWebViewPrivate):
2654         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2655         (WebKit::QtViewportInteractionEngine::wheelEvent):
2656         * UIProcess/qt/QtViewportInteractionEngine.h:
2657         (QtViewportInteractionEngine):
2658
2659 2012-01-31  Zeno Albisser  <zeno@webkit.org>
2660
2661         [Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes.
2662         https://bugs.webkit.org/show_bug.cgi?id=77417
2663
2664         Make the UIProcess decide about the encoding and display
2665         a warning in case no encoding was defined.
2666         Make the QQuickNetworkReply store a QWeakPointer to the
2667         QQuickWebViewExperimental to get rid of hackish chain of parental queries.
2668
2669         Reviewed by Simon Hausmann.
2670
2671         * UIProcess/API/qt/qquicknetworkreply.cpp:
2672         (QQuickNetworkReply::send):
2673         (QQuickNetworkReply::setWebViewExperimental):
2674         * UIProcess/API/qt/qquicknetworkreply_p.h:
2675         * UIProcess/API/qt/qquickwebview.cpp:
2676         (QQuickWebViewExperimental::schemeDelegates_Append):
2677         * WebProcess/qt/QtNetworkReply.cpp:
2678         (WebKit::QtNetworkReply::QtNetworkReply):
2679         (WebKit::QtNetworkReply::setReplyData):
2680
2681 2012-01-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2682
2683         [Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
2684         https://bugs.webkit.org/show_bug.cgi?id=77362
2685
2686         Reviewed by Noam Rosenthal.
2687
2688         This fixes crashes seen in layout tests under certain timing circumstances
2689         that appeared after r106109 was landed.
2690
2691         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2692         (WebCore::WebGraphicsLayer::replaceChild):
2693         (WebCore::WebGraphicsLayer::removeFromParent):
2694
2695 2012-01-30  Beth Dakin  <bdakin@apple.com>
2696
2697         https://bugs.webkit.org/show_bug.cgi?id=77263
2698         PlatformScreenMac should not rely on NSWindow for important bits of data
2699
2700         Reviewed by Geoff Garen.
2701
2702         toUserSpace() and toDeviceSpace() now take a parameter for the 
2703         deviceScaleFactor.
2704         * UIProcess/API/mac/WKView.mm:
2705         (-[WKView _convertToDeviceSpace:]):
2706         (-[WKView _convertToUserSpace:]):
2707
2708 2012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2709
2710         [Qt] WKTR: Use a software rendering pipiline when running tests.
2711         https://bugs.webkit.org/show_bug.cgi?id=76708
2712
2713         Reviewed by Kenneth Rohde Christiansen.
2714
2715         Animation layout tests require the graphics layers tree to be updated
2716         to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
2717         prevents the rendering pipeline to run and then in turn blocks the web
2718         process from processing further graphics layer updates.
2719
2720         This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
2721         message queue and render the layers in software on an offscreen buffer.
2722
2723         * UIProcess/API/qt/qquickwebpage.cpp:
2724         (QQuickWebPagePrivate::paint):
2725         * UIProcess/API/qt/qquickwebview.cpp:
2726         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2727         (QQuickWebViewPrivate::setNeedsDisplay):
2728         (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
2729         (QQuickWebViewExperimental::renderToOffscreenBuffer):
2730         * UIProcess/API/qt/qquickwebview_p.h:
2731         * UIProcess/API/qt/qquickwebview_p_p.h:
2732         (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
2733         (QQuickWebViewPrivate::renderToOffscreenBuffer):
2734         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2735         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
2736
2737 2012-01-30  Andras Becsi  <andras.becsi@nokia.com>
2738
2739         [Qt][WK2] Render layers do not get flushed when the scroll animation finishes
2740         https://bugs.webkit.org/show_bug.cgi?id=77338
2741
2742         Reviewed by Noam Rosenthal.
2743
2744         Schedule a layer flush when setting the visible content rect and scale.
2745
2746         Fixed with the help of Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2747
2748         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2749         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2750
2751 2012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2752
2753         Unreviewed. Fix make distcheck.
2754
2755         * GNUmakefile.am: Add missing files.
2756         * WebProcess/WebPage/TapHighlightController.cpp: Add #if
2757         ENABLE(TOUCH_EVENTS).
2758
2759 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2760
2761         Unreviewed, rolling out r106022.
2762         http://trac.webkit.org/changeset/106022
2763         https://bugs.webkit.org/show_bug.cgi?id=77305
2764
2765         It broke Qt-WK2 API tests (Requested by Ossy_weekend on
2766         #webkit).
2767
2768         * UIProcess/API/qt/qquickwebview.cpp:
2769         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
2770         (QQuickWebView::geometryChanged):
2771         * UIProcess/API/qt/qquickwebview_p.h:
2772         * UIProcess/API/qt/qwebviewportinfo.cpp:
2773         (QWebViewportInfo::currentScale):
2774         (QWebViewportInfo::devicePixelRatio):
2775         (QWebViewportInfo::initialScale):
2776         (QWebViewportInfo::minimumScale):
2777         (QWebViewportInfo::maximumScale):
2778         (QWebViewportInfo::isScalable):
2779         (QWebViewportInfo::layoutSize):
2780
2781 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2782
2783         Unreviewed, rolling out r106109.
2784         http://trac.webkit.org/changeset/106109
2785         https://bugs.webkit.org/show_bug.cgi?id=77302
2786
2787         It made tests crash (Requested by Ossy_weekend on #webkit).
2788
2789         * UIProcess/API/qt/qquickwebpage.cpp:
2790         * UIProcess/API/qt/qquickwebpage_p_p.h:
2791         (QQuickWebPagePrivate):
2792         * UIProcess/API/qt/qquickwebview.cpp:
2793         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2794         * UIProcess/API/qt/qquickwebview_p.h:
2795         * UIProcess/API/qt/qquickwebview_p_p.h:
2796         (QQuickWebViewPrivate):
2797         * UIProcess/DrawingAreaProxy.h:
2798         * UIProcess/DrawingAreaProxyImpl.cpp:
2799         * UIProcess/DrawingAreaProxyImpl.h:
2800         (DrawingAreaProxyImpl):
2801         * UIProcess/LayerTreeHostProxy.h:
2802         (LayerTreeHostProxy):
2803         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2804         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2805         * UIProcess/qt/QtPageClient.cpp:
2806         (QtPageClient::setViewNeedsDisplay):
2807
2808 2012-01-27  Fady Samuel  <fsamuel@chromium.org>
2809
2810         Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
2811         https://bugs.webkit.org/show_bug.cgi?id=76459
2812
2813         Reviewed by Darin Fisher.
2814
2815         * win/WebKit2.def:
2816         * win/WebKit2CFLite.def:
2817
2818 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
2819
2820         Fix a compilation warning in a WebKit2 GTK+ API test.
2821
2822         Reviewed by Gustavo Noronha Silva.
2823
2824         * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
2825         (testBackForwardListLimitAndCache): Use an int instead of size_t
2826         because we want to print them as ints and do subtraction on them.
2827
2828 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
2829
2830         [GTK] [WK2] Implement the policy client
2831         https://bugs.webkit.org/show_bug.cgi?id=76343
2832
2833         Reviewed by Gustavo Noronha Silva.
2834
2835         Implement the abstract WebKitPolicyDecision, WebKitNavigationPolicyDecision,
2836         and add the decide-policy signal to WebKitWebView.
2837
2838         * GNUmakefile.am: Add new files to the source list.
2839         * UIProcess/API/gtk/WebKitError.cpp: Use the WebCore namespace because
2840         of changes to ASSERT_MATCHING_ENUMS.
2841         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Added.
2842         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h: Added.
2843         * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h: Added.
2844         * UIProcess/API/gtk/WebKitPolicyClient.cpp: Added.
2845         * UIProcess/API/gtk/WebKitPolicyClientPrivate.h: Added.
2846         * UIProcess/API/gtk/WebKitPolicyDecision.cpp: Added.
2847         * UIProcess/API/gtk/WebKitPolicyDecision.h: Added.
2848         * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h: Added.
2849         * UIProcess/API/gtk/WebKitPrivate.h: Modify ASSERT_MATCHING_ENUMS to make
2850         it useful for non-WebCore enums.
2851         * UIProcess/API/gtk/WebKitWebView.cpp:
2852         (webkitWebViewConstructed): Attach the policy client callbacks to the page.
2853         (webkit_web_view_class_init): Add the decide-policy signal definition.
2854         (webkitWebViewMakePolicyDecision): Added this private method to fire the signal.
2855         * UIProcess/API/gtk/WebKitWebView.h: Added new signal to the list.
2856         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added new method declaration.
2857         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new classes to the docs.
2858         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
2859         * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test to the source list.
2860         * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: Added.
2861         * UIProcess/API/gtk/webkit2marshal.list: decide-policy has a new signature.
2862
2863 2012-01-27  Ada Chan  <adachan@apple.com>
2864
2865         Add API to get the parent frame in WKBundleFrameRef
2866         https://bugs.webkit.org/show_bug.cgi?id=77161
2867
2868         Reviewed by Anders Carlsson.
2869
2870         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2871         (WKBundleFrameGetParentFrame): Get the parent frame by calling WebFrame::parentFrame().
2872         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2873         * WebProcess/WebPage/WebFrame.cpp:
2874         (WebKit::WebFrame::parentFrame): Return null if the frame does not have an owner element.
2875         Otherwise, return the owner element's frame.
2876         * WebProcess/WebPage/WebFrame.h:
2877
2878 2012-01-27  Gustavo Noronha Silva  <gns@gnome.org>
2879
2880         [GTK] Sometimes fails to build when using make -j
2881         https://bugs.webkit.org/show_bug.cgi?id=77226
2882
2883         Reviewed by Martin Robinson.
2884
2885         * GNUmakefile.am: use a different name for the scripts used to
2886         generate enum files for WebKitGTK+ and WebKit2GTK+, so they do not
2887         clash;
2888
2889 2012-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2890
2891         Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner.
2892         https://bugs.webkit.org/show_bug.cgi?id=77220
2893
2894         Reviewed by Noam Rosenthal.
2895
2896         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2897         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName.
2898
2899 2012-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2900
2901         [GTK] Add a GKeyFile especialization to GOwnPtr
2902         https://bugs.webkit.org/show_bug.cgi?id=77191
2903
2904         Reviewed by Martin Robinson.
2905
2906         * Shared/gtk/ArgumentCodersGtk.cpp:
2907         (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
2908         (CoreIPC::encode): Ditto.
2909         (CoreIPC::decode): Ditto.
2910
2911 2012-01-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2912
2913         [Qt] Fade out tap highlighting when starting to pan
2914         https://bugs.webkit.org/show_bug.cgi?id=77202
2915
2916         Reviewed by Simon Hausmann.
2917
2918         Basically we need to fade out the potential tap highlighting
2919         when ever the gesture recognition fails or another gesture
2920         is recognized. We do that with this change.
2921
2922         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2923         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
2924         (WebKit::QtTapGestureRecognizer::recognize):
2925         (WebKit::QtTapGestureRecognizer::reset):
2926
2927             Remove reset as it does nothing but call code before the
2928             event handler is installed.
2929
2930 2012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2931
2932         [Qt] WKTR: Use a software rendering pipiline when running tests.
2933         https://bugs.webkit.org/show_bug.cgi?id=76708
2934
2935         Reviewed by Kenneth Rohde Christiansen.
2936
2937         Animation layout tests require the graphics layers tree to be updated
2938         to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
2939         prevents the rendering pipeline to run and then in turn blocks the web
2940         process from processing further graphics layer updates.
2941
2942         This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
2943         message queue and render the layers in software on an offscreen buffer.
2944
2945         * UIProcess/API/qt/qquickwebpage.cpp:
2946         (QQuickWebPagePrivate::paint):
2947         * UIProcess/API/qt/qquickwebview.cpp:
2948         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2949         (QQuickWebViewPrivate::setNeedsDisplay):
2950         (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
2951         (QQuickWebViewExperimental::renderToOffscreenBuffer):
2952         * UIProcess/API/qt/qquickwebview_p.h:
2953         * UIProcess/API/qt/qquickwebview_p_p.h:
2954         (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
2955         (QQuickWebViewPrivate::renderToOffscreenBuffer):
2956         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2957         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
2958
2959 2012-01-27  Simon Hausmann  <simon.hausmann@nokia.com>
2960
2961         [Qt] Re-creating QQuickWebView starts new web process every time
2962         https://bugs.webkit.org/show_bug.cgi?id=77194
2963
2964         Reviewed by Kenneth Rohde Christiansen.
2965
2966         Since the WebKit::WebContext is never fully destructed due to circular
2967         references, we should use the real shared context instead of re-creating
2968         a new WebContext every time.
2969
2970         * UIProcess/qt/QtWebContext.cpp:
2971         (WebKit::QtWebContext::defaultContext):
2972
2973 2012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2974
2975         [GTK] Add basic printing support to WebKit2
2976         https://bugs.webkit.org/show_bug.cgi?id=76172
2977
2978         Reviewed by Gustavo Noronha Silva.
2979
2980         * GNUmakefile.am: Add new files to compilation.
2981         * Shared/PrintInfo.cpp:
2982         (WebKit::PrintInfo::encode): Encode also GtkPrintSettings and
2983         GtkPageSetup for the GTK+ port.
2984         (WebKit::PrintInfo::decode): Decode also GtkPrintSettings and
2985         GtkPageSetup for the GTK+ port.
2986         * Shared/PrintInfo.h: Add GtkPrintSettings and GtkPageSetup member
2987         for the GTK+ port.
2988         * Shared/gtk/ArgumentCodersGtk.cpp:
2989         (CoreIPC::encodeGKeyFile): Helper function to encode a GKeyFile as
2990         a DataReference object.
2991         (CoreIPC::decodeGKeyFile): Helper function to decode a GKeyFile to
2992         a DataReference object.
2993         (CoreIPC::encode): Encode GtkPrintSettings and GtkPageSetup using
2994         the GKeyFile representation.
2995         (CoreIPC::decode): Decode GtkPrintSettings and GtkPageSetup using
2996         the GKeyFile representation.
2997         * Shared/gtk/ArgumentCodersGtk.h:
2998         * Shared/gtk/PrintInfoGtk.cpp: Copied from Source/WebKit2/Shared/PrintInfo.cpp.
2999         (WebKit::PrintInfo::PrintInfo): Add PrintInfo constructor that
3000         takes GtkPrintSettings and GtkPageSetup instances.
3001         * UIProcess/WebPageProxy.cpp:
3002         (WebKit::WebPageProxy::drawPagesForPrinting): Send
3003         DrawPagesForPrinting message to Web process to start printing.
3004         * UIProcess/WebPageProxy.h:
3005         * WebProcess/WebPage/WebPage.cpp:
3006         (WebKit::WebPage::beginPrinting): Create a WebPrintOperationGtk.
3007         (WebKit::WebPage::endPrinting): Delete the WebPrintOperationGtk
3008         object.
3009         (WebKit::WebPage::drawPagesForPrinting): Start printing pages.
3010         * WebProcess/WebPage/WebPage.h:
3011         * WebProcess/WebPage/WebPage.messages.in: Add DrawPagesForPrinting message.
3012         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Added.
3013         (WebKit::PrintPagesData::PrintPagesData): Struct to store all data
3014         used to render pages for printing.
3015         (WebKit::PrintPagesData::incrementPageSequence): Helper function
3016         to increment the page sequence.
3017         (WebKit::WebPrintOperationGtk::create): Create a
3018         WebPrintOperationGtkUnix or WebPrintOperationGtkWin32 depending on
3019         the platform.
3020         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
3021         (WebKit::WebPrintOperationGtk::~WebPrintOperationGtk):
3022         (WebKit::WebPrintOperationGtk::pageCount): Return the total pages
3023         of the document to print.
3024         (WebKit::WebPrintOperationGtk::rotatePage): Helper function to
3025         transform the context according to orientation.
3026         (WebKit::WebPrintOperationGtk::renderPage): Render the given page
3027         into the printing context.
3028         (WebKit::WebPrintOperationGtk::printPagesIdle): Idle function used
3029         to print pages.
3030         (WebKit::WebPrintOperationGtk::printPagesIdleDone): Callback
3031         called when printPagesIdle finishes.
3032         (WebKit::WebPrintOperationGtk::printDone): Helper function to
3033         finish the print operation, called when all pages have been rendered.
3034         (WebKit::WebPrintOperationGtk::print): Start printing the document
3035         using the given cairo surface.
3036         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: Added.
3037         (WebKit::WebPrintOperationGtk::printSettings):
3038         (WebKit::WebPrintOperationGtk::pageSetup):
3039         (WebKit::WebPrintOperationGtk::pagesToPrint):
3040         (WebKit::WebPrintOperationGtk::pageRanges):
3041         (WebKit::WebPrintOperationGtk::pageRangesCount):
3042
3043 2012-01-26  Tim Horton  <hortont424@gmail.com>
3044
3045         3D transformed elements hide when showing the print dialog
3046         https://bugs.webkit.org/show_bug.cgi?id=45894
3047         <rdar://problem/7441593>
3048
3049         Reviewed by Andy Estes.
3050
3051         Suspend updates of the compositing layer tree while printing is taking place,
3052         preventing on-screen layers from moving to their print-mode positions.
3053
3054         * WebProcess/WebPage/WebPage.cpp:
3055         (WebKit::WebPage::beginPrinting):
3056         (WebKit::WebPage::endPrinting):
3057         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
3058         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
3059         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
3060         (WebKit::LayerTreeHostCAMac::forceRepaint):
3061         (WebKit::LayerTreeHostCAMac::flushPendingLayerChanges):
3062
3063 2012-01-26  Andras Becsi  <andras.becsi@nokia.com>
3064
3065         [Qt][WK2] Add the componentComplete method to WebView
3066         https://bugs.webkit.org/show_bug.cgi?id=77111
3067
3068         Reviewed by Kenneth Rohde Christiansen.
3069
3070         Move the touch/desktop initialization to componentComplete.
3071         Also return valid default values in the viewport info functions
3072         if the interaction engine is not yet initialized because the
3073         viewport info component could finish initialization earlier
3074         than the WebView, which results in QML warnings during MiniBrowser
3075         startup.
3076
3077         * UIProcess/API/qt/qquickwebview.cpp:
3078         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
3079         (QQuickWebView::geometryChanged):
3080         (QQuickWebView::componentComplete):
3081         * UIProcess/API/qt/qquickwebview_p.h:
3082         * UIProcess/API/qt/qwebviewportinfo.cpp:
3083         (QWebViewportInfo::currentScale):
3084         (QWebViewportInfo::devicePixelRatio):
3085         (QWebViewportInfo::initialScale):
3086         (QWebViewportInfo::minimumScale):
3087         (QWebViewportInfo::maximumScale):
3088         (QWebViewportInfo::isScalable):
3089         (QWebViewportInfo::layoutSize):
3090
3091 2012-01-26  Anders Carlsson  <andersca@apple.com>
3092
3093         WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
3094         https://bugs.webkit.org/show_bug.cgi?id=77123
3095
3096         Reviewed by Beth Dakin.
3097
3098         * Shared/WebEvent.h:
3099         ():
3100         * Shared/mac/WebEventFactory.mm:
3101         (WebKit::phaseForEvent):
3102
3103 2012-01-26  Andras Becsi  <andras.becsi@nokia.com>
3104
3105         ASSERT(!m_overlay) reached in TapHighlightController.cpp:73
3106         https://bugs.webkit.org/show_bug.cgi?id=77117
3107
3108         Reviewed by Tor Arne Vestbø.
3109
3110         The PageOverlay does only get uninstalled after the fade-out animation finishes,
3111         so do not assert on !m_overlay after the uninstallPageOverlay call.
3112
3113         * WebProcess/WebPage/TapHighlightController.cpp:
3114         (WebKit::TapHighlightController::hideHighlight):
3115
3116 2012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3117
3118         WebPreferencesStore: use DEFINE_STATIC_LOCAL for overrides HashMap
3119         https://bugs.webkit.org/show_bug.cgi?id=77109
3120
3121         Reviewed by Andreas Kling.
3122
3123         Fix build for Clang.
3124
3125         * Shared/WebPreferencesStore.cpp:
3126         (WebKit):
3127         (WebKit::boolTestRunnerOverridesMap):
3128         (WebKit::WebPreferencesStore::overrideBoolValueForKey):
3129         (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
3130         (WebKit::WebPreferencesStore::getBoolValueForKey):
3131
3132 2012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3133
3134         Implement overridePreference for boolean preferences in WebKitTestRunner
3135         https://bugs.webkit.org/show_bug.cgi?id=77033
3136
3137         Reviewed by Alexey Proskuryakov.
3138
3139         Implement a way to WebKitTestRunner override preferences for the pages
3140         loaded. Follows the same approach taken by
3141         overrideXSSAuditorEnabledForTestRunner() from r66551, but generalizing to many
3142         preferences.
3143
3144         Preferences are stored in the UI process using WebPreferencesStore, and when
3145         there's a change, this data is sent to Web process, triggering
3146         WebPage::preferencesDidChange(), which take a WebPreferencesStore and apply it's
3147         data to the WebCore::Settings object.
3148
3149         The overridePreference() is executed on the Web process, and set the preferences
3150         without communicating to the UI process. The overriden preferences are stored in
3151         a static map and WebPreferencesStore query this map before returning the values
3152         of each preference. This static map is used only on the Web process.
3153
3154         To clear the overrides we need to clear the map. Since WTR only sets preferences
3155         when resetting the page, we hook the clearing at WebPage::preferencesDidChange().
3156         A WKPreferences private function was exposed to WTR force the update, in case
3157         there's no effective change at UI process (all the properties remains the same).
3158
3159         This clearing could be improved by creating a proper message instead of hooking
3160         at WebPage::preferencesDidChange().
3161
3162         * Shared/WebPreferencesStore.cpp:
3163         (WebKit::WebPreferencesStore::decode):
3164         (WebKit::WebPreferencesStore::overrideBoolValueForKey):
3165         (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
3166         (WebKit::WebPreferencesStore::getBoolValueForKey):
3167         * Shared/WebPreferencesStore.h:
3168         * UIProcess/API/C/WKPreferences.cpp:
3169         (WKPreferencesResetTestRunnerOverrides):
3170         * UIProcess/API/C/WKPreferencesPrivate.h:
3171         * UIProcess/WebPreferences.h:
3172         (WebKit::WebPreferences::forceUpdate):
3173         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3174         (WKBundleOverrideBoolPreferenceForTestRunner):
3175         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3176         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3177         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3178         (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
3179         * WebProcess/InjectedBundle/InjectedBundle.h:
3180
3181 2012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3182
3183         [GTK][WK2] Primary clipboard should be updated with the current selection in X11 platforms
3184         https://bugs.webkit.org/show_bug.cgi?id=77097
3185
3186         Reviewed by Martin Robinson.
3187
3188         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3189         (WebKit::WebEditorClient::respondToChangedSelection): Call
3190         setSelectionPrimaryClipboardIfNeeded() to update primary clipboard
3191         in X11 platforms.
3192         * WebProcess/WebCoreSupport/WebEditorClient.h:
3193         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
3194         (WebKit::collapseSelection): Callback called when clearing
3195         clipboard contents.
3196         (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
3197         Updaye primary clipboard with the current selection.
3198
3199 2012-01-26  Zeno Albisser  <zeno@webkit.org>
3200
3201         [Qt][WK2] Use QVariant for payload data in application URL schemes.
3202         https://bugs.webkit.org/show_bug.cgi?id=77007
3203
3204         Make application schemes use QVariant for payload data.
3205         This allows passing QByteArrays as well as simple String data.
3206
3207         Remove unneeded http header parts that were exposed in
3208         QQuickNetworkReply.
3209
3210         Add ByteArrayTestData class to allow injecting QByteArray
3211         data into an application scheme handler for testing.
3212
3213         Reviewed by Simon Hausmann.
3214
3215         * Shared/qt/QtNetworkReplyData.cpp:
3216         (WebKit::QtNetworkReplyData::QtNetworkReplyData):
3217         (WebKit::QtNetworkReplyData::encode):
3218         (WebKit::QtNetworkReplyData::decode):
3219         * Shared/qt/QtNetworkReplyData.h:
3220         * UIProcess/API/qt/qquicknetworkreply.cpp:
3221         (QQuickNetworkReply::QQuickNetworkReply):
3222         (QQuickNetworkReply::data):
3223         (QQuickNetworkReply::setData):
3224         (QQuickNetworkReply::send):
3225         * UIProcess/API/qt/qquicknetworkreply_p.h:
3226         * UIProcess/API/qt/tests/bytearraytestdata.cpp: Added.
3227         (ByteArrayTestData::ByteArrayTestData):
3228         (ByteArrayTestData::latin1Data):
3229         (ByteArrayTestData::utf8Data):
3230         * UIProcess/API/qt/tests/bytearraytestdata.h: Added.
3231         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
3232         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
3233         (main):
3234         * UIProcess/API/qt/tests/tests.pri:
3235         * WebProcess/qt/QtNetworkReply.cpp:
3236         (WebKit::QtNetworkReply::setReplyData):
3237         * WebProcess/qt/QtNetworkReply.h:
3238
3239 2012-01-26  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
3240
3241         [Qt] Fixed build when using force_static_libs_as_shared
3242         https://bugs.webkit.org/attachment.cgi?bugid=77082
3243
3244         Reviewed by Simon Hausmann.
3245
3246         * Target.pri:
3247
3248 2012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
3249
3250         [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
3251         https://bugs.webkit.org/show_bug.cgi?id=42545
3252
3253         Reviewed by Zoltan Herczeg.
3254
3255         Implement the setGeolocationPermission method.
3256
3257         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3258         (WKBundleSetGeolocationPermission):
3259         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3260         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3261         (WebKit::InjectedBundle::setGeoLocationPermission):
3262         (WebKit):
3263         * WebProcess/InjectedBundle/InjectedBundle.h:
3264         (InjectedBundle):
3265
3266 2012-01-25  Mark Rowe  <mrowe@apple.com>
3267
3268         Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
3269
3270         <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
3271
3272         Reviewed by David Kilzer.
3273
3274         * Configurations/BaseTarget.xcconfig: Define NORMAL_WEBKIT2_FRAMEWORKS_DIR, which contains
3275         the path where WebKit is normally installed. Update WEBKIT2_FRAMEWORKS_DIR to point to
3276         the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update
3277         UMBRELLA_FRAMEWORKS_DIR so we can find WebCore at the top level of the staged frameworks
3278         directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of
3279         WebKit.framework.
3280         * Configurations/PluginProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
3281         * Configurations/WebKit2.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
3282         Always set the framework's install name based on the normal framework location. This prevents
3283         an incorrect install name from being used when installing in to the staged frameworks directory.
3284         * Configurations/WebProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
3285
3286 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
3287
3288         [WK2][Qt] REGRESSION: Pages with transform animations sometimes omit some of the layers since r105413
3289         https://bugs.webkit.org/show_bug.cgi?id=76886
3290
3291         Reviewed by Kenneth Rohde Christiansen.
3292
3293         We now render the whole layer if it or one if its ancestors has an active transform
3294         animations. It's possible to optimize further in the future, but not currently necessary.
3295         Also, we make sure that when a WebGraphicsLayer's property that affects transformation is
3296         changed, all its descandants layers are marked as modified so that we re-adjust their
3297         visible rect in the next pass.
3298
3299         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3300         (WebCore::WebGraphicsLayer::notifyChangeRecursively):
3301         (WebCore):
3302         (WebCore::WebGraphicsLayer::setPosition):
3303         (WebCore::WebGraphicsLayer::setAnchorPoint):
3304         (WebCore::WebGraphicsLayer::setSize):
3305         (WebCore::WebGraphicsLayer::setTransform):
3306         (WebCore::WebGraphicsLayer::setChildrenTransform):
3307         (WebCore::WebGraphicsLayer::setPreserves3D):
3308         (WebCore::WebGraphicsLayer::setMasksToBounds):
3309         (WebCore::WebGraphicsLayer::addAnimation):
3310         (WebCore::WebGraphicsLayer::removeAnimation):
3311         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
3312         (WebCore::WebGraphicsLayer::selfOrAncestorHasActiveTransformAnimations):
3313         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3314         (WebGraphicsLayer):
3315
3316 2012-01-25  Hajime Morita  <morrita@google.com>
3317
3318         ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
3319         https://bugs.webkit.org/show_bug.cgi?id=76863
3320
3321         Reviewed by Dimitri Glazkov.
3322
3323         Added a feature flag.
3324
3325         * Configurations/FeatureDefines.xcconfig:
3326
3327 2012-01-25  Martin Robinson  <mrobinson@igalia.com>
3328
3329         [WK2] Navigation events not triggered by a mouse event claim to be triggered by the left mouse button during policy decisions
3330         https://bugs.webkit.org/show_bug.cgi?id=76344
3331
3332         Reviewed by Sam Weinig.
3333
3334         When creating InjectedBundleNavigationActions, initialize the mouse button to NoButton.
3335         This ensures that when there is no mouse event associated with the action, when the event
3336         hits the client-API layer, the button is still NoButton.
3337
3338         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
3339         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): Initialize m_mouseButton
3340         to WebMouseEvent::NoButton.
3341
3342 2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3343
3344         [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
3345         https://bugs.webkit.org/show_bug.cgi?id=76914
3346
3347         Reviewed by Simon Hausmann.
3348
3349         Implement tap highlighting for Qt. When a touch press is issued,
3350         which is not handled by the web page, then we highlight any
3351         activatable node below. In all otehr cases, we hide any highlights.
3352
3353         The highlighting itself is painted on an accelerated PageOverlay,
3354         on the web process side.
3355
3356         * Target.pri:
3357         * UIProcess/WebPageProxy.cpp:
3358         (WebKit::WebPageProxy::handlePotentialActivation):
3359         * UIProcess/WebPageProxy.h:
3360         * UIProcess/qt/QtTapGestureRecognizer.cpp:
3361         (WebKit::QtTapGestureRecognizer::recognize):
3362         * UIProcess/qt/QtWebPageEventHandler.cpp:
3363         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
3364         * UIProcess/qt/QtWebPageEventHandler.h:
3365         * WebProcess/WebPage/TapHighlightController.cpp: Added.
3366         (WebKit::TapHighlightController::TapHighlightController):
3367         (WebKit::TapHighlightController::~TapHighlightController):
3368         (WebKit::TapHighlightController::highlight):
3369         (WebKit::TapHighlightController::hideHighlight):
3370         (WebKit::TapHighlightController::pageOverlayDestroyed):
3371         (WebKit::TapHighlightController::willMoveToWebPage):
3372         (WebKit::TapHighlightController::didMoveToWebPage):
3373         (WebKit::highlightColor):
3374         (WebKit::TapHighlightController::drawRect):
3375         (WebKit::TapHighlightController::mouseEvent):
3376         * WebProcess/WebPage/TapHighlightController.h: Added.
3377         * WebProcess/WebPage/WebPage.cpp:
3378         (WebKit::WebPage::WebPage):
3379         (WebKit::WebPage::highlightPotentialActivation):
3380         * WebProcess/WebPage/WebPage.h:
3381         (WebKit::WebPage::tapHighlightController):
3382         * WebProcess/WebPage/WebPage.messages.in:
3383
3384 2012-01-25  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
3385
3386         [WK2] WebKitTestRunner needs layoutTestController.setPopupBlockingEnabled
3387         https://bugs.webkit.org/show_bug.cgi?id=63458
3388
3389         Reviewed by Adam Roben.
3390
3391         Implement the setPopupBlockingEnabled method.
3392
3393         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3394         (WKBundleSetPrivateBrowsingEnabled):
3395         (WKBundleSetPopupBlockingEnabled):
3396         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3397         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3398         (WebKit::InjectedBundle::setPopupBlockingEnabled):
3399         * WebProcess/InjectedBundle/InjectedBundle.h:
3400
3401 2012-01-25  Yael Aharon  <yael.aharon@nokia.com>
3402
3403         [Qt] Build fix when using force_static_libs_as_shared
3404         https://bugs.webkit.org/show_bug.cgi?id=76832
3405
3406         Reviewed by Simon Hausmann.
3407
3408         Add a dependency on QtWidgets.
3409
3410         * Target.pri:
3411
3412 2012-01-24  Sergio Villar Senin  <svillar@igalia.com>
3413
3414         [WK2] FindController should not assume that ports do not want to highlight text matches
3415         https://bugs.webkit.org/show_bug.cgi?id=76921
3416
3417         Reviewed by Darin Adler.
3418
3419         FindController must obey the FindOptionsShowHighlight flag instead
3420         of assuming that ports do not want to highlight search matches.
3421
3422         * Shared/API/c/WKFindOptions.h: added kWKFindOptionsShowHighlight.
3423         * Shared/API/c/WKSharedAPICast.h:
3424         (WebKit::toFindOptions): Ditto.
3425         * Shared/WebFindOptions.h: added FindOptionsShowHighlight.
3426         * WebProcess/WebPage/FindController.cpp:
3427         (WebKit::FindController::findString):
3428
3429 2012-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3430
3431         [GTK] Page clients don't need to be GObjects anymore in WebKit2 GTK+ API
3432         https://bugs.webkit.org/show_bug.cgi?id=76899
3433
3434         Reviewed by Martin Robinson.
3435
3436         * UIProcess/API/gtk/WebKitLoaderClient.cpp: Renamed from
3437         Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp.
3438         (didStartProvisionalLoadForFrame): Use clientInfo instead fo
3439         getting the view from the page.
3440         (didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
3441         (didFailProvisionalLoadWithErrorForFrame): Ditto.
3442         (didCommitLoadForFrame): Ditto.
3443         (didFinishLoadForFrame): Ditto.
3444         (didFailLoadWithErrorForFrame): Ditto.
3445         (didSameDocumentNavigationForFrame): Ditto.
3446         (didReceiveTitleForFrame): Ditto.
3447         (didChangeProgress): Ditto.
3448         (didChangeBackForwardList): Ditto.
3449         (attachLoaderClientToView): Pass WebKitWebView as clientInfo to
3450         callbacks.
3451         * UIProcess/API/gtk/WebKitLoaderClient.h: Added.
3452         * UIProcess/API/gtk/WebKitUIClient.cpp:
3453         (createNewPage): Use clientInfo instead fo getting the view from
3454         the page.
3455         (showPage): Ditto.
3456         (closePage): Ditto.
3457         (runJavaScriptAlert): Ditto.
3458         (runJavaScriptConfirm): Ditto.
3459         (runJavaScriptPrompt): Ditto.
3460         (toolbarsAreVisible): Ditto.
3461         (setToolbarsAreVisible): Ditto.
3462         (menuBarIsVisible): Ditto.
3463         (setMenuBarIsVisible): Ditto.
3464         (statusBarIsVisible): Ditto.
3465         (setStatusBarIsVisible): Ditto.
3466         (isResizable): Ditto.
3467         (setIsResizable): Ditto.
3468         (getWindowFrame): Ditto.
3469         (setWindowFrame): Ditto.
3470         (attachUIClientToView): Pass WebKitWebView as clientInfo to
3471         callbacks.
3472         * UIProcess/API/gtk/WebKitUIClient.h: Remove GObject boilerplate.
3473         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Removed.
3474         * UIProcess/API/gtk/WebKitWebView.cpp:
3475         (webkitWebViewConstructed): Remove UIClient and LoaderClient
3476         objects and call attachUIClientToView() and attachLoaderClientToView().
3477         * UIProcess/API/gtk/tests/GNUmakefile.am: Rename
3478         WebKitWebLoaderClient to WebKitLoaderClient.
3479         * UIProcess/API/gtk/tests/TestLoaderClient.cpp: Renamed from
3480         Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp.
3481
3482 2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
3483
3484         <style scoped>: Implement registering of <style scoped> with the scoping element
3485         https://bugs.webkit.org/show_bug.cgi?id=67790
3486
3487         Add symbols for windows.internals.numberOfScopedHTMLStyleChildren
3488
3489         Reviewed by Dimitri Glazkov.
3490
3491         * win/WebKit2.def:
3492         * win/WebKit2CFLite.def:
3493
3494 2012-01-24  Beth Dakin  <bdakin@apple.com>
3495
3496         https://bugs.webkit.org/show_bug.cgi?id=76928
3497         Accelerated drawing should force compositing mode
3498         -and corresponding-
3499         <rdar://problem/10697417>
3500
3501         Reviewed by Simon Fraser.
3502
3503         * WebProcess/WebPage/WebPage.cpp:
3504         (WebKit::WebPage::updatePreferences):
3505
3506 2012-01-24  Alexis Menard  <alexis.menard@openbossa.org>
3507
3508         Unreviewed build fix for Qt.
3509
3510         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3511         (WebKit::LayerTreeHostQt::showDebugBorders):
3512         (WebKit::LayerTreeHostQt::showRepaintCounter):
3513
3514 2012-01-23  Simon Fraser  <simon.fraser@apple.com>
3515
3516         Show layer borders for scrollbar layers
3517         https://bugs.webkit.org/show_bug.cgi?id=76888
3518
3519         Reviewed by Beth Dakin.
3520         
3521         Update for new signatures of GraphicsLayerClient::showDebugBorders()
3522         and GraphicsLayerClient::showRepaintCounter().
3523
3524         * UIProcess/LayerTreeHostProxy.h:
3525         (WebKit::LayerTreeHostProxy::showDebugBorders):
3526         (WebKit::LayerTreeHostProxy::showRepaintCounter):
3527         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
3528         (WebKit::LayerTreeHostCA::showDebugBorders):
3529         (WebKit::LayerTreeHostCA::showRepaintCounter):
3530         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
3531         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3532
3533 2012-01-24  David Levin  <levin@chromium.org>
3534
3535         [windows] Convert usage of GetDC to HWndDC Part 3.
3536         https://bugs.webkit.org/show_bug.cgi?id=76889
3537
3538         Reviewed by Adam Roben.
3539
3540         * UIProcess/win/WebPopupMenuProxyWin.cpp:
3541         (WebKit::WebPopupMenuProxyWin::paint): Fix a dc leak and use the dellayed allocation.
3542
3543 2012-01-24  Sergio Villar Senin  <svillar@igalia.com>
3544
3545         [WK2] [GTK] TestDownloads hitting an assertion in Debug builds
3546         https://bugs.webkit.org/show_bug.cgi?id=76915
3547
3548         Reviewed by Martin Robinson.
3549
3550         No new tests required as it fixes some assertions in a unit test.
3551
3552         * WebProcess/Downloads/soup/DownloadSoup.cpp:
3553         (WebKit::Download::start):
3554         (WebKit::Download::startWithHandle):
3555
3556 2012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
3557
3558         [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
3559         https://bugs.webkit.org/show_bug.cgi?id=76877
3560
3561         Reviewed by Kenneth Rohde Christiansen.
3562
3563         Instead of copying QImages, pass a reference to the ShareableBitmap that was originally
3564         created by the web process. Also, swizzle the image's RGB in the web process, before it's
3565         transferred to the UI process.
3566
3567         Data flow before change:
3568         (Web Process) Render to image -> IPC -> (UI Process) Copy (render queue) -> Copy Swizzled RGB -> Upload
3569
3570         Data flow after change:
3571         (Web Process) Render to image -> swizzle RGB -> IPC -> (UI Process) -> Upload
3572
3573         * Shared/ShareableBitmap.h:
3574         * Shared/qt/ShareableBitmapQt.cpp:
3575         (WebKit::ShareableBitmap::swizzleRGB):
3576         * UIProcess/LayerTreeHostProxy.h:
3577         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3578         (WebKit::LayerTreeHostProxy::updateTile):
3579         (WebKit::LayerTreeHostProxy::createImage):
3580         (WebKit::LayerTreeHostProxy::syncRemoteContent):
3581         (WebKit::LayerTreeHostProxy::updateTileForLayer):
3582         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
3583         (WebKit::LayerTreeHostProxy::purgeGLResources):
3584         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3585         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3586         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3587         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
3588
3589 2012-01-24  Rafael Brandao  <rafael.lobo@openbossa.org>
3590
3591         [Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after its destruction
3592         https://bugs.webkit.org/show_bug.cgi?id=76399
3593
3594         Reviewed by Simon Hausmann.
3595
3596         Due a circular dependency between WebContext and WebProcessProxy, WebContext it not
3597         being destroyed, neither WebIconDatabase. As QtWebIconDatabaseClient's life time is the same
3598         as QtWebContext and this one is being destroyed, the remaining reference to our client
3599         on WebIconDatabase should be cleaned upon its destruction.
3600
3601         * UIProcess/qt/QtWebIconDatabaseClient.cpp:
3602         (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
3603         (QtWebIconDatabaseClient::~QtWebIconDatabaseClient): Clear client pointer on WebIconDatabase.
3604         * UIProcess/qt/QtWebIconDatabaseClient.h: Make this client hold a reference to WebIconDatabase.
3605
3606 2012-01-24  Zeno Albisser  <zeno@webkit.org>
3607
3608         [Qt][WK2] Add test for application URL schemes.
3609         https://bugs.webkit.org/show_bug.cgi?id=74933
3610
3611         Add a test that checks handling of url strings.
3612         Add a test that verifies replies in case of multiple
3613         available application url schemes.
3614
3615         Reviewed by Kenneth Rohde Christiansen.
3616
3617         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
3618
3619 2012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3620
3621         [GTK] Fix /webkit2/WebKitWebView/reload after r105688
3622         https://bugs.webkit.org/show_bug.cgi?id=76898
3623
3624         Reviewed by Alejandro G. Castro.
3625
3626         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
3627         (LoadTrackingTest::reload): Add reload method that clears events
3628         and initializes progress.
3629         * UIProcess/API/gtk/tests/LoadTrackingTest.h:
3630         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
3631         (testWebViewReload): Use LoadTrackingTest::reload() instead of
3632         webkit_web_view_reload().
3633
3634 2012-01-24  Simon Hausmann  <simon.hausmann@nokia.com>
3635
3636         Some qmake build files must include Qt5's "quick" module.
3637         https://bugs.webkit.org/show_bug.cgi?id=76671
3638
3639         Unreviewed build fix.
3640
3641         * UIProcess/API/qt/tests/tests.pri:
3642
3643 2012-01-24  Zeno Albisser  <zeno@webkit.org>
3644
3645         [Qt][WK2] Application URL schemes cause asserts when using debug.
3646         https://bugs.webkit.org/show_bug.cgi?id=76700
3647
3648         Instances of QtNetworkRequestData / QtNetworkReplyData are meant
3649         to be used for transfering data over IPC. To allow transferring
3650         instances of these classes over IPC they need to be copyable,
3651         and it must be possible to create such instances on the stack.
3652         Because classes that inherit from RefCounted always need to be
3653         used in connection with RefPtr, QtNetworkRequestData and
3654         QtNetworkReplyData cannot inherit directly from RefCounted.
3655
3656         Deleting an object that inherits from RefCounted, without
3657         the proper sequence of ref()/deref() being called by it's
3658         RefPtr, causes asserts when running a debug version.
3659
3660         Reviewed by Simon Hausmann.
3661
3662         * Shared/qt/QtNetworkReplyData.h:
3663         (WebKit::QtRefCountedNetworkReplyData::data):
3664         * Shared/qt/QtNetworkRequestData.cpp:
3665         (WebKit::QtRefCountedNetworkRequestData::QtRefCountedNetworkRequestData):
3666         * Shared/qt/QtNetworkRequestData.h:
3667         (WebKit::QtRefCountedNetworkRequestData::data):
3668         * Target.pri:
3669         * UIProcess/API/qt/qquicknetworkreply.cpp:
3670         (QQuickNetworkReply::QQuickNetworkReply):
3671         (QQuickNetworkReply::contentType):
3672         (QQuickNetworkReply::setContentType):
3673         (QQuickNetworkReply::operation):
3674         (QQuickNetworkReply::setOperation):
3675         (QQuickNetworkReply::contentDisposition):
3676         (QQuickNetworkReply::setContentDisposition):
3677         (QQuickNetworkReply::location):
3678         (QQuickNetworkReply::setLocation):
3679         (QQuickNetworkReply::lastModified):
3680         (QQuickNetworkReply::setLastModified):
3681         (QQuickNetworkReply::cookie):
3682         (QQuickNetworkReply::setCookie):
3683         (QQuickNetworkReply::userAgent):
3684         (QQuickNetworkReply::setUserAgent):
3685         (QQuickNetworkReply::server):
3686         (QQuickNetworkReply::setServer):
3687         (QQuickNetworkReply::data):
3688         (QQuickNetworkReply::setData):
3689         (QQuickNetworkReply::send):
3690         (QQuickNetworkReply::networkRequestData):
3691         (QQuickNetworkReply::setNetworkRequestData):
3692         (QQuickNetworkReply::networkReplyData):
3693         * UIProcess/API/qt/qquicknetworkreply_p.h:
3694         * UIProcess/API/qt/qquicknetworkrequest.cpp:
3695         (QQuickNetworkRequest::QQuickNetworkRequest):
3696         (QQuickNetworkRequest::setNetworkRequestData):
3697         (QQuickNetworkRequest::url):
3698         * UIProcess/API/qt/qquicknetworkrequest_p.h:
3699         * UIProcess/API/qt/qquickwebview.cpp:
3700         (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
3701         * UIProcess/API/qt/qquickwebview_p.h:
3702         * UIProcess/WebPageProxy.h:
3703         * UIProcess/qt/QtPageClient.cpp:
3704         (QtPageClient::handleApplicationSchemeRequest):
3705         * UIProcess/qt/QtPageClient.h:
3706         * UIProcess/qt/WebPageProxyQt.cpp:
3707         (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
3708         (WebKit::WebPageProxy::sendApplicationSchemeReply):
3709         * WebProcess/qt/QtNetworkReply.cpp:
3710         (WebKit::QtNetworkReply::setData):
3711         (WebKit::QtNetworkReply::readData):
3712
3713 2012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3714
3715         [GTK] Implement DownloadClient in WebKit2 GTK+ API
3716         https://bugs.webkit.org/show_bug.cgi?id=72952
3717
3718         Reviewed by Martin Robinson.
3719
3720         * GNUmakefile.am: Add new files to compilation.
3721         * UIProcess/API/gtk/WebKitDownloadClient.cpp: Added.
3722         (didStart): Call webkitWebContextDownloadStarted().
3723         (didReceiveResponse): Call webkitDownloadSetResponse() with the
3724         received response.
3725         (didReceiveData): Call webkitDownloadNotifyProgress().
3726         (decideDestinationWithSuggestedFilename): Call
3727         webkitDownloadDecideDestinationWithSuggestedFilename().
3728         (didCreateDestination): Call webkitDownloadDestinationCreated().
3729         (didFail): Call webkitDownloadFailed() or
3730         webkitDownloadCancelled() if the download was cancelled before
3731         failing.
3732         (didCancel): Call webkitDownloadCancelled().
3733         (didFinish): Call webkitDownloadFinished().
3734         (attachDownloadClientToContext): Add
3735         implementation for download client callbacks.
3736         * UIProcess/API/gtk/WebKitDownloadClient.h: Added.
3737         * UIProcess/API/gtk/WebKitError.cpp:
3738         (webkit_download_error_quark): Add quark for download errors.
3739         * UIProcess/API/gtk/WebKitError.h:
3740         * UIProcess/API/gtk/WebKitWebContext.cpp:
3741         (webkit_web_context_class_init): Add download-started signal.
3742         (createDefaultWebContext): Initialize the download client.
3743         (downloadsMap): HashMap containing download objects for all
3744         ongoing download operations.
3745         (webkit_web_context_download_uri): Start a new download for the
3746         given URI.
3747         (webkitWebContextGetOrCreateDownload): Helper function to create a
3748         new download object or return the existing one from the downloads map.
3749         (webkitWebContextRemoveDownload): Remove the download object from
3750         the downloads map.
3751         (webkitWebContextDownloadStarted): Emit
3752         WebKitWebContext::download-started for the given download object.
3753         * UIProcess/API/gtk/WebKitWebContext.h:
3754         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
3755         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3756         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for downloads.
3757         * UIProcess/API/gtk/tests/TestDownloads.cpp: Added.
3758         (getWebKit1TestResoucesDir):
3759         (testDownloadLocalFile):
3760         (testDownloadLocalFileError):
3761         (serverCallback):
3762         (testDownloadRemoteFile):
3763         (testDownloadRemoteFileError):
3764         (beforeAll):
3765         (afterAll):
3766
3767 2012-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
3768
3769         [GTK] Add WebKitDownload to WebKit2 GTK+ API
3770         https://bugs.webkit.org/show_bug.cgi?id=72949
3771
3772         Reviewed by Martin Robinson.
3773
3774         * GNUmakefile.am: Add new files to compilation.
3775         * UIProcess/API/gtk/WebKitDownload.cpp: Added.
3776         (webkitDownloadFinalize):
3777         (webkitDownloadGetProperty):
3778         (webkitDownloadDecideDestination):
3779         (webkit_download_init):
3780         (webkit_download_class_init):
3781         (webkitDownloadCreate): Create a new WebKitDownload for a given
3782         WKDownloadRef.
3783         (webkitDownloadSetResponse): Set the network response of the
3784         download.
3785         (webkitDownloadIsCancelled): Whether the download has been
3786         cancelled by the user.
3787         (webkitDownloadNotifyProgress): Emit notify::estimated-progress if
3788         needed.
3789         (webkitDownloadFailed): Emit WebKitDownload::failed with the given
3790         error.
3791         (webkitDownloadCancelled): Emit WebKitDownload::failed with
3792         cancelled error.
3793         (webkitDownloadFinished): Emit WebKitDownload::finished.
3794         (webkitDownloadDecideDestinationWithSuggestedFilename): Emit
3795         WebKitDownload::decide-destination.
3796         (webkitDownloadDestinationCreated): Emit
3797         WebKitDownload::created-destination.
3798         (webkit_download_get_destination): Return the destination URI of
3799         the download.
3800         (webkit_download_set_destination): Set the destination URI of the
3801         download.
3802         (webkit_download_get_response): Return the response received by
3803         the server.
3804         (webkit_download_cancel): Cancel the download.
3805         (webkit_download_get_estimated_progress): Return the estimated
3806         progress.
3807         (webkit_download_get_elapsed_time): Return the time elapsed since
3808         the download started.
3809         * UIProcess/API/gtk/WebKitDownload.h: Added.
3810         * UIProcess/API/gtk/WebKitDownloadPrivate.h: Added.
3811         * UIProcess/API/gtk/WebKitPrivate.h:
3812         * UIProcess/API/gtk/WebKitURIResponse.cpp:
3813         (webkitURIResponseGetResourceResponse):
3814         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3815         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
3816         webkit_download_get_type().
3817         * UIProcess/API/gtk/webkit2.h: Include WebKitDownload.h.
3818         * UIProcess/API/gtk/webkit2marshal.list:
3819
3820 2012-01-23  Geoffrey Garen  <ggaren@apple.com>
3821
3822         JSValue::toString() should return a JSString* instead of a UString
3823         https://bugs.webkit.org/show_bug.cgi?id=76861
3824
3825         Reviewed by Gavin Barraclough.
3826
3827         Mechanical changes to call value() after calling toString(), to
3828         convert from "JS string" (JSString*) to "C++ string" (UString), since
3829         toString() no longer returns a "C++ string".
3830
3831         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3832         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
3833
3834 2012-01-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3835
3836         [Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed
3837         https://bugs.webkit.org/show_bug.cgi?id=76859
3838
3839         Reviewed by Kenneth Rohde Christiansen.
3840
3841         Removing d->initializeTouch() from QQuickWebView::QQuickWebView()
3842         since in QQuickWebViewPrivate::initialize() there is a call for
3843         setUseTraditionalDesktopBehaviour(false), which will call initializeTouch.
3844
3845         * UIProcess/API/qt/qquickwebview.cpp:
3846         (QQuickWebView::QQuickWebView):
3847
3848 2012-01-23  Martin Robinson  <mrobinson@igalia.com>
3849
3850         [GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible
3851         https://bugs.webkit.org/show_bug.cgi?id=76755
3852
3853         Reviewed by Alejandro G. Castro.
3854
3855         Always clear the loading events when loading new content in the load tracking
3856         test. In the WebView test correctly handle loading HTML with a URL that isn't
3857         "about:blank."
3858
3859         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
3860         (LoadTrackingTest::loadURI): Reset the class state when starting a new load.
3861         (LoadTrackingTest::loadHtml): Ditto.
3862         (LoadTrackingTest::loadPlainText): Ditto.
3863         (LoadTrackingTest::loadRequest): Ditto.
3864         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added new method definitions.
3865         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
3866         (assertNormalLoadHappened): No longer clear loading events. The fixture handles that now.
3867         (testLoadHtml): Update to reflect new method name.
3868         (testLoadPlainText): Ditto.
3869         (testLoadRequest): Ditto.
3870         (testWebViewReload): Ditto.
3871         * UIProcess/API/gtk/tests/WebViewTest.cpp:
3872         (WebViewTest::loadHtml): Properly interpret the baseURL parameter.
3873         * UIProcess/API/gtk/tests/WebViewTest.h: Make loading methods virtual.
3874
3875 2012-01-23  Alexander Færøy  <alexander.faeroy@nokia.com>
3876
3877         [Qt] Implement SSL error handling QML API.
3878         https://bugs.webkit.org/show_bug.cgi?id=76793
3879
3880         Reviewed by Simon Hausmann.
3881
3882         This patch implements support for accepting or rejecting invalid SSL
3883         certificates from the QML API.
3884
3885         * UIProcess/API/qt/qquickwebview.cpp:
3886         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3887         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
3888         (QQuickWebViewExperimental::certificateVerificationDialog):
3889         (QQuickWebViewExperimental::setCertificateVerificationDialog):
3890         * UIProcess/API/qt/qquickwebview_p.h:
3891         * UIProcess/API/qt/qquickwebview_p_p.h:
3892         * UIProcess/PageClient.h:
3893         * UIProcess/WebPageProxy.cpp:
3894         (WebKit::WebPageProxy::certificateVerificationRequest):
3895         * UIProcess/WebPageProxy.h:
3896         * UIProcess/WebPageProxy.messages.in:
3897         * UIProcess/qt/QtDialogRunner.cpp:
3898         (CertificateVerificationDialogContextObject::CertificateVerificationDialogContextObject):
3899         (CertificateVerificationDialogContextObject::hostname):
3900         (CertificateVerificationDialogContextObject::accept):
3901         (CertificateVerificationDialogContextObject::reject):
3902         (QtDialogRunner::initForCertificateVerification):
3903         * UIProcess/qt/QtDialogRunner.h:
3904         * UIProcess/qt/QtPageClient.cpp:
3905         (QtPageClient::handleCertificateVerificationRequest):
3906         * UIProcess/qt/QtPageClient.h:
3907         * WebProcess/qt/QtNetworkAccessManager.cpp:
3908         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
3909         (WebKit::QtNetworkAccessManager::onSslErrors):
3910         * WebProcess/qt/QtNetworkAccessManager.h:
3911
3912 2012-01-23  David Levin  <levin@chromium.org>
3913
3914         [windows] Convert usages of GetDC to HWndDC Part 2.
3915         https://bugs.webkit.org/show_bug.cgi?id=76750
3916
3917         Reviewed by Adam Roben.
3918
3919         * Shared/win/ShareableBitmapWin.cpp:
3920         (WebKit::ShareableBitmap::windowsContext): Fix incorrect usage of OwnPtr<HDC> which
3921         would do a DeleteDC instead of a ReleaseDC.
3922
3923 2012-01-23  David Levin  <levin@chromium.org>
3924
3925         [windows] Convert usages of GetDC to HWndDC Part 1.
3926         https://bugs.webkit.org/show_bug.cgi?id=76744
3927
3928         Reviewed by Adam Roben.
3929
3930         * UIProcess/win/WebView.cpp:
3931         (WebKit::WebView::flashBackingStoreUpdates): Typical conversion.
3932
3933 2012-01-21  Timothy Hatcher  <timothy@apple.com>
3934
3935         Make WebKit2 remember the height of the Web Inspector when it is docked.
3936
3937         https://webkit.org/b/76769
3938
3939         Reviewed by Dan Bernstein.
3940
3941         * Shared/WebPreferencesStore.h: Added InspectorAttachedHeight.
3942         * UIProcess/WebInspectorProxy.cpp:
3943         (WebKit::WebInspectorProxy::setAttachedWindowHeight): Call WebPreferencesStore::setInspectorAttachedHeight.
3944         * UIProcess/mac/WebInspectorProxyMac.mm:
3945         (WebKit::WebInspectorProxy::platformAttach): Set the height of the inspector's WKView to inspectorAttachedHeight.
3946         (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Remove unneeded setNeedsDisplay: calls.
3947
3948 2012-01-20  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3949
3950         [Qt] [WK2] Division by zero error in QtViewportInteractionEngine::setItemRectVisible
3951         https://bugs.webkit.org/show_bug.cgi?id=76674
3952
3953         Reviewed by Kenneth Rohde Christiansen.
3954
3955         Make sure that itemRect is not empty.
3956
3957         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3958         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
3959
3960 2012-01-20  Steve Falkenburg  <sfalken@apple.com>
3961
3962         Reviewed by Alexey Proskuryakov.
3963
3964         Drag/drop of a file into a WebView on Windows needs to allow access to that file
3965         https://bugs.webkit.org/show_bug.cgi?id=76753
3966         <rdar://problem/10731719>
3967         
3968         The Windows drag/drop code path was missing the code to open a file read exception.
3969
3970         Added code to match the Mac version, while allowing directories and multiple files to
3971         also be dragged (matching our previous behavior).
3972
3973         * UIProcess/win/WebView.cpp:
3974         (WebKit::maybeCreateSandboxExtensionFromDragData): Added.
3975         (WebKit::WebView::Drop): Add a universal read exception if we're dragging a file into a WebView to open it.
3976
3977 2012-01-20  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3978
3979         [Qt] Trigger forcing accelerated compositing from the UI process side.
3980         https://bugs.webkit.org/show_bug.cgi?id=76296
3981
3982         Reviewed by Noam Rosenthal.
3983
3984         Some messages can be sent from the web view to the LayerTreeHost before
3985         accelerated compositing is entered on the web process and signaled back.
3986         By letting the UI process decide if AC has to be forced, we can create
3987         the LayerTreeHostProxy earlier to send messages to the web process while
3988         AC is being entered there.
3989
3990         This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages
3991         by setting the m_waitingForUIProcess flag properly and only send the
3992         RenderNextFrame once the painting thread on the UI process is ready to paint.
3993
3994         This fixes the first visible content rect message not being received when
3995         loading pages from the disk.
3996
3997         * Shared/WebPreferencesStore.h:
3998         * UIProcess/API/qt/qquickwebview.cpp:
3999         (QQuickWebViewPrivate::initialize):
4000         * UIProcess/DrawingAreaProxyImpl.cpp:
4001         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
4002         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
4003         (WebKit::LayerTreeHostProxy::flushLayerChanges):
4004         (WebKit::LayerTreeHostProxy::didRenderFrame):
4005         * WebProcess/WebPage/DrawingAreaImpl.cpp:
4006         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
4007         * WebProcess/WebPage/WebPage.cpp:
4008         (WebKit::WebPage::updatePreferences):
4009         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
4010         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
4011         * WebProcess/WebPage/qt/WebPageQt.cpp:
4012         (WebKit::WebPage::platformInitialize):
4013
4014 2012-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
4015
4016         Unreviewed, rolling out r105497.
4017         http://trac.webkit.org/changeset/105497
4018         https://bugs.webkit.org/show_bug.cgi?id=76696
4019
4020         Leaking in Qt layout tests and timing out in GTK API tests.
4021         (Requested by jturcotte on #webkit).
4022
4023         * Shared/WebPreferencesStore.h:
4024         * UIProcess/API/qt/qquickwebview.cpp:
4025         (QQuickWebViewPrivate::initialize):
4026         * UIProcess/DrawingAreaProxyImpl.cpp:
4027         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
4028         * WebProcess/WebPage/DrawingAreaImpl.cpp:
4029         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
4030         * WebProcess/WebPage/WebPage.cpp:
4031         (WebKit::WebPage::updatePreferences):
4032         * WebProcess/WebPage/qt/WebPageQt.cpp:
4033         (WebKit::WebPage::platformInitialize):
4034
4035 2012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>
4036
4037         [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
4038         https://bugs.webkit.org/show_bug.cgi?id=72589
4039
4040         Reviewed by Martin Robinson.
4041
4042         Expose the accessibility hierarchy in the multi-process
4043         architecture of WK2 through AtkSocket and AtkPlug.
4044
4045         Make the WebView widget return an AtkSocket when calling to
4046         gtk_widget_get_accessible().
4047
4048         * GNUmakefile.am: Add new files.
4049         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
4050         (webkit_web_view_base_init):
4051         (webkitWebViewBaseGetAccessible):
4052         (webkit_web_view_base_class_init):
4053         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added.
4054         (webkitWebViewBaseAccessibleWidgetFinalize):
4055         (webkitWebViewBaseAccessibleWidgetDestroyed):
4056         (webkitWebViewBaseAccessibleInitialize):
4057         (webkitWebViewBaseAccessibleRefStateSet):
4058         (webkitWebViewBaseAccessibleGetIndexInParent):
4059         (webkit_web_view_base_accessible_init):
4060         (webkit_web_view_base_accessible_class_init):
4061         (webkitWebViewBaseAccessibleNew):
4062         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added.
4063
4064         Make the WebPage create an AtkPlug on its initialization and
4065         sending the ID of that plug to the UI process, so it can embed the
4066         plug in the socket.
4067
4068