[WK2] Anchor elements doesn't get focus on TAB key press.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-09-02  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
2
3         [WK2] Anchor elements doesn't get focus on TAB key press.
4         https://bugs.webkit.org/show_bug.cgi?id=66949
5
6         Reviewed by Adam Roben.
7
8         Setting the default property value of TabsToLinks to true
9         only for GTK platform since Win & Mac platforms doesn't want 
10         it to be set to true by default.
11
12         * Shared/WebPreferencesStore.h:
13         Set the default value of key TabsToLinks to true for GTK platform only.
14
15 2011-09-02  Balazs Kelemen  <kbalazs@webkit.org>
16
17         [Qt][WK2] Cannot gathering glyph page statistics
18         https://bugs.webkit.org/show_bug.cgi?id=67475
19
20         Rubber stamped by Csaba Osztrogonác.
21
22         Fix Qt WK2 build without having QRAWFONT.
23
24         * WebProcess/WebProcess.cpp:
25         (WebKit::WebProcess::getWebCoreStatistics):
26
27 2011-09-02  Mark Rowe  <mrowe@apple.com>
28
29         <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
30         leak the results of the APIs they wrap.
31
32         Reviewed by Dan Bernstein.
33
34         * UIProcess/mac/WebProcessProxyMac.mm:
35         (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a
36         RetainPtr to ensure it gets released at the appropriate time.
37         (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd.
38
39 2011-09-01  Ada Chan  <adachan@apple.com>
40
41         Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that 
42         MemoryCache::Statistics always has the xslStyleSheets field.
43
44         Reviewed by Darin Adler.
45
46         * WebProcess/WebProcess.cpp:
47         (WebKit::getWebCoreMemoryCacheStatistics):
48
49 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
50
51         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
52         https://bugs.webkit.org/show_bug.cgi?id=67174
53
54         Reviewed by Oliver Hunt.
55
56         Completed the fourth level of the refactoring to add finishCreation() 
57         methods to all classes within the JSCell hierarchy with non-trivial 
58         constructor bodies.
59
60         This primarily consists of pushing the calls to finishCreation() down 
61         into the constructors of the subclasses of the second level of the hierarchy 
62         as well as pulling the finishCreation() calls out into the class's corresponding
63         create() method if it has one.  Doing both simultaneously allows us to 
64         maintain the invariant that the finishCreation() method chain is called exactly 
65         once during the creation of an object, since calling it any other number of 
66         times (0, 2, or more) will cause an assertion failure.
67
68         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
69         (WebKit::JSNPObject::JSNPObject):
70         (WebKit::JSNPObject::finishCreation):
71         * WebProcess/Plugins/Netscape/JSNPObject.h:
72
73 2011-09-01  Ada Chan  <adachan@apple.com>
74
75         Gather memory cache statistics in WebProcess::getWebCoreStatistics().
76         https://bugs.webkit.org/show_bug.cgi?id=67160
77
78         Reviewed by Darin Adler.
79
80         Encode and decode webCoreCacheStatistics data member in StatisticsData.
81         * Shared/StatisticsData.cpp:
82         (WebKit::StatisticsData::encode):
83         (WebKit::StatisticsData::decode):
84         * Shared/StatisticsData.h:
85
86         Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
87         * UIProcess/WebContext.cpp:
88         (WebKit::WebContext::didGetWebCoreStatistics):
89
90         Store memory cache statistics into the StatisticsData object.
91         * WebProcess/WebProcess.cpp:
92         (WebKit::getWebCoreMemoryCacheStatistics):
93         (WebKit::WebProcess::getWebCoreStatistics):
94
95 2011-09-01  Tim Horton  <timothy_horton@apple.com>
96
97         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
98         https://bugs.webkit.org/show_bug.cgi?id=53055
99         <rdar://problem/8910917>
100
101         Reviewed by Simon Fraser.
102
103         Introduce wkCGPatternCreateWithImageAndTransform.
104
105         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
106         (InitWebCoreSystemInterface):
107
108 2011-09-01  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
109
110         [Qt] TouchWebView crashes with segmentation fault
111         https://bugs.webkit.org/show_bug.cgi?id=67308
112
113         Reviewed by Benjamin Poulain.
114
115         If you instantiate TouchWebView element with height and width in a qml file and
116         load a url it crashes.
117         The functions setWidth() and setHeight() are called sequentially therefore it can happen
118         that computeViewportAttributes was called with a size like (width, 0) breaking the
119         assumption of the function that the size is valid. The patch makes sure we compute the
120         viewport when both height and width are valid.
121
122         * UIProcess/API/qt/qtouchwebview.cpp:
123         (QTouchWebViewPrivate::updateViewportConstraints):
124         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added.
125         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added.
126         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added.
127         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
128
129 2011-09-01  Ada Chan  <adachan@apple.com>
130
131         Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
132         https://bugs.webkit.org/show_bug.cgi?id=67160
133
134         Reviewed by Darin Adler.
135
136         Encode and decode the data members in StatisticsData.
137         * Shared/StatisticsData.cpp:
138         (WebKit::StatisticsData::encode):
139         (WebKit::StatisticsData::decode):
140         (WebKit::StatisticsData::StatisticsData):
141
142         Add three data members to StatisticsData:
143         - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as 
144         JavaScriptObjectsCount, CachedFontDataCount, etc.
145         - javaScriptProtectedObjectTypeCounts
146         - javaScriptObjectTypeCounts
147         * Shared/StatisticsData.h:
148
149         Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary
150         in WebContext::didGetWebCoreStatistics().
151         * UIProcess/WebContext.cpp:
152         (WebKit::createDictionaryFromHashMap):
153         (WebKit::WebContext::didGetWebCoreStatistics):
154
155         Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object
156         and send it to the UIProcess.
157         * WebProcess/WebProcess.cpp:
158         (WebKit::fromCountedSetToHashMap):
159         (WebKit::WebProcess::getWebCoreStatistics):
160
161 2011-09-01  Xan Lopez  <xlopez@igalia.com>
162
163         [GTK] Add XRender lib dependencies explicitly
164
165         Reviewed by Philippe Normand.
166
167         This is needed when using the GNU/Gold linker, since we use
168         XRender directly.
169
170         * GNUmakefile.am:
171
172 2011-08-31  Anders Carlsson  <andersca@apple.com>
173
174         Jagged text shown in find-in-page highlight
175         https://bugs.webkit.org/show_bug.cgi?id=67347
176         <rdar://problem/9870444>
177
178         Reviewed by Dan Bernstein.
179
180         When painting each text line in the find indicator, make sure to clip it against
181         the text rect and not paint the entire rect over and over.
182
183         * UIProcess/FindIndicator.cpp:
184         (WebKit::FindIndicator::draw):
185
186 2011-08-31  Beth Dakin  <bdakin@apple.com>
187
188         https://bugs.webkit.org/show_bug.cgi?id=67322
189         Re-name overrideBackingScaleFactor
190
191         Reviewed by John Sullivan.
192
193         API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor() 
194         which returns the custom scale factor if one was set, and the intrinsic scale 
195         factor otherwise. 
196         * UIProcess/API/C/WKPage.cpp:
197         (WKPageGetBackingScaleFactor):
198         (WKPageSetCustomBackingScaleFactor):
199         * UIProcess/API/C/WKPage.h:
200
201         Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever 
202         refers to the intrinsic value.
203         * UIProcess/API/mac/WKView.mm:
204         (-[WKView viewDidMoveToWindow]):
205         (-[WKView _windowDidChangeResolution:]):
206         (-[WKView _intrinsicDeviceScaleFactor]):
207
208         WebPageProxy stores both the customDeviceScaleFactor and the 
209         intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that 
210         should be the one used. 
211         * UIProcess/WebPageProxy.cpp:
212         (WebKit::WebPageProxy::WebPageProxy):
213         (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
214         (WebKit::WebPageProxy::deviceScaleFactor):
215         (WebKit::WebPageProxy::setCustomDeviceScaleFactor):
216         (WebKit::WebPageProxy::creationParameters):
217         * UIProcess/WebPageProxy.h:
218
219 2011-08-31  Anders Carlsson  <andersca@apple.com>
220
221         REGRESSION(r93902): Can't open external links on gmail
222         https://bugs.webkit.org/show_bug.cgi?id=67234
223         <rdar://problem/10053636>
224
225         Reviewed by Alexey Proskuryakov.
226
227         * Shared/cf/ArgumentCodersCF.cpp:
228         (CoreIPC::decode):
229         If we encounter an empty URL string, create an empty url by using NSURL, just
230         like we do in WebCore when converting an empty KURL to an NSURL.
231
232         * WebKit2.xcodeproj/project.pbxproj:
233         Compile ArgumentCodersCF.cpp as Objective-C++ for now.
234
235 2011-08-30  Beth Dakin  <bdakin@apple.com>
236
237         https://bugs.webkit.org/show_bug.cgi?id=67150
238         Would like API to use a custom device scale factor for a particular WebView/WKView
239         -and corresponding-
240         <rdar://problem/10041016>
241
242         Reviewed by Darin Adler.
243
244         New API is setOverrideBackingScaleFactor() on WKPage
245         * UIProcess/API/C/WKPage.cpp:
246         (WKPageGetOverrideBackingScaleFactor):
247         (WKPageSetOverrideBackingScaleFactor):
248         * UIProcess/API/C/WKPage.h:
249         * UIProcess/WebPageProxy.cpp:
250         (WebKit::WebPageProxy::WebPageProxy):
251         (WebKit::WebPageProxy::deviceScaleFactor):
252         (WebKit::WebPageProxy::setOverrideBackingScaleFactor):
253         * UIProcess/WebPageProxy.h:
254         (WebKit::WebPageProxy::overrideBackingScaleFactor):
255
256 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
257
258         Add MediaSource API to HTMLMediaElement
259         https://bugs.webkit.org/show_bug.cgi?id=64731
260
261         Reviewed by Eric Carlson.
262
263         * Configurations/FeatureDefines.xcconfig:
264
265 2011-08-30  Ada Chan  <adachan@apple.com>
266
267         Laying some groundwork to fetch performance statistics from WebProcess.
268         https://bugs.webkit.org/show_bug.cgi?id=67160
269
270         Reviewed by Darin Adler.
271
272         Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics.
273         * UIProcess/API/C/WKContext.cpp:
274         (WKContextGetStatistics):
275         * UIProcess/API/C/WKContext.h:
276         * UIProcess/WebContext.cpp:
277         (WebKit::WebContext::~WebContext):
278         (WebKit::WebContext::getWebCoreStatistics):
279         (WebKit::WebContext::didGetWebCoreStatistics):
280         * UIProcess/WebContext.h:
281         * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has
282         the performance statistics ready.
283
284         Add WebProcess::getWebCoreStatistics().  Currently it just sends back an empty StatisticsData object.
285         It will gather the performance statistics to store in the StatisticsData object in a future patch.
286         * WebProcess/WebProcess.cpp:
287         (WebKit::WebProcess::getWebCoreStatistics):
288         * WebProcess/WebProcess.h:
289         * WebProcess/WebProcess.messages.in:
290
291         Add the skeleton for StatisticsData.
292         * Scripts/webkit2/messages.py:
293         * Shared/StatisticsData.cpp: Added.
294         (WebKit::StatisticsData::encode):
295         (WebKit::StatisticsData::decode):
296         (WebKit::StatisticsData::StatisticsData):
297         * Shared/StatisticsData.h: Added.
298
299         Add StatisticsData.h/cpp to project.
300         * CMakeLists.txt:
301         * GNUmakefile.am:
302         * WebKit2.pro:
303         * WebKit2.xcodeproj/project.pbxproj:
304         * win/WebKit2.vcproj:
305
306 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
307
308         DumpRenderTree should begin each test with an empty cookie store
309         https://bugs.webkit.org/show_bug.cgi?id=63545
310         <rdar://problem/5666907>
311
312         Reviewed by Darin Adler.
313
314         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
315         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
316         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
317         Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
318
319         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
320         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
321         There is no no need to access cookie storage through session manually - we already have code
322         for that in WebCore.
323
324         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
325         (WKBundleSwitchNetworkLoaderToNewTestingSession):
326         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
327         * WebProcess/InjectedBundle/InjectedBundle.cpp:
328         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
329         * WebProcess/InjectedBundle/InjectedBundle.h:
330         Exposed bundle SPI to use a private default session. It's separate from private browsing,
331         because some tests enable the latter, and we don't want to mix them up.
332
333         * WebProcess/WebPage/mac/WebPageMac.mm:
334         (WebKit::WebPage::platformHasLocalDataForURL):
335         (WebKit::cachedResponseForURL):
336         Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
337
338         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
339         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
340
341 2011-08-30  Alexis Menard  <alexis.menard@openbossa.org>
342
343         [Qt][WK2] Make mouse over work again for QDesktopWebView.
344         https://bugs.webkit.org/show_bug.cgi?id=67200
345
346         Reviewed by Noam Rosenthal.
347
348         The API has changed after QGraphicsView, SceneGraph sends
349         QHoverEvents now.
350
351         * UIProcess/qt/qdesktopwebpageproxy.cpp:
352         (QDesktopWebPageProxy::handleEvent):
353         (QDesktopWebPageProxy::handleHoverMoveEvent):
354         * UIProcess/qt/qdesktopwebpageproxy.h:
355
356 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
357
358         The unused ScrollView* argument can and should be removed from
359         scrollRectIntoView.
360         https://bugs.webkit.org/show_bug.cgi?id=67117
361
362         Reviewed by Darin Adler.
363
364         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
365         (WebKit::WebChromeClient::scrollRectIntoView):
366         * WebProcess/WebCoreSupport/WebChromeClient.h:
367
368 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
369
370         Another Windows build fix after r94047.
371
372         * win/WebKit2.def:
373         * win/WebKit2CFLite.def:
374
375 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
376
377         Export more symbols for r94038.
378
379         * win/WebKit2.def:
380         * win/WebKit2CFLite.def:
381
382 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
383
384         Windows build fix for r94038.
385
386         * win/WebKit2.def:
387         * win/WebKit2CFLite.def:
388
389 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
390
391
392         [Qt] QTouchWebView url property test missing
393         https://bugs.webkit.org/show_bug.cgi?id=67159
394
395         Reviewed by Noam Rosenthal.
396
397         Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called.
398
399         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
400
401 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
402
403         [Qt] QDesktopWebView url property test missing
404         https://bugs.webkit.org/show_bug.cgi?id=67155
405
406         Reviewed by Noam Rosenthal.
407
408         Added qml test case to check url property. Since url is a readonly property, we make sure that it's set after load() is called.
409
410         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
411
412 2011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
413
414         Unreviewed, rolling out r93987, r93992, r93995, r93998, and
415         r93999.
416         http://trac.webkit.org/changeset/93987
417         http://trac.webkit.org/changeset/93992
418         http://trac.webkit.org/changeset/93995
419         http://trac.webkit.org/changeset/93998
420         http://trac.webkit.org/changeset/93999
421         https://bugs.webkit.org/show_bug.cgi?id=67147
422
423         Many failing tests (Requested by ap on #webkit).
424
425         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
426         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
427         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
428         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
429         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
430         * WebProcess/InjectedBundle/InjectedBundle.cpp:
431         * WebProcess/InjectedBundle/InjectedBundle.h:
432         * WebProcess/win/WebProcessWin.cpp:
433         (WebKit::WebProcess::platformInitializeWebProcess):
434
435 2011-08-26  Martin Robinson  <mrobinson@igalia.com>
436
437         Reviewed by Xan Lopez.
438
439         [GTK] Build WebKit2 unconditionally
440         https://bugs.webkit.org/show_bug.cgi?id=62749
441
442         Build WebKit2 by default. This will make the bots build it and catch
443         build errors when they occur.
444
445         * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2
446         PC file, which should not be shipped until WebKit2 is actually shipped officially.
447
448 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
449
450         Windows build fix.
451
452         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
453         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
454         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
455         Updated for new function name and signature: currentCFHTTPCookieStorage().
456
457 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
458
459         DumpRenderTree should begin each test with an empty cookie store
460         https://bugs.webkit.org/show_bug.cgi?id=63545
461         <rdar://problem/5666907>
462
463         Reviewed by Darin Adler.
464
465         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
466         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
467
468         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
469         (WKBundleUsePrivateSessionForNetworkLoading):
470         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
471         * WebProcess/InjectedBundle/InjectedBundle.cpp:
472         (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading):
473         * WebProcess/InjectedBundle/InjectedBundle.h:
474         Exposed bundle SPI to use a private default session. It's separate from private browsing,
475         because some tests enable the latter, and we don't want to mix them up.
476
477 2011-08-29  Chris Marrin  <cmarrin@apple.com>
478
479         Fixed a build problem caused by http://trac.webkit.org/changeset/93980
480
481         Unreviewed.
482
483         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
484
485 2011-08-23  Chris Marrin  <cmarrin@apple.com>
486
487         [mac] requestAnimationFrame support for mac port
488         https://bugs.webkit.org/show_bug.cgi?id=59146
489
490         Reviewed by Simon Fraser.
491
492         Implement requestAnimationFrame for WebKit2. Add a
493         CFRunLoopObserver to WebPage, which runs just before
494         the syncCompositingState RLO and calls into the 
495         ScriptedAnimationController if scheduleAnimation() has
496         been called.
497
498         * Configurations/FeatureDefines.xcconfig:
499         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
500         (WebKit::WebChromeClient::scheduleAnimation):
501         * WebProcess/WebCoreSupport/WebChromeClient.h:
502         * WebProcess/WebPage/WebPage.cpp:
503         (WebKit::WebPage::WebPage):
504         (WebKit::WebPage::~WebPage):
505         * WebProcess/WebPage/WebPage.h:
506         * WebProcess/WebPage/mac/WebPageMac.mm:
507         (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback):
508         (WebKit::WebPage::scheduleAnimation):
509         (WebKit::WebPage::unscheduleAnimation):
510         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp:
511         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
512
513 2011-08-29  Pierre Rossi  <pierre.rossi@gmail.com>
514
515         [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2
516         https://bugs.webkit.org/show_bug.cgi?id=67123
517
518         We could simply use the defines already in place for this.
519
520         Reviewed by Andreas Kling.
521
522         * WebKit2.pro:
523
524 2011-08-29  Vamshikrishna Yellenki  <vamshi@motorola.com>
525
526         [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
527         https://bugs.webkit.org/show_bug.cgi?id=67111
528
529         Reviewed by Martin Robinson.
530
531         WebKit2 GTK build error.
532
533         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
534         Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
535         inclusion error.
536
537 2011-08-28  Balazs Kelemen  <kbalazs@webkit.org>
538
539         [Qt][WK2] Unreviewed build fix.
540
541         * UIProcess/qt/QtWebPageProxy.cpp:
542         (QtWebPageProxy::init): Initialize the WKPageUIClient with memset
543         to avoid missing initializer warning. The missing initializer is the
544         result of using a version 0 WKPageUIClient while it has newer version (1).
545         We have nothing to do with the callbacks in the new version so I voted
546         for memset.
547         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
548
549 2011-08-26  Sam Weinig  <sam@webkit.org>
550
551         Stop using custom NSErrors for WebKit2 WebErrors
552         https://bugs.webkit.org/show_bug.cgi?id=67075
553
554         Reviewed by Anders Carlsson.
555
556         * WebProcess/WebCoreSupport/WebErrors.h:
557         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
558         (WebKit::createNSError):
559         (WebKit::cancelledError):
560         (WebKit::fileDoesNotExistError):
561         (WebKit::blockedError):
562         (WebKit::cannotShowURLError):
563         (WebKit::interruptedForPolicyChangeError):
564         (WebKit::cannotShowMIMETypeError):
565         (WebKit::pluginWillHandleLoadError):
566         There is no reason to use custom registered NSErrors anymore, so don't.
567
568 2011-08-26  Anders Carlsson  <andersca@apple.com>
569
570         Fix build.
571
572         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
573
574 2011-08-26  Sam Weinig  <sam@webkit.org>
575
576         Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
577         https://bugs.webkit.org/show_bug.cgi?id=67063
578
579         Reviewed by Anders Carlsson.
580
581         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
582         (+[NSError _webkit_errorWithDomain:code:URL:]):
583
584 2011-08-26  Anders Carlsson  <andersca@apple.com>
585
586         Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
587         https://bugs.webkit.org/show_bug.cgi?id=67062
588
589         Reviewed by Sam Weinig.
590
591         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
592         (WebKit::NPN_ScheduleTimer):
593         Call NetscapePlugin::scheduleTimer.
594
595         (WebKit::NPN_UnscheduleTimer):
596         Call NetscapePlugin::unscheduleTimer.
597
598         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
599         (WebKit::NetscapePlugin::NetscapePlugin):
600         Initialize m_nextTimerID.
601
602         (WebKit::NetscapePlugin::Timer::start):
603         Start the timer.
604
605         (WebKit::NetscapePlugin::Timer::stop):
606         Stop the timer.
607
608         (WebKit::NetscapePlugin::Timer::timerFired):
609         Call the right callback and unschedule the timer object if it's not a repeating timer.
610
611         (WebKit::NetscapePlugin::scheduleTimer):
612         Create a new timer and start it.
613
614         (WebKit::NetscapePlugin::unscheduleTimer):
615         Get the timer from the map and destroy it.
616         
617         (WebKit::NetscapePlugin::destroy):
618         Destroy all timers.
619
620         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
621         Add Timer class.
622
623 2011-08-26  Sam Weinig  <sam@webkit.org>
624
625         Fix typo in Connection.cpp
626         https://bugs.webkit.org/show_bug.cgi?id=67060
627
628         Reviewed by Anders Carlsson.
629
630         * Platform/CoreIPC/Connection.cpp:
631         (CoreIPC::Connection::waitForSyncReply):
632         We want timedOut, not timeout.  There is not a current way to cause this
633         to be an issue. This issue was caught by the Clang Static Analyzer.
634
635 2011-08-26  Alice Liu  <alice.liu@apple.com>
636
637         https://bugs.webkit.org/show_bug.cgi?id=66823
638         Add the request info to the WebPageProxy::CreateNewPage message
639
640         Reviewed by Anders Carlsson.
641
642         Update function declarations with additional ResourceRequest parameter:
643         * UIProcess/API/C/WKPage.h:
644         * UIProcess/WebPageProxy.cpp:
645         (WebKit::WebPageProxy::createNewPage):
646         * UIProcess/WebPageProxy.h:
647         * UIProcess/WebPageProxy.messages.in:
648         * UIProcess/WebUIClient.cpp:
649         (WebKit::WebUIClient::createNewPage):
650         * UIProcess/WebUIClient.h:
651
652         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
653         (WebKit::WebChromeClient::createWindow): 
654         Pass the ResourceRequest within the FrameLoadRequest.
655
656 2011-08-26  Alexis Menard  <alexis.menard@openbossa.org>
657
658         [Qt][WK2]REGRESSION(r93784): It made many tests crash
659         https://bugs.webkit.org/show_bug.cgi?id=66958
660
661         Reviewed by Anders Carlsson.
662
663         Don't try to make sure the WebContext is deleted, for now the leak
664         is intended and when multiple processes per context will be supported
665         this leak should be fixed. This was the cause of DRT crashing on the bot,
666         the context was deleted after the first test, letting other tests with nothing
667         but a bad context.
668
669         * UIProcess/qt/QtWebPageProxy.cpp:
670         (QtWebPageProxy::~QtWebPageProxy):
671
672 2011-08-26  Anders Carlsson  <andersca@apple.com>
673
674         Fix handling of keyup events in the new Cocoa text input model
675         https://bugs.webkit.org/show_bug.cgi?id=67045
676
677         Reviewed by Sam Weinig.
678
679         Use a counter instead of a boolean for deciding when to ignore keyup events, because
680         if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row.
681
682         Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
683         in that case.
684
685         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
686         (WebKit::NetscapePlugin::NetscapePlugin):
687         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
688         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
689         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
690
691 2011-08-26  Jessie Berlin  <jberlin@apple.com>
692
693         Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
694         https://bugs.webkit.org/show_bug.cgi?id=66979.
695
696         Removing the function altogether would break the nightlies.
697         This patch removes the code behind it so that it is clear that
698         WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just
699         left rotting in the tree.
700
701         Reviewed by Brian Weinstein.
702
703         * UIProcess/API/C/WKPage.cpp:
704         (WKPageCreateSnapshotOfVisibleContent):
705         Return 0.
706         * UIProcess/API/C/WKPagePrivate.h:
707         Update the comment and add a link to the bug.
708
709         * UIProcess/WebPageProxy.cpp:
710         * UIProcess/WebPageProxy.h:
711
712         * WebProcess/WebPage/WebPage.cpp:
713         * WebProcess/WebPage/WebPage.h:
714         * WebProcess/WebPage/WebPage.messages.in:
715
716 2011-08-25  Anders Carlsson  <andersca@apple.com>
717
718         kNPEventStartIME doesn't work correctly for NPAPI
719         https://bugs.webkit.org/show_bug.cgi?id=65264
720         <rdar://problem/9996476>
721
722         Reviewed by Sam Weinig.
723
724         In order to remain compatible with older plug-ins, the updated input model won't
725         be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do
726         this before any keyboard events have been processed.
727
728         * PluginProcess/mac/PluginControllerProxyMac.mm:
729         (WebKit::PluginControllerProxy::setComplexTextInputState):
730         Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want
731         the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent
732         synchronous message.
733
734         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
735         (WebKit::NPN_GetValue):
736         Implement the logic for when to turn off the legacy Cocoa text input model support.
737
738         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
739         (WebKit::NetscapePlugin::NetscapePlugin):
740         Initialize m_ignoreNextKeyUpEvent to false.
741
742         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
743         Add m_ignoreNextKeyUpEvent member variable.
744
745         (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
746         Add a getter.
747
748         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
749         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
750         Don't send keydown and keyup events when complex text input is enabled in the updated model.
751
752 2011-08-25  Anders Carlsson  <andersca@apple.com>
753
754         Correctly handle events in the updated Cocoa text input model
755         https://bugs.webkit.org/show_bug.cgi?id=67005
756
757         Reviewed by Sam Weinig.
758
759         * UIProcess/API/mac/WKTextInputWindowController.mm:
760         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
761         When using the updated model, always return a string even for 'simple' characters.
762
763         * UIProcess/API/mac/WKView.mm:
764         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
765         Only let the input method have a crack at the event in the legacy model.
766
767 2011-08-25  Jeff Miller  <jeffm@apple.com>
768
769         Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
770         https://bugs.webkit.org/show_bug.cgi?id=67002
771
772         Reviewed by Brian Weinstein.
773
774         * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
775         
776         * UIProcess/win/WebPageProxyWin.cpp:
777         (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp.
778         (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp.
779         (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp.
780         (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp.
781         (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp.
782         (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp.
783         (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp.
784         (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp.
785         (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp.
786         (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp.
787
788 2011-08-25  Anders Carlsson  <andersca@apple.com>
789
790         Handle key-down events in the updated Cocoa text input model
791         https://bugs.webkit.org/show_bug.cgi?id=67001
792
793         Reviewed by Sam Weinig.
794
795         * UIProcess/API/mac/WKView.mm:
796         (-[WKView performKeyEquivalent:]):
797         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
798         input has been disabled.
799
800         (-[WKView _disableComplexTextInputIfNecessary]):
801         If the plug-in is using the updated Cocoa text input model specification, disable text input
802         if the text input window has been dismissed for whatever reason.
803
804         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
805         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
806         input has been disabled.
807         
808         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
809         If the plug-in is using the updated Cocoa text input model specification, let the input methods
810         have a go at the keyboard event.
811
812         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
813         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
814         Actually set m_isComplexTextInputEnabled to the right value.
815
816 2011-08-25  Anders Carlsson  <andersca@apple.com>
817
818         Factor code to send a key-down event to the plug-in out into a new function
819         https://bugs.webkit.org/show_bug.cgi?id=66999
820
821         Reviewed by Darin Adler.
822
823         * UIProcess/API/mac/WKView.mm:
824         (-[WKView _handlePluginComplexTextInputKeyDown:]):
825         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
826
827 2011-08-25  Anders Carlsson  <andersca@apple.com>
828
829         WKView should keep track of the plug-in complex text input state
830         https://bugs.webkit.org/show_bug.cgi?id=66990
831
832         Reviewed by Sam Weinig.
833
834         * UIProcess/API/mac/WKView.mm:
835         Add a _pluginComplexTextInputState ivar to WKViewData.
836
837         (-[WKView _setPluginComplexTextInputState:]):
838         Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
839
840         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
841         Call -[WKView _setPluginComplexTextInputState:].
842
843 2011-08-25  Anders Carlsson  <andersca@apple.com>
844
845         Move file internal methods to a class continuation in WKView
846         https://bugs.webkit.org/show_bug.cgi?id=66983
847
848         Reviewed by Dan Bernstein.
849
850         * UIProcess/API/mac/WKView.mm:
851         (-[WKView _deviceScaleFactor]):
852         (-[WKView _setDrawingAreaSize:]):
853
854 2011-08-25  Anders Carlsson  <andersca@apple.com>
855
856         More work on the updated Cocoa text input specification
857         https://bugs.webkit.org/show_bug.cgi?id=66977
858
859         Reviewed by Sam Weinig.
860
861         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
862         (WebKit::NetscapePlugin::NetscapePlugin):
863         Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
864
865         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
866         Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
867         
868         (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
869         Add setter. Not called yet.
870
871         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
872         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
873         Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
874
875         (WebKit::NetscapePlugin::sendComplexTextInput):
876         If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
877
878         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
879         If the plug-in is using the updated Cocoa text input spec, text input is not enabled when
880         the plug-in is focused.
881
882         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
883         Set the right text input state based on whether the plug-in is using the updated spec or not.
884
885 2011-08-25  Anders Carlsson  <andersca@apple.com>
886
887         Return the correct value for NPNVsupportsCarbonBool
888         https://bugs.webkit.org/show_bug.cgi?id=66964
889
890         Reviewed by Adam Roben.
891
892         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
893         (WebKit::NPN_GetValue):
894         Remove a FIXME and set the value to true.
895
896 2011-08-25  Alexis Menard  <alexis.menard@openbossa.org>
897
898         [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed.
899         https://bugs.webkit.org/show_bug.cgi?id=66886
900
901         Reviewed by Benjamin Poulain.
902
903         Remove QWKContext class from Qt APIs as it is too low level for the vision
904         of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one
905         or default created one. This patch also ensure that the WebProcessProxy is correctly
906         destroyed at application exit by removing the circular references between the WebContext,
907         WebProcessProxy, and WebPageProxy.
908
909         * UIProcess/API/qt/qdesktopwebview.cpp:
910         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
911         * UIProcess/API/qt/qtouchwebview.cpp:
912         (QTouchWebViewPrivate::QTouchWebViewPrivate):
913         * UIProcess/qt/ClientImpl.cpp:
914         (qt_wk_setStatusText):
915         * UIProcess/qt/ClientImpl.h:
916         * UIProcess/qt/QtWebPageProxy.cpp:
917         (QtWebPageProxy::defaultWKContext):
918         (QtWebPageProxy::QtWebPageProxy):
919         (QtWebPageProxy::~QtWebPageProxy):
920         * UIProcess/qt/QtWebPageProxy.h:
921         * UIProcess/qt/qdesktopwebpageproxy.cpp:
922         (QDesktopWebPageProxy::QDesktopWebPageProxy):
923         * UIProcess/qt/qdesktopwebpageproxy.h:
924         * UIProcess/qt/qtouchwebpageproxy.cpp:
925         (QTouchWebPageProxy::QTouchWebPageProxy):
926         * UIProcess/qt/qtouchwebpageproxy.h:
927         * UIProcess/qt/qwkcontext.cpp: Removed.
928         * UIProcess/qt/qwkcontext.h: Removed.
929         * UIProcess/qt/qwkcontext_p.h: Removed.
930         * WebKit2.pro:
931
932 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
933
934         [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
935         https://bugs.webkit.org/show_bug.cgi?id=66771
936
937         Reviewed by Tor Arne Vestbø.
938
939         We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
940         rendered with the same layout. This also allows the web process to render tiles into
941         buffers readable directly by the GPU (on supported platforms). We also take the opportunity
942         to use the TiledBackingStore in WebCore to have only one tiling implementation.
943
944         Before this patch:
945         - TiledDrawingAreaProxy manages tiles from the UI process.
946         - TiledDrawingArea received rendering requests for a rect and returns the result
947           to the proxy through shared memory.
948
949         After this patch:
950         - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
951         - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
952         - TiledDrawingAreaProxy updates the scene graph directly from requests.
953
954         It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
955         Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
956         notify us when the last rendered frame is ready to make it to the screen.
957         TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
958
959         * UIProcess/API/qt/qtouchwebpage.cpp:
960         (QTouchWebPage::updatePaintNode):
961         * UIProcess/API/qt/qtouchwebview.cpp:
962         (QTouchWebViewPrivate::updateViewportState):
963         * UIProcess/DrawingAreaProxy.h:
964         (WebKit::DrawingAreaProxy::createTile):
965         (WebKit::DrawingAreaProxy::updateTile):
966         (WebKit::DrawingAreaProxy::didRenderFrame):
967         (WebKit::DrawingAreaProxy::removeTile):
968         * UIProcess/DrawingAreaProxy.messages.in:
969         * UIProcess/TiledDrawingAreaProxy.cpp:
970         (WebKit::TiledDrawingAreaProxy::create):
971         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
972         (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
973         (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
974         (WebKit::TiledDrawingAreaProxy::setContentsScale):
975         (WebKit::TiledDrawingAreaProxy::renderNextFrame):
976         (WebKit::TiledDrawingAreaProxy::sizeDidChange):
977         (WebKit::TiledDrawingAreaProxy::paint):
978         * UIProcess/TiledDrawingAreaProxy.h:
979         * UIProcess/TiledDrawingAreaTile.h: Removed.
980         * UIProcess/qt/SGAgent.cpp:
981         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
982         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
983         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
984         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
985         (WebKit::SGAgent::SGAgent):
986         (WebKit::SGAgent::createTileNode):
987         (WebKit::SGAgent::removeTileNode):
988         (WebKit::SGAgent::setNodeBackBuffer):
989         (WebKit::SGAgent::swapTileBuffers):
990         (WebKit::SGAgent::updatePaintNode):
991         (WebKit::SGAgent::getScaleNode):
992         Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile).
993         Delete the scale node when the last of its child tiles has been removed.
994
995         * UIProcess/qt/SGAgent.h:
996         (WebKit::SGAgent::isSwapPending):
997
998         * UIProcess/qt/SGTileNode.cpp:
999         (WebKit::SGTileNode::SGTileNode):
1000         (WebKit::SGTileNode::setBackBuffer):
1001         (WebKit::SGTileNode::swapIfNeeded):
1002         Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method.
1003         This allows all those values to be used only when swapIfNeeded is called later.
1004
1005         * UIProcess/qt/SGTileNode.h:
1006         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
1007         (WebKit::TiledDrawingAreaProxy::createTile):
1008         (WebKit::TiledDrawingAreaProxy::updateTile):
1009         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
1010         (WebKit::TiledDrawingAreaProxy::removeTile):
1011         * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed.
1012         * UIProcess/qt/qtouchwebpageproxy.cpp:
1013         (QTouchWebPageProxy::renderNextFrame):
1014         * UIProcess/qt/qtouchwebpageproxy.h:
1015         * WebKit2.pro:
1016         * WebProcess/WebPage/DrawingArea.h:
1017         (WebKit::DrawingArea::setVisibleContentRect):
1018         (WebKit::DrawingArea::setContentsScale):
1019         (WebKit::DrawingArea::renderNextFrame):
1020         * WebProcess/WebPage/DrawingArea.messages.in:
1021         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added.
1022         (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile):
1023         (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile):
1024         (WebKit::TiledBackingStoreRemoteTile::isDirty):
1025         (WebKit::TiledBackingStoreRemoteTile::invalidate):
1026         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1027         (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront):
1028         (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint):
1029         (WebKit::TiledBackingStoreRemoteTile::paint):
1030         (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend):
1031         (WebKit::TiledBackingStoreRemoteTileBackend::createTile):
1032         (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern):
1033         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added.
1034         (WebKit::TiledBackingStoreRemoteTile::create):
1035         (WebKit::TiledBackingStoreRemoteTile::coordinate):
1036         (WebKit::TiledBackingStoreRemoteTile::rect):
1037         (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient):
1038         (WebKit::TiledBackingStoreRemoteTileBackend::create):
1039         * WebProcess/WebPage/TiledDrawingArea.cpp:
1040         (WebKit::TiledDrawingArea::TiledDrawingArea):
1041         (WebKit::TiledDrawingArea::setNeedsDisplay):
1042         (WebKit::TiledDrawingArea::setSize):
1043         (WebKit::TiledDrawingArea::setVisibleContentRect):
1044         (WebKit::TiledDrawingArea::setContentsScale):
1045         (WebKit::TiledDrawingArea::renderNextFrame):
1046         (WebKit::TiledDrawingArea::suspendPainting):
1047         (WebKit::TiledDrawingArea::resumePainting):
1048         (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin):
1049         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
1050         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
1051         (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed):
1052         (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect):
1053         (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect):
1054         (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor):
1055         (WebKit::TiledDrawingArea::createTile):
1056         (WebKit::TiledDrawingArea::updateTile):
1057         (WebKit::TiledDrawingArea::removeTile):
1058         * WebProcess/WebPage/TiledDrawingArea.h:
1059         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed.
1060
1061 2011-08-24  Michael Saboff  <msaboff@apple.com>
1062
1063         Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
1064         https://bugs.webkit.org/show_bug.cgi?id=66912
1065
1066         Updated the comment in ArgumentEncoder::grow to reflect that system malloc
1067         currently checks to see if a MADV_FREE_REUSABLE will fail before calling it.
1068
1069         Reviewed by Mark Rowe.
1070
1071         * Platform/CoreIPC/ArgumentEncoder.cpp:
1072         (CoreIPC::ArgumentEncoder::grow):
1073
1074 2011-08-24  Anders Carlsson  <andersca@apple.com>
1075
1076         Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
1077         https://bugs.webkit.org/show_bug.cgi?id=66883
1078
1079         Reviewed by Beth Dakin.
1080
1081         * UIProcess/API/mac/WKTextInputWindowController.h:
1082         * UIProcess/API/mac/WKTextInputWindowController.mm:
1083         (-[WKTextInputPanel _unmarkText]):
1084         (-[WKTextInputWindowController unmarkText]):
1085         * UIProcess/API/mac/WKView.mm:
1086         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
1087
1088 2011-08-24  Oliver Hunt  <oliver@apple.com>
1089
1090         JSNPObject and JSNPMethod create their structure in their constructors
1091         https://bugs.webkit.org/show_bug.cgi?id=66879
1092
1093         Reviewed by Anders Carlsson.
1094
1095         It's not safe to create the Structure for an object inside its constructor
1096         so we hoist construction out into their ::create methods and move the methods
1097         into the cpp file.
1098
1099         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1100         (WebKit::JSNPMethod::JSNPMethod):
1101         (WebKit::JSNPMethod::create):
1102         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1103         (WebKit::JSNPMethod::create):
1104         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1105         (WebKit::JSNPObject::JSNPObject):
1106         (WebKit::JSNPObject::create):
1107         * WebProcess/Plugins/Netscape/JSNPObject.h:
1108         (WebKit::JSNPObject::create):
1109
1110 2011-08-24  Anders Carlsson  <andersca@apple.com>
1111
1112         More plug-in complex text input scaffolding
1113         https://bugs.webkit.org/show_bug.cgi?id=66865
1114
1115         Reviewed by Sam Weinig.
1116
1117         Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
1118         add methods for handling plug-in text input key-down events.
1119
1120         * UIProcess/API/mac/PageClientImpl.mm:
1121         (WebKit::PageClientImpl::doneWithKeyEvent):
1122         * UIProcess/API/mac/WKView.mm:
1123         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
1124         (-[WKView keyDown:]):
1125         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
1126         (-[WKView _doneWithKeyEvent:eventWasHandled:]):
1127         * UIProcess/API/mac/WKViewInternal.h:
1128
1129 2011-08-24  Amruth Raj  <amruthraj@motorola.com>
1130
1131         [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
1132         https://bugs.webkit.org/show_bug.cgi?id=66640
1133
1134         Reviewed by Martin Robinson.
1135
1136         The crash happens when a new timer is created in an existing timer callback. Since 
1137         TimerBase has a single GSource* it gets overridden and the old timer can never get
1138         stopped. To handle this, keep a copy of the old timer and use it for destruction.
1139
1140         * Platform/RunLoop.h:
1141         * Platform/gtk/RunLoopGtk.cpp:
1142         (RunLoop::TimerBase::timerFiredCallback):
1143         Store the timerSource so that even if it is modified by the timer callback,
1144         it can be restored for freeing it.
1145         (RunLoop::TimerBase::start):
1146         Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself.
1147
1148 2011-08-23  Anders Carlsson  <andersca@apple.com>
1149
1150         Prepare WKTextInputWindowController for the new text input model
1151         https://bugs.webkit.org/show_bug.cgi?id=66826
1152
1153         Reviewed by Sam Weinig.
1154
1155         Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
1156         additional usingLegacyCocoaTextInput flag. No functionality change.
1157
1158         * UIProcess/API/mac/WKTextInputWindowController.h:
1159         * UIProcess/API/mac/WKTextInputWindowController.mm:
1160         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
1161         (-[WKTextInputPanel _hasMarkedText]):
1162         (-[WKTextInputWindowController hasMarkedText]):
1163         (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
1164         * UIProcess/API/mac/WKView.mm:
1165         (-[WKView keyDown:]):
1166
1167 2011-08-23  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1168
1169         [Qt] Unnecessary folders in WebKit2.
1170         https://bugs.webkit.org/show_bug.cgi?id=66583
1171
1172         Reviewed by Benjamin Poulain.
1173
1174         Remove empty autotest folders that were left over from QGraphicsWKView times.
1175
1176         * UIProcess/API/qt/tests/qgraphicswkview: Removed.
1177         * UIProcess/API/qt/tests/qwkhistory: Removed.
1178         * UIProcess/API/qt/tests/qwkpage: Removed.
1179
1180 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1181
1182         [Qt][WK2] Fix an awful memory leak introduced in r92376.
1183         https://bugs.webkit.org/show_bug.cgi?id=65528
1184
1185         Reviewed by Benjamin Poulain.
1186
1187         The non-virtual destructor would create a leak of the tile update buffer because
1188         the NodeUpdateSetTexture's QImage member destructor wouldn't be called.
1189
1190         * UIProcess/qt/SGAgent.h:
1191         (WebKit::NodeUpdate::~NodeUpdate):
1192
1193 2011-08-23  Steve Block  <steveblock@google.com>
1194
1195         Remove all mention of removed Android files from build scripts
1196         https://bugs.webkit.org/show_bug.cgi?id=66755
1197
1198         Reviewed by Tony Gentilcore.
1199
1200         * Scripts/generate-forwarding-headers.pl:
1201
1202 2011-08-23  Benjamin Poulain  <benjamin@webkit.org>
1203
1204         [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually
1205         https://bugs.webkit.org/show_bug.cgi?id=66672
1206
1207         Reviewed by Kenneth Rohde Christiansen.
1208
1209         Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries.
1210         This method is now used as the entry point for animations in order to avoid bugs regarding scale or position.
1211
1212         The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
1213
1214         * UIProcess/qt/ViewportInteractionEngine.cpp:
1215         (WebKit::ViewportInteractionEngine::panGestureEnded):
1216         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
1217         (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
1218         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
1219         (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
1220         * UIProcess/qt/ViewportInteractionEngine.h:
1221
1222 2011-08-22  Oliver Hunt  <oliver@apple.com>
1223
1224         Delay GC triggered NP object destruction to the next runloop cycle
1225         https://bugs.webkit.org/show_bug.cgi?id=66717
1226
1227         Reviewed by Anders Carlsson.
1228
1229         Delay destruction of plugin objects caused by GC until the next
1230         runloop cycle so that they can execute JS in their finalizers.
1231         We do this using a zero delay timer coupled with a queue of
1232         objects to be finalised.
1233
1234         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1235         (WebKit::JSNPObject::releaseObject):
1236         * WebProcess/Plugins/Netscape/JSNPObject.h:
1237         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1238         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
1239         (WebKit::NPRuntimeObjectMap::invalidate):
1240         (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects):
1241         (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
1242         (WebKit::NPRuntimeObjectMap::finalize):
1243         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1244         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
1245         (WebKit::trySafeReleaseNPObject):
1246         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
1247
1248 2011-08-22  Anders Carlsson  <andersca@apple.com>
1249
1250         Move code from PageClientImpl::doneWithKeyEvent to WKView
1251         https://bugs.webkit.org/show_bug.cgi?id=66722
1252
1253         Reviewed by Darin Adler.
1254
1255         * UIProcess/API/mac/PageClientImpl.mm:
1256         (WebKit::PageClientImpl::doneWithKeyEvent):
1257         * UIProcess/API/mac/WKView.mm:
1258         (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]):
1259         * UIProcess/API/mac/WKViewInternal.h:
1260
1261 2011-08-22  Anders Carlsson  <andersca@apple.com>
1262
1263         Update the text input context when the plug-in focus changes and not when the complex text input state changes
1264         https://bugs.webkit.org/show_bug.cgi?id=66716
1265
1266         Reviewed by Darin Adler.
1267
1268         * UIProcess/API/mac/WKView.mm:
1269         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
1270         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
1271
1272 2011-08-22  Michael Saboff  <msaboff@apple.com>
1273
1274         REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
1275         https://bugs.webkit.org/show_bug.cgi?id=66464
1276
1277         Changed ArgumentEncoder to use system malloc instead of fastMalloc.
1278         FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with
1279         mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY.
1280         The system malloc has no such limitation.
1281         Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it 
1282         doesn't have size limitations that MACH_MSG_PHYSICAL_COPY.
1283         
1284         Reviewed by Anders Carlsson.
1285
1286         * Platform/CoreIPC/ArgumentEncoder.cpp:
1287         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1288         (CoreIPC::ArgumentEncoder::grow):
1289         * Platform/CoreIPC/mac/ConnectionMac.cpp:
1290         (CoreIPC::Connection::sendOutgoingMessage):
1291
1292 2011-08-22  Anders Carlsson  <andersca@apple.com>
1293
1294         Use -[NSApplication updateWindows] to update the current input context
1295         https://bugs.webkit.org/show_bug.cgi?id=66715
1296
1297         Reviewed by Alexey Proskuryakov.
1298
1299         * UIProcess/API/mac/WKView.mm:
1300         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
1301
1302 2011-08-22  Anders Carlsson  <andersca@apple.com>
1303
1304         The UI process should keep track of whether a plug-in has focus or not
1305         https://bugs.webkit.org/show_bug.cgi?id=66712
1306
1307         Reviewed by Darin Adler.
1308
1309         This is in preparation for implementing the updated Cocoa text input model.
1310
1311         Pipe through whether a plug-in and its containing window has focus or not, from the
1312         plug-in process and all the way to the UI process.
1313
1314         * PluginProcess/PluginControllerProxy.h:
1315         * PluginProcess/mac/PluginControllerProxyMac.mm:
1316         (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged):
1317         * UIProcess/API/mac/PageClientImpl.h:
1318         * UIProcess/API/mac/PageClientImpl.mm:
1319         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
1320         * UIProcess/API/mac/WKView.mm:
1321         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
1322         * UIProcess/API/mac/WKViewInternal.h:
1323         * UIProcess/PageClient.h:
1324         * UIProcess/WebPageProxy.h:
1325         * UIProcess/WebPageProxy.messages.in:
1326         * UIProcess/mac/WebPageProxyMac.mm:
1327         (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
1328         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1329         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1330         (WebKit::NetscapePlugin::platformSetFocus):
1331         (WebKit::NetscapePlugin::windowFocusChanged):
1332         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
1333         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
1334         (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged):
1335         * WebProcess/Plugins/PluginController.h:
1336         * WebProcess/Plugins/PluginProxy.h:
1337         * WebProcess/Plugins/PluginProxy.messages.in:
1338         * WebProcess/Plugins/PluginView.cpp:
1339         (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
1340         * WebProcess/Plugins/PluginView.h:
1341
1342 2011-08-22  Anders Carlsson  <andersca@apple.com>
1343
1344         Update the current NSTextInputContext whenever the plug-in complex text input state changes
1345         https://bugs.webkit.org/show_bug.cgi?id=66709
1346
1347         Reviewed by Sam Weinig.
1348
1349         Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input
1350         context. Fixes a rare case when the out-of-line editing window wouldn't appear.
1351
1352         * UIProcess/API/mac/WKView.mm:
1353         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
1354
1355 2011-08-19  Anders Carlsson  <andersca@apple.com>
1356
1357         Another attempt at fixing the Windows build.
1358
1359         * UIProcess/PageClient.h:
1360
1361 2011-08-19  Anders Carlsson  <andersca@apple.com>
1362
1363         Fix Windows build.
1364
1365         * WebProcess/Plugins/PluginController.h:
1366
1367 2011-08-19  Anders Carlsson  <andersca@apple.com>
1368
1369         Make the complex text input state a tri-state enum instead of a boolean
1370         https://bugs.webkit.org/show_bug.cgi?id=62245
1371
1372         Reviewed by Sam Weinig.
1373
1374         This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
1375
1376         * PluginProcess/PluginControllerProxy.cpp:
1377         * PluginProcess/PluginControllerProxy.h:
1378         * PluginProcess/mac/PluginControllerProxyMac.mm:
1379         (WebKit::PluginControllerProxy::setComplexTextInputState):
1380         (WebKit::PluginControllerProxy::compositingRenderServerPort):
1381         * Shared/Plugins/mac: Added.
1382         * Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
1383         (WebKit::isValidPluginComplexTextInputState):
1384         * UIProcess/API/mac/PageClientImpl.h:
1385         * UIProcess/API/mac/PageClientImpl.mm:
1386         (WebKit::PageClientImpl::setPluginComplexTextInputState):
1387         * UIProcess/API/mac/WKView.mm:
1388         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
1389         * UIProcess/API/mac/WKViewInternal.h:
1390         * UIProcess/PageClient.h:
1391         * UIProcess/WebPageProxy.h:
1392         * UIProcess/WebPageProxy.messages.in:
1393         * UIProcess/mac/WebPageProxyMac.mm:
1394         (WebKit::WebPageProxy::setPluginComplexTextInputState):
1395         * WebKit2.xcodeproj/project.pbxproj:
1396         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1397         (WebKit::NetscapePlugin::NetscapePlugin):
1398         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1399         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1400         (WebKit::NetscapePlugin::platformSetFocus):
1401         (WebKit::NetscapePlugin::windowFocusChanged):
1402         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
1403         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
1404         (WebKit::PluginProxy::setComplexTextInputState):
1405         * WebProcess/Plugins/PluginController.h:
1406         * WebProcess/Plugins/PluginProxy.cpp:
1407         * WebProcess/Plugins/PluginProxy.h:
1408         * WebProcess/Plugins/PluginProxy.messages.in:
1409         * WebProcess/Plugins/PluginView.cpp:
1410         (WebKit::PluginView::~PluginView):
1411         (WebKit::PluginView::setComplexTextInputState):
1412         (WebKit::PluginView::compositingRenderServerPort):
1413         * WebProcess/Plugins/PluginView.h:
1414
1415 2011-08-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1416
1417         [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
1418         https://bugs.webkit.org/show_bug.cgi?id=65920
1419
1420         Reviewed by Benjamin Poulain.
1421
1422         This patch makes QDesktopWebView delegate the decision of whether a navigation
1423         should proceed to a slot in QML. The user of the DesktopWebView must implement a
1424         'navigationPolicyForUrl()' if it wants to use the feature.
1425
1426         Such feature is useful for implementing opening links in "new tab" by using a
1427         specific mouse button or mouse button plus keyboard modifiers.
1428
1429         The patch introduces a internal Qt-level interface called PolicyInterface, that
1430         is used by QtWebPageProxy to delegate policy calls. A concrete implementation is
1431         provided for QDesktopWebView.
1432
1433         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1434         (CoreIPC::::encode):
1435         (CoreIPC::::decode):
1436         Implement the serialization of the Request URL, which is the only data
1437         we exposing from the Request.
1438
1439         * WebKit2.pro:
1440         * UIProcess/qt/PolicyInterface.h: Added.
1441         * UIProcess/qt/QtWebPageProxy.cpp:
1442         (QtWebPageProxy::QtWebPageProxy):
1443         (QtWebPageProxy::init):
1444         * UIProcess/qt/QtWebPageProxy.h:
1445         Register a Policy Client in the WK2 C API only if there's a PolicyInterface available.
1446
1447         * UIProcess/qt/ClientImpl.h:
1448         * UIProcess/qt/ClientImpl.cpp:
1449         (toPolicyInterface):
1450         (toQtMouseButton):
1451         (toQtKeyboardModifiers):
1452         (qt_wk_decidePolicyForNavigationAction):
1453         Implement the callback for the Page Policy Client. It will translate the
1454         arguments to Qt jargon and call PolicyInterface.
1455
1456         * UIProcess/qt/qdesktopwebpageproxy.cpp:
1457         (QDesktopWebPageProxy::QDesktopWebPageProxy):
1458         * UIProcess/API/qt/qdesktopwebview.h:
1459         * UIProcess/API/qt/qdesktopwebview_p.h:
1460         * UIProcess/API/qt/qdesktopwebview.cpp:
1461         (toPolicyAction):
1462         (hasMetaMethod):
1463         (QDesktopWebViewPrivate::navigationPolicyForURL):
1464         The concrete implementation for QDesktopWebView. Its private object implements
1465         the PolicyInterface and try to call a possible function defined in QML (so return
1466         value and arguments all QVariants). If there's no such a function, returns the
1467         default UsePolicy, like if we haven't registered a PolicyClient in WK2 C API.
1468
1469         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: Added.
1470         * UIProcess/API/qt/tests/qmltests/common/test2.html: Added.
1471         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1472         Add a test for DesktopWebView QML element making use of a button and a modifier to
1473         ignore a navigation.
1474
1475         * UIProcess/qt/qtouchwebpageproxy.cpp:
1476         (QTouchWebPageProxy::QTouchWebPageProxy):
1477         For now, we don't have a PolicyInterface for QTouchWebView.
1478
1479 2011-08-18  Anders Carlsson  <andersca@apple.com>
1480
1481         WebProcess crashes during startup if libdispatch is initialized by WebProcessShim.dylib
1482         https://bugs.webkit.org/show_bug.cgi?id=66508
1483         <rdar://problem/9828476>
1484
1485         Reviewed by Mark Rowe.
1486
1487         * mac/MainMac.cpp:
1488         (closeUnusedFileDescriptors):
1489         Check if a file descriptor is a kqueue and don't close it if that is the case. While this
1490         isn't a complete fix, (it won't work if other initializers end up creating non-kqueue file descriptors)
1491         it's good enough for Snow Leopard. For Lion, we should use the new posix_spawn API that lets you whitelist
1492         file descriptors from the parent process.
1493
1494 2011-08-19  Benjamin Poulain  <benjamin@webkit.org>
1495
1496         [Qt][WK2] Add a basic engine to control the content of the viewport
1497         https://bugs.webkit.org/show_bug.cgi?id=66383
1498
1499         Reviewed by Andreas Kling.
1500
1501         Add ViewportInteractionEngine to handle the content of the viewport. The class make
1502         sure the QTouchWebPage stays in the viewport and in the boundaries.
1503
1504         * UIProcess/API/qt/qdesktopwebview.cpp:
1505         (QDesktopWebViewPrivate::loadDidCommit):
1506         * UIProcess/API/qt/qdesktopwebview_p.h:
1507         * UIProcess/API/qt/qtouchwebpage.cpp:
1508         (QTouchWebPage::QTouchWebPage): Set the transform origin to the top left so
1509         we can asume the position 0, 0 is always the top left of the page.
1510         (QTouchWebPagePrivate::_q_commitScaleChange): Make commitScaleChange a slot
1511         in order to completely decouple the ViewportInteractionEngine and the WebKit classes.
1512         * UIProcess/API/qt/qtouchwebpage.h:
1513         * UIProcess/API/qt/qtouchwebpage_p.h:
1514         * UIProcess/API/qt/qtouchwebview.cpp:
1515         (QTouchWebViewPrivate::QTouchWebViewPrivate):
1516         (QTouchWebViewPrivate::loadDidCommit):
1517         (QTouchWebViewPrivate::_q_viewportRectUpdated): Make _q_viewportRectUpdated() a slot
1518         for reducing coupling.
1519         (QTouchWebViewPrivate::updateViewportConstraints):
1520         (QTouchWebViewPrivate::setViewportArguments):
1521         (QTouchWebView::geometryChanged):
1522         * UIProcess/API/qt/qtouchwebview.h:
1523         * UIProcess/API/qt/qtouchwebview_p.h:
1524         * UIProcess/qt/ClientImpl.cpp:
1525         (qt_wk_didCommitLoadForFrame):
1526         * UIProcess/qt/QtGestureRecognizer.cpp:
1527         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
1528         * UIProcess/qt/QtGestureRecognizer.h: Change the gesture recognizer to talk directly
1529         to the ViewportInteractionEngine instead of interacting through TouchViewInterface.
1530         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1531         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
1532         (WebKit::QtPanGestureRecognizer::recognize):
1533         * UIProcess/qt/QtPanGestureRecognizer.h:
1534         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
1535         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
1536         (WebKit::QtPinchGestureRecognizer::recognize):
1537         * UIProcess/qt/QtPinchGestureRecognizer.h:
1538         * UIProcess/qt/QtWebPageProxy.cpp:
1539         (QtWebPageProxy::loadDidCommit): Add the loadCommited callback in order
1540         to reset the viewport state when the page change.
1541         * UIProcess/qt/QtWebPageProxy.h:
1542         * UIProcess/qt/TouchViewInterface.cpp:
1543         (WebKit::TouchViewInterface::TouchViewInterface):
1544         (WebKit::TouchViewInterface::contentSizeChanged):
1545         (WebKit::TouchViewInterface::loadDidCommit):
1546         * UIProcess/qt/TouchViewInterface.h:
1547         * UIProcess/qt/ViewInterface.h:
1548         * UIProcess/qt/ViewportInteractionEngine.cpp: Added.
1549         (WebKit::visibleRectInContentCoordinate):
1550         (WebKit::contentRectInViewportCoordinate):
1551         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
1552         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
1553         (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
1554         (WebKit::ViewportInteractionEngine::reset):
1555         (WebKit::ViewportInteractionEngine::setConstraints):
1556         (WebKit::ViewportInteractionEngine::panGestureStarted):
1557         (WebKit::ViewportInteractionEngine::panGestureRequestScroll):
1558         (WebKit::ViewportInteractionEngine::panGestureCancelled):
1559         (WebKit::ViewportInteractionEngine::panGestureEnded):
1560         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
1561         (WebKit::ViewportInteractionEngine::pinchGestureRequestUpdate):
1562         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
1563         (WebKit::ViewportInteractionEngine::contentGeometryChanged):
1564         (WebKit::ViewportInteractionEngine::contentScaleChanged):
1565         (WebKit::ViewportInteractionEngine::updateContentIfNeeded):
1566         (WebKit::ViewportInteractionEngine::updateContentScaleIfNeeded):
1567         (WebKit::ViewportInteractionEngine::updateContentPositionIfNeeded):
1568         (WebKit::ViewportInteractionEngine::animateContentPositionToBoundaries):
1569         (WebKit::ViewportInteractionEngine::animateContentScaleToBoundaries):
1570         (WebKit::ViewportInteractionEngine::scaleContent):
1571         * UIProcess/qt/ViewportInteractionEngine.h: Added.
1572         (WebKit::ViewportInteractionEngine::Constraints::Constraints):
1573         (WebKit::operator==):
1574         * UIProcess/qt/qtouchwebpageproxy.cpp:
1575         (QTouchWebPageProxy::QTouchWebPageProxy):
1576         * UIProcess/qt/qtouchwebpageproxy.h:
1577         * WebKit2.pro:
1578
1579 2011-08-19  Lars Knudsen  <lars.knudsen@nokia.com>
1580
1581         [Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
1582         https://bugs.webkit.org/show_bug.cgi?id=66549
1583
1584         Reviewed by Benjamin Poulain.
1585
1586         * UIProcess/qt/QtWebPageProxy.cpp:
1587         (QtWebPageProxy::paint):
1588         * UIProcess/qt/QtWebPageProxy.h:
1589
1590 2011-08-19  MORITA Hajime  <morrita@google.com>
1591
1592         Spell-checking against execCommand() inserted HTML doesn't care word boundary.
1593         https://bugs.webkit.org/show_bug.cgi?id=65902
1594
1595         Reviewed by Ryosuke Niwa.
1596         
1597         Add exports for window.internals object.
1598
1599         * win/WebKit2.def:
1600         * win/WebKit2CFLite.def:
1601
1602 2011-08-18  Beth Dakin  <bdakin@apple.com>
1603
1604         Reviewed by Sam Weinig.
1605
1606         https://bugs.webkit.org/show_bug.cgi?id=66495
1607         Lion-specific scroller SPIs can use forward declaration instead of 
1608         WebKitSystemInterface
1609
1610         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1611         (InitWebCoreSystemInterface):
1612
1613 2011-08-18  Darin Adler  <darin@apple.com>
1614
1615         Made some code even more private to a particular file and class
1616         https://bugs.webkit.org/show_bug.cgi?id=66428
1617
1618         Reviewed by Anders Carlsson.
1619
1620         * UIProcess/API/mac/WKView.mm:
1621         (-[WKView _setDrawingAreaSize:]): Made this file internal.
1622         * UIProcess/API/mac/WKViewInternal.h: Removed _setDrawingAreaSize.
1623         * UIProcess/DrawingAreaProxy.h: Made sizeDidChange private.
1624
1625 2011-08-18  Amruth Raj  <amruthraj@motorola.com>
1626
1627         [GTK] [WK2] Activating sub menus cause the WebProcess to crash
1628         https://bugs.webkit.org/show_bug.cgi?id=66471
1629
1630         Reviewed by Anders Carlsson.
1631
1632         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1633         (WebKit::WebContextMenuProxyGtk::createGtkMenu):
1634
1635 2011-08-18  Adam Roben  <aroben@apple.com>
1636
1637         Update the device scale factor when the WKView's window changes
1638
1639         Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
1640         WebView is moved between windows with different backing scale factors
1641
1642         Reviewed by Anders Carlsson.
1643
1644         * UIProcess/API/mac/WKView.mm:
1645         (-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
1646         window at all) might have a different backing scale factor than the previous one.
1647         (-[WKView _deviceScaleFactor]): Moved to the new FileInternal category.
1648
1649 2011-08-18  Adam Roben  <aroben@apple.com>
1650
1651         Make WebPageProxy keep track of the current device scale factor
1652
1653         The device scale factor is no longer considered part of WebPageProxy's "view state". It now
1654         has its own setter/getter. This made the code a little simpler and more similar to the page
1655         scale factor. Each port-specific WebKit2 view is now responsible for calling
1656         WebPageProxy::setDeviceScaleFactor whenever it thinks the device scale factor might have
1657         changed.
1658
1659         Fixes <http://webkit.org/b/66466> WebKit2 requires every port-specific view to keep track of
1660         the current device scale factor
1661
1662         Reviewed by Anders Carlsson.
1663
1664         * UIProcess/API/efl/PageClientImpl.cpp:
1665         * UIProcess/API/efl/PageClientImpl.h:
1666         * UIProcess/API/gtk/PageClientImpl.h:
1667         * UIProcess/API/mac/PageClientImpl.h:
1668         * UIProcess/API/mac/PageClientImpl.mm:
1669         * UIProcess/PageClient.h:
1670         * UIProcess/qt/QtWebPageProxy.h:
1671         * UIProcess/win/WebView.h:
1672         Removed deviceScaleFactor.
1673
1674         * UIProcess/API/mac/WKView.mm:
1675         (-[WKView _deviceScaleFactor]): Added. Code came from PageClientImpl::deviceScaleFactor.
1676         (-[WKView _windowDidChangeResolution:]): Changed to call WebPageProxy::setDeviceScaleFactor.
1677
1678         * UIProcess/WebPageProxy.cpp:
1679         (WebKit::WebPageProxy::WebPageProxy): Initialize m_deviceScaleFactor.
1680         (WebKit::WebPageProxy::viewStateDidChange): Removed device-scale-factor-related code.
1681         (WebKit::WebPageProxy::setDeviceScaleFactor): Added. Records the new device scale factor and
1682         tells the DrawingAreaProxy about it if it's actually changed.
1683         (WebKit::WebPageProxy::creationParameters): Use m_deviceScaleFactor instead of calling out
1684         to the PageClient.
1685
1686         * UIProcess/WebPageProxy.h: Added m_deviceScaleFactor and setDeviceScaleFactor, which
1687         replaces the DeviceScaleFactor ViewStateFlag.
1688         (WebKit::WebPageProxy::deviceScaleFactor): Inlined this now-simple getter.
1689
1690 2011-08-17  Adam Roben  <aroben@apple.com>
1691
1692         Make WebCore keep track of the current device scale factor
1693
1694         Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
1695         device scale factor
1696
1697         Reviewed by Darin Adler.
1698
1699         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1700         * WebProcess/WebCoreSupport/WebChromeClient.h:
1701         Removed deviceScaleFactor.
1702
1703         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1704         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
1705         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
1706         (WebKit::DrawingAreaImpl::display):
1707         * WebProcess/WebPage/FindController.cpp:
1708         (WebKit::FindController::updateFindIndicator):
1709         (WebKit::FindController::hideFindIndicator):
1710         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
1711         (WebKit::LayerTreeHostCA::deviceScaleFactor):
1712         Changed to get the device scale factor from WebCore.
1713
1714         * WebProcess/WebPage/WebPage.cpp:
1715         (WebKit::WebPage::WebPage):
1716         (WebKit::WebPage::setDeviceScaleFactor):
1717         * WebProcess/WebPage/WebPage.h:
1718         Removed m_deviceScaleFactor. We always get the scale factor from WebCore now.
1719
1720 2011-08-17  Anders Carlsson  <andersca@apple.com>
1721
1722         Remove unused Core Animation related classes
1723         https://bugs.webkit.org/show_bug.cgi?id=66393
1724
1725         Reviewed by Darin Adler.
1726
1727         * Shared/mac/CoreAnimationRenderer.h: Removed.
1728         * Shared/mac/CoreAnimationRenderer.mm: Removed.
1729         * Shared/mac/ShareableSurface.cpp: Removed.
1730         * Shared/mac/ShareableSurface.h: Removed.
1731         * WebKit2.xcodeproj/project.pbxproj:
1732
1733 2011-08-15  Dmitry Titov  <dimich@chromium.org>
1734
1735         FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
1736         https://bugs.webkit.org/show_bug.cgi?id=66165
1737
1738         Reviewed by Darin Fisher.
1739
1740         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1741         (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
1742         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1743
1744 2011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
1745
1746         [Qt][WK2] Unreviewed build fix after r93058.
1747
1748         * UIProcess/TiledDrawingAreaProxy.cpp:
1749         (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
1750         * UIProcess/TiledDrawingAreaProxy.h:
1751
1752 2011-08-15  Adam Roben  <aroben@apple.com>
1753
1754         Update pages' style and content scale when the window's backing scale factor changes
1755
1756         Unfortunately, I couldn't think of a way to test this in an automated fashion.
1757
1758         Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
1759         scale factor changes
1760
1761         Reviewed by Simon Fraser.
1762
1763         * UIProcess/API/mac/WKView.mm:
1764         (-[WKView addWindowObserversForWindow:]):
1765         (-[WKView removeWindowObservers]):
1766         Listen for the notification that tells us the window's backing scale has changed.
1767
1768         (-[WKView _windowDidChangeResolution:]): Tell the WebPageProxy about the change.
1769
1770         * UIProcess/DrawingAreaProxy.h:
1771         * UIProcess/DrawingAreaProxyImpl.h:
1772         Added deviceScaleFactorDidChange.
1773
1774         * UIProcess/DrawingAreaProxyImpl.cpp:
1775         (WebKit::DrawingAreaProxyImpl::deviceScaleFactorDidChange): Request a new backing store
1776         since the current one is using an old device scale factor.
1777         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Send the device scale factor
1778         along to the web process so it can render accordingly. This is how we tell the web process
1779         about device scale factor changes.
1780
1781         * UIProcess/WebPageProxy.cpp:
1782         (WebKit::WebPageProxy::viewStateDidChange): Tell the DrawingAreaProxy when the device scale
1783         factor changes.
1784         (WebKit::WebPageProxy::deviceScaleFactor): Added this simple getter that calls through to
1785         the PageClient. DrawingAreaProxy uses this function.
1786
1787         * UIProcess/WebPageProxy.h: Added new members.
1788
1789         * WebProcess/WebPage/DrawingArea.h:
1790         (WebKit::DrawingArea::updateBackingStoreState):
1791         * WebProcess/WebPage/DrawingArea.messages.in:
1792         * WebProcess/WebPage/DrawingAreaImpl.h:
1793         Send the device scale factor in the UpdateBackingStoreState message.
1794
1795         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1796         (WebKit::DrawingAreaImpl::updateBackingStoreState): Tell the WebPage and LayerTreeHost about
1797         the new device scale factor.
1798
1799         * WebProcess/WebPage/LayerTreeHost.h:
1800         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
1801         Added deviceScaleFactorDidChange.
1802
1803         * WebProcess/WebPage/WebPage.cpp:
1804         (WebKit::WebPage::setDeviceScaleFactor): Store the new scale factor and tell the page about
1805         it so that, e.g., scale-factor-dependent media queries will be reevaluated.
1806
1807         * WebProcess/WebPage/WebPage.h: Added setDeviceScaleFactor.
1808
1809         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
1810         (WebKit::LayerTreeHostCA::deviceScaleFactorDidChange): Tell the layer for non-composited
1811         content about the new scale factor.
1812
1813 2011-08-15  Benjamin Poulain  <benjamin@webkit.org>
1814
1815         [Qt][WK2] Get rid of QTouchWebPagePrivate::getPageViewPrivate()
1816         https://bugs.webkit.org/show_bug.cgi?id=66222
1817
1818         Reviewed by Kenneth Rohde Christiansen.
1819
1820         The function QTouchWebPagePrivate::getPageViewPrivate() exposed
1821         the private QTouchWebPage to any object in WebKit.
1822
1823         Instead, use the friend keyword to list which objects can access
1824         the internal of QTouchWebPage.
1825
1826         * UIProcess/API/qt/qtouchwebpage.h:
1827         * UIProcess/API/qt/qtouchwebpage_p.h:
1828         * UIProcess/API/qt/qtouchwebview.cpp:
1829         (QTouchWebViewPrivate::QTouchWebViewPrivate):
1830         (QTouchWebViewPrivate::viewportRectUpdated):
1831
1832 2011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
1833
1834         Unreviewed.
1835         Fix Qt-WK2 build after r93040.
1836
1837         * UIProcess/qt/QtWebPageProxy.h:
1838         (QtWebPageProxy::deviceScaleFactor):
1839
1840 2011-08-10  Adam Roben  <aroben@apple.com>
1841
1842         Clear up scale factor terminology
1843
1844         WebKit by and large deals with two scale factors: one intrinsic to the device on which the
1845         software is running, and one that is per-Page and can be controlled via API calls. This
1846         patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
1847         code use those names. It should introduce no behavior changes.
1848
1849         Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
1850         device scale factor
1851
1852         Reviewed by Simon Fraser.
1853
1854         * Shared/UpdateInfo.cpp:
1855         * Shared/UpdateInfo.h:
1856         * Shared/WebPageCreationParameters.cpp:
1857         * Shared/WebPageCreationParameters.h:
1858         * UIProcess/API/C/WKPage.cpp:
1859         * UIProcess/API/efl/PageClientImpl.cpp:
1860         * UIProcess/API/efl/PageClientImpl.h:
1861         * UIProcess/API/gtk/PageClientImpl.h:
1862         * UIProcess/API/mac/PageClientImpl.h:
1863         * UIProcess/API/mac/PageClientImpl.mm:
1864         * UIProcess/BackingStore.cpp:
1865         * UIProcess/BackingStore.h:
1866         * UIProcess/DrawingAreaProxyImpl.cpp:
1867         * UIProcess/PageClient.h:
1868         * UIProcess/WebPageProxy.cpp:
1869         * UIProcess/WebPageProxy.h:
1870         * UIProcess/WebPageProxy.messages.in:
1871         * UIProcess/WebPopupMenuProxy.h:
1872         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
1873         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
1874         * UIProcess/mac/BackingStoreMac.mm:
1875         * UIProcess/mac/WebPageProxyMac.mm:
1876         * UIProcess/mac/WebPopupMenuProxyMac.h:
1877         * UIProcess/mac/WebPopupMenuProxyMac.mm:
1878         * UIProcess/qt/WebPopupMenuProxyQt.h:
1879         * UIProcess/win/WebPopupMenuProxyWin.h:
1880         * UIProcess/win/WebView.h:
1881         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1882         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1883         * WebProcess/WebCoreSupport/WebChromeClient.h:
1884         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1885         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1886         * WebProcess/WebPage/FindController.cpp:
1887         * WebProcess/WebPage/WebPage.cpp:
1888         * WebProcess/WebPage/WebPage.h:
1889         * WebProcess/WebPage/WebPage.messages.in:
1890         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
1891         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
1892
1893 2011-08-13  Sam Weinig  <sam@webkit.org>
1894
1895         Remove unused variables from WKFullScreenWindowController.h
1896         https://bugs.webkit.org/show_bug.cgi?id=66193
1897
1898         Reviewed by Dan Bernstein.
1899
1900         * UIProcess/mac/WKFullScreenWindowController.h:
1901         Remove _layerViewPlaceholder, _isWindowLoaded and _initialFrame which were not used.
1902
1903 2011-08-12  Dan Bernstein  <mitz@apple.com>
1904
1905         <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
1906         https://bugs.webkit.org/show_bug.cgi?id=66178
1907
1908         Reviewed by Simon Fraser.
1909
1910         * Shared/WebPreferencesStore.h:
1911         * UIProcess/API/C/WKPreferences.cpp:
1912         (WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter.
1913         (WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter.
1914         * UIProcess/API/C/WKPreferencesPrivate.h:
1915         * WebProcess/WebPage/WebPage.cpp:
1916         (WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference.
1917
1918 2011-08-12  Mark Rowe  <mrowe@apple.com>
1919
1920         Be more forward-looking in the choice of compiler.
1921
1922         Rubber-stamped by Jon Honeycutt.
1923
1924         * Configurations/CompilerVersion.xcconfig:
1925
1926 2011-08-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1927
1928         VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements
1929         https://bugs.webkit.org/show_bug.cgi?id=66109
1930
1931         Reviewed by Anders Carlsson.
1932
1933         Multiply vector size by element size in encode/decode to get correct byte size of vector data.
1934
1935         * Platform/CoreIPC/ArgumentCoders.h:
1936
1937 2011-08-11  Nico Weber  <thakis@chromium.org>
1938
1939         Remove incorrect comment about m_wheelEventHandlerCount
1940         https://bugs.webkit.org/show_bug.cgi?id=66117
1941
1942         Reviewed by Simon Fraser.
1943
1944         From what I can tell, this number is changed only in
1945         Frame::notifyChromeClientWheelEventHandlerCountChanged(),
1946         and there it just reads the number modified in
1947         Document::didAdd/RemoveWheelEventHandler(). So this is just the number
1948         of event handlers (and not related to horizontal scrollbars), and the
1949         variable name expresses that already.
1950
1951         * UIProcess/WebPageProxy.h:
1952
1953 2011-08-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1954
1955         [Qt/WK2] Add initial support for viewport meta tag
1956         https://bugs.webkit.org/show_bug.cgi?id=65975
1957
1958         Reviewed by Benjamin Poulain.
1959
1960         Redirect the viewport arguments through to the view.
1961
1962         * UIProcess/API/qt/qdesktopwebview.cpp:
1963         (QDesktopWebViewPrivate::didReceiveViewportArguments):
1964         * UIProcess/API/qt/qdesktopwebview_p.h:
1965         * UIProcess/API/qt/qtouchwebview.cpp:
1966         (QTouchWebView::geometryChanged):
1967         * UIProcess/qt/QtWebPageProxy.cpp:
1968         (QtWebPageProxy::setViewportArguments):
1969         * UIProcess/qt/QtWebPageProxy.h:
1970         * UIProcess/qt/TouchViewInterface.cpp:
1971         (WebKit::TouchViewInterface::updateViewportState):
1972         (WebKit::TouchViewInterface::didReceiveViewportArguments):
1973         * UIProcess/qt/TouchViewInterface.h:
1974         (WebKit::TouchViewInterface::ViewportState::ViewportState):
1975         * UIProcess/qt/ViewInterface.h:
1976         * UIProcess/qt/qtouchwebpageproxy.cpp:
1977         (QTouchWebPageProxy::QTouchWebPageProxy):
1978         * UIProcess/qt/qtouchwebpageproxy.h:
1979
1980 2011-08-10  David Hyatt  <hyatt@apple.com>
1981
1982         https://bugs.webkit.org/show_bug.cgi?id=66004
1983
1984         Removing the CSS Regions and CSS Exclusions ifdefs.
1985
1986         Reviewed by Adam Roben.
1987
1988         * Configurations/FeatureDefines.xcconfig:
1989
1990 2011-08-10  Alexey Proskuryakov  <ap@apple.com>
1991
1992         Accidentally commented out an assertion in BackingStore::incorporateUpdate
1993         https://bugs.webkit.org/show_bug.cgi?id=65989
1994
1995         Reviewed by Anders Carlsson.
1996
1997         I couldn't get this assertion to fire in quick testing, let's bring it back.
1998
1999         * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate):
2000
2001 2011-08-10  Lars Knudsen  <lars.knudsen@nokia.com>
2002
2003         Add device specific settings to support viewport computing
2004         https://bugs.webkit.org/show_bug.cgi?id=65984
2005
2006         Reviewed by Kenneth Rohde Christiansen.
2007
2008         Expose new viewport related WebCore settings to WebKit2.
2009
2010         * Shared/WebPreferencesStore.h:
2011         * WebProcess/WebPage/WebPage.cpp:
2012         (WebKit::WebPage::updatePreferences):
2013
2014 2011-08-09  John Sullivan  <sullivan@apple.com>
2015
2016         WKPageCopyPendingAPIRequestURL returns stale result if policy decision set to Ignore
2017         https://bugs.webkit.org/show_bug.cgi?id=65950
2018         <rdar://problem/9925931>
2019
2020         Reviewed by Anders Carlsson.
2021
2022         * UIProcess/WebPageProxy.cpp:
2023         (WebKit::WebPageProxy::receivedPolicyDecision):
2024         Call clearPendingAPIRequestURL() if the policy decision is PolicyIgnore.
2025
2026 2011-08-09  Anders Carlsson  <andersca@apple.com>
2027
2028         Add a WebKit prefix to the user default.
2029
2030         Reviewed by Dan Bernstein.
2031
2032         * UIProcess/mac/WebContextMac.mm:
2033         (WebKit::WebContext::platformInitializeWebProcess):
2034
2035 2011-08-09  Anders Carlsson  <andersca@apple.com>
2036
2037         Add a user default to disable the plug-in process message timeout
2038         https://bugs.webkit.org/show_bug.cgi?id=65945
2039
2040         Reviewed by Adam Roben.
2041
2042         * Shared/WebProcessCreationParameters.cpp:
2043         (WebKit::WebProcessCreationParameters::encode):
2044         (WebKit::WebProcessCreationParameters::decode):
2045         * Shared/WebProcessCreationParameters.h:
2046         Add a disablePluginProcessMessageTimeout member variable.
2047
2048         * UIProcess/mac/WebContextMac.mm:
2049         (WebKit::WebContext::platformInitializeWebProcess):
2050         Initialize the disablePluginProcessMessageTimeout member variable from the 
2051         "DisablePluginProcessMessageTimeout" user default.
2052
2053         * WebProcess/Plugins/PluginProcessConnection.cpp:
2054         (WebKit::defaultSyncMessageTimeout):
2055         Return NoTimeout if WebProcess::disablePluginProcessMessageTimeout returns true.
2056
2057         * WebProcess/WebProcess.cpp:
2058         (WebKit::WebProcess::WebProcess):
2059         (WebKit::WebProcess::initializeWebProcess):
2060         Initialize m_disablePluginProcessMessageTimeout.
2061         
2062         * WebProcess/WebProcess.h:
2063         (WebKit::WebProcess::disablePluginProcessMessageTimeout):
2064         Add getter.
2065
2066 2011-08-09  Mark Hahnenberg  <mhahnenberg@apple.com>
2067
2068         Add ParentClass typedef in all JSC classes
2069         https://bugs.webkit.org/show_bug.cgi?id=65731
2070
2071         Reviewed by Oliver Hunt.
2072
2073         Just added the Base typedefs in all the classes that are a subclass of JSCell 
2074         to point at their parent classes.  This is a change to support future changes to the way
2075         constructors and destructors are implemented in JS objects, among other things.
2076
2077         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2078         * WebProcess/Plugins/Netscape/JSNPObject.h:
2079
2080 2011-08-08  Adrienne Walker  <enne@google.com>
2081
2082         Add testing for --force-compositing-mode to windows.internal
2083         https://bugs.webkit.org/show_bug.cgi?id=65777
2084
2085         Reviewed by Adam Barth.
2086
2087         Add exports for Document::settings().
2088
2089         * win/WebKit2.def:
2090         * win/WebKit2CFLite.def:
2091
2092 2011-08-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2093
2094         [Qt] Redirect didFindZoomableArea thru to the view
2095         https://bugs.webkit.org/show_bug.cgi?id=65913
2096
2097         Reviewed by Andreas Kling.
2098
2099         * UIProcess/API/qt/qdesktopwebview.cpp:
2100         (QDesktopWebViewPrivate::didFindZoomableArea):
2101         * UIProcess/API/qt/qdesktopwebview_p.h:
2102         * UIProcess/qt/QtWebPageProxy.cpp:
2103         (QtWebPageProxy::didFindZoomableArea):
2104         * UIProcess/qt/QtWebPageProxy.h:
2105         * UIProcess/qt/TouchViewInterface.cpp:
2106         (WebKit::TouchViewInterface::didFindZoomableArea):
2107         * UIProcess/qt/TouchViewInterface.h:
2108         * UIProcess/qt/ViewInterface.h:
2109         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2110         (QDesktopWebPageProxy::timerEvent):
2111         * UIProcess/qt/qdesktopwebpageproxy.h:
2112         * UIProcess/qt/qtouchwebpageproxy.cpp:
2113         (QTouchWebPageProxy::setContentsScale):
2114         * UIProcess/qt/qtouchwebpageproxy.h:
2115
2116 2011-08-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2117
2118         [Qt] Vastly improve the algorithm for finding a zoomable area when doing double-tap
2119         https://bugs.webkit.org/show_bug.cgi?id=65907
2120
2121         Reviewed by Andreas Kling.
2122
2123         This is upstreaming of the algorithm we are currently using on the N9 browser
2124         and this also fixes a bug with not considering the frame positions when finding
2125         a zoomable area.
2126
2127         * UIProcess/PageClient.h:
2128         * UIProcess/WebPageProxy.cpp:
2129         (WebKit::WebPageProxy::didFindZoomableArea):
2130         * UIProcess/WebPageProxy.h:
2131         * UIProcess/WebPageProxy.messages.in:
2132         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2133         (QDesktopWebPageProxy::didFindZoomableArea):
2134         * UIProcess/qt/qdesktopwebpageproxy.h:
2135         * UIProcess/qt/qtouchwebpageproxy.cpp:
2136         (QTouchWebPageProxy::didFindZoomableArea):
2137         * UIProcess/qt/qtouchwebpageproxy.h:
2138         * WebProcess/WebPage/WebPage.cpp:
2139         (WebKit::WebPage::findZoomableAreaForPoint):
2140
2141 2011-08-08  Chris Marrin  <cmarrin@apple.com>
2142
2143         Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
2144         https://bugs.webkit.org/show_bug.cgi?id=65708
2145
2146         Supply initial display rects for the full-screen case
2147
2148         Reviewed by Simon Fraser.
2149
2150         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
2151         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
2152         (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
2153         (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
2154
2155 2011-08-08  Dan Bernstein  <mitz@apple.com>
2156
2157         <rdar://problem/9652350> REGRESSION (r87755): WKView doesn't update when I drag files into a background Safari window
2158         https://bugs.webkit.org/show_bug.cgi?id=65860
2159
2160         Reviewed by Simon Fraser.
2161
2162         When layer flush scheduling is re-enabled, schedule a layer flush, just in case one was requested while
2163         scheduling was disabled. It doesn’t seem worthwhile to track whether that in fact happened, so do so
2164         unconditionally.
2165
2166         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2167         (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled):
2168         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
2169         (WebKit::LayerTreeHostCAWin::setLayerFlushSchedulingEnabled):
2170
2171 2011-08-05  Pavel Feldman  <pfeldman@chromium.org>
2172
2173         Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
2174         https://bugs.webkit.org/show_bug.cgi?id=65763
2175
2176         InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
2177         since in the multiprocess environment, you can't immediately get back to it from the host.
2178
2179         r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
2180         was asking itself a question. This loop was fixed.
2181
2182         Reviewed by Yury Semikhatsky.
2183
2184         * UIProcess/WebInspectorProxy.cpp:
2185         (WebKit::WebInspectorProxy::attach):
2186         (WebKit::WebInspectorProxy::createInspectorPage):
2187         (WebKit::WebInspectorProxy::didLoadInspectorPage):
2188         (WebKit::WebInspectorProxy::shouldOpenAttached):
2189         * UIProcess/WebInspectorProxy.h:
2190         * UIProcess/WebInspectorProxy.messages.in:
2191         * UIProcess/efl/WebInspectorEfl.cpp:
2192         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
2193         * UIProcess/gtk/WebInspectorGtk.cpp:
2194         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
2195         * UIProcess/mac/WebInspectorProxyMac.mm:
2196         (WebKit::WebInspectorProxy::platformOpen):
2197         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
2198         * UIProcess/qt/WebInspectorProxyQt.cpp:
2199         (WebKit::WebInspectorProxy::platformOpen):
2200         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
2201         * UIProcess/win/WebInspectorProxyWin.cpp:
2202         (WebKit::WebInspectorProxy::platformOpen):
2203         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
2204         * WebProcess/WebPage/WebInspector.cpp:
2205         (WebKit::WebInspector::didLoadInspectorPage):
2206         * WebProcess/WebPage/WebInspector.h:
2207         * WebProcess/WebPage/WebInspector.messages.in:
2208
2209 2011-08-07  Joseph Pecoraro  <joepeck@webkit.org>
2210
2211         [QT] Possible Leaks WKRetainPtr<> should Adopt allocated Copy
2212         https://bugs.webkit.org/show_bug.cgi?id=65790
2213
2214         Reviewed by Sam Weinig.
2215
2216         Fix a leak by adopting an allocation instead of retaining it.
2217
2218         * UIProcess/qt/qwkhistory.cpp:
2219         (QWKHistoryItem::title):
2220         (QWKHistoryItem::url):
2221
2222 2011-08-06  Mark Rowe  <mrowe@apple.com>
2223
2224         Fix a memory leak found via code inspection.
2225
2226         Rubber-stamped by Dan Bernstein.
2227
2228         * WebProcess/Downloads/mac/DownloadMac.mm:
2229         (WebKit::setOriginalURLForDownload): Adopt the newly-allocated NSURL instance
2230         so that it does not leak.
2231
2232 2011-08-06  Aron Rosenberg  <arosenberg@logitech.com>
2233
2234         Reviewed by Benjamin Poulain.
2235
2236         [Qt] Fix build with Intel compiler on Windows
2237         https://bugs.webkit.org/show_bug.cgi?id=65088
2238
2239         Intel compiler needs .lib suffixes instead of .a
2240
2241         * WebKit2.pri:
2242
2243 2011-08-05  Darin Adler  <darin@apple.com>
2244
2245         Reviewed by Anders Carlsson.
2246
2247         [WebKit2] Fix code paths that can leave frame view paint behavior in the wrong state
2248         https://bugs.webkit.org/show_bug.cgi?id=63779
2249
2250         * WebProcess/Plugins/PluginView.cpp:
2251         (WebKit::PluginView::handleEvent): Unrelated cleanup. Removed unneeded local variable.
2252
2253         * WebProcess/WebPage/WebPage.cpp:
2254         (WebKit::WebPage::snapshotInViewCoordinates): Rearranged code so that the call to
2255         setPaintBehavior is after the early exit. Also got rid of unneeded save/restore since
2256         the function uses a graphics context that it then throws away.
2257         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Ditto.
2258
2259 2011-08-04  Mark Rowe  <mrowe@apple.com>
2260
2261         Future-proof Xcode configuration settings.
2262
2263         * Configurations/Base.xcconfig:
2264         * Configurations/CompilerVersion.xcconfig:
2265         * Configurations/DebugRelease.xcconfig:
2266         * Configurations/Version.xcconfig:
2267         * Configurations/WebKit2.xcconfig:
2268
2269 2011-08-01  Brian Weinstein  <bweinstein@apple.com>
2270
2271         WebKit2: Web Inspector always starts in undocked mode
2272         https://bugs.webkit.org/show_bug.cgi?id=65493
2273         <rdar://problem/9353114>
2274         
2275         Reviewed by Adam Roben.
2276         
2277         When opening the inspector, the web process tells the UI process that the inspector page has loaded,
2278         but now will pass another bit of data, whether the inspector can start attached, so the UI process
2279         doesn't need to ask the web process to do another calculation on whether or not it can be attached.
2280         
2281         If the user prefers the inspector to start docked (this defaults to true), and there is room for the
2282         window, we send a message to the web process to try and attach the inspector. This makes sure that the
2283         inspector knows it is docked (in the web process).
2284         
2285         * UIProcess/WebInspectorProxy.cpp:
2286         (WebKit::WebInspectorProxy::attach): Update the user's docked/undocked preference if the inspector is visible
2287             when it was attached.
2288         (WebKit::WebInspectorProxy::detach): Ditto (but when it was detached).
2289         (WebKit::WebInspectorProxy::didLoadInspectorPage): If we can start docked, and the user prefers to start docked,
2290             then request the inspector be attached to the window.
2291         * UIProcess/WebInspectorProxy.h:
2292
2293         * UIProcess/mac/WebInspectorProxyMac.mm:
2294         (WebKit::WebInspectorProxy::platformOpen): Only show the window if we are going to start undocked.
2295         * UIProcess/win/WebInspectorProxyWin.cpp:
2296         (WebKit::WebInspectorProxy::platformOpen): Ditto.
2297
2298         * WebProcess/WebPage/WebInspector.cpp:
2299         (WebKit::WebInspector::didLoadInspectorPage): Pass whether or not we can attach the window.
2300         (WebKit::WebInspector::requestAttachWindow): Call through to the InspectorController to attach the inspector.
2301         (WebKit::WebInspector::canAttachWindow): Ask the InspectorController if we can attach the inspector.
2302         * WebProcess/WebPage/WebInspector.h:
2303
2304         * Shared/WebPreferencesStore.h: Add a new preference for whether or not the inspector should
2305             start attached.
2306
2307         * UIProcess/WebInspectorProxy.messages.in: When the inspector page is loaded, tell the UI Process whether
2308             we can attach the inspector without needing another message.
2309         * WebProcess/WebPage/WebInspector.messages.in: Add a new message for RequestAttachWindow
2310
2311 2011-08-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2312
2313         [Qt][WK2] Create scene graph nodes for tiles in QTouchWebView instead of using imperative painting.
2314         https://bugs.webkit.org/show_bug.cgi?id=65528
2315
2316         Reviewed by Benjamin Poulain.
2317
2318         Converts QTouchWebPage from QSGPaintedItem to a straight QSGItem.
2319         - A SGTileNode is created and added to the scene graph for each tile,
2320           positioning them relatively to the page.
2321           It's basically a QSGSimpleTextureNode with support for specifying a
2322           source rect plus for owning the QSGTexture for proper destruction on
2323           shutdown by the rendering thread.
2324         - Scale nodes are used as parent of tile nodes to revert the scaling set on the
2325           QTouchWebPage and allow us to keep using integer coordinates.
2326         - The SGAgent class is introduced to carry scene graph update request up to the
2327           updatePaintNode call of the item, which may be on the scene graph rendering thread.
2328
2329         * UIProcess/API/qt/qtouchwebpage.cpp:
2330         (QTouchWebPage::QTouchWebPage):
2331         (QTouchWebPage::updatePaintNode):
2332         Delegate scene graph updates to the SGAgent which received update requests from the tiled drawing area.
2333         (QTouchWebPage::event):
2334         (QTouchWebPage::geometryChanged):
2335         (QTouchWebPagePrivate::QTouchWebPagePrivate):
2336         * UIProcess/API/qt/qtouchwebpage.h:
2337         * UIProcess/API/qt/qtouchwebpage_p.h:
2338         * UIProcess/TiledDrawingAreaProxy.cpp:
2339         Manage the scale node in the TileSet, it will be the parent node of Tile nodes.
2340         (WebKit::TiledDrawingAreaTileSet::sgNodeID):
2341         (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
2342         (WebKit::TiledDrawingAreaTileSet::~TiledDrawingAreaTileSet):
2343         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
2344         (WebKit::TiledDrawingAreaProxy::setContentsScale):
2345         (WebKit::TiledDrawingAreaProxy::createTiles):
2346         (WebKit::TiledDrawingAreaProxy::removeAllTiles):
2347         * UIProcess/TiledDrawingAreaTile.h:
2348         (WebKit::TiledDrawingAreaTile::create):
2349         * UIProcess/qt/SGAgent.cpp: Added.
2350         * UIProcess/qt/SGAgent.h: Added.
2351         * UIProcess/qt/SGTileNode.cpp: Added.
2352         * UIProcess/qt/SGTileNode.h: Added.
2353         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
2354         Disable the paint call and update the scene graph on incorporateUpdate through the SGAgent.
2355         (WebKit::TiledDrawingAreaProxy::updateWebView):
2356         * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
2357         (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
2358         (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
2359         (WebKit::TiledDrawingAreaTile::isReadyToPaint):
2360         (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
2361         (WebKit::TiledDrawingAreaTile::paint):
2362         (WebKit::TiledDrawingAreaTile::incorporateUpdate):
2363         (WebKit::TiledDrawingAreaTile::disableUpdates):
2364         (WebKit::TiledDrawingAreaTile::setParentNodeID):
2365         * UIProcess/qt/TouchViewInterface.cpp:
2366         (WebKit::TouchViewInterface::sceneGraphAgent):
2367         (WebKit::TouchViewInterface::setViewNeedsDisplay):
2368         * UIProcess/qt/TouchViewInterface.h:
2369         * WebKit2.pro:
2370
2371 2011-08-04  Alexis Menard  <alexis.menard@openbossa.org>
2372
2373         [Qt] Make navigation actions properly usable in QML.
2374         https://bugs.webkit.org/show_bug.cgi?id=65624
2375
2376         Add a new class that is exposed in QML to control the navigation
2377         like reload/stop/back/forward. Enums are not very QML friendly,
2378         it not possible to use enums that are not declared in the same class
2379         than the object exposed in QML, therefore it makes hard the sharing
2380         between the desktop and the touch views. In addition namespaced enums are
2381         even harder to support in QML. QWebNavigationController is
2382         not really meant to be used in C++ but it is exported for convenience
2383         reason (tests and MiniBrowser) so its API is not meant to be public but
2384         exposed in QML through properties and convenience slots. The QML code to use
2385         the navigation action in QML will look like "desktopView.navigation.reload();"
2386         or "if (desktopView.navigation.reloadAction.enabled) ...".
2387
2388         Reviewed by Benjamin Poulain.
2389
2390         * UIProcess/API/qt/WKView.h: To get the forward header generated
2391         * UIProcess/API/qt/qdesktopwebview.cpp:
2392         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
2393         (QDesktopWebView::navigationController):
2394         * UIProcess/API/qt/qdesktopwebview.h:
2395         * UIProcess/API/qt/qdesktopwebview_p.h:
2396         * UIProcess/API/qt/qmlplugin/plugin.cpp:
2397         (WebKit2QmlPlugin::registerTypes):
2398         * UIProcess/API/qt/qtouchwebpage.cpp:
2399         (QTouchWebPage::navigationController):
2400         (QTouchWebPagePrivate::QTouchWebPagePrivate):
2401         * UIProcess/API/qt/qtouchwebpage.h:
2402         * UIProcess/API/qt/qtouchwebpage_p.h:
2403         * UIProcess/API/qt/qwebnavigationcontroller.cpp: Added.
2404         (QWebNavigationControllerPrivate::QWebNavigationControllerPrivate):
2405         (QWebNavigationController::QWebNavigationController):
2406         (QWebNavigationController::~QWebNavigationController):
2407         (QWebNavigationController::backAction):
2408         (QWebNavigationController::forwardAction):
2409         (QWebNavigationController::stopAction):
2410         (QWebNavigationController::reloadAction):
2411         (QWebNavigationController::navigationAction):
2412         (QWebNavigationController::back):
2413         (QWebNavigationController::forward):
2414         (QWebNavigationController::stop):
2415         (QWebNavigationController::reload):
2416         * UIProcess/API/qt/qwebnavigationcontroller.h: Added.
2417         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
2418         (WebViewAbstraction::triggerNavigationAction):
2419         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
2420         (tst_QDesktopWebView::navigationActionsStatusAtStartup):
2421         (LoadStartedCatcher::onLoadStarted):
2422         (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
2423         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
2424         (tst_QTouchWebView::navigationActionsStatusAtStartup):
2425         * WebKit2API.pri:
2426
2427 2011-08-03  Jeff Miller  <jeffm@apple.com>
2428
2429         Use of AVFoundation should default to off on Windows
2430         https://bugs.webkit.org/show_bug.cgi?id=65660
2431
2432         Reviewed by Darin Adler.
2433
2434         * Shared/WebPreferencesStore.h: Change default value for AVFoundationEnabled to false on Windows, it's still true on other platforms.
2435
2436 2011-08-03  Mark Rowe  <mrowe@apple.com>
2437
2438         Bring some order to FeatureDefines.xcconfig to make it easier to follow.
2439
2440         Reviewed by Sam Weinig.
2441
2442         * Configurations/FeatureDefines.xcconfig:
2443
2444 2011-08-03  Mark Rowe  <mrowe@apple.com>
2445
2446         Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
2447
2448         Reviewed by Dave Kilzer.
2449
2450         * Configurations/FeatureDefines.xcconfig:
2451
2452 2011-08-03  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2453
2454         [Qt] [WK2] Improve position of context menu for QDesktopWebView
2455         https://bugs.webkit.org/show_bug.cgi?id=65635
2456
2457         Reviewed by Andreas Kling.
2458
2459         Do not assume that the QDesktopWebView takes the entire canvas when
2460         positioning the context menu.
2461
2462         * UIProcess/API/qt/qdesktopwebview.cpp:
2463         (QDesktopWebViewPrivate::showContextMenu):
2464
2465 2011-08-03  Anders Carlsson  <andersca@apple.com>
2466
2467         Fix API tests.
2468
2469         Initialize threading before trying to allocate the WebContext.
2470
2471         * UIProcess/WebContext.cpp:
2472         (WebKit::WebContext::sharedProcessContext):
2473         (WebKit::WebContext::create):
2474
2475 2011-08-03  Pavel Feldman  <pfeldman@google.com>
2476
2477         Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
2478         https://bugs.webkit.org/show_bug.cgi?id=65510
2479
2480         Reviewed by Yury Semikhatsky.
2481
2482         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2483         (WebKit::WebInspectorClient::drawRect):
2484
2485 2011-08-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2486
2487         [Qt] [WK2] Expose web view classes to QML
2488         https://bugs.webkit.org/show_bug.cgi?id=65339
2489
2490         Reviewed by Benjamin Poulain.
2491
2492         This patch also uses QuickTest from QtDeclarative to provide the basic autotest
2493         infrastructure for the exposed elements.
2494
2495         * UIProcess/API/qt/qmlplugin/plugin.cpp: Added.
2496         (WebKit2QmlPlugin::registerTypes):
2497         * UIProcess/API/qt/qmlplugin/qmldir: Added.
2498         * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Added.
2499         * UIProcess/API/qt/qtouchwebpage.h: Expose load() to QML environment.
2500         * UIProcess/API/qt/qtouchwebview.h: Since QTouchWebPage* doesn't change once set
2501         in the constructor, we mark the page property as CONSTANT. This avoid QML
2502         warnings for not having a NOTIFY signal for the property change.
2503
2504         * UIProcess/API/qt/tests/tests.pro:
2505         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Added.
2506         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: Added.
2507         * UIProcess/API/qt/tests/qmltests/common/test1.html: Added.
2508         * UIProcess/API/qt/tests/qmltests/qmltests.pro: Added.
2509         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Added.
2510
2511 2011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2512
2513         [GTK] Install web and plugin processes in libexecdir instead of bindir
2514         https://bugs.webkit.org/show_bug.cgi?id=65600
2515
2516         Reviewed by Martin Robinson.
2517
2518         Launch processes from libexecdir or WEBKIT_EXEC_PATH
2519         environment variable when it's set. This variable will be used by
2520         MiniBrowser and unit tests to find processes without having to
2521         install them.
2522
2523         * GNUmakefile.am:
2524         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2525         (WebKit::ProcessLauncher::launchProcess):
2526
2527 2011-08-03  Pavel Feldman  <pfeldman@chromium.org>
2528
2529         Web Inspector: remove Node parameter from the InspectorClient::highlight
2530         https://bugs.webkit.org/show_bug.cgi?id=65549
2531
2532         Reviewed by Yury Semikhatsky.
2533
2534         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2535         (WebKit::WebInspectorClient::highlight):
2536         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2537
2538 2011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2539
2540         [GTK] Reorganize pkg-config files
2541         https://bugs.webkit.org/show_bug.cgi?id=65548
2542
2543         Reviewed by Martin Robinson.
2544
2545         * GNUmakefile.am: Rename pc file as webkit2gtk.pc.in. WebKit2
2546         depends on gtk3 unconditionally so we don't need to use
2547         WEBKITGTK_PC_NAME.
2548         * webkit2gtk.pc.in: Renamed from Source/WebKit2/gtk/webkit2.pc.in.
2549
2550 2011-08-01  Michael Saboff  <msaboff@apple.com>
2551
2552         Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
2553         https://bugs.webkit.org/show_bug.cgi?id=65502
2554
2555         Reviewed by Anders Carlsson.
2556
2557         Changed OOL message to use MACH_MSG_PHYSICAL_COPY flag instead of virtual flag
2558         so that the original memory region isn't referenced by the message and ultimately
2559         the receiving process.  The additional reference caused madvise(MADV_FREE_REUSABLE)
2560         to fail when it encountered such pages.
2561
2562         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2563         (CoreIPC::Connection::sendOutgoingMessage):
2564
2565 2011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2566
2567         [Qt] Add QtWebProcess in PATH at runtime for WebKit2 API auto tests.
2568         https://bugs.webkit.org/show_bug.cgi?id=65378
2569
2570         Reviewed by Benjamin Poulain.
2571
2572         This prevent the runner of the tests from having to add it to PATH himself.
2573
2574         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
2575         (tst_CommonViewTests::tst_CommonViewTests):
2576         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
2577         (tst_QDesktopWebView::tst_QDesktopWebView):
2578         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
2579         (tst_QTouchWebView::tst_QTouchWebView):
2580         * UIProcess/API/qt/tests/tests.pri:
2581         * UIProcess/API/qt/tests/util.cpp: Copied from Source/WebKit2/UIProcess/API/qt/tests/util.h.
2582         Move definitions to a cpp file to prevent unused static symbol warnings.
2583         (addQtWebProcessToPath):
2584         (waitForSignal):
2585         * UIProcess/API/qt/tests/util.h:
2586
2587 2011-07-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2588
2589         TiledDrawingArea: Handle update requests in the order they were received.
2590         https://bugs.webkit.org/show_bug.cgi?id=64365
2591
2592         Reviewed by Andreas Kling.
2593
2594         TiledDrawingAreaProxy::createTiles() uses the distance of tiles to the
2595         center of the viewport to decide which tile should be rendered first.
2596         This logic is useless if the requests are not handled in the same order
2597         as they were received.
2598         Now use a list instead of a map to hold pending tile update requests.
2599
2600         * WebProcess/WebPage/TiledDrawingArea.cpp:
2601         (WebKit::TiledDrawingArea::tileUpdateTimerFired):
2602         (WebKit::TiledDrawingArea::cancelTileUpdate):
2603         (WebKit::TiledDrawingArea::requestTileUpdate):
2604         * WebProcess/WebPage/TiledDrawingArea.h:
2605
2606 2011-08-02  Amruth Raj  <amruthraj@motorola.com>
2607
2608         Custom cursors cause the WebProcess to crash
2609         https://bugs.webkit.org/show_bug.cgi?id=64802
2610
2611         Reviewed by Martin Robinson.
2612
2613         * Shared/WebCoreArgumentCoders.cpp:
2614         (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
2615         (CoreIPC::::decode): Decode the image only if required.
2616
2617 2011-08-01  Scott Graham  <scottmg@chromium.org>
2618
2619         REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
2620         https://bugs.webkit.org/show_bug.cgi?id=61006
2621
2622         Reviewed by Antti Koivisto.
2623
2624         Update exports for test harness.
2625
2626         * win/WebKit2.def:
2627         * win/WebKit2CFLite.def:
2628
2629 2011-08-01  Hayato Ito  <hayato@chromium.org>
2630
2631         Add support for getting an element in shadow root by its id into a window.internals object.
2632         https://bugs.webkit.org/show_bug.cgi?id=64587
2633
2634         Reviewed by Hajime Morita.
2635
2636         * win/WebKit2.def:
2637         * win/WebKit2CFLite.def:
2638
2639 2011-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2640
2641         Unreviewed, rolling out r92108.
2642         http://trac.webkit.org/changeset/92108
2643         https://bugs.webkit.org/show_bug.cgi?id=65459
2644
2645         breaks SL compile (Requested by tonyg-cr on #webkit).
2646
2647         * Shared/WebCoreArgumentCoders.cpp:
2648         (CoreIPC::::encode):
2649         (CoreIPC::::decode):
2650
2651 2011-08-01  Amruth Raj  <amruthraj@motorola.com>
2652
2653         Custom cursors cause the WebProcess to crash
2654         https://bugs.webkit.org/show_bug.cgi?id=64802
2655
2656         Reviewed by Darin Adler.
2657
2658         * Shared/WebCoreArgumentCoders.cpp:
2659         (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
2660         (CoreIPC::::decode): Decode the image only if required.
2661
2662 2011-07-31  Daniel Bates  <dbates@webkit.org>
2663
2664         Try again to fix the WinCairo Debug build after r92059 ( https://bugs.webkit.org/show_bug.cgi?id=65419).
2665
2666         * win/WebKit2CFLite.def: Export symbols needed by Internals.
2667
2668 2011-07-30  Dan Bernstein  <mitz@apple.com>
2669
2670         Try to fix the Windows build after r92059.
2671
2672         * win/WebKit2.def: Export symbols needed by Internals.
2673
2674 2011-07-30  Patrick Gansterer  <paroga@webkit.org>
2675
2676         Remove inclusion of MainThread.h from Threading.h
2677         https://bugs.webkit.org/show_bug.cgi?id=65081
2678
2679         Reviewed by Darin Adler.
2680
2681         Add missing include statements for MainThread.
2682
2683         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
2684         * PluginProcess/mac/PluginProcessMainMac.mm:
2685         * PluginProcess/qt/PluginProcessMainQt.cpp:
2686         * UIProcess/API/mac/WKPrintingView.mm:
2687         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
2688         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
2689         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
2690         * UIProcess/WebContext.cpp:
2691         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
2692         * WebProcess/efl/WebProcessMainEfl.cpp:
2693         * WebProcess/gtk/WebProcessMainGtk.cpp:
2694         * WebProcess/mac/KeychainItemShimMethods.mm:
2695         * WebProcess/mac/WebProcessMainMac.mm:
2696         * WebProcess/qt/WebProcessMainQt.cpp:
2697         * WebProcess/win/WebProcessMainWin.cpp:
2698
2699 2011-07-30  Balazs Kelemen  <kbalazs@webkit.org>
2700
2701         [Qt][WK2] Fix the build afer r92014
2702         https://bugs.webkit.org/show_bug.cgi?id=65410
2703
2704         Reviewed by Noam Rosenthal.
2705
2706         * Shared/ShareableBitmap.h:
2707         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2708         (QDesktopWebPageProxy::paintContent):
2709
2710 2011-07-29  Sam Weinig  <sam@webkit.org>
2711
2712         Move Region code from WebKit2 to WebCore
2713         https://bugs.webkit.org/show_bug.cgi?id=65392
2714
2715         Reviewed by David Hyatt.
2716
2717         * CMakeLists.txt:
2718         * GNUmakefile.am:
2719         * WebKit2.pro:
2720         * WebKit2.xcodeproj/project.pbxproj:
2721         * win/WebKit2.vcproj:
2722         Update project files.
2723
2724         * Platform/Region.cpp: Removed.
2725         * Platform/Region.h: Removed.
2726         Remove Region files.
2727
2728         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2729         (webkitWebViewBaseDraw):
2730         * UIProcess/API/mac/WKView.mm:
2731         * UIProcess/DrawingAreaProxyImpl.cpp:
2732         * UIProcess/DrawingAreaProxyImpl.h:
2733         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2734         * UIProcess/win/WebView.cpp:
2735         * WebProcess/WebPage/DrawingAreaImpl.h:
2736         Update for new namespace and include type.
2737
2738 2011-07-29  Anders Carlsson  <andersca@apple.com>
2739
2740         Pass the HTTP referrer header for URLs loaded by plug-ins
2741         https://bugs.webkit.org/show_bug.cgi?id=65379
2742         <rdar://problem/9822116>
2743
2744         Reviewed by Sam Weinig.
2745
2746         Set the HTTP referrer if necessary.
2747
2748         * WebProcess/Plugins/PluginView.cpp:
2749         (WebKit::PluginView::loadURL):
2750
2751 2011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2752
2753         Fix the QTouchWebView in debug segfault on shutdown introduced in 91979.
2754         https://bugs.webkit.org/show_bug.cgi?id=64728
2755
2756         Reviewed by Benjamin Poulain.
2757
2758         unregisterTile is called in the tile's destructor, triggered in the TileSet's
2759         destruction, which happens in the middle of the proxy's destruction
2760         (after the m_tilesByID HashMap destruction).
2761         Detach the tiles in the proxy's destructor to make sure they can cleanup
2762         using a valid proxy.
2763
2764         * UIProcess/TiledDrawingAreaProxy.cpp:
2765         (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
2766
2767 2011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2768
2769         Fix the QTouchWebView in debug broke in 91979.
2770         https://bugs.webkit.org/show_bug.cgi?id=64728
2771
2772         Reviewed by Benjamin Poulain.
2773
2774         registerTile is called in the Tile's constructor, before adoptRef.
2775         Change the pointer parameter to use the raw type instead.
2776
2777         * UIProcess/TiledDrawingAreaProxy.cpp:
2778         (WebKit::TiledDrawingAreaProxy::registerTile):
2779         * UIProcess/TiledDrawingAreaProxy.h:
2780
2781 2011-07-29  Alexis Menard  <alexis.menard@openbossa.org>
2782
2783         [Qt] Make QDesktopWebView/QTouchWebView loadProgress property more usable in QML.
2784         https://bugs.webkit.org/show_bug.cgi?id=65315
2785
2786         Reviewed by Benjamin Poulain.
2787
2788         In order to use the loadProgress value in QML we need to make it
2789         a Q_PROPERTY, therefore we need a getter to get it.
2790
2791         * UIProcess/API/qt/qdesktopwebview.cpp:
2792         (QDesktopWebViewPrivate::didChangeLoadProgress):
2793         (QDesktopWebView::url):
2794         (QDesktopWebView::loadProgress):
2795         * UIProcess/API/qt/qdesktopwebview.h:
2796         * UIProcess/API/qt/qtouchwebpage.cpp:
2797         (QTouchWebPage::loadProgress):
2798         * UIProcess/API/qt/qtouchwebpage.h:
2799         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
2800         (tst_CommonViewTests::stop):
2801         (tst_CommonViewTests::loadProgress):
2802         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
2803         (WebViewAbstraction::WebViewAbstraction):
2804         (WebViewAbstraction::loadProgress):
2805         (WebViewAbstraction::desktopViewLoadFailed):
2806         (WebViewAbstraction::touchViewLoadProgressChanged):
2807         (WebViewAbstraction::desktopViewLoadProgressChanged):
2808         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
2809         * UIProcess/qt/QtWebPageProxy.cpp:
2810         (QtWebPageProxy::QtWebPageProxy):
2811         (QtWebPageProxy::didChangeLoadProgress):
2812         * UIProcess/qt/QtWebPageProxy.h:
2813         (QtWebPageProxy::loadProgress):
2814         * UIProcess/qt/TouchViewInterface.cpp:
2815         (WebKit::TouchViewInterface::didChangeLoadProgress):
2816
2817 2011-07-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2818
2819         TiledDrawingArea: Use tile sets to paint old content while rendering for a new scale.
2820         https://bugs.webkit.org/show_bug.cgi?id=64728
2821
2822         Reviewed by Benjamin Poulain.
2823
2824         We currently delete all the tiles when setContentsScale is called. This shows a blank
2825         background to the user while the web process render tiles for the new scale.
2826
2827         This patch extracts the ownership of individual tiles from TiledDrawingAreaProxy to
2828         TiledDrawingAreaTileSet to allow the proxy to paint tiles with different scales.
2829         We can then paint the tiles we already have on top of the tiles we are rendering for
2830         the new scale until enough content is available.
2831
2832         * UIProcess/TiledDrawingAreaProxy.cpp:
2833         (WebKit::TiledDrawingAreaTileSet::tiles):
2834         (WebKit::TiledDrawingAreaTileSet::contentsScale):
2835         (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
2836         (WebKit::TiledDrawingAreaTileSet::mapToContents):
2837         (WebKit::TiledDrawingAreaTileSet::mapFromContents):
2838         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
2839         (WebKit::TiledDrawingAreaProxy::registerTile):
2840         (WebKit::TiledDrawingAreaProxy::unregisterTile):
2841         Added those two methods to allow the tiles to clean
2842         themselves on destruction.
2843         (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
2844         (WebKit::TiledDrawingAreaProxy::cancelTileUpdate):
2845         (WebKit::TiledDrawingAreaProxy::invalidate):
2846         (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
2847         (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
2848         (WebKit::TiledDrawingAreaProxy::paint):
2849         (WebKit::TiledDrawingAreaProxy::coverageRatio):
2850         (WebKit::TiledDrawingAreaProxy::setContentsScale):
2851         (WebKit::TiledDrawingAreaProxy::createTiles):
2852         (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
2853         (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
2854         (WebKit::TiledDrawingAreaProxy::disableTileSetUpdates):
2855         (WebKit::TiledDrawingAreaProxy::removeAllTiles):
2856         (WebKit::TiledDrawingAreaProxy::contentsRect):
2857         (WebKit::TiledDrawingAreaProxy::visibleRect):
2858         (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
2859         * UIProcess/TiledDrawingAreaProxy.h:
2860         * UIProcess/TiledDrawingAreaTile.h:
2861         * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
2862         (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
2863         (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
2864         (WebKit::TiledDrawingAreaTile::incorporateUpdate):
2865         (WebKit::TiledDrawingAreaTile::disableUpdates):
2866         (WebKit::TiledDrawingAreaTile::updateBackBuffer):
2867
2868 2011-07-28  Tim Horton  <timothy_horton@apple.com>
2869
2870         REGRESSION (5.1): CJK input broken after clicking on Flash content
2871         <rdar://problem/9854447>
2872         https://bugs.webkit.org/show_bug.cgi?id=65349
2873
2874         Reviewed by Darin Adler.
2875
2876         After giving Flash focus on a page and then navigating away from that page
2877         using the back button, we were not getting notified to switch back to
2878         inline (non-complex) input. Now, notify the page that it can leave complex
2879         text mode when the plugin is destroyed.
2880
2881         * WebProcess/Plugins/PluginView.cpp:
2882         (WebKit::PluginView::~PluginView):
2883
2884 2011-07-28  Anders Carlsson  <andersca@apple.com>
2885
2886         Crash when trying to encode FontInfo with a null font attribute descriptor
2887         https://bugs.webkit.org/show_bug.cgi?id=65350
2888         <rdar://problem/9520670>
2889
2890         Reviewed by Darin Adler.
2891
2892         * Shared/FontInfo.cpp:
2893         (WebKit::FontInfo::encode):
2894         Encode a boolean specifying whether there's a fontAttributeDictionary member variable.
2895
2896         (WebKit::FontInfo::decode):
2897         Don't try to decode the fontAttributeDictionary member variable if none has been encoded.
2898
2899 2011-07-26  Chris Fleizach  <cfleizach@apple.com>
2900
2901         REGRESSION (Safari 5.1): JavaScript dialogs not usable with VoiceOver
2902         https://bugs.webkit.org/show_bug.cgi?id=65214
2903
2904         Reviewed by Anders Carlsson.
2905
2906         Allow the ability to spin the run loop while WebProcess is waiting for a synchronous reply.
2907         This allows it to continue to serve accessibility requests while waiting and basically
2908         restores the behavior WK1 was presenting. This patch only enables this mode when accessibility is on.
2909
2910         * Platform/CoreIPC/Connection.cpp:
2911         (CoreIPC::Connection::sendSyncMessage):
2912         (CoreIPC::Connection::waitForSyncReply):
2913         * Platform/CoreIPC/Connection.h:
2914         (CoreIPC::Connection::sendSync):
2915         * Platform/RunLoop.h:
2916         * Platform/mac/RunLoopMac.mm:
2917         (RunLoop::runForDuration):
2918         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2919         (WebKit::WebChromeClient::runJavaScriptAlert):
2920         (WebKit::WebChromeClient::runJavaScriptConfirm):
2921         (WebKit::WebChromeClient::runJavaScriptPrompt):
2922
2923 2011-07-28  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
2924
2925         Pass the key_press_event or key_release_event to parent widget when it is not handled by Web Process.
2926         (https://bugs.webkit.org/show_bug.cgi?id=64790)
2927
2928         Reviewed by Martin Robinson.
2929
2930         * Shared/NativeWebKeyboardEvent.h:
2931         (WebKit::NativeWebKeyboardEvent::nativeEvent): Return a GdkEvent* instead of const GdkEvent* (non-const).
2932         * UIProcess/API/gtk/PageClientImpl.cpp:
2933         (WebKit::PageClientImpl::doneWithKeyEvent): Implemented for GTK port. Sets flag if the keyboard event 
2934         needs to be passed to the parent widget. Invoke gtk_main_do_event() if event needs to be passed to parent.
2935         * UIProcess/API/gtk/PageClientImpl.h: Deleted obsolete functions didNotHandleKeyEvent & didNotHandleWheelEvent.
2936         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2937         (webkit_web_view_base_init): Initialize shouldForwardNextKeyEvent flag.
2938         (webkitWebViewBaseKeyPressEvent): Pass event to parent widget depending on status from doneWithKeyEvent. 
2939         (webkitWebViewBaseKeyReleaseEvent): Pass event to parent widget depending on status from doneWithKeyEvent.
2940         (webkitWebViewBaseForwardNextKeyEvent): API to set flag shouldForwardNextKeyEvent.
2941         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added API to set shouldForwardNextKeyEvent flag.
2942
2943 2011-07-28  Dan Bernstein  <mitz@apple.com>
2944
2945         <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
2946
2947         Reviewed by Darin Adler.
2948
2949         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2950         (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters.
2951
2952 2011-07-28  Brady Eidson  <beidson@apple.com>
2953
2954         <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
2955         WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
2956
2957         Reviewed by Maciej Stachowiak.
2958
2959         * WebProcess/WebProcess.cpp:
2960         (WebKit::WebProcess::initializeWebProcess): Pass a null client pointer in the new form of initializeTracker()
2961
2962 2011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>
2963
2964         Remove operator new from JSCell
2965         https://bugs.webkit.org/show_bug.cgi?id=64999
2966
2967         Reviewed by Oliver Hunt.
2968
2969         Removed the implementation of operator new in JSCell, so any further uses
2970         will not successfully link.  Also removed any remaining uses of operator new.
2971
2972         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2973         (WebKit::JSNPMethod::create):
2974         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2975         (WebKit::JSNPObject::methodGetter):
2976         * WebProcess/Plugins/Netscape/JSNPObject.h:
2977         (WebKit::JSNPObject::create):
2978         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2979         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
2980
2981 2011-07-27  Benjamin Poulain  <benjamin@webkit.org>
2982
2983         [WK2][Qt] Move from QGraphicsView to Qt Scene Graph
2984         https://bugs.webkit.org/show_bug.cgi?id=62969
2985
2986         Reviewed by Andreas Kling.
2987
2988         Co-authored with Simon Hausmann  <simon.hausmann@nokia.com>
2989
2990         This patch change the base of WebKit2 from QGraphicsWidget
2991         to scenegraph based items.
2992
2993         QTouchWebView becomes a QSGItem with the only role of clipping
2994         child items.
2995         QTouchWebPage becomes a QSGPaintedItem in order to render the content
2996         of the flattened page. This is a temporary work around to get
2997         something running without deep changes on the drawing area proxy.
2998
2999         QDesktopWebView become a QSGPaintedItem and behave as before
3000         regarding rendering. The drawing area proxy is used to render
3001         the full item.
3002
3003         The event delivery had to be adapted because the scenegraph does not
3004         follow regular delivery of QEvents. Instead, each event type is
3005         delivered directly to a specific virtual function.
3006         In this patch, the events are forwarded to the classic QObject::event().
3007
3008         For the features that cannot be implemented on scenegraph (tooltip, menus, etc),
3009         a temporary workaround was added: the parent canvas is used as the widget for
3010         providing the feature. This assumes the web views alone in the canvas and
3011         take its full size. This will have to be fixed in the scenegraph for us to
3012         implement those features.
3013
3014         * UIProcess/API/qt/qdesktopwebview.cpp:
3015         (QDesktopWebViewPrivate::drawingAreaSize):
3016         (QDesktopWebViewPrivate::isActive):
3017         (QDesktopWebViewPrivate::startDrag):
3018         (QDesktopWebViewPrivate::didChangeToolTip):
3019         (QDesktopWebViewPrivate::didChangeCursor):
3020         (QDesktopWebViewPrivate::showContextMenu):
3021         (QDesktopWebView::QDesktopWebView):
3022         (QDesktopWebView::init):
3023         (paintCrashedPage):
3024         (QDesktopWebView::keyPressEvent):
3025         (QDesktopWebView::keyReleaseEvent):
3026         (QDesktopWebView::inputMethodEvent):
3027         (QDesktopWebView::focusInEvent):
3028         (QDesktopWebView::focusOutEvent):
3029         (QDesktopWebView::mousePressEvent):
3030         (QDesktopWebView::mouseMoveEvent):
3031         (QDesktopWebView::mouseReleaseEvent):
3032         (QDesktopWebView::mouseDoubleClickEvent):
3033         (QDesktopWebView::wheelEvent):
3034         (QDesktopWebView::touchEvent):
3035         (QDesktopWebView::hoverEnterEvent):
3036         (QDesktopWebView::hoverMoveEvent):
3037         (QDesktopWebView::hoverLeaveEvent):
3038         (QDesktopWebView::dragMoveEvent):
3039         (QDesktopWebView::dragEnterEvent):
3040         (QDesktopWebView::dragExitEvent):
3041         (QDesktopWebView::dragDropEvent):
3042         (QDesktopWebView::geometryChanged):
3043         (QDesktopWebView::paint):
3044         (QDesktopWebView::event):
3045         * UIProcess/API/qt/qdesktopwebview.h:
3046         * UIProcess/API/qt/qtouchwebpage.cpp:
3047         (QTouchWebPage::QTouchWebPage):
3048         (QTouchWebPage::paint):
3049         (QTouchWebPage::event):
3050         (QTouchWebPage::keyPressEvent):
3051         (QTouchWebPage::keyReleaseEvent):
3052         (QTouchWebPage::inputMethodEvent):
3053         (QTouchWebPage::focusInEvent):
3054         (QTouchWebPage::focusOutEvent):
3055         (QTouchWebPage::touchEvent):
3056         (QTouchWebPage::geometryChanged):
3057         * UIProcess/API/qt/qtouchwebpage.h:
3058         * UIProcess/API/qt/qtouchwebview.cpp:
3059         (QTouchWebViewPrivate::scroll):
3060         (QTouchWebView::QTouchWebView):
3061         (QTouchWebView::geometryChanged):
3062         * UIProcess/API/qt/qtouchwebview.h:
3063         * UIProcess/API/qt/tests/tests.pri:
3064         * UIProcess/API/qt/tests/testwindow.h:
3065         (TestWindow::TestWindow):
3066         (TestWindow::resizeEvent):
3067         * UIProcess/qt/TouchViewInterface.cpp:
3068         (WebKit::TouchViewInterface::panGestureRequestScroll):
3069         (WebKit::TouchViewInterface::pinchGestureRequestUpdate):
3070         (WebKit::TouchViewInterface::drawingAreaSize):
3071         (WebKit::TouchViewInterface::contentSizeChanged):
3072         (WebKit::TouchViewInterface::isActive):
3073         * UIProcess/qt/ViewInterface.cpp: Removed.
3074         * UIProcess/qt/ViewInterface.h:
3075         * WebKit2.pro:
3076
3077 2011-07-27  Benjamin Poulain  <benjamin@webkit.org>
3078
3079         [Qt][WK2] Clean WKPageLoaderClient
3080         https://bugs.webkit.org/show_bug.cgi?id=65246
3081
3082         Reviewed by Andreas Kling.
3083
3084         Remove the empty functions from Qt's WKPageLoaderClient.
3085
3086         * UIProcess/qt/ClientImpl.cpp:
3087         (qt_wk_didSameDocumentNavigationForFrame): Move the function to
3088         have all the implementations in the same order as the definitions.
3089         * UIProcess/qt/ClientImpl.h:
3090         * UIProcess/qt/QtWebPageProxy.cpp:
3091         (QtWebPageProxy::init):
3092
3093 2011-07-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3094
3095         Fix Qt (and possibly Gtk) WebKit2 build after addition of -webkit-pictograph
3096         https://bugs.webkit.org/show_bug.cgi?id=65253
3097
3098         Reviewed by Andreas Kling.
3099
3100         The -webkit-pictograph generic family was added by bug 65197.
3101
3102         * Shared/WebPreferencesStore.h:
3103
3104 2011-07-27  Benjamin Poulain  <benjamin@webkit.org>
3105
3106         [Qt][WK2] Simplify the PageUIClient
3107         https://bugs.webkit.org/show_bug.cgi?id=65198
3108
3109         Reviewed by Andreas Kling.
3110
3111         The only function of WKPageLoaderClient with a complete implementation
3112         is qt_wk_setStatusText(). The other functions were what is left from
3113         before the refactoring of QWKPage.
3114
3115         This patch removes the unused functions to simplify the client. Since the dependency
3116         on QtWebPageProxy is removed from that client, it now calls the ViewInterface directly.
3117
3118         * UIProcess/qt/ClientImpl.cpp:
3119         (toViewInterface):
3120         (qt_wk_setStatusText):
3121         * UIProcess/qt/ClientImpl.h:
3122         * UIProcess/qt/QtWebPageProxy.cpp:
3123         (QtWebPageProxy::QtWebPageProxy):
3124         (QtWebPageProxy::init):
3125         * UIProcess/qt/QtWebPageProxy.h:
3126
3127 2011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3128
3129         Add support for download='filename' attribute in anchors.
3130         https://bugs.webkit.org/show_bug.cgi?id=64580
3131
3132         Reviewed by Adam Barth.
3133
3134         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3135         (WebKit::WebFrameLoaderClient::startDownload):
3136         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3137
3138 2011-07-26  Tim Horton  <timothy_horton@apple.com>
3139
3140         Apply r40940 to WebKit2 to work around a Silverlight crash.
3141         https://bugs.webkit.org/show_bug.cgi?id=65205
3142         <rdar://problem/9058370>
3143
3144         Reviewed by Anders Carlsson.
3145
3146         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
3147         (WebKit::NetscapePluginModule::determineQuirks):
3148         * Shared/Plugins/PluginQuirks.h:
3149         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3150         (WebKit::NetscapePlugin::userAgent):
3151
3152 2011-07-26  Dan Bernstein  <mitz@apple.com>
3153
3154         <rdar://problem/9842889> Add a generic pictograph font family
3155         https://bugs.webkit.org/show_bug.cgi?id=65197
3156
3157         Reviewed by Anders Carlsson.
3158
3159         * Shared/WebPreferencesStore.h:
3160         * UIProcess/API/C/WKPreferences.cpp:
3161         (WKPreferencesSetPictographFontFamily): Added.
3162         (WKPreferencesCopyPictographFontFamily): Added.
3163         * UIProcess/API/C/WKPreferences.h:
3164
3165 2011-07-26  Andras Becsi  <abecsi@webkit.org>
3166
3167         [Qt] [WK2] Disable the build with Qt versions older than 5.0 
3168         https://bugs.webkit.org/show_bug.cgi?id=65189
3169
3170         Reviewed by Csaba Osztrogonác.
3171
3172         * Platform/qt/ModuleQt.cpp:
3173         (WebKit::Module::platformFunctionPointer): Fix the build for Qt5.
3174
3175 2011-07-26  Benjamin Poulain  <benjamin@webkit.org>
3176
3177         [Qt][WK2] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy
3178         https://bugs.webkit.org/show_bug.cgi?id=64739
3179
3180         Reviewed by Andreas Kling.
3181
3182         Change the WebContextMenuProxyQt to be the intermediary between the WebPageProxy and our views regarding
3183         the context menu.
3184
3185         The actions of the context menu are no longer the responsibility of QtWebPageProxy but are instead
3186         created and handled directly by the WebContextMenuProxyQt.
3187
3188         * UIProcess/qt/QtWebPageProxy.cpp:
3189         (QtWebPageProxy::createContextMenuProxy):
3190         (QtWebPageProxy::triggerAction):
3191         (QtWebPageProxy::action):
3192         * UIProcess/qt/QtWebPageProxy.h:
3193         * UIProcess/qt/WebContextMenuProxyQt.cpp:
3194         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
3195         (WebKit::WebContextMenuProxyQt::create):
3196         (WebKit::WebContextMenuProxyQt::actionTriggered):
3197         (WebKit::WebContextMenuProxyQt::showContextMenu):
3198         (WebKit::WebContextMenuProxyQt::hideContextMenu):
3199         (WebKit::WebContextMenuProxyQt::createContextMenu):
3200         * UIProcess/qt/WebContextMenuProxyQt.h:
3201
3202 2011-07-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3203
3204         [GTK] Remove header webkitwebviewcommon.h
3205         https://bugs.webkit.org/show_bug.cgi?id=65177
3206
3207         Reviewed by Martin Robinson.
3208
3209         * UIProcess/API/gtk/WebKitWebView.h: Add function prototypes
3210         instead of including webkitwebviewcommon.h.
3211
3212 2011-07-22  Jessie Berlin  <jberlin@apple.com>
3213
3214         [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work.
3215         https://bugs.webkit.org/show_bug.cgi?id=64997
3216
3217         Reviewed by Ada Chan.
3218
3219         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
3220         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
3221         Set the policy on the Cookie Storage used by the Private Browsing Storage Session as well.
3222         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3223         (InitWebCoreSystemInterface):
3224
3225 2011-07-21  Yael Aharon  <yael.aharon@nokia.com>
3226
3227         [Qt][WK2] Code cleanup for drag-and-drop
3228         https://bugs.webkit.org/show_bug.cgi?id=64916
3229
3230         Reviewed by Andreas Kling.
3231
3232         * UIProcess/WebPageProxy.cpp:
3233         (WebKit::WebPageProxy::startDrag):
3234         Allow receiving a NULL bitmap from the web process.
3235         
3236         * UIProcess/qt/qdesktopwebpageproxy.cpp:
3237         (QDesktopWebPageProxy::handleEvent):
3238         Fix typo introduced in http://trac.webkit.org/changeset/90458.
3239         All DnD related events should be GraphicsScene events.
3240         
3241         * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
3242         (WebKit::convertQPixmapToShareableBitmap):
3243         Remove hack that creates a 1x1 bitmap.
3244         It is no longer needed after http://trac.webkit.org/changeset/91016.
3245         
3246         (WebKit::WebDragClient::startDrag):
3247         Allow sending a NULL bitmap to the UI process.
3248
3249 2011-07-20  Tim Horton  <timothy_horton@apple.com>
3250
3251         Scrollbar color heuristic needs to be hooked up in WebKit1
3252         https://bugs.webkit.org/show_bug.cgi?id=64220
3253         <rdar://problem/9589140>
3254
3255         Reviewed by Darin Adler.
3256
3257         Store the scroller style on ScrollableArea, and recompute it whenever
3258         the document or body element background color changes or the base background
3259         color of the scrollview changes. Also, make sure to repaint the scrollbars
3260         whenever the style changes.
3261
3262         * WebProcess/WebPage/WebFrame.cpp:
3263         (WebKit::WebFrame::getDocumentBackgroundColor):
3264
3265 2011-07-20  James Robinson  <jamesr@chromium.org>
3266
3267         Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
3268         https://bugs.webkit.org/show_bug.cgi?id=64841
3269
3270         Reviewed by Mark Rowe.
3271
3272         http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
3273         monotonic clock instead of WTF::currentTime().  This broke many plugin tests on WebKit2 for reasons that are
3274         unclear.  This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
3275
3276         * Platform/CoreIPC/Connection.cpp:
3277         (CoreIPC::Connection::waitForMessage):
3278         (CoreIPC::Connection::waitForSyncReply):
3279         * Platform/RunLoop.h:
3280
3281 2011-07-19  Ryosuke Niwa  <rniwa@webkit.org>
3282
3283         Build fix after r91307.
3284
3285         * Platform/Logging.h:
3286
3287 2011-07-19  Lukasz Slachciak  <lukasz.slachciak@gmail.com>
3288
3289         [GTK] [WK2] Implement missing initializeLogChannel function.
3290         https://bugs.webkit.org/show_bug.cgi?id=63381
3291
3292         Reviewed by Martin Robinson.
3293
3294         Implemented logging for GTK platform in WebKit2 - function initializeLogChannel is called for all ports,
3295         so added missing implementation. Aslo helper function added for getting channels from names.
3296
3297         * GNUmakefile.am: Added reference to new file LoggingGtk.cpp.
3298         * Platform/Logging.cpp: Logging implementation for GTK port enabled.
3299         (WebKit::getChannelFromName): Helper to connect name with WTFLogChannel.
3300         * Platform/Logging.h: New helper method added.
3301         * Platform/gtk/LoggingGtk.cpp: Added. GTK logging implementation.
3302         (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
3303
3304 2011-07-19  Brian Weinstein  <bweinstein@apple.com>
3305
3306         Add back a change that was accidentally removed in r91266.
3307         
3308         Make sure to retain the WKPasteboardFilePromiseOwner before calling draggedImage because draggedImage releases
3309         its responder. Also make the comment more explicit, to keep this mistake from being made in the future.
3310         
3311         Rubber-stamped by Darin Adler.
3312
3313         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3314         (WebKit::WebDragClient::dragEnded):
3315
3316 2011-07-18  Brian Weinstein  <bweinstein@apple.com>
3317
3318         Speculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac
3319         https://bugs.webkit.org/show_bug.cgi?id=64766
3320         <rdar://problem/9548174>
3321
3322         Reviewed by Enrica Casucci.
3323
3324         I was unable to reproduce this bug, but Darin Adler and I discussed the probable issue. When starting the drag, we create 
3325         a WKPasteboardFilePromiseOwner, and a WKPasteboardOwner. When the drag is concluded, we call a method on the WKPasteboardFilePromiseOwner
3326         which uses the WKPasteboardOwner. However, we are not guaranteeing that the WKPasteboardOwner will be around when the 
3327         WKPasteboardFilePromiseOwner method is called.
3328         
3329         The fix is to retain both the WKPasteboardFilePromiseOwner and the WKPasteboardOwner that we need, making sure that we are keeping
3330         both objects alive.
3331         
3332         This patch also uses r91222 to replace WebPage::platformDragEnded, so WebPage doesn't need to know about the drag source.
3333
3334         * WebProcess/WebCoreSupport/WebDragClient.cpp:
3335         (WebKit::WebDragClient::dragEnded): Add a non-Mac stub method, since the Mac is the only platform that does something here.
3336         * WebProcess/WebCoreSupport/WebDragClient.h:
3337         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3338         (WebKit::WebDragClient::declareAndWriteDragImage): Use member variables instead of local variables.
3339         (WebKit::WebDragClient::dragEnded): Move code from WebPageMac::platformDragEnded to here, and clear both member variables.
3340         * WebProcess/WebPage/WebPage.cpp:
3341         (WebKit::WebPage::dragEnded): Don't call platformDragEnded anymore. WebCore::DragController::dragEnded calls WebDragClient::dragEnded,
3342             which does the same thing.
3343         * WebProcess/WebPage/WebPage.h:
3344         * WebProcess/WebPage/mac/WebPageMac.mm: Remove platformDragEnded.
3345
3346 2011-07-18  Alexis Menard  <alexis.menard@openbossa.org>
3347
3348         [Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
3349         https://bugs.webkit.org/show_bug.cgi?id=64690
3350
3351         Make the API usable with QML by declaring what's needed
3352         with the macros.
3353
3354         Reviewed by Benjamin Poulain.
3355
3356         * UIProcess/API/qt/qdesktopwebview.h:
3357
3358 2011-07-18  MORITA Hajime  <morrita@google.com>
3359
3360         [ShadowContentElement] forwarded node should be able to access its hosting content element.
3361         https://bugs.webkit.org/show_bug.cgi?id=64251
3362
3363         Reviewed by Dimitri Glazkov.
3364
3365         Exported additional symbols for window.internals object.
3366
3367         * win/WebKit2.def:
3368         * win/WebKit2CFLite.def:
3369
3370 2011-07-18  Dean Jackson  <dino@apple.com>
3371
3372         https://bugs.webkit.org/show_bug.cgi?id=64742
3373         Expose WebPreferences for media playback requiring user gestures and inline playback
3374
3375         Reviewed by Simon Fraser.
3376
3377         Two new WebPreferences: MediaPlaybackRequiresUserGesture and
3378         MediaPlaybackAllowsInline.
3379
3380         * Shared/WebPreferencesStore.h:
3381         * UIProcess/API/C/WKPreferences.cpp:
3382         (WKPreferencesSetMediaPlaybackRequiresUserGesture):
3383         (WKPreferencesGetMediaPlaybackRequiresUserGesture):
3384         (WKPreferencesSetMediaPlaybackAllowsInline):
3385         (WKPreferencesGetMediaPlaybackAllowsInline):
3386         * UIProcess/API/C/WKPreferencesPrivate.h:
3387         * WebProcess/WebPage/WebPage.cpp:
3388         (WebKit::WebPage::updatePreferences):
3389
3390 2011-07-18  James Robinson  <jamesr@chromium.org>
3391
3392         Timer scheduling should be based off the monotonic clock
3393         https://bugs.webkit.org/show_bug.cgi?id=64544
3394
3395         Reviewed by Darin Adler.
3396
3397         Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().
3398
3399         * Platform/CoreIPC/Connection.cpp:
3400         (CoreIPC::Connection::waitForMessage):
3401         (CoreIPC::Connection::waitForSyncReply):
3402         * Platform/RunLoop.h:
3403
3404 2011-07-18  Anders Carlsson  <andersca@apple.com>
3405
3406         Make using lowercase parameter names for AppleConnect be a plug-in quirk
3407         https://bugs.webkit.org/show_bug.cgi?id=64638
3408
3409         Reviewed by Sam Weinig.
3410
3411         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
3412         (WebKit::NetscapePluginModule::determineQuirks):
3413         Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in.
3414
3415         * Shared/Plugins/PluginQuirks.h:
3416         Add WantsLowercaseParameterNames quirk.
3417
3418         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3419         (WebKit::NetscapePlugin::initialize):
3420         If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter
3421         names to lowercase.
3422
3423         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3424         (WebKit::WebFrameLoaderClient::createPlugin):
3425         Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks
3426         aren't really the same thing as site-specific quirks.
3427
3428 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3429
3430         [Qt] Consider QTouchWebPage's transform when scrolling the viewport.
3431         https://bugs.webkit.org/show_bug.cgi?id=64541
3432
3433         Reviewed by Benjamin Poulain.
3434
3435         Currently the scroll deltas are given to moveBy in page coordinates
3436         which doesn't match when the page view is scalled.
3437         This patch gives the scroll delta to the viewport in it's own coordinates.
3438
3439         * UIProcess/qt/TouchViewInterface.cpp:
3440         (WebKit::TouchViewInterface::panGestureRequestScroll):
3441
3442 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3443
3444         [Qt] Push the new viewport rect to the drawing area after committing the scale.
3445         https://bugs.webkit.org/show_bug.cgi?id=64597
3446
3447         Reviewed by Benjamin Poulain.
3448
3449         * UIProcess/qt/TouchViewInterface.cpp:
3450         (WebKit::TouchViewInterface::pinchGestureEnded):
3451
3452 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3453
3454         [Qt] Remove the scale commit timer from QTouchWebPage.
3455         https://bugs.webkit.org/show_bug.cgi?id=64600
3456
3457         Reviewed by Benjamin Poulain.
3458
3459         Since we don't currently need unprepared page view scale changes,
3460         this timer isn't useful.
3461
3462         * UIProcess/API/qt/qtouchwebpage.cpp:
3463         (QTouchWebPage::QTouchWebPage):
3464         (QTouchWebPagePrivate::QTouchWebPagePrivate):
3465         (QTouchWebPagePrivate::commitScaleChange):
3466         * UIProcess/API/qt/qtouchwebpage.h:
3467         * UIProcess/API/qt/qtouchwebpage_p.h:
3468         * UIProcess/qt/TouchViewInterface.cpp:
3469         (WebKit::TouchViewInterface::pinchGestureStarted):
3470
3471 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3472
3473         TiledDrawingArea: map the visibleArea rect from page to tiles coordinates.
3474         https://bugs.webkit.org/show_bug.cgi?id=64538
3475
3476         Reviewed by Benjamin Poulain.
3477
3478         TiledDrawingAreaProxy expects its coordinates to be scaled according to
3479         contentsScale. This patch keep the pushed visibleArea as page coordinates
3480         and convert it each time to scaled coordinates in case the contents scale was
3481         changed afterward.
3482         This is a regression introduced in r90750.
3483         Also:
3484         - Rename visibleArea to visibleContentRect
3485         - Remove an unnecessary mapToContents in QTouchWebPageProxy::setVisibleContentRect
3486
3487         * UIProcess/API/qt/qtouchwebpage.cpp:
3488         (QTouchWebPagePrivate::setViewportRect):
3489         * UIProcess/TiledDrawingAreaProxy.cpp:
3490         (WebKit::TiledDrawingAreaProxy::invalidate):
3491         (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
3492         (WebKit::TiledDrawingAreaProxy::createTiles):
3493         (WebKit::TiledDrawingAreaProxy::visibleRect):
3494         * UIProcess/TiledDrawingAreaProxy.h:
3495         * UIProcess/qt/qtouchwebpageproxy.cpp:
3496         (QTouchWebPageProxy::setVisibleContentRect):
3497         * UIProcess/qt/qtouchwebpageproxy.h:
3498
3499 2011-07-17  Amruth Raj  <amruthraj@motorola.com>
3500
3501         [GTK] Fix selection of elements in a multi select list and remove an unnecessary include in WorkQueue