1 2011-09-21 Dan Bernstein <mitz@apple.com>
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
6 Reviewed by Darin Adler.
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".
11 2011-09-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
13 [Qt][WK2] Implement Download support in WebProcess
14 https://bugs.webkit.org/show_bug.cgi?id=68153
16 Reviewed by Andreas Kling.
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.
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.
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>.
30 * UIProcess/API/qt/qweberror.cpp: Adding DownloadError
32 * UIProcess/API/qt/qweberror.h: Adding DownloadError
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.
55 2011-09-21 Mark Rowe <mrowe@apple.com>
57 <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time
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.
65 Reviewed by Jon Honeycutt.
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.
71 2011-09-21 Andras Becsi <andras.becsi@nokia.com>
73 [Qt] Remove Qt specific code from css/SelectorChecker.cpp
74 https://bugs.webkit.org/show_bug.cgi?id=67702
76 Reviewed by Csaba Osztrogonác.
78 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype.
79 (WebKit::WebPlatformStrategies::isLinkVisited):
80 (WebKit::WebPlatformStrategies::addVisitedLink):
81 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
83 2011-09-20 Anders Carlsson <andersca@apple.com>
85 Get rid of PluginView::setBoundsSize from WebKit2
86 https://bugs.webkit.org/show_bug.cgi?id=68489
88 Reviewed by Dan Bernstein.
90 Remove m_boundsSize and the setter since they aren't used anywhere.
92 * WebProcess/Plugins/PluginView.cpp:
93 * WebProcess/Plugins/PluginView.h:
95 2011-09-20 Gopal Raghavan <gopal.1.raghavan@nokia.com>
97 [Qt] QTouchWebView missing signal tests for loadProgress
98 https://bugs.webkit.org/show_bug.cgi?id=68442
100 Reviewed by Chang Shu.
102 Added test case to check load progress signal for QTouchWebView
104 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added.
105 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
107 2011-09-20 Sheriff Bot <webkit.review.bot@gmail.com>
109 Unreviewed, rolling out r95565.
110 http://trac.webkit.org/changeset/95565
111 https://bugs.webkit.org/show_bug.cgi?id=68470
113 Broke builds (Requested by andersca on #webkit).
116 * Shared/API/c/WKHitTestResult.cpp: Removed.
117 * Shared/API/c/WKHitTestResult.h: Removed.
118 * UIProcess/API/C/WebKit2.h:
120 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
122 [Qt] [WK2] Implement a persistent cookie storage.
123 https://bugs.webkit.org/show_bug.cgi?id=65309
125 Reviewed by Chang Shu.
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.
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):
141 2011-09-20 Nayan Kumar K <nayankk@motorola.com>
143 Added WKHitTestResult API's.
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
148 https://bugs.webkit.org/show_bug.cgi?id=68426
150 Reviewed by Anders Carlsson.
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:
163 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
165 [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
166 https://bugs.webkit.org/show_bug.cgi?id=68444
168 Reviewed by Andreas Kling.
170 Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
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):
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.
193 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
195 [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
196 https://bugs.webkit.org/show_bug.cgi?id=68401
198 Reviewed by Simon Hausmann.
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
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.
210 2011-09-20 Csaba Osztrogonác <ossy@webkit.org>
212 [Qt][Mac] Buildfix after r95513.
214 Rubber-stamped by Andras Becsi.
216 * Scripts/generate-forwarding-headers.pl: Add mm file supporting.
218 2011-09-20 Gopal Raghavan <gopal.1.raghavan@nokia.com>
220 [Qt] QDesktopWebView missing loadProgress tests
221 https://bugs.webkit.org/show_bug.cgi?id=68280
223 Reviewed by Andreas Kling.
225 Added test case to check load progress property and signal for QDesktopWebView
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:
231 2011-09-20 Carlos Garcia Campos <cgarcia@igalia.com>
233 [GTK] WebProcess shouldn't use the GTK+ API
234 https://bugs.webkit.org/show_bug.cgi?id=68062
236 Reviewed by Martin Robinson.
238 Use WebCore API to create errors in WebProcess.
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):
250 2011-09-19 Mark Rowe <mrowe@apple.com>
252 <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
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.
258 Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController.
260 Reviewed by Dan Bernstein.
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.
268 2011-09-19 Adam Barth <abarth@webkit.org>
270 Always enable ENABLE(EVENTSOURCE)
271 https://bugs.webkit.org/show_bug.cgi?id=68414
273 Reviewed by Eric Seidel.
275 * Configurations/FeatureDefines.xcconfig:
277 2011-09-19 Alexis Menard <alexis.menard@openbossa.org>
279 [Qt] Unreviewed coding style fix.
281 * UIProcess/API/qt/qdesktopwebview.h:
282 * UIProcess/API/qt/qtouchwebpage.h:
283 * UIProcess/API/qt/qweberror.h:
285 2011-09-19 Alexis Menard <alexis.menard@openbossa.org>
287 [Qt][WK2] Make loading errors API easier to use.
288 https://bugs.webkit.org/show_bug.cgi?id=68357
290 Reviewed by Tor Arne Vestbø.
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.
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:
316 2011-09-19 Dan Bernstein <mitz@apple.com>
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
321 Reviewed by Sam Weinig.
323 Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher.
324 Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject.
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):
343 2011-09-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
345 [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox
346 https://bugs.webkit.org/show_bug.cgi?id=67938
348 Reviewed by Andreas Kling.
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.
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().
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:
374 2011-09-19 Carlos Garcia Campos <cgarcia@igalia.com>
376 [GTK] Fix distcheck build
377 https://bugs.webkit.org/show_bug.cgi?id=68241
379 Reviewed by Martin Robinson.
383 2011-09-17 Mihai Parparita <mihaip@chromium.org>
385 FrameLoaderClient BackForwardList-related methods are unsued
386 https://bugs.webkit.org/show_bug.cgi?id=68293
388 Reviewed by Darin Adler.
390 Remove FrameLoaderClient methods that were added by r51629, since only
391 the old (since-deleted) Android port needed them.
393 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
394 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
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
400 Reviewed by Chang Shu.
402 Added test case to check load progress for QTouchWebView
404 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added.
405 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
407 2011-09-16 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
409 Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files
410 https://bugs.webkit.org/show_bug.cgi?id=68249
412 Reviewed by Martin Robinson.
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.
425 2011-09-16 Simon Fraser <simon.fraser@apple.com>
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
430 Reviewed by Sam Weinig.
432 Hook up a private preference that enables the mock scrollbar theme.
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):
442 2011-09-16 Mark Rowe <mrowe@apple.com>
444 Stop installing source and header files in to WebKit2.framework after r95303.
446 * WebKit2.xcodeproj/project.pbxproj:
448 2011-09-16 Anders Carlsson <andersca@apple.com>
450 Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
451 https://bugs.webkit.org/show_bug.cgi?id=68269
453 Reviewed by Geoffrey Garen.
455 Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
457 * UIProcess/API/C/WKPage.h:
458 * UIProcess/WebUIClient.cpp:
459 (WebKit::WebUIClient::mouseDidMoveOverElement):
461 2011-09-16 Alexey Proskuryakov <ap@apple.com>
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
466 Reviewed by Darin Adler.
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.
473 * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns.
475 * WebProcess/Info.plist: Added a key for the icon.
477 * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns.
479 2011-09-16 Anders Carlsson <andersca@apple.com>
481 Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API
482 https://bugs.webkit.org/show_bug.cgi?id=68266
484 Reviewed by John Sullivan.
486 * UIProcess/API/C/WKPage.h:
487 * UIProcess/WebUIClient.cpp:
488 (WebKit::WebUIClient::mouseDidMoveOverElement):
490 2011-09-16 Filip Pizlo <fpizlo@apple.com>
492 DFG JIT should inline Math.abs
493 https://bugs.webkit.org/show_bug.cgi?id=68227
495 Reviewed by Oliver Hunt.
497 Added JavaScriptCore/dfg to include path path.
501 2011-09-16 Igor Oliveira <igor.oliveira@openbossa.org>
503 [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.
504 https://bugs.webkit.org/show_bug.cgi?id=68125
506 This patch implements support for the UiProcess to know what is the link url of a hovered element.
508 Reviewed by Anders Carlsson.
512 * Shared/API/c/WKBase.h:
513 * Shared/APIObject.h:
514 * Shared/WebHitTestResult.cpp: Added.
516 WebHitTestResult has hovered element information.
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:
539 * WebKit2.xcodeproj/project.pbxproj:
540 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
541 (WebKit::WebChromeClient::mouseDidMoveOverElement):
542 * win/WebKit2.vcproj:
544 2011-09-15 Adam Roben <aroben@apple.com>
546 Add support for attributes on message parameters
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
552 Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message
555 Reviewed by Sam Weinig.
557 * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes.
559 * Scripts/webkit2/model.py:
560 (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes
562 (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute.
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
570 2011-09-15 Adam Roben <aroben@apple.com>
572 Make WebKit2's message-generation model and parser scripts accessible to other projects
574 We copy them into the build products directory so other projects can find them.
576 Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation
577 scripts in other projects
579 Reviewed by Darin Adler.
581 * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders.
583 * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to
584 tools/scripts, like WebCore does.
586 * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what
587 WebCore does for its bindings scripts.
589 2011-09-15 Adam Roben <aroben@apple.com>
591 Split some of the message-generation code into separate modules
593 This is in preparation for making these modules scripts usable by other projects.
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
598 Reviewed by Darin Adler.
600 * DerivedSources.make:
601 * DerivedSources.pro:
603 * WebKit2.xcodeproj/project.pbxproj:
604 * win/WebKit2.vcproj:
605 * win/WebKit2Generated.vcproj:
608 * Scripts/webkit2/messages.py: Moved some code from here...
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.
614 * Scripts/webkit2/messages_unittest.py: Updated for renames.
616 2011-09-16 Martin Robinson <mrobinson@igalia.com>
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
621 Reviewed by Xan Lopez.
623 * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support
626 2011-09-15 Adam Barth <abarth@webkit.org>
628 Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
629 https://bugs.webkit.org/show_bug.cgi?id=68205
631 Reviewed by Eric Seidel.
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):
640 2011-09-15 Eric Seidel <eric@webkit.org>
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
645 Reviewed by Adam Barth.
647 * Configurations/FeatureDefines.xcconfig:
649 2011-09-15 Eric Seidel <eric@webkit.org>
651 Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
652 https://bugs.webkit.org/show_bug.cgi?id=68022
654 Reviewed by Ryosuke Niwa.
656 * Configurations/FeatureDefines.xcconfig:
658 2011-09-15 Alexis Menard <alexis.menard@openbossa.org>
660 [Qt][WK2] Make QWebError more friendly to QML.
661 https://bugs.webkit.org/show_bug.cgi?id=67785
663 Reviewed by Simon Hausmann.
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.
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:
691 2011-09-15 Adam Roben <aroben@apple.com>
693 Remove WebKit2-specific knowledge from the Message class
695 This is in preparation for making some of our message-generations scripts usable by other
698 Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know
699 too much about WebKit2 details
701 Reviewed by Anders Carlsson.
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
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.
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.
720 2011-09-14 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
722 Eliminate WebKit2 compilation warnings.
723 https://bugs.webkit.org/show_bug.cgi?id=65025
725 Warnings found with gcc on linux.
727 Reviewed by Sam Weinig.
729 * Platform/CoreIPC/ArgumentEncoder.cpp:
730 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
731 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
732 (WebKit::WebFrameLoaderClient::createPlugin):
734 2011-09-14 Ada Chan <adachan@apple.com>
736 Implement WKBundleFrameCopyWebArchive().
737 http://bugs.webkit.org/show_bug.cgi?id=67857
739 Reviewed by Anders Carlsson.
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.
750 2011-09-14 Alexey Proskuryakov <ap@apple.com>
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
755 Reviewed by Anders Carlsson.
757 * WebProcess/com.apple.WebProcess.sb:
759 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
761 Unzip initialization lists and constructors in JSCell hierarchy (6/7)
762 https://bugs.webkit.org/show_bug.cgi?id=67692
764 Reviewed by Geoffrey Garen.
766 Completed the sixth level of the refactoring to add finishCreation()
767 methods to all classes within the JSCell hierarchy with non-trivial
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.
778 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
779 (WebKit::JSNPMethod::JSNPMethod):
780 * WebProcess/Plugins/Netscape/JSNPMethod.h:
781 (WebKit::JSNPMethod::create):
783 2011-09-13 Eric Seidel <eric@webkit.org>
785 Remove ENABLE_SVG_USE as <use> is required by HTML5
786 https://bugs.webkit.org/show_bug.cgi?id=68019
788 Reviewed by Ryosuke Niwa.
790 * Configurations/FeatureDefines.xcconfig:
792 2011-09-13 Anders Carlsson <andersca@apple.com>
794 Disable C++ exceptions when building with clang
795 https://bugs.webkit.org/show_bug.cgi?id=68031
796 <rdar://problem/9556880>
798 Reviewed by Mark Rowe.
800 * Configurations/Base.xcconfig:
802 2011-09-13 Eric Seidel <eric@webkit.org>
804 Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
805 https://bugs.webkit.org/show_bug.cgi?id=68018
807 Reviewed by Ryosuke Niwa.
809 * Configurations/FeatureDefines.xcconfig:
811 2011-09-13 Chang Shu <cshu@webkit.org>
813 [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
814 https://bugs.webkit.org/show_bug.cgi?id=57515
816 The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.
818 Reviewed by Darin Adler.
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:
833 2011-09-12 Ryuan Choi <ryuan.choi@samsung.com>
835 Reviewed by Eric Seidel.
837 [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
838 https://bugs.webkit.org/show_bug.cgi?id=62692
840 * CMakeLists.txt: define WTF_USE_JSC=1.
841 * config.h: add cmakeconfig.h and define necessary macros for CMake build.
843 2011-09-12 Igor Oliveira <igor.oliveira@openbossa.org>
845 [Qt] [WK2] implement support to upload files in Qt WebKit2
846 https://bugs.webkit.org/show_bug.cgi?id=67228
848 This patch implements support to upload files in the Desktop Qt WebKit2 implementation.
850 Reviewed by Andreas Kling.
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:
861 qt_wk_runOpenPanel supports single and multiple files selection.
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:
871 2011-09-12 Alexis Menard <alexis.menard@openbossa.org>
875 Reviewed by Andreas Kling.
877 * UIProcess/qt/QtWebPageProxy.cpp:
879 2011-09-11 Mark Rowe <mrowe@apple.com>
881 <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting
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.
888 Reviewed by Anders Carlsson.
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.
898 2011-09-11 Balazs Kelemen <kbalazs@webkit.org>
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
903 Reviewed by Andreas Kling.
905 * UIProcess/qt/QtWebPageProxy.cpp:
906 (QtWebPageProxy::init):
908 2011-09-09 Oliver Hunt <oliver@apple.com>
910 Remove support for anonymous storage from jsobjects
911 https://bugs.webkit.org/show_bug.cgi?id=67881
913 Reviewed by Sam Weinig.
915 Remove the use of AnonymousSlotCount.
917 * WebProcess/Plugins/Netscape/JSNPMethod.h:
918 (WebKit::JSNPMethod::createStructure):
919 * WebProcess/Plugins/Netscape/JSNPObject.h:
920 (WebKit::JSNPObject::createStructure):
922 2011-09-09 Chris Marrin <cmarrin@apple.com>
924 requestAnimationFrame doesn't throttle on Mac
925 https://bugs.webkit.org/show_bug.cgi?id=67171
927 Reviewed by Simon Fraser.
929 Removed runLoopObserver for requestAnimationFrame. It's now
930 done by a Timer in ScriptedAnimationController in WebCore.
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:
939 2011-09-09 Fady Samuel <fsamuel@chromium.org>
941 Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
942 https://bugs.webkit.org/show_bug.cgi?id=67250
944 Reviewed by Simon Fraser.
946 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
947 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
948 * WebProcess/WebPage/WebPage.cpp:
949 (WebKit::WebPage::scalePage):
950 (WebKit::WebPage::pageScaleFactor):
952 2011-09-09 Mark Hahnenberg <mhahnenberg@apple.com>
954 Unzip initialization lists and constructors in JSCell hierarchy (5/7)
955 https://bugs.webkit.org/show_bug.cgi?id=67420
957 Reviewed by Geoffrey Garen.
959 Completed the fifth level of the refactoring to add finishCreation()
960 methods to all classes within the JSCell hierarchy with non-trivial
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.
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):
981 2011-09-08 Mark Rowe <mrowe@apple.com>
983 <rdar://problem/9742393> Spell checking a text area causes the page to reload
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.
989 Reviewed by Anders Carlsson.
991 * UIProcess/WebPageProxy.cpp:
992 (WebKit::WebPageProxy::executeEditCommand):
994 2011-09-08 Sam Weinig <sam@webkit.org>
996 Remove accidentally committed typo.
998 * Platform/CoreIPC/Connection.cpp:
999 (CoreIPC::Connection::waitForSyncReply):
1001 2011-09-08 Brian Weinstein <bweinstein@apple.com>
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>
1007 Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string
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.
1013 Reviewed by Brady Eidson.
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.
1019 2011-09-08 Sam Weinig <sam@webkit.org>
1021 Remove the Completion object from JSC, I have never liked it
1022 https://bugs.webkit.org/show_bug.cgi?id=67755
1024 Reviewed by Gavin Barraclough.
1026 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1027 (WebKit::NPRuntimeObjectMap::evaluate):
1029 2011-09-08 Anders Carlsson <andersca@apple.com>
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>
1035 Reviewed by Adam Roben.
1037 This is a speculative fix - nothing should really be able to close the modal placeholder window.
1039 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1040 (WebKit::PluginProcessProxy::beginModal):
1042 2011-09-07 Alexei Svitkine <asvitkine@chromium.org>
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
1047 Reviewed by Dimitri Glazkov.
1050 * win/WebKit2CFLite.def:
1052 2011-09-06 Oliver Hunt <oliver@apple.com>
1054 Remove JSObjectWithGlobalObject
1055 https://bugs.webkit.org/show_bug.cgi?id=67689
1057 Reviewed by Geoff Garen.
1059 Remove JSObjectWithGlobalObject usage.
1061 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1062 (WebKit::JSNPObject::JSNPObject):
1063 (WebKit::JSNPObject::finishCreation):
1064 * WebProcess/Plugins/Netscape/JSNPObject.h:
1066 2011-09-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
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
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
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:
1101 2011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1103 [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
1104 https://bugs.webkit.org/show_bug.cgi?id=67416
1106 Reviewed by Kenneth Rohde Christiansen.
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.
1113 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1114 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1115 (WebKit::TiledBackingStoreRemoteTile::resize):
1116 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
1118 2011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
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
1123 Reviewed by Tor Arne Vestbø.
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):
1135 2011-08-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
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
1140 Reviewed by Tor Arne Vestbø.
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.
1146 Introduce a bool to send DidRenderFrame only when dirty content was rendered.
1148 * WebProcess/WebPage/TiledDrawingArea.cpp:
1149 (WebKit::TiledDrawingArea::TiledDrawingArea):
1150 (WebKit::TiledDrawingArea::tiledBackingStorePaint):
1151 (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
1152 * WebProcess/WebPage/TiledDrawingArea.h:
1154 2011-08-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
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
1159 Reviewed by Kenneth Rohde Christiansen.
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.
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.
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:
1203 2011-08-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1205 [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability.
1206 https://bugs.webkit.org/show_bug.cgi?id=67122
1208 Reviewed by Tor Arne Vestbø.
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:
1241 2011-09-07 Alexis Menard <alexis.menard@openbossa.org>
1243 [Qt] Unreviewed suppression of an unnecessary debug output.
1245 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1247 2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
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
1254 It broke tests on GTK and Qt (Requested by Ossy on #webkit).
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:
1265 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
1267 fast/forms/suggested-value-crash.html crashes on Windows
1268 https://bugs.webkit.org/show_bug.cgi?id=67688
1270 Reviewed by Adam Barth.
1272 Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal.
1275 * win/WebKit2CFLite.def:
1277 2011-09-06 Mark Hahnenberg <mhahnenberg@apple.com>
1279 Unzip initialization lists and constructors in JSCell hierarchy (5/7)
1280 https://bugs.webkit.org/show_bug.cgi?id=67420
1282 Reviewed by Geoffrey Garen.
1284 Completed the fifth level of the refactoring to add finishCreation()
1285 methods to all classes within the JSCell hierarchy with non-trivial
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.
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):
1306 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
1308 Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
1309 https://bugs.webkit.org/show_bug.cgi?id=67569
1311 Reviewed by Antonio Gomes.
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):
1324 2011-09-05 Oliver Hunt <oliver@apple.com>
1326 An object's structure should reference the global object responsible for its creation
1327 https://bugs.webkit.org/show_bug.cgi?id=67624
1329 Reviewed by Gavin Barraclough.
1331 Update for new Structure::create globalObject parameter.
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):
1342 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
1344 REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
1345 https://bugs.webkit.org/show_bug.cgi?id=67453
1347 Reviewed by Kent Tamura.
1349 Add symbols for internals.
1352 * win/WebKit2CFLite.def:
1354 2011-09-06 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
1356 [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2.
1357 https://bugs.webkit.org/show_bug.cgi?id=67593
1359 Reviewed by Martin Robinson.
1361 Using soup_session_add_feature_by_type for adding all soup features
1362 instead of adding using GRefPtr.
1364 * WebProcess/gtk/WebProcessMainGtk.cpp:
1365 (WebKit::WebProcessMainGtk):
1367 2011-09-05 Balazs Kelemen <kbalazs@webkit.org>
1369 [Qt][WK2] Add pixel test support
1370 https://bugs.webkit.org/show_bug.cgi?id=66283
1372 Reviewed by Andreas Kling.
1374 * Shared/API/c/qt/WKImageQt.cpp: Added.
1375 (WKImageCreateQImage): C style (private) API to get the contents of the backing
1377 * Shared/API/c/qt/WKImageQt.h: Added.
1378 * Shared/qt/ShareableBitmapQt.cpp:
1379 (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef.
1382 2011-09-05 Andras Becsi <andras.becsi@nokia.com>
1384 [Qt][WK2] Fix the build
1386 Rubber-stamped by Csaba Osztrogonác.
1388 * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456.
1390 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
1392 Unreviewed, rolling out r94473.
1393 http://trac.webkit.org/changeset/94473
1394 https://bugs.webkit.org/show_bug.cgi?id=67547
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).
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:
1411 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
1413 Unreviewed, rolling out r94454.
1414 http://trac.webkit.org/changeset/94454
1415 https://bugs.webkit.org/show_bug.cgi?id=67546
1417 "Broke Windows and SnowLeopard, also no reply on the bug."
1418 (Requested by jchaffraix on #webkit).
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:
1428 2011-09-02 Michael Saboff <msaboff@apple.com>
1430 Fixed release build by removing #ifndef NDEBUG to
1431 allow definition of gcController().
1433 Rubber-stamp by Sam Weinig.
1435 * WebProcess/WebProcess.cpp:
1437 2011-09-02 Anders Carlsson <andersca@apple.com>
1439 NPN_SetException doesn't work with OOP plug-ins
1440 https://bugs.webkit.org/show_bug.cgi?id=67524
1442 Reviewed by Sam Weinig.
1444 * DerivedSources.make:
1445 Add PluginProcessConnection.messages.in.
1448 Add generated files.
1450 * Platform/CoreIPC/MessageID.h:
1451 Add MessageClassPluginProcessConnection.
1453 * PluginProcess/PluginProcess.cpp:
1454 (WebKit::PluginProcess::initialize):
1455 Set the set exception function.
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.
1464 (WebKit::connectionStack):
1467 (WebKit::WebProcessConnection::setGlobalException):
1468 Get the current connection and send a PluginProcessConnection::SetException message to it.
1470 (WebKit::WebProcessConnection::didReceiveMessage):
1471 (WebKit::WebProcessConnection::didReceiveSyncMessage):
1472 Create connection pushers.
1474 * PluginProcess/WebProcessConnection.h:
1475 Add setGlobalException.
1478 * WebKit2.xcodeproj/project.pbxproj:
1481 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1482 (WebKit::NetscapePlugin::setSetExceptionFunction):
1483 New function for setting the 'setException' function.
1485 (WebKit::NetscapePlugin::setException):
1486 Call the 'setException' function.
1488 * WebProcess/Plugins/PluginProcessConnection.cpp:
1489 (WebKit::PluginProcessConnection::didReceiveSyncMessage):
1490 Call the message receiver function.
1492 (WebKit::PluginProcessConnection::setException):
1493 Call the NPRuntimeObjectMap.
1495 * WebProcess/Plugins/PluginProcessConnection.messages.in:
1496 Add new messages file.
1498 * WebProcess/WebPage/WebPage.cpp:
1499 (WebKit::WebPage::createPlugin):
1500 When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction.
1502 2011-09-02 Ada Chan <adachan@apple.com>
1504 Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
1505 https://bugs.webkit.org/show_bug.cgi?id=67526
1507 Reviewed by Darin Adler.
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.
1520 2011-09-02 Anders Carlsson <andersca@apple.com>
1522 Remove plug-in paths from web process sandbox
1523 https://bugs.webkit.org/show_bug.cgi?id=67518
1525 Reviewed by Adam Roben.
1527 Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile.
1529 * WebProcess/com.apple.WebProcess.sb:
1531 2011-09-02 Anders Carlsson <andersca@apple.com>
1533 Assertion/crash when running netscape-plugin-property-access-exception.html test
1534 https://bugs.webkit.org/show_bug.cgi?id=67517
1536 Reviewed by Adam Roben.
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.
1541 * Shared/Plugins/NPObjectMessageReceiver.cpp:
1542 (WebKit::NPObjectMessageReceiver::getProperty):
1544 2011-09-02 Anders Carlsson <andersca@apple.com>
1546 The private browsing state isn't saved when it changes
1547 https://bugs.webkit.org/show_bug.cgi?id=67508
1549 Reviewed by Sam Weinig.
1551 Store the new private browsing state so subsequent queries for it
1552 will return the right value.
1554 * PluginProcess/PluginControllerProxy.cpp:
1555 (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
1557 2011-09-02 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
1559 [WK2] Anchor elements doesn't get focus on TAB key press.
1560 https://bugs.webkit.org/show_bug.cgi?id=66949
1562 Reviewed by Adam Roben.
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.
1568 * Shared/WebPreferencesStore.h:
1569 Set the default value of key TabsToLinks to true for GTK platform only.
1571 2011-09-02 Balazs Kelemen <kbalazs@webkit.org>
1573 [Qt][WK2] Cannot gathering glyph page statistics
1574 https://bugs.webkit.org/show_bug.cgi?id=67475
1576 Rubber stamped by Csaba Osztrogonác.
1578 Fix Qt WK2 build without having QRAWFONT.
1580 * WebProcess/WebProcess.cpp:
1581 (WebKit::WebProcess::getWebCoreStatistics):
1583 2011-09-02 Mark Rowe <mrowe@apple.com>
1585 <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
1586 leak the results of the APIs they wrap.
1588 Reviewed by Dan Bernstein.
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.
1595 2011-09-01 Ada Chan <adachan@apple.com>
1597 Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that
1598 MemoryCache::Statistics always has the xslStyleSheets field.
1600 Reviewed by Darin Adler.
1602 * WebProcess/WebProcess.cpp:
1603 (WebKit::getWebCoreMemoryCacheStatistics):
1605 2011-09-01 Mark Hahnenberg <mhahnenberg@apple.com>
1607 Unzip initialization lists and constructors in JSCell hierarchy (4/7)
1608 https://bugs.webkit.org/show_bug.cgi?id=67174
1610 Reviewed by Oliver Hunt.
1612 Completed the fourth level of the refactoring to add finishCreation()
1613 methods to all classes within the JSCell hierarchy with non-trivial
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.
1624 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1625 (WebKit::JSNPObject::JSNPObject):
1626 (WebKit::JSNPObject::finishCreation):
1627 * WebProcess/Plugins/Netscape/JSNPObject.h:
1629 2011-09-01 Ada Chan <adachan@apple.com>
1631 Gather memory cache statistics in WebProcess::getWebCoreStatistics().
1632 https://bugs.webkit.org/show_bug.cgi?id=67160
1634 Reviewed by Darin Adler.
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:
1642 Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
1643 * UIProcess/WebContext.cpp:
1644 (WebKit::WebContext::didGetWebCoreStatistics):
1646 Store memory cache statistics into the StatisticsData object.
1647 * WebProcess/WebProcess.cpp:
1648 (WebKit::getWebCoreMemoryCacheStatistics):
1649 (WebKit::WebProcess::getWebCoreStatistics):
1651 2011-09-01 Tim Horton <timothy_horton@apple.com>
1653 REGRESSION: Rendering artifacts on a rotated, pattern filled shape
1654 https://bugs.webkit.org/show_bug.cgi?id=53055
1655 <rdar://problem/8910917>
1657 Reviewed by Simon Fraser.
1659 Introduce wkCGPatternCreateWithImageAndTransform.
1661 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1662 (InitWebCoreSystemInterface):
1664 2011-09-01 Gopal Raghavan <gopal.1.raghavan@nokia.com>
1666 [Qt] TouchWebView crashes with segmentation fault
1667 https://bugs.webkit.org/show_bug.cgi?id=67308
1669 Reviewed by Benjamin Poulain.
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.
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:
1685 2011-09-01 Ada Chan <adachan@apple.com>
1687 Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
1688 https://bugs.webkit.org/show_bug.cgi?id=67160
1690 Reviewed by Darin Adler.
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):
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:
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):
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):
1717 2011-09-01 Xan Lopez <xlopez@igalia.com>
1719 [GTK] Add XRender lib dependencies explicitly
1721 Reviewed by Philippe Normand.
1723 This is needed when using the GNU/Gold linker, since we use
1728 2011-08-31 Anders Carlsson <andersca@apple.com>
1730 Jagged text shown in find-in-page highlight
1731 https://bugs.webkit.org/show_bug.cgi?id=67347
1732 <rdar://problem/9870444>
1734 Reviewed by Dan Bernstein.
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.
1739 * UIProcess/FindIndicator.cpp:
1740 (WebKit::FindIndicator::draw):
1742 2011-08-31 Beth Dakin <bdakin@apple.com>
1744 https://bugs.webkit.org/show_bug.cgi?id=67322
1745 Re-name overrideBackingScaleFactor
1747 Reviewed by John Sullivan.
1749 API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor()
1750 which returns the custom scale factor if one was set, and the intrinsic scale
1752 * UIProcess/API/C/WKPage.cpp:
1753 (WKPageGetBackingScaleFactor):
1754 (WKPageSetCustomBackingScaleFactor):
1755 * UIProcess/API/C/WKPage.h:
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]):
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:
1775 2011-08-31 Anders Carlsson <andersca@apple.com>
1777 REGRESSION(r93902): Can't open external links on gmail
1778 https://bugs.webkit.org/show_bug.cgi?id=67234
1779 <rdar://problem/10053636>
1781 Reviewed by Alexey Proskuryakov.
1783 * Shared/cf/ArgumentCodersCF.cpp:
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.
1788 * WebKit2.xcodeproj/project.pbxproj:
1789 Compile ArgumentCodersCF.cpp as Objective-C++ for now.
1791 2011-08-30 Beth Dakin <bdakin@apple.com>
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
1796 <rdar://problem/10041016>
1798 Reviewed by Darin Adler.
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):
1812 2011-08-30 Aaron Colwell <acolwell@chromium.org>
1814 Add MediaSource API to HTMLMediaElement
1815 https://bugs.webkit.org/show_bug.cgi?id=64731
1817 Reviewed by Eric Carlson.
1819 * Configurations/FeatureDefines.xcconfig:
1821 2011-08-30 Ada Chan <adachan@apple.com>
1823 Laying some groundwork to fetch performance statistics from WebProcess.
1824 https://bugs.webkit.org/show_bug.cgi?id=67160
1826 Reviewed by Darin Adler.
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.
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:
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.
1855 Add StatisticsData.h/cpp to project.
1859 * WebKit2.xcodeproj/project.pbxproj:
1860 * win/WebKit2.vcproj:
1862 2011-08-29 Alexey Proskuryakov <ap@apple.com>
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>
1868 Reviewed by Darin Adler.
1870 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
1871 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
1872 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
1873 Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
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.
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.
1889 * WebProcess/WebPage/mac/WebPageMac.mm:
1890 (WebKit::WebPage::platformHasLocalDataForURL):
1891 (WebKit::cachedResponseForURL):
1892 Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
1894 * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
1895 ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
1897 2011-08-30 Alexis Menard <alexis.menard@openbossa.org>
1899 [Qt][WK2] Make mouse over work again for QDesktopWebView.
1900 https://bugs.webkit.org/show_bug.cgi?id=67200
1902 Reviewed by Noam Rosenthal.
1904 The API has changed after QGraphicsView, SceneGraph sends
1907 * UIProcess/qt/qdesktopwebpageproxy.cpp:
1908 (QDesktopWebPageProxy::handleEvent):
1909 (QDesktopWebPageProxy::handleHoverMoveEvent):
1910 * UIProcess/qt/qdesktopwebpageproxy.h:
1912 2011-08-30 Kaustubh Atrawalkar <kaustubh@motorola.com>
1914 The unused ScrollView* argument can and should be removed from
1916 https://bugs.webkit.org/show_bug.cgi?id=67117
1918 Reviewed by Darin Adler.
1920 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1921 (WebKit::WebChromeClient::scrollRectIntoView):
1922 * WebProcess/WebCoreSupport/WebChromeClient.h:
1924 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
1926 Another Windows build fix after r94047.
1929 * win/WebKit2CFLite.def:
1931 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
1933 Export more symbols for r94038.
1936 * win/WebKit2CFLite.def:
1938 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
1940 Windows build fix for r94038.
1943 * win/WebKit2CFLite.def:
1945 2011-08-29 Gopal Raghavan <gopal.1.raghavan@nokia.com>
1948 [Qt] QTouchWebView url property test missing
1949 https://bugs.webkit.org/show_bug.cgi?id=67159
1951 Reviewed by Noam Rosenthal.
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.
1955 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
1957 2011-08-29 Gopal Raghavan <gopal.1.raghavan@nokia.com>
1959 [Qt] QDesktopWebView url property test missing
1960 https://bugs.webkit.org/show_bug.cgi?id=67155
1962 Reviewed by Noam Rosenthal.
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.
1966 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
1968 2011-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
1970 Unreviewed, rolling out r93987, r93992, r93995, r93998, and
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
1979 Many failing tests (Requested by ap on #webkit).
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):
1991 2011-08-26 Martin Robinson <mrobinson@igalia.com>
1993 Reviewed by Xan Lopez.
1995 [GTK] Build WebKit2 unconditionally
1996 https://bugs.webkit.org/show_bug.cgi?id=62749
1998 Build WebKit2 by default. This will make the bots build it and catch
1999 build errors when they occur.
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.
2004 2011-08-29 Alexey Proskuryakov <ap@apple.com>
2008 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2009 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2010 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2011 Updated for new function name and signature: currentCFHTTPCookieStorage().
2013 2011-08-26 Alexey Proskuryakov <ap@apple.com>
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>
2019 Reviewed by Darin Adler.
2021 * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
2022 ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
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.
2033 2011-08-29 Chris Marrin <cmarrin@apple.com>
2035 Fixed a build problem caused by http://trac.webkit.org/changeset/93980
2039 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2041 2011-08-23 Chris Marrin <cmarrin@apple.com>
2043 [mac] requestAnimationFrame support for mac port
2044 https://bugs.webkit.org/show_bug.cgi?id=59146
2046 Reviewed by Simon Fraser.
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
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:
2069 2011-08-29 Pierre Rossi <pierre.rossi@gmail.com>
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
2074 We could simply use the defines already in place for this.
2076 Reviewed by Andreas Kling.
2080 2011-08-29 Vamshikrishna Yellenki <vamshi@motorola.com>
2082 [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
2083 https://bugs.webkit.org/show_bug.cgi?id=67111
2085 Reviewed by Martin Robinson.
2087 WebKit2 GTK build error.
2089 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
2090 Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
2093 2011-08-28 Balazs Kelemen <kbalazs@webkit.org>
2095 [Qt][WK2] Unreviewed build fix.
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
2103 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
2105 2011-08-26 Sam Weinig <sam@webkit.org>
2107 Stop using custom NSErrors for WebKit2 WebErrors
2108 https://bugs.webkit.org/show_bug.cgi?id=67075
2110 Reviewed by Anders Carlsson.
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.
2124 2011-08-26 Anders Carlsson <andersca@apple.com>
2128 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2130 2011-08-26 Sam Weinig <sam@webkit.org>
2132 Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
2133 https://bugs.webkit.org/show_bug.cgi?id=67063
2135 Reviewed by Anders Carlsson.
2137 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
2138 (+[NSError _webkit_errorWithDomain:code:URL:]):
2140 2011-08-26 Anders Carlsson <andersca@apple.com>
2142 Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
2143 https://bugs.webkit.org/show_bug.cgi?id=67062
2145 Reviewed by Sam Weinig.
2147 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2148 (WebKit::NPN_ScheduleTimer):
2149 Call NetscapePlugin::scheduleTimer.
2151 (WebKit::NPN_UnscheduleTimer):
2152 Call NetscapePlugin::unscheduleTimer.
2154 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2155 (WebKit::NetscapePlugin::NetscapePlugin):
2156 Initialize m_nextTimerID.
2158 (WebKit::NetscapePlugin::Timer::start):
2161 (WebKit::NetscapePlugin::Timer::stop):
2164 (WebKit::NetscapePlugin::Timer::timerFired):
2165 Call the right callback and unschedule the timer object if it's not a repeating timer.
2167 (WebKit::NetscapePlugin::scheduleTimer):
2168 Create a new timer and start it.
2170 (WebKit::NetscapePlugin::unscheduleTimer):
2171 Get the timer from the map and destroy it.
2173 (WebKit::NetscapePlugin::destroy):
2176 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2179 2011-08-26 Sam Weinig <sam@webkit.org>
2181 Fix typo in Connection.cpp
2182 https://bugs.webkit.org/show_bug.cgi?id=67060
2184 Reviewed by Anders Carlsson.
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.
2191 2011-08-26 Alice Liu <alice.liu@apple.com>
2193 https://bugs.webkit.org/show_bug.cgi?id=66823
2194 Add the request info to the WebPageProxy::CreateNewPage message
2196 Reviewed by Anders Carlsson.
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:
2208 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2209 (WebKit::WebChromeClient::createWindow):
2210 Pass the ResourceRequest within the FrameLoadRequest.
2212 2011-08-26 Alexis Menard <alexis.menard@openbossa.org>
2214 [Qt][WK2]REGRESSION(r93784): It made many tests crash
2215 https://bugs.webkit.org/show_bug.cgi?id=66958
2217 Reviewed by Anders Carlsson.
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
2225 * UIProcess/qt/QtWebPageProxy.cpp:
2226 (QtWebPageProxy::~QtWebPageProxy):
2228 2011-08-26 Anders Carlsson <andersca@apple.com>
2230 Fix handling of keyup events in the new Cocoa text input model
2231 https://bugs.webkit.org/show_bug.cgi?id=67045
2233 Reviewed by Sam Weinig.
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.
2238 Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
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):
2247 2011-08-26 Jessie Berlin <jberlin@apple.com>
2249 Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
2250 https://bugs.webkit.org/show_bug.cgi?id=66979.
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.
2257 Reviewed by Brian Weinstein.
2259 * UIProcess/API/C/WKPage.cpp:
2260 (WKPageCreateSnapshotOfVisibleContent):
2262 * UIProcess/API/C/WKPagePrivate.h:
2263 Update the comment and add a link to the bug.
2265 * UIProcess/WebPageProxy.cpp:
2266 * UIProcess/WebPageProxy.h:
2268 * WebProcess/WebPage/WebPage.cpp:
2269 * WebProcess/WebPage/WebPage.h:
2270 * WebProcess/WebPage/WebPage.messages.in:
2272 2011-08-25 Anders Carlsson <andersca@apple.com>
2274 kNPEventStartIME doesn't work correctly for NPAPI
2275 https://bugs.webkit.org/show_bug.cgi?id=65264
2276 <rdar://problem/9996476>
2278 Reviewed by Sam Weinig.
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.
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.
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.
2294 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2295 (WebKit::NetscapePlugin::NetscapePlugin):
2296 Initialize m_ignoreNextKeyUpEvent to false.
2298 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2299 Add m_ignoreNextKeyUpEvent member variable.
2301 (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
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.
2308 2011-08-25 Anders Carlsson <andersca@apple.com>
2310 Correctly handle events in the updated Cocoa text input model
2311 https://bugs.webkit.org/show_bug.cgi?id=67005
2313 Reviewed by Sam Weinig.
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.
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.
2323 2011-08-25 Jeff Miller <jeffm@apple.com>
2325 Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
2326 https://bugs.webkit.org/show_bug.cgi?id=67002
2328 Reviewed by Brian Weinstein.
2330 * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
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.
2344 2011-08-25 Anders Carlsson <andersca@apple.com>
2346 Handle key-down events in the updated Cocoa text input model
2347 https://bugs.webkit.org/show_bug.cgi?id=67001
2349 Reviewed by Sam Weinig.
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.
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.
2360 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2361 Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
2362 input has been disabled.
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.
2368 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2369 (WebKit::NetscapePlugin::setComplexTextInputEnabled):
2370 Actually set m_isComplexTextInputEnabled to the right value.
2372 2011-08-25 Anders Carlsson <andersca@apple.com>
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
2377 Reviewed by Darin Adler.
2379 * UIProcess/API/mac/WKView.mm:
2380 (-[WKView _handlePluginComplexTextInputKeyDown:]):
2381 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2383 2011-08-25 Anders Carlsson <andersca@apple.com>
2385 WKView should keep track of the plug-in complex text input state
2386 https://bugs.webkit.org/show_bug.cgi?id=66990
2388 Reviewed by Sam Weinig.
2390 * UIProcess/API/mac/WKView.mm:
2391 Add a _pluginComplexTextInputState ivar to WKViewData.
2393 (-[WKView _setPluginComplexTextInputState:]):
2394 Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
2396 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2397 Call -[WKView _setPluginComplexTextInputState:].
2399 2011-08-25 Anders Carlsson <andersca@apple.com>
2401 Move file internal methods to a class continuation in WKView
2402 https://bugs.webkit.org/show_bug.cgi?id=66983
2404 Reviewed by Dan Bernstein.
2406 * UIProcess/API/mac/WKView.mm:
2407 (-[WKView _deviceScaleFactor]):
2408 (-[WKView _setDrawingAreaSize:]):
2410 2011-08-25 Anders Carlsson <andersca@apple.com>
2412 More work on the updated Cocoa text input specification
2413 https://bugs.webkit.org/show_bug.cgi?id=66977
2415 Reviewed by Sam Weinig.
2417 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2418 (WebKit::NetscapePlugin::NetscapePlugin):
2419 Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
2421 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2422 Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
2424 (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
2425 Add setter. Not called yet.
2427 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2428 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2429 Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
2431 (WebKit::NetscapePlugin::sendComplexTextInput):
2432 If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
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.
2438 (WebKit::NetscapePlugin::setComplexTextInputEnabled):
2439 Set the right text input state based on whether the plug-in is using the updated spec or not.
2441 2011-08-25 Anders Carlsson <andersca@apple.com>
2443 Return the correct value for NPNVsupportsCarbonBool
2444 https://bugs.webkit.org/show_bug.cgi?id=66964
2446 Reviewed by Adam Roben.
2448 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2449 (WebKit::NPN_GetValue):
2450 Remove a FIXME and set the value to true.
2452 2011-08-25 Alexis Menard <alexis.menard@openbossa.org>
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
2457 Reviewed by Benjamin Poulain.
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.
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.
2488 2011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2490 [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
2491 https://bugs.webkit.org/show_bug.cgi?id=66771
2493 Reviewed by Tor Arne Vestbø.
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.
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.
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.
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.
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.
2551 * UIProcess/qt/SGAgent.h:
2552 (WebKit::SGAgent::isSwapPending):
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.
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:
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.
2617 2011-08-24 Michael Saboff <msaboff@apple.com>
2619 Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
2620 https://bugs.webkit.org/show_bug.cgi?id=66912
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.
2625 Reviewed by Mark Rowe.
2627 * Platform/CoreIPC/ArgumentEncoder.cpp:
2628 (CoreIPC::ArgumentEncoder::grow):
2630 2011-08-24 Anders Carlsson <andersca@apple.com>
2632 Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
2633 https://bugs.webkit.org/show_bug.cgi?id=66883
2635 Reviewed by Beth Dakin.
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:]):
2644 2011-08-24 Oliver Hunt <oliver@apple.com>
2646 JSNPObject and JSNPMethod create their structure in their constructors
2647 https://bugs.webkit.org/show_bug.cgi?id=66879
2649 Reviewed by Anders Carlsson.
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
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):
2666 2011-08-24 Anders Carlsson <andersca@apple.com>
2668 More plug-in complex text input scaffolding
2669 https://bugs.webkit.org/show_bug.cgi?id=66865
2671 Reviewed by Sam Weinig.
2673 Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
2674 add methods for handling plug-in text input key-down events.
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:
2685 2011-08-24 Amruth Raj <amruthraj@motorola.com>
2687 [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
2688 https://bugs.webkit.org/show_bug.cgi?id=66640
2690 Reviewed by Martin Robinson.
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.
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.
2704 2011-08-23 Anders Carlsson <andersca@apple.com>
2706 Prepare WKTextInputWindowController for the new text input model
2707 https://bugs.webkit.org/show_bug.cgi?id=66826
2709 Reviewed by Sam Weinig.
2711 Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
2712 additional usingLegacyCocoaTextInput flag. No functionality change.
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:]):
2723 2011-08-23 Gopal Raghavan <gopal.1.raghavan@nokia.com>
2725 [Qt] Unnecessary folders in WebKit2.
2726 https://bugs.webkit.org/show_bug.cgi?id=66583
2728 Reviewed by Benjamin Poulain.
2730 Remove empty autotest folders that were left over from QGraphicsWKView times.
2732 * UIProcess/API/qt/tests/qgraphicswkview: Removed.
2733 * UIProcess/API/qt/tests/qwkhistory: Removed.
2734 * UIProcess/API/qt/tests/qwkpage: Removed.
2736 2011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2738 [Qt][WK2] Fix an awful memory leak introduced in r92376.
2739 https://bugs.webkit.org/show_bug.cgi?id=65528
2741 Reviewed by Benjamin Poulain.
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.
2746 * UIProcess/qt/SGAgent.h:
2747 (WebKit::NodeUpdate::~NodeUpdate):
2749 2011-08-23 Steve Block <steveblock@google.com>
2751 Remove all mention of removed Android files from build scripts
2752 https://bugs.webkit.org/show_bug.cgi?id=66755
2754 Reviewed by Tony Gentilcore.
2756 * Scripts/generate-forwarding-headers.pl:
2758 2011-08-23 Benjamin Poulain <benjamin@webkit.org>
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
2763 Reviewed by Kenneth Rohde Christiansen.
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.
2768 The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
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:
2778 2011-08-22 Oliver Hunt <oliver@apple.com>
2780 Delay GC triggered NP object destruction to the next runloop cycle
2781 https://bugs.webkit.org/show_bug.cgi?id=66717
2783 Reviewed by Anders Carlsson.
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.
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:
2804 2011-08-22 Anders Carlsson <andersca@apple.com>
2806 Move code from PageClientImpl::doneWithKeyEvent to WKView
2807 https://bugs.webkit.org/show_bug.cgi?id=66722
2809 Reviewed by Darin Adler.
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:
2817 2011-08-22 Anders Carlsson <andersca@apple.com>
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
2822 Reviewed by Darin Adler.
2824 * UIProcess/API/mac/WKView.mm:
2825 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
2826 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2828 2011-08-22 Michael Saboff <msaboff@apple.com>
2830 REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
2831 https://bugs.webkit.org/show_bug.cgi?id=66464
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.
2840 Reviewed by Anders Carlsson.
2842 * Platform/CoreIPC/ArgumentEncoder.cpp:
2843 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
2844 (CoreIPC::ArgumentEncoder::grow):
2845 * Platform/CoreIPC/mac/ConnectionMac.cpp:
2846 (CoreIPC::Connection::sendOutgoingMessage):
2848 2011-08-22 Anders Carlsson <andersca@apple.com>
2850 Use -[NSApplication updateWindows] to update the current input context
2851 https://bugs.webkit.org/show_bug.cgi?id=66715
2853 Reviewed by Alexey Proskuryakov.
2855 * UIProcess/API/mac/WKView.mm:
2856 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2858 2011-08-22 Anders Carlsson <andersca@apple.com>
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
2863 Reviewed by Darin Adler.
2865 This is in preparation for implementing the updated Cocoa text input model.
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.
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:
2898 2011-08-22 Anders Carlsson <andersca@apple.com>
2900 Update the current NSTextInputContext whenever the plug-in complex text input state changes
2901 https://bugs.webkit.org/show_bug.cgi?id=66709
2903 Reviewed by Sam Weinig.
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.
2908 * UIProcess/API/mac/WKView.mm:
2909 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2911 2011-08-19 Anders Carlsson <andersca@apple.com>
2913 Another attempt at fixing the Windows build.
2915 * UIProcess/PageClient.h:
2917 2011-08-19 Anders Carlsson <andersca@apple.com>
2921 * WebProcess/Plugins/PluginController.h:
2923 2011-08-19 Anders Carlsson <andersca@apple.com>
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
2928 Reviewed by Sam Weinig.
2930 This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
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:
2971 2011-08-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2973 [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
2974 https://bugs.webkit.org/show_bug.cgi?id=65920
2976 Reviewed by Benjamin Poulain.
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.
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.
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.
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.
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.
3003 * UIProcess/qt/ClientImpl.h:
3004 * UIProcess/qt/ClientImpl.cpp:
3005 (toPolicyInterface):
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.
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:
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.
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.
3031 * UIProcess/qt/qtouchwebpageproxy.cpp:
3032 (QTouchWebPageProxy::QTouchWebPageProxy):
3033 For now, we don't have a PolicyInterface for QTouchWebView.
3035 2011-08-18 Anders Carlsson <andersca@apple.com>
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>
3041 Reviewed by Mark Rowe.
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.
3050 2011-08-19 Benjamin Poulain <benjamin@webkit.org>
3052 [Qt][WK2] Add a basic engine to control the content of the viewport
3053 https://bugs.webkit.org/show_bug.cgi?id=66383
3055 Reviewed by Andreas Kling.
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.
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:
3135 2011-08-19 Lars Knudsen <lars.knudsen@nokia.com>
3137 [Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
3138 https://bugs.webkit.org/show_bug.cgi?id=66549
3140 Reviewed by Benjamin Poulain.
3142 * UIProcess/qt/QtWebPageProxy.cpp:
3143 (QtWebPageProxy::paint):
3144 * UIProcess/qt/QtWebPageProxy.h:
3146 2011-08-19 MORITA Hajime <morrita@google.com>
3148 Spell-checking against execCommand() inserted HTML doesn't care word boundary.
3149 https://bugs.webkit.org/show_bug.cgi?id=65902
3151 Reviewed by Ryosuke Niwa.
3153 Add exports for window.internals object.
3156 * win/WebKit2CFLite.def:
3158 2011-08-18 Beth Dakin <bdakin@apple.com>
3160 Reviewed by Sam Weinig.
3162 https://bugs.webkit.org/show_bug.cgi?id=66495
3163 Lion-specific scroller SPIs can use forward declaration instead of
3164 WebKitSystemInterface
3166 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3167 (InitWebCoreSystemInterface):
3169 2011-08-18 Darin Adler <darin@apple.com>
3171 Made some code even more private to a particular file and class
3172 https://bugs.webkit.org/show_bug.cgi?id=66428
3174 Reviewed by Anders Carlsson.
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.
3181 2011-08-18 Amruth Raj <amruthraj@motorola.com>
3183 [GTK] [WK2] Activating sub menus cause the WebProcess to crash
3184 https://bugs.webkit.org/show_bug.cgi?id=66471
3186 Reviewed by Anders Carlsson.
3188 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3189 (WebKit::WebContextMenuProxyGtk::createGtkMenu):
3191 2011-08-18 Adam Roben <aroben@apple.com>
3193 Update the device scale factor when the WKView's window changes
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
3198 Reviewed by Anders Carlsson.
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.
3205 2011-08-18 Adam Roben <aroben@apple.com>
3207 Make WebPageProxy keep track of the current device scale factor
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
3215 Fixes <http://webkit.org/b/66466> WebKit2 requires every port-specific view to keep track of
3216 the current device scale factor
3218 Reviewed by Anders Carlsson.
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.
3230 * UIProcess/API/mac/WKView.mm:
3231 (-[WKView _deviceScaleFactor]): Added. Code came from PageClientImpl::deviceScaleFactor.
3232 (-[WKView _windowDidChangeResolution:]): Changed to call WebPageProxy::setDeviceScaleFactor.
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
3242 * UIProcess/WebPageProxy.h: Added m_deviceScaleFactor and setDeviceScaleFactor, which
3243 replaces the DeviceScaleFactor ViewStateFlag.
3244 (WebKit::WebPageProxy::deviceScaleFactor): Inlined this now-simple getter.
3246 2011-08-17 Adam Roben <aroben@apple.com>
3248 Make WebCore keep track of the current device scale factor
3250 Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
3253 Reviewed by Darin Adler.
3255 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3256 * WebProcess/WebCoreSupport/WebChromeClient.h:
3257 Removed deviceScaleFactor.
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.
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.
3276 2011-08-17 Anders Carlsson <andersca@apple.com>
3278 Remove unused Core Animation related classes
3279 https://bugs.webkit.org/show_bug.cgi?id=66393
3281 Reviewed by Darin Adler.
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:
3289 2011-08-15 Dmitry Titov <dimich@chromium.org>
3291 FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
3292 https://bugs.webkit.org/show_bug.cgi?id=66165
3294 Reviewed by Darin Fisher.
3296 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3297 (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
3298 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3300 2011-08-15 Balazs Kelemen <kbalazs@webkit.org>
3302 [Qt][WK2] Unreviewed build fix after r93058.
3304 * UIProcess/TiledDrawingAreaProxy.cpp:
3305 (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
3306 * UIProcess/TiledDrawingAreaProxy.h:
3308 2011-08-15 Adam Roben <aroben@apple.com>
3310 Update pages' style and content scale when the window's backing scale factor changes
3312 Unfortunately, I couldn't think of a way to test this in an automated fashion.
3314 Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
3315 scale factor changes
3317 Reviewed by Simon Fraser.
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.
3324 (-[WKView _windowDidChangeResolution:]): Tell the WebPageProxy about the change.
3326 * UIProcess/DrawingAreaProxy.h:
3327 * UIProcess/DrawingAreaProxyImpl.h:
3328 Added deviceScaleFactorDidChange.
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.
3337 * UIProcess/WebPageProxy.cpp:
3338 (WebKit::WebPageProxy::viewStateDidChange): Tell the DrawingAreaProxy when the device scale
3340 (WebKit::WebPageProxy::deviceScaleFactor): Added this simple getter that calls through to
3341 the PageClient. DrawingAreaProxy uses this function.
3343 * UIProcess/WebPageProxy.h: Added new members.
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.
3351 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3352 (WebKit::DrawingAreaImpl::updateBackingStoreState): Tell the WebPage and LayerTreeHost about
3353 the new device scale factor.
3355 * WebProcess/WebPage/LayerTreeHost.h:
3356 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
3357 Added deviceScaleFactorDidChange.
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.
3363 * WebProcess/WebPage/WebPage.h: Added setDeviceScaleFactor.
3365 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
3366 (WebKit::LayerTreeHostCA::deviceScaleFactorDidChange): Tell the layer for non-composited
3367 content about the new scale factor.
3369 2011-08-15 Benjamin Poulain <benjamin@webkit.org>
3371 [Qt][WK2] Get rid of QTouchWebPagePrivate::getPageViewPrivate()
3372 https://bugs.webkit.org/show_bug.cgi?id=66222
3374 Reviewed by Kenneth Rohde Christiansen.
3376 The function QTouchWebPagePrivate::getPageViewPrivate() exposed
3377 the private QTouchWebPage to any object in WebKit.
3379 Instead, use the friend keyword to list which objects can access
3380 the internal of QTouchWebPage.
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):
3388 2011-08-15 Balazs Kelemen <kbalazs@webkit.org>
3391 Fix Qt-WK2 build after r93040.
3393 * UIProcess/qt/QtWebPageProxy.h:
3394 (QtWebPageProxy::deviceScaleFactor):
3396 2011-08-10 Adam Roben <aroben@apple.com>
3398 Clear up scale factor terminology
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.
3405 Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
3408 Reviewed by Simon Fraser.
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:
3449 2011-08-13 Sam Weinig <sam@webkit.org>
3451 Remove unused variables from WKFullScreenWindowController.h
3452 https://bugs.webkit.org/show_bug.cgi?id=66193
3454 Reviewed by Dan Bernstein.
3456 * UIProcess/mac/WKFullScreenWindowController.h:
3457 Remove _layerViewPlaceholder, _isWindowLoaded and _initialFrame which were not used.
3459 2011-08-12 Dan Bernstein <mitz@apple.com>
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
3464 Reviewed by Simon Fraser.
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.
3474 2011-08-12 Mark Rowe <mrowe@apple.com>
3476 Be more forward-looking in the choice of compiler.
3478 Rubber-stamped by Jon Honeycutt.
3480 * Configurations/CompilerVersion.xcconfig:
3482 2011-08-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
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
3487 Reviewed by Anders Carlsson.
3489 Multiply vector size by element size in encode/decode to get correct byte size of vector data.
3491 * Platform/CoreIPC/ArgumentCoders.h:
3493 2011-08-11 Nico Weber <thakis@chromium.org>
3495 Remove incorrect comment about m_wheelEventHandlerCount
3496 https://bugs.webkit.org/show_bug.cgi?id=66117
3498 Reviewed by Simon Fraser.
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.
3507 * UIProcess/WebPageProxy.h:
3509 2011-08-11 Kenneth Rohde Christiansen <kenneth@webkit.org>