Source/JavaScriptCore: JavaScriptCore Part of: Prevent the WebKit frameworks from...
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-09-21  Dan Bernstein  <mitz@apple.com>
2
3         WebKit2 part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
4         https://bugs.webkit.org/show_bug.cgi?id=68451
5
6         Reviewed by Darin Adler.
7
8         * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that invokes
9         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "WK" or "Web".
10
11 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
12
13         [Qt][WK2] Implement Download support in WebProcess
14         https://bugs.webkit.org/show_bug.cgi?id=68153
15
16         Reviewed by Andreas Kling.
17
18         We implement the necessary functions of Download.h, and our QtFileDownloader
19         to handle all network communication and call the necessary functions of Download.
20
21         We use the download policy for any MIME type not supported by WebKit. This
22         behaves like Qt non-WebKit2 except that we don't force download when
23         we encounter Content-Disposition: attachment. We still use the "filename="
24         field for file name suggestion though.
25
26         Based on original patches by: Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>,
27         Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
28         and Zalan Bujtas <zalan.bujtas@nokia.com>.
29
30         * UIProcess/API/qt/qweberror.cpp: Adding DownloadError
31         (QWebError::type):
32         * UIProcess/API/qt/qweberror.h: Adding DownloadError
33         * WebKit2.pro:
34         * WebProcess/Downloads/Download.cpp: Adding QtFileDownloader, Qt platform specific
35         (WebKit::Download::Download):
36         * WebProcess/Downloads/Download.h: Adding QtFileDownloader, Qt platform specific
37         * WebProcess/Downloads/qt/DownloadQt.cpp:
38         (WebKit::Download::start):
39         (WebKit::Download::startWithHandle):
40         (WebKit::Download::cancel):
41         (WebKit::Download::platformInvalidate):
42         (WebKit::Download::didDecideDestination):
43         * WebProcess/Downloads/qt/QtFileDownloader.cpp: Added.
44         (WebKit::QtFileDownloader::QtFileDownloader):
45         (WebKit::QtFileDownloader::~QtFileDownloader):
46         (WebKit::QtFileDownloader::determineFilename):
47         (WebKit::QtFileDownloader::decidedDestination):
48         (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
49         (WebKit::QtFileDownloader::onReadyRead):
50         (WebKit::QtFileDownloader::onFinished):
51         (WebKit::QtFileDownloader::onError):
52         (WebKit::QtFileDownloader::cancel):
53         * WebProcess/Downloads/qt/QtFileDownloader.h: Added.
54
55 2011-09-21  Mark Rowe  <mrowe@apple.com>
56
57         <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time
58
59         The logic in PDFViewController::pathToPDFOnDisk that deals with constructing a unique
60         file name if a file of the suggested name already exists was incorrect. It was appending
61         the template used by mkstemps to the directory name component of the path rather than
62         using it as a prefix on the filename portion of the path. This resulted in a template path
63         like WebKitPDFs-ABCDEFXXXXXX-/foo.pdf where WebKitPDFs-ABCDEF/XXXXXX-foo.pdf was expected.
64
65         Reviewed by Jon Honeycutt.
66
67         * UIProcess/API/mac/PDFViewController.mm:
68         (WebKit::PDFViewController::pathToPDFOnDisk): Append the template as a new path component,
69         then append the suggested file name to that component.
70
71 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
72
73         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
74         https://bugs.webkit.org/show_bug.cgi?id=67702
75
76         Reviewed by Csaba Osztrogonác.
77
78         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype.
79         (WebKit::WebPlatformStrategies::isLinkVisited):
80         (WebKit::WebPlatformStrategies::addVisitedLink):
81         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
82
83 2011-09-20  Anders Carlsson  <andersca@apple.com>
84
85         Get rid of PluginView::setBoundsSize from WebKit2
86         https://bugs.webkit.org/show_bug.cgi?id=68489
87
88         Reviewed by Dan Bernstein.
89
90         Remove m_boundsSize and the setter since they aren't used anywhere.
91
92         * WebProcess/Plugins/PluginView.cpp:
93         * WebProcess/Plugins/PluginView.h:
94
95 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
96
97         [Qt] QTouchWebView missing signal tests for loadProgress
98         https://bugs.webkit.org/show_bug.cgi?id=68442
99
100         Reviewed by Chang Shu.
101
102         Added test case to check load progress signal for QTouchWebView
103
104         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added.
105         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
106
107 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
108
109         Unreviewed, rolling out r95565.
110         http://trac.webkit.org/changeset/95565
111         https://bugs.webkit.org/show_bug.cgi?id=68470
112
113         Broke builds (Requested by andersca on #webkit).
114
115         * GNUmakefile.am:
116         * Shared/API/c/WKHitTestResult.cpp: Removed.
117         * Shared/API/c/WKHitTestResult.h: Removed.
118         * UIProcess/API/C/WebKit2.h:
119
120 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
121
122         [Qt] [WK2] Implement a persistent cookie storage.
123         https://bugs.webkit.org/show_bug.cgi?id=65309
124
125         Reviewed by Chang Shu.
126
127         Add parameter to the WebProcess creation to specify where cookies should be saved.
128         It also use the new cookie storage implementation and set it to our network stack
129         so cookies are used when using it.
130
131         * Shared/WebProcessCreationParameters.cpp:
132         (WebKit::WebProcessCreationParameters::encode):
133         (WebKit::WebProcessCreationParameters::decode):
134         * Shared/WebProcessCreationParameters.h:
135         * UIProcess/qt/WebContextQt.cpp:
136         (WebKit::WebContext::platformInitializeWebProcess):
137         * WebProcess/qt/WebProcessQt.cpp:
138         (WebKit::WebProcess::platformInitializeWebProcess):
139         (WebKit::WebProcess::platformTerminate):
140
141 2011-09-20  Nayan Kumar K  <nayankk@motorola.com>
142
143         Added WKHitTestResult API's.
144
145         WKHitTestResult API's are added. These API's can be used to
146         get the hover'ed link/image/media URL as well as link lable and
147         title.
148         https://bugs.webkit.org/show_bug.cgi?id=68426
149
150         Reviewed by Anders Carlsson.
151
152         * GNUmakefile.am:
153         * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
154         (WKHitTestResultGetTypeID):
155         (WKHitTestResultCopyAbsoluteImageURL):
156         (WKHitTestResultCopyAbsoluteLinkURL):
157         (WKHitTestResultCopyAbsoluteMediaURL):
158         (WKHitTestResultCopyLinkLabel):
159         (WKHitTestResultCopyLinkTitle):
160         * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
161         * UIProcess/API/C/WebKit2.h:
162
163 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
164
165         [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
166         https://bugs.webkit.org/show_bug.cgi?id=68444
167
168         Reviewed by Andreas Kling.
169
170         Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
171
172         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
173         (WebKit::WebFullScreenManagerProxy::invalidate):
174         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
175         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
176         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
177         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
178         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
179         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
180         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
181         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
182         (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
183         * WebKit2.pro:
184         * WebProcess/FullScreen/qt: Added.
185         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
186         (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
187         (WebKit::WebFullScreenManager::create):
188         (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
189         (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
190         (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
191         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.
192
193 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
194
195         [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
196         https://bugs.webkit.org/show_bug.cgi?id=68401
197
198         Reviewed by Simon Hausmann.
199
200         Add QNetworkReply in the QtWebKit module. We use the enum QNetworkReply::NetworkError
201         as the error code when the load fails. It is not used in the QtQuick module therefore
202         the QML team thinks it should belong here. Also added some auto-tests to cover the
203         loading errors.
204
205         * UIProcess/API/qt/qmlplugin/plugin.cpp:
206         (WebKit2QmlPlugin::registerTypes):
207         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: Added.
208         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Added.
209
210 2011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
211
212         [Qt][Mac] Buildfix after r95513.
213
214         Rubber-stamped by Andras Becsi.
215
216         * Scripts/generate-forwarding-headers.pl: Add mm file supporting.
217
218 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
219
220         [Qt] QDesktopWebView missing loadProgress tests
221         https://bugs.webkit.org/show_bug.cgi?id=68280
222
223         Reviewed by Andreas Kling.
224
225         Added test case to check load progress property and signal for QDesktopWebView
226
227         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: Added.
228         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Added.
229         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
230
231 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
232
233         [GTK] WebProcess shouldn't use the GTK+ API
234         https://bugs.webkit.org/show_bug.cgi?id=68062
235
236         Reviewed by Martin Robinson.
237
238         Use WebCore API to create errors in WebProcess.
239
240         * GNUmakefile.am: Don't use webkit/webkierror.h.
241         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
242         (WebKit::cancelledError):
243         (WebKit::blockedError):
244         (WebKit::cannotShowURLError):
245         (WebKit::interruptedForPolicyChangeError):
246         (WebKit::cannotShowMIMETypeError):
247         (WebKit::fileDoesNotExistError):
248         (WebKit::pluginWillHandleLoadError):
249
250 2011-09-19  Mark Rowe  <mrowe@apple.com>
251
252         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
253
254         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
255         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
256         a NoIdleSleep assertion as the latter is implied by the former.
257
258         Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController.
259
260         Reviewed by Dan Bernstein.
261
262         * UIProcess/mac/WKFullScreenWindowController.h:
263         * UIProcess/mac/WKFullScreenWindowController.mm:
264         (-[WKFullScreenWindowController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
265         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
266         disabler that we own. Also adds a FIXME about an error that was noticed while working in this code.
267
268 2011-09-19  Adam Barth  <abarth@webkit.org>
269
270         Always enable ENABLE(EVENTSOURCE)
271         https://bugs.webkit.org/show_bug.cgi?id=68414
272
273         Reviewed by Eric Seidel.
274
275         * Configurations/FeatureDefines.xcconfig:
276
277 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
278
279         [Qt] Unreviewed coding style fix.
280
281         * UIProcess/API/qt/qdesktopwebview.h:
282         * UIProcess/API/qt/qtouchwebpage.h:
283         * UIProcess/API/qt/qweberror.h:
284
285 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
286
287         [Qt][WK2] Make loading errors API easier to use.
288         https://bugs.webkit.org/show_bug.cgi?id=68357
289
290         Reviewed by Tor Arne Vestbø.
291
292         Make the API to get loading errors easier to use. 95197 introduced
293         a QJSValue API that is a bit opaque for the client code. Rather than
294         using a dedicated object, we can just pass the needed information as
295         parameters of the slot.
296
297         * UIProcess/API/qt/qdesktopwebview.cpp:
298         (QDesktopWebViewPrivate::loadDidFail):
299         * UIProcess/API/qt/qdesktopwebview.h:
300         * UIProcess/API/qt/qdesktopwebview_p.h:
301         * UIProcess/API/qt/qtouchwebpage.h:
302         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
303         (tst_CommonViewTests::loadNonexistentFileUrl):
304         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
305         (WebViewAbstraction::WebViewAbstraction):
306         (WebViewAbstraction::touchViewLoadFailed):
307         (WebViewAbstraction::desktopViewLoadFailed):
308         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
309         * UIProcess/qt/QtWebPageProxy.cpp:
310         (QtWebPageProxy::loadDidFail):
311         * UIProcess/qt/TouchViewInterface.cpp:
312         (WebKit::TouchViewInterface::loadDidFail):
313         * UIProcess/qt/TouchViewInterface.h:
314         * UIProcess/qt/ViewInterface.h:
315
316 2011-09-19  Dan Bernstein  <mitz@apple.com>
317
318         WebKit2 part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
319         https://bugs.webkit.org/show_bug.cgi?id=68323
320
321         Reviewed by Sam Weinig.
322
323         Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher.
324         Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject.
325
326         * WebKit2.xcodeproj/project.pbxproj:
327         * WebProcess/WebPage/WebPage.h:
328         * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Removed.
329         * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Removed.
330         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.h.
331         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.mm.
332         * WebProcess/WebPage/mac/WebPageMac.mm:
333         (WebKit::WebPage::platformInitialize):
334         (WebKit::WebPage::accessibilityRemoteObject):
335         * WebProcess/mac/FullKeyboardAccessWatcher.h: Removed.
336         * WebProcess/mac/FullKeyboardAccessWatcher.mm: Removed.
337         * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h.
338         * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm.
339         (+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
340         * WebProcess/mac/WebProcessMac.mm:
341         (WebKit::WebProcess::fullKeyboardAccessEnabled):
342
343 2011-09-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
344
345         [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox
346         https://bugs.webkit.org/show_bug.cgi?id=67938
347
348         Reviewed by Andreas Kling.
349
350         Implement a WebPopupMenuProxy that uses QtWebComboBox (a QComboBox subclass we
351         have for WK1). Then use this WebPopupMenuProxy in QDesktopWebView. The implementation
352         explicitly avoids running a nested mainloop.
353
354         * UIProcess/WebPageProxy.cpp:
355         (WebKit::WebPageProxy::showPopupMenu):
356         Since we don't run a nested mainloop, we need to keep the client pointer to call
357         valueChangedForPopupMenu().
358
359         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Added.
360         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
361         (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
362         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
363         (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
364         (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
365         (WebKit::WebPopupMenuProxyQtDesktop::onPopupMenuHidden):
366         (WebKit::WebPopupMenuProxyQtDesktop::populate):
367         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Added.
368         (WebKit::WebPopupMenuProxyQtDesktop::create):
369         * UIProcess/qt/qdesktopwebpageproxy.cpp:
370         (QDesktopWebPageProxy::createPopupMenuProxy):
371         * UIProcess/qt/qdesktopwebpageproxy.h:
372         * WebKit2.pro:
373
374 2011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
375
376         [GTK] Fix distcheck build
377         https://bugs.webkit.org/show_bug.cgi?id=68241
378
379         Reviewed by Martin Robinson.
380
381         * GNUmakefile.am:
382
383 2011-09-17  Mihai Parparita  <mihaip@chromium.org>
384
385         FrameLoaderClient BackForwardList-related methods are unsued
386         https://bugs.webkit.org/show_bug.cgi?id=68293
387
388         Reviewed by Darin Adler.
389
390         Remove FrameLoaderClient methods that were added by r51629, since only        
391         the old (since-deleted) Android port needed them.
392
393         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
394         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
395
396 2011-09-16  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
397         [Qt] QTouchWebView missing loadProgress tests
398         https://bugs.webkit.org/show_bug.cgi?id=68183
399
400         Reviewed by Chang Shu.
401
402         Added test case to check load progress for QTouchWebView
403
404         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added.
405         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
406
407 2011-09-16  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
408
409         Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files
410         https://bugs.webkit.org/show_bug.cgi?id=68249
411
412         Reviewed by Martin Robinson.
413
414         * Shared/Plugins/NPIdentifierData.cpp: Removed NotImplemented.h inclusion.
415         * Shared/Plugins/NPRemoteObjectMap.cpp: Removed NotImplemented.h inclusion.
416         * Shared/Plugins/NPVariantData.cpp: Removed NotImplemented.h inclusion.
417         * UIProcess/gtk/WebContextGtk.cpp: Removed NotImplemented.h inclusion.
418         * WebProcess/Cookies/WebCookieManager.cpp: Removed NotImplemented.h inclusion.
419         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Removed NotImplemented.h inclusion.
420         * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Removed NotImplemented.h inclusion.
421         * WebProcess/Plugins/Netscape/NPJSObject.cpp: Removed NotImplemented.h inclusion.
422         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Removed NotImplemented.h inclusion.
423         * WebProcess/WebCoreSupport/WebInspectorClient.cpp: Removed NotImplemented.h inclusion.
424
425 2011-09-16  Simon Fraser  <simon.fraser@apple.com>
426
427         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
428         https://bugs.webkit.org/show_bug.cgi?id=68134
429
430         Reviewed by Sam Weinig.
431
432         Hook up a private preference that enables the mock scrollbar theme.
433
434         * Shared/WebPreferencesStore.h:
435         * UIProcess/API/C/WKPreferences.cpp:
436         (WKPreferencesSetMockScrollbarsEnabled):
437         (WKPreferencesGetMockScrollbarsEnabled):
438         * UIProcess/API/C/WKPreferencesPrivate.h:
439         * WebProcess/WebPage/WebPage.cpp:
440         (WebKit::WebPage::updatePreferences):
441
442 2011-09-16  Mark Rowe  <mrowe@apple.com>
443
444         Stop installing source and header files in to WebKit2.framework after r95303.
445
446         * WebKit2.xcodeproj/project.pbxproj:
447
448 2011-09-16  Anders Carlsson  <andersca@apple.com>
449
450         Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
451         https://bugs.webkit.org/show_bug.cgi?id=68269
452
453         Reviewed by Geoffrey Garen.
454
455         Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
456
457         * UIProcess/API/C/WKPage.h:
458         * UIProcess/WebUIClient.cpp:
459         (WebKit::WebUIClient::mouseDidMoveOverElement):
460
461 2011-09-16  Alexey Proskuryakov  <ap@apple.com>
462
463         Give local builds of WebProcess different icon to distinguish them from built-in Safari’s WebProcess
464         https://bugs.webkit.org/show_bug.cgi?id=68268
465
466         Reviewed by Darin Adler.
467
468         * Configurations/WebProcess.xcconfig: Add an icon in Debug and Release builds.  The empty
469         value for production resulted in WebKit not adding the key to plist at all, which is what
470         we want (but I don't know if it's a supported feature).
471         Also, don't copy the icon file to built framework in production builds.
472
473         * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns.
474
475         * WebProcess/Info.plist: Added a key for the icon.
476
477         * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns.
478
479 2011-09-16  Anders Carlsson  <andersca@apple.com>
480
481         Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API
482         https://bugs.webkit.org/show_bug.cgi?id=68266
483
484         Reviewed by John Sullivan.
485
486         * UIProcess/API/C/WKPage.h:
487         * UIProcess/WebUIClient.cpp:
488         (WebKit::WebUIClient::mouseDidMoveOverElement):
489
490 2011-09-16  Filip Pizlo  <fpizlo@apple.com>
491
492         DFG JIT should inline Math.abs
493         https://bugs.webkit.org/show_bug.cgi?id=68227
494
495         Reviewed by Oliver Hunt.
496
497         Added JavaScriptCore/dfg to include path path.
498
499         * CMakeLists.txt:
500
501 2011-09-16  Igor Oliveira  <igor.oliveira@openbossa.org>
502
503         [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.
504         https://bugs.webkit.org/show_bug.cgi?id=68125
505
506         This patch implements support for the UiProcess to know what is the link url of a hovered element.
507
508         Reviewed by Anders Carlsson.
509
510         * CMakeLists.txt:
511         * GNUmakefile.am:
512         * Shared/API/c/WKBase.h:
513         * Shared/APIObject.h:
514         * Shared/WebHitTestResult.cpp: Added.
515
516         WebHitTestResult has hovered element information.
517
518         (WebKit::WebHitTestResult::create):
519         (WebKit::WebHitTestResult::Data::encode):
520         (WebKit::WebHitTestResult::Data::decode):
521         * Shared/WebHitTestResult.h: Added.
522         (WebKit::WebHitTestResult::absoluteImageURL):
523         (WebKit::WebHitTestResult::absoluteLinkURL):
524         (WebKit::WebHitTestResult::absoluteMediaURL):
525         (WebKit::WebHitTestResult::linkLabel):
526         (WebKit::WebHitTestResult::linkTitle):
527         (WebKit::WebHitTestResult::WebHitTestResult):
528         (WebKit::WebHitTestResult::type):
529         * UIProcess/API/C/WKAPICast.h:
530         * UIProcess/API/C/WKPage.h:
531         * UIProcess/WebPageProxy.cpp:
532         (WebKit::WebPageProxy::mouseDidMoveOverElement):
533         * UIProcess/WebPageProxy.h:
534         * UIProcess/WebPageProxy.messages.in:
535         * UIProcess/WebUIClient.cpp:
536         (WebKit::WebUIClient::mouseDidMoveOverElement):
537         * UIProcess/WebUIClient.h:
538         * WebKit2.pro:
539         * WebKit2.xcodeproj/project.pbxproj:
540         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
541         (WebKit::WebChromeClient::mouseDidMoveOverElement):
542         * win/WebKit2.vcproj:
543
544 2011-09-15  Adam Roben  <aroben@apple.com>
545
546         Add support for attributes on message parameters
547
548         Parameter attributes are specified as a space-separated list inside square brackets before
549         the parameter's type. WebKit2 doesn't use this, but other projects that use these scripts
550         would like to.
551
552         Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message
553         parameters
554
555         Reviewed by Sam Weinig.
556
557         * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes.
558
559         * Scripts/webkit2/model.py:
560         (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes
561         property.
562         (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute.
563
564         * Scripts/webkit2/parser.py:
565         (parse): Moved attributes-parsing code from here...
566         (parse_attributes_string): ...to here.
567         (parse_parameters_string): Renamed from parse_parameter_string. Now also parses parameter
568         attributes.
569
570 2011-09-15  Adam Roben  <aroben@apple.com>
571
572         Make WebKit2's message-generation model and parser scripts accessible to other projects
573
574         We copy them into the build products directory so other projects can find them.
575
576         Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation
577         scripts in other projects
578
579         Reviewed by Darin Adler.
580
581         * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders.
582
583         * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to
584         tools/scripts, like WebCore does.
585
586         * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what
587         WebCore does for its bindings scripts.
588
589 2011-09-15  Adam Roben  <aroben@apple.com>
590
591         Split some of the message-generation code into separate modules
592
593         This is in preparation for making these modules scripts usable by other projects.
594
595         Fixes <http://webkit.org/b/68217> Model and parsing functionality for WebKit2's
596         message-generation scripts is trapped inside a much larger module
597
598         Reviewed by Darin Adler.
599
600         * DerivedSources.make:
601         * DerivedSources.pro:
602         * GNUmakefile.am:
603         * WebKit2.xcodeproj/project.pbxproj:
604         * win/WebKit2.vcproj:
605         * win/WebKit2Generated.vcproj:
606         Added new files.
607
608         * Scripts/webkit2/messages.py: Moved some code from here...
609
610         * Scripts/webkit2/model.py: Added.
611         * Scripts/webkit2/parser.py: Added.
612         ...to here. MessageReceiver.parse was split out into a function in the new parser module.
613
614         * Scripts/webkit2/messages_unittest.py: Updated for renames.
615
616 2011-09-16  Martin Robinson  <mrobinson@igalia.com>
617
618         [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit
619         https://bugs.webkit.org/show_bug.cgi?id=68178
620
621         Reviewed by Xan Lopez.
622
623         * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support
624         for WebKit2.
625
626 2011-09-15  Adam Barth  <abarth@webkit.org>
627
628         Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
629         https://bugs.webkit.org/show_bug.cgi?id=68205
630
631         Reviewed by Eric Seidel.
632
633         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
634         * WebProcess/WebCoreSupport/WebChromeClient.h:
635         * WebProcess/WebPage/WebPage.cpp:
636         (WebKit::WebPage::updatePreferences):
637         * WebProcess/WebProcess.cpp:
638         (WebKit::WebProcess::initializeWebProcess):
639
640 2011-09-15  Eric Seidel  <eric@webkit.org>
641
642         Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
643         https://bugs.webkit.org/show_bug.cgi?id=68182
644
645         Reviewed by Adam Barth.
646
647         * Configurations/FeatureDefines.xcconfig:
648
649 2011-09-15  Eric Seidel  <eric@webkit.org>
650
651         Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
652         https://bugs.webkit.org/show_bug.cgi?id=68022
653
654         Reviewed by Ryosuke Niwa.
655
656         * Configurations/FeatureDefines.xcconfig:
657
658 2011-09-15  Alexis Menard  <alexis.menard@openbossa.org>
659
660         [Qt][WK2] Make QWebError more friendly to QML.
661         https://bugs.webkit.org/show_bug.cgi?id=67785
662
663         Reviewed by Simon Hausmann.
664
665         Make sure that we can use the loading errors in QML. We send it via a QJSValue which
666         has the properties needed to get the error code, the url and the type of error.
667
668         * UIProcess/API/qt/qdesktopwebview.cpp:
669         (QDesktopWebViewPrivate::loadDidFail):
670         (QDesktopWebViewPrivate::engine):
671         * UIProcess/API/qt/qdesktopwebview.h:
672         * UIProcess/API/qt/qdesktopwebview_p.h:
673         * UIProcess/API/qt/qtouchwebpage.h:
674         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
675         (tst_CommonViewTests::loadNonexistentFileUrl):
676         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
677         (WebViewAbstraction::WebViewAbstraction):
678         (WebViewAbstraction::touchViewLoadFailed):
679         (WebViewAbstraction::desktopViewLoadFailed):
680         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
681         * UIProcess/API/qt/tests/testwindow.h:
682         * UIProcess/qt/QtWebPageProxy.cpp:
683         (QtWebPageProxy::loadDidFail):
684         * UIProcess/qt/QtWebPageProxy.h:
685         * UIProcess/qt/TouchViewInterface.cpp:
686         (WebKit::TouchViewInterface::loadDidFail):
687         (WebKit::TouchViewInterface::engine):
688         * UIProcess/qt/TouchViewInterface.h:
689         * UIProcess/qt/ViewInterface.h:
690
691 2011-09-15  Adam Roben  <aroben@apple.com>
692
693         Remove WebKit2-specific knowledge from the Message class
694
695         This is in preparation for making some of our message-generations scripts usable by other
696         projects.
697
698         Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know
699         too much about WebKit2 details
700
701         Reviewed by Anders Carlsson.
702
703         * Scripts/webkit2/messages.py: Added constants for the message attributes we support.
704         (MessageReceiver.parse): Instead of recognizing individual attributes, just stick the
705         attributes into a set and pass it to the Message constructor.
706         (Message.__init__): Changed to take a generic set of attributes instead of individual
707         attributes.
708         (Message.has_attribute): Added. Returns true if the message has an attribute.
709         (message_is_variadic): Renamed from parameter_type_is_variadic. Code came from
710         Message.__init__, which set the old message.is_variadic property.
711
712         (decode_type):
713         (message_to_struct_declaration):
714         (forward_declarations_and_headers):
715         (async_case_statement):
716         (sync_case_statement):
717         (generate_message_handler):
718         Updated to use Message.has_attribute and message_is_variadic.
719
720 2011-09-14  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
721
722         Eliminate WebKit2 compilation warnings.
723         https://bugs.webkit.org/show_bug.cgi?id=65025
724
725         Warnings found with gcc on linux.
726
727         Reviewed by Sam Weinig.
728
729         * Platform/CoreIPC/ArgumentEncoder.cpp:
730         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
731         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
732         (WebKit::WebFrameLoaderClient::createPlugin):
733
734 2011-09-14  Ada Chan  <adachan@apple.com>
735
736         Implement WKBundleFrameCopyWebArchive().
737         http://bugs.webkit.org/show_bug.cgi?id=67857
738
739         Reviewed by Anders Carlsson.
740
741         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
742         (WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef.
743         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
744         * WebProcess/WebPage/WebFrame.cpp:
745         (WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData().
746         * WebProcess/WebPage/WebFrame.h:
747         * WebProcess/WebPage/WebPage.cpp:
748         (WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here.
749
750 2011-09-14  Alexey Proskuryakov  <ap@apple.com>
751
752         Web Process doesn't need a permission to look up WebProcess service any more
753         https://bugs.webkit.org/show_bug.cgi?id=68101
754
755         Reviewed by Anders Carlsson.
756
757         * WebProcess/com.apple.WebProcess.sb:
758
759 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
760
761         Unzip initialization lists and constructors in JSCell hierarchy (6/7)
762         https://bugs.webkit.org/show_bug.cgi?id=67692
763
764         Reviewed by Geoffrey Garen.
765
766         Completed the sixth level of the refactoring to add finishCreation() 
767         methods to all classes within the JSCell hierarchy with non-trivial 
768         constructor bodies.
769
770         This primarily consists of pushing the calls to finishCreation() down 
771         into the constructors of the subclasses of the fifth level of the hierarchy 
772         as well as pulling the finishCreation() calls out into the class's corresponding
773         create() method if it has one.  Doing both simultaneously allows us to 
774         maintain the invariant that the finishCreation() method chain is called exactly 
775         once during the creation of an object, since calling it any other number of 
776         times (0, 2, or more) will cause an assertion failure.
777
778         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
779         (WebKit::JSNPMethod::JSNPMethod):
780         * WebProcess/Plugins/Netscape/JSNPMethod.h:
781         (WebKit::JSNPMethod::create):
782
783 2011-09-13  Eric Seidel  <eric@webkit.org>
784
785         Remove ENABLE_SVG_USE as <use> is required by HTML5
786         https://bugs.webkit.org/show_bug.cgi?id=68019
787
788         Reviewed by Ryosuke Niwa.
789
790         * Configurations/FeatureDefines.xcconfig:
791
792 2011-09-13  Anders Carlsson  <andersca@apple.com>
793
794         Disable C++ exceptions when building with clang
795         https://bugs.webkit.org/show_bug.cgi?id=68031
796         <rdar://problem/9556880>
797
798         Reviewed by Mark Rowe.
799
800         * Configurations/Base.xcconfig:
801
802 2011-09-13  Eric Seidel  <eric@webkit.org>
803
804         Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
805         https://bugs.webkit.org/show_bug.cgi?id=68018
806
807         Reviewed by Ryosuke Niwa.
808
809         * Configurations/FeatureDefines.xcconfig:
810
811 2011-09-13  Chang Shu  <cshu@webkit.org>
812
813         [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
814         https://bugs.webkit.org/show_bug.cgi?id=57515
815
816         The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.
817
818         Reviewed by Darin Adler.
819
820         * UIProcess/API/C/WKPage.cpp:
821         (WKPageSetShouldSendKeyboardEventSynchronously):
822         * UIProcess/API/C/WKPagePrivate.h:
823         * UIProcess/WebPageProxy.cpp:
824         (WebKit::WebPageProxy::WebPageProxy):
825         (WebKit::WebPageProxy::handleKeyboardEvent):
826         * UIProcess/WebPageProxy.h:
827         (WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously):
828         * WebProcess/WebPage/WebPage.cpp:
829         (WebKit::WebPage::keyEventSyncForTesting):
830         * WebProcess/WebPage/WebPage.h:
831         * WebProcess/WebPage/WebPage.messages.in:
832
833 2011-09-12  Ryuan Choi  <ryuan.choi@samsung.com>
834
835         Reviewed by Eric Seidel.
836
837         [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
838         https://bugs.webkit.org/show_bug.cgi?id=62692
839
840         * CMakeLists.txt: define WTF_USE_JSC=1.
841         * config.h: add cmakeconfig.h and define necessary macros for CMake build.
842
843 2011-09-12  Igor Oliveira  <igor.oliveira@openbossa.org>
844
845         [Qt] [WK2] implement support to upload files in Qt WebKit2
846         https://bugs.webkit.org/show_bug.cgi?id=67228
847
848         This patch implements support to upload files in the Desktop Qt WebKit2 implementation.
849
850         Reviewed by Andreas Kling.
851
852         * Shared/WebOpenPanelParameters.h:
853         (WebKit::WebOpenPanelParameters::selectedFileNames):
854         * UIProcess/API/qt/qdesktopwebview.cpp:
855         (QDesktopWebViewPrivate::chooseFiles):
856         (QDesktopWebViewPrivate::onOpenPanelFilesSelected):
857         (QDesktopWebViewPrivate::onOpenPanelFinished):
858         * UIProcess/API/qt/qdesktopwebview_p.h:
859         * UIProcess/qt/ClientImpl.cpp:
860
861         qt_wk_runOpenPanel supports single and multiple files selection.
862
863         (qt_wk_runOpenPanel):
864         * UIProcess/qt/ClientImpl.h:
865         * UIProcess/qt/QtWebPageProxy.cpp:
866         (QtWebPageProxy::init):
867         * UIProcess/qt/TouchViewInterface.h:
868         (WebKit::TouchViewInterface::chooseFiles):
869         * UIProcess/qt/ViewInterface.h:
870
871 2011-09-12  Alexis Menard  <alexis.menard@openbossa.org>
872
873         [Qt]Style error fix.
874
875         Reviewed by Andreas Kling.
876
877         * UIProcess/qt/QtWebPageProxy.cpp:
878
879 2011-09-11  Mark Rowe  <mrowe@apple.com>
880
881         <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting
882
883         It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to
884         interrupt a nested invocation of -run without also causing outer invocations to exit after processing
885         their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation
886         of the main runloop, while using CFRunLoopRun for any nested invocations.
887
888         Reviewed by Anders Carlsson.
889
890         * Platform/RunLoop.h:
891         * Platform/mac/RunLoopMac.mm:
892         (RunLoop::RunLoop): Initialize the nesting level to 0.
893         (RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the
894         runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources
895         left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it.
896         (RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop.
897
898 2011-09-11  Balazs Kelemen  <kbalazs@webkit.org>
899
900         [Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures
901         https://bugs.webkit.org/show_bug.cgi?id=67094
902
903         Reviewed by Andreas Kling.
904
905         * UIProcess/qt/QtWebPageProxy.cpp:
906         (QtWebPageProxy::init):
907
908 2011-09-09  Oliver Hunt  <oliver@apple.com>
909
910         Remove support for anonymous storage from jsobjects
911         https://bugs.webkit.org/show_bug.cgi?id=67881
912
913         Reviewed by Sam Weinig.
914
915         Remove the use of AnonymousSlotCount.
916
917         * WebProcess/Plugins/Netscape/JSNPMethod.h:
918         (WebKit::JSNPMethod::createStructure):
919         * WebProcess/Plugins/Netscape/JSNPObject.h:
920         (WebKit::JSNPObject::createStructure):
921
922 2011-09-09  Chris Marrin  <cmarrin@apple.com>
923
924         requestAnimationFrame doesn't throttle on Mac
925         https://bugs.webkit.org/show_bug.cgi?id=67171
926
927         Reviewed by Simon Fraser.
928
929         Removed runLoopObserver for requestAnimationFrame. It's now
930         done by a Timer in ScriptedAnimationController in WebCore.
931
932         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
933         * WebProcess/WebCoreSupport/WebChromeClient.h:
934         * WebProcess/WebPage/WebPage.cpp:
935         (WebKit::WebPage::~WebPage):
936         * WebProcess/WebPage/WebPage.h:
937         * WebProcess/WebPage/mac/WebPageMac.mm:
938
939 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
940
941         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
942         https://bugs.webkit.org/show_bug.cgi?id=67250
943
944         Reviewed by Simon Fraser.
945
946         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
947         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
948         * WebProcess/WebPage/WebPage.cpp:
949         (WebKit::WebPage::scalePage):
950         (WebKit::WebPage::pageScaleFactor):
951
952 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
953
954         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
955         https://bugs.webkit.org/show_bug.cgi?id=67420
956
957         Reviewed by Geoffrey Garen.
958
959         Completed the fifth level of the refactoring to add finishCreation() 
960         methods to all classes within the JSCell hierarchy with non-trivial 
961         constructor bodies.
962
963         This primarily consists of pushing the calls to finishCreation() down 
964         into the constructors of the subclasses of the second level of the hierarchy 
965         as well as pulling the finishCreation() calls out into the class's corresponding
966         create() method if it has one.  Doing both simultaneously allows us to 
967         maintain the invariant that the finishCreation() method chain is called exactly 
968         once during the creation of an object, since calling it any other number of 
969         times (0, 2, or more) will cause an assertion failure.
970
971         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
972         (WebKit::JSNPMethod::JSNPMethod):
973         (WebKit::JSNPMethod::finishCreation):
974         * WebProcess/Plugins/Netscape/JSNPMethod.h:
975         (WebKit::JSNPMethod::create):
976         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
977         (WebKit::JSNPObject::JSNPObject):
978         * WebProcess/Plugins/Netscape/JSNPObject.h:
979         (WebKit::JSNPObject::create):
980
981 2011-09-08  Mark Rowe  <mrowe@apple.com>
982
983         <rdar://problem/9742393> Spell checking a text area causes the page to reload
984
985         Ensure that m_pendingLearnOrIgnoreWordMessageCount is incremented when we use
986         executeEditCommand to ignore a word. This will ensure that WebPageProxy::ignoreWord
987         is expecting to be called, and will not turn around and terminate the web process.
988
989         Reviewed by Anders Carlsson.
990
991         * UIProcess/WebPageProxy.cpp:
992         (WebKit::WebPageProxy::executeEditCommand):
993
994 2011-09-08  Sam Weinig  <sam@webkit.org>
995
996         Remove accidentally committed typo.
997
998         * Platform/CoreIPC/Connection.cpp:
999         (CoreIPC::Connection::waitForSyncReply):
1000
1001 2011-09-08  Brian Weinstein  <bweinstein@apple.com>
1002
1003         WebKit2: Assertion when calling didPerform*Redirect on null source/destination URL string
1004         https://bugs.webkit.org/show_bug.cgi?id=67794
1005         <rdar://problem/9892024>
1006         
1007         Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string
1008         is empty or null.
1009         
1010         If we call didPerformClientRedirect or didPerformServerRedirect when the source or destination is null,
1011         it causes an assert in WKURLCF::WKURLCopyCFURL when we try to convert the WKURLRef into a CFURLRef.
1012
1013         Reviewed by Brady Eidson.
1014
1015         * UIProcess/WebContext.cpp:
1016         (WebKit::WebContext::didPerformClientRedirect): Return early if the source or destination URL string is empty or null.
1017         (WebKit::WebContext::didPerformServerRedirect): Ditto.
1018
1019 2011-09-08  Sam Weinig  <sam@webkit.org>
1020
1021         Remove the Completion object from JSC, I have never liked it
1022         https://bugs.webkit.org/show_bug.cgi?id=67755
1023
1024         Reviewed by Gavin Barraclough.
1025
1026         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1027         (WebKit::NPRuntimeObjectMap::evaluate):
1028
1029 2011-09-08  Anders Carlsson  <andersca@apple.com>
1030
1031         Don't release the modal placeholder window if it's closed
1032         https://bugs.webkit.org/show_bug.cgi?id=67801
1033         <rdar://problem/10088059>
1034
1035         Reviewed by Adam Roben.
1036
1037         This is a speculative fix - nothing should really be able to close the modal placeholder window.
1038
1039         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1040         (WebKit::PluginProcessProxy::beginModal):
1041
1042 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
1043
1044         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
1045         https://bugs.webkit.org/show_bug.cgi?id=67511
1046
1047         Reviewed by Dimitri Glazkov.
1048
1049         * win/WebKit2.def:
1050         * win/WebKit2CFLite.def:
1051
1052 2011-09-06  Oliver Hunt  <oliver@apple.com>
1053
1054         Remove JSObjectWithGlobalObject
1055         https://bugs.webkit.org/show_bug.cgi?id=67689
1056
1057         Reviewed by Geoff Garen.
1058
1059         Remove JSObjectWithGlobalObject usage.
1060
1061         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1062         (WebKit::JSNPObject::JSNPObject):
1063         (WebKit::JSNPObject::finishCreation):
1064         * WebProcess/Plugins/Netscape/JSNPObject.h:
1065
1066 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1067
1068         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
1069         https://bugs.webkit.org/show_bug.cgi?id=67606
1070
1071         TiledBackingStore previously used different values for horizontal and vertial multiplication
1072         to calculate the cover area. 
1073         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
1074         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
1075         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
1076         of the viewport.
1077
1078         * UIProcess/API/qt/qtouchwebview.cpp:
1079         (QTouchWebViewPrivate::QTouchWebViewPrivate):
1080         (QTouchWebViewPrivate::_q_viewportMotionVectorChanged):
1081         * UIProcess/API/qt/qtouchwebview.h:
1082         * UIProcess/API/qt/qtouchwebview_p.h:
1083         * UIProcess/TiledDrawingAreaProxy.cpp:
1084         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectMotionVector):
1085         * UIProcess/TiledDrawingAreaProxy.h:
1086         * UIProcess/qt/ViewportInteractionEngine.cpp:
1087         (WebKit::ViewportInteractionEngine::panGestureRequestUpdate):
1088         (WebKit::ViewportInteractionEngine::panGestureEnded):
1089         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
1090         * UIProcess/qt/ViewportInteractionEngine.h:
1091         * UIProcess/qt/qtouchwebpageproxy.cpp:
1092         (QTouchWebPageProxy::setVisibleContentRectMotionVector):
1093         * UIProcess/qt/qtouchwebpageproxy.h:
1094         * WebProcess/WebPage/DrawingArea.h:
1095         (WebKit::DrawingArea::setVisibleContentRectMotionVector):
1096         * WebProcess/WebPage/DrawingArea.messages.in:
1097         * WebProcess/WebPage/TiledDrawingArea.cpp:
1098         (WebKit::TiledDrawingArea::setVisibleContentRectMotionVector):
1099         * WebProcess/WebPage/TiledDrawingArea.h:
1100
1101 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1102
1103         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
1104         https://bugs.webkit.org/show_bug.cgi?id=67416
1105
1106         Reviewed by Kenneth Rohde Christiansen.
1107
1108         Original code by Antti Koivisto.
1109         With the current code, when the page is layouted during load, edge tiles will
1110         get removed instead of continuing to show their front buffer while the tile
1111         is being rendered for the new size.
1112
1113         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1114         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1115         (WebKit::TiledBackingStoreRemoteTile::resize):
1116         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
1117
1118 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1119
1120         TiledDrawingArea: Fix issues where the tiles of the previous scale would be removed too early.
1121         https://bugs.webkit.org/show_bug.cgi?id=67390
1122
1123         Reviewed by Tor Arne Vestbø.
1124
1125         The two issues addresssed are:
1126         - The previous instance of the tile backing store would be destroyed in createTile which
1127           would send removeTile messages for all its tiles before the DidRenderFrame message is sent for the new tiles.
1128         - When quickly changing the scale a second time after a scale change, the previous tile set would
1129           be replaced by the current incomplete tile set which may contain no tiles at all.
1130         * WebProcess/WebPage/TiledDrawingArea.cpp:
1131         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
1132         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
1133         (WebKit::TiledDrawingArea::createTile):
1134
1135 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1136
1137         [Qt][WK2] The scene graph is rendered continuously even when the page is idle.
1138         https://bugs.webkit.org/show_bug.cgi?id=67195
1139
1140         Reviewed by Tor Arne Vestbø.
1141
1142         Since tiledBackingStorePaintEnd is called even when no tile is dirty, the TiledDrawingArea
1143         and its proxy are looping over DidRenderFrame and RenderNextFrame messages.
1144         This causes QSGItem::update() to be called and consumes a lot of useless CPU cycles on the UI process.
1145
1146         Introduce a bool to send DidRenderFrame only when dirty content was rendered.
1147
1148         * WebProcess/WebPage/TiledDrawingArea.cpp:
1149         (WebKit::TiledDrawingArea::TiledDrawingArea):
1150         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
1151         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
1152         * WebProcess/WebPage/TiledDrawingArea.h:
1153
1154 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1155
1156         [Qt][WK2] Make sure that the visible content rect and the content scale get to the web process in one single message.
1157         https://bugs.webkit.org/show_bug.cgi?id=67189
1158
1159         Reviewed by Kenneth Rohde Christiansen.
1160
1161         The TiledBackingStore needs to know the screen size of the viewport to know how many tiles to
1162         create, and since the visible content rect is given in page coordinates, the contents scale is
1163         necessary to calculate the viewport size.
1164         Both the rect and the scale then need to arrive to the web process at the same time to prevent
1165         picking the new visible rect with the old scale or vice-versa which can produce a huge viewport size
1166         and create/render an insane amount of tiles.
1167
1168         Things this patch does:
1169         - Merge the visible contents rect and content scale handling together.
1170         - Make QTouchWebView responsible for telling those viewport values to the web process instead of QTouchWebPage.
1171         - Prevent updating the viewport in ViewportInteractionEngine while a pinch is in progress and update the viewport at the end.
1172
1173         * UIProcess/API/qt/qtouchwebpage.cpp:
1174         * UIProcess/API/qt/qtouchwebpage.h:
1175         * UIProcess/API/qt/qtouchwebpage_p.h:
1176         * UIProcess/API/qt/qtouchwebview.cpp:
1177         (QTouchWebViewPrivate::QTouchWebViewPrivate):
1178         (QTouchWebViewPrivate::_q_viewportUpdated):
1179         (QTouchWebView::geometryChanged):
1180         * UIProcess/API/qt/qtouchwebview.h:
1181         * UIProcess/API/qt/qtouchwebview_p.h:
1182         * UIProcess/TiledDrawingAreaProxy.cpp:
1183         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectAndScale):
1184         * UIProcess/TiledDrawingAreaProxy.h:
1185         * UIProcess/qt/ViewportInteractionEngine.cpp:
1186         (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
1187         (WebKit::ViewportInteractionEngine::~ViewportInteractionEngine): Allows OwnPtr with the forward declaration of ViewportUpdateGuard.
1188         (WebKit::ViewportInteractionEngine::setConstraints):
1189         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
1190         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
1191         (WebKit::ViewportInteractionEngine::contentViewportChanged):
1192         * UIProcess/qt/ViewportInteractionEngine.h:
1193         * UIProcess/qt/qtouchwebpageproxy.cpp:
1194         (QTouchWebPageProxy::setVisibleContentRectAndScale):
1195         * UIProcess/qt/qtouchwebpageproxy.h:
1196         * WebProcess/WebPage/DrawingArea.h:
1197         (WebKit::DrawingArea::setVisibleContentRectAndScale):
1198         * WebProcess/WebPage/DrawingArea.messages.in:
1199         * WebProcess/WebPage/TiledDrawingArea.cpp:
1200         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
1201         * WebProcess/WebPage/TiledDrawingArea.h:
1202
1203 2011-08-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1204
1205         [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability.
1206         https://bugs.webkit.org/show_bug.cgi?id=67122
1207
1208         Reviewed by Tor Arne Vestbø.
1209
1210         * UIProcess/API/qt/qtouchwebpage.cpp:
1211         (QTouchWebPage::updatePaintNode):
1212         (QTouchWebPagePrivate::QTouchWebPagePrivate):
1213         * UIProcess/API/qt/qtouchwebpage_p.h:
1214         * UIProcess/qt/SGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.cpp.
1215         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
1216         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
1217         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
1218         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
1219         (WebKit::SGUpdateQueue::SGUpdateQueue):
1220         (WebKit::SGUpdateQueue::createTileNode):
1221         (WebKit::SGUpdateQueue::removeTileNode):
1222         (WebKit::SGUpdateQueue::setNodeBackBuffer):
1223         (WebKit::SGUpdateQueue::swapTileBuffers):
1224         (WebKit::SGUpdateQueue::applyUpdates):
1225         (WebKit::SGUpdateQueue::getScaleNode):
1226         * UIProcess/qt/SGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.h.
1227         (WebKit::SGUpdateQueue::isSwapPending):
1228         (WebKit::NodeUpdate::NodeUpdate):
1229         (WebKit::NodeUpdate::~NodeUpdate):
1230         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
1231         (WebKit::TiledDrawingAreaProxy::updateWebView):
1232         (WebKit::TiledDrawingAreaProxy::createTile):
1233         (WebKit::TiledDrawingAreaProxy::updateTile):
1234         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
1235         (WebKit::TiledDrawingAreaProxy::removeTile):
1236         * UIProcess/qt/TouchViewInterface.cpp:
1237         (WebKit::TouchViewInterface::sceneGraphUpdateQueue):
1238         * UIProcess/qt/TouchViewInterface.h:
1239         * WebKit2.pro:
1240
1241 2011-09-07  Alexis Menard  <alexis.menard@openbossa.org>
1242
1243         [Qt] Unreviewed suppression of an unnecessary debug output. 
1244
1245         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1246
1247 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1248
1249         Unreviewed, rolling out r94627 and r94632.
1250         http://trac.webkit.org/changeset/94627
1251         http://trac.webkit.org/changeset/94632
1252         https://bugs.webkit.org/show_bug.cgi?id=67698
1253
1254         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
1255
1256         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1257         (WebKit::JSNPMethod::JSNPMethod):
1258         (WebKit::JSNPMethod::create):
1259         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1260         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1261         (WebKit::JSNPObject::JSNPObject):
1262         (WebKit::JSNPObject::create):
1263         * WebProcess/Plugins/Netscape/JSNPObject.h:
1264
1265 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1266
1267         fast/forms/suggested-value-crash.html crashes on Windows
1268         https://bugs.webkit.org/show_bug.cgi?id=67688
1269
1270         Reviewed by Adam Barth.
1271
1272         Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal.
1273
1274         * win/WebKit2.def:
1275         * win/WebKit2CFLite.def:
1276
1277 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
1278
1279         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
1280         https://bugs.webkit.org/show_bug.cgi?id=67420
1281
1282         Reviewed by Geoffrey Garen.
1283
1284         Completed the fifth level of the refactoring to add finishCreation() 
1285         methods to all classes within the JSCell hierarchy with non-trivial 
1286         constructor bodies.
1287
1288         This primarily consists of pushing the calls to finishCreation() down 
1289         into the constructors of the subclasses of the second level of the hierarchy 
1290         as well as pulling the finishCreation() calls out into the class's corresponding
1291         create() method if it has one.  Doing both simultaneously allows us to 
1292         maintain the invariant that the finishCreation() method chain is called exactly 
1293         once during the creation of an object, since calling it any other number of 
1294         times (0, 2, or more) will cause an assertion failure.
1295
1296         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1297         (WebKit::JSNPMethod::JSNPMethod):
1298         (WebKit::JSNPMethod::finishCreation):
1299         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1300         (WebKit::JSNPMethod::create):
1301         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1302         (WebKit::JSNPObject::JSNPObject):
1303         * WebProcess/Plugins/Netscape/JSNPObject.h:
1304         (WebKit::JSNPObject::create):
1305
1306 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1307
1308         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
1309         https://bugs.webkit.org/show_bug.cgi?id=67569
1310
1311         Reviewed by Antonio Gomes.
1312
1313         * UIProcess/API/mac/WKView.mm:
1314         (-[WKView resignFirstResponder]):
1315         (-[WKView _updateTextInputStateIncludingSecureInputState:]):
1316         * UIProcess/WebPageProxy.h:
1317         * UIProcess/mac/WebPageProxyMac.mm:
1318         (WebKit::WebPageProxy::cancelComposition):
1319         * WebProcess/WebPage/WebPage.h:
1320         * WebProcess/WebPage/WebPage.messages.in:
1321         * WebProcess/WebPage/mac/WebPageMac.mm:
1322         (WebKit::WebPage::cancelComposition):
1323
1324 2011-09-05  Oliver Hunt  <oliver@apple.com>
1325
1326         An object's structure should reference the global object responsible for its creation
1327         https://bugs.webkit.org/show_bug.cgi?id=67624
1328
1329         Reviewed by Gavin Barraclough.
1330
1331         Update for new Structure::create globalObject parameter.
1332
1333         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1334         (WebKit::JSNPMethod::create):
1335         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1336         (WebKit::JSNPMethod::createStructure):
1337         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1338         (WebKit::JSNPObject::create):
1339         * WebProcess/Plugins/Netscape/JSNPObject.h:
1340         (WebKit::JSNPObject::createStructure):
1341
1342 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1343
1344         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
1345         https://bugs.webkit.org/show_bug.cgi?id=67453
1346
1347         Reviewed by Kent Tamura.
1348
1349         Add symbols for internals.
1350
1351         * win/WebKit2.def:
1352         * win/WebKit2CFLite.def:
1353
1354 2011-09-06  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
1355
1356         [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2.
1357         https://bugs.webkit.org/show_bug.cgi?id=67593
1358
1359         Reviewed by Martin Robinson.
1360
1361         Using soup_session_add_feature_by_type for adding all soup features 
1362         instead of adding using GRefPtr.
1363
1364         * WebProcess/gtk/WebProcessMainGtk.cpp:
1365         (WebKit::WebProcessMainGtk):
1366
1367 2011-09-05  Balazs Kelemen  <kbalazs@webkit.org>
1368
1369         [Qt][WK2] Add pixel test support
1370         https://bugs.webkit.org/show_bug.cgi?id=66283
1371
1372         Reviewed by Andreas Kling.
1373
1374         * Shared/API/c/qt/WKImageQt.cpp: Added.
1375         (WKImageCreateQImage):  C style (private) API to get the contents of the backing
1376         store as an image.
1377         * Shared/API/c/qt/WKImageQt.h: Added.
1378         * Shared/qt/ShareableBitmapQt.cpp:
1379         (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef.
1380         * WebKit2API.pri:
1381
1382 2011-09-05  Andras Becsi  <andras.becsi@nokia.com>
1383
1384         [Qt][WK2] Fix the build
1385
1386         Rubber-stamped by Csaba Osztrogonác.
1387
1388         * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456.
1389
1390 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1391
1392         Unreviewed, rolling out r94473.
1393         http://trac.webkit.org/changeset/94473
1394         https://bugs.webkit.org/show_bug.cgi?id=67547
1395
1396         Putting http://trac.webkit.org/changeset/94454 back in as
1397         http://trac.webkit.org/changeset/94472 fixed the problem
1398         (Requested by msaboff on #webkit).
1399
1400         * UIProcess/API/C/WKContext.cpp:
1401         (WKContextGarbageCollectJavaScriptObjects):
1402         * UIProcess/API/C/WKContext.h:
1403         * UIProcess/WebContext.cpp:
1404         (WebKit::WebContext::garbageCollectJavaScriptObjects):
1405         * UIProcess/WebContext.h:
1406         * WebProcess/WebProcess.cpp:
1407         (WebKit::WebProcess::garbageCollectJavaScriptObjects):
1408         * WebProcess/WebProcess.h:
1409         * WebProcess/WebProcess.messages.in:
1410
1411 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1412
1413         Unreviewed, rolling out r94454.
1414         http://trac.webkit.org/changeset/94454
1415         https://bugs.webkit.org/show_bug.cgi?id=67546
1416
1417         "Broke Windows and SnowLeopard, also no reply on the bug."
1418         (Requested by jchaffraix on #webkit).
1419
1420         * UIProcess/API/C/WKContext.cpp:
1421         * UIProcess/API/C/WKContext.h:
1422         * UIProcess/WebContext.cpp:
1423         * UIProcess/WebContext.h:
1424         * WebProcess/WebProcess.cpp:
1425         * WebProcess/WebProcess.h:
1426         * WebProcess/WebProcess.messages.in:
1427
1428 2011-09-02  Michael Saboff  <msaboff@apple.com>
1429
1430         Fixed release build by removing #ifndef NDEBUG to
1431         allow definition of gcController().
1432
1433         Rubber-stamp by Sam Weinig.
1434
1435         * WebProcess/WebProcess.cpp:
1436
1437 2011-09-02  Anders Carlsson  <andersca@apple.com>
1438
1439         NPN_SetException doesn't work with OOP plug-ins
1440         https://bugs.webkit.org/show_bug.cgi?id=67524
1441
1442         Reviewed by Sam Weinig.
1443
1444         * DerivedSources.make:
1445         Add PluginProcessConnection.messages.in.
1446
1447         * GNUmakefile.am:
1448         Add generated files.
1449
1450         * Platform/CoreIPC/MessageID.h:
1451         Add MessageClassPluginProcessConnection.
1452
1453         * PluginProcess/PluginProcess.cpp:
1454         (WebKit::PluginProcess::initialize):
1455         Set the set exception function.
1456
1457         * PluginProcess/WebProcessConnection.cpp:
1458         (WebKit::ConnectionStack::current):
1459         (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
1460         (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
1461         Add a helper class for managing a stack of CoreIPC connections, along with a RAII
1462         object to push/pop connections onto it.
1463
1464         (WebKit::connectionStack):
1465         Add getter.
1466
1467         (WebKit::WebProcessConnection::setGlobalException):
1468         Get the current connection and send a PluginProcessConnection::SetException message to it.
1469
1470         (WebKit::WebProcessConnection::didReceiveMessage):
1471         (WebKit::WebProcessConnection::didReceiveSyncMessage):
1472         Create connection pushers.
1473
1474         * PluginProcess/WebProcessConnection.h:
1475         Add setGlobalException.
1476
1477         * WebKit2.pro:
1478         * WebKit2.xcodeproj/project.pbxproj:
1479         Add new files.
1480
1481         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1482         (WebKit::NetscapePlugin::setSetExceptionFunction):
1483         New function for setting the 'setException' function.
1484
1485         (WebKit::NetscapePlugin::setException):
1486         Call the 'setException' function.
1487
1488         * WebProcess/Plugins/PluginProcessConnection.cpp:
1489         (WebKit::PluginProcessConnection::didReceiveSyncMessage):
1490         Call the message receiver function.
1491
1492         (WebKit::PluginProcessConnection::setException):
1493         Call the NPRuntimeObjectMap.
1494         
1495         * WebProcess/Plugins/PluginProcessConnection.messages.in:
1496         Add new messages file.
1497
1498         * WebProcess/WebPage/WebPage.cpp:
1499         (WebKit::WebPage::createPlugin):
1500         When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction.
1501
1502 2011-09-02  Ada Chan  <adachan@apple.com>
1503
1504         Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
1505         https://bugs.webkit.org/show_bug.cgi?id=67526
1506
1507         Reviewed by Darin Adler.
1508
1509         * UIProcess/API/C/WKContext.cpp:
1510         (WKContextGarbageCollectJavaScriptObjects):
1511         * UIProcess/API/C/WKContext.h:
1512         * UIProcess/WebContext.cpp:
1513         (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects.
1514         * UIProcess/WebContext.h:
1515         * WebProcess/WebProcess.cpp:
1516         (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow().
1517         * WebProcess/WebProcess.h:
1518         * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message.
1519
1520 2011-09-02  Anders Carlsson  <andersca@apple.com>
1521
1522         Remove plug-in paths from web process sandbox
1523         https://bugs.webkit.org/show_bug.cgi?id=67518
1524
1525         Reviewed by Adam Roben.
1526
1527         Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile.
1528
1529         * WebProcess/com.apple.WebProcess.sb:
1530
1531 2011-09-02  Anders Carlsson  <andersca@apple.com>
1532
1533         Assertion/crash when running netscape-plugin-property-access-exception.html test
1534         https://bugs.webkit.org/show_bug.cgi?id=67517
1535
1536         Reviewed by Adam Roben.
1537
1538         Make sure to initialize the NPVariant in case the plug-in returns true from NP_GetProperty,
1539         but doesn't set the result NPVariant to anything.
1540
1541         * Shared/Plugins/NPObjectMessageReceiver.cpp:
1542         (WebKit::NPObjectMessageReceiver::getProperty):
1543
1544 2011-09-02  Anders Carlsson  <andersca@apple.com>
1545
1546         The private browsing state isn't saved when it changes
1547         https://bugs.webkit.org/show_bug.cgi?id=67508
1548
1549         Reviewed by Sam Weinig.
1550
1551         Store the new private browsing state so subsequent queries for it
1552         will return the right value.
1553
1554         * PluginProcess/PluginControllerProxy.cpp:
1555         (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
1556
1557 2011-09-02  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
1558
1559         [WK2] Anchor elements doesn't get focus on TAB key press.
1560         https://bugs.webkit.org/show_bug.cgi?id=66949
1561
1562         Reviewed by Adam Roben.
1563
1564         Setting the default property value of TabsToLinks to true
1565         only for GTK platform since Win & Mac platforms doesn't want 
1566         it to be set to true by default.
1567
1568         * Shared/WebPreferencesStore.h:
1569         Set the default value of key TabsToLinks to true for GTK platform only.
1570
1571 2011-09-02  Balazs Kelemen  <kbalazs@webkit.org>
1572
1573         [Qt][WK2] Cannot gathering glyph page statistics
1574         https://bugs.webkit.org/show_bug.cgi?id=67475
1575
1576         Rubber stamped by Csaba Osztrogonác.
1577
1578         Fix Qt WK2 build without having QRAWFONT.
1579
1580         * WebProcess/WebProcess.cpp:
1581         (WebKit::WebProcess::getWebCoreStatistics):
1582
1583 2011-09-02  Mark Rowe  <mrowe@apple.com>
1584
1585         <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
1586         leak the results of the APIs they wrap.
1587
1588         Reviewed by Dan Bernstein.
1589
1590         * UIProcess/mac/WebProcessProxyMac.mm:
1591         (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a
1592         RetainPtr to ensure it gets released at the appropriate time.
1593         (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd.
1594
1595 2011-09-01  Ada Chan  <adachan@apple.com>
1596
1597         Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that 
1598         MemoryCache::Statistics always has the xslStyleSheets field.
1599
1600         Reviewed by Darin Adler.
1601
1602         * WebProcess/WebProcess.cpp:
1603         (WebKit::getWebCoreMemoryCacheStatistics):
1604
1605 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
1606
1607         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
1608         https://bugs.webkit.org/show_bug.cgi?id=67174
1609
1610         Reviewed by Oliver Hunt.
1611
1612         Completed the fourth level of the refactoring to add finishCreation() 
1613         methods to all classes within the JSCell hierarchy with non-trivial 
1614         constructor bodies.
1615
1616         This primarily consists of pushing the calls to finishCreation() down 
1617         into the constructors of the subclasses of the second level of the hierarchy 
1618         as well as pulling the finishCreation() calls out into the class's corresponding
1619         create() method if it has one.  Doing both simultaneously allows us to 
1620         maintain the invariant that the finishCreation() method chain is called exactly 
1621         once during the creation of an object, since calling it any other number of 
1622         times (0, 2, or more) will cause an assertion failure.
1623
1624         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1625         (WebKit::JSNPObject::JSNPObject):
1626         (WebKit::JSNPObject::finishCreation):
1627         * WebProcess/Plugins/Netscape/JSNPObject.h:
1628
1629 2011-09-01  Ada Chan  <adachan@apple.com>
1630
1631         Gather memory cache statistics in WebProcess::getWebCoreStatistics().
1632         https://bugs.webkit.org/show_bug.cgi?id=67160
1633
1634         Reviewed by Darin Adler.
1635
1636         Encode and decode webCoreCacheStatistics data member in StatisticsData.
1637         * Shared/StatisticsData.cpp:
1638         (WebKit::StatisticsData::encode):
1639         (WebKit::StatisticsData::decode):
1640         * Shared/StatisticsData.h:
1641
1642         Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
1643         * UIProcess/WebContext.cpp:
1644         (WebKit::WebContext::didGetWebCoreStatistics):
1645
1646         Store memory cache statistics into the StatisticsData object.
1647         * WebProcess/WebProcess.cpp:
1648         (WebKit::getWebCoreMemoryCacheStatistics):
1649         (WebKit::WebProcess::getWebCoreStatistics):
1650
1651 2011-09-01  Tim Horton  <timothy_horton@apple.com>
1652
1653         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
1654         https://bugs.webkit.org/show_bug.cgi?id=53055
1655         <rdar://problem/8910917>
1656
1657         Reviewed by Simon Fraser.
1658
1659         Introduce wkCGPatternCreateWithImageAndTransform.
1660
1661         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1662         (InitWebCoreSystemInterface):
1663
1664 2011-09-01  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1665
1666         [Qt] TouchWebView crashes with segmentation fault
1667         https://bugs.webkit.org/show_bug.cgi?id=67308
1668
1669         Reviewed by Benjamin Poulain.
1670
1671         If you instantiate TouchWebView element with height and width in a qml file and
1672         load a url it crashes.
1673         The functions setWidth() and setHeight() are called sequentially therefore it can happen
1674         that computeViewportAttributes was called with a size like (width, 0) breaking the
1675         assumption of the function that the size is valid. The patch makes sure we compute the
1676         viewport when both height and width are valid.
1677
1678         * UIProcess/API/qt/qtouchwebview.cpp:
1679         (QTouchWebViewPrivate::updateViewportConstraints):
1680         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added.
1681         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added.
1682         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added.
1683         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1684
1685 2011-09-01  Ada Chan  <adachan@apple.com>
1686
1687         Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
1688         https://bugs.webkit.org/show_bug.cgi?id=67160
1689
1690         Reviewed by Darin Adler.
1691
1692         Encode and decode the data members in StatisticsData.
1693         * Shared/StatisticsData.cpp:
1694         (WebKit::StatisticsData::encode):
1695         (WebKit::StatisticsData::decode):
1696         (WebKit::StatisticsData::StatisticsData):
1697
1698         Add three data members to StatisticsData:
1699         - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as 
1700         JavaScriptObjectsCount, CachedFontDataCount, etc.
1701         - javaScriptProtectedObjectTypeCounts
1702         - javaScriptObjectTypeCounts
1703         * Shared/StatisticsData.h:
1704
1705         Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary
1706         in WebContext::didGetWebCoreStatistics().
1707         * UIProcess/WebContext.cpp:
1708         (WebKit::createDictionaryFromHashMap):
1709         (WebKit::WebContext::didGetWebCoreStatistics):
1710
1711         Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object
1712         and send it to the UIProcess.
1713         * WebProcess/WebProcess.cpp:
1714         (WebKit::fromCountedSetToHashMap):
1715         (WebKit::WebProcess::getWebCoreStatistics):
1716
1717 2011-09-01  Xan Lopez  <xlopez@igalia.com>
1718
1719         [GTK] Add XRender lib dependencies explicitly
1720
1721         Reviewed by Philippe Normand.
1722
1723         This is needed when using the GNU/Gold linker, since we use
1724         XRender directly.
1725
1726         * GNUmakefile.am:
1727
1728 2011-08-31  Anders Carlsson  <andersca@apple.com>
1729
1730         Jagged text shown in find-in-page highlight
1731         https://bugs.webkit.org/show_bug.cgi?id=67347
1732         <rdar://problem/9870444>
1733
1734         Reviewed by Dan Bernstein.
1735
1736         When painting each text line in the find indicator, make sure to clip it against
1737         the text rect and not paint the entire rect over and over.
1738
1739         * UIProcess/FindIndicator.cpp:
1740         (WebKit::FindIndicator::draw):
1741
1742 2011-08-31  Beth Dakin  <bdakin@apple.com>
1743
1744         https://bugs.webkit.org/show_bug.cgi?id=67322
1745         Re-name overrideBackingScaleFactor
1746
1747         Reviewed by John Sullivan.
1748
1749         API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor() 
1750         which returns the custom scale factor if one was set, and the intrinsic scale 
1751         factor otherwise. 
1752         * UIProcess/API/C/WKPage.cpp:
1753         (WKPageGetBackingScaleFactor):
1754         (WKPageSetCustomBackingScaleFactor):
1755         * UIProcess/API/C/WKPage.h:
1756
1757         Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever 
1758         refers to the intrinsic value.
1759         * UIProcess/API/mac/WKView.mm:
1760         (-[WKView viewDidMoveToWindow]):
1761         (-[WKView _windowDidChangeResolution:]):
1762         (-[WKView _intrinsicDeviceScaleFactor]):
1763
1764         WebPageProxy stores both the customDeviceScaleFactor and the 
1765         intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that 
1766         should be the one used. 
1767         * UIProcess/WebPageProxy.cpp:
1768         (WebKit::WebPageProxy::WebPageProxy):
1769         (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
1770         (WebKit::WebPageProxy::deviceScaleFactor):
1771         (WebKit::WebPageProxy::setCustomDeviceScaleFactor):
1772         (WebKit::WebPageProxy::creationParameters):
1773         * UIProcess/WebPageProxy.h:
1774
1775 2011-08-31  Anders Carlsson  <andersca@apple.com>
1776
1777         REGRESSION(r93902): Can't open external links on gmail
1778         https://bugs.webkit.org/show_bug.cgi?id=67234
1779         <rdar://problem/10053636>
1780
1781         Reviewed by Alexey Proskuryakov.
1782
1783         * Shared/cf/ArgumentCodersCF.cpp:
1784         (CoreIPC::decode):
1785         If we encounter an empty URL string, create an empty url by using NSURL, just
1786         like we do in WebCore when converting an empty KURL to an NSURL.
1787
1788         * WebKit2.xcodeproj/project.pbxproj:
1789         Compile ArgumentCodersCF.cpp as Objective-C++ for now.
1790
1791 2011-08-30  Beth Dakin  <bdakin@apple.com>
1792
1793         https://bugs.webkit.org/show_bug.cgi?id=67150
1794         Would like API to use a custom device scale factor for a particular WebView/WKView
1795         -and corresponding-
1796         <rdar://problem/10041016>
1797
1798         Reviewed by Darin Adler.
1799
1800         New API is setOverrideBackingScaleFactor() on WKPage
1801         * UIProcess/API/C/WKPage.cpp:
1802         (WKPageGetOverrideBackingScaleFactor):
1803         (WKPageSetOverrideBackingScaleFactor):
1804         * UIProcess/API/C/WKPage.h:
1805         * UIProcess/WebPageProxy.cpp:
1806         (WebKit::WebPageProxy::WebPageProxy):
1807         (WebKit::WebPageProxy::deviceScaleFactor):
1808         (WebKit::WebPageProxy::setOverrideBackingScaleFactor):
1809         * UIProcess/WebPageProxy.h:
1810         (WebKit::WebPageProxy::overrideBackingScaleFactor):
1811
1812 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
1813
1814         Add MediaSource API to HTMLMediaElement
1815         https://bugs.webkit.org/show_bug.cgi?id=64731
1816
1817         Reviewed by Eric Carlson.
1818
1819         * Configurations/FeatureDefines.xcconfig:
1820
1821 2011-08-30  Ada Chan  <adachan@apple.com>
1822
1823         Laying some groundwork to fetch performance statistics from WebProcess.
1824         https://bugs.webkit.org/show_bug.cgi?id=67160
1825
1826         Reviewed by Darin Adler.
1827
1828         Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics.
1829         * UIProcess/API/C/WKContext.cpp:
1830         (WKContextGetStatistics):
1831         * UIProcess/API/C/WKContext.h:
1832         * UIProcess/WebContext.cpp:
1833         (WebKit::WebContext::~WebContext):
1834         (WebKit::WebContext::getWebCoreStatistics):
1835         (WebKit::WebContext::didGetWebCoreStatistics):
1836         * UIProcess/WebContext.h:
1837         * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has
1838         the performance statistics ready.
1839
1840         Add WebProcess::getWebCoreStatistics().  Currently it just sends back an empty StatisticsData object.
1841         It will gather the performance statistics to store in the StatisticsData object in a future patch.
1842         * WebProcess/WebProcess.cpp:
1843         (WebKit::WebProcess::getWebCoreStatistics):
1844         * WebProcess/WebProcess.h:
1845         * WebProcess/WebProcess.messages.in:
1846
1847         Add the skeleton for StatisticsData.
1848         * Scripts/webkit2/messages.py:
1849         * Shared/StatisticsData.cpp: Added.
1850         (WebKit::StatisticsData::encode):
1851         (WebKit::StatisticsData::decode):
1852         (WebKit::StatisticsData::StatisticsData):
1853         * Shared/StatisticsData.h: Added.
1854
1855         Add StatisticsData.h/cpp to project.
1856         * CMakeLists.txt:
1857         * GNUmakefile.am:
1858         * WebKit2.pro:
1859         * WebKit2.xcodeproj/project.pbxproj:
1860         * win/WebKit2.vcproj:
1861
1862 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
1863
1864         DumpRenderTree should begin each test with an empty cookie store
1865         https://bugs.webkit.org/show_bug.cgi?id=63545
1866         <rdar://problem/5666907>
1867
1868         Reviewed by Darin Adler.
1869
1870         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
1871         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
1872         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
1873         Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
1874
1875         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
1876         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
1877         There is no no need to access cookie storage through session manually - we already have code
1878         for that in WebCore.
1879
1880         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1881         (WKBundleSwitchNetworkLoaderToNewTestingSession):
1882         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1883         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1884         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
1885         * WebProcess/InjectedBundle/InjectedBundle.h:
1886         Exposed bundle SPI to use a private default session. It's separate from private browsing,
1887         because some tests enable the latter, and we don't want to mix them up.
1888
1889         * WebProcess/WebPage/mac/WebPageMac.mm:
1890         (WebKit::WebPage::platformHasLocalDataForURL):
1891         (WebKit::cachedResponseForURL):
1892         Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
1893
1894         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
1895         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
1896
1897 2011-08-30  Alexis Menard  <alexis.menard@openbossa.org>
1898
1899         [Qt][WK2] Make mouse over work again for QDesktopWebView.
1900         https://bugs.webkit.org/show_bug.cgi?id=67200
1901
1902         Reviewed by Noam Rosenthal.
1903
1904         The API has changed after QGraphicsView, SceneGraph sends
1905         QHoverEvents now.
1906
1907         * UIProcess/qt/qdesktopwebpageproxy.cpp:
1908         (QDesktopWebPageProxy::handleEvent):
1909         (QDesktopWebPageProxy::handleHoverMoveEvent):
1910         * UIProcess/qt/qdesktopwebpageproxy.h:
1911
1912 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1913
1914         The unused ScrollView* argument can and should be removed from
1915         scrollRectIntoView.
1916         https://bugs.webkit.org/show_bug.cgi?id=67117
1917
1918         Reviewed by Darin Adler.
1919
1920         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1921         (WebKit::WebChromeClient::scrollRectIntoView):
1922         * WebProcess/WebCoreSupport/WebChromeClient.h:
1923
1924 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
1925
1926         Another Windows build fix after r94047.
1927
1928         * win/WebKit2.def:
1929         * win/WebKit2CFLite.def:
1930
1931 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
1932
1933         Export more symbols for r94038.
1934
1935         * win/WebKit2.def:
1936         * win/WebKit2CFLite.def:
1937
1938 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
1939
1940         Windows build fix for r94038.
1941
1942         * win/WebKit2.def:
1943         * win/WebKit2CFLite.def:
1944
1945 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1946
1947
1948         [Qt] QTouchWebView url property test missing
1949         https://bugs.webkit.org/show_bug.cgi?id=67159
1950
1951         Reviewed by Noam Rosenthal.
1952
1953         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.
1954
1955         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
1956
1957 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1958
1959         [Qt] QDesktopWebView url property test missing
1960         https://bugs.webkit.org/show_bug.cgi?id=67155
1961
1962         Reviewed by Noam Rosenthal.
1963
1964         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.
1965
1966         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
1967
1968 2011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1969
1970         Unreviewed, rolling out r93987, r93992, r93995, r93998, and
1971         r93999.
1972         http://trac.webkit.org/changeset/93987
1973         http://trac.webkit.org/changeset/93992
1974         http://trac.webkit.org/changeset/93995
1975         http://trac.webkit.org/changeset/93998
1976         http://trac.webkit.org/changeset/93999
1977         https://bugs.webkit.org/show_bug.cgi?id=67147
1978
1979         Many failing tests (Requested by ap on #webkit).
1980
1981         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
1982         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
1983         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
1984         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1985         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1986         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1987         * WebProcess/InjectedBundle/InjectedBundle.h:
1988         * WebProcess/win/WebProcessWin.cpp:
1989         (WebKit::WebProcess::platformInitializeWebProcess):
1990
1991 2011-08-26  Martin Robinson  <mrobinson@igalia.com>
1992
1993         Reviewed by Xan Lopez.
1994
1995         [GTK] Build WebKit2 unconditionally
1996         https://bugs.webkit.org/show_bug.cgi?id=62749
1997
1998         Build WebKit2 by default. This will make the bots build it and catch
1999         build errors when they occur.
2000
2001         * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2
2002         PC file, which should not be shipped until WebKit2 is actually shipped officially.
2003
2004 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
2005
2006         Windows build fix.
2007
2008         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2009         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2010         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2011         Updated for new function name and signature: currentCFHTTPCookieStorage().
2012
2013 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
2014
2015         DumpRenderTree should begin each test with an empty cookie store
2016         https://bugs.webkit.org/show_bug.cgi?id=63545
2017         <rdar://problem/5666907>
2018
2019         Reviewed by Darin Adler.
2020
2021         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
2022         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
2023
2024         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2025         (WKBundleUsePrivateSessionForNetworkLoading):
2026         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2027         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2028         (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading):
2029         * WebProcess/InjectedBundle/InjectedBundle.h:
2030         Exposed bundle SPI to use a private default session. It's separate from private browsing,
2031         because some tests enable the latter, and we don't want to mix them up.
2032
2033 2011-08-29  Chris Marrin  <cmarrin@apple.com>
2034
2035         Fixed a build problem caused by http://trac.webkit.org/changeset/93980
2036
2037         Unreviewed.
2038
2039         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2040
2041 2011-08-23  Chris Marrin  <cmarrin@apple.com>
2042
2043         [mac] requestAnimationFrame support for mac port
2044         https://bugs.webkit.org/show_bug.cgi?id=59146
2045
2046         Reviewed by Simon Fraser.
2047
2048         Implement requestAnimationFrame for WebKit2. Add a
2049         CFRunLoopObserver to WebPage, which runs just before
2050         the syncCompositingState RLO and calls into the 
2051         ScriptedAnimationController if scheduleAnimation() has
2052         been called.
2053
2054         * Configurations/FeatureDefines.xcconfig:
2055         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2056         (WebKit::WebChromeClient::scheduleAnimation):
2057         * WebProcess/WebCoreSupport/WebChromeClient.h:
2058         * WebProcess/WebPage/WebPage.cpp:
2059         (WebKit::WebPage::WebPage):
2060         (WebKit::WebPage::~WebPage):
2061         * WebProcess/WebPage/WebPage.h:
2062         * WebProcess/WebPage/mac/WebPageMac.mm:
2063         (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback):
2064         (WebKit::WebPage::scheduleAnimation):
2065         (WebKit::WebPage::unscheduleAnimation):
2066         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp:
2067         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2068
2069 2011-08-29  Pierre Rossi  <pierre.rossi@gmail.com>
2070
2071         [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2
2072         https://bugs.webkit.org/show_bug.cgi?id=67123
2073
2074         We could simply use the defines already in place for this.
2075
2076         Reviewed by Andreas Kling.
2077
2078         * WebKit2.pro:
2079
2080 2011-08-29  Vamshikrishna Yellenki  <vamshi@motorola.com>
2081
2082         [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
2083         https://bugs.webkit.org/show_bug.cgi?id=67111
2084
2085         Reviewed by Martin Robinson.
2086
2087         WebKit2 GTK build error.
2088
2089         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
2090         Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
2091         inclusion error.
2092
2093 2011-08-28  Balazs Kelemen  <kbalazs@webkit.org>
2094
2095         [Qt][WK2] Unreviewed build fix.
2096
2097         * UIProcess/qt/QtWebPageProxy.cpp:
2098         (QtWebPageProxy::init): Initialize the WKPageUIClient with memset
2099         to avoid missing initializer warning. The missing initializer is the
2100         result of using a version 0 WKPageUIClient while it has newer version (1).
2101         We have nothing to do with the callbacks in the new version so I voted
2102         for memset.
2103         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
2104
2105 2011-08-26  Sam Weinig  <sam@webkit.org>
2106
2107         Stop using custom NSErrors for WebKit2 WebErrors
2108         https://bugs.webkit.org/show_bug.cgi?id=67075
2109
2110         Reviewed by Anders Carlsson.
2111
2112         * WebProcess/WebCoreSupport/WebErrors.h:
2113         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
2114         (WebKit::createNSError):
2115         (WebKit::cancelledError):
2116         (WebKit::fileDoesNotExistError):
2117         (WebKit::blockedError):
2118         (WebKit::cannotShowURLError):
2119         (WebKit::interruptedForPolicyChangeError):
2120         (WebKit::cannotShowMIMETypeError):
2121         (WebKit::pluginWillHandleLoadError):
2122         There is no reason to use custom registered NSErrors anymore, so don't.
2123
2124 2011-08-26  Anders Carlsson  <andersca@apple.com>
2125
2126         Fix build.
2127
2128         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2129
2130 2011-08-26  Sam Weinig  <sam@webkit.org>
2131
2132         Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
2133         https://bugs.webkit.org/show_bug.cgi?id=67063
2134
2135         Reviewed by Anders Carlsson.
2136
2137         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
2138         (+[NSError _webkit_errorWithDomain:code:URL:]):
2139
2140 2011-08-26  Anders Carlsson  <andersca@apple.com>
2141
2142         Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
2143         https://bugs.webkit.org/show_bug.cgi?id=67062
2144
2145         Reviewed by Sam Weinig.
2146
2147         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2148         (WebKit::NPN_ScheduleTimer):
2149         Call NetscapePlugin::scheduleTimer.
2150
2151         (WebKit::NPN_UnscheduleTimer):
2152         Call NetscapePlugin::unscheduleTimer.
2153
2154         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2155         (WebKit::NetscapePlugin::NetscapePlugin):
2156         Initialize m_nextTimerID.
2157
2158         (WebKit::NetscapePlugin::Timer::start):
2159         Start the timer.
2160
2161         (WebKit::NetscapePlugin::Timer::stop):
2162         Stop the timer.
2163
2164         (WebKit::NetscapePlugin::Timer::timerFired):
2165         Call the right callback and unschedule the timer object if it's not a repeating timer.
2166
2167         (WebKit::NetscapePlugin::scheduleTimer):
2168         Create a new timer and start it.
2169
2170         (WebKit::NetscapePlugin::unscheduleTimer):
2171         Get the timer from the map and destroy it.
2172         
2173         (WebKit::NetscapePlugin::destroy):
2174         Destroy all timers.
2175
2176         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2177         Add Timer class.
2178
2179 2011-08-26  Sam Weinig  <sam@webkit.org>
2180
2181         Fix typo in Connection.cpp
2182         https://bugs.webkit.org/show_bug.cgi?id=67060
2183
2184         Reviewed by Anders Carlsson.
2185
2186         * Platform/CoreIPC/Connection.cpp:
2187         (CoreIPC::Connection::waitForSyncReply):
2188         We want timedOut, not timeout.  There is not a current way to cause this
2189         to be an issue. This issue was caught by the Clang Static Analyzer.
2190
2191 2011-08-26  Alice Liu  <alice.liu@apple.com>
2192
2193         https://bugs.webkit.org/show_bug.cgi?id=66823
2194         Add the request info to the WebPageProxy::CreateNewPage message
2195
2196         Reviewed by Anders Carlsson.
2197
2198         Update function declarations with additional ResourceRequest parameter:
2199         * UIProcess/API/C/WKPage.h:
2200         * UIProcess/WebPageProxy.cpp:
2201         (WebKit::WebPageProxy::createNewPage):
2202         * UIProcess/WebPageProxy.h:
2203         * UIProcess/WebPageProxy.messages.in:
2204         * UIProcess/WebUIClient.cpp:
2205         (WebKit::WebUIClient::createNewPage):
2206         * UIProcess/WebUIClient.h:
2207
2208         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2209         (WebKit::WebChromeClient::createWindow): 
2210         Pass the ResourceRequest within the FrameLoadRequest.
2211
2212 2011-08-26  Alexis Menard  <alexis.menard@openbossa.org>
2213
2214         [Qt][WK2]REGRESSION(r93784): It made many tests crash
2215         https://bugs.webkit.org/show_bug.cgi?id=66958
2216
2217         Reviewed by Anders Carlsson.
2218
2219         Don't try to make sure the WebContext is deleted, for now the leak
2220         is intended and when multiple processes per context will be supported
2221         this leak should be fixed. This was the cause of DRT crashing on the bot,
2222         the context was deleted after the first test, letting other tests with nothing
2223         but a bad context.
2224
2225         * UIProcess/qt/QtWebPageProxy.cpp:
2226         (QtWebPageProxy::~QtWebPageProxy):
2227
2228 2011-08-26  Anders Carlsson  <andersca@apple.com>
2229
2230         Fix handling of keyup events in the new Cocoa text input model
2231         https://bugs.webkit.org/show_bug.cgi?id=67045
2232
2233         Reviewed by Sam Weinig.
2234
2235         Use a counter instead of a boolean for deciding when to ignore keyup events, because
2236         if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row.
2237
2238         Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
2239         in that case.
2240
2241         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2242         (WebKit::NetscapePlugin::NetscapePlugin):
2243         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2244         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2245         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2246
2247 2011-08-26  Jessie Berlin  <jberlin@apple.com>
2248
2249         Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
2250         https://bugs.webkit.org/show_bug.cgi?id=66979.
2251
2252         Removing the function altogether would break the nightlies.
2253         This patch removes the code behind it so that it is clear that
2254         WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just
2255         left rotting in the tree.
2256
2257         Reviewed by Brian Weinstein.
2258
2259         * UIProcess/API/C/WKPage.cpp:
2260         (WKPageCreateSnapshotOfVisibleContent):
2261         Return 0.
2262         * UIProcess/API/C/WKPagePrivate.h:
2263         Update the comment and add a link to the bug.
2264
2265         * UIProcess/WebPageProxy.cpp:
2266         * UIProcess/WebPageProxy.h:
2267
2268         * WebProcess/WebPage/WebPage.cpp:
2269         * WebProcess/WebPage/WebPage.h:
2270         * WebProcess/WebPage/WebPage.messages.in:
2271
2272 2011-08-25  Anders Carlsson  <andersca@apple.com>
2273
2274         kNPEventStartIME doesn't work correctly for NPAPI
2275         https://bugs.webkit.org/show_bug.cgi?id=65264
2276         <rdar://problem/9996476>
2277
2278         Reviewed by Sam Weinig.
2279
2280         In order to remain compatible with older plug-ins, the updated input model won't
2281         be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do
2282         this before any keyboard events have been processed.
2283
2284         * PluginProcess/mac/PluginControllerProxyMac.mm:
2285         (WebKit::PluginControllerProxy::setComplexTextInputState):
2286         Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want
2287         the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent
2288         synchronous message.
2289
2290         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2291         (WebKit::NPN_GetValue):
2292         Implement the logic for when to turn off the legacy Cocoa text input model support.
2293
2294         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2295         (WebKit::NetscapePlugin::NetscapePlugin):
2296         Initialize m_ignoreNextKeyUpEvent to false.
2297
2298         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2299         Add m_ignoreNextKeyUpEvent member variable.
2300
2301         (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
2302         Add a getter.
2303
2304         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2305         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2306         Don't send keydown and keyup events when complex text input is enabled in the updated model.
2307
2308 2011-08-25  Anders Carlsson  <andersca@apple.com>
2309
2310         Correctly handle events in the updated Cocoa text input model
2311         https://bugs.webkit.org/show_bug.cgi?id=67005
2312
2313         Reviewed by Sam Weinig.
2314
2315         * UIProcess/API/mac/WKTextInputWindowController.mm:
2316         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
2317         When using the updated model, always return a string even for 'simple' characters.
2318
2319         * UIProcess/API/mac/WKView.mm:
2320         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2321         Only let the input method have a crack at the event in the legacy model.
2322
2323 2011-08-25  Jeff Miller  <jeffm@apple.com>
2324
2325         Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
2326         https://bugs.webkit.org/show_bug.cgi?id=67002
2327
2328         Reviewed by Brian Weinstein.
2329
2330         * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
2331         
2332         * UIProcess/win/WebPageProxyWin.cpp:
2333         (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp.
2334         (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp.
2335         (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp.
2336         (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp.
2337         (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp.
2338         (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp.
2339         (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp.
2340         (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp.
2341         (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp.
2342         (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp.
2343
2344 2011-08-25  Anders Carlsson  <andersca@apple.com>
2345
2346         Handle key-down events in the updated Cocoa text input model
2347         https://bugs.webkit.org/show_bug.cgi?id=67001
2348
2349         Reviewed by Sam Weinig.
2350
2351         * UIProcess/API/mac/WKView.mm:
2352         (-[WKView performKeyEquivalent:]):
2353         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
2354         input has been disabled.
2355
2356         (-[WKView _disableComplexTextInputIfNecessary]):
2357         If the plug-in is using the updated Cocoa text input model specification, disable text input
2358         if the text input window has been dismissed for whatever reason.
2359
2360         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2361         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
2362         input has been disabled.
2363         
2364         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
2365         If the plug-in is using the updated Cocoa text input model specification, let the input methods
2366         have a go at the keyboard event.
2367
2368         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2369         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
2370         Actually set m_isComplexTextInputEnabled to the right value.
2371
2372 2011-08-25  Anders Carlsson  <andersca@apple.com>
2373
2374         Factor code to send a key-down event to the plug-in out into a new function
2375         https://bugs.webkit.org/show_bug.cgi?id=66999
2376
2377         Reviewed by Darin Adler.
2378
2379         * UIProcess/API/mac/WKView.mm:
2380         (-[WKView _handlePluginComplexTextInputKeyDown:]):
2381         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2382
2383 2011-08-25  Anders Carlsson  <andersca@apple.com>
2384
2385         WKView should keep track of the plug-in complex text input state
2386         https://bugs.webkit.org/show_bug.cgi?id=66990
2387
2388         Reviewed by Sam Weinig.
2389
2390         * UIProcess/API/mac/WKView.mm:
2391         Add a _pluginComplexTextInputState ivar to WKViewData.
2392
2393         (-[WKView _setPluginComplexTextInputState:]):
2394         Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
2395
2396         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2397         Call -[WKView _setPluginComplexTextInputState:].
2398
2399 2011-08-25  Anders Carlsson  <andersca@apple.com>
2400
2401         Move file internal methods to a class continuation in WKView
2402         https://bugs.webkit.org/show_bug.cgi?id=66983
2403
2404         Reviewed by Dan Bernstein.
2405
2406         * UIProcess/API/mac/WKView.mm:
2407         (-[WKView _deviceScaleFactor]):
2408         (-[WKView _setDrawingAreaSize:]):
2409
2410 2011-08-25  Anders Carlsson  <andersca@apple.com>
2411
2412         More work on the updated Cocoa text input specification
2413         https://bugs.webkit.org/show_bug.cgi?id=66977
2414
2415         Reviewed by Sam Weinig.
2416
2417         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2418         (WebKit::NetscapePlugin::NetscapePlugin):
2419         Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
2420
2421         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2422         Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
2423         
2424         (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
2425         Add setter. Not called yet.
2426
2427         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2428         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2429         Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
2430
2431         (WebKit::NetscapePlugin::sendComplexTextInput):
2432         If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
2433
2434         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
2435         If the plug-in is using the updated Cocoa text input spec, text input is not enabled when
2436         the plug-in is focused.
2437
2438         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
2439         Set the right text input state based on whether the plug-in is using the updated spec or not.
2440
2441 2011-08-25  Anders Carlsson  <andersca@apple.com>
2442
2443         Return the correct value for NPNVsupportsCarbonBool
2444         https://bugs.webkit.org/show_bug.cgi?id=66964
2445
2446         Reviewed by Adam Roben.
2447
2448         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2449         (WebKit::NPN_GetValue):
2450         Remove a FIXME and set the value to true.
2451
2452 2011-08-25  Alexis Menard  <alexis.menard@openbossa.org>
2453
2454         [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed.
2455         https://bugs.webkit.org/show_bug.cgi?id=66886
2456
2457         Reviewed by Benjamin Poulain.
2458
2459         Remove QWKContext class from Qt APIs as it is too low level for the vision
2460         of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one
2461         or default created one. This patch also ensure that the WebProcessProxy is correctly
2462         destroyed at application exit by removing the circular references between the WebContext,
2463         WebProcessProxy, and WebPageProxy.
2464
2465         * UIProcess/API/qt/qdesktopwebview.cpp:
2466         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
2467         * UIProcess/API/qt/qtouchwebview.cpp:
2468         (QTouchWebViewPrivate::QTouchWebViewPrivate):
2469         * UIProcess/qt/ClientImpl.cpp:
2470         (qt_wk_setStatusText):
2471         * UIProcess/qt/ClientImpl.h:
2472         * UIProcess/qt/QtWebPageProxy.cpp:
2473         (QtWebPageProxy::defaultWKContext):
2474         (QtWebPageProxy::QtWebPageProxy):
2475         (QtWebPageProxy::~QtWebPageProxy):
2476         * UIProcess/qt/QtWebPageProxy.h:
2477         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2478         (QDesktopWebPageProxy::QDesktopWebPageProxy):
2479         * UIProcess/qt/qdesktopwebpageproxy.h:
2480         * UIProcess/qt/qtouchwebpageproxy.cpp:
2481         (QTouchWebPageProxy::QTouchWebPageProxy):
2482         * UIProcess/qt/qtouchwebpageproxy.h:
2483         * UIProcess/qt/qwkcontext.cpp: Removed.
2484         * UIProcess/qt/qwkcontext.h: Removed.
2485         * UIProcess/qt/qwkcontext_p.h: Removed.
2486         * WebKit2.pro:
2487
2488 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2489
2490         [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
2491         https://bugs.webkit.org/show_bug.cgi?id=66771
2492
2493         Reviewed by Tor Arne Vestbø.
2494
2495         We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
2496         rendered with the same layout. This also allows the web process to render tiles into
2497         buffers readable directly by the GPU (on supported platforms). We also take the opportunity
2498         to use the TiledBackingStore in WebCore to have only one tiling implementation.
2499
2500         Before this patch:
2501         - TiledDrawingAreaProxy manages tiles from the UI process.
2502         - TiledDrawingArea received rendering requests for a rect and returns the result
2503           to the proxy through shared memory.
2504
2505         After this patch:
2506         - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
2507         - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
2508         - TiledDrawingAreaProxy updates the scene graph directly from requests.
2509
2510         It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
2511         Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
2512         notify us when the last rendered frame is ready to make it to the screen.
2513         TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
2514
2515         * UIProcess/API/qt/qtouchwebpage.cpp:
2516         (QTouchWebPage::updatePaintNode):
2517         * UIProcess/API/qt/qtouchwebview.cpp:
2518         (QTouchWebViewPrivate::updateViewportState):
2519         * UIProcess/DrawingAreaProxy.h:
2520         (WebKit::DrawingAreaProxy::createTile):
2521         (WebKit::DrawingAreaProxy::updateTile):
2522         (WebKit::DrawingAreaProxy::didRenderFrame):
2523         (WebKit::DrawingAreaProxy::removeTile):
2524         * UIProcess/DrawingAreaProxy.messages.in:
2525         * UIProcess/TiledDrawingAreaProxy.cpp:
2526         (WebKit::TiledDrawingAreaProxy::create):
2527         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
2528         (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
2529         (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
2530         (WebKit::TiledDrawingAreaProxy::setContentsScale):
2531         (WebKit::TiledDrawingAreaProxy::renderNextFrame):
2532         (WebKit::TiledDrawingAreaProxy::sizeDidChange):
2533         (WebKit::TiledDrawingAreaProxy::paint):
2534         * UIProcess/TiledDrawingAreaProxy.h:
2535         * UIProcess/TiledDrawingAreaTile.h: Removed.
2536         * UIProcess/qt/SGAgent.cpp:
2537         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
2538         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
2539         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
2540         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
2541         (WebKit::SGAgent::SGAgent):
2542         (WebKit::SGAgent::createTileNode):
2543         (WebKit::SGAgent::removeTileNode):
2544         (WebKit::SGAgent::setNodeBackBuffer):
2545         (WebKit::SGAgent::swapTileBuffers):
2546         (WebKit::SGAgent::updatePaintNode):
2547         (WebKit::SGAgent::getScaleNode):
2548         Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile).
2549         Delete the scale node when the last of its child tiles has been removed.
2550
2551         * UIProcess/qt/SGAgent.h:
2552         (WebKit::SGAgent::isSwapPending):
2553
2554         * UIProcess/qt/SGTileNode.cpp:
2555         (WebKit::SGTileNode::SGTileNode):
2556         (WebKit::SGTileNode::setBackBuffer):
2557         (WebKit::SGTileNode::swapIfNeeded):
2558         Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method.
2559         This allows all those values to be used only when swapIfNeeded is called later.
2560
2561         * UIProcess/qt/SGTileNode.h:
2562         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
2563         (WebKit::TiledDrawingAreaProxy::createTile):
2564         (WebKit::TiledDrawingAreaProxy::updateTile):
2565         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
2566         (WebKit::TiledDrawingAreaProxy::removeTile):
2567         * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed.
2568         * UIProcess/qt/qtouchwebpageproxy.cpp:
2569         (QTouchWebPageProxy::renderNextFrame):
2570         * UIProcess/qt/qtouchwebpageproxy.h:
2571         * WebKit2.pro:
2572         * WebProcess/WebPage/DrawingArea.h:
2573         (WebKit::DrawingArea::setVisibleContentRect):
2574         (WebKit::DrawingArea::setContentsScale):
2575         (WebKit::DrawingArea::renderNextFrame):
2576         * WebProcess/WebPage/DrawingArea.messages.in:
2577         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added.
2578         (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile):
2579         (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile):
2580         (WebKit::TiledBackingStoreRemoteTile::isDirty):
2581         (WebKit::TiledBackingStoreRemoteTile::invalidate):
2582         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
2583         (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront):
2584         (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint):
2585         (WebKit::TiledBackingStoreRemoteTile::paint):
2586         (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend):
2587         (WebKit::TiledBackingStoreRemoteTileBackend::createTile):
2588         (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern):
2589         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added.
2590         (WebKit::TiledBackingStoreRemoteTile::create):
2591         (WebKit::TiledBackingStoreRemoteTile::coordinate):
2592         (WebKit::TiledBackingStoreRemoteTile::rect):
2593         (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient):
2594         (WebKit::TiledBackingStoreRemoteTileBackend::create):
2595         * WebProcess/WebPage/TiledDrawingArea.cpp:
2596         (WebKit::TiledDrawingArea::TiledDrawingArea):
2597         (WebKit::TiledDrawingArea::setNeedsDisplay):
2598         (WebKit::TiledDrawingArea::setSize):
2599         (WebKit::TiledDrawingArea::setVisibleContentRect):
2600         (WebKit::TiledDrawingArea::setContentsScale):
2601         (WebKit::TiledDrawingArea::renderNextFrame):
2602         (WebKit::TiledDrawingArea::suspendPainting):
2603         (WebKit::TiledDrawingArea::resumePainting):
2604         (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin):
2605         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
2606         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
2607         (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed):
2608         (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect):
2609         (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect):
2610         (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor):
2611         (WebKit::TiledDrawingArea::createTile):
2612         (WebKit::TiledDrawingArea::updateTile):
2613         (WebKit::TiledDrawingArea::removeTile):
2614         * WebProcess/WebPage/TiledDrawingArea.h:
2615         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed.
2616
2617 2011-08-24  Michael Saboff  <msaboff@apple.com>
2618
2619         Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
2620         https://bugs.webkit.org/show_bug.cgi?id=66912
2621
2622         Updated the comment in ArgumentEncoder::grow to reflect that system malloc
2623         currently checks to see if a MADV_FREE_REUSABLE will fail before calling it.
2624
2625         Reviewed by Mark Rowe.
2626
2627         * Platform/CoreIPC/ArgumentEncoder.cpp:
2628         (CoreIPC::ArgumentEncoder::grow):
2629
2630 2011-08-24  Anders Carlsson  <andersca@apple.com>
2631
2632         Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
2633         https://bugs.webkit.org/show_bug.cgi?id=66883
2634
2635         Reviewed by Beth Dakin.
2636
2637         * UIProcess/API/mac/WKTextInputWindowController.h:
2638         * UIProcess/API/mac/WKTextInputWindowController.mm:
2639         (-[WKTextInputPanel _unmarkText]):
2640         (-[WKTextInputWindowController unmarkText]):
2641         * UIProcess/API/mac/WKView.mm:
2642         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
2643
2644 2011-08-24  Oliver Hunt  <oliver@apple.com>
2645
2646         JSNPObject and JSNPMethod create their structure in their constructors
2647         https://bugs.webkit.org/show_bug.cgi?id=66879
2648
2649         Reviewed by Anders Carlsson.
2650
2651         It's not safe to create the Structure for an object inside its constructor
2652         so we hoist construction out into their ::create methods and move the methods
2653         into the cpp file.
2654
2655         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2656         (WebKit::JSNPMethod::JSNPMethod):
2657         (WebKit::JSNPMethod::create):
2658         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2659         (WebKit::JSNPMethod::create):
2660         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2661         (WebKit::JSNPObject::JSNPObject):
2662         (WebKit::JSNPObject::create):
2663         * WebProcess/Plugins/Netscape/JSNPObject.h:
2664         (WebKit::JSNPObject::create):
2665
2666 2011-08-24  Anders Carlsson  <andersca@apple.com>
2667
2668         More plug-in complex text input scaffolding
2669         https://bugs.webkit.org/show_bug.cgi?id=66865
2670
2671         Reviewed by Sam Weinig.
2672
2673         Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
2674         add methods for handling plug-in text input key-down events.
2675
2676         * UIProcess/API/mac/PageClientImpl.mm:
2677         (WebKit::PageClientImpl::doneWithKeyEvent):
2678         * UIProcess/API/mac/WKView.mm:
2679         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2680         (-[WKView keyDown:]):
2681         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
2682         (-[WKView _doneWithKeyEvent:eventWasHandled:]):
2683         * UIProcess/API/mac/WKViewInternal.h:
2684
2685 2011-08-24  Amruth Raj  <amruthraj@motorola.com>
2686
2687         [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
2688         https://bugs.webkit.org/show_bug.cgi?id=66640
2689
2690         Reviewed by Martin Robinson.
2691
2692         The crash happens when a new timer is created in an existing timer callback. Since 
2693         TimerBase has a single GSource* it gets overridden and the old timer can never get
2694         stopped. To handle this, keep a copy of the old timer and use it for destruction.
2695
2696         * Platform/RunLoop.h:
2697         * Platform/gtk/RunLoopGtk.cpp:
2698         (RunLoop::TimerBase::timerFiredCallback):
2699         Store the timerSource so that even if it is modified by the timer callback,
2700         it can be restored for freeing it.
2701         (RunLoop::TimerBase::start):
2702         Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself.
2703
2704 2011-08-23  Anders Carlsson  <andersca@apple.com>
2705
2706         Prepare WKTextInputWindowController for the new text input model
2707         https://bugs.webkit.org/show_bug.cgi?id=66826
2708
2709         Reviewed by Sam Weinig.
2710
2711         Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
2712         additional usingLegacyCocoaTextInput flag. No functionality change.
2713
2714         * UIProcess/API/mac/WKTextInputWindowController.h:
2715         * UIProcess/API/mac/WKTextInputWindowController.mm:
2716         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
2717         (-[WKTextInputPanel _hasMarkedText]):
2718         (-[WKTextInputWindowController hasMarkedText]):
2719         (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
2720         * UIProcess/API/mac/WKView.mm:
2721         (-[WKView keyDown:]):
2722
2723 2011-08-23  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
2724
2725         [Qt] Unnecessary folders in WebKit2.
2726         https://bugs.webkit.org/show_bug.cgi?id=66583
2727
2728         Reviewed by Benjamin Poulain.
2729
2730         Remove empty autotest folders that were left over from QGraphicsWKView times.
2731
2732         * UIProcess/API/qt/tests/qgraphicswkview: Removed.
2733         * UIProcess/API/qt/tests/qwkhistory: Removed.
2734         * UIProcess/API/qt/tests/qwkpage: Removed.
2735
2736 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2737
2738         [Qt][WK2] Fix an awful memory leak introduced in r92376.
2739         https://bugs.webkit.org/show_bug.cgi?id=65528
2740
2741         Reviewed by Benjamin Poulain.
2742
2743         The non-virtual destructor would create a leak of the tile update buffer because
2744         the NodeUpdateSetTexture's QImage member destructor wouldn't be called.
2745
2746         * UIProcess/qt/SGAgent.h:
2747         (WebKit::NodeUpdate::~NodeUpdate):
2748
2749 2011-08-23  Steve Block  <steveblock@google.com>
2750
2751         Remove all mention of removed Android files from build scripts
2752         https://bugs.webkit.org/show_bug.cgi?id=66755
2753
2754         Reviewed by Tony Gentilcore.
2755
2756         * Scripts/generate-forwarding-headers.pl:
2757
2758 2011-08-23  Benjamin Poulain  <benjamin@webkit.org>
2759
2760         [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually
2761         https://bugs.webkit.org/show_bug.cgi?id=66672
2762
2763         Reviewed by Kenneth Rohde Christiansen.
2764
2765         Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries.
2766         This method is now used as the entry point for animations in order to avoid bugs regarding scale or position.
2767
2768         The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
2769
2770         * UIProcess/qt/ViewportInteractionEngine.cpp:
2771         (WebKit::ViewportInteractionEngine::panGestureEnded):
2772         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
2773         (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
2774         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
2775         (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
2776         * UIProcess/qt/ViewportInteractionEngine.h:
2777
2778 2011-08-22  Oliver Hunt  <oliver@apple.com>
2779
2780         Delay GC triggered NP object destruction to the next runloop cycle
2781         https://bugs.webkit.org/show_bug.cgi?id=66717
2782
2783         Reviewed by Anders Carlsson.
2784
2785         Delay destruction of plugin objects caused by GC until the next
2786         runloop cycle so that they can execute JS in their finalizers.
2787         We do this using a zero delay timer coupled with a queue of
2788         objects to be finalised.
2789
2790         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2791         (WebKit::JSNPObject::releaseObject):
2792         * WebProcess/Plugins/Netscape/JSNPObject.h:
2793         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2794         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
2795         (WebKit::NPRuntimeObjectMap::invalidate):
2796         (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects):
2797         (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
2798         (WebKit::NPRuntimeObjectMap::finalize):
2799         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
2800         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
2801         (WebKit::trySafeReleaseNPObject):
2802         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
2803
2804 2011-08-22  Anders Carlsson  <andersca@apple.com>
2805
2806         Move code from PageClientImpl::doneWithKeyEvent to WKView
2807         https://bugs.webkit.org/show_bug.cgi?id=66722
2808
2809         Reviewed by Darin Adler.
2810
2811         * UIProcess/API/mac/PageClientImpl.mm:
2812         (WebKit::PageClientImpl::doneWithKeyEvent):
2813         * UIProcess/API/mac/WKView.mm:
2814         (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]):
2815         * UIProcess/API/mac/WKViewInternal.h:
2816
2817 2011-08-22  Anders Carlsson  <andersca@apple.com>
2818
2819         Update the text input context when the plug-in focus changes and not when the complex text input state changes
2820         https://bugs.webkit.org/show_bug.cgi?id=66716
2821
2822         Reviewed by Darin Adler.
2823
2824         * UIProcess/API/mac/WKView.mm:
2825         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
2826         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2827
2828 2011-08-22  Michael Saboff  <msaboff@apple.com>
2829
2830         REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
2831         https://bugs.webkit.org/show_bug.cgi?id=66464
2832
2833         Changed ArgumentEncoder to use system malloc instead of fastMalloc.
2834         FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with
2835         mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY.
2836         The system malloc has no such limitation.
2837         Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it 
2838         doesn't have size limitations that MACH_MSG_PHYSICAL_COPY.
2839         
2840         Reviewed by Anders Carlsson.
2841
2842         * Platform/CoreIPC/ArgumentEncoder.cpp:
2843         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
2844         (CoreIPC::ArgumentEncoder::grow):
2845         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2846         (CoreIPC::Connection::sendOutgoingMessage):
2847
2848 2011-08-22  Anders Carlsson  <andersca@apple.com>
2849
2850         Use -[NSApplication updateWindows] to update the current input context
2851         https://bugs.webkit.org/show_bug.cgi?id=66715
2852
2853         Reviewed by Alexey Proskuryakov.
2854
2855         * UIProcess/API/mac/WKView.mm:
2856         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2857
2858 2011-08-22  Anders Carlsson  <andersca@apple.com>
2859
2860         The UI process should keep track of whether a plug-in has focus or not
2861         https://bugs.webkit.org/show_bug.cgi?id=66712
2862
2863         Reviewed by Darin Adler.
2864
2865         This is in preparation for implementing the updated Cocoa text input model.
2866
2867         Pipe through whether a plug-in and its containing window has focus or not, from the
2868         plug-in process and all the way to the UI process.
2869
2870         * PluginProcess/PluginControllerProxy.h:
2871         * PluginProcess/mac/PluginControllerProxyMac.mm:
2872         (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged):
2873         * UIProcess/API/mac/PageClientImpl.h:
2874         * UIProcess/API/mac/PageClientImpl.mm:
2875         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
2876         * UIProcess/API/mac/WKView.mm:
2877         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
2878         * UIProcess/API/mac/WKViewInternal.h:
2879         * UIProcess/PageClient.h:
2880         * UIProcess/WebPageProxy.h:
2881         * UIProcess/WebPageProxy.messages.in:
2882         * UIProcess/mac/WebPageProxyMac.mm:
2883         (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
2884         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2885         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2886         (WebKit::NetscapePlugin::platformSetFocus):
2887         (WebKit::NetscapePlugin::windowFocusChanged):
2888         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
2889         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
2890         (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged):
2891         * WebProcess/Plugins/PluginController.h:
2892         * WebProcess/Plugins/PluginProxy.h:
2893         * WebProcess/Plugins/PluginProxy.messages.in:
2894         * WebProcess/Plugins/PluginView.cpp:
2895         (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
2896         * WebProcess/Plugins/PluginView.h:
2897
2898 2011-08-22  Anders Carlsson  <andersca@apple.com>
2899
2900         Update the current NSTextInputContext whenever the plug-in complex text input state changes
2901         https://bugs.webkit.org/show_bug.cgi?id=66709
2902
2903         Reviewed by Sam Weinig.
2904
2905         Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input
2906         context. Fixes a rare case when the out-of-line editing window wouldn't appear.
2907
2908         * UIProcess/API/mac/WKView.mm:
2909         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2910
2911 2011-08-19  Anders Carlsson  <andersca@apple.com>
2912
2913         Another attempt at fixing the Windows build.
2914
2915         * UIProcess/PageClient.h:
2916
2917 2011-08-19  Anders Carlsson  <andersca@apple.com>
2918
2919         Fix Windows build.
2920
2921         * WebProcess/Plugins/PluginController.h:
2922
2923 2011-08-19  Anders Carlsson  <andersca@apple.com>
2924
2925         Make the complex text input state a tri-state enum instead of a boolean
2926         https://bugs.webkit.org/show_bug.cgi?id=62245
2927
2928         Reviewed by Sam Weinig.
2929
2930         This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
2931
2932         * PluginProcess/PluginControllerProxy.cpp:
2933         * PluginProcess/PluginControllerProxy.h:
2934         * PluginProcess/mac/PluginControllerProxyMac.mm:
2935         (WebKit::PluginControllerProxy::setComplexTextInputState):
2936         (WebKit::PluginControllerProxy::compositingRenderServerPort):
2937         * Shared/Plugins/mac: Added.
2938         * Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
2939         (WebKit::isValidPluginComplexTextInputState):
2940         * UIProcess/API/mac/PageClientImpl.h:
2941         * UIProcess/API/mac/PageClientImpl.mm:
2942         (WebKit::PageClientImpl::setPluginComplexTextInputState):
2943         * UIProcess/API/mac/WKView.mm:
2944         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2945         * UIProcess/API/mac/WKViewInternal.h:
2946         * UIProcess/PageClient.h:
2947         * UIProcess/WebPageProxy.h:
2948         * UIProcess/WebPageProxy.messages.in:
2949         * UIProcess/mac/WebPageProxyMac.mm:
2950         (WebKit::WebPageProxy::setPluginComplexTextInputState):
2951         * WebKit2.xcodeproj/project.pbxproj:
2952         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2953         (WebKit::NetscapePlugin::NetscapePlugin):
2954         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2955         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2956         (WebKit::NetscapePlugin::platformSetFocus):
2957         (WebKit::NetscapePlugin::windowFocusChanged):
2958         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
2959         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
2960         (WebKit::PluginProxy::setComplexTextInputState):
2961         * WebProcess/Plugins/PluginController.h:
2962         * WebProcess/Plugins/PluginProxy.cpp:
2963         * WebProcess/Plugins/PluginProxy.h:
2964         * WebProcess/Plugins/PluginProxy.messages.in:
2965         * WebProcess/Plugins/PluginView.cpp:
2966         (WebKit::PluginView::~PluginView):
2967         (WebKit::PluginView::setComplexTextInputState):
2968         (WebKit::PluginView::compositingRenderServerPort):
2969         * WebProcess/Plugins/PluginView.h:
2970
2971 2011-08-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2972
2973         [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
2974         https://bugs.webkit.org/show_bug.cgi?id=65920
2975
2976         Reviewed by Benjamin Poulain.
2977
2978         This patch makes QDesktopWebView delegate the decision of whether a navigation
2979         should proceed to a slot in QML. The user of the DesktopWebView must implement a
2980         'navigationPolicyForUrl()' if it wants to use the feature.
2981
2982         Such feature is useful for implementing opening links in "new tab" by using a
2983         specific mouse button or mouse button plus keyboard modifiers.
2984
2985         The patch introduces a internal Qt-level interface called PolicyInterface, that
2986         is used by QtWebPageProxy to delegate policy calls. A concrete implementation is
2987         provided for QDesktopWebView.
2988
2989         * Shared/qt/WebCoreArgumentCodersQt.cpp:
2990         (CoreIPC::::encode):
2991         (CoreIPC::::decode):
2992         Implement the serialization of the Request URL, which is the only data
2993         we exposing from the Request.
2994
2995         * WebKit2.pro:
2996         * UIProcess/qt/PolicyInterface.h: Added.
2997         * UIProcess/qt/QtWebPageProxy.cpp:
2998         (QtWebPageProxy::QtWebPageProxy):
2999         (QtWebPageProxy::init):
3000         * UIProcess/qt/QtWebPageProxy.h:
3001         Register a Policy Client in the WK2 C API only if there's a PolicyInterface available.
3002
3003         * UIProcess/qt/ClientImpl.h:
3004         * UIProcess/qt/ClientImpl.cpp:
3005         (toPolicyInterface):
3006         (toQtMouseButton):
3007         (toQtKeyboardModifiers):
3008         (qt_wk_decidePolicyForNavigationAction):
3009         Implement the callback for the Page Policy Client. It will translate the
3010         arguments to Qt jargon and call PolicyInterface.
3011
3012         * UIProcess/qt/qdesktopwebpageproxy.cpp:
3013         (QDesktopWebPageProxy::QDesktopWebPageProxy):
3014         * UIProcess/API/qt/qdesktopwebview.h:
3015         * UIProcess/API/qt/qdesktopwebview_p.h:
3016         * UIProcess/API/qt/qdesktopwebview.cpp:
3017         (toPolicyAction):
3018         (hasMetaMethod):
3019         (QDesktopWebViewPrivate::navigationPolicyForURL):
3020         The concrete implementation for QDesktopWebView. Its private object implements
3021         the PolicyInterface and try to call a possible function defined in QML (so return
3022         value and arguments all QVariants). If there's no such a function, returns the
3023         default UsePolicy, like if we haven't registered a PolicyClient in WK2 C API.
3024
3025         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: Added.
3026         * UIProcess/API/qt/tests/qmltests/common/test2.html: Added.
3027         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3028         Add a test for DesktopWebView QML element making use of a button and a modifier to
3029         ignore a navigation.
3030
3031         * UIProcess/qt/qtouchwebpageproxy.cpp:
3032         (QTouchWebPageProxy::QTouchWebPageProxy):
3033         For now, we don't have a PolicyInterface for QTouchWebView.
3034
3035 2011-08-18  Anders Carlsson  <andersca@apple.com>
3036
3037         WebProcess crashes during startup if libdispatch is initialized by WebProcessShim.dylib
3038         https://bugs.webkit.org/show_bug.cgi?id=66508
3039         <rdar://problem/9828476>
3040
3041         Reviewed by Mark Rowe.
3042
3043         * mac/MainMac.cpp:
3044         (closeUnusedFileDescriptors):
3045         Check if a file descriptor is a kqueue and don't close it if that is the case. While this
3046         isn't a complete fix, (it won't work if other initializers end up creating non-kqueue file descriptors)
3047         it's good enough for Snow Leopard. For Lion, we should use the new posix_spawn API that lets you whitelist
3048         file descriptors from the parent process.
3049
3050 2011-08-19  Benjamin Poulain  <benjamin@webkit.org>
3051
3052         [Qt][WK2] Add a basic engine to control the content of the viewport
3053         https://bugs.webkit.org/show_bug.cgi?id=66383
3054
3055         Reviewed by Andreas Kling.
3056
3057         Add ViewportInteractionEngine to handle the content of the viewport. The class make
3058         sure the QTouchWebPage stays in the viewport and in the boundaries.
3059
3060         * UIProcess/API/qt/qdesktopwebview.cpp:
3061         (QDesktopWebViewPrivate::loadDidCommit):
3062         * UIProcess/API/qt/qdesktopwebview_p.h:
3063         * UIProcess/API/qt/qtouchwebpage.cpp:
3064         (QTouchWebPage::QTouchWebPage): Set the transform origin to the top left so
3065         we can asume the position 0, 0 is always the top left of the page.
3066         (QTouchWebPagePrivate::_q_commitScaleChange): Make commitScaleChange a slot
3067         in order to completely decouple the ViewportInteractionEngine and the WebKit classes.
3068         * UIProcess/API/qt/qtouchwebpage.h:
3069         * UIProcess/API/qt/qtouchwebpage_p.h:
3070         * UIProcess/API/qt/qtouchwebview.cpp:
3071         (QTouchWebViewPrivate::QTouchWebViewPrivate):
3072         (QTouchWebViewPrivate::loadDidCommit):
3073         (QTouchWebViewPrivate::_q_viewportRectUpdated): Make _q_viewportRectUpdated() a slot
3074         for reducing coupling.
3075         (QTouchWebViewPrivate::updateViewportConstraints):
3076         (QTouchWebViewPrivate::setViewportArguments):
3077         (QTouchWebView::geometryChanged):
3078         * UIProcess/API/qt/qtouchwebview.h:
3079         * UIProcess/API/qt/qtouchwebview_p.h:
3080         * UIProcess/qt/ClientImpl.cpp:
3081         (qt_wk_didCommitLoadForFrame):
3082         * UIProcess/qt/QtGestureRecognizer.cpp:
3083         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
3084         * UIProcess/qt/QtGestureRecognizer.h: Change the gesture recognizer to talk directly
3085         to the ViewportInteractionEngine instead of interacting through TouchViewInterface.
3086         * UIProcess/qt/QtPanGestureRecognizer.cpp:
3087         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
3088         (WebKit::QtPanGestureRecognizer::recognize):
3089         * UIProcess/qt/QtPanGestureRecognizer.h:
3090         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
3091         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
3092         (WebKit::QtPinchGestureRecognizer::recognize):
3093         * UIProcess/qt/QtPinchGestureRecognizer.h:
3094         * UIProcess/qt/QtWebPageProxy.cpp:
3095         (QtWebPageProxy::loadDidCommit): Add the loadCommited callback in order
3096         to reset the viewport state when the page change.
3097         * UIProcess/qt/QtWebPageProxy.h:
3098         * UIProcess/qt/TouchViewInterface.cpp:
3099         (WebKit::TouchViewInterface::TouchViewInterface):
3100         (WebKit::TouchViewInterface::contentSizeChanged):
3101         (WebKit::TouchViewInterface::loadDidCommit):
3102         * UIProcess/qt/TouchViewInterface.h:
3103         * UIProcess/qt/ViewInterface.h:
3104         * UIProcess/qt/ViewportInteractionEngine.cpp: Added.
3105         (WebKit::visibleRectInContentCoordinate):
3106         (WebKit::contentRectInViewportCoordinate):
3107         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
3108         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
3109         (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
3110         (WebKit::ViewportInteractionEngine::reset):
3111         (WebKit::ViewportInteractionEngine::setConstraints):
3112         (WebKit::ViewportInteractionEngine::panGestureStarted):
3113         (WebKit::ViewportInteractionEngine::panGestureRequestScroll):
3114         (WebKit::ViewportInteractionEngine::panGestureCancelled):
3115         (WebKit::ViewportInteractionEngine::panGestureEnded):
3116         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
3117         (WebKit::ViewportInteractionEngine::pinchGestureRequestUpdate):
3118         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
3119         (WebKit::ViewportInteractionEngine::contentGeometryChanged):
3120         (WebKit::ViewportInteractionEngine::contentScaleChanged):
3121         (WebKit::ViewportInteractionEngine::updateContentIfNeeded):
3122         (WebKit::ViewportInteractionEngine::updateContentScaleIfNeeded):
3123         (WebKit::ViewportInteractionEngine::updateContentPositionIfNeeded):
3124         (WebKit::ViewportInteractionEngine::animateContentPositionToBoundaries):
3125         (WebKit::ViewportInteractionEngine::animateContentScaleToBoundaries):
3126         (WebKit::ViewportInteractionEngine::scaleContent):
3127         * UIProcess/qt/ViewportInteractionEngine.h: Added.
3128         (WebKit::ViewportInteractionEngine::Constraints::Constraints):
3129         (WebKit::operator==):
3130         * UIProcess/qt/qtouchwebpageproxy.cpp:
3131         (QTouchWebPageProxy::QTouchWebPageProxy):
3132         * UIProcess/qt/qtouchwebpageproxy.h:
3133         * WebKit2.pro:
3134
3135 2011-08-19  Lars Knudsen  <lars.knudsen@nokia.com>
3136
3137         [Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
3138         https://bugs.webkit.org/show_bug.cgi?id=66549
3139
3140         Reviewed by Benjamin Poulain.
3141
3142         * UIProcess/qt/QtWebPageProxy.cpp:
3143         (QtWebPageProxy::paint):
3144         * UIProcess/qt/QtWebPageProxy.h:
3145
3146 2011-08-19  MORITA Hajime  <morrita@google.com>
3147
3148         Spell-checking against execCommand() inserted HTML doesn't care word boundary.
3149         https://bugs.webkit.org/show_bug.cgi?id=65902
3150
3151         Reviewed by Ryosuke Niwa.
3152         
3153         Add exports for window.internals object.
3154
3155         * win/WebKit2.def:
3156         * win/WebKit2CFLite.def:
3157
3158 2011-08-18  Beth Dakin  <bdakin@apple.com>
3159
3160         Reviewed by Sam Weinig.
3161
3162         https://bugs.webkit.org/show_bug.cgi?id=66495
3163         Lion-specific scroller SPIs can use forward declaration instead of 
3164         WebKitSystemInterface
3165
3166         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3167         (InitWebCoreSystemInterface):
3168
3169 2011-08-18  Darin Adler  <darin@apple.com>
3170
3171         Made some code even more private to a particular file and class
3172         https://bugs.webkit.org/show_bug.cgi?id=66428
3173
3174         Reviewed by Anders Carlsson.
3175
3176         * UIProcess/API/mac/WKView.mm:
3177         (-[WKView _setDrawingAreaSize:]): Made this file internal.
3178         * UIProcess/API/mac/WKViewInternal.h: Removed _setDrawingAreaSize.
3179         * UIProcess/DrawingAreaProxy.h: Made sizeDidChange private.
3180
3181 2011-08-18  Amruth Raj  <amruthraj@motorola.com>
3182
3183         [GTK] [WK2] Activating sub menus cause the WebProcess to crash
3184         https://bugs.webkit.org/show_bug.cgi?id=66471
3185
3186         Reviewed by Anders Carlsson.
3187
3188         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3189         (WebKit::WebContextMenuProxyGtk::createGtkMenu):
3190
3191 2011-08-18  Adam Roben  <aroben@apple.com>
3192
3193         Update the device scale factor when the WKView's window changes
3194
3195         Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
3196         WebView is moved between windows with different backing scale factors
3197
3198         Reviewed by Anders Carlsson.
3199
3200         * UIProcess/API/mac/WKView.mm:
3201         (-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
3202         window at all) might have a different backing scale factor than the previous one.
3203         (-[WKView _deviceScaleFactor]): Moved to the new FileInternal category.
3204
3205 2011-08-18  Adam Roben  <aroben@apple.com>
3206
3207         Make WebPageProxy keep track of the current device scale factor
3208
3209         The device scale factor is no longer considered part of WebPageProxy's "view state". It now
3210         has its own setter/getter. This made the code a little simpler and more similar to the page
3211         scale factor. Each port-specific WebKit2 view is now responsible for calling
3212         WebPageProxy::setDeviceScaleFactor whenever it thinks the device scale factor might have
3213         changed.
3214
3215         Fixes <http://webkit.org/b/66466> WebKit2 requires every port-specific view to keep track of
3216         the current device scale factor
3217
3218         Reviewed by Anders Carlsson.
3219
3220         * UIProcess/API/efl/PageClientImpl.cpp:
3221         * UIProcess/API/efl/PageClientImpl.h:
3222         * UIProcess/API/gtk/PageClientImpl.h:
3223         * UIProcess/API/mac/PageClientImpl.h:
3224         * UIProcess/API/mac/PageClientImpl.mm:
3225         * UIProcess/PageClient.h:
3226         * UIProcess/qt/QtWebPageProxy.h:
3227         * UIProcess/win/WebView.h:
3228         Removed deviceScaleFactor.
3229
3230         * UIProcess/API/mac/WKView.mm:
3231         (-[WKView _deviceScaleFactor]): Added. Code came from PageClientImpl::deviceScaleFactor.
3232         (-[WKView _windowDidChangeResolution:]): Changed to call WebPageProxy::setDeviceScaleFactor.
3233
3234         * UIProcess/WebPageProxy.cpp:
3235         (WebKit::WebPageProxy::WebPageProxy): Initialize m_deviceScaleFactor.
3236         (WebKit::WebPageProxy::viewStateDidChange): Removed device-scale-factor-related code.
3237         (WebKit::WebPageProxy::setDeviceScaleFactor): Added. Records the new device scale factor and
3238         tells the DrawingAreaProxy about it if it's actually changed.
3239         (WebKit::WebPageProxy::creationParameters): Use m_deviceScaleFactor instead of calling out
3240         to the PageClient.
3241
3242         * UIProcess/WebPageProxy.h: Added m_deviceScaleFactor and setDeviceScaleFactor, which
3243         replaces the DeviceScaleFactor ViewStateFlag.
3244         (WebKit::WebPageProxy::deviceScaleFactor): Inlined this now-simple getter.
3245
3246 2011-08-17  Adam Roben  <aroben@apple.com>
3247
3248         Make WebCore keep track of the current device scale factor
3249
3250         Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
3251         device scale factor
3252
3253         Reviewed by Darin Adler.
3254
3255         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3256         * WebProcess/WebCoreSupport/WebChromeClient.h:
3257         Removed deviceScaleFactor.
3258
3259         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3260         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
3261         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
3262         (WebKit::DrawingAreaImpl::display):
3263         * WebProcess/WebPage/FindController.cpp:
3264         (WebKit::FindController::updateFindIndicator):
3265         (WebKit::FindController::hideFindIndicator):
3266         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
3267         (WebKit::LayerTreeHostCA::deviceScaleFactor):
3268         Changed to get the device scale factor from WebCore.
3269
3270         * WebProcess/WebPage/WebPage.cpp:
3271         (WebKit::WebPage::WebPage):
3272         (WebKit::WebPage::setDeviceScaleFactor):
3273         * WebProcess/WebPage/WebPage.h:
3274         Removed m_deviceScaleFactor. We always get the scale factor from WebCore now.
3275
3276 2011-08-17  Anders Carlsson  <andersca@apple.com>
3277
3278         Remove unused Core Animation related classes
3279         https://bugs.webkit.org/show_bug.cgi?id=66393
3280
3281         Reviewed by Darin Adler.
3282
3283         * Shared/mac/CoreAnimationRenderer.h: Removed.
3284         * Shared/mac/CoreAnimationRenderer.mm: Removed.
3285         * Shared/mac/ShareableSurface.cpp: Removed.
3286         * Shared/mac/ShareableSurface.h: Removed.
3287         * WebKit2.xcodeproj/project.pbxproj:
3288
3289 2011-08-15  Dmitry Titov  <dimich@chromium.org>
3290
3291         FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
3292         https://bugs.webkit.org/show_bug.cgi?id=66165
3293
3294         Reviewed by Darin Fisher.
3295
3296         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3297         (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
3298         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3299
3300 2011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
3301
3302         [Qt][WK2] Unreviewed build fix after r93058.
3303
3304         * UIProcess/TiledDrawingAreaProxy.cpp:
3305         (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
3306         * UIProcess/TiledDrawingAreaProxy.h:
3307
3308 2011-08-15  Adam Roben  <aroben@apple.com>
3309
3310         Update pages' style and content scale when the window's backing scale factor changes
3311
3312         Unfortunately, I couldn't think of a way to test this in an automated fashion.
3313
3314         Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
3315         scale factor changes
3316
3317         Reviewed by Simon Fraser.
3318
3319         * UIProcess/API/mac/WKView.mm:
3320         (-[WKView addWindowObserversForWindow:]):
3321         (-[WKView removeWindowObservers]):
3322         Listen for the notification that tells us the window's backing scale has changed.
3323
3324         (-[WKView _windowDidChangeResolution:]): Tell the WebPageProxy about the change.
3325
3326         * UIProcess/DrawingAreaProxy.h:
3327         * UIProcess/DrawingAreaProxyImpl.h:
3328         Added deviceScaleFactorDidChange.
3329
3330         * UIProcess/DrawingAreaProxyImpl.cpp:
3331         (WebKit::DrawingAreaProxyImpl::deviceScaleFactorDidChange): Request a new backing store
3332         since the current one is using an old device scale factor.
3333         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Send the device scale factor
3334         along to the web process so it can render accordingly. This is how we tell the web process
3335         about device scale factor changes.
3336
3337         * UIProcess/WebPageProxy.cpp:
3338         (WebKit::WebPageProxy::viewStateDidChange): Tell the DrawingAreaProxy when the device scale
3339         factor changes.
3340         (WebKit::WebPageProxy::deviceScaleFactor): Added this simple getter that calls through to
3341         the PageClient. DrawingAreaProxy uses this function.
3342
3343         * UIProcess/WebPageProxy.h: Added new members.
3344
3345         * WebProcess/WebPage/DrawingArea.h:
3346         (WebKit::DrawingArea::updateBackingStoreState):
3347         * WebProcess/WebPage/DrawingArea.messages.in:
3348         * WebProcess/WebPage/DrawingAreaImpl.h:
3349         Send the device scale factor in the UpdateBackingStoreState message.
3350
3351         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3352         (WebKit::DrawingAreaImpl::updateBackingStoreState): Tell the WebPage and LayerTreeHost about
3353         the new device scale factor.
3354
3355         * WebProcess/WebPage/LayerTreeHost.h:
3356         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
3357         Added deviceScaleFactorDidChange.
3358
3359         * WebProcess/WebPage/WebPage.cpp:
3360         (WebKit::WebPage::setDeviceScaleFactor): Store the new scale factor and tell the page about
3361         it so that, e.g., scale-factor-dependent media queries will be reevaluated.
3362
3363         * WebProcess/WebPage/WebPage.h: Added setDeviceScaleFactor.
3364
3365         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
3366         (WebKit::LayerTreeHostCA::deviceScaleFactorDidChange): Tell the layer for non-composited
3367         content about the new scale factor.
3368
3369 2011-08-15  Benjamin Poulain  <benjamin@webkit.org>
3370
3371         [Qt][WK2] Get rid of QTouchWebPagePrivate::getPageViewPrivate()
3372         https://bugs.webkit.org/show_bug.cgi?id=66222
3373
3374         Reviewed by Kenneth Rohde Christiansen.
3375
3376         The function QTouchWebPagePrivate::getPageViewPrivate() exposed
3377         the private QTouchWebPage to any object in WebKit.
3378
3379         Instead, use the friend keyword to list which objects can access
3380         the internal of QTouchWebPage.
3381
3382         * UIProcess/API/qt/qtouchwebpage.h:
3383         * UIProcess/API/qt/qtouchwebpage_p.h:
3384         * UIProcess/API/qt/qtouchwebview.cpp:
3385         (QTouchWebViewPrivate::QTouchWebViewPrivate):
3386         (QTouchWebViewPrivate::viewportRectUpdated):
3387
3388 2011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
3389
3390         Unreviewed.
3391         Fix Qt-WK2 build after r93040.
3392
3393         * UIProcess/qt/QtWebPageProxy.h:
3394         (QtWebPageProxy::deviceScaleFactor):
3395
3396 2011-08-10  Adam Roben  <aroben@apple.com>
3397
3398         Clear up scale factor terminology
3399
3400         WebKit by and large deals with two scale factors: one intrinsic to the device on which the
3401         software is running, and one that is per-Page and can be controlled via API calls. This
3402         patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
3403         code use those names. It should introduce no behavior changes.
3404
3405         Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
3406         device scale factor
3407
3408         Reviewed by Simon Fraser.
3409
3410         * Shared/UpdateInfo.cpp:
3411         * Shared/UpdateInfo.h:
3412         * Shared/WebPageCreationParameters.cpp:
3413         * Shared/WebPageCreationParameters.h:
3414         * UIProcess/API/C/WKPage.cpp:
3415         * UIProcess/API/efl/PageClientImpl.cpp:
3416         * UIProcess/API/efl/PageClientImpl.h:
3417         * UIProcess/API/gtk/PageClientImpl.h:
3418         * UIProcess/API/mac/PageClientImpl.h:
3419         * UIProcess/API/mac/PageClientImpl.mm:
3420         * UIProcess/BackingStore.cpp:
3421         * UIProcess/BackingStore.h:
3422         * UIProcess/DrawingAreaProxyImpl.cpp:
3423         * UIProcess/PageClient.h:
3424         * UIProcess/WebPageProxy.cpp:
3425         * UIProcess/WebPageProxy.h:
3426         * UIProcess/WebPageProxy.messages.in:
3427         * UIProcess/WebPopupMenuProxy.h:
3428         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
3429         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
3430         * UIProcess/mac/BackingStoreMac.mm:
3431         * UIProcess/mac/WebPageProxyMac.mm:
3432         * UIProcess/mac/WebPopupMenuProxyMac.h:
3433         * UIProcess/mac/WebPopupMenuProxyMac.mm:
3434         * UIProcess/qt/WebPopupMenuProxyQt.h:
3435         * UIProcess/win/WebPopupMenuProxyWin.h:
3436         * UIProcess/win/WebView.h:
3437         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3438         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3439         * WebProcess/WebCoreSupport/WebChromeClient.h:
3440         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3441         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3442         * WebProcess/WebPage/FindController.cpp:
3443         * WebProcess/WebPage/WebPage.cpp:
3444         * WebProcess/WebPage/WebPage.h:
3445         * WebProcess/WebPage/WebPage.messages.in:
3446         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
3447         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
3448
3449 2011-08-13  Sam Weinig  <sam@webkit.org>
3450
3451         Remove unused variables from WKFullScreenWindowController.h
3452         https://bugs.webkit.org/show_bug.cgi?id=66193
3453
3454         Reviewed by Dan Bernstein.
3455
3456         * UIProcess/mac/WKFullScreenWindowController.h:
3457         Remove _layerViewPlaceholder, _isWindowLoaded and _initialFrame which were not used.
3458
3459 2011-08-12  Dan Bernstein  <mitz@apple.com>
3460
3461         <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
3462         https://bugs.webkit.org/show_bug.cgi?id=66178
3463
3464         Reviewed by Simon Fraser.
3465
3466         * Shared/WebPreferencesStore.h:
3467         * UIProcess/API/C/WKPreferences.cpp:
3468         (WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter.
3469         (WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter.
3470         * UIProcess/API/C/WKPreferencesPrivate.h:
3471         * WebProcess/WebPage/WebPage.cpp:
3472         (WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference.
3473
3474 2011-08-12  Mark Rowe  <mrowe@apple.com>
3475
3476         Be more forward-looking in the choice of compiler.
3477
3478         Rubber-stamped by Jon Honeycutt.
3479
3480         * Configurations/CompilerVersion.xcconfig:
3481
3482 2011-08-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3483
3484         VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements
3485         https://bugs.webkit.org/show_bug.cgi?id=66109
3486
3487         Reviewed by Anders Carlsson.
3488
3489         Multiply vector size by element size in encode/decode to get correct byte size of vector data.
3490
3491         * Platform/CoreIPC/ArgumentCoders.h:
3492
3493 2011-08-11  Nico Weber  <thakis@chromium.org>
3494
3495         Remove incorrect comment about m_wheelEventHandlerCount
3496         https://bugs.webkit.org/show_bug.cgi?id=66117
3497
3498         Reviewed by Simon Fraser.
3499
3500         From what I can tell, this number is changed only in
3501         Frame::notifyChromeClientWheelEventHandlerCountChanged(),
3502         and there it just reads the number modified in
3503         Document::didAdd/RemoveWheelEventHandler(). So this is just the number
3504         of event handlers (and not related to horizontal scrollbars), and the
3505         variable name expresses that already.
3506
3507         * UIProcess/WebPageProxy.h:
3508
3509 2011-08-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3510