1 2012-03-16 Dinu Jacob <dinu.jacob@nokia.com>
3 [Qt][WK2] Build failure when using --no-touch-events
4 https://bugs.webkit.org/show_bug.cgi?id=81241
6 Reviewed by Simon Hausmann.
8 Fixed inconsistency in the use of ENABLE_TOUCH_EVENTS flag that caused build
9 failure when using --no-touch-events option
11 * UIProcess/qt/QtPageClient.h:
13 * UIProcess/qt/QtWebPageEventHandler.cpp:
14 (QtWebPageEventHandler::handlePotentialSingleTapEvent):
15 * UIProcess/qt/QtWebPageEventHandler.h:
16 (QtWebPageEventHandler):
17 * WebProcess/WebPage/WebPage.cpp:
18 (WebKit::WebPage::WebPage):
19 * WebProcess/WebPage/WebPage.h:
21 * WebProcess/WebPage/WebPage.messages.in:
23 2012-03-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
25 Merge setVisibleContentsForScaling with setVisibleContentsRectForPanning
26 https://bugs.webkit.org/show_bug.cgi?id=81346
28 Reviewed by Simon Hausmann.
30 This cleans up the code path and is one step on the way to avoid
31 calling both methods in succession, for instance after ending pinch
34 * UIProcess/API/qt/qquickwebview.cpp:
35 (QQuickWebViewLegacyPrivate::updateViewportSize):
36 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
37 (QQuickWebViewPrivate::_q_commitPositionChange):
38 * UIProcess/DrawingAreaProxy.h:
39 (WebKit::DrawingAreaProxy::setVisibleContentsRect):
40 * UIProcess/DrawingAreaProxyImpl.cpp:
41 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
42 * UIProcess/DrawingAreaProxyImpl.h:
43 (DrawingAreaProxyImpl):
44 * UIProcess/LayerTreeHostProxy.cpp:
45 (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
46 * UIProcess/LayerTreeHostProxy.h:
48 * UIProcess/WebLayerTreeRenderer.cpp:
49 (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
50 * UIProcess/WebLayerTreeRenderer.h:
51 (WebLayerTreeRenderer):
52 * WebProcess/WebPage/LayerTreeHost.h:
53 (WebKit::LayerTreeHost::setVisibleContentsRect):
54 * WebProcess/WebPage/LayerTreeHost.messages.in:
55 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
56 (WebKit::LayerTreeHostQt::setVisibleContentsRect):
57 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
60 2012-03-16 YoungTaeck Song <youngtaeck.song@samsung.com>
62 [EFL][WK2] Add ProcessLauncherEfl.cpp
63 https://bugs.webkit.org/show_bug.cgi?id=75464
65 Reviewed by Hajime Morita.
67 Add first version of ProcessLauncherEfl.cpp including launchProcess() and terminateProcess().
69 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Added.
70 (WebKit::ProcessLauncher::launchProcess):
71 (WebKit::ProcessLauncher::terminateProcess):
72 (WebKit::ProcessLauncher::platformInvalidate):
74 2012-03-15 Anders Carlsson <andersca@apple.com>
76 Try to fix the Snow Leopard build.
78 * UIProcess/API/mac/PDFViewController.mm:
79 (WebKit::PDFViewController::pdfKitBundle):
81 2012-03-07 Jon Lee <jonlee@apple.com>
83 Move NotificationContents into Notification
84 https://bugs.webkit.org/show_bug.cgi?id=80487
85 <rdar://problem/10965519>
89 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Remove extraneous include.
90 * WebProcess/Notifications/WebNotificationManager.cpp:
91 (WebKit::WebNotificationManager::show): Refactor to use accessor methods on Notification.
93 2012-03-15 Brent Fulgham <bfulgham@webkit.org>
95 Unreviewed build correction. WinCairo export definitions
96 file was not updated when the main Apple file was changed.
98 * win/WebKit2CFLite.def: Revise export declarations to match
101 2012-03-15 Anders Carlsson <andersca@apple.com>
103 REGRESSION(r107168?): Assertion failures under pageContainsAnyHorizontalScrollbars causing multiple "crashes" on the Lion Intel Debug WebKit2 testers
104 https://bugs.webkit.org/show_bug.cgi?id=81162
105 <rdar://problem/11050423>
107 Reviewed by Beth Dakin and Jessie Berlin.
109 Downgrade the ASSERT to a simple if check since scrollableArea->isOnActivePage() can return false when layout happens during page transitions.
111 * WebProcess/WebPage/WebPage.cpp:
112 (WebKit::pageContainsAnyHorizontalScrollbars):
114 2012-03-15 David Hyatt <hyatt@apple.com>
116 https://bugs.webkit.org/show_bug.cgi?id=81258
118 Add a preference for enabling the new multi-column layout code that will be based on regions.
120 Reviewed by Beth Dakin.
122 * Shared/WebPreferencesStore.h:
124 * UIProcess/API/C/WKPreferences.cpp:
125 (WKPreferencesSetRegionBasedColumnsEnabled):
126 (WKPreferencesGetRegionBasedColumnsEnabled):
127 * UIProcess/API/C/WKPreferencesPrivate.h:
128 * WebProcess/WebPage/WebPage.cpp:
129 (WebKit::WebPage::updatePreferences):
131 2012-03-14 Anders Carlsson <andersca@apple.com>
133 Can't swipe to go back/forward when the current page is a PDF document
134 https://bugs.webkit.org/show_bug.cgi?id=81194
135 <rdar://problem/6954125>
137 Reviewed by Sam Weinig.
139 Override -[PDFViewScrollView scrollWheel:] and have the new implementation call
140 -[WKPDFView forwardScrollWheelEvent:] when the PDF is pinned to either the left or right side.
141 WKPDFView will then call PDFController::forwardScrollWheelEvent which checks if we can go back or forward,
142 and passes the event along to the WKView which ends up triggering the swiping machinery in Safari.
144 * UIProcess/API/mac/PDFViewController.h:
145 * UIProcess/API/mac/PDFViewController.mm:
146 (-[WKPDFView forwardScrollWheelEvent:]):
148 (WebKit::PDFViewController::forwardScrollWheelEvent):
149 (WebKit::findEnclosingWKPDFView):
150 (WebKit::PDFViewScrollView_scrollWheel):
151 (WebKit::PDFViewController::pdfKitBundle):
152 * UIProcess/WebPageProxy.cpp:
153 (WebKit::WebPageProxy::didCommitLoadForFrame):
155 2012-03-15 Brady Eidson <beidson@apple.com>
157 <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
158 REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
160 Reviewed by Sam Weinig.
162 Add the non-destructive "addTypes" to supplement the destructive "setTypes"
164 * UIProcess/WebContext.h:
165 * UIProcess/WebContext.messages.in:
166 * UIProcess/mac/WebContextMac.mm:
167 (WebKit::WebContext::addPasteboardTypes):
169 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
170 (WebKit::WebPlatformStrategies::addTypes):
171 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
173 2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
175 [GTK] Implement unicode submenu items
176 https://bugs.webkit.org/show_bug.cgi?id=81117
178 Reviewed by Martin Robinson.
180 * WebProcess/WebCoreSupport/WebEditorClient.h:
181 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
182 (WebKit::WebEditorClient::shouldShowUnicodeMenu): Implement
183 shouldShowUnicodeMenu() returning always true. When ContextMenu
184 API is implemented for GTK+ the UI process will decide whether to
185 show the unicode menu or not.
187 2012-03-15 Andras Becsi <andras.becsi@nokia.com>
189 [Qt][WK2] Fix bounce-back behaviour for panning
190 https://bugs.webkit.org/show_bug.cgi?id=81144
192 Reviewed by Kenneth Rohde Christiansen.
194 Move the content back to boundaries immediately
195 in response to a tap gesture during the bounce-back
196 animation after panning.
198 * UIProcess/qt/QtPanGestureRecognizer.cpp:
199 (WebKit::QtPanGestureRecognizer::recognize):
200 * UIProcess/qt/QtViewportInteractionEngine.h:
201 Make the ensureContentWithinViewportBoundary function public.
202 (QtViewportInteractionEngine):
204 2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
206 [WK2] WebPageProxy::activeURL should return unreachableURL() when it's not empty
207 https://bugs.webkit.org/show_bug.cgi?id=75465
209 Reviewed by Philippe Normand.
211 * UIProcess/API/gtk/tests/WebViewTest.cpp:
212 (WebViewTest::replaceContent): Return the main frame
213 unreachableURL if it's not empty.
214 * UIProcess/WebPageProxy.cpp:
215 (WebKit::WebPageProxy::activeURL):
217 2012-03-14 Anders Carlsson <andersca@apple.com>
219 java/java-and-plugins.html test failing
220 https://bugs.webkit.org/show_bug.cgi?id=81188
221 <rdar://problem/11048657>
223 Reviewed by Sam Weinig.
225 When we're marshaling NPObjects that wrap plug-in objects, make sure to check that the
226 current plug-in instance is the same as the plug-in instance the object came from and don't
227 pass the unwrapped object ID if that is the case.
229 * Shared/Plugins/NPRemoteObjectMap.cpp:
230 (WebKit::remoteNPObjectID):
231 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
233 2012-03-14 Matt Falkenhagen <falken@chromium.org>
235 Allow per-script font settings to be specified in layout tests
236 https://bugs.webkit.org/show_bug.cgi?id=78184
238 Reviewed by Hajime Morita.
240 This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
241 the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
244 * win/WebKit2.def: Added symbols.
245 * win/WebKit2CFLite.def: Added symbols.
247 2012-03-14 Michael Saboff <msaboff@apple.com>
249 REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots
250 https://bugs.webkit.org/show_bug.cgi?id=80993
252 Reviewed by Mark Rowe.
254 Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH
255 to fix builds given the wtf move.
257 * Configurations/BaseTarget.xcconfig:
259 2012-03-14 Andy Estes <aestes@apple.com>
261 Stop shadowing the argument to drawRect: with a local variable.
263 Reviewed by Sam Weinig.
265 * UIProcess/API/mac/WKView.mm:
266 (-[WKView drawRect:]):
268 2012-03-13 Jon Lee <jonlee@apple.com>
270 Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
271 https://bugs.webkit.org/show_bug.cgi?id=80922
272 <rdar://problem/11035082>
276 You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
277 LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
278 new API. Therefore, APIs that are common between the two will have:
279 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
281 This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
282 the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
284 Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
285 * Shared/WebProcessCreationParameters.cpp:
286 (WebKit::WebProcessCreationParameters::encode):
287 (WebKit::WebProcessCreationParameters::decode):
288 * Shared/WebProcessCreationParameters.h:
289 (WebProcessCreationParameters):
290 * UIProcess/WebContext.cpp:
291 (WebKit::WebContext::ensureWebProcess):
292 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
294 (WebKit::NotificationPermissionRequestManager::startRequest):
295 (WebKit::NotificationPermissionRequestManager::cancelRequest):
296 (WebKit::NotificationPermissionRequestManager::permissionLevel):
297 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
298 * WebProcess/Notifications/WebNotificationManager.cpp:
300 (WebKit::WebNotificationManager::initialize):
301 (WebKit::WebNotificationManager::didUpdateNotificationDecision):
302 (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
303 (WebKit::WebNotificationManager::policyForOrigin):
304 (WebKit::WebNotificationManager::show):
305 (WebKit::WebNotificationManager::cancel):
306 (WebKit::WebNotificationManager::clearNotifications):
307 (WebKit::WebNotificationManager::didDestroyNotification):
308 (WebKit::WebNotificationManager::didShowNotification):
309 (WebKit::WebNotificationManager::didClickNotification):
310 (WebKit::WebNotificationManager::didCloseNotifications):
311 * WebProcess/Notifications/WebNotificationManager.h:
312 (WebNotificationManager):
313 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
314 * WebProcess/WebCoreSupport/WebNotificationClient.h:
315 * WebProcess/WebPage/WebPage.cpp:
316 (WebKit::WebPage::WebPage):
317 (WebKit::WebPage::updatePreferences):
318 * WebProcess/WebProcess.cpp:
319 (WebKit::WebProcess::WebProcess):
320 (WebKit::WebProcess::didReceiveMessage):
321 * WebProcess/WebProcess.h:
323 * WebProcess/mac/WebProcessMac.mm:
324 (WebKit::WebProcess::platformInitializeWebProcess):
326 2012-03-14 Dinu Jacob <dinu.jacob@nokia.com>
328 [Qt][WK2] Move code common to both ProxyAuthentication and Authentication context objects into a base class
329 https://bugs.webkit.org/show_bug.cgi?id=80627
331 Reviewed by Kenneth Rohde Christiansen.
333 No impact to QML API.
335 * UIProcess/qt/QtDialogRunner.cpp:
336 (BaseAuthenticationContextObject):
337 (BaseAuthenticationContextObject::BaseAuthenticationContextObject):
338 (HttpAuthenticationDialogContextObject):
339 (HttpAuthenticationDialogContextObject::HttpAuthenticationDialogContextObject):
340 (HttpAuthenticationDialogContextObject::realm):
341 (ProxyAuthenticationDialogContextObject):
342 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
343 (QtDialogRunner::initForAuthentication):
345 2012-03-14 Anders Carlsson <andersca@apple.com>
347 With tiled drawing enabled, clicking a link to a PDF causes a cross-fade
348 https://bugs.webkit.org/show_bug.cgi?id=79247
349 <rdar://problem/10910808>
351 Reviewed by Sam Weinig.
353 Instead of creating a new CALayer for the WKView when we're in tiled mode, re-use the existing layer that AppKit makes for us.
354 This way, we won't get any implicit animations when we change layer properties (such as sublayers in this case).
356 * UIProcess/API/mac/WKView.mm:
357 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
358 (-[WKView wantsUpdateLayer]):
359 (-[WKView updateLayer]):
361 2012-03-14 Alexey Proskuryakov <ap@apple.com>
363 WebProcess sometimes hits an assertion in SandboxExtensionTracker::didCommitProvisionalLoad after running regression tests
364 https://bugs.webkit.org/show_bug.cgi?id=81150
365 <rdar://problem/11002254>
367 Reviewed by Anders Carlsson.
369 * WebProcess/WebPage/WebPage.cpp:
370 (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
371 (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
372 It's not great, but for now we need to handle this case. Hopefully, some day we'll make
373 both WebKit2 processes better aware of what's going on with loading in WebCore.
375 2012-03-14 Anders Carlsson <andersca@apple.com>
377 Fix UI process crash when a plug-in process crashes with a modal dialog showing
378 https://bugs.webkit.org/show_bug.cgi?id=81139
379 <rdar://problem/9641197>
381 Reviewed by Dan Bernstein.
383 When a plug-in process crashes, its corresponding PluginProcessProxy object is deleted immediately,
384 which is bad if we're currently running a nested run loop.
386 Fix this by making PluginProcessProxy ref-counted and protecting it before the call to -[NSApp runModalForWindow:].
388 * UIProcess/Plugins/PluginProcessManager.cpp:
389 (WebKit::PluginProcessManager::pluginProcessWithPath):
390 (WebKit::PluginProcessManager::getOrCreatePluginProcess):
391 * UIProcess/Plugins/PluginProcessManager.h:
392 (PluginProcessManager):
393 * UIProcess/Plugins/PluginProcessProxy.cpp:
394 (WebKit::PluginProcessProxy::create):
395 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
396 * UIProcess/Plugins/PluginProcessProxy.h:
397 (PluginProcessProxy):
398 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
399 (WebKit::PluginProcessProxy::setModalWindowIsShowing):
400 (WebKit::PluginProcessProxy::beginModal):
402 2012-03-14 Carlos Garcia Campos <cgarcia@igalia.com>
404 [GTK] Handle printing errors in WebKit2
405 https://bugs.webkit.org/show_bug.cgi?id=77197
407 Reviewed by Gustavo Noronha Silva.
409 * UIProcess/API/gtk/WebKitError.cpp:
410 (webkit_print_error_quark): Add new error domain for print
412 * UIProcess/API/gtk/WebKitError.h: Ad print errors.
413 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
414 (webkit_print_operation_class_init): Add
415 WebKitPrintOperation::failed signal.
416 (drawPagesForPrintingCompleted): Emit WebKitPrintOperation::failed
417 when the print operation failed with the given error.
418 (webkitPrintOperationPrintPagesForFrame): Use
419 PrintFinishedCallback instead of a VoidCallback.
420 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
421 * UIProcess/API/gtk/tests/TestPrinting.cpp:
422 (testPrintOperationPrint):
423 (testPrintOperationErrors): Test different print errors are
426 * UIProcess/WebPageProxy.cpp:
427 (WebKit::WebPageProxy::close): Invalidate print finished callbacks
429 (WebKit::WebPageProxy::printFinishedCallback): Callback called
430 when the print operation has finished in the web process.
431 (WebKit::WebPageProxy::processDidCrash): Invalidate print finished
433 (WebKit::WebPageProxy::drawPagesForPrinting): Use a
434 PrintFinishedCallback instead of a VoidCallback.
435 * UIProcess/WebPageProxy.h:
436 (WebKit): Delcare PrintFinishedCallback as a generic callback.
438 * UIProcess/WebPageProxy.messages.in: Use PrintFinishedCallback
439 instead of VoidCallback as callback argument of
440 DrawPagesForPrinting message.
441 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
442 (WebKit::PrintPagesData::PrintPagesData): Mark the data as invalid
443 when there are no pages to print.
444 (PrintPagesData): Add isValid parameter to mark the data struct as
446 (WebKit::WebPrintOperationGtk::printPagesIdleDone): Call
447 printPagesDone() instead of printDone().
448 (WebKit::WebPrintOperationGtk::printPagesDone): Renamed.
449 (WebKit::WebPrintOperationGtk::printDone): Notify the UI process
450 that the print operation has finsihed.
451 (WebKit::WebPrintOperationGtk::print): Finish the print if the
452 PrintPagesData struct is not valid.
453 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
455 2012-03-13 Jer Noble <jer.noble@apple.com>
457 Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]
458 https://bugs.webkit.org/show_bug.cgi?id=81056
460 Reviewed by Jessie Berlin.
462 Give the InjectedBundlePageFullScreenClient a first crack at beganEnterFullScreen and beganExitFullScreen:
463 * WebProcess/FullScreen/WebFullScreenManager.cpp:
464 (WebKit::WebFullScreenManager::willEnterFullScreen):
465 (WebKit::WebFullScreenManager::willExitFullScreen):
467 And call the client function if it exists; otherwise, continue to message the page:
468 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
469 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
470 (WebKit::InjectedBundlePageFullScreenClient::beganEnterFullScreen):
471 (WebKit::InjectedBundlePageFullScreenClient::beganExitFullScreen):
472 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
474 Add a custom APIClientTraits for InjectedBundlePageFullScreenClient to handle the API number change.
475 * Shared/APIClientTraits.cpp:
476 * Shared/APIClientTraits.h:
478 2012-03-14 Andrey Kosyakov <caseq@chromium.org>
480 Web Inspector: add didCancelFrame timeline event
481 https://bugs.webkit.org/show_bug.cgi?id=80994
483 Reviewed by Pavel Feldman.
486 * win/WebKit2CFLite.def:
488 2012-03-13 Anders Carlsson <andersca@apple.com>
490 Find bouncy doesn’t hide when a subframe is scrolled
491 https://bugs.webkit.org/show_bug.cgi?id=81060
492 <rdar://problem/9365329>
494 Reviewed by Andreas Kling.
496 Instead of hiding the find indicator when pageDidScroll is called, add a check to FindController::drawRect and hide
497 the find indicator there if the find selection bounds have changed since the last call to drawRect.
499 * WebProcess/WebPage/FindController.cpp:
500 (WebKit::FindController::updateFindIndicator):
501 (WebKit::FindController::drawRect):
502 * WebProcess/WebPage/FindController.h:
504 * WebProcess/WebPage/WebPage.cpp:
505 (WebKit::WebPage::pageDidScroll):
507 2012-03-13 Jeff Miller <jeffm@apple.com>
509 Support loading a WKPage from web archive data
510 https://bugs.webkit.org/show_bug.cgi?id=81044
512 This code was written by Jessie Berlin.
514 Reviewed by Brady Eidson.
516 * UIProcess/API/C/WKPage.cpp:
517 (WKPageLoadWebArchiveData): Added.
519 * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().
521 * UIProcess/WebPageProxy.cpp:
522 (WebKit::WebPageProxy::loadWebArchiveData): Added.
524 * UIProcess/WebPageProxy.h: Added loadWebArchiveData().
526 * WebProcess/WebPage/WebPage.cpp:
527 (WebKit::WebPage::loadWebArchiveData): Added.
529 * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
531 * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
533 2012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com>
535 Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
536 https://bugs.webkit.org/show_bug.cgi?id=78853
538 Reviewed by Adam Barth.
540 * Configurations/FeatureDefines.xcconfig:
541 * WebProcess/Geolocation/WebGeolocationManager.cpp:
542 (WebKit::WebGeolocationManager::registerWebPage):
543 (WebKit::WebGeolocationManager::unregisterWebPage):
544 (WebKit::WebGeolocationManager::didChangePosition):
545 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
546 * WebProcess/InjectedBundle/InjectedBundle.cpp:
547 (WebKit::InjectedBundle::setGeoLocationPermission):
548 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
550 * WebProcess/WebCoreSupport/WebChromeClient.h:
552 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
553 * WebProcess/WebCoreSupport/WebGeolocationClient.h:
554 * WebProcess/WebPage/WebPage.cpp:
555 (WebKit::WebPage::WebPage):
558 2012-03-13 Max Vujovic <mvujovic@adobe.com>
560 Add a method to window.internals to enable testing of inspector highlight rects
561 https://bugs.webkit.org/show_bug.cgi?id=80338
563 Reviewed by Pavel Feldman.
565 * win/WebKit2.def: Export symbols for win.
566 * win/WebKit2CFLite.def: Same as above.
568 2012-03-13 Allan Sandfeld Jensen <allan.jensen@nokia.com>
570 [Qt] Set correct device width and height.
571 https://bugs.webkit.org/show_bug.cgi?id=80980
573 Reviewed by Tor Arne Vestbø.
575 * UIProcess/API/qt/qquickwebview.cpp:
576 (QQuickWebViewFlickablePrivate::computeViewportConstraints):
578 2012-03-12 Sam Weinig <sam@webkit.org>
580 Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with
581 a function called layerHostingMode.
583 Reviewed by Anders Carlsson.
585 * UIProcess/API/mac/PageClientImpl.h:
586 * UIProcess/API/mac/PageClientImpl.mm:
587 (WebKit::PageClientImpl::viewLayerHostingMode):
588 Update name and add OVERRIDE to catch this in the future.
590 2012-03-12 Enrica Casucci <enrica@apple.com>
592 WebKit2: remove NSPasteboard access for promised data from the WebProcess
593 https://bugs.webkit.org/show_bug.cgi?id=80073
595 Reviewed by Alexey Proskuryakov.
597 This patch removes the last remaining access to NSPasteboard from the WebProcess.
598 The code in WebDragClient::declareAndWriteDragImage now packages all the data
599 required for the drag and the promised drag types and sends one request to the UI
600 process that will place the data in the NSPasteboard when appropriate.
602 * UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method.
603 * UIProcess/API/mac/PageClientImpl.mm:
604 (WebKit::PageClientImpl::setPromisedData):
605 * UIProcess/API/mac/WKView.mm:
606 (matchesExtensionOrEquivalent): Added.
608 (pathWithUniqueFilenameForPath): Added.
609 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
610 (-[WKView pasteboardChangedOwner:]):
611 (-[WKView pasteboard:provideDataForType:]):
612 (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
613 * UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData.
614 * UIProcess/PageClient.h:
615 * UIProcess/WebPageProxy.h: Added method for the new message.
616 * UIProcess/WebPageProxy.messages.in: Added setPromisedData message.
617 * UIProcess/mac/WebPageProxyMac.mm:
618 (WebKit::WebPageProxy::setPromisedData):
619 * WebProcess/WebCoreSupport/WebDragClient.cpp:
620 * WebProcess/WebCoreSupport/WebDragClient.h:
621 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
622 (WebKit::WebDragClient::declareAndWriteDragImage):
623 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
624 (InitWebCoreSystemInterface): Added SetMetadataURL.
626 2012-03-12 Andras Becsi <andras.becsi@nokia.com>
628 [Qt][WK2] Add support for rudimentary scroll indicators in MiniBrowser
629 https://bugs.webkit.org/show_bug.cgi?id=80832
631 Reviewed by Tor Arne Vestbø.
633 Since the ScrollDecorator QML component requires a Flickable in its API
634 we need to expose the Flickable in QML for now and we also need to add
635 a notifier because we instantiate the internal Flickable only when the
636 WebView component completes construction.
638 * UIProcess/API/qt/qquickwebview.cpp:
639 (QQuickWebViewFlickablePrivate::onComponentComplete):
640 (QQuickWebViewExperimental::flickable):
641 * UIProcess/API/qt/qquickwebview_p.h:
643 2012-03-11 Timothy Hatcher <timothy@apple.com>
645 Update how the Web Inspector resources are loaded.
647 https://bugs.webkit.org/show_bug.cgi?id=80814
648 rdar://problem/10359959
650 Reviewed by John Sullivan.
652 * Shared/WebPreferencesStore.h:
653 (WebKit): Added InspectorUsesWebKitUserInterface.
654 * Shared/WebProcessCreationParameters.cpp:
655 (WebKit::WebProcessCreationParameters::encode): Removed webInspectorLocalizedStringsPath.
656 (WebKit::WebProcessCreationParameters::decode): Ditto.
657 * Shared/WebProcessCreationParameters.h: Ditto.
658 (WebProcessCreationParameters): Ditto.
659 * UIProcess/API/C/WKContext.cpp:
660 * UIProcess/API/C/WKContextPrivate.h:
661 * UIProcess/API/C/WKPreferences.cpp:
662 (WKPreferencesSetInspectorUsesWebKitUserInterface): Added.
663 (WKPreferencesGetInspectorUsesWebKitUserInterface): Added.
664 * UIProcess/API/C/WKPreferencesPrivate.h:
665 * UIProcess/WebContext.cpp:
666 (WebKit::WebContext::ensureWebProcess): Removed webInspectorLocalizedStringsPath.
667 * UIProcess/WebContext.h:
669 * UIProcess/mac/WebInspectorProxyMac.mm:
670 (WebKit::inspectorReallyUsesWebKitUserInterface): Added.
671 (WebKit::WebInspectorProxy::createInspectorWindow): Use inspectorReallyUsesWebKitUserInterface
672 to determine if texture should be used.
673 (WebKit::WebInspectorProxy::inspectorPageURL): Choose the right path.
674 (WebKit::WebInspectorProxy::inspectorBaseURL): Ditto.
675 * WebProcess/WebPage/WebInspector.h:
676 * WebProcess/WebPage/mac/WebInspectorMac.mm:
677 (WebKit::inspectorReallyUsesWebKitUserInterface):
678 (WebKit::WebInspector::setInspectorUsesWebKitUserInterface): Added.
679 (WebKit::WebInspector::localizedStringsURL):
680 * WebProcess/WebPage/mac/WebPageMac.mm:
681 (WebKit::WebPage::platformPreferencesDidChange): Call WebInspector::setInspectorUsesWebKitUserInterface.
682 * WebProcess/mac/WebProcessMac.mm:
683 (WebKit::WebProcess::platformInitializeWebProcess): Removed call to WebInspector::setLocalizedStringsPath.
685 2012-03-11 Andy Estes <aestes@apple.com>
687 Remove unnecessary call to NSSizeToCGSize().
688 https://bugs.webkit.org/show_bug.cgi?id=80817
690 Reviewed by Dan Bernstein.
692 There is no need to call NSSizeToCGSize() to convert an IntSize to a
693 CGSize. IntSize defines a conversion function to CGSize that will do
694 this for us implicitly.
696 * UIProcess/mac/BackingStoreMac.mm:
697 (WebKit::BackingStore::backingStoreContext): Do not call NSSizeToCGSize().
699 2012-03-11 Dan Bernstein <mitz@apple.com>
701 WebKit2 lacks API for obtaining a representation of the RenderLayer tree of a page, like WebRenderLayer
702 <http://webkit.org/b/80791>
704 Reviewed by Anders Carlsson.
709 * Shared/API/c/WKBase.h: Added a type definition of WKRenderLayerRef.
711 * Shared/API/c/WKRenderLayer.cpp: Added.
712 (WKRenderLayerGetTypeID): Added. Returns the WKRenderLayer type ID.
713 (WKRenderLayerCopyRendererName): Added this getter wrapper.
714 (WKRenderLayerCopyElementTagName): Ditto.
715 (WKRenderLayerCopyElementID): Ditto.
716 (WKRenderLayerGetElementClassNames): Ditto.
717 (WKRenderLayerGetAbsoluteBounds): Ditto.
718 (WKRenderLayerIsClipping): Ditto.
719 (WKRenderLayerIsClipped): Ditto.
720 (WKRenderLayerIsReflection): Ditto.
721 (WKRenderLayerGetCompositingLayerType): Ditto.
722 (WKRenderLayerGetNegativeZOrderList): Ditto.
723 (WKRenderLayerGetNormalFlowList): Ditto.
724 (WKRenderLayerGetPositiveZOrderList): Ditto.
726 * Shared/API/c/WKRenderLayer.h: Added.
728 * Shared/APIObject.h: Added TypeRenderLayer to the APIObject::Type enum.
730 * Shared/UserMessageCoders.h:
731 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderLayer encoding.
732 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderLayer decoding.
734 * Shared/WebRenderLayer.cpp: Added.
735 (WebKit::WebRenderLayer::create): Added. Creates a WebRenderLayer for the page’s main
736 frame’s root layer.
737 (WebKit::WebRenderLayer::createArrayFromLayerList): Added this helper function.
738 (WebKit::WebRenderLayer::WebRenderLayer): Added. Constructs a WebRenderLayer with the
739 renderer name, element tag, ID and class names, metrics, child lists, and compositing
740 layer properties of the given RenderLayer.
742 * Shared/WebRenderLayer.h: Added.
743 (WebKit::WebRenderLayer::create):
744 (WebKit::WebRenderLayer::negativeZOrderList):
745 (WebKit::WebRenderLayer::normalFlowList):
746 (WebKit::WebRenderLayer::positiveZOrderList):
747 (WebKit::WebRenderLayer::renderObjectName):
748 (WebKit::WebRenderLayer::elementTagName):
749 (WebKit::WebRenderLayer::elementID):
750 (WebKit::WebRenderLayer::elementClassNames):
751 (WebKit::WebRenderLayer::isReflection):
752 (WebKit::WebRenderLayer::isClipping):
753 (WebKit::WebRenderLayer::isClipped):
754 (WebKit::WebRenderLayer::compositingLayerType):
755 (WebKit::WebRenderLayer::absoluteBoundingBox):
756 (WebKit::WebRenderLayer::WebRenderLayer):
760 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderLayerRef and WebRenderLayer.
762 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderLayer.{cpp,h} and WKRenderLayer.{cpp,h}.
764 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
765 (WKBundlePageCopyRenderLayerTree): Added this bundle API for getting the layer tree.
767 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
769 * win/WebKit2.vcproj:
771 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
773 <http://webkit.org/b/80782> Web Inspector: Crash using released frontendClient when resizing window with closed inspector
775 The WebInspectorFrontendClient reference should be cleared when the
776 WebInspectorClient::closeInspectorFrontend is called. This adds a
777 destroyInspectorPage to mirror createInspectorPage and clear the weak
778 pointers that are no longer valid.
780 Reviewed by Pavel Feldman.
782 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
783 (WebKit::WebInspectorClient::closeInspectorFrontend):
784 (WebKit::WebInspectorClient::didResizeMainFrame):
785 * WebProcess/WebPage/WebInspector.cpp:
786 (WebKit::WebInspector::destroyInspectorPage):
787 * WebProcess/WebPage/WebInspector.h:
789 2012-03-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
791 [Qt] [WK2] Support threaded renderer in WK2
792 https://bugs.webkit.org/show_bug.cgi?id=76661
794 Reviewed by Noam Rosenthal.
796 Implement Qt5 threaded rendering support for Qt WebKit2.
797 Parts of LayerTreeHostProxy which contain layer tree and layer painting objects
798 are moved to separate class called WebLayerTreeRenderer. WebLayerTreeRenderer is
799 thread safe ref counted and referenced by LayerTreeHostProxy and paint node.
800 All layer tree and graphics objects are created, accessed and deallocated from Qt
801 Scenegraph's paint thread only.
802 Layer tree updates from render queue are fetched in updatePaintNode call stack when
803 main thread is locked.
804 Messages from paint thread to web process are passed through MainThreadGuardedInvoker
805 call gate (implemented by Noam Rosenthal and previously reviewed by Kenneth Rohde
809 * UIProcess/API/qt/qquickwebpage.cpp:
810 (PageProxyNode::PageProxyNode):
811 (PageProxyNode::render):
812 (PageProxyNode::~PageProxyNode):
813 (PageProxyNode::layerTreeRenderer):
815 (PageProxyNode::setScale):
816 (QQuickWebPage::updatePaintNode):
817 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
818 * UIProcess/LayerTreeHostProxy.cpp: Added.
820 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
821 (WebKit::LayerTreeHostProxy::~LayerTreeHostProxy):
822 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
823 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
824 (WebKit::LayerTreeHostProxy::updateViewport):
825 (WebKit::LayerTreeHostProxy::dispatchUpdate):
826 (WebKit::LayerTreeHostProxy::createTileForLayer):
827 (WebKit::LayerTreeHostProxy::updateTileForLayer):
828 (WebKit::LayerTreeHostProxy::removeTileForLayer):
829 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
830 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
831 (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
832 (WebKit::LayerTreeHostProxy::didRenderFrame):
833 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
834 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
835 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
836 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
837 (WebKit::LayerTreeHostProxy::renderNextFrame):
838 (WebKit::LayerTreeHostProxy::purgeBackingStores):
839 * UIProcess/LayerTreeHostProxy.h:
841 (LayerTreeHostProxy):
842 (WebKit::LayerTreeHostProxy::layerTreeRenderer):
843 * UIProcess/WebLayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp.
845 (MainThreadGuardedInvoker):
846 (WebKit::MainThreadGuardedInvoker::call):
847 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
848 (WebKit::MainThreadGuardedInvoker::invoke):
849 (WebKit::WebLayerTreeRenderer::callOnMainTread):
850 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
851 (WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer):
852 (WebKit::WebLayerTreeRenderer::createLayer):
853 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
854 (WebKit::WebLayerTreeRenderer::syncAnimations):
855 (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
856 (WebKit::WebLayerTreeRenderer::setVisibleContentsRectForScaling):
857 (WebKit::WebLayerTreeRenderer::updateViewport):
858 (WebKit::WebLayerTreeRenderer::syncLayerParameters):
859 (WebKit::WebLayerTreeRenderer::deleteLayer):
860 (WebKit::WebLayerTreeRenderer::ensureLayer):
861 (WebKit::WebLayerTreeRenderer::setRootLayerID):
862 (WebKit::WebLayerTreeRenderer::getBackingStore):
863 (WebKit::WebLayerTreeRenderer::createTile):
864 (WebKit::WebLayerTreeRenderer::removeTile):
865 (WebKit::WebLayerTreeRenderer::updateTile):
866 (WebKit::WebLayerTreeRenderer::createImage):
867 (WebKit::WebLayerTreeRenderer::destroyImage):
868 (WebKit::WebLayerTreeRenderer::assignImageToLayer):
869 (WebKit::WebLayerTreeRenderer::swapBuffers):
870 (WebKit::WebLayerTreeRenderer::flushLayerChanges):
871 (WebKit::WebLayerTreeRenderer::renderNextFrame):
872 (WebKit::WebLayerTreeRenderer::ensureRootLayer):
873 (WebKit::WebLayerTreeRenderer::syncRemoteContent):
874 (WebKit::WebLayerTreeRenderer::purgeGLResources):
875 (WebKit::WebLayerTreeRenderer::purgeBackingStores):
876 (WebKit::WebLayerTreeRenderer::detach):
877 (WebKit::WebLayerTreeRenderer::appendUpdate):
878 * UIProcess/WebLayerTreeRenderer.h: Copied from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
880 (WebLayerTreeRenderer):
881 (WebKit::WebLayerTreeRenderer::layerByID):
882 (WebKit::WebLayerTreeRenderer::rootLayer):
883 (WebKit::WebLayerTreeRenderer::notifyAnimationStarted):
884 (WebKit::WebLayerTreeRenderer::notifySyncRequired):
885 (WebKit::WebLayerTreeRenderer::showDebugBorders):
886 (WebKit::WebLayerTreeRenderer::showRepaintCounter):
887 (WebKit::WebLayerTreeRenderer::paintContents):
889 2012-03-09 Jon Lee <jonlee@apple.com>
891 Rename NotificationPresenter to NotificationClient
892 https://bugs.webkit.org/show_bug.cgi?id=80488
893 <rdar://problem/10965558>
895 Reviewed by Kentaro Hara.
897 Refactor to use renamed WebCore::NotificationClient.
898 * UIProcess/Notifications/WebNotificationManagerProxy.h:
899 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
900 (WebKit::NotificationPermissionRequestManager::startRequest):
901 (WebKit::NotificationPermissionRequestManager::permissionLevel):
902 * WebProcess/Notifications/NotificationPermissionRequestManager.h:
903 (NotificationPermissionRequestManager):
904 * WebProcess/Notifications/WebNotificationManager.cpp:
905 (WebKit::WebNotificationManager::policyForOrigin):
906 * WebProcess/Notifications/WebNotificationManager.h:
907 (WebNotificationManager):
908 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
909 (WebKit::WebNotificationClient::checkPermission):
910 * WebProcess/WebCoreSupport/WebNotificationClient.h:
911 (WebNotificationClient):
913 2012-03-09 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
915 [Qt] [WK2] Shouldn't use item for clipping rect calculation in paint node.
916 https://bugs.webkit.org/show_bug.cgi?id=80714
918 Reviewed by Noam Rosenthal.
920 Replace item based clip-rect calculation with clipping-nodes based calculation.
921 This is required for threaded rendering, since we don't have access to the QSGItems
922 from the render thread.
924 * UIProcess/API/qt/qquickwebpage.cpp:
925 (QQuickWebPage::QQuickWebPage):
926 (QQuickWebPagePrivate::paintToCurrentGLContext):
927 (PageProxyNode::render):
928 (PageProxyNode::clipRect):
930 * UIProcess/API/qt/qquickwebpage_p_p.h:
931 (QQuickWebPagePrivate):
932 * UIProcess/API/qt/qquickwebview.cpp:
933 (QQuickWebView::QQuickWebView):
935 2012-03-09 Enrica Casucci <enrica@apple.com>
937 Move WebNSURLExtras code down to WebCore.
938 https://bugs.webkit.org/show_bug.cgi?id=80611
940 Reviewed by Alexey Proskuryakov.
942 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
943 (InitWebCoreSystemInterface):
945 2012-03-09 Jeff Miller <jeffm@apple.com>
947 Add WKPageEndPrinting() to balance WKPageBeginPrinting()
948 https://bugs.webkit.org/show_bug.cgi?id=80739
950 Reviewed by Dan Bernstein.
952 * UIProcess/API/C/WKPage.cpp:
953 (WKPageEndPrinting): Added.
955 * UIProcess/API/C/WKPagePrivate.h: Added WKPageEndPrinting().
957 2012-03-09 Emil A Eklund <eae@chromium.org>
959 Add roundedPoint to HitTestResult and change platform code to use it
960 https://bugs.webkit.org/show_bug.cgi?id=80715
962 Reviewed by James Robinson.
964 Change ports to use roundedPoint to avoid exposing subpixel types to
967 * WebProcess/WebPage/WebContextMenu.cpp:
968 (WebKit::WebContextMenu::show):
970 2012-03-09 Alexey Proskuryakov <ap@apple.com>
972 [Mac] Pass sandbox profiles through preprocessor
973 https://bugs.webkit.org/show_bug.cgi?id=80651
975 Reviewed by Mark Rowe.
977 * DerivedSources.make: Preprocess sandbox profiles.
979 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed.
980 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.
981 * WebProcess/com.apple.WebProcess.sb: Removed.
982 * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb.
983 Renamed to avoid make finding the wrong original in default paths.
985 * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals.
986 Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths.
988 2012-03-09 Jon Lee <jonlee@apple.com>
990 Add support for ENABLE(LEGACY_NOTIFICATIONS)
991 https://bugs.webkit.org/show_bug.cgi?id=80497
993 Reviewed by Adam Barth.
995 Prep for b80472: Update API for Web Notifications
996 * Configurations/FeatureDefines.xcconfig:
998 2012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com>
1000 Bash scripts should support LF endings only
1001 https://bugs.webkit.org/show_bug.cgi?id=79509
1003 Reviewed by David Kilzer.
1005 * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
1007 2012-03-08 Enrica Casucci <enrica@apple.com>
1009 REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
1010 https://bugs.webkit.org/show_bug.cgi?id=80203
1011 <rdar://problem/10976643>
1013 Reviewed by Alexey Proskuryakov.
1015 This patch reverts a small part fo r109022, leaving access to
1016 NSPasteboard in the WebProcess when retrieving pathnames for
1017 files being dragged. This avoid the sandbox violation until we
1018 implement a mechanism to provide a sandbox extension to the WebProcess.
1020 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1021 (WebKit::WebPlatformStrategies::getPathnamesForType):
1023 2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
1025 Unreviewed, rolling out r110191, r110202, and r110279.
1026 http://trac.webkit.org/changeset/110191
1027 http://trac.webkit.org/changeset/110202
1028 http://trac.webkit.org/changeset/110279
1029 https://bugs.webkit.org/show_bug.cgi?id=80694
1031 They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
1035 * win/WebKit2CFLite.def:
1037 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1039 [Qt] Use Qt's module system for install rules and depending on QtWebKit
1041 Instead of rolling our own install rules we now use the same approach as
1042 every other Qt module, by loading qt_module.prf and qt_module_config.prf.
1044 This ensures that we follow the same semantics as the rest of Qt on
1045 what sort of config options are enabled by default (create_cmake eg.).
1046 It also allows us to use QT += webkit instead of the workaround we had
1047 with CONFIG += qtwebkit.
1049 We do however force Qt to always treat our build as a non-developer build,
1050 so the libraries will end up in the WebKit lib directory instead of the
1051 qtbase directory (as with a normal developer-build). This allows us to
1052 keep the webkit-build self-contained. If Qt is a developer build we still
1053 copy the module file manually to Qt, so that you don't have to install
1054 WebKit to make it available.
1056 For non-developer builds of Qt, it is still possible to use the built
1057 WebKit libraries without having to install them, by having the variable
1058 QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
1059 pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
1061 https://bugs.webkit.org/show_bug.cgi?id=80590
1063 Reviewed by Simon Hausmann.
1065 * UIProcess/API/qt/tests/publicapi/publicapi.pro:
1066 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1067 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
1068 * UIProcess/API/qt/tests/qmltests/WebView.pro:
1069 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
1070 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
1071 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1072 * UIProcess/API/qt/tests/tests.pri:
1073 * UIProcess/API/qt/tests/util.cpp:
1076 2012-03-08 No'am Rosenthal <noam.rosenthal@nokia.com>
1078 [Qt][WK2] Allow transparent WebViews
1079 https://bugs.webkit.org/show_bug.cgi?id=80608
1081 Reviewed by Tor Arne Vestbø.
1083 Added support for transparentBackground in QQuickWebViewExperimental.
1084 This uses the existing drawsTransparentBackground property in WebKit2.
1085 Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
1086 otherwise the change doesn't take effect.
1088 A new API test was added.
1090 * UIProcess/API/qt/qquickwebview.cpp:
1091 (QQuickWebViewPrivate::setTransparentBackground):
1092 (QQuickWebViewPrivate::transparentBackground):
1093 (QQuickWebViewExperimental::transparentBackground):
1094 (QQuickWebViewExperimental::setTransparentBackground):
1095 * UIProcess/API/qt/qquickwebview_p.h:
1096 * UIProcess/API/qt/qquickwebview_p_p.h:
1097 (QQuickWebViewPrivate):
1098 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1099 (tst_QQuickWebView):
1100 (tst_QQuickWebView::transparentWebViews):
1101 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1102 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
1103 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
1105 2012-03-08 Gustavo Noronha Silva <gns@gnome.org>
1107 GTK+ build fix. Only try to get the backing from the layer in when
1108 ACCELERATED_COMPOSITING is enabled.
1110 Rubber-stamped by Ryosuke Niwa.
1112 * WebProcess/FullScreen/WebFullScreenManager.cpp:
1113 (WebKit::screenRectOfContents):
1115 2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
1117 Mac build fix for micro data API.
1119 * Configurations/FeatureDefines.xcconfig:
1122 2012-03-08 Jer Noble <jer.noble@apple.com>
1124 Unreviewed Snow Leopard build fix.
1126 On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
1128 * UIProcess/mac/WKFullScreenWindowController.mm:
1129 (-[NSWindow convertRectToScreen:]):
1131 2012-03-08 Jer Noble <jer.noble@apple.com>
1133 Further unreviewed build fix.
1135 Add in the WebCore namespace, so that IntRect is pulled in.
1137 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1138 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
1139 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
1141 2012-03-08 Jer Noble <jer.noble@apple.com>
1143 Unreviewed build fix.
1145 Add stub implementations of beganEnterFullScreen and beganExitFullScreen
1146 to platform-specific WebFullScreenManagerProxy implementations.
1148 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1149 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
1150 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
1151 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
1152 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
1153 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
1154 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
1155 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
1156 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
1158 2012-03-08 Jer Noble <jer.noble@apple.com>
1160 Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
1161 https://bugs.webkit.org/show_bug.cgi?id=78928
1163 Reviewed by Anders Carlsson.
1165 Boilerplate changes to WebKit2 IPC messages and supporting functions.
1166 * UIProcess/WebFullScreenManagerProxy.cpp:
1167 (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
1168 * UIProcess/WebFullScreenManagerProxy.h:
1169 * UIProcess/WebFullScreenManagerProxy.messages.in:
1170 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
1171 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
1172 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
1173 * WebProcess/FullScreen/WebFullScreenManager.cpp:
1174 (WebKit::screenRectOfContents): Added. Calculates the screen rect of an element's contents.
1175 (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
1176 (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
1178 (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
1179 (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
1180 BeganExitFullScreen XPC message.
1181 (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
1182 (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
1183 * WebProcess/FullScreen/WebFullScreenManager.h:
1184 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
1186 * UIProcess/mac/WKFullScreenWindowController.h:
1187 * UIProcess/mac/WKFullScreenWindowController.mm:
1188 (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
1189 (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
1190 of _requestExitWithAnimation.
1191 (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
1192 both the full screen window and the background window.
1193 (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
1194 page to use in the placeholder.
1195 (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
1196 beganEnterFullScreenAnimation.
1197 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap
1198 placeholder views here, as they were already swapped in beganEnter...:.
1199 (-[WKFullScreenWindowController exitFullScreen]):
1200 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
1201 beganExitFullScreenAnimation.
1202 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
1203 (-[WKFullScreenWindowController close]):
1204 (-[WKFullScreenWindowController animationDidEnd:]): Added.
1205 (createBackgroundFullscreenWindow): Added.
1206 (windowFrameFromApparentFrames): Added.
1207 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
1208 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
1210 2012-03-08 Jer Noble <jer.noble@apple.com>
1212 Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
1213 https://bugs.webkit.org/show_bug.cgi?id=78926
1215 Reviewed by John Sullivan.
1217 The following functions (and also their Proxy versions) were removed completely:
1218 WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
1219 WebFullScreenManager::exitAcceleratedCompositingMode()
1220 WebFullScreenManager::beganEnterFullScreenAnimation()
1221 WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
1222 WebFullScreenManager::beganExitFullScreenAnimation()
1223 WebFullScreenManager::finishedExitFullScreenAnimation(bool)
1224 WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
1226 * UIProcess/WebFullScreenManagerProxy.cpp:
1227 * UIProcess/WebFullScreenManagerProxy.h:
1228 (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
1229 (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
1230 (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
1231 (WebFullScreenManagerProxy):
1232 * UIProcess/WebFullScreenManagerProxy.messages.in:
1233 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1234 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
1235 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
1236 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
1237 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
1238 * WebKit2.xcodeproj/project.pbxproj:
1239 * WebProcess/FullScreen/WebFullScreenManager.cpp:
1240 (WebKit::WebFullScreenManager::create):
1241 (WebKit::WebFullScreenManager::~WebFullScreenManager):
1242 * WebProcess/FullScreen/WebFullScreenManager.h:
1243 (WebFullScreenManager):
1244 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
1245 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1246 (WebKit::WebChromeClient::exitFullScreenForElement):
1247 * WebProcess/WebCoreSupport/WebChromeClient.h:
1250 Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
1251 platform-specific implementations remained after the above functions were removed:
1254 * win/WebKit2.vcproj:
1255 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
1256 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
1257 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
1258 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
1259 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
1260 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
1261 * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
1262 * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
1264 2012-03-08 Matt Lilek <mrl@apple.com>
1266 Don't enable VIDEO_TRACK on all OS X platforms
1267 https://bugs.webkit.org/show_bug.cgi?id=80635
1269 Reviewed by Eric Carlson.
1271 * Configurations/FeatureDefines.xcconfig:
1273 2012-03-08 Max Vujovic <mvujovic@adobe.com>
1275 Add a method to window.internals to enable testing of inspector highlight rects
1276 https://bugs.webkit.org/show_bug.cgi?id=80338
1278 Reviewed by Pavel Feldman.
1280 * win/WebKit2.def: Export symbols for win.
1281 * win/WebKit2CFLite.def: Same as above.
1283 2012-03-08 Dinu Jacob <dinu.jacob@nokia.com>
1285 [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
1286 https://bugs.webkit.org/show_bug.cgi?id=80557
1288 Reviewed by Simon Hausmann.
1290 Move common code related to running QtDialogRunner into a separate function
1292 * UIProcess/API/qt/qquickwebview.cpp:
1293 (QQuickWebViewPrivate::runJavaScriptAlert):
1294 (QQuickWebViewPrivate::runJavaScriptConfirm):
1295 (QQuickWebViewPrivate::runJavaScriptPrompt):
1296 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
1297 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
1298 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
1299 (QQuickWebViewPrivate::execDialogRunner):
1300 * UIProcess/API/qt/qquickwebview_p_p.h:
1301 (QQuickWebViewPrivate):
1303 2012-03-07 Dinu Jacob <dinu.jacob@nokia.com>
1305 [Qt] Authentication dialog does not work
1306 https://bugs.webkit.org/show_bug.cgi?id=79738
1308 Reviewed by Simon Hausmann.
1310 QQuickWebView should accept touch events only if there is
1313 * UIProcess/API/qt/qquickwebview.cpp:
1314 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1315 (QQuickWebViewPrivate::runJavaScriptAlert):
1316 (QQuickWebViewPrivate::runJavaScriptConfirm):
1317 (QQuickWebViewPrivate::runJavaScriptPrompt):
1318 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
1319 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
1320 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
1321 (QQuickWebView::touchEvent):
1322 * UIProcess/API/qt/qquickwebview_p_p.h:
1323 (QQuickWebViewPrivate):
1325 2012-03-07 Dan Bernstein <mitz@apple.com>
1327 <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
1328 https://bugs.webkit.org/show_bug.cgi?id=80230
1330 Reviewed by Beth Dakin.
1335 * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
1337 * Shared/API/c/WKRenderObject.cpp: Added.
1338 (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
1339 (WKRenderObjectCopyName): Added this getter wrapper.
1340 (WKRenderObjectGetAbsolutePosition): Ditto.
1341 (WKRenderObjectGetFrameRect): Ditto.
1342 (WKRenderObjectGetChildren): Ditto.
1344 * Shared/API/c/WKRenderObject.h: Added.
1346 * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
1347 * Shared/UserMessageCoders.h:
1348 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
1349 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
1350 * Shared/WebRenderObject.cpp: Added.
1351 (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
1352 frame content renderer.
1353 (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
1354 name, metrics and children of the given RenderObject, following the rules used in WebKit1
1355 WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
1356 renderer as a child.
1358 * Shared/WebRenderObject.h: Added.
1359 (WebKit::WebRenderObject::create):
1360 (WebKit::WebRenderObject::children):
1361 (WebKit::WebRenderObject::name):
1362 (WebKit::WebRenderObject::absolutePosition):
1363 (WebKit::WebRenderObject::frameRect):
1364 (WebKit::WebRenderObject::WebRenderObject):
1368 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
1370 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
1372 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1373 (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
1375 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1377 * win/WebKit2.vcproj:
1379 2012-03-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
1381 Pinch zoom acts weirdly on nytimes.com while loading
1382 https://webkit.org/b/80508
1384 Reviewed by Simon Hausmann.
1386 Make sure to suspend the page while doing pinch zooming.
1387 If the page is suspended (which happens while pinch zooming)
1388 then do not send touch events to the page, even if it has
1391 * UIProcess/WebPageProxy.cpp:
1392 (WebKit::WebPageProxy::handleTouchEvent):
1393 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1394 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
1396 2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1398 [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
1399 https://bugs.webkit.org/show_bug.cgi?id=80164
1401 Reviewed by Simon Hausmann.
1403 Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
1404 value that give some room for us to put Experimental values in the middle. This
1405 way the Experimental values are in a valid range for the original enumeration. To
1406 avoid confusion, the Experimental enumeration was renamed.
1408 * UIProcess/API/qt/qquickwebview_p.h:
1409 * UIProcess/API/qt/qwebnavigationrequest.cpp:
1410 (QWebNavigationRequestPrivate):
1411 (QWebNavigationRequest::setAction):
1412 (QWebNavigationRequest::action):
1413 * UIProcess/API/qt/qwebnavigationrequest_p.h:
1414 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1416 2012-03-07 Andras Becsi <andras.becsi@nokia.com>
1418 [WK2] Make it possible to build without geolocation support
1419 https://bugs.webkit.org/show_bug.cgi?id=80426
1421 Reviewed by Simon Hausmann.
1425 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1426 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
1427 * UIProcess/WebPageProxy.cpp:
1428 (WebKit::WebPageProxy::close):
1429 (WebKit::WebPageProxy::processDidCrash):
1430 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1431 * WebProcess/WebPage/WebPage.cpp:
1432 (WebKit::WebPage::WebPage):
1434 * WebProcess/WebPage/WebPage.h:
1436 * WebProcess/WebPage/WebPage.messages.in:
1438 2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
1440 [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
1441 https://bugs.webkit.org/show_bug.cgi?id=80469
1443 Reviewed by Antonio Gomes.
1445 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
1446 property on the library being created.
1448 2012-03-06 Hugo Parente Lima <hugo.lima@openbossa.org>
1450 MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
1451 https://bugs.webkit.org/show_bug.cgi?id=80313
1453 Reviewed by Kenneth Rohde Christiansen.
1455 Fix the math to get the visible rectangle and add a method to get it.
1457 * UIProcess/API/qt/qquickwebview.cpp:
1458 (QQuickWebViewPrivate::visibleContentsRect):
1459 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
1460 (QQuickWebViewPrivate::_q_commitPositionChange):
1461 * UIProcess/API/qt/qquickwebview_p_p.h:
1462 (QQuickWebViewPrivate):
1464 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
1466 Web Inspector: Hide dock button when not allowed to dock
1467 https://bugs.webkit.org/show_bug.cgi?id=78575
1469 Reviewed by Pavel Feldman.
1471 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1472 (WebKit::WebInspectorClient::didResizeMainFrame):
1473 * WebProcess/WebCoreSupport/WebInspectorClient.h:
1474 * WebProcess/WebPage/WebInspector.cpp:
1475 (WebKit::WebInspector::updateDockingAvailability):
1476 * WebProcess/WebPage/WebInspector.h:
1478 2012-03-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1480 [Qt] Interaction Engine suspends content during pageload.
1481 https://bugs.webkit.org/show_bug.cgi?id=80294
1483 Only suspend content when viewport updates are deferred
1484 for a non-instantanious interaction.
1486 Reviewed by Kenneth Rohde Christiansen.
1488 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1489 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
1490 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
1491 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1492 (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
1493 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
1494 * UIProcess/qt/QtViewportInteractionEngine.h:
1495 (QtViewportInteractionEngine):
1497 2012-03-06 Simon Hausmann <simon.hausmann@nokia.com>
1499 [Qt] Make QQuickWebView's url property work with a flickable webview
1501 Reviewed by Tor Arne Vestbø.
1503 QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
1504 when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
1505 is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
1506 but forgot to call the base implementation.
1508 * UIProcess/API/qt/qquickwebview.cpp:
1509 (QQuickWebViewFlickablePrivate::onComponentComplete):
1511 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
1513 [GTK] Fix several documentation issues in WebKit2 GTK+ API
1514 https://bugs.webkit.org/show_bug.cgi?id=80281
1516 Reviewed by Martin Robinson.
1518 * UIProcess/API/gtk/WebKitFindController.cpp:
1519 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
1520 (webkit_navigation_policy_decision_class_init):
1521 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1522 * UIProcess/API/gtk/WebKitWebView.h:
1524 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
1526 [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
1527 https://bugs.webkit.org/show_bug.cgi?id=80271
1529 Reviewed by Martin Robinson.
1531 Add a new signal WebKitWebView::script-dialog that passes a
1532 WebKitScriptDialog boxed type that can be used to build the dialog
1533 and set the responses. It simplifies the API and makes it bindings
1537 * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
1538 (webkitScriptDialogCopy): Copy method for boxed type.
1539 (webkitScriptDialogFree): Free method for boxed type.
1540 (webkit_script_dialog_get_dialog_type): Return the type of dialog:
1541 alert, confirm or prompt.
1542 (webkit_script_dialog_get_message): Return the message of the dialog.
1543 (webkit_script_dialog_confirm_set_confirmed): Set whether user
1544 confirmed the dialog, for confirm dialogs.
1545 (webkit_script_dialog_prompt_get_default_text): Get the default
1546 text of prompt dialogs.
1547 (webkit_script_dialog_prompt_set_text): Set the text entered by
1548 the user, for prompt dialogs.
1549 * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
1550 * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
1551 * UIProcess/API/gtk/WebKitWebView.cpp:
1552 (webkitWebViewScriptDialog): Default implementation of
1553 WebKitWebView::script-dialog signal.
1554 (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
1555 remove alert, confirm and propmpt.
1556 (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
1557 emit WebKitWebView::script-dialog signal.
1558 (webkitWebViewRunJavaScriptConfirm): Ditto.
1559 (webkitWebViewRunJavaScriptPrompt): Ditto.
1560 * UIProcess/API/gtk/WebKitWebView.h:
1561 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
1563 * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
1564 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1565 (testWebViewJavaScriptDialogs): Update javascript dialog test to
1567 * UIProcess/API/gtk/webkit2marshal.list:
1568 * UIProcess/API/gtk/webkit2.h:
1570 2012-03-05 Gavin Barraclough <barraclough@apple.com>
1572 putByIndex should throw in strict mode
1573 https://bugs.webkit.org/show_bug.cgi?id=80335
1575 Reviewed by Filip Pizlo.
1577 Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
1579 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1580 (WebKit::NPJSObject::setProperty):
1582 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
1584 Unreviewed rollout of r109858 for restructuring.
1586 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
1588 <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
1590 Reviewed by Timothy Hatcher.
1592 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1593 (WebKit::WebInspectorClient::updateDockingAvailability):
1594 * WebProcess/WebCoreSupport/WebInspectorClient.h:
1595 * WebProcess/WebPage/WebInspector.cpp:
1596 (WebKit::WebInspector::updateDockingAvailability):
1597 * WebProcess/WebPage/WebInspector.h:
1599 2012-03-05 Anders Carlsson <andersca@apple.com>
1601 pinch-to-zoom and double-tap flicker when using the new scrolling model
1602 https://bugs.webkit.org/show_bug.cgi?id=80368
1603 <rdar://problem/10866221>
1605 Reviewed by Sam Weinig.
1607 Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
1608 This is currently needed for the tiled drawing area when there might be outstanding scroll updates
1609 that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
1610 before sending a message back.
1612 * WebProcess/WebPage/DrawingArea.h:
1613 (WebKit::DrawingArea::forceRepaintAsync):
1614 Add new member function.
1616 * WebProcess/WebPage/WebPage.cpp:
1617 (WebKit::WebPage::forceRepaint):
1618 Try forceRepaintAsync first.
1620 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1621 (WebKit::forceRepaintAndSendMessage):
1622 Force the repaint and send the message.
1624 (WebKit::dispatchBackToMainThread):
1625 Dispatch a call to forceRepaintAndSendMessage to the main thread.
1627 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
1628 Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
1629 main thread, ensuring that all previously dispatched functions have been executed.
1631 2012-03-05 Enrica Casucci <enrica@apple.com>
1633 Can't type on some websites (plug-ins steal key events).
1634 <rdar://problem/10892291>
1636 When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
1637 in order to return the correct input context. Failure to do so results in the inputContext
1638 method to return the plugin input context instead of the context of the browser view.
1640 Reviewed by Sam Weinig.
1642 * UIProcess/API/mac/WKView.mm:
1643 (-[WKView _setPluginComplexTextInputState:]):
1644 (-[WKView _handlePluginComplexTextInputKeyDown:]):
1646 2012-03-05 Anders Carlsson <andersca@apple.com>
1648 Be more aggressive about repainting page overlays
1649 https://bugs.webkit.org/show_bug.cgi?id=80336
1650 <rdar://problem/10965943>
1652 Reviewed by Simon Fraser.
1654 Whenever we're flushing layers and we have a page overlay, check if the main frame
1655 has scrolled or if the main frame root content layer needs to be repainted and force the
1656 overlay layer to be repainted if either of those conditions are true.
1658 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1659 (TiledCoreAnimationDrawingArea):
1660 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1661 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1662 (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
1665 2012-03-05 Sam Weinig <sam@webkit.org>
1667 Add support for hosting layers in the window server in WebKit2
1668 <rdar://problem/10400246>
1669 https://bugs.webkit.org/show_bug.cgi?id=80310
1671 Reviewed by Anders Carlsson.
1673 This currently only works if you are using TiledCoreAnimation drawing model.
1675 * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
1676 * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
1677 (WebKit::LayerHostingContext::createForPort):
1678 (WebKit::LayerHostingContext::LayerHostingContext):
1679 (WebKit::LayerHostingContext::createForWindowServer):
1680 (WebKit::LayerHostingContext::~LayerHostingContext):
1681 (WebKit::LayerHostingContext::setRootLayer):
1682 (WebKit::LayerHostingContext::rootLayer):
1683 (WebKit::LayerHostingContext::contextID):
1684 (WebKit::LayerHostingContext::invalidate):
1685 Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
1686 as the remote context.
1688 * PluginProcess/PluginControllerProxy.cpp:
1689 * PluginProcess/PluginControllerProxy.h:
1690 * PluginProcess/mac/PluginControllerProxyMac.mm:
1691 Update for new names.
1693 * Shared/LayerTreeContext.h:
1694 Add LayerHostingMode enum.
1696 * UIProcess/PageClient.h:
1697 * UIProcess/API/mac/PageClientImpl.h:
1698 * UIProcess/API/mac/PageClientImpl.mm:
1699 (WebKit::PageClientImpl::layerHostingMode):
1700 (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
1701 Add PageClient access points to get the current layer hosting mode,
1702 and a hook to tell the underlying view that the layer hosting context
1705 * UIProcess/API/mac/WKViewInternal.h:
1706 * UIProcess/API/mac/WKView.mm:
1707 (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
1708 Implement responding to a new layer hosting context as a simple
1709 exit and re-entrance of compositing.
1711 * UIProcess/DrawingAreaProxy.h:
1712 (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
1713 (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
1714 * UIProcess/DrawingAreaProxy.messages.in:
1715 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1716 (TiledCoreAnimationDrawingAreaProxy):
1717 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1718 (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
1719 (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
1720 Pipe layer hosting changes around.
1722 * UIProcess/WebPageProxy.h:
1723 (WebKit::WebPageProxy::layerHostingMode):
1724 * UIProcess/WebPageProxy.cpp:
1725 (WebKit::WebPageProxy::WebPageProxy):
1726 (WebKit::WebPageProxy::viewStateDidChange):
1727 Cache the current layer hosting mode so we don't overzealously
1728 tell the WebProcess to reset its context. Re-check layer hosting
1729 mode each time we are added/removed from a window.
1731 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
1732 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
1733 Update for new names.
1735 * WebProcess/WebPage/DrawingArea.h:
1736 (WebKit::DrawingArea::setDeviceScaleFactor):
1737 (WebKit::DrawingArea::setLayerHostingMode):
1738 * WebProcess/WebPage/DrawingArea.messages.in:
1739 Pipe layer hosting changes around.
1741 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
1742 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
1743 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
1744 (WebKit::LayerTreeHostCAMac::platformInitialize):
1745 (WebKit::LayerTreeHostCAMac::invalidate):
1746 Update for new names.
1748 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1749 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1750 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1751 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
1752 Respond to a change in the layer hosting mode by invalidating our old context,
1753 making a new one of the right type, and informing the UIProcess of our new context.
1755 * WebKit2.xcodeproj/project.pbxproj:
1758 2012-03-05 Anders Carlsson <andersca@apple.com>
1760 Always update the scroll layer position on the main thread when we have an overlay
1761 https://bugs.webkit.org/show_bug.cgi?id=80324
1763 Reviewed by Sam Weinig.
1765 Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
1766 so we'll be able to synchronize painting between the tile cache and the page overlays.
1768 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1769 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1770 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1772 2012-03-05 Timothy Hatcher <timothy@apple.com>
1774 Change how the Web Inspector Develop menu actions work.
1776 This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
1778 https://webkit.org/b/80308
1780 Reviewed by John Sullivan.
1782 * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
1783 * UIProcess/mac/WebInspectorProxyMac.mm:
1784 (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
1785 * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
1787 2012-03-02 Jon Lee <jonlee@apple.com>
1789 Add support for notification replaceId in Mac WebKit and WK2
1790 https://bugs.webkit.org/show_bug.cgi?id=80206
1791 <rdar://problem/10965574>
1793 Reviewed by Sam Weinig.
1795 * UIProcess/API/C/WKNotification.cpp: Add WK API.
1796 (WKNotificationCopyReplaceID):
1797 * UIProcess/API/C/WKNotification.h:
1798 * UIProcess/Notifications/WebNotification.cpp:
1799 (WebKit::WebNotification::WebNotification):
1800 * UIProcess/Notifications/WebNotification.h: Add replaceID member.
1801 (WebKit::WebNotification::create):
1802 (WebKit::WebNotification::replaceID):
1804 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1805 (WebKit::WebNotificationManagerProxy::show):
1806 * UIProcess/Notifications/WebNotificationManagerProxy.h:
1807 (WebNotificationManagerProxy):
1808 * UIProcess/WebPageProxy.cpp:
1809 (WebKit::WebPageProxy::showNotification):
1810 * UIProcess/WebPageProxy.h:
1812 * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
1813 * WebProcess/Notifications/WebNotificationManager.cpp:
1814 (WebKit::WebNotificationManager::show):
1816 2012-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
1818 Unreviewed, rolling out r109748.
1819 http://trac.webkit.org/changeset/109748
1820 https://bugs.webkit.org/show_bug.cgi?id=80296
1822 Made some tests crash, will fix and recommit (Requested by
1826 * UIProcess/API/qt/qquickwebpage.cpp:
1827 (QQuickWebPagePrivate::paintToCurrentGLContext):
1828 (PageProxyNode::PageProxyNode):
1830 (PageProxyNode::changedStates):
1831 (PageProxyNode::render):
1832 (PageProxyNode::~PageProxyNode):
1833 (QQuickWebPage::updatePaintNode):
1834 (QQuickWebPagePrivate::updateSize):
1835 (QQuickWebPagePrivate::resetPaintNode):
1836 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
1837 * UIProcess/API/qt/qquickwebpage_p_p.h:
1838 (QQuickWebPagePrivate):
1839 * UIProcess/DrawingAreaProxy.h:
1841 (WebKit::DrawingAreaProxy::layerTreeHostProxy):
1843 * UIProcess/DrawingAreaProxyImpl.cpp:
1844 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1845 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1846 * UIProcess/LayerTreeHostProxy.h:
1847 (LayerTreeHostProxy):
1848 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1849 (WebKit::LayerTreeHostProxy::syncAnimations):
1850 (WebKit::LayerTreeHostProxy::updateViewport):
1851 (WebKit::LayerTreeHostProxy::syncLayerParameters):
1852 (WebKit::LayerTreeHostProxy::flushLayerChanges):
1853 (WebKit::LayerTreeHostProxy::ensureRootLayer):
1854 (WebKit::LayerTreeHostProxy::syncRemoteContent):
1855 (WebKit::LayerTreeHostProxy::dispatchUpdate):
1857 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1858 (WebKit::LayerTreeHostProxy::purgeGLResources):
1859 * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
1860 * UIProcess/qt/QtWebPageSGNode.h: Removed.
1862 2012-03-05 Joone Hur <joone.hur@collabora.co.uk>
1864 [GTK] zlib link error with --enable-webkit2
1865 https://bugs.webkit.org/show_bug.cgi?id=79877
1867 Reviewed by Martin Robinson.
1869 zlib should be linked properly.
1871 * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
1872 linking it with WebKitWebProcess.
1874 2012-03-05 Carlos Garcia Campos <cgarcia@igalia.com>
1876 [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
1877 https://bugs.webkit.org/show_bug.cgi?id=77208
1879 Reviewed by Anders Carlsson.
1881 A HitTestResultData is now passed to ShowContextMenu WebPageProxy
1882 message instead of the ContextMenuState. ContextMenu client has
1883 been updated to pass the HitTestResult to the
1884 getContextMenuFromProposedMenu callback.
1886 * GNUmakefile.am: Remove ContextMenuState.h.
1887 * Shared/APIClientTraits.h:
1888 * Shared/ContextMenuState.h: Removed.
1889 * Shared/WebHitTestResult.h:
1890 (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
1891 a WebCore::HitTestResult.
1892 * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
1893 getContextMenuFromProposedMenu callback and deprecate the old
1895 * UIProcess/WebPageContextMenuClient.cpp:
1896 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
1897 Pass a HitTestResult to getContextMenuFromProposedMenu or use the
1898 deprecated one if client version is an old one.
1899 * UIProcess/WebPageContextMenuClient.h:
1900 * UIProcess/WebPageProxy.cpp:
1901 (WebKit::WebPageProxy::showContextMenu):
1902 (WebKit::WebPageProxy::internalShowContextMenu): Save the
1903 WebHitTestResult::Data to use it for handling context menu actions.
1904 (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
1905 WebHitTestResult::Data.
1906 * UIProcess/WebPageProxy.h:
1907 * UIProcess/WebPageProxy.messages.in:
1908 * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
1909 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1910 (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
1911 WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
1912 * WebProcess/WebPage/WebContextMenu.cpp:
1913 (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
1914 instead of a ContextMenuState and pass it to ShowContextMenu message.
1915 * win/WebKit2.vcproj: ContextMenuState.h.
1917 2012-03-05 No'am Rosenthal <noam.rosenthal@nokia.com>
1919 [Qt] [WK2] Support threaded renderer in WK2
1920 https://bugs.webkit.org/show_bug.cgi?id=76661
1922 Made the appropriate fixes in the UI process code to make rendering thread-safe.
1923 - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
1924 to LayerTreeHostProxy.
1926 - Each function in LayerTreeHostProxy can be either called from the main thread (handling
1927 messages from the web process), or from the renderer thread (handling the GL context).
1928 The render-queue is locked with a mutex, and messages back to the web process are sent
1929 via callOnMainThread.
1931 - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
1932 resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
1933 before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
1934 deleted only after its GL resources are freed, otherwise those resources may leak.
1936 Based on a patch by Viatcheslav Ostapenko.
1938 Reviewed by Kenneth Rohde Christiansen.
1940 * Target.pri: Added new files.
1941 * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
1942 (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
1943 (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
1944 (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
1945 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
1946 * UIProcess/API/qt/qquickwebpage_p_p.h:
1947 (QQuickWebPagePrivate):
1948 * UIProcess/DrawingAreaProxy.h:
1950 (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
1952 * UIProcess/DrawingAreaProxyImpl.cpp:
1953 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1954 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1955 * UIProcess/LayerTreeHostProxy.h:
1957 (WebKit::LayerTreeHostProxy::create):
1958 (LayerTreeHostProxy):
1959 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1960 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1962 (MainThreadGuardedInvoker):
1963 A class that allows invoking functions in the main thread, while guarding a ref-
1966 (WebKit::MainThreadGuardedInvoker::call):
1967 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
1968 (WebKit::MainThreadGuardedInvoker::invoke):
1969 (WebKit::LayerTreeHostProxy::syncAnimations):
1970 (WebKit::LayerTreeHostProxy::updateViewport):
1971 (WebKit::LayerTreeHostProxy::detachDrawingArea):
1972 (WebKit::LayerTreeHostProxy::syncLayerParameters):
1973 (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
1974 (WebKit::LayerTreeHostProxy::flushLayerChanges):
1975 (WebKit::LayerTreeHostProxy::ensureRootLayer):
1976 (WebKit::LayerTreeHostProxy::syncRemoteContent):
1977 (WebKit::LayerTreeHostProxy::dispatchUpdate):
1978 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1979 (WebKit::LayerTreeHostProxy::purgeGLResources):
1980 * UIProcess/qt/QtWebPageSGNode.cpp: Added.
1981 * UIProcess/qt/QtWebPageSGNode.h: Added.
1983 2012-03-04 Raphael Kubo da Costa <kubo@profusion.mobi>
1985 [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
1986 https://bugs.webkit.org/show_bug.cgi?id=71507
1988 Reviewed by Antonio Gomes.
1990 * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
1992 2012-03-03 Simon Hausmann <simon.hausmann@nokia.com>
1994 [Qt] Fix static_libs_as_shared build
1995 https://bugs.webkit.org/show_bug.cgi?id=80214
1997 Reviewed by Tor Arne Vestbø.
1999 Replace (static) link time dependency to WK1 with entrypoint
2000 in the separate WebProcess for activating the QStyle theme if
2004 * UIProcess/Launcher/ProcessLauncher.h:
2005 * WebProcess/qt/WebProcessMainQt.cpp:
2006 (WebKit::WebProcessMainQt):
2011 2012-03-03 Hans Wennborg <hans@chromium.org>
2013 Implement Speech JavaScript API
2014 https://bugs.webkit.org/show_bug.cgi?id=80019
2016 Reviewed by Adam Barth.
2018 Add ENABLE_SCRIPTED_SPEECH.
2020 * Configurations/FeatureDefines.xcconfig:
2022 2012-03-03 No'am Rosenthal <noam.rosenthal@nokia.com>
2024 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
2025 https://bugs.webkit.org/show_bug.cgi?id=79543
2027 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
2028 Also, remove flags from changedStates() that we don't actually touch.
2029 This is covered by existing API tests.
2031 Reviewed by Kenneth Rohde Christiansen.
2033 * UIProcess/API/qt/qquickwebpage.cpp:
2034 (QQuickWebPagePrivate::paintToCurrentGLContext):
2035 (PageProxyNode::changedStates):
2036 (PageProxyNode::render):
2037 * UIProcess/API/qt/qquickwebpage_p_p.h:
2038 (QQuickWebPagePrivate):
2040 2012-03-03 Anders Carlsson <andersca@apple.com>
2042 Fix build with newer versions of clang.
2044 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2045 (WebKit::NPN_GetValue):
2046 Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
2048 2012-03-02 Andy Estes <aestes@apple.com>
2050 Move nsStringFromWebCoreString out of PageClientImpl
2051 https://bugs.webkit.org/show_bug.cgi?id=80202
2053 Reviewed by Sam Weinig.
2055 nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
2056 and it makes us include PageClientImpl.h in places where we shouldn't.
2057 Move this function into StringUtilities.{h, mm}.
2059 * Platform/mac/StringUtilities.h: Added.
2060 * Platform/mac/StringUtilities.mm: Added.
2061 (WebKit::nsStringFromWebCoreString):
2062 * UIProcess/API/mac/PageClientImpl.h:
2063 * UIProcess/API/mac/PageClientImpl.mm:
2064 * UIProcess/API/mac/WKView.mm:
2065 * UIProcess/mac/WebContextMenuProxyMac.mm:
2066 * UIProcess/mac/WebPageProxyMac.mm:
2067 * UIProcess/mac/WebPopupMenuProxyMac.mm:
2068 * UIProcess/mac/WebPreferencesMac.mm:
2069 * WebKit2.xcodeproj/project.pbxproj:
2071 2012-03-02 Andy Estes <aestes@apple.com>
2073 Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
2074 https://bugs.webkit.org/show_bug.cgi?id=80197
2076 Reviewed by Alexey Proskuryakov.
2078 It doesn't belong there, and it makes Xcode consider the project to be
2079 invalid, triggering assertions in some builds of Xcode.
2081 * WebKit2.xcodeproj/project.pbxproj:
2083 2012-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2085 [Qt] Fix spelling mistake in header guard
2087 Reviewed by Noam Rosenthal.
2089 * UIProcess/API/qt/qwebviewportinfo_p.h:
2091 2012-03-02 Carlos Garcia Campos <cgarcia@igalia.com>
2093 [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
2094 https://bugs.webkit.org/show_bug.cgi?id=80150
2096 Reviewed by Philippe Normand.
2098 * UIProcess/API/gtk/WebKitWebView.cpp:
2099 (webkit_web_view_set_zoom_level): Use
2100 webkit_web_view_get_zoom_level() instead of
2101 WKPageGetPageZoomFactor() to get the current effective zoom level
2102 depending on zoom-text-only setting.
2104 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
2106 Fix build on AppleWebKit after 109548.
2108 * mac/WebKit2.order:
2110 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
2112 [Qt] Fix tests run with WTR not using QStyle theme
2113 https://bugs.webkit.org/show_bug.cgi?id=80147
2115 Reviewed by Csaba Osztrogonác.
2117 Use an environment variable (set by WTR) to select the QStyle theme.
2118 This is a temporary kludge until we rebase the layout tests to use the
2119 QStyle independent "mobile" theme. This also temporarily breaks the
2120 force_static_libs_as_shared build.
2123 * WebProcess/qt/WebProcessMainQt.cpp:
2124 (WebKit::WebProcessMainQt):
2126 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
2128 [Qt] Compile WebCore without QtWidgets
2129 https://bugs.webkit.org/show_bug.cgi?id=80141
2131 Reviewed by Tor Arne Vestbø.
2133 * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
2134 * Target.pri: Require widgets for WK2 for the moment, until bug #79458
2137 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
2139 Suspend/Resume API for pausing timers and animations.
2140 https://bugs.webkit.org/show_bug.cgi?id=76063
2142 Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
2144 Adds suspend and resume API for WebKit2 and uses it in Qt to
2145 suspend animations and DOM timers during panning and zoom.
2147 Reviewed by Kenneth Rohde Christiansen.
2149 * UIProcess/API/qt/qquickwebview.cpp:
2150 (QQuickWebViewFlickablePrivate::_q_suspend):
2151 (QQuickWebViewFlickablePrivate::_q_resume):
2152 * UIProcess/WebPageProxy.cpp:
2153 (WebKit::WebPageProxy::WebPageProxy):
2154 (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
2155 (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
2156 (WebKit::WebPageProxy::processDidCrash):
2157 * UIProcess/WebPageProxy.h:
2158 * WebProcess/WebPage/WebPage.cpp:
2159 (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
2160 (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
2161 * WebProcess/WebPage/WebPage.h:
2162 * WebProcess/WebPage/WebPage.messages.in:
2164 2012-03-02 Joone Hur <joone.hur@collabora.co.uk>
2166 Unreviewed. Fix WebKit2 GTK+ build.
2168 * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
2170 2012-03-01 Andras Becsi <andras.becsi@nokia.com>
2172 [Qt][WK2] Make the interaction with the Flickable work on the N9
2173 https://bugs.webkit.org/show_bug.cgi?id=80029
2175 Reviewed by Simon Hausmann.
2177 Because the WebView item accepts all touch events it receives and sends
2178 them to the web process before propagating them to the gesture recognizers,
2179 which is correct behaviour, we can not rely on the touch->mouse conversion
2180 of Qt5 when controlling Flickable. Hence we need to convert the received
2181 touch events to mouse events in the QtFlickProvider.
2183 * UIProcess/qt/QtFlickProvider.cpp:
2184 (QtFlickProvider::handleTouchFlickEvent):
2185 Do the touch to mouse event conversion for the Flickable.
2186 * UIProcess/qt/QtPanGestureRecognizer.cpp:
2187 (WebKit::QtPanGestureRecognizer::recognize):
2188 A touch begin event should cancel the previous pan gesture
2189 and stop the ongoing flick animation.
2191 2012-03-01 Anders Carlsson <andersca@apple.com>
2193 Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
2194 https://bugs.webkit.org/show_bug.cgi?id=80044
2195 <rdar://problem/10919940>
2197 Reviewed by Brady Eidson.
2199 Remove the code that would add and remove wheel event handlers since that's not what we want to track.
2200 Instead, dynamically add and remove the view as its scrollbars come and go.
2202 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2203 (WebKit::BuiltInPDFView::updateScrollbars):
2204 (WebKit::BuiltInPDFView::initialize):
2205 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2208 2012-03-01 Kangil Han <kangil.han@samsung.com>
2210 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
2211 https://bugs.webkit.org/show_bug.cgi?id=78570
2213 Reviewed by Hajime Morita.
2215 This patch will remove all PlainTextController usages
2216 in existing DRT tests by adding internal API to WebCore/testing/Internals
2219 * win/WebKit2CFLite.def:
2221 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
2223 Unreviewed, rolling out r109255.
2224 http://trac.webkit.org/changeset/109255
2225 https://bugs.webkit.org/show_bug.cgi?id=79932
2227 Breaks rounded rects with dashed strokes in SVG
2229 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2230 (InitWebCoreSystemInterface):
2232 2012-03-01 Sergio Villar Senin <svillar@igalia.com>
2234 [WK2] [GTK] [libsoup] SoupSession should use system CA
2235 https://bugs.webkit.org/show_bug.cgi?id=79657
2237 Reviewed by Martin Robinson.
2239 SoupSession sould use system CA list to validate SSL
2240 certificates. Do not use strict certificate validation though as
2241 we want clients to decide whether or not accept/decline invalid
2242 certificates (API to be added later).
2244 No new tests required as current behaviour does not change at all
2245 as we continue to accept invalid certificates by default.
2247 * WebProcess/gtk/WebProcessMainGtk.cpp:
2248 (WebKit::WebProcessMainGtk):
2250 2012-03-01 Carlos Garcia Campos <cgarcia@igalia.com>
2252 Unreviewed. Fix WebKit2 GTK+ build.
2254 * UIProcess/API/gtk/WebKitDefines.h:
2255 * UIProcess/API/gtk/WebKitWebView.h:
2257 2012-02-29 Simon Hausmann <simon.hausmann@nokia.com>
2259 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
2260 https://bugs.webkit.org/show_bug.cgi?id=78047
2262 Reviewed by Kenneth Rohde Christiansen.
2264 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
2265 QtWebPageEventHandler::handle*Event.
2267 * UIProcess/API/qt/qquickwebview.cpp:
2268 (QQuickWebView::keyPressEvent):
2269 (QQuickWebView::keyReleaseEvent):
2270 (QQuickWebView::inputMethodEvent):
2271 (QQuickWebView::focusInEvent):
2272 (QQuickWebView::focusOutEvent):
2273 (QQuickWebView::touchEvent):
2274 (QQuickWebView::mousePressEvent):
2275 (QQuickWebView::mouseMoveEvent):
2276 (QQuickWebView::mouseReleaseEvent):
2277 (QQuickWebView::mouseDoubleClickEvent):
2278 (QQuickWebView::wheelEvent):
2279 (QQuickWebView::hoverEnterEvent):
2280 (QQuickWebView::hoverMoveEvent):
2281 (QQuickWebView::hoverLeaveEvent):
2282 (QQuickWebView::dragMoveEvent):
2283 (QQuickWebView::dragEnterEvent):
2284 (QQuickWebView::dragLeaveEvent):
2285 (QQuickWebView::dropEvent):
2286 (QQuickWebView::event):
2287 * UIProcess/qt/QtWebPageEventHandler.cpp:
2288 (QtWebPageEventHandler::handleMouseMoveEvent):
2289 (QtWebPageEventHandler::handleMousePressEvent):
2290 (QtWebPageEventHandler::handleMouseReleaseEvent):
2291 (QtWebPageEventHandler::handleWheelEvent):
2292 (QtWebPageEventHandler::handleHoverLeaveEvent):
2293 (QtWebPageEventHandler::handleHoverMoveEvent):
2294 (QtWebPageEventHandler::handleDragEnterEvent):
2295 (QtWebPageEventHandler::handleDragLeaveEvent):
2296 (QtWebPageEventHandler::handleDragMoveEvent):
2297 (QtWebPageEventHandler::handleDropEvent):
2298 (QtWebPageEventHandler::handleKeyPressEvent):
2299 (QtWebPageEventHandler::handleKeyReleaseEvent):
2300 (QtWebPageEventHandler::handleFocusInEvent):
2301 (QtWebPageEventHandler::handleFocusOutEvent):
2302 (QtWebPageEventHandler::handleInputMethodEvent):
2303 (QtWebPageEventHandler::handleTouchEvent):
2304 * UIProcess/qt/QtWebPageEventHandler.h:
2305 (QtWebPageEventHandler):
2307 2012-03-01 Csaba Osztrogonác <ossy@webkit.org>
2309 [Qt][WK2] Unreviewed buildfix after r109277.
2311 * WebProcess/qt/QtBuiltinBundlePage.cpp:
2312 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2314 2012-02-29 No'am Rosenthal <noam.rosenthal@nokia.com>
2316 [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
2317 https://bugs.webkit.org/show_bug.cgi?id=79501
2319 Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
2321 Reviewed by Kenneth Rohde Christiansen.
2323 * Shared/WebLayerTreeInfo.cpp:
2324 * Shared/WebLayerTreeInfo.h:
2325 * UIProcess/DrawingAreaProxy.cpp:
2327 * UIProcess/DrawingAreaProxy.h:
2329 * UIProcess/DrawingAreaProxyImpl.cpp:
2330 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
2331 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2333 * UIProcess/DrawingAreaProxyImpl.h:
2334 (DrawingAreaProxyImpl):
2335 * UIProcess/LayerTreeHostProxy.h:
2336 (LayerTreeHostProxy):
2337 * UIProcess/WebPageProxy.cpp:
2338 (WebKit::WebPageProxy::didReceiveMessage):
2339 * UIProcess/qt/LayerBackingStore.cpp:
2340 * UIProcess/qt/LayerBackingStore.h:
2341 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2342 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2343 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2344 * WebProcess/WebPage/DrawingArea.h:
2346 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2348 * WebProcess/WebPage/DrawingAreaImpl.h:
2350 * WebProcess/WebPage/LayerTreeHost.cpp:
2351 (WebKit::LayerTreeHost::create):
2352 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2353 (WebKit::LayerTreeHostQt::purgeBackingStores):
2354 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2357 2012-02-28 Brian Weinstein <bweinstein@apple.com>
2359 WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
2360 https://bugs.webkit.org/show_bug.cgi?id=79849
2362 Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
2363 just tell the UI process).
2365 Reviewed by Beth Dakin.
2367 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
2368 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2369 (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
2371 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2372 (InjectedBundlePageLoaderClient):
2373 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2374 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
2377 2012-02-29 Tim Horton <timothy_horton@apple.com>
2379 Make use of CG rounded-rect primitives
2380 https://bugs.webkit.org/show_bug.cgi?id=79932
2381 <rdar://problem/9274953>
2383 Reviewed by Simon Fraser.
2385 Add wkCGPathAddRoundedRect.
2387 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2388 (InitWebCoreSystemInterface):
2390 2012-02-29 Andy Estes <aestes@apple.com>
2392 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
2393 https://bugs.webkit.org/show_bug.cgi?id=79936
2395 Reviewed by Brady Eidson.
2397 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
2398 platforms. Non-Windows platforms that use CFNetwork-based downloads
2399 should omit this call.
2401 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
2402 (WebKit::Download::start):
2404 2012-02-29 Rafael Brandao <rafael.lobo@openbossa.org>
2406 [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
2407 https://bugs.webkit.org/show_bug.cgi?id=79847
2409 Reviewed by Alexey Proskuryakov.
2411 * Target.pri: Fix typo, so we can add ".h" file instead.
2413 2012-02-29 Sam Weinig <sam@webkit.org>
2415 When invoking Lookup while zoomed in, the highlighted word renders out of line
2416 <rdar://problem/10812527>
2418 Reviewed by Simon Fraser.
2420 * WebProcess/WebPage/mac/WebPageMac.mm:
2421 (WebKit::WebPage::performDictionaryLookupForRange):
2422 Make sure to scale the ascent when determining the origin for the overlay.
2424 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
2426 [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
2427 https://bugs.webkit.org/show_bug.cgi?id=75252
2429 Reviewed by Gustavo Noronha Silva.
2431 * UIProcess/API/gtk/WebKitWebView.cpp:
2432 (zoomTextOnlyChanged): Update text/page zoom factor when
2433 zoom-text-only setting changes.
2434 (webkitWebViewSetSettings): Helper function to set the settings
2435 object for the web view, initializing the settings for the page
2436 and connecting to notify::zoom-text-only signal.
2437 (webkitWebViewConstructed): Use webkitWebViewSetSettings().
2438 (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
2439 disconnect from the notify::zoom-text-only signal of the previous
2441 (webkit_web_view_set_zoom_level): Set text/page zoom factor
2442 depending on WebKitSettings:zoom-text-only property.
2443 (webkit_web_view_get_zoom_level): Get text/page zoom factor
2444 depending on WebKitSettings:zoom-text-only property.
2445 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2446 (testWebViewZoomLevel):
2448 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
2450 [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
2451 https://bugs.webkit.org/show_bug.cgi?id=75249
2453 Reviewed by Gustavo Noronha Silva.
2455 To set whether zoom level of web view should affect only the text
2456 or all page contents. It's disabled by default.
2458 * UIProcess/API/gtk/WebKitSettings.cpp:
2459 (webKitSettingsSetProperty):
2460 (webKitSettingsGetProperty):
2461 (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
2463 (webkit_settings_set_zoom_text_only): Set
2464 WebKitSettings:zoom-text-only.
2465 (webkit_settings_get_zoom_text_only): Get
2466 WebKitSettings:zoom-text-only.
2467 * UIProcess/API/gtk/WebKitSettings.h:
2468 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
2470 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2471 (testWebKitSettings):
2473 2012-02-29 Sergio Villar Senin <svillar@igalia.com>
2475 DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
2476 https://bugs.webkit.org/show_bug.cgi?id=76522
2478 Reviewed by Darin Adler.
2480 DidFindString message should be issued always even if neither
2481 FindOptionsShowOverlay or FindOptionsShowHighlight are
2482 provided. The difference is that if any of those flags are present
2483 the find operation will look for all the appearances of the text
2484 in the web view, otherwise it will just look and report the next
2487 This patch removes the temporary workaround added in r109222 to
2488 the WebKitFindController unit tests.
2490 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
2491 * WebProcess/WebPage/FindController.cpp:
2492 (WebKit::FindController::findString):
2494 2012-01-19 Sergio Villar Senin <svillar@igalia.com>
2496 [GTK] [WK2] Add Find API
2497 https://bugs.webkit.org/show_bug.cgi?id=76070
2499 Reviewed by Martin Robinson.
2501 This patch adds a new public find API for the Gtk+ WK2 port. It
2502 defines a new object called WebKitFindController owned by each
2503 WebKitWebView. Clients will use this new object to search strings
2504 in the WebKitWebView.
2506 Changes include also documentation and unit tests for the new
2510 * UIProcess/API/gtk/WebKitDefines.h:
2511 * UIProcess/API/gtk/WebKitFindController.cpp: Added.
2512 (didFindString): implementation of the WKPage Find interface.
2513 (didFailToFindString): Ditto.
2514 (didCountStringMatches): Ditto.
2515 (webkit_find_controller_init):
2516 (getWKPageFromWebKitWebView):
2517 (webkitFindControllerConstructed):
2518 (webkitFindControllerGetProperty):
2519 (webkitFindControllerSetProperty):
2520 (webkitFindControllerFinalize):
2521 (webkit_find_controller_class_init):
2522 (webkit_find_controller_get_search_text):
2523 (webkit_find_controller_get_options):
2524 (webkit_find_controller_get_max_match_count):
2525 (webkit_find_controller_get_web_view):
2526 (webKitFindControllerPerform):
2527 (webKitFindControllerSetSearchData):
2528 (webkit_find_controller_search): asynchronously looks for the
2529 search string in the WebKitWebView.
2530 (webkit_find_controller_search_finish): unhighlights text matches.
2531 (webkit_find_controller_search_next):
2532 (webkit_find_controller_search_previous):
2533 (webkit_find_controller_count_matches): asynchronously counts the
2534 number of matches of the search string in the WebKitWebView.
2535 * UIProcess/API/gtk/WebKitFindController.h: Added.
2536 * UIProcess/API/gtk/WebKitPrivate.h:
2537 * UIProcess/API/gtk/WebKitWebView.cpp:
2538 (webkit_web_view_get_find_controller): returns the
2539 WebKitFindController instance owned by the WebKitWebView.
2540 * UIProcess/API/gtk/WebKitWebView.h:
2541 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
2542 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2543 * UIProcess/API/gtk/docs/webkit2gtk.types:
2544 * UIProcess/API/gtk/tests/GNUmakefile.am:
2545 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
2546 (testFindControllerTextFound):
2547 (testFindControllerTextNotFound):
2548 (testFindControllerMatchCount):
2549 (testFindControllerMaxMatchCount):
2550 (testFindControllerNext):
2551 (testFindControllerPrevious):
2552 (testFindControllerCountedMatches):
2553 (testFindControllerOptions):
2554 (testFindControllerInstance):
2555 (testFindControllerGetters):
2556 (testFindControllerHide):
2559 * UIProcess/API/gtk/webkit2.h:
2561 2012-02-28 Simon Fraser <simon.fraser@apple.com>
2563 Update WebKitSystemInterface.
2565 Reviewed by Sam Weinig.
2567 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2568 (InitWebCoreSystemInterface):
2570 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
2572 All mouse events after a right click are ignored when they came from WebkitTestRunner
2573 https://bugs.webkit.org/show_bug.cgi?id=77350
2575 Reviewed by Chang Shu.
2577 Never ignore mouse events when using sync events, even if the context menu is being
2578 show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
2580 * WebProcess/WebPage/WebPage.cpp:
2581 (WebKit::WebPage::mouseEventSyncForTesting):
2583 2012-02-28 Alexey Proskuryakov <ap@apple.com>
2587 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
2590 2012-02-28 Alexey Proskuryakov <ap@apple.com>
2594 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
2595 Check for build platform properly.
2597 2012-02-28 Enrica Casucci <enrica@apple.com>
2599 More Pasteboard code cleanup.
2600 https://bugs.webkit.org/show_bug.cgi?id=79816
2602 Removing the last references to NSPasteboard.
2604 Reviewed by Alexey Proskuryakov.
2606 * WebProcess/WebCoreSupport/WebEditorClient.h:
2607 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2608 (WebKit::WebEditorClient::setInsertionPasteboard):
2610 2012-02-28 Alexey Proskuryakov <ap@apple.com>
2612 [Mac] Add an experimental SPI for plug-ins to enter sandbox
2613 https://bugs.webkit.org/show_bug.cgi?id=79709
2615 Reviewed by Anders Carlsson.
2617 * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
2619 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
2621 * WebKit2.xcodeproj/project.pbxproj: Added new files.
2623 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
2624 a function to access sandboxing functions when available.
2626 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
2627 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
2629 2012-02-28 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
2631 [Qt] Allow read/write to the WebView.url property
2632 https://bugs.webkit.org/show_bug.cgi?id=77554
2634 Reviewed by Tor Arne Vestbø.
2636 Change QML API WebView.url to read/write to reflect either the url requested by the user.
2637 Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered.
2638 Fixed c++ and qml tests to reflect the new API.
2641 * UIProcess/API/qt/qquickwebview.cpp:
2642 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2643 (QQuickWebViewPrivate::onComponentComplete):
2644 (QQuickWebView::setUrl):
2645 * UIProcess/API/qt/qquickwebview_p_p.h:
2646 (QQuickWebViewPrivate):
2647 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2648 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
2649 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2650 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
2651 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2652 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
2653 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
2654 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
2655 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
2656 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
2657 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
2658 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
2659 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
2660 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2661 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
2662 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
2663 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2664 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
2665 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
2666 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2667 (tst_QQuickWebView::loadEmptyPageViewHidden):
2668 (tst_QQuickWebView::loadNonexistentFileUrl):
2670 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2672 [Qt] Signal and property cleanup in QQuickWebView
2673 https://bugs.webkit.org/show_bug.cgi?id=78820
2675 Reviewed by Noam Rosenthal.
2677 - Remove parameters from property change notify signals:
2678 titleChanged, urlChanged, iconChanged, loadProgressChanged
2679 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
2680 - Rename navigationStateChanged to navigationHistoryChanged
2682 * UIProcess/API/qt/qquickwebview.cpp:
2683 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2684 (QQuickWebViewPrivate::initialize):
2685 (QQuickWebViewPrivate::_q_onUrlChanged):
2686 (QQuickWebViewPrivate::setIcon):
2687 * UIProcess/API/qt/qquickwebview_p.h:
2688 * UIProcess/API/qt/qquickwebview_p_p.h:
2689 (QQuickWebViewPrivate):
2690 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2691 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2692 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2693 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2694 (tst_QQuickWebView::loadProgress):
2695 * UIProcess/qt/QtWebPageLoadClient.cpp:
2696 (QtWebPageLoadClient::didCommitLoadForFrame):
2697 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2698 (QtWebPageLoadClient::didReceiveTitleForFrame):
2699 (QtWebPageLoadClient::setLoadProgress):
2700 * UIProcess/qt/QtWebPageLoadClient.h:
2701 (QtWebPageLoadClient):
2703 2012-02-28 Mario Sanchez Prada <msanchez@igalia.com>
2705 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
2706 https://bugs.webkit.org/show_bug.cgi?id=79496
2708 Reviewed by Martin Robinson.
2710 Updated places where raw pointers to GMainLoop and GMainContext
2711 were being used, replacing them with GRefPtr-based code.
2713 * Platform/WorkQueue.h:
2715 * Platform/gtk/WorkQueueGtk.cpp:
2716 (WorkQueue::platformInitialize):
2717 (WorkQueue::platformInvalidate):
2718 (WorkQueue::workQueueThreadBody):
2719 (WorkQueue::registerEventSourceHandler):
2720 (WorkQueue::dispatchOnSource):
2721 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
2722 (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
2723 (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
2724 (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
2725 * UIProcess/gtk/WebPopupMenuProxyGtk.h:
2726 (WebPopupMenuProxyGtk):
2728 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2730 [Qt] Initialize QtWebContext as much as we can in its constructor.
2731 https://bugs.webkit.org/show_bug.cgi?id=79809
2733 Reviewed by Tor Arne Vestbø.
2735 The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
2736 since it doesn't call the initialize method on it after creating it.
2737 Remove the initialize method, move the download manager and icon database initialization
2738 in the constructor and call initializeContextInjectedBundleClient directly in
2739 defaultContext to prevent overriding WKTR's injected bundle client.
2741 * UIProcess/qt/QtWebContext.cpp:
2742 (WebKit::QtWebContext::QtWebContext):
2743 (WebKit::QtWebContext::defaultContext):
2744 * UIProcess/qt/QtWebContext.h:
2747 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
2749 [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
2750 https://bugs.webkit.org/show_bug.cgi?id=79775
2752 Reviewed by Martin Robinson.
2754 Use an enum instead of a boolean to track the status of a
2755 replace_content() load operation. We need to know when the load of
2756 the replace content actually starts to not ignore valid load
2757 events of a previous ongoing load operation.
2759 * UIProcess/API/gtk/WebKitWebView.cpp:
2760 (webkitWebViewLoadChanged): Transit to new replace content state
2761 when replacing content depending on the load event.
2762 (webkitWebViewLoadFailed): Ignore load failed events when
2764 (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
2766 (webkit_web_view_replace_content): Set replace content status to
2768 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2769 (replaceContentLoadCallback):
2770 (testWebViewReplaceContent):
2771 * UIProcess/API/gtk/tests/WebViewTest.cpp:
2773 (WebViewTest::waitUntilTitleChanged): Convenient method to wait
2774 until title changes. Use with replaceConent() since load events
2775 are not emitted when replacing content.
2776 * UIProcess/API/gtk/tests/WebViewTest.h:
2778 2012-02-27 Anders Carlsson <andersca@apple.com>
2780 Add basic page overlay support to TiledCoreAnimationDrawingArea
2781 https://bugs.webkit.org/show_bug.cgi?id=79716
2782 <rdar://problem/10923079>
2784 Reviewed by Sam Weinig.
2786 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2787 Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
2789 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2790 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
2791 Create the page overlay layer.
2793 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
2794 Destroy the page overlay layer.
2796 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
2797 Mark the page overlay layer as needing display.
2799 (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
2800 (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
2801 Add empty GraphisLayerClient member function implementations.
2803 (WebKit::TiledCoreAnimationDrawingArea::paintContents):
2804 Ask the page overlay to paint itself.
2806 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2807 Flush the page overlay layer.
2809 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2810 Resize the page overlay layer.
2812 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2813 If we have a page overlay layer, add it as a sublayer of the root layer.
2815 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2816 Create the page overlay layer and add it as a sublayer of the root layer.
2818 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
2819 Remove the page overlay layer and destroy it.
2821 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
2823 [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
2824 https://bugs.webkit.org/show_bug.cgi?id=79804
2826 Reviewed by Martin Robinson.
2828 That comes from the first patch that followed the approach of the
2829 first LoaderClient implementation. With current implementation
2830 download signals, except decide-destination, don't need to be
2831 true_handled, and they won't have a default handler
2832 implementation. Also the download object is not supposed to be
2833 inheritable, since instances are created privately by the
2834 WebContext, so it's not possible to override the virtual methods
2837 * UIProcess/API/gtk/WebKitDownload.cpp:
2838 (webkit_download_class_init):
2839 (webkitDownloadNotifyProgress):
2840 (webkitDownloadFailed):
2841 (webkitDownloadFinished):
2842 * UIProcess/API/gtk/WebKitDownload.h:
2843 (_WebKitDownloadClass):
2844 * UIProcess/API/gtk/webkit2marshal.list:
2846 2012-02-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2848 [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
2849 https://bugs.webkit.org/show_bug.cgi?id=79800
2851 Reviewed by Csaba Osztrogonác.
2853 We have two different enums called NavigationRequestAction. If we use one of them
2854 to store the variables, compilers can rightfully warn about comparison with
2855 values from other enums.
2857 We might revisit the strategy of exposing different enumerations in experimental,
2858 but for now, fallback to using int for the 'action' property in
2859 QWebNavigationRequest.
2861 * UIProcess/API/qt/qwebnavigationrequest.cpp:
2862 (QWebNavigationRequestPrivate):
2863 (QWebNavigationRequest::setAction):
2864 (QWebNavigationRequest::action):
2865 * UIProcess/API/qt/qwebnavigationrequest_p.h:
2866 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2868 2012-02-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2870 [Qt] API changes to QWebNavigationRequest
2871 https://bugs.webkit.org/show_bug.cgi?id=78821
2873 Reviewed by Kenneth Rohde Christiansen.
2875 Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
2876 rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
2877 use the enum type for 'action'.
2879 * UIProcess/API/qt/qwebnavigationrequest.cpp:
2880 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
2881 (QWebNavigationRequestPrivate):
2882 (QWebNavigationRequest::QWebNavigationRequest):
2883 (QWebNavigationRequest::setAction):
2884 (QWebNavigationRequest::mouseButton):
2885 (QWebNavigationRequest::keyboardModifiers):
2886 (QWebNavigationRequest::action):
2887 * UIProcess/API/qt/qwebnavigationrequest_p.h:
2888 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2889 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2890 * UIProcess/qt/QtWebPagePolicyClient.cpp:
2891 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
2892 * UIProcess/qt/QtWebPagePolicyClient.h:
2893 (QtWebPagePolicyClient):
2895 2012-02-28 Shinya Kawanaka <shinyak@chromium.org>
2897 Element should be able to have multiple shadow roots.
2898 https://bugs.webkit.org/show_bug.cgi?id=77931
2900 Reviewed by Hajime Morita.
2903 * win/WebKit2CFLite.def:
2905 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
2907 [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
2908 https://bugs.webkit.org/show_bug.cgi?id=79521
2910 Reviewed by Kenneth Rohde Christiansen.
2912 movingChanged() signal is emitted many times, so the use of movementStarted() and
2913 movementEnded() is a better choice.
2915 * UIProcess/qt/QtFlickProvider.cpp:
2916 (QtFlickProvider::QtFlickProvider):
2917 * UIProcess/qt/QtFlickProvider.h:
2919 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2920 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2921 * UIProcess/qt/QtViewportInteractionEngine.h:
2922 (QtViewportInteractionEngine):
2924 2012-02-27 Shinya Kawanaka <shinyak@chromium.org>
2926 Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
2927 https://bugs.webkit.org/show_bug.cgi?id=78313
2929 Reviewed by Hajime Morita.
2932 * win/WebKit2CFLite.def:
2934 2012-02-27 Brady Eidson <beidson@apple.com>
2936 <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
2937 <a ping> doesn't work in WebKit2
2939 Reviewed by Alexey Proskuryakov.
2941 * WebProcess/WebPage/WebPage.cpp:
2942 (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
2944 2012-02-27 Enrica Casucci <enrica@apple.com>
2946 WebKit2: implement platform strategy to access Pasteboard in the UI process.
2947 https://bugs.webkit.org/show_bug.cgi?id=79253
2948 <rdar://problem/9971876>
2950 Reviewed by Alexey Proskuryakov.
2952 * UIProcess/WebContext.h:
2953 * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
2955 * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
2957 (WebKit::WebContext::getPasteboardTypes):
2958 (WebKit::WebContext::getPasteboardPathnamesForType):
2959 (WebKit::WebContext::getPasteboardStringForType):
2960 (WebKit::WebContext::getPasteboardBufferForType):
2961 (WebKit::WebContext::pasteboardCopy):
2962 (WebKit::WebContext::getPasteboardChangeCount):
2963 (WebKit::WebContext::getPasteboardUniqueName):
2964 (WebKit::WebContext::getPasteboardColor):
2965 (WebKit::WebContext::setPasteboardTypes):
2966 (WebKit::WebContext::setPasteboardPathnamesForType):
2967 (WebKit::WebContext::setPasteboardStringForType):
2968 (WebKit::WebContext::setPasteboardBufferForType):
2969 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
2970 with the UI process.
2971 (WebKit::WebPlatformStrategies::getTypes):
2972 (WebKit::WebPlatformStrategies::bufferForType):
2973 (WebKit::WebPlatformStrategies::getPathnamesForType):
2974 (WebKit::WebPlatformStrategies::stringForType):
2975 (WebKit::WebPlatformStrategies::copy):
2976 (WebKit::WebPlatformStrategies::changeCount):
2977 (WebKit::WebPlatformStrategies::uniqueName):
2978 (WebKit::WebPlatformStrategies::color):
2979 (WebKit::WebPlatformStrategies::setTypes):
2980 (WebKit::WebPlatformStrategies::setBufferForType):
2981 (WebKit::WebPlatformStrategies::setPathnamesForType):
2982 (WebKit::WebPlatformStrategies::setStringForType):
2984 2012-02-27 Dan Bernstein <mitz@apple.com>
2986 <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
2987 https://bugs.webkit.org/show_bug.cgi?id=79607
2989 Reviewed by Adele Peterson.
2991 Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
2993 This was caused by not mapping the mouse event coordinates from window coordinates to
2994 document coordinates.
2996 * WebProcess/WebPage/mac/WebPageMac.mm:
2997 (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
2998 coordinates when performing the hit test.
2999 (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
3000 frame coordinates when perfomring the hit test.
3001 (WebKit::WebPage::acceptsFirstMouse): Ditto.
3003 2012-02-27 Timothy Hatcher <timothy@apple.com>
3005 Add WKInspector API to know when the Web Inspector is the frontmost window.
3007 Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
3009 https://webkit.org/b/79649
3011 Reviewed by John Sullivan.
3013 * UIProcess/API/C/WKInspector.cpp:
3014 (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
3015 * UIProcess/API/C/WKInspector.h:
3016 * UIProcess/WebInspectorProxy.cpp:
3017 (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
3018 * UIProcess/WebInspectorProxy.h:
3019 * UIProcess/efl/WebInspectorEfl.cpp:
3020 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
3021 * UIProcess/gtk/WebInspectorGtk.cpp:
3022 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
3023 * UIProcess/mac/WebInspectorProxyMac.mm:
3024 (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
3025 the Web Inspector window is front.
3026 (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
3027 (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
3028 (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
3029 (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
3030 (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
3031 (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
3032 (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
3033 * UIProcess/qt/WebInspectorProxyQt.cpp:
3034 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
3035 * UIProcess/win/WebInspectorProxyWin.cpp:
3036 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
3038 2012-02-26 YoungTaeck Song <youngtaeck.song@samsung.com>
3040 [EFL][WK2] Add InjectedBundleEfl.cpp
3041 https://bugs.webkit.org/show_bug.cgi?id=75463
3043 Reviewed by Andreas Kling.
3045 Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
3047 * WebProcess/InjectedBundle/InjectedBundle.h:
3048 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
3049 (WebKit::InjectedBundle::load):
3050 (WebKit::InjectedBundle::activateMacFontAscentHack):
3052 2012-02-26 Shinya Kawanaka <shinyak@chromium.org>
3054 Rename ShadowRootList to ShadowTree.
3055 https://bugs.webkit.org/show_bug.cgi?id=79342
3057 Reviewed by Hajime Morita.
3060 * win/WebKit2CFLite.def:
3062 2012-02-26 Hajime Morrita <morrita@chromium.org>
3064 Move ChromeClient::showContextMenu() to ContextMenuClient
3065 https://bugs.webkit.org/show_bug.cgi?id=79427
3067 Reviewed by Adam Barth.
3069 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3070 * WebProcess/WebCoreSupport/WebChromeClient.h:
3072 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3074 (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
3075 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
3076 (WebContextMenuClient):
3077 * WebProcess/WebPage/WebPage.cpp:
3078 (WebKit::handleContextMenuEvent):
3079 (WebKit::handleMouseEvent):
3080 (WebKit::WebPage::mouseEvent):
3081 (WebKit::WebPage::mouseEventSyncForTesting):
3083 2012-02-26 Huang Dongsung <luxtella@company100.net>
3085 Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
3087 https://bugs.webkit.org/show_bug.cgi?id=79478
3089 This makes a lot of the broilerplate code for message-passing unnecessary, and
3090 results in a much more succinct implementation.
3092 Reviewed by Noam Rosenthal.
3094 * UIProcess/LayerTreeHostProxy.h:
3096 (LayerTreeHostProxy):
3097 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3099 (WebKit::LayerTreeHostProxy::updateTile):
3100 (WebKit::LayerTreeHostProxy::createImage):
3101 (WebKit::LayerTreeHostProxy::syncRemoteContent):
3102 (WebKit::LayerTreeHostProxy::dispatchUpdate):
3103 (WebKit::LayerTreeHostProxy::createTileForLayer):
3104 (WebKit::LayerTreeHostProxy::updateTileForLayer):
3105 (WebKit::LayerTreeHostProxy::removeTileForLayer):
3106 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
3107 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
3108 (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
3109 (WebKit::LayerTreeHostProxy::didRenderFrame):
3110 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
3111 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
3113 2012-02-26 Filip Pizlo <fpizlo@apple.com>
3117 * Platform/mac/RemoteLayerClient.mm:
3118 (WebKit::RemoteLayerClient::RemoteLayerClient):
3120 2012-02-26 Sam Weinig <sam@webkit.org>
3122 Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
3123 https://bugs.webkit.org/show_bug.cgi?id=79612
3125 Reviewed by Anders Carlsson.
3127 * Platform/mac/RemoteLayerClient.h:
3128 * Platform/mac/RemoteLayerClient.mm:
3129 (WebKit::RemoteLayerClient::create):
3130 (WebKit::RemoteLayerClient::RemoteLayerClient):
3131 (WebKit::RemoteLayerClient::~RemoteLayerClient):
3132 (WebKit::RemoteLayerClient::clientID):
3133 (WebKit::RemoteLayerClient::invalidate):
3134 New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
3135 where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
3138 * PluginProcess/PluginControllerProxy.cpp:
3139 * PluginProcess/PluginControllerProxy.h:
3140 * PluginProcess/mac/PluginControllerProxyMac.mm:
3141 (WebKit::PluginControllerProxy::platformInitialize):
3142 (WebKit::PluginControllerProxy::platformDestroy):
3143 (WebKit::PluginControllerProxy::remoteLayerClientID):
3144 (WebKit::PluginControllerProxy::platformGeometryDidChange):
3145 * WebKit2.xcodeproj/project.pbxproj:
3146 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
3147 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
3148 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
3149 (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
3150 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
3151 (LayerTreeHostCAMac):
3152 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
3153 (WebKit::LayerTreeHostCAMac::platformInitialize):
3154 (WebKit::LayerTreeHostCAMac::invalidate):
3155 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3156 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3157 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3158 Switch to using RemoteLayerClient.
3160 * UIProcess/mac/WebContextMac.mm:
3161 (WebKit::WebContext::platformInitializeWebProcess):
3162 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3163 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
3164 Use CARemoteLayerServer directly if available.
3166 2012-02-25 Anders Carlsson <andersca@apple.com>
3168 Address review feedback from Andreas Kling.
3170 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3171 (WebKit::NetscapePlugin::platformHandleMouseEvent):
3173 2012-02-25 Anders Carlsson <andersca@apple.com>
3175 Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
3176 https://bugs.webkit.org/show_bug.cgi?id=79589
3177 <rdar://problem/9719592>
3179 Reviewed by Sam Weinig.
3181 In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
3182 whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
3183 the containing WKView is on.
3185 Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
3186 system that the plug-in expects.
3188 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3189 (WebKit::NetscapePlugin::platformHandleMouseEvent):
3191 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
3193 Unreviewed, rolling out r108900.
3194 http://trac.webkit.org/changeset/108900
3195 https://bugs.webkit.org/show_bug.cgi?id=79587
3197 broke some API tests, will investigate and re-commit
3198 (Requested by noamr on #webkit).
3200 * UIProcess/API/qt/qquickwebpage.cpp:
3201 (computeEffectiveOpacity):
3202 (QQuickWebPagePrivate::paintToCurrentGLContext):
3203 (PageProxyNode::changedStates):
3204 (PageProxyNode::render):
3205 * UIProcess/API/qt/qquickwebpage_p_p.h:
3206 (QQuickWebPagePrivate):
3208 2012-02-25 No'am Rosenthal <noam.rosenthal@nokia.com>
3210 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
3211 https://bugs.webkit.org/show_bug.cgi?id=79543
3213 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
3214 Also, remove flags from changedStates() that we don't actually touch.
3216 Reviewed by Kenneth Rohde Christiansen.
3218 * UIProcess/API/qt/qquickwebpage.cpp:
3219 (QQuickWebPagePrivate::paintToCurrentGLContext):
3220 (PageProxyNode::changedStates):
3221 (PageProxyNode::render):
3222 * UIProcess/API/qt/qquickwebpage_p_p.h:
3223 (QQuickWebPagePrivate):
3225 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
3227 Unreviewed, rolling out r108816.
3228 http://trac.webkit.org/changeset/108816
3229 https://bugs.webkit.org/show_bug.cgi?id=79562
3231 It made many tests crash and timeout on Qt-WK2 (Requested by
3234 * UIProcess/API/qt/qquickwebview.cpp:
3235 (QQuickWebViewPrivate::QQuickWebViewPrivate):
3236 (QQuickWebViewPrivate::initialize):
3237 (QQuickWebViewPrivate::setIcon):
3238 * UIProcess/API/qt/qquickwebview_p.h:
3239 * UIProcess/API/qt/qquickwebview_p_p.h:
3240 (QQuickWebViewPrivate):
3241 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3242 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3243 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3244 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3245 (tst_QQuickWebView::loadProgress):
3246 * UIProcess/qt/QtWebPageLoadClient.cpp:
3247 (QtWebPageLoadClient::didCommitLoadForFrame):
3248 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
3249 (QtWebPageLoadClient::didReceiveTitleForFrame):
3250 (QtWebPageLoadClient::setLoadProgress):
3251 * UIProcess/qt/QtWebPageLoadClient.h:
3252 (QtWebPageLoadClient):
3254 2012-02-24 Andy Estes <aestes@apple.com>
3256 REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
3257 https://bugs.webkit.org/show_bug.cgi?id=79515
3259 Reviewed by Alexey Proskuryakov.
3261 Some versions of Safari contain call sites to two functions in WebKit2
3262 that were removed in r108730. Restore these two functions so that these
3263 versions of Safari can be used with WebKit nightly builds.
3265 * UIProcess/API/C/WKPreferences.cpp:
3266 (WKPreferencesSetSuppressIncrementalRendering):
3267 (WKPreferencesGetSuppressIncrementalRendering):
3268 * UIProcess/API/C/WKPreferences.h:
3270 2012-02-24 Jessie Berlin <jberlin@apple.com>
3272 requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
3273 about the permission level.
3274 https://bugs.webkit.org/show_bug.cgi?id=79494
3276 Reviewed by Jon Honeycutt.
3278 Invoke the callback in the case where the permission level is known and no message is sent
3281 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
3282 (WebKit::NotificationPermissionRequestManager::startRequest):
3284 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3286 [Qt] Signal and property cleanup in QQuickWebView
3287 https://bugs.webkit.org/show_bug.cgi?id=78820
3289 Reviewed by Simon Hausmann.
3291 - Remove parameters from property change notify signals:
3292 titleChanged, urlChanged, iconChanged, loadProgressChanged
3293 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
3294 - Rename navigationStateChanged to navigationHistoryChanged
3296 * UIProcess/API/qt/qquickwebview.cpp:
3297 (QQuickWebViewPrivate::QQuickWebViewPrivate):
3298 (QQuickWebViewPrivate::initialize):
3299 (QQuickWebViewPrivate::_q_onUrlChanged):
3300 (QQuickWebViewPrivate::setIcon):
3301 * UIProcess/API/qt/qquickwebview_p.h:
3302 * UIProcess/API/qt/qquickwebview_p_p.h:
3303 (QQuickWebViewPrivate):
3304 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3305 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3306 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3307 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3308 (tst_QQuickWebView::loadProgress):
3309 * UIProcess/qt/QtWebPageLoadClient.cpp:
3310 (QtWebPageLoadClient::didCommitLoadForFrame):
3311 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
3312 (QtWebPageLoadClient::didReceiveTitleForFrame):
3313 (QtWebPageLoadClient::setLoadProgress):
3314 * UIProcess/qt/QtWebPageLoadClient.h:
3315 (QtWebPageLoadClient):
3317 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3319 [Qt] API: Unify the loading properties and signals.
3320 https://bugs.webkit.org/show_bug.cgi?id=79486
3322 Reviewed by Simon Hausmann.
3324 - Remove the canReload signal, instead assume that calling reload in those cases
3325 won't have any effect.
3326 - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
3327 The signal carries an argument with a status and error codes giving the intended context.
3328 - Use loadingChanged as the notification signal for the property "loading" instead of
3329 navigationStateChanged.
3331 Also update all API tests to use the new loading signals and add some utility functions
3332 to track the loading since the new API aims to be more adapted to declarative logic
3333 and the auto tests are using an imperative logic.
3336 * UIProcess/API/qt/qquickwebview.cpp:
3337 (QQuickWebViewPrivate::QQuickWebViewPrivate):
3338 (QQuickWebViewPrivate::loadDidSucceed):
3339 (QQuickWebViewPrivate::didChangeLoadingState):
3340 (QQuickWebViewPrivate::processDidCrash):
3341 (QQuickWebViewPrivate::didRelaunchProcess):
3342 * UIProcess/API/qt/qquickwebview_p.h:
3343 * UIProcess/API/qt/qquickwebview_p_p.h:
3344 (QQuickWebViewPrivate):
3345 * UIProcess/API/qt/qwebloadrequest.cpp: Added.
3346 (QWebLoadRequestPrivate):
3347 (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
3348 (QWebLoadRequest::QWebLoadRequest):
3349 (QWebLoadRequest::~QWebLoadRequest):
3350 (QWebLoadRequest::url):
3351 (QWebLoadRequest::status):
3352 (QWebLoadRequest::errorString):
3353 (QWebLoadRequest::errorDomain):
3354 (QWebLoadRequest::errorCode):
3355 * UIProcess/API/qt/qwebloadrequest_p.h: Added.
3356 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3357 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
3358 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3359 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3360 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
3361 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
3362 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
3363 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
3364 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
3365 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
3366 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
3367 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
3368 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
3369 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
3370 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
3371 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
3372 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
3373 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
3374 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3375 (tst_QQuickWebView::navigationStatusAtStartup):
3376 (LoadStartedCatcher::LoadStartedCatcher):
3377 (LoadStartedCatcher::onLoadingChanged):
3378 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
3379 (tst_QQuickWebView::loadEmptyPageViewHidden):
3380 (tst_QQuickWebView::loadNonexistentFileUrl):
3381 (tst_QQuickWebView::backAndForward):
3382 (tst_QQuickWebView::reload):
3383 (tst_QQuickWebView::stop):
3384 (tst_QQuickWebView::loadProgress):
3385 (tst_QQuickWebView::showWebView):
3386 (tst_QQuickWebView::multipleWebViewWindows):
3387 (tst_QQuickWebView::multipleWebViews):
3388 (tst_QQuickWebView::scrollRequest):
3389 * UIProcess/API/qt/tests/util.cpp:
3392 (LoadSpy::onLoadingChanged):
3393 (waitForLoadSucceeded):
3394 (waitForLoadFailed):
3395 * UIProcess/API/qt/tests/util.h:
3396 * UIProcess/qt/QtWebError.h:
3397 * UIProcess/qt/QtWebPageLoadClient.cpp:
3398 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
3399 (QtWebPageLoadClient::dispatchLoadFailed):
3400 * UIProcess/qt/QtWebPageLoadClient.h:
3401 (QtWebPageLoadClient):
3403 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
3405 Unreviewed, rolling out r108798.
3406 http://trac.webkit.org/changeset/108798
3407 https://bugs.webkit.org/show_bug.cgi?id=78047
3409 Broke too many Qt WK2 tests.
3411 * UIProcess/API/qt/qquickwebview.cpp:
3412 (QQuickWebView::keyPressEvent):
3413 (QQuickWebView::keyReleaseEvent):
3414 (QQuickWebView::inputMethodEvent):
3415 (QQuickWebView::focusInEvent):
3416 (QQuickWebView::focusOutEvent):
3417 (QQuickWebView::touchEvent):
3418 (QQuickWebView::mousePressEvent):
3419 (QQuickWebView::mouseMoveEvent):
3420 (QQuickWebView::mouseReleaseEvent):
3421 (QQuickWebView::mouseDoubleClickEvent):
3422 (QQuickWebView::wheelEvent):
3423 (QQuickWebView::hoverEnterEvent):
3424 (QQuickWebView::hoverMoveEvent):
3425 (QQuickWebView::hoverLeaveEvent):
3426 (QQuickWebView::dragMoveEvent):
3427 (QQuickWebView::dragEnterEvent):
3428 (QQuickWebView::dragLeaveEvent):
3429 (QQuickWebView::dropEvent):
3430 (QQuickWebView::event):
3431 * UIProcess/qt/QtWebPageEventHandler.cpp:
3432 (QtWebPageEventHandler::handleEvent):
3433 (QtWebPageEventHandler::handleMouseMoveEvent):
3434 (QtWebPageEventHandler::handleMousePressEvent):
3435 (QtWebPageEventHandler::handleMouseReleaseEvent):
3436 (QtWebPageEventHandler::handleWheelEvent):
3437 (QtWebPageEventHandler::handleHoverLeaveEvent):
3438 (QtWebPageEventHandler::handleHoverMoveEvent):
3439 (QtWebPageEventHandler::handleDragEnterEvent):
3440 (QtWebPageEventHandler::handleDragLeaveEvent):
3441 (QtWebPageEventHandler::handleDragMoveEvent):
3442 (QtWebPageEventHandler::handleDropEvent):
3443 (QtWebPageEventHandler::handleKeyPressEvent):
3444 (QtWebPageEventHandler::handleKeyReleaseEvent):
3445 (QtWebPageEventHandler::handleFocusInEvent):
3446 (QtWebPageEventHandler::handleFocusOutEvent):
3447 (QtWebPageEventHandler::inputMethodEvent):
3448 (QtWebPageEventHandler::touchEvent):
3449 * UIProcess/qt/QtWebPageEventHandler.h:
3450 (QtWebPageEventHandler):
3452 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
3454 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
3455 https://bugs.webkit.org/show_bug.cgi?id=78047
3457 Reviewed by Kenneth Rohde Christiansen.
3459 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
3460 QtWebPageEventHandler::handle*Event.
3462 * UIProcess/API/qt/qquickwebview.cpp:
3463 (QQuickWebView::keyPressEvent):
3464 (QQuickWebView::keyReleaseEvent):
3465 (QQuickWebView::inputMethodEvent):
3466 (QQuickWebView::focusInEvent):
3467 (QQuickWebView::focusOutEvent):
3468 (QQuickWebView::touchEvent):
3469 (QQuickWebView::mousePressEvent):
3470 (QQuickWebView::mouseMoveEvent):
3471 (QQuickWebView::mouseReleaseEvent):
3472 (QQuickWebView::mouseDoubleClickEvent):
3473 (QQuickWebView::wheelEvent):
3474 (QQuickWebView::hoverEnterEvent):
3475 (QQuickWebView::hoverMoveEvent):
3476 (QQuickWebView::hoverLeaveEvent):
3477 (QQuickWebView::dragMoveEvent):
3478 (QQuickWebView::dragEnterEvent):
3479 (QQuickWebView::dragLeaveEvent):
3480 (QQuickWebView::dropEvent):
3481 (QQuickWebView::event):
3482 * UIProcess/qt/QtWebPageEventHandler.cpp:
3483 (QtWebPageEventHandler::handleMouseMoveEvent):
3484 (QtWebPageEventHandler::handleMousePressEvent):
3485 (QtWebPageEventHandler::handleMouseReleaseEvent):
3486 (QtWebPageEventHandler::handleWheelEvent):
3487 (QtWebPageEventHandler::handleHoverLeaveEvent):
3488 (QtWebPageEventHandler::handleHoverMoveEvent):
3489 (QtWebPageEventHandler::handleDragEnterEvent):
3490 (QtWebPageEventHandler::handleDragLeaveEvent):
3491 (QtWebPageEventHandler::handleDragMoveEvent):
3492 (QtWebPageEventHandler::handleDropEvent):