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